Another solution provided by Martin :
-----Message d'origine-----
De : Martin Marinschek [mailto:[EMAIL PROTECTED]
Envoyé : vendredi 26 août 2005 16:37
À : MyFaces Discussion
Objet : Re: TR : Dynamic Locale change
The solution would be quite similar to what was done in a collaborative effort
on the mailing list - install a phaselistener, store it in the session, restore
it from the session after the redirect.
regards,
Martin
-----Message d'origine-----
De : Clément Maignien
Envoyé : vendredi 26 août 2005 16:37
À : MyFaces Discussion
Objet : RE : TR : Dynamic Locale change
OK thx Gianni.
So if I sum up things :
2 solutions to dynamically change your application locale :
*1- If you use the server STATE_SAVING_METHOD with somes </redirect>
instructions : Create a bean to save the locale choice This bean must be in
session scope or request + saveState Then in each page of your application that
needs to be localized, add the locale parameter to them : <f:view
locale="#{localeBean.locale}">
*2- If you use the client STATE_SAVING_METHOD ( -> no </redirect> instructions)
: Use the UIViewRoot.setLocale(Locale l) method. For example :
FacesContext.getCurrentInstance().getFacesContext().getViewRoot.().setLocale(l);
Regards,
Clément
-----Message d'origine-----
De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Envoyé : vendredi 26 août 2005 15:48
À : MyFaces Discussion
Objet : Re: TR : Dynamic Locale change
I suggest you take a look at the list archives for "Maintain locale
across views".
I had a similar issue and it seems the locale is not maintained
across views when a <redirect/> is used.
In the end I set <f:view locale="#{visit.locale}">, where visit is a
session scoped bean.
Gianni
>
>> Sorry for asking so much questions but I'll have to present my webapp
>> very soon and I need the multi-language to works fine. Has anybody
>> any idea ? Why the locale is reset to the default
>> one ? Could it comes from a <redirect/> instruction in my faces-
>> config.xml ?
>> Ty for your help :D
>> Clément
>> -----Message d'origine-----
>> *De :* Clément Maignien
>> *Envoyé :* lundi 22 août 2005 18:18
>> *À :* MyFaces Discussion
>> *Objet :* Dynamic Locale change
>> Hi,
>> I'm trying to allow the application user to change the language of
>> my web app.
>> I did it the way it is done in the myFaces 1.0.9 examples : a
>> selectOneMenu with a choice of languages and an action button with
>> that code :
>> OptionBean {
>> ...
>> public String action {
>> ...
>> FacesUtil.setLocale(selectedLocale);
>> ...
>> }
>> ...
>> }
>> FacesUtil {
>> ...
>> public static void setLocale(Locale l) {
>> FacesContext.getCurrentInstance().getFacesContext().getViewRoot
>> ().setLocale(l);
>> }
>> ...
>> }
>> It works fine when the action is executed (the language change),
>> but as soon as I navigate to another page of the App, the language
>> is resetted to the default one. Why ?
>> NB : I'm trying not to use the /locale/ parameter of the /
>> f:view/ tag ...
>> Thx,
>> Clément.
>>
>
>