Gestion du multilingue sous SSAS
Description du besoin
L’objectif est de pouvoir traduire les données d’affichage à travers des rapports Reporting Services qui ont référence une source de données de type Analysis Services.
Analysis Services fournit une traduction des méta-données en fonction du thread client.
Comme le montre les copie d’écran ci-dessous, SQL Server Management Studio permet de tester la traduction des méta-données définie lors de la conception du cube.
Afin de traduire les membres en plus les méta-données, il est nécessaire de faire pointer la propriété « caption » sur une colonne correspondant à « la locale » comme le montre la copie d’écran ci-dessous.
Choix de la collation
SQL Server fournit des collations aussi bien pour la partie SQL Server qu’Analysis Services.
Cette propriété spécifie les règles de tri et de comparaison des chaînes de données de caractères, selon les normes des différentes langues et options régionales. Par exemple, dans une clause ORDER BY, un francophone s'attend à voir la chaîne de caractères « Chypre » apparaître avant « Cologne » par ordre croissant. Toutefois, un hispanophone natif du Mexique s'attendra à voir les mots commençant par « Ch » apparaître à la fin de la liste des mots commençant par « C ».
Lorsqu'un classement est spécifié pour des données de caractères non-Unicode, par exemple des données de type char, varchar, et text, une page de codes particulière est associée à ce classement.
Cette configuration est importante surtout pour le « process » des dimensions
Le type unicode est conseillé sauf si nous sommes surs que les données insérées n’utiliseront pas de caractères spéciaux.
Préconisation pour le moteur Analysis Services :
Lorsqu’Analysis Services traitera la dimension, l’ordre de la collation définie au niveau de la colonne sera utilisé.
Pour les attributs traduits, il faudra spécifier la propriété Collation dans l’onglet traduction.
Traductions des membres
Afin de pouvoir profiter de la gestion multilingue d’Analysis Services, il est nécessaire de passer la local du client à travers la chaine de connexion comme le montre la copie d’écran ci-dessous.
="Data Source=localhost;Initial Catalog=""Adventure Works DW 2008"";Locale Identifier="&New System.Globalization.CultureInfo(User.Language).LCID.ToString() |
En personnalisant la chaîne de connexion avec la local du poste utilisateur, les membres des attributs sont automatiquement traduits dans la langue définie à travers le poste client.
Si la langue du client n’est pas reconnue, les membres affichés sont ceux par défaut.