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

8avr/097

Flex Localization – Utilisation des Resource Bundles avec @Resource

Après avoir crée des fichiers ressources (fichiers .properties), vous pouvez les utiliser dans votre application Flex en tant que Resource Bundle (le compilateur convertit les fichiers .properties en sous-classe de la classe ResourceBundle quand vous compiler votre appli). Vous pouvez soit faire un "bind" (liaison) depuis une ressource vers une expression, ou vous pouvez utiliser les méthode de la classe ResourceBundle pour accéder à ces valeurs.

Il y a deux méthodes pour accéder aux valeurs d'un Resource Bundle :

  • L'instruction @Resource
  • Les méthodes de la classe ResourceManager

L'utilisation de la directive @Resource reste la méthode la plus simple pour inclure des Resource Bundles dans votre application. Dans cette instruction, vous spécifiez le nom du fichier .properties et la clé que vous voulez utiliser (rappelez-vous, les fichiers .properties sont sous la forme clé=valeur).  Cette méthode est simple, mais aussi restrictive par son utilisation. Par exemple, vous ne pouvez utiliser la directive @Resource qu'en MXML, et vous ne pourrez pas changer la langue à l'exécution. De plus, cette méthode ne retourne que des String.

L'autre méthode est d'accéder aux Resource Bundles par la classe ResourceManager. Vous pouvez utiliser les méthodes de la classe ResourceManager en ActionScript alors que vous ne pouvez utiliser la directive @Resource qu'en MXML. Ces méthodes peuvent renvoyer d'autres types de données que des String, comme par exemple des int, Boolean ou Number. Vous pouvez aussi utiliser cette classe pour changer de langue at runtime.

Utilisation de la directive @Resource

Dans du MXML, vous pouvez utiliser la directive @Resource pour accéder aux RB. Il faut passer à cette directive le nom Bundle (le nom du fichier .properties sans l'extension) ainsi que le nom de la clé à retrouver dans le fichier properties. Cette directive renvoie une String correspondant à la valeur de la clé du RB.