Projets
Pages enfant
  • 3.1 Internationalisation

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Astuce
titleRelu

Relecture RB faite le 17/02/2011

L'internationalisation est native dans esup-commons. L'intérêt n'est pas seulement de fournir une application en plusieurs langages... L'externalisation de toutes les chaînes de caractères et la possibilité d'utiliser simultanément plusieurs fichiers de chaînes (les bundles) permettent de simplifier la personnalisation des applications par les administrateurs.

...

L'internationalisation est définie dans le fichier de configuration /properties/i18n/i18n.xml. On y trouvera par exemple :

Bloc de code
xml
xml
<bean
    id="i18nService"
    class="[org...]esupportail.commons.services.i18n.BundlesCachingI18nServiceImplResourceBundleMessageSourceI18nServiceImpl">
  <property name="messageSource" ref="msgs" />
</bean>

<bean id="msgs"
  <property class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
  <property name="bundleBasenamesbasenames">
      <list> <list>
      <value>properties     <value>classpath:properties/i18n/bundles/Commons<Custom</value>
      <value>properties     <value>classpath:properties/i18n/bundles/Messages</value>
      <value>properties     <value>classpath:properties/i18n/bundles/Custom</value>
    </list>
  </property>
</bean>
Commons</value>                
    </list>
  </property>
  <property name="cacheSeconds" value="60" />
</bean>

i18nService

  • La propriété messageSource fait référence à l'implémentation Spring du son mécanisme de ResourceBundleMessageSource

msgs

  • Le nom du bean lui même est important car il est notamment utilisé dans les vues JSF
  • La propriété basenames

La propriété bundleBasenames donne la liste des fichiers de messages à utiliser. Chaque valeur de la liste correspond à la racine du chemin du fichier de message dans le classpath. Par exemple, on cherchera pour la valeur Custom les fichiers Custom_<locale>.properties ou à défaut Custom.properties.Par convention, on groupera tous les fichiers de messages dans le répertoire /properties/i18n/bundles.

...