JSF 2.0 establece la configuración regional a lo largo de la sesión desde el navegador y programáticamente

¿Cómo puedo detectar la configuración regional de una aplicación basada en la solicitud inicial del navegador y utilizarla durante toda la sesión de exploración hasta que el usuario cambie específicamente la configuración regional y cómo fuerza esta nueva configuración regional a través de la sesión restante?

Cree un bean administrado con ámbito de sesión de la siguiente manera:

@ManagedBean @SessionScoped public class LocaleManager { private Locale locale; @PostConstruct public void init() { locale = FacesContext.getCurrentInstance().getExternalContext().getRequestLocale(); } public Locale getLocale() { return locale; } public String getLanguage() { return locale.getLanguage(); } public void setLanguage(String language) { locale = new Locale(language); FacesContext.getCurrentInstance().getViewRoot().setLocale(locale); } } 

Para establecer la configuración regional actual de las vistas, agréguela a la de su plantilla maestra.

  

Para cambiarlo, a a con opciones de idioma.

        

Para mejorar el SEO de sus páginas internacionalizadas (de lo contrario, se marcará como contenido duplicado), enlace el idioma a también.