IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flex Discussion :

Application multilingue avec chargement à la volée


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 117
    Par défaut Application multilingue avec chargement à la volée
    J'ai fait des recherches mais je ne trouve pas grand chose.

    Donc voila :
    J'ai déjà commencé une application flex en utilisant des fichiers de properties pour gérer plusieurs langues.

    Ma question est plutot liée au fait que j'ai l"impression que si on a 10 langues dans les properties, ils seront tous compilés dans le SWF.

    Existe-t-il un moyen pour externaliser ces fichiers properties et pouvoir les charger à la volée. Merci

  2. #2
    Inactif
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 117
    Par défaut
    Je me répond à moi-même :
    Voici un ppt qui répond exactement à la question en parlant parfaitement du problème et proposant plusieurs solutions :

    http://www.dehats.com/drupal/files/L...applicatio.ppt

    http://209.85.229.132/search?q=cache...ient=firefox-a (Version HTML par google)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 128
    Par défaut
    Bonjour,

    J'ai le même problème que tu t'es posé. J'ai bien lu le PPT mais je n'ai malheureusement pas compris comment faire pour que les fichiers properties ne soient pas compilés dans le SWF.

    Comment as-tu fait ?

  4. #4
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    Tu as testé ce qui est indiqué?

    Compiler les Bundles séparément

    Tous les fichiers properties d'une langue sont compilés en un seul SWF.

    Pour compiler les fichiers, on utilise une ligne de commande :

    mxmlc -locale=fr_FR
    -source-path=locale/{locale}
    -include-resource-bundles=MonFichier,
    collections,containers,controls,core,effects,skins,styles
    -output fr_FR_ResourceModule.swf

    Pour connaître les fichiers à compiler, on utilise un paramètre à la compilation d'une application :
    mxmlc -locale=
    -resource-bundle-list=leFichier.txt MonApp.mxml
    La liste des bundles nécessaires est alors écrite dans
    leFichier.txt

    Note : Sous OSX, il faut donner un chemin absolu !

    Pour charger un bundle :

    ResourceManager.loadResourceModule(rb.swf, true);

    Le 2ème paramètre précise si l'application doit être mise à jour automatiquement.

    Pour précharger les resource modules, on a une flashvars :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <param name='flashVars' 
    value='resourceModuleURLs=es_ES_ResourceModule.swf 
    &localeChain=es_ES'/>

    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

  5. #5
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2
    Par défaut
    Bonsoir,
    J'ai compris la logique de la compilation des Bundles séparé sauf que je ne sais pas comment faire...genre la ligne de commande etc...

    Merci d'avance.

  6. #6
    Membre chevronné Avatar de titouille
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    353
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 353
    Par défaut
    Rien n'empèche non plus de travailler avec les resourceBundle mais en chargeant dynamiquement les données.

    Exemple : un fichier xml (ou properties) qui contient les données, puis une classe qui s'occuper de créer manuellement un bundle et d'y injecter les données contenues dans le fichier, fichier qui sera chargé dynamiquement par la classe et parsé par une méthode adéquate...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    var b:ResourceBundle = new ResourceBundle( "fr_FR", "i18n" );
     
    b.content["presentation_title"] = "Présentation";
    b.content["presentation_history"] = "Historique";
     
    resourceManager.getInstance().addResourceBundle( b );

    J'ai un peu de peine avec ces fichiers properties qui doivent être compilés en SWF ou compilés à l'intérieur de l'animation/application elle-même... ça implique qu'un client qui veut modifier un texte dans ses traductions est obligé de passer par le développeur pour pouvoir le faire, et ça, commercialement parlant, c'est bien pour le développeur, mais mal pour le client, qui n'est pas autonome au final... Et l'autonomie, les clients aiment ça... ça leur donne une impression de pouvoir, et ils reviennent plus facilement vers le développeur ensuite pour des évolutions sur le travail, car ils ont l'impression que grace à lui, ils peuvent tout maitriser

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 319
    Par défaut
    J'aime beaucoup ta solution titouille (elle est orientée un peu java ^^) car elle est aussi applicable à AIR ! (parceque les FlashVars en Air... voilà quoi..)


    PS : mais elle peut être très gourmande en perfs non ?

  8. #8
    Membre chevronné Avatar de titouille
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    353
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 353
    Par défaut
    Je ne sais pas au niveau des perfs, pas vraiment testé... Après je pense que ça dépend de la taille de ton fichier, sa forme (xml, properties, ini, etc...) mais en même temps, tu charges tes fichiers une fois, tu vas pas les charger à chaque fois que tu affiche le même contenu... Avec xml et l'implémentation d'XPath dans le language AS3 je pense que c'est jouable... Mais à priori, c'est une des rares solutions pour travailler avec des traductions chargées dynamiquement et modifiables sans recompilation, tout en utilisant les spécificités d'AS3 pour la gestion de l'internationalisation (IResourceBundle, IResourceManager)...

    En fait, je suis arrivé à ce résultat en créant une application pure AS3 qui ne voulait pas prendre en compte les fichiers properties à la compilation... J'ai suivi le même fonctionnement qu'on utilise en Flex, mais avec un projet pur AS3, je n'y suis pas arrivé. J'ai fini par découvrir qu'on pouvait créer "manuellement" un bundle et l'utiliser avec le resourceManager, et je trouve la solution plutôt sympa au final, car plus souple. Presque rien ne diffère de l'utilisation standard, si ce n'est qu'on ajoute manuellement les traductions à la place de les compiler pour qu'elles soient ajoutées automatiquement. Clair que c'est pas autant performant, mais on ne peut pas tout avoir

  9. #9
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Par défaut
    Je ne sais pas au niveau des perfs, pas vraiment testé...

    ...Clair que c'est pas autant performant, mais on ne peut pas tout avoir
    Tu peux éclaircir ton point de vue ??

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/07/2010, 13h15
  2. Application multilingue
    Par Pystakus dans le forum IHM
    Réponses: 4
    Dernier message: 10/07/2003, 15h51
  3. Réponses: 2
    Dernier message: 26/05/2003, 19h42
  4. [Kylix] application console avec kylix 3 ?
    Par Hakim dans le forum EDI
    Réponses: 4
    Dernier message: 15/11/2002, 22h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo