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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| public class InternationalisationBean implements Serializable {
private static final long serialVersionUID = 1L;
private Locale locale;
private String langue;
public void changerLangue() {
// mise en forme de la langue
int index=this.langue.indexOf("_");
if(index>0){
String choixLangue=this.langue.substring(0,index);
String pays=this.langue.substring(index+1);
locale=new Locale(choixLangue,pays);
}else {
locale=new Locale(this.langue);
}
// chargement dynamique de la langue
UIViewRoot viewRoot=FacesContext.getCurrentInstance().getViewRoot();
viewRoot.setLocale(locale);
FacesContext.getCurrentInstance().getApplication().setDefaultLocale(locale);
// retourner automatiquement sur la page appelante
FacesContext context=FacesContext.getCurrentInstance();
String viewId= context.getViewRoot().getViewId();
javax.faces.application.ViewHandler handler = context.getApplication().getViewHandler();
UIViewRoot root= handler.createView(context, viewId);
root.setViewId(viewId);
context.setViewRoot(root);
}
public Locale getLocale() {
return locale;
}
public void setLocale(Locale locale) {
this.locale = locale;
}
public String getLangue() {
return langue;
}
} |
Partager