Flex Localization – Pré-chargement de Resource Modules (preload)
Vous pouvez charger un Resource Module quand l'application démarre en appelant la méthode loadResourceModule() au moment de l'évènement initialize, et en spécifiant une valeur pour la propriété localeChain une fois que le module est chargé. C'est utile si vous avez une langue par défaut et que vous voulez que tous les utilisateurs démarrent avec cette langue.
Vous pouvez aussi spécifier la locale que l'application va charger par défaut en la passant en FlashVars dans le conteneur HTML.
Voici les variables flashVars que vous devez passer pour précharger les Resource Modules:
- localeChain: Une liste (séparateur ",") de locale pour l'initialisation de la propriété localeChain de la classe ResourceManager. Si la propriété localeChain n'est pas explicitement fixée, localeChain sera initialisée avec la valeur passée dans l'option -locale du compilateur
- resourceModuleURLs: Une list (séparateur ",") d'URL depuis lesquelles les Resource Module seront chargés. Les resource Modules sont chargés pas la même classe que les RSLs, mais sont chargés après les RSLs. Ces URLs peuvent être relatives ou absolues
Comme pour des paramètres dans une URL, vous devez séparer ces valeurs par un "&" et vous devez vous assurer que les caractères sont bien encodés.
Ajouter les flashVars directement dans <object> et <embed>
Si vous écrivez votre propre template HTML, vous pouvez passez les variable FlashVars dans les tags <object> et <embed>. L'exemple suivant spécifie que le Resource Module pour la langue française (fr_FR) est preloaded quand l'application se lance:
<object id='mySwf'
classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000'
codebase='http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab'
height='100%'
width='100%'>
<param name='src' value='ResourceModuleApp.swf'/>
<param name='flashVars'
value='resourceModuleURLs=fr_FR_ResourceModule.swf&localeChain=fr_FR'/>
<embed name='mySwf'
src='ResourceModuleApp.swf'
pluginspage='http://www.adobe.com/go/getflashplayer'
height='100%'
width='100%'
flashVars='resourceModuleURLs=fr_FR_ResourceModule.swf&localeChain=fr_FR'
/>
>
Ajouter les flashVars dans le template HTML de Flex Builder
Si vous utilisez le fichier HTML généré par Flex Builder, vous devez ajouter les propriétés FlashVars à la méthode JavaScript AC_FL_RunContent() du fichier html-template/index.template.html:
AC_FL_RunContent(
"src", "ResourceModuleApp",
"flashVars", "resourceModuleURLs=fr_FR_ResourceModule.swf&localeChain=fr_FR",
"width", "500",
"height", "500",
"align", "middle",
"id", "ResourceModuleApp",
"name", "ResourceModuleApp",
"allowScriptAccess","sameDomain",
"type", "application/x-shockwave-flash",
"pluginspage", "http://www.adobe.com/go/getflashplayer"
);
Articles similaires
- Flex Localization – Création de Resource Modules
- Flex Localization – Chargement de Resource Modules à la volée
- Flex Localization – Changement de locale en dynamique avec ResourceManager
- Flex Localization – Introduction à la localization (l10n), adapter une application au langage utilisateur
- Flex Localization – Ajouter de nouvelles langues (locale)
Aucun trackbacks pour l'instant






2 juin 2010
Bonjour,
merci pour ce tuto !
j'aurais neanmoins une petite question plus ou moins liée, j'ai un projet FB4 dans lequel j'ai des modules qui se charge apres execution. et j'ai une erreur de compilation seulement presente sur ce projet avec les modules :
mon parametre de compi. -locale fr_FR
j'ai également des lib RSL dans le projet mais j'ai vraiment l'impression que cela ce produit lorsque l'appli compile les modules. voici l'erreur :
2 juin 2010
Salut,
j'ai trouvé ce bug report qui correspond à ton problème:
http://forums.adobe.com/thread/624594?tstart=0
Apparement, la solution donnée fonctionne et à un rapport avec les RSLs (qui seraient chargés plusieurs fois pour des modules comprenant des modifications de style et cela pose problème).
La solution donnée:
Compiler ses modules avec le flag:
"-static-rsls=true".
Fabien
16 novembre 2011
Merci pour tous ces tutos sur l'internationalisation Fabien, ils m'ont beaucoup aidé.
Avant je compilais avec la locale fr_FR sans vraiment comprendre tous les tenants et les aboutissants, maintenant c'est beaucoup plus clair !
Merci encore