Sommaire: Cours Asp.NET etape par etape Tome 5 Internationalisation d’une application
I. Présentation
II. Objets nécessaires pour l’implémentation des solutions Microsoft
III. Solutions possibles pour internationaliser une application web
A. Détection et redirection
B. Modifications à l’exécution
C. Utilisation du Web.Config
D. Utilisation de fichiers ressources satellites
E. Inconvient du système
Extrait du cours Asp.NET etape par etape Tome 5 Internationalisation d’une application
Présentation
L’internationalisation consiste à rendre un site utilisable dans différentes langues et selon différentes cultures. Ceci a toute son importance car toutes les cultures n’ont pas la même manière de formater les nombres, la justification du texte diffère d’une zone géographique à l’autre. Il existe
d’autres paramètres tels que l’unité monétaire. Il existe toute une série de solutions pour internationaliser un site. On peut effectivement créer différentes pages en différentes langues et, selon le choix de l’utilisateur, rediriger vers ces pages. Une autre solution est d’utiliser une page dont on modifie le texte selon la langue et la région choisie. Ce texte peut provenir d’une base de données, d’un fichier XML ou d’une toute autre source de données.
II. Objets nécessaires pour l’implémentation des solutions Microsoft
Quelque soit la solution adoptée, le namespace à utiliser afin de détecter la culture du client est System.Globalization. On retrouvera ainsi dans notre code :
Namespace à utiliser
using System.Globalization ;
Pour détecter la culture du client, on utilise l’objet Request, instancié implicitement lors de toute requête http et qui permet d’accéder aux entêtes
http et d’en récupérer les valeurs. Il contient ainsi diverses informations quant au client et à son navigateur comme par exemple sa langue ainsi que son pays d’origine. A l’aide de ces informations, il est possible d’instancier un objet CultureInfo. Cet objet a pour but de retenir la langue ainsi que la culture de l’utilisateur.
III. Solutions possibles pour internationaliser une application web
Il existe diverses solutions afin d’internationaliser une application web qui sont :
– détection et redirection :
Cette solution utilise différentes pages, chaque page comportant les textes d’une langue particulière. Il peut également y avoir des séparations de page selon les cultures ou tout autre besoin spécifique.
– modification à l’exécution :
Il n’existe qu’une version de la page, le texte étant mis à jour dynamiquement, à l’exécution.
– utilisation du Web.Config :
En modifiant la valeur de la langue et de la culture directement dans le Web.Config, les textes, dates et autres sont mis en forme selon cette configuration. Ceci implique que tous les utilisateurs auront le même résultat quelque soit leurs cultures.
La solution la plus simple est la suivante : une page de base détecte la culture à utiliser et redirige vers la page correspondante. Ceci ne doit être utilisé que si il y a beaucoup de texte à traduire (pour des raisons de performances).
Le désavantage de cette technique est évidemment un nombre accru de pages ainsi qu’un risque d’incohérence entre les pages correspondantes, ce qui peut être très contraignant si cette cohérence a de l’importance.
Par contre, la redirection vers la page correspondante peut se faire vers un site dont la localisation est plus proche du client, diminuant ainsi les temps de réponse.
B. Modifications à l’exécution
La détection de la langue et la réponse se font dans la même page. A l’inverse du point précédent, il est bon d’utiliser cette technique uniquement dans le cas d’un nombre peu élevé de traductions à effectuer.
Les avantages de cette technique sont qu’il n’existe qu’une seule version du code compilé et déployé et qu’il n’y a aucune redirection rendant l’application centralisée. Suivant les besoins, on peut également y trouver d’autres avantages. Il existe deux types principaux de modifications dynamiques : les traductions et la modification de la langue sur laquelle se baser.
……..
Cours Asp.NET etape par etape Tome 5 Internationalisation d’une application (1187 KO) (Cours DOC)