Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flex
Flex Forum d'entraide sur la programmation Adobe Flex : applications Internet riches (RIA)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/04/2008, 09h24   #1
Membre Expert
 
Avatar de Pill_S
 
Homme Sébastien Piller
Consultant informatique
Inscription : janvier 2004
Messages : 1 618
Détails du profil
Informations personnelles :
Nom : Homme Sébastien Piller
Âge : 28
Localisation : Suisse

Informations professionnelles :
Activité : Consultant informatique
Secteur : Finance

Informations forums :
Inscription : janvier 2004
Messages : 1 618
Points : 1 981
Points : 1 981
Envoyer un message via MSN à Pill_S
Par défaut Localization sous Flex3 fonctionne pas

Bonjour,

j'essaie actuellement de localiser mon application sous FlexBuilder 3.0.19x. J'ai suivi les tutoriels que l'on trouve un peu partout, mais je n'arrive à rien.

J'essaie de compiler 2 locales (fr_FR et en_US) et de la modifier au runtime.

Comme "Additional compiler arguments", j'ai:
Code :
1
2
 
-locale=fr_FR,en_US -source-path=..\locale\{locale} -allow-source-path-overlap=true
Dans mon projet, j'ai (à la racine), mes répertoires "locale\fr_FR" et "locale\en_US". Chacun contient un fichier "i18n.properties" avec les bonnes chaines dedans.

Mes resources sont soit insérées directement dans le mxml comme ceci:
Code :
1
2
 
<mx:Canvas label="{resourceManager.getString('i18n','xxx')}" ...
soit comme ceci:
Code :
1
2
 
<mx:TextArea text="@Resource(bundle='i18n',key='yyy')" ...
ou alors, en AS3:
Code :
var s:String = resourceManager.getString("i18n", "xxx")

J'ai mis un bouton qui me permette de modifier la locale, il fait uniquement ceci:
Code :
1
2
3
private function onLocaleChange(e:Event):void {        
        resourceManager.localeChain = ["en_US"];
}
Et là, bin bêtement, je pensais avoir tout bon. Mais lorsque je clique sur mon bouton, il ne se passe rien, la locale ne change pas (nul part, que ce soit dans les chaînes mxml ou as3)....

Quelqu'un aurait une idée?

Merci
__________________
gg
Pill_S est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 09h30   #2
Rédacteur/Modérateur
 
Avatar de Jim_Nastiq
 
Homme Jean-Marie Macé
Ingénieur consultant, leader Flex
Inscription : avril 2006
Messages : 2 196
Détails du profil
Informations personnelles :
Nom : Homme Jean-Marie Macé
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur consultant, leader Flex
Secteur : Conseil

Informations forums :
Inscription : avril 2006
Messages : 2 196
Points : 3 380
Points : 3 380
je ne l'ai jamais fait comme tu le présente(intéressant ) , quand tu vérifies après avoir cliqué sur ton bouton , que vaut resourceManager.localeChain?

as tu vérifié que ce n'était pas un problème de refresh?
__________________

Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
Pensez au tag

Mon Blog sur la techno Flex
Ma page sur Developpez.com

Jim_Nastiq
Jim_Nastiq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 09h36   #3
Membre Expert
 
Avatar de Pill_S
 
Homme Sébastien Piller
Consultant informatique
Inscription : janvier 2004
Messages : 1 618
Détails du profil
Informations personnelles :
Nom : Homme Sébastien Piller
Âge : 28
Localisation : Suisse

Informations professionnelles :
Activité : Consultant informatique
Secteur : Finance

Informations forums :
Inscription : janvier 2004
Messages : 1 618
Points : 1 981
Points : 1 981
Envoyer un message via MSN à Pill_S
Citation:
Envoyé par Jim_Nastiq Voir le message
je ne l'ai jamais fait comme tu le présente(intéressant )
Ha bon? Je savais pas qu'il existait autre chose

Citation:
Envoyé par Jim_Nastiq Voir le message
quand tu vérifies après avoir cliqué sur ton bouton , que vaut resourceManager.localeChain?
Elle vaut ce que je viens de lui mettre, à savoir "en_US"

Citation:
Envoyé par Jim_Nastiq Voir le message
as tu vérifié que ce n'était pas un problème de refresh?
Euh... comment je fais ça?


__________________
gg
Pill_S est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 09h48   #4
Rédacteur/Modérateur
 
Avatar de Jim_Nastiq
 
Homme Jean-Marie Macé
Ingénieur consultant, leader Flex
Inscription : avril 2006
Messages : 2 196
Détails du profil
Informations personnelles :
Nom : Homme Jean-Marie Macé
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur consultant, leader Flex
Secteur : Conseil

Informations forums :
Inscription : avril 2006
Messages : 2 196
Points : 3 380
Points : 3 380
il n'y a pas de façon précise, il faut suivre le fonctionnement du code en debug pour voir ou "s'arrete" l'information.

typiquement je soupconne soit qu'aucun évènement n'est levé quand tu changes ton local ou alors que l'ihm a bien prise en compte les modifs mais ne les affiche pas(pb de refresh) . Je ne peux pas aller plus loin, je ne connais pas le ressourceManager, c'est donc à toi de faire le debug


tiens moi au courant
__________________

Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
Pensez au tag

Mon Blog sur la techno Flex
Ma page sur Developpez.com

Jim_Nastiq
Jim_Nastiq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 10h17   #5
Membre Expert
 
Avatar de Pill_S
 
Homme Sébastien Piller
Consultant informatique
Inscription : janvier 2004
Messages : 1 618
Détails du profil
Informations personnelles :
Nom : Homme Sébastien Piller
Âge : 28
Localisation : Suisse

Informations professionnelles :
Activité : Consultant informatique
Secteur : Finance

Informations forums :
Inscription : janvier 2004
Messages : 1 618
Points : 1 981
Points : 1 981
Envoyer un message via MSN à Pill_S
Mouais... les événements Event.CHANGE sont propagés... mais rien n'y fait, mon appli reste deséspérément en français...

Sinon, quelle est la méthode que tu utilises?
__________________
gg
Pill_S est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 10h26   #6
Membre Expert
 
Avatar de Pill_S
 
Homme Sébastien Piller
Consultant informatique
Inscription : janvier 2004
Messages : 1 618
Détails du profil
Informations personnelles :
Nom : Homme Sébastien Piller
Âge : 28
Localisation : Suisse

Informations professionnelles :
Activité : Consultant informatique
Secteur : Finance

Informations forums :
Inscription : janvier 2004
Messages : 1 618
Points : 1 981
Points : 1 981
Envoyer un message via MSN à Pill_S
Errata: ça vient de la ligne du "Additional compiler argument"

Maintenant, reste à trouver quoi y mettre précisément
__________________
gg
Pill_S est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2008, 15h16   #7
Rédacteur
 
Avatar de loka
 
Homme Romain PERRUCHON
Architecte - Expert Technique
Inscription : novembre 2004
Messages : 2 664
Détails du profil
Informations personnelles :
Nom : Homme Romain PERRUCHON
Âge : 30
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Architecte - Expert Technique
Secteur : Service public

Informations forums :
Inscription : novembre 2004
Messages : 2 664
Points : 3 607
Points : 3 607
Je ne vois pas d'erreurs, je regarderais chez moi ce soir comment je l'avais configuré si besoin, en attendant as tu regardé ce lien :
http://labs.adobe.com/wiki/index.php...e_Localization
__________________
SFML - API Multimédia C++ multiplateforme !
loka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/05/2008, 12h14   #8
Invité régulier
 
Inscription : avril 2008
Messages : 7
Détails du profil
Informations personnelles :
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : avril 2008
Messages : 7
Points : 7
Points : 7
Je ne vois pas ce qui pose problème avec ton code. De mon côté, j'utilise les boutons suivants pour changer de locale (mais en précisant uniquement le local de destination comme toi ça fonctionne aussi)
Code :
1
2
    <mx:Button label="To English" click="resourceManager.localeChain = ['en_US', 'fr_FR']"/>
    <mx:Button label="To French" click="resourceManager.localeChain = ['fr_FR', 'en_US']"/>
J'affiche mes messages comme ceci
Code :
<mx:Label text="{resourceManager.getString('messagesFlex', 'menu.Home')}" />
Et j'ajoute la balise suivante dans le mxml principal de mon application
Code :
1
2
3
4
	<mx:Metadata>
		[ResourceBundle("messages")]
		[ResourceBundle("messagesFlex")]
	</mx:Metadata>
La seule différence est que pour ajouter les locales dans mon chemin d'accès je ne le précise pas en tant qu'arguments de la ligne de commande :
Code :
-locale=fr_FR,en_US -allow-source-path-overlap=true
, mais dans Flex build path > source path > add folder > "\locale\{locale}"

Mes locales étant situés à la racine de l'application soit :
src
|-<classes>
|-<composants>
|-<locale>
----|-<en_US>
--------|-messages.properties
----|-<fr_FR>
--------|-messages.properties
|-monMain.mxml


Seule différence donc apparemment mon dossier <locale> se trouve dans le répertoire <src> et non pas à la racine du projet (comme toi). :/
Ou alors explication plus simple, ton fichier .properties situé dans ton locale en_US ne contient pas les bonnes clés. Flex prend donc celles du locale fr_FR... Vérifie en lançant ton application avec le local en_US (pour voir si il s'agit bien d'un problème de changement de locale dynamique ou non).
smileboy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2008, 14h50   #9
Membre Expert
 
Avatar de Pill_S
 
Homme Sébastien Piller
Consultant informatique
Inscription : janvier 2004
Messages : 1 618
Détails du profil
Informations personnelles :
Nom : Homme Sébastien Piller
Âge : 28
Localisation : Suisse

Informations professionnelles :
Activité : Consultant informatique
Secteur : Finance

Informations forums :
Inscription : janvier 2004
Messages : 1 618
Points : 1 981
Points : 1 981
Envoyer un message via MSN à Pill_S
OK, merci de toutes ces précisions. Je vais tester un de ces quatres, actuellement j'utilise un vieux truc "deprecated", à base de ResourceBundle

Code :
1
2
3
 
[ResourceBundle("en")]  
private var en:ResourceBundle;
au moins j'ai pas de soucis avec ça. Je ferai un update de mon projet pour la prochaine release...
__________________
gg
Pill_S est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2008, 16h31   #10
Rédacteur/Modérateur
 
Avatar de Jim_Nastiq
 
Homme Jean-Marie Macé
Ingénieur consultant, leader Flex
Inscription : avril 2006
Messages : 2 196
Détails du profil
Informations personnelles :
Nom : Homme Jean-Marie Macé
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur consultant, leader Flex
Secteur : Conseil

Informations forums :
Inscription : avril 2006
Messages : 2 196
Points : 3 380
Points : 3 380
Je me permet de te demander des précisions Pill_S car j'ai tenté d'utiliser le resourceManager mais visiblement mes text et label ne sont rafraichit à la volée uniquement lorsqu'ils sont déclaré dans le tag mxml et pas dans des composants AS ...
__________________

Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
Pensez au tag

Mon Blog sur la techno Flex
Ma page sur Developpez.com

Jim_Nastiq
Jim_Nastiq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2008, 16h40   #11
Membre Expert
 
Avatar de Pill_S
 
Homme Sébastien Piller
Consultant informatique
Inscription : janvier 2004
Messages : 1 618
Détails du profil
Informations personnelles :
Nom : Homme Sébastien Piller
Âge : 28
Localisation : Suisse

Informations professionnelles :
Activité : Consultant informatique
Secteur : Finance

Informations forums :
Inscription : janvier 2004
Messages : 1 618
Points : 1 981
Points : 1 981
Envoyer un message via MSN à Pill_S
Oui, moi c'est à peu près pareil... Lorsque je change de langue, ça reload entièrement l'appli (mes composants de changement de langue sont insérés en html et pas dans Flex)

Désolé, je peux pas trop t'aider....
__________________
gg
Pill_S est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2008, 16h05   #12
Rédacteur/Modérateur
 
Avatar de Jim_Nastiq
 
Homme Jean-Marie Macé
Ingénieur consultant, leader Flex
Inscription : avril 2006
Messages : 2 196
Détails du profil
Informations personnelles :
Nom : Homme Jean-Marie Macé
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur consultant, leader Flex
Secteur : Conseil

Informations forums :
Inscription : avril 2006
Messages : 2 196
Points : 3 380
Points : 3 380
J'ai finalement réussi a obtenir ce que je souhaitais (changement de langue à la volée)

j'en ai fait un tutoriel sur mon blog, pour ceux que ca peut interesser : Localisation avec Flex 3
__________________

Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
Pensez au tag

Mon Blog sur la techno Flex
Ma page sur Developpez.com

Jim_Nastiq
Jim_Nastiq est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h55.


 
 
 
 
Partenaires

Hébergement Web