2.6 Internationalisation
2.6.1 Résumé
Dynacase comprend un mécanisme permettant l'internationalisation de l'application. Celui-ci permet de :
- traduire l'ensemble des labels présentés dans l'interface,
- présenter la date en fonction de la locale de l'utilisateur.
Par défaut, deux langues sont disponibles : le français et l'anglais.
2.6.2 Mécanisme de traduction
Dynacase utilise le mécanisme standard de traduction gettext et son implémentation en PHP (php-gettext) pour la gestion des traductions des messages.
Cet outil permet deux choses :
- lors du développement : la création de catalogues de traduction en extrayant les clefs directement du code PHP,
- lors de l'exécution : la récupération de la traduction d'une clef par rapport à la locale en cours (la langue choisie par l'utilisateur).
La mise en place des traductions lors du développement d'une application passe donc par les étapes suivantes :
-
Utilisation de l'API pour indiquer les éléments dont la traduction est nécessaire. Ceci se fait soit via :
- pour le code PHP, la fonction
_()
; - pour le code javascript, la fonction
_()
de l'api DATA; - pour les fichier de configuration des mots clefs spécifique au fichier.
- pour le code PHP, la fonction
- Extraction des clefs du code et construction des catalogues. Cette partie est soit manuelle, soit instrumentée à l'aide des outils de build des modules Dynacase.
- Déploiement du catalogue sur le serveur. Lors de la mise à jour du serveur applicatif, il faut fusionner les nouvelles définitions provenant du catalogue avec celles du catalogue principal.
- Lors de l'exécution du programme. lorsque le code passe par une méthode utilisée lors de l'étape 1, il va chercher dans le catalogue principal de la plate-forme le message traduit correspondant à la clef.
2.6.3 Mécanisme de mise à jour des paramètres régionaux
L'ajout de nouveaux paramètres régionaux (format de date, d'heure, etc.) passe par la mise à jour d'un fichier de configuration sur la plate-forme.