Apache Adobe Flex TutorialTutoriaux Adobe Flex & AIR en Français

14avr/091

Flex Localization – Changement de locale en dynamique avec ResourceManager

L'usage principal de la "localization" est de mettre à disposition de l'utilisateur plusieurs langues pour une seul et même application Flex et de laisser l'utilisateur changer cette langue (locale) à l'exécution. Vous pouvez compiler toutes ces langues possibles dans votre application et laisser ensuite choisir l'utilisateur parmi elles. Cette solution n'est pas très flexible car vous pourrez uniquement sélectionner les langues que vous avez ajouté à la compilation. Cette solution peut aussi amener à faire gonfler le poids de l'application Flex car tous les fichiers .properties et leur dépendances (images, vidéos…) doivent être compilées dans l'application.

Vous pouvez aussi compiler cet fichiers properties dans des fichiers SWF appelés Resource Modules.  Ces Modules contiennent chacun ce qu'il faut pour un langage et pourront ensuite être chargés à l'exécution. L'avantage de cette approche est que le fichier SWF principal de l'application sera plus petit car les resources sont externalisées, mais cela demande aussi une requête supplémentaire pour chaque Resource Module que l'utilisateur charge.

On va d'abord voir comment cela se déroule quand on compile les fichiers de langue dans l'application.

Vous pouvez changer de "locale" (langue nationale) à l'exécution en changeant la valeur de la propriété "localeChain" du ResourceManager. Cette propriété prend un Array comme valeur. Le premier élément de cet Array est la langue courante (comme en_US, fr_FR ou es_ES).