Bonjour, Je crois que j'ai besoin d'un rappel sur les librairie i18N. En effet, je n'arrive pas à comprendre la différence entre "n_" et "_". De plus, le référencement sur la valeur de l'attribution fonctionne mais la transformation ne s'effectue pas. Qu'ai-je oublié ? Merci d'avance, Cordialement Gilet Florent
Le Mon, 1 Mar 2010 17:50:38 +0100 (CET), "Florent GILET" <florent.gilet@etu.univ-nantes.fr> a écrit :
Bonjour,
Je crois que j'ai besoin d'un rappel sur les librairie i18N. En effet, je n'arrive pas à comprendre la différence entre "n_" et "_". De plus, le référencement sur la valeur de l'attribution fonctionne mais la transformation ne s'effectue pas. Qu'ai-je oublié ?
Je comprends pas ta dernière phrase :)
Pour rappel : la méthode n_ sert juste à marquer une clef i18n, sans faire directement la traduction. Exemple : String clef = n_("i18n.test"); ==> clef == "i18n.test" La méthode _ sert à traduire une clef i18n. Exemple : String value = n_("i18n.test"); ==> clef == la traduction de la clef "i18n.test" selon la locale spécifié dans la méthode I18n.init(XX) Lors du passage dans le fichier via le plugin maven i18n on détecte la présence de ces 2 méthodes. chaque clef trouvée est ensuite écrite dans les fichiers i18n (dans src/main/resources/i18n/). J'espère avoir répondu à tes attentes :)
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
Bonsoir, A ce sujet, je me demande si nous avons un soucis avec i18n ou avec Windows... En effet, sous Windows lorsque l'on exécute le programme, en lieu et place des traductions, nous avons les clés i18n. Typiquement pour le menu, au lieu de "Fichier Edition Aide" sous windows, nous avons "mapstoragemanager.action.file mapstoragemanager.action.edit mapstoragemanager.action.help". Concernant la Démo Jaxx, je ne comprends pas pourquoi "java web start" ne marche pas sur mon PC. J'ai donc fait un checkout du SVN, néanmoins à la compilation du projet Maven, Maven ne trouve pas l'artefact suivant : org.nuiton.jrst:doxia-module-jrst:jar:1.1.0 (sûrement le repository qui n'est pas renseigné -> j'avoue que vu l'heure, j'ai la flemme de chercher plus loin). -- Dorian Langlais, 06 17 21 04 99
Le Mon, 1 Mar 2010 22:31:54 +0100, Dorian Langlais <dorian.langlais@gmail.com> a écrit :
Bonsoir,
A ce sujet, je me demande si nous avons un soucis avec i18n ou avec Windows... En effet, sous Windows lorsque l'on exécute le programme, en lieu et place des traductions, nous avons les clés i18n.
Typiquement pour le menu, au lieu de "Fichier Edition Aide" sous windows, nous avons "mapstoragemanager.action.file mapstoragemanager.action.edit mapstoragemanager.action.help". Je regarde demain votre code car y avoir quelque chose qui cloche... Le système i18n fonctionne bien sous windows.
Concernant la Démo Jaxx, je ne comprends pas pourquoi "java web start" ne marche pas sur mon PC. J'ai donc fait un checkout du SVN, néanmoins à la compilation du projet Maven, Maven ne trouve pas l'artefact suivant : org.nuiton.jrst:doxia-module-jrst:jar:1.1.0 (sûrement le repository qui n'est pas renseigné -> j'avoue que vu l'heure, j'ai la flemme de chercher plus loin).
Est-ce que tu as configuré ton settings.xml dans ~/.m2 ? -- Tony Chemit -------------------- tél: +33 (0) 2 40 50 29 28 email: chemit@codelutin.com http://www.codelutin.com
Le Mon, 1 Mar 2010 22:41:32 +0100, Dorian Langlais <dorian.langlais@gmail.com> a écrit :
Est-ce que tu as configuré ton settings.xml dans ~/.m2 ?
Oups.. non
Je vais chercher ce qu'il manque (si je trouve).
Ajoute ça dans ton settings.xml : (tiré de http://nuiton.org/news/show/2 ) <profiles> <profile> <id>nuiton-profile</id> <activation> <activeByDefault>true</activeByDefault> </activation> <repositories> <!-- depot des releases nuiton --> <repository> <id>nuiton.release</id> <name>NuitonReleaseRepository</name> <url>http://maven.nuiton.org/release</url> <snapshots> <enabled>false</enabled> </snapshots> <releases> <enabled>true</enabled> <checksumPolicy>warn</checksumPolicy> </releases> </repository> <!-- depot des snapshots nuiton --> <repository> <id>nuiton.snapshot</id> <name>NuitonSnapshotRepository</name> <url>http://maven.nuiton.org/snapshot</url> <snapshots> <enabled>true</enabled> <checksumPolicy>fail</checksumPolicy> </snapshots> <releases> <enabled>false</enabled> </releases> </repository> </repositories> <pluginRepositories> <!-- depot des releases nuiton --> <pluginRepository> <id>nuiton.release</id> <name>NuitonReleaseRepository</name> <url>http://maven.nuiton.org/release</url> <snapshots> <enabled>false</enabled> </snapshots> <releases> <enabled>true</enabled> <checksumPolicy>warn</checksumPolicy> </releases> </pluginRepository> <!-- depot des snapshots nuiton --> <pluginRepository> <id>nuiton.snapshot</id> <name>NuitonSnapshotRepository</name> <url>http://maven.nuiton.org/snapshot</url> <snapshots> <enabled>true</enabled> <checksumPolicy>fail</checksumPolicy> </snapshots> <releases> <enabled>false</enabled> </releases> </pluginRepository> </pluginRepositories> </profile> </profiles> <activeProfiles> <activeProfile>nuiton-profile</activeProfile> </activeProfiles> -- Tony Chemit -------------------- tél: +33 (0) 2 40 50 29 28 email: chemit@codelutin.com http://www.codelutin.com
Désolé, -> pas vu, pas pris ^^. Voilà qui est rétabli, en effet, ça marche mieux. Merci. -- Dorian Langlais, 06 17 21 04 99
Ok, Donc, je viens de compiler et lancer la démo jaxx. D'ailleurs, vraiment très impressionnante celle-ci (je ne l'avais pas refaite tourner depuis notre réunion à ce sujet).. Il y a donc le même soucis qu'avec notre projet MSM concernant les traducations i18n. Un petit screenshot en pièce jointe (enfin, je ne sais pas si vous avez connaissance de ce bug). Bonne soirée. /me go to bed.
Le Mon, 1 Mar 2010 23:09:06 +0100, Dorian Langlais <dorian.langlais@gmail.com> a écrit :
Ok,
Donc, je viens de compiler et lancer la démo jaxx. D'ailleurs, vraiment très impressionnante celle-ci (je ne l'avais pas refaite tourner depuis notre réunion à ce sujet)..
Il y a donc le même soucis qu'avec notre projet MSM concernant les traducations i18n. Un petit screenshot en pièce jointe (enfin, je ne sais pas si vous avez connaissance de ce bug). Non, il devrait pas exister :)
Peux-tu me dire comment tu lances l'appli ? et sur quel environnement (xp, vista, 7, ?)
Bonne soirée.
/me go to bed.
-- Tony Chemit -------------------- tél: +33 (0) 2 40 50 29 28 email: chemit@codelutin.com http://www.codelutin.com
/me pas encore couché ^^. Re, J'utilise netbeans 6.8 et je suis sous windows 7 64 bits. Je le lance comme tout projet maven sous netbeans ; Plus exactement, J'ai exécuté le projet de "deux façons" : - clic-droit sur le module maven JAXX :: Demo -> exécuter ; - clic-droit sur le fichier RunDemo.java -> exécuter. Dans les deux cas, j'ai le même résultat que le screen précédemment envoyé. En pièce jointe un screen du même problème sur notre projet. De mémoire, Florent a eu le même soucis (à la fac ou chez lui, je ne sais plus) sous windows (XP à la fac). Bonne soirée. -- Dorian Langlais.
Le Mon, 1 Mar 2010 22:31:54 +0100, Dorian Langlais <dorian.langlais@gmail.com> a écrit :
Bonsoir,
A ce sujet, je me demande si nous avons un soucis avec i18n ou avec Windows... En effet, sous Windows lorsque l'on exécute le programme, en lieu et place des traductions, nous avons les clés i18n.
Je viens de lancer l'application sous Xp et le chargement i18n est ok. Par contre j'ai pas pu voir l'ui car ça plante avant... java.lang.NullPointerException at org.nuiton.mapstoragemanager.core.PluginLoader.<init>(PluginLoader.java:58) at org.nuiton.mapstoragemanager.ui.gui.ApplicationEngine.<init>(ApplicationEngine.java:88) at org.nuiton.mapstoragemanager.ui.gui.ApplicationEngine.getInstance(ApplicationEngine.java:290) at org.nuiton.mapstoragemanager.ui.MainUI.$initialize(MainUI.java:1138) at org.nuiton.mapstoragemanager.ui.MainUI.<init>(MainUI.java:229) at org.nuiton.mapstoragemanager.ui.MainUI.getInstance(MainUI.java:138) at org.nuiton.mapstoragemanager.Main.<init>(Main.java:61) at org.nuiton.mapstoragemanager.Main.main(Main.java:84)
Typiquement pour le menu, au lieu de "Fichier Edition Aide" sous windows, nous avons "mapstoragemanager.action.file mapstoragemanager.action.edit mapstoragemanager.action.help".
Concernant la Démo Jaxx, je ne comprends pas pourquoi "java web start" ne marche pas sur mon PC. J'ai donc fait un checkout du SVN, néanmoins à la compilation du projet Maven, Maven ne trouve pas l'artefact suivant : org.nuiton.jrst:doxia-module-jrst:jar:1.1.0 (sûrement le repository qui n'est pas renseigné -> j'avoue que vu l'heure, j'ai la flemme de chercher plus loin).
-- Tony Chemit -------------------- tél: +33 (0) 2 40 50 29 28 email: chemit@codelutin.com http://www.codelutin.com
Le Thu, 11 Mar 2010 01:14:42 +0100, Tony Chemit <chemit@codelutin.com> a écrit :
Le Mon, 1 Mar 2010 22:31:54 +0100, Dorian Langlais <dorian.langlais@gmail.com> a écrit :
Bonsoir,
A ce sujet, je me demande si nous avons un soucis avec i18n ou avec Windows... En effet, sous Windows lorsque l'on exécute le programme, en lieu et place des traductions, nous avons les clés i18n.
Je viens de lancer l'application sous Xp et le chargement i18n est ok.
Par contre j'ai pas pu voir l'ui car ça plante avant...
java.lang.NullPointerException at org.nuiton.mapstoragemanager.core.PluginLoader.<init>(PluginLoader.java:58) at org.nuiton.mapstoragemanager.ui.gui.ApplicationEngine.<init>(ApplicationEngine.java:88) at org.nuiton.mapstoragemanager.ui.gui.ApplicationEngine.getInstance(ApplicationEngine.java:290) at org.nuiton.mapstoragemanager.ui.MainUI.$initialize(MainUI.java:1138) at org.nuiton.mapstoragemanager.ui.MainUI.<init>(MainUI.java:229) at org.nuiton.mapstoragemanager.ui.MainUI.getInstance(MainUI.java:138) at org.nuiton.mapstoragemanager.Main.<init>(Main.java:61) at org.nuiton.mapstoragemanager.Main.main(Main.java:84)
Et maintenant je vois même l'ui qui est bien traduite. si ça marche pas chez toi peux-tu m'envoyer la trace de log ?
Typiquement pour le menu, au lieu de "Fichier Edition Aide" sous windows, nous avons "mapstoragemanager.action.file mapstoragemanager.action.edit mapstoragemanager.action.help".
Concernant la Démo Jaxx, je ne comprends pas pourquoi "java web start" ne marche pas sur mon PC. J'ai donc fait un checkout du SVN, néanmoins à la compilation du projet Maven, Maven ne trouve pas l'artefact suivant : org.nuiton.jrst:doxia-module-jrst:jar:1.1.0 (sûrement le repository qui n'est pas renseigné -> j'avoue que vu l'heure, j'ai la flemme de chercher plus loin).
-- Tony Chemit -------------------- tél: +33 (0) 2 40 50 29 28 email: chemit@codelutin.com http://www.codelutin.com
Ok, je regarde à l'instant, tu as fais une modif pour que ça re-marche ? (de mon coté la dernière fois que j'ai lancé, ça a parfaitement marché).
Le Thu, 11 Mar 2010 01:22:05 +0100, Dorian Langlais <dorian.langlais@gmail.com> a écrit :
Ok, je regarde à l'instant, tu as fais une modif pour que ça re-marche ? (de mon coté la dernière fois que j'ai lancé, ça a parfaitement marché).
j'ai rien fait juste recompilé -- Tony Chemit -------------------- tél: +33 (0) 2 40 50 29 28 email: chemit@codelutin.com http://www.codelutin.com
Ok, Voici ma trace (auparavant, j'ai clean, build au cas où) : NetBeans: Executing '"C:\Program Files\Apache Software Foundation\apache-maven-2.2.1\bin\mvn.bat" -Dexec.classpathScope=runtime -Dexec.args=-classpath %classpath org.nuiton.mapstoragemanager.Main -Dexec.executable=C:\Program Files\Java\jdk1.6.0_18\bin\java.exe -Dnetbeans.execution=true process-classes org.codehaus.mojo:exec-maven-plugin:1.1.1:exec' NetBeans: JAVA_HOME=C:\Program Files\Java\jdk1.6.0_18 Scanning for projects... ------------------------------------------------------------------------ Building MSM task-segment: [process-classes, org.codehaus.mojo:exec-maven-plugin:1.1.1:exec] ------------------------------------------------------------------------ [enforcer:enforce] [dependency:copy] [jaxx:generate] Nothing to generate - all files are up to date. [i18n:parserJava] Preparing i18n:bundle [i18n:collect] collected 3 i18n artifacts for locale fr_FR stored in G:\NetBeansProject\mapstoragemanager\msm\target\i18n\collect-msm-i18n-fr_FR.properties collected 3 i18n artifacts for locale en_GB stored in G:\NetBeansProject\mapstoragemanager\msm\target\i18n\collect-msm-i18n-en_GB.properties [i18n:bundle] [WARNING] bundle en_GB contains 4/133 empty entries! (use -Di18n.showEmpty to see these entries) [resources:resources] Using 'UTF-8' encoding to copy filtered resources. Copying 1 resource Copying 32 resources Copying 3 resources [compiler:compile] Compiling 5 source files to G:\NetBeansProject\mapstoragemanager\msm\target\classes [exec:exec] 11 mars 2010 01:27:34 org.nuiton.i18n.init.DefaultI18nInitializer getResourceURL INFO: resource to seek : META-INF/msm-i18n-definition.properties 11 mars 2010 01:27:34 org.nuiton.i18n.init.DefaultI18nInitializer resolvDefinition INFO: definition file to seek : file:/G:/NetBeansProject/mapstoragemanager/msm/target/classes/META-INF/msm-i18n-definition.properties 11 mars 2010 01:27:34 org.nuiton.i18n.init.DefaultI18nInitializer resolvURLs INFO: Detected resource for locale fr_FR : file:/G:/NetBeansProject/mapstoragemanager/msm/target/classes/META-INF/msm-i18n-fr_FR.properties 11 mars 2010 01:27:34 org.nuiton.i18n.init.DefaultI18nInitializer resolvURLs INFO: Detected resource for locale en_GB : file:/G:/NetBeansProject/mapstoragemanager/msm/target/classes/META-INF/msm-i18n-en_GB.properties 11 mars 2010 01:27:34 org.nuiton.i18n.init.I18nInitializer resolvBundles INFO: 1 bundle(s) found, in 2 file(s). 11 mars 2010 01:27:34 org.nuiton.i18n.I18nStore init INFO: 1 bundle(s) found, [2 file(s)]. 11 mars 2010 01:27:34 org.nuiton.i18n.I18nStore addLanguage INFO: I18nLanguage <locale: fr_FR, nbStences:133>, nbEntries: 1, nbSentences: 133. 11 mars 2010 01:27:34 org.nuiton.util.URLConverter <init> INFO: org.nuiton.util.URLConverter@5bbf3d87 11 mars 2010 01:27:34 org.nuiton.util.ConverterUtil initConverters INFO: register converter org.nuiton.util.URLConverter@5bbf3d87 11 mars 2010 01:27:34 org.nuiton.util.ConverterUtil initConverters INFO: register converter org.nuiton.util.URIConverter@1e2acc65 11 mars 2010 01:27:34 org.nuiton.util.ConverterUtil initConverters INFO: register converter org.nuiton.util.VersionConverter@67d95492 11 mars 2010 01:27:34 org.nuiton.util.ConverterUtil initConverters INFO: register converter org.nuiton.util.LocaleConverter@ee0cc23 11 mars 2010 01:27:34 jaxx.runtime.SwingUtil loadUIConfig INFO: loading default UI config /msm.properties 11 mars 2010 01:27:34 org.nuiton.mapstoragemanager.ui.gui.ApplicationEngine <init> INFO: msmBasedir : G:\NetBeansProject\mapstoragemanager pluginsFolderPath : G:\NetBeansProject\mapstoragemanager\plugins 11 mars 2010 01:27:34 org.nuiton.mapstoragemanager.core.PluginLoader loadPlugin INFO: Load plugin : G:\NetBeansProject\mapstoragemanager\plugins\.svn 11 mars 2010 01:27:34 org.nuiton.mapstoragemanager.core.PluginLoader loadPlugin INFO: Load plugin : G:\NetBeansProject\mapstoragemanager\plugins\msm-bighashmapV2.jar 11 mars 2010 01:27:39 org.nuiton.i18n.I18nStore addLanguage INFO: I18nLanguage <locale: en_GB, nbStences:133>, nbEntries: 1, nbSentences: 133. 11 mars 2010 01:27:39 jaxx.runtime.SwingUtil loadUIConfig INFO: loading default UI config /msm.properties 11 mars 2010 01:27:39 org.nuiton.mapstoragemanager.ui.gui.ApplicationEngine <init> INFO: msmBasedir : G:\NetBeansProject\mapstoragemanager pluginsFolderPath : G:\NetBeansProject\mapstoragemanager\plugins 11 mars 2010 01:27:39 org.nuiton.mapstoragemanager.core.PluginLoader loadPlugin INFO: Load plugin : G:\NetBeansProject\mapstoragemanager\plugins\.svn 11 mars 2010 01:27:39 org.nuiton.mapstoragemanager.core.PluginLoader loadPlugin INFO: Load plugin : G:\NetBeansProject\mapstoragemanager\plugins\msm-bighashmapV2.jar ------------------------------------------------------------------------ BUILD SUCCESSFUL ------------------------------------------------------------------------ Total time: 15 seconds Finished at: Thu Mar 11 01:27:43 CET 2010 Final Memory: 62M/615M ------------------------------------------------------------------------ Chez Amaury notre programme se comporte bizarrement aussi (ubuntu 9.10 32 bits je crois), au lancement les clés ne sont pas traduites, lorsque l'on change la langage, cela ouvre une nouvelle fenêtre correctement traduite.. C'est assez bizarre. Chez Florent, sur windows XP (il me semble), il n'avait pas de problème avec i18n lorsque l'on avait dans le main() de Main.java : - I18n.setInitializer(new DefaultI18nInitializer("mapstoragemanager-i18n")); sauf que cela générait une erreur à la compil (logique). au lieu de - I18n.setInitializer(new DefaultI18nInitializer("msm-i18n")); (l'erreur venait d'un oubli lorsque l'on a changé l'architecture du projet.
Dans la trace précédente, j'ai effectué (tenté) un changement de langue. (INFO: I18nLanguage <locale: en_GB, nbStences:133>, nbEntries: 1, nbSentences: 133.) Pour rappel, je suis sous Windows 7 64bits...
Salut, J'ai peut-être une piste concernant mon problème de i18n : Dans les fichiers /mapstoragemanager/msm/target/generated-sources/ressources/META-INF/msm-i18n-[en_GB ou fr_FR]... je n'ai pas les clés et traduction i18n de notre application, juste les traductions de base... ("hérités" sûrement). Je mets ces deux fichiers en pièce jointe au cas où... -- Dorian Langlais.
Le Fri, 12 Mar 2010 18:59:44 +0100, Dorian Langlais <dorian.langlais@gmail.com> a écrit :
Salut,
J'ai peut-être une piste concernant mon problème de i18n : Dans les fichiers /mapstoragemanager/msm/target/generated-sources/ressources/META-INF/msm-i18n-[en_GB ou fr_FR]... je n'ai pas les clés et traduction i18n de notre application, juste les traductions de base... ("hérités" sûrement).
Je mets ces deux fichiers en pièce jointe au cas où...
-- Dorian Langlais.
Les deux fichiers sont corrects, je vois pas le problème ? -- Tony Chemit -------------------- tél: +33 (0) 2 40 50 29 28 email: chemit@codelutin.com http://www.codelutin.com
Ok, pas de soucis, vu que je ne voyais rien concernant notre application, je pensais qu'il y manquait quelque chose. Vu que chez moi, j'ai toujours le même soucis.
Ok, je comprends mieux maintenant. Merci, la traduction se fait bien.
Le Mon, 1 Mar 2010 17:50:38 +0100 (CET), "Florent GILET" <florent.gilet@etu.univ-nantes.fr> a écrit :
Bonjour,
Je crois que j'ai besoin d'un rappel sur les librairie i18N. En effet, je n'arrive pas à comprendre la différence entre "n_" et "_". De plus, le référencement sur la valeur de l'attribution fonctionne mais la transformation ne s'effectue pas. Qu'ai-je oublié ?
Je comprends pas ta dernière phrase :)
Pour rappel :
la méthode n_ sert juste à marquer une clef i18n, sans faire directement la traduction.
Exemple :
String clef = n_("i18n.test");
==> clef == "i18n.test"
La méthode _ sert à traduire une clef i18n.
Exemple :
String value = n_("i18n.test");
==> clef == la traduction de la clef "i18n.test" selon la locale spécifié dans la méthode I18n.init(XX)
Lors du passage dans le fichier via le plugin maven i18n on détecte la présence de ces 2 méthodes.
chaque clef trouvée est ensuite écrite dans les fichiers i18n (dans src/main/resources/i18n/).
J'espère avoir répondu à tes attentes :)
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 _______________________________________________ Mapstoragemanager-devel mailing list Mapstoragemanager-devel@list.nuiton.org http://list.nuiton.org/cgi-bin/mailman/listinfo/mapstoragemanager-devel
participants (3)
-
Dorian Langlais -
Florent GILET -
Tony Chemit