Bonjour,
est-ce que vous savez comment internationaliser une application de façon dynamique dans JSF 1.2 ?
J'ai grosso modo créé 2 fichiers msg_fr.properties ( langue par defaut, français) et msg_en.properties ( langue anglaise)
Ensuite j'ai défini une méthode changeLangue() dans un Managed Bean qui permet de switcher la langue depuis la 1ère page de l'application.
Cette méthode est appelée dans un tag <h:commandLink>
J'ai evidemment modifié mon fichier faces-config.xml en conséquence.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public void changeLangue() { FacesContext context = FacesContext.getCurrentInstance(); // je teste un paramètre langue et en fonction je switch ... ... context.getViewRoot().setLocale(Locale.ENGLISH); //ou bien context.getViewRoot().setLocale(Locale.FRENCH); context.getApplication().setDefaultLocale(context.getViewRoot().getLocale());
En fait ça marche pour la page courante mais la Locale n'est pas propagée dans les pages suivantes de l'application.
La Locale par defaut de mon navigateur est l'anglais et du coup les pages suivantes sont tjrs en anglais, même
si j'ai switché en Français dans la 1ère page.
Savez-vous comment propager cette Locale à toutes les pages de l'application dans JSF 1.2 ?
Et est-ce qu'en JSF 2.0 l'internationalisation a été améliorée ?
Merci d'avance.
Partager