Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2966 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Problème Internationalisation IDE

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème Internationalisation IDE

n°1837167
beuleuppeu​p
Posté le 13-01-2009 à 04:57:49  profilanswer
 

Bonjour,
 
Je travaille actuellement sur un programme en Java que je cherche à internationaliser en français, anglais et chinois avec un menu permettant de changer de langue à volonté.
 
Mon problème est que lorsque je lance le jar par moi même, je ne peux changer de langue qu'une seule fois (si j'essaie de rechanger rien ne se passe, ni plantage, ni exception) alors que quand je lance le programme via l'IDE (NetBeans 6.1) je peux changer de langue à volonté sans aucun soucis.
 

Code :
  1. private void menuItm_engActionPerformed(java.awt.event.ActionEvent evt) {                                           
  2.     ResourceBundle.clearCache();
  3.     Locale en=new Locale("en_EN" );
  4.     Locale.setDefault(en);
  5.     bundle=ResourceBundle.getBundle("youhua01/Bundle",en);
  6.     updateBundle(en);
  7. }                                         
  8. private void menuItm_zhActionPerformed(java.awt.event.ActionEvent evt) {                                         
  9.     ResourceBundle.clearCache();
  10.     Locale zh=new Locale("zh_CN" );
  11.     Locale.setDefault(zh);
  12.     bundle=ResourceBundle.getBundle("youhua01/Bundle", zh);
  13.     updateBundle(zh);
  14. }                                         
  15. private void menuItm_fraActionPerformed(java.awt.event.ActionEvent evt) {                                           
  16.     ResourceBundle.clearCache();
  17.     Locale fr= new Locale("fr_FR" );
  18.     Locale.setDefault(fr);
  19.     bundle=ResourceBundle.getBundle("youhua01/Bundle", fr);
  20.     updateBundle(fr);
  21. }                                         
  22. private void updateBundle(Locale loc)
  23. {
  24.     this.setTitle(bundle.getString("MainFrame.title" ));
  25.     this.jTabbedPane1.setTitleAt(0, bundle.getString("MainFrame.tab_sys.text" ));
  26.     this.jTabbedPane1.setTitleAt(1, bundle.getString("MainFrame.tab_opt.text" ));
  27.     this.main_menu.setText(bundle.getString("MainFrame.main_menu.text" ));
  28.     this.menu_lang.setText(bundle.getString("MainFrame.menu_lang.text" ));
  29.     this.menuItm_eng.setText(bundle.getString("MainFrame.menuItm_eng.text" ));
  30.     this.menuItm_zh.setText(bundle.getString("MainFrame.menuItm_zh.text" ));
  31.     this.menuItm_fra.setText(bundle.getString("MainFrame.menuItm_fra.text" ));
  32.     this.menuItm_exit.setText(bundle.getString("MainFrame.menuItm_exit.text" ));
  33.    
  34.     tab_sys.updateBundle(loc);
  35.     tab_opt.updateBundle(loc);
  36. }


J'utilise donc un ResourceBundle associé à trois fichiers Properties (Bundle.properties, Bundle_fr_FR.properties, Bundle_zh_CN.properties).
 
Voilà, donc si quelqu'un à une idée pour résoudre mon problème..

mood
Publicité
Posté le 13-01-2009 à 04:57:49  profilanswer
 

n°1837207
beuleuppeu​p
Posté le 13-01-2009 à 10:47:07  profilanswer
 

J'ai solutionné mon problème. J'ai changé plusieurs trucs. Déjà là construction des Locales, il fallait faire:

Code :
  1. Locale en=new Locale("en","GB" );
  2. ...
  3. Locale zh=new Locale("zh","CN" );
  4. ...
  5. Locale fr=new Locale("fr","FR" );


J'ai créé un fichier Bundle_en_GB.properties pour stocker l'anglais qui était auparavant dans le fichier Bundle.properties.
 
J'ai aussi supprimé les ResourceBundle.clearCache() qui ne servaient à rien (je n'ai d'ailleurs pas bien compris à quoi cette fonction est censée servir).


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Problème Internationalisation IDE

 

Sujets relatifs
problème de HashMap résolu, mais besoin d'explications, bug JAVA ?probleme afficher image
arbre n-aire, probleme de codeprobleme php exec avec argument et espace
Gestion du clavier...Problème :(Perl et cgi: problème de split
Probleme Ecriture base de registre VBProblème Identification, Connexion
Python, problème avec les tableauxProblème de sélection dans une ComboBox
Plus de sujets relatifs à : Problème Internationalisation IDE


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR