Version 1.0.0 - 2006/01/31

6.2 Internationalisation

Le problème de l’internationalisation d’une application ne se pose pas vraiment lorsqu’on développe pour un client spécifique. Généralement une langue nous est spécifiée. Par contre, pour des projets grand publique il ne faut pas restreindre l’audience, sur tout si vous voulez les commercialiser. Grâce à Noas PHP vous pouvez développer une application internationalisée, sans changer votre code source. Le framework est nativement conçu pour produire une application multi-langue de manière progressive. Initialement vous n’avez qu’à développer à partir d’une langue, puis au fur et mesure en ajouter d’autre selon vos besoins.
Nous avons déjà vu plus loin que chaque application  dispose d’un répertoire spécifique à une langue. Tous vos fichiers de ressources s’y trouvent. Ainsi pour traduire votre application en une nouvelle langue, il vous suffit de placer ces mêmes fichiers, correctement traduit, dans le répertoire de la nouvelle langue. Les ressources d’une application doivent d’êtres chargés à un endroit précis, dans la méthode NoasUserInterface::loadResource(). Bien que les ressources soient de provenance diverse et type différent, l’interface s’attend au chargement de 3 fichiers particulier. Il s’agit des fichiers des  erreurs, des libellés et des messages, qui se présente sous la forme de fichier INI. Leur extension n’a pas d’importance, mais nous proposons « .resource ».

Fichier ressource de message

MANAGER_TITLE_GUI="Noas Entreprise Manager"
MANAGER_APPLICATION_TITLE_GUI="Noas Entreprise Manager v1.0"
MANAGER_MENU_HOME_GUI="Accueil"
MANAGER_MENU_WEBAPP_GUI="Application"
MANAGER_MENU_TOOLS_GUI="Atelier"
MANAGER_MENU_PROJECT_GUI="Projet"
MANAGER_MENU_VERSUS_GUI="Plate-forme"
MANAGER_MENU_CONFIG_GUI="Aide"
MANAGER_WEBAPP_NAME_GUI="Nom"
MANAGER_WEBAPP_DATE_GUI="Installation"
MANAGER_LIST_PREVIEW="Précédente"
MANAGER_LIST_NEXT="Suivante"

MANAGER_CREATE_BUTTON_GUI="    OK    "
MANAGER_ABORT_BUTTON_GUI="ANNULER"
MANAGER_SAVE_BUTTON_GUI="ENREGISTRER"
MANAGER_DELETE_BUTTON_GUI="SUPPRIMER"
MANAGER_GENERATE_BUTTON_GUI="GENERER"
MANAGER_RETRY_BUTTON_GUI="RETIRER"
MANAGER_NEW_BUTTON_GUI="NOUVEAU"
MANAGER_LOAD_BUTTON_GUI="OUVRIR"
MANAGER_NEW_CONTEXT_CLASS_GUI="Classe"    
MANAGER_NEW_CONTEXT_PAGE_GUI="Page"    
MANAGER_NEW_CONTEXT_TEMPLATE_GUI="Template"    
A chaque type de contenu correspond sa méthode de chargement. En lisant le prochain listing vous découvrez à  quoi ressembleront vos classes d’interface.

 

© 2005 Réoka Djohou, tous droits réservés.