Chargement dynamique de resourceBundle(i18n) pour la localisation/internationalisation
3 déc. 2009
Par Jean Marie Macé - Exemples Flex - Lien permanent
Dans un précédent billet je vous ai présenté comment utiliser la localisation pour vos applications Flex.
Suite à une remarque de Titouille, je vous propose d'étudier le chargement dynamique eds ressources et ainsi ne pas avoir à recompiler l'application pour des modifications sur les traductions.
Soit un fichier xml (ou properties) qui contient les données, et une classe qui s'occupe de créer manuellement un bundle et d'y injecter les données contenues dans le fichier. Ainsi, nous n'avons qu'a parser ce fichier pour créer dynamiquement le resourceBundle.
Voici un exemple de création de resourceBundle en AS3 avec des strings:
var b:ResourceBundle = new ResourceBundle( "fr_FR", "i18n" ); b.content["presentation_title"] = "Présentation"; b.content["presentation_history"] = "Historique"; resourceManager.getInstance().addResourceBundle( b );
Commentaires
héhé, je vois que tu n'as pas fait long pour relayer l'info :D
titouillebonjour, alors j'ai une question :
jinacomment a partir d'une fenêtre appelé une autre fenêtre dans flex, (c'est comme l'affaire des instanciation dans c# ou java on fait juste nom_fenêtre.show()), et pour flex comment ça marche?????!!!!!
Exemple:
dans une fenêtre dés qu'on clic sur un button une autre fenêtre apparait (c'est magique je trouve :D)
peut être il faut changer les state !!!!!
jinaJina,
pour afficher une autre "fenêtre", il faut l'ajouter à la displayList de ton application (par la méthode addChild). Il te faut une instance de ton objet a afficher (fenetre) puis l'ajouter ;)
Jim_Nastiq