2008-09-25 10 views
5

Je cherche à internationaliser une application Flex sur laquelle je travaille et je suis curieux de savoir s'il y a des bonnes pratiques ou des recommandations pour le faire. En recherchant de telles informations, vous obtenez une poignée de petits articles et de billets de blog, chacun traitant de manière différente, et les avantages et les inconvénients ne sont pas tout à fait clairs.Meilleures pratiques pour l'internationalisation d'une application Flex?

modifié pour réduire la portée:

  • Nécessité de soutenir seulement deux langues (fr_CA et fr_CA)
  • doivent être en mesure de passer à l'exécution
+0

@Niko: Jetez un oeil à [cet article] (http://cookbooks.adobe.com/post_Change_Locale_at_the_runtime-11143 .html) – esBe

Répondre

5

Bien sûr, après googler un peu plus je tombe sur un article sur runtime localization.

Et suivi ces étapes:

Ajoutez ce qui suit aux arguments du compilateur pour spécifier les paramètres régionaux pris en charge et leur chemin: (Dans Flex Builder, sélectionnez projet et aller propriétés -> Flex compilateur -> Arguments de compilateur supplémentaires)

-locale=en_CA,fr_CA -source-path=locale/{locale}

Créer les fichiers suivants:

src/locale/en_CA/resources.properties 
src/locale/fr_CA/resources.properties 

Et puis le compilateur se plaint: unable to open 'C:\Program Files\Adobe\Flex Builder 3\sdks\3.1.0\frameworks\locale\en_CA'

Ce qui semble être lié à bug SDK-12507

travail autour:
Dans le répertoire sdks\3.1.0\bin, exécutez les commandes suivantes:

copylocale en_US en_CA 
copylocale en_US fr_CA 

Cette volonté Créez les répertoires de paramètres régionaux dans l'installation de Flex Builder et construisez-y les ressources nécessaires.

ensuite dans vos fichiers .mxml, référencer le groupe de ressources:

<mx:Metadata> 
    [ResourceBundle("resources")] 
</mx:Metadata> 

Et les cordes: internationaliser

<mx:TitleWindow title="Window Title"> 

Devient:

<mx:TitleWindow 
    title="{resourceManager.getString('resources', 'windowTitle')}"> 

et

var name:String = "Name"; 

devient:

var name:String = resourceManager.getString("resources", "name"); 

Et dans votre fichier src/locale/en_CA/resources.properties:

windowTitle=Window Title 
name=Name 
+0

Comment accomplir l'exécution du commutateur de paramètres régionaux lors de l'utilisation du gestionnaire de ressources dans ActionScript? –

Questions connexes