Comme vous le savez peut-être l'internationalisation à base de ResourceBundle ne supporte que des fichiers .properties encodé en ISO-8859-1, il faut donc encoder les caractères spéciaux sous la forme \uxxx ce qui n'est pas très lisible lorsque vous utilisez des languages comme l'arabe ou le chinois. De plus, si vous voulez ou devez utiliser des fichiers .properties encodés en UTF-8 vous êtes bloqués dès que vous devez utiliser des caractères spéciaux.
Une première solution est de passer par des fichiers XML en spécifiant l'encodage UTF-8.
Néanmoins, Spring propose une solution avec la classe ReloadableResourceBundleMessageSource. En effet, avec cette classe on peut spécifier l'encodage utilisé pour les fichiers directement dans le mesageSource. En plus de cela, cette classe suppporte également le rechargement des fichiers properties soit à intervalle régulier soit en utilisant la méthode clearCache().
Il faut faire attention en passant à cette classe que les liens vers le(s) basename(s) se fait en utilisant des ressources Spring, donc en suivant la nomenclature de ces dernières.
Voici un exemple d'utilisation avec Spring :
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>classpath:org/project/i18n/messages</value>
<value>classpath:org/project/i18n/errors</value>
</list>
</property>
<property name="cacheSeconds" value="-1" />
<property name="fileEncodings" value="UTF-8" />
<property name="defaultEncoding" value="UTF-8" />
</bean>
Mettre cacheSeconds à -1 permet d'indiquer de ne pas chercher à recharger les fichiers .properties.
Vous devez être identifié pour poster un commentaire.
Avec ce blog, je vais vous tenir au courant de l'avancée de mes différents projets et de mes nouveaux tutoriels. Je vais aussi essayer de publier des news sur l'informatique en général et sur Java.
My English website
| Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Copyright © 2000-2012 - www.developpez.com