|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre confirmé
![]() Inscription : septembre 2005 Messages : 508 ![]() |
Bonjour je voudrais savoir si BIRT permet de gérer l'internationalization des libellé du rapport, afin que ceux ci s'adapte à la langue de l'utilisateur sans avoir à créer un rapport pour chaque langue ?
Par exemple en utilisant des Ressources Bunble par exemple *.properties ? |
|
|
00
|
|
|
#2 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Oui !
La norme utilisée est la norme I18N qui utilise effectivement les RessourceBundle. 1. Tu cliques sur une marge de ton édition. 2. Tu vas dans le Property Editor > General > Ressource File > Tu choisis ton fichier de ressources. 3. Tu insères un Label à ton édition. 4. Tu le sélectionnes et tu vas dans le Property Editor > Localization > Tu cliques sur les "..." et tu mets le nom de ta clef. Pour changer le chemin du dossier qui contient les .properties en allant dans le menu Window > Preferences > Report Design > Ressources. Pour mettre la langue à ton édition tu fais : La deuxième solution, tu commences à utiliser la fonction Recherche de développez.com et lis la FAQ du site BIRT et ça t'aideras sûrement.... |
|
|
00
|
|
|
#3 | ||
|
Membre confirmé
![]() Inscription : septembre 2005 Messages : 508 ![]() |
Bonjour,
Merci pour tout ses renseigments, j'avais encore une petite question, dans les propriétés quand on affecte le fichier A *.properties, pourquoi on ne peut en charger qu'un seul, pourquoi on ne pourrait pas plutot préciser tous les fichiers que l'on utilisera, par exemple celui en_US, fr_FR... Vous allez peut être me répondre que Justement c'est en gérant le chemin dans Window/Préférence/Report Design/Resource ? en fait j'ai bien compris l'internationalisation dans le Report Designer, mais une fois que je veux modifier le locale à partir du code java, j'obtiens toujours le meme résultat et il correspond au fichier chargé A dans les propriétés du rapport *.rptDesign. Car dans le code j'utilise le WebViewer, et je n'est pas vraiment trouver de solution pour lui affecter le local mis à part : Code :
|
||
|
|
00
|
|
|
#4 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
En fait quand tu charches le fichier (qui s'appellerait fichier_fr.rptdesign) et il t'affiche fichier_fr quand tu le sélectionnes. Tu enlèves le _fr donc tu met seulement fichier.
|
|
|
00
|
|
|
#5 |
|
Membre confirmé
![]() Inscription : septembre 2005 Messages : 508 ![]() |
Désolé BiM mais je n'ai pas trés bien suivie...
moi j'ai dans un report projet plusieurs projets : projetA.rptDesign, projetB.rptDesign, projetC.rptDesign... ensuite j'ai un répertoire que j'ai appelé \properties, dans celui ci j'ai mis deux fichiers : ApplicationResources_en_US.properties et ApplicationResources_fr_FR.properties... , Description : dans mon Report Project, je charge le fichier 'properties/ApplicationResources_en_US.properties', visuellement mon rapport est en anglais à ce moment. Maintenant si je lance via le viewer de BIRT via le code java et que j'essai de définir le local en anglais, le rapport qui est ouvert dans le WebViewer est en anglais et non en francais... |
|
|
00
|
|
|
#6 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Tu voulais pas dire plutôt quand je met ma locale en francais, il s'affiche en anglais quand même ? lol
Bref, c'est exactement ce que je t'ai dit précédemment. Dans ton Report Project, au lieu de charger properties/ApplicationResources_en_US(.properties), charges properties/ApplicationResources(.properties) même s'il n'existe pas, c'est juste la base du nom. |
|
|
00
|
|
|
#7 |
|
Membre confirmé
![]() Inscription : septembre 2005 Messages : 508 ![]() |
lol... désolé je suis longue à comprendre, merci la ca y est j'ai compris, en fait j'avais essayer mais comme ca n'avait pas vraiment marché je m'étais dis que j'avais du mal comprendre. Je vais refaire en faisant bien attention...
Merci... |
|
|
00
|
|
|
#8 | ||
|
Membre confirmé
![]() Inscription : septembre 2005 Messages : 508 ![]() |
Bonjour tout le monde,
encore moi, et j'en suis désolée Bon j'ai un probleme avec l'intenationnalization... (parmis d'autres biensur) j'ai l'erreur suivante : java.lang.NullPointerException at org.eclipse.birt.report.model.api.DefaultResourceLocator.tryFragmentSearch(DefaultResourceLocator.java:210) at org.eclipse.birt.report.model.api.DefaultResourceLocator.findResource(DefaultResourceLocator.java:114) at org.eclipse.birt.report.model.core.BundleHelper.populateBundle(BundleHelper.java:262) at org.eclipse.birt.report.model.core.BundleHelper.gatherMessageBundles(BundleHelper.java:167) at org.eclipse.birt.report.model.core.BundleHelper.getMessage(BundleHelper.java:134) at org.eclipse.birt.report.model.core.Module.getMessage(Module.java:968) at org.eclipse.birt.report.model.api.ModuleUtil.getExternalizedValue(ModuleUtil.java:582) at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.localize(LocalizedContentVisitor.java:442) at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.processLabel(LocalizedContentVisitor.java:321) at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.visitLabel(LocalizedContentVisitor.java:302) at org.eclipse.birt.report.engine.content.impl.LabelContent.accept(LabelContent.java:121) at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.localize(LocalizedContentVisitor.java:111) at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:38) at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layoutChildren(HTMLPageLM.java:123) at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:81) at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:80) at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:194) at ui.MView.previewReport(MView.java:374) en fait je vais vous décrire mon environement : j'ai d'une part un report project qui contient l'arborescence suivante : Code :
Maintenant à partir de mon application java j'essaie d'ouvrir mes rapports configurés comme ci dessus, mais j'ai l'erreur citée plus haut...y a t il quelque chose à faire d'autre ? dois je copier mes rapport dans mon projet java qui lance mon application ainsi que les fichiers properties ? en fait j'ai essayé pleine de combinaison (de copier les fichiers *.properties partout) mais aucune n'a fonctionné.... alors si quelqu'un à la recette miracle ... merci encore |
||
|
|
00
|
|
|
#9 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Tu n'aurais pas un libellé faux ? Qui n'existerait plus ? Ou dans lequel s'est immiscé une erreur ?
|
|
|
00
|
|
|
#10 |
|
Membre confirmé
![]() Inscription : septembre 2005 Messages : 508 ![]() |
merci pour ta réponse BIM, mais pour l'instant j'ai fait un rapport trés trés simple avec seulement un label au quel je fixe une clé (a priori bonne) pour la localisation.
et c'est en ouvrant ce rapport que j'ai mon erreur. Donc a priori je n'appelle pas une clé non existante... |
|
|
00
|
|
|
#11 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
J'ai regardé d'un peu plus près ton erreur...
Donc tu as le bon chemin dans Window > Preferences > Report Design > Ressources. A tous tes rptdesign, quand tu cliques sur la marge > Property Editor > General > Ressource File > Add > Tu sélectionnes ton fichier et tu enlèves le suffixe (_FR_fr, _US_en, ...). Si tu ne vois pas ton fichier, c'est mauvais signe. Ensuite, ton libellé (de type label) est vide et quand tu cliques sur lui > Property > Localization > ... > Tu sélectionnes la clé correspondante (Tu la vois dans la liste, nous sommes d'accord ? Sinon, c'est mauvais signe aussi). Si tu fais un preview, dans Window > Preferences > Report Design > Preview > Choose your Locale > tu sélectionnes une langue dont le fichier existe (anglais (Etats-Unis) dans ton cas ou français (France). Ensuite, lors de la génération, tu mets task.setLocale(Locale.FRANCE); ou Locale.US mais pas Locale.FRENCH (parce qu'il ne sait pas à quel fichier se référer, par exemple, pour avoir la paix, je met ApplicationProperties_fr.properties, comme ça, si je sélectionnes FRANCE ou FRENCH ou CANADA_FRENCH, il me prendra mon fichier. Après tout dépend si tu prend en compte les nuances. Pour avoir une langue par défaut, il faut que le fichier de la langue par défaut n'ait pas de suffixe de langage : ApplicationProperties.properties. Si tu n'arrives pas à faire fonctionner ton rptdesign, essaye de renommer un de tes fichiers sans le suffixe |
|
|
00
|
|
|
#12 |
|
Membre confirmé
![]() Inscription : septembre 2005 Messages : 508 ![]() |
Merci pour ta réponse, j'ai fait tout ce que tu as dis lol...
et rien de bizarre... c'est à dire que meme en écrivant dans resource le nom sans le suffixe (_FR_fr, _US_en), quand je sélectionne un label et pour lui affecter une localization j'ai bien toute mes clé, donc mon fichier est bien reconnue. J'ai regardé la preview, tout va bien, j'ai modifier la langue dans Window > Preferences > Report Design > Preview > Choose your Locale et pareil ca suit, mon rapport est dans la bonne langue. moi dans mon code java je méttais task.setLocale(Locale.FRENCH), donc j'ai changé et j'ai mis FRANCE, mais l'erreur est resté... snif donc j'ai fais comme tu ma dis, j'ai créé une copie d'un des fichier properties et je l'ai nommé sans le suffixe mais j'ai toujours l'erreur... les fichier properties doivent resté dans le report projet ou je dois les copier dans mon projet java ? |
|
|
00
|
|
|
#13 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
En fait, dans l'exemple que je t'ai donné, ajoutes après cette ligne :
Code Java :
EngineConfig config = new EngineConfig(); Code Java :
config.setResourcePath("C:/MonProgramme/ressources/"); /!\ Attention, le chemin doit être absolu !!! |
|
|
00
|
|
|
#14 |
|
Membre confirmé
![]() Inscription : septembre 2005 Messages : 508 ![]() |
MERCIIIIIII.......... ca y est ca marche !!!! il manquait la ligne setResourcePath |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com