Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.
@Named
@SessionScoped
public class UsuarioMB implements Serializable {
	private static final long serialVersionUID = 1L;
	private String userCSS = "estilo.css";
	private List<String> cssDisponivel;
	private String tema;
	private String linguaEscolhida="pt" ;
	private Locale locale;
	private int tabAtiva;
	public void inicializar() {
		cssDisponivel = new ArrayList<String>();
		cssDisponivel.add("estilo.css");
		cssDisponivel.add("estilo2.css");
	}
	public void alterarTema() {
		System.out.println("alterado para: " + tema);
	}
	public String alterarEstilo() {
		return null;
	}
	public String alterarIdioma() {
		locale = new Locale(linguaEscolhida);
		FacesContext instance = FacesContext.getCurrentInstance();
		instance.getViewRoot().setLocale(locale);
		return null;
	}
	public List<String> getCssDisponivel() {
		return cssDisponivel;
	}
	public void setCssDisponivel(List<String> cssDisponivel) {
		this.cssDisponivel = cssDisponivel;
	}
	public String getUserCSS() {
		return userCSS;
	}
	public void setUserCSS(String userCSS) {
		this.userCSS = userCSS;
	}
	public String getTema() {
		if (tema == null) {
			tema = "bluesky";
		}
		return tema;
	}
	public void setTema(String tema) {
		this.tema = tema;
	}
	public String getLinguaEscolhida() {
		return linguaEscolhida;
	}
	public void setLinguaEscolhida(String linguaEscolhida) {
		this.linguaEscolhida = linguaEscolhida;
	}
	public Locale getLocale() {
		if (locale == null) {
			locale = new Locale(linguaEscolhida);
		}
		return locale;
	}
	public int getTabAtiva() {
		return tabAtiva;
	}
	public void setTabAtiva(int tabAtiva) {
		this.tabAtiva = tabAtiva;
	}
	public void onTabChange(TabChangeEvent event) {
		TabView tabView = (TabView) event.getComponent();
		setTabAtiva(tabView.getActiveIndex());
	}
<message-bundle>br.com.confiabilidade.mensagens.Messages</message-bundle>
		<resource-bundle>
			<base-name>br.com.confiabilidade.mensagens.sistema</base-name>
			<var>mensagens</var>
		</resource-bundle>
		<locale-config>
			<default-locale>en</default-locale>
			<supported-locale>pt</supported-locale>
			<supported-locale>en</supported-locale>
		</locale-config>
	</application>
<p:selectOneMenu value="#{usuarioMB.linguaEscolhida}"> <----HERE
<f:selectItem itemValue="pt"
itemLabel="#{mensagens.internacionalizacaoPT}" />
<f:selectItem itemValue="en"
itemLabel="#{mensagens.internacionalizacaoEN}" />
</p:selectOneMenu>
<p:commandButton action="#{usuarioMB.alterarIdioma}" update="@form"
value="#{mensagens.internacionalizacaoTrocar}"/>
public String alterarIdioma() {
locale = new Locale(linguaEscolhida);
FacesContext instance = FacesContext.getCurrentInstance();
instance.getViewRoot().setLocale(locale);
System.out.println("lingua----> "+linguaEscolhida +"Local ----->"+locale.getDisplayName() +" --- "+ locale.getDisplayLanguage());
return null;
}
Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.
Have a better answer? Share it in a comment.
If you change
return linguaEscolhida; to
return "pt";
is it working?