|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre éclairé
![]() Inscription : mars 2007 Messages : 485 ![]() |
Bonjour,
Je ne sais pas pourquoi, j'ai un document généré sous JasperReports qui utilise les fichiers properties en fonction de la locale passée en paramètre au moteur de Jasper. Le problème est le suivant: J'ai les fichiers properties (report.properties, report_fr.properties, report_nl.properties, report_de.properties). Le fichier report.properties contient les textes en anglais. Le problème est que pour toutes les langues FR, NL, DE Jasper prends bien le bon properties mais pour l'anglais, il ne prends pas le properties par défaut mais prends le report_fr.properties. Donc le rapport s'affiche en français. Serait-ce un comportement normal en Java ? Merci d'avance pour votre aide. |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() Développeur Java/Web Inscription : avril 2002 Messages : 12 657 ![]() |
Salut,
Cela dépend de la manière dont l’internationalisation est géré par JasperReports. La seule manière d'être sûr étant de se plonger dans la documentation de l'outil... Je crains qu'en ne trouvant pas de "report_en.properties", il change de locale en utilisant celle du système (qui doit sûrement être FR). a++
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java |
|
00
|
|
|
#3 |
|
Membre éclairé
![]() Inscription : mars 2007 Messages : 485 ![]() |
|
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : janvier 2007 Messages : 1 331 ![]() |
Je confirme, et c'est normal en java :
http://docs.oracle.com/javase/1.4.2/...ClassLoader%29 Tu as ici en fait une incohérence : pour Java, tu veux utiliser en comme locale par défaut, et c'est pour cela que tu ne mets pas de fichier _en et que le fichier basename.properties contient de l'anglais, et pourtant ta locale système est le français. A cela, deux solutions : - Changer ta locale système (je conseille fortement pour les applis internationalisées d'avoir les serveurs et les postes de développement en anglais) - Forcer la locale par défaut à utiliser en "en" (voir par exemple http://stackoverflow.com/questions/8...ale-for-my-jvm) Dans les deux cas, attention aux effets de bord potentiels !!! Tout le code où la locale n'est pas spécifiée et qui se base sur la locale système (ce qui est normalement à proscrire mais se trouve très souvent) va potentiellement changer de comportement !
__________________
Program manager chez TraceOne. http://www.traceone.com |
|
|
00
|
|
|
#5 |
|
Membre éclairé
![]() Inscription : mars 2007 Messages : 485 ![]() |
En effet, je n'imagine même pas de changer la langue du système là où il y a le serveur applicatif. Il risque d'avoir des effets de bord déjà au niveau application <=> DB.
![]() Je ne pensais pas que ça allait être aussi tordu. |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Inscription : janvier 2007 Messages : 1 331 ![]() |
Le plus simple est peut être de te mettre en phase avec le système alors.
Pourquoi ne pas renommer report.properties en report_en.properties et report_fr.properties en report.properties ? Tu comptes te servir de la notion de locale par défaut ? Pour essayer de t'aiguiller vers une solution, il faudrait que tu nous dises un peu les cas possibles que tu souhaites gérer.
__________________
Program manager chez TraceOne. http://www.traceone.com |
|
|
00
|
|
|
#7 | |||
|
Expert Confirmé Sénior
![]() ![]() Développeur Java/Web Inscription : avril 2002 Messages : 12 657 ![]() |
Citation:
Je tombe toujours pile poil dans le cas où la locale par défaut est la locale système, mais c'est bon à savoir ! Par contre il y a moyen de controller cela si on a accès au code qui crée les ResourceBundle, en spécifiant qu'on ne souhaite pas utiliser de locale de secours : Code :
a++
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java |
|||
|
00
|
|
|
#8 |
|
Membre Expert
![]() Inscription : janvier 2007 Messages : 1 331 ![]() |
Ah ben c'est bon à savoir, je ne connaissais pas le control (c'est nouveau en 1.6 et pas eu l'occasion depuis d'utiliser des bundle autrement qu'avec un framework) !!
__________________
Program manager chez TraceOne. http://www.traceone.com |
|
|
00
|
|
|
#9 | |
|
Expert Confirmé Sénior
![]() ![]() Développeur Java/Web Inscription : avril 2002 Messages : 12 657 ![]() |
Citation:
Perso je les avais utilisé pour gérer des fichiers proprerties en UTF8 a++
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com