Le Tue, 2 Feb 2010 15:32:00 +0100 (CET), "Florent GILET" <florent.gilet@etu.univ-nantes.fr> a écrit :
Bonjour,
J'essaye actuellement d'internationaliser l'application (fonction optionelle mais j'ai vu que cela se faisait assez simplement). En effet, j'ai la fonction suivant que je voudrais tester :
public void setLocale(String language, String country) { currentLocale= new Locale(language,country); messages = ResourceBundle.getBundle("mapstoragemanager",currentLocale); System.out.println(messages.getString("ok"));
}
On utilise pas du tout ce fonctionnement là. On a une classe org.nuiton.i18n.I18n qui gère ça. Tu peux regarder cette classe qui est dans le projet nuiton-utils sur la forge nuiton. Je n'ai pas trop le temps de t'en parler aujourd'hui mais peut-être demain :) Tony.
/** language="fr" et country="FR" et mon fichier est mapstoragemanager-fr_FR.properties **/
Mais il se produit une erreur :
Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at jaxx.runtime.Util$1.invoke(Util.java:224) at $Proxy0.actionPerformed(Unknown Source) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.AbstractButton.doClick(AbstractButton.java:357) at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1216) at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1257) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272) at java.awt.Component.processMouseEvent(Component.java:6038) at javax.swing.JComponent.processMouseEvent(JComponent.java:3265) at java.awt.Component.processEvent(Component.java:5803) at java.awt.Container.processEvent(Container.java:2058) at java.awt.Component.dispatchEventImpl(Component.java:4410) at java.awt.Container.dispatchEventImpl(Container.java:2116) at java.awt.Component.dispatchEvent(Component.java:4240) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916) at java.awt.Container.dispatchEventImpl(Container.java:2102) at java.awt.Window.dispatchEventImpl(Window.java:2429) at java.awt.Component.dispatchEvent(Component.java:4240) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) at java.awt.EventDispatchThread.run(EventDispatchThread.java:121) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at jaxx.runtime.Util$1.invoke(Util.java:220) ... 29 more Caused by: java.util.MissingResourceException: Can't find bundle for base name mapstoragemanager, locale fr_FR at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1508) at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1262) at java.util.ResourceBundle.getBundle(ResourceBundle.java:789) at org.nuiton.mapstoragemanager.ui.gui.ApplicationEngine.setLocale(ApplicationEngine.java:44) at org.nuiton.mapstoragemanager.ui.MainUI.doActionPerformed__on__menuFileLanguageUK(MainUI.java:265) ... 34 more
J'en ai conclu que c'etait le chemin du fichier(".properties") qu'il ne trouvait pas. Pourtant j'ai essayer de mettre les ".properties" dans le dossier des ".class". J'ai aussi essayer de récuperer les ".properties" se trouvant dans target/classes/META-INF/ mais rien n'y fait.
Suis-je sur la mauvaise voie ou c'est juste une histoire de chemin relatif/absolu ?
Merci d'avance,
Cordialement,
Gilet Florent
_______________________________________________ Mapstoragemanager-devel mailing list Mapstoragemanager-devel@list.nuiton.org http://list.nuiton.org/cgi-bin/mailman/listinfo/mapstoragemanager-devel
-- Tony Chemit -------------------- tél: +33 (0) 2 40 50 29 28 email: chemit@codelutin.com http://www.codelutin.com