Accéder au contenu principal

SharePoint : SharePoint et les Regional Settings

 SharePoint est une application multilingue et le support d'une langue impose aussi de supporter les formats locaux. Ainsi, l'affichage d'une date aux USA (MM/JJ/AAAA) est différente de l'affichage de cette même date en France (JJ/MM/AAAA) ou en Suisse (JJ.MM.AAAA).

Ces paramètres d'affichage intègrent aussi l'affichage des chiffres, des monnaies, ...

La question est donc du choix de ces settings dans un site SharePoint qui est disponible pour chaque site ou sous-site. On peut donc se retrouver avec des responsables de contenu qui changent les regional sans en avertir les utilisateurs (ce qui peut poser des soucis de lecture et des confusions surtout sur les dates).

Ce changement se fait en allant dans les "Site Settings" et dans la rubrique "Site Administration", choisir "Regional Settings" :

image

Le nombre de Regional Settings supportés dans SharePoint est différents de ceux supportés par le FrameWork .NET

On peut voir cette différence par le code suivant (qui charge les regionals pour SharePoint et pour .NET dans deux DropDown List) :

image

    /// <summary>
    /// Load in the DropDown List all SharePoint Collations
    /// </summary>
    /// <param name="TheWeb">Current SPWeb</param>
    private void LoadAllCollationsInDDL(SPWeb TheWeb)
    {
        try
        {
            this.DropDownListLocalCode.Items.Clear();
            this.DropDownListNETCollation.Items.Clear();

            SPRegionalSettings oRegionalSettings = TheWeb.RegionalSettings;
            SPLocaleCollection collLocalesAvailable = oRegionalSettings.Locales;
            
            foreach (SPLocale oLocaleAvailable in collLocalesAvailable)
            {
                this.DropDownListLocalCode.Items.Add(new ListItem(oLocaleAvailable.DisplayName, oLocaleAvailable.LCID.ToString()));
            }

            this.DropDownListLocalCode.Items.FindByValue(TheWeb.RegionalSettings.CollationLCID.ToString()).Selected = true;

            this.LiteralResult.Text += "Number SP Collations :" + this.DropDownListLocalCode.Items.Count + "<BR>";

            foreach (CultureInfo ci in CultureInfo.GetCultures(CultureTypes.SpecificCultures))
            {
                this.DropDownListNETCollation.Items.Add(new ListItem(ci.EnglishName, ci.LCID.ToString("X4")));
            }
            this.LiteralResult.Text += "Number .NET Collations :" + this.DropDownListNETCollation.Items.Count + "<BR>";
        }
        catch (Exception ex)
        {
            this.LiteralResult.Text += "<BR>Error: " + ex.Message;
        }
    }

On voit donc bien que SharePoint supporte 134 Regional Settings alors que le FrameWork en supporte 205. Parmis ces settings non supportés, on a le Romanche (4ème langue officielle Suisse) qui n'est pas supporté dans SharePoint alors que le FrameWork le supporte.

Romelard Fabrice [MVP]

Commentaires

Posts les plus consultés de ce blog

Série de Videos sur Home Assistant intégrant la production Photovoltaïque

 Un certain nombre de vidéos sont en ligne pour intégrer sa production photovoltaïque dans Home Assistant en partant de la base. Installation de Home Assistant: On peut ensuite intégrer les composant des Micro-Onduleurs Enphase, mais aussi les batteries Enphase: Ou encore le composant de contrôle Ecojoko: Ce qui permet alors de faire des comparaisons entre les valeurs capturées: Des videos seront encore publiés dans les prochaines semaines sur différents aspects de cette solution. Fab

Nouveau Scripts PowerShell publiés pour gérer les Storage Accounts dans Azure Cloud

Deux scripts sont en lignes pour nettoyer des Storage Account dans Azure Cloud: Supprimer les Blobs d'un container existant https://techcommunity.microsoft.com/discussions/azure/powershell-script-to-remove-all-blobs-from-storage-account/4357815 ------------------------------------------------------- [string]$myConnectionString = "DefaultEndpointsProtocol=https;AccountName=YourStorageAccountName;AccountKey=YourKeyFromStorageAccountConnectionString;EndpointSuffix=core.windows.net" [string]$ContainerName = "YourBlobContainerName" [int]$blobCountAfter = 0 [int]$blobCountBefore = 0 $context = New-AzStorageContext -ConnectionString $myConnectionString $blobCountBefore = (Get-AzStorageBlob -Container $ContainerName -Context $context).Count Write-Host "Total number of blobs in the container Before deletion: $blobCount" -ForegroundColor Yellow Get-AzStorageBlob -Container $ContainerName -Context $context | ForEach-Object {     $_ | Remove-AzureStorageBlob   # o...

Série de vidéos sur le montage d'une serre horticole ACD

 Episode 1: Préparation du terrain Episode 2: Montage de la serre en elle même Episode 3: Finalisation avec le montage électrique alimentant la serre Bon visionnage Fab