[RESOLVIDO] Internacionalização Struts

Oi,

Estou tentando fazer a internacionalização e primeiramente a linguagem escolhida (pt/en) ele pega da linguagem do browser, mas tenho que deixar na página home a opção para o usuário mudar a linguagem desejada.

O nome dos meus arquivos são:
MessageResources_en_US.properties
MessageResources_pt_BR.properties

Configuração no struts config:

	<message-resources key="i18n_pt" parameter="MessageResources_pt_BR" />
	<message-resources key="i18n_en" parameter="MessageResources_en_US" />
	<message-resources parameter="MessageResources" />

Link da página do Home para o usuário escolher o idioma:

a href "mudaIdioma.action?idioma=pt_BR"PT
/a
a href="mudaIdioma.action?idioma=en_US"EN
/a

(coloquei sem os"<>" porque não estava aparecendo do jeito que queria

Peguei da apostila da Caelum o seguinte código:

public class MudaIdiomaAction extends Action {

	@Override
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request,
			javax.servlet.http.HttpServletResponse response) throws Exception {

		String idioma = request.getParameter(&quot;idioma&quot;);
		Locale locale = new Locale(idioma);
		System.out.println(&quot;Mudando o locale para &quot; + idioma);
		setLocale(request, locale);
		
		return mapping.findForward(&quot;ok&quot;);
	}
}

Esses códigos fazem exatamente o que preciso, só que tem um problema quando uso a classe descrita a cima o idioma vem certinho "en_US", mas quando ele é setado no locale fica tudo minúsculo "en_us" e meu arquivo chama-se: "MessageResources_en_US".
O mesmo me retorna: WARN org.apache.struts.util.PropertyMessageResources - Resource MessageResources_en_us.properties Not Found.

tentei colocar os arquivos de MessageResources tudo minúsculo, mas como esse é o padrão o mesmo me retorna o erro de que a key não foi encontrada em pt_BR.

Alguem tem uma idéia de como posso resolver isso?

Grata,

Viviane

Consegui já, tinah que mudar o código:


public class MudaIdiomaAction extends Action {

	@Override
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request,
			javax.servlet.http.HttpServletResponse response) throws Exception {

		String idioma = request.getParameter("idioma");
		System.out.println("Mudando o locale para " + idioma);

		if(idioma.equalsIgnoreCase("en_us")){
			Locale en = new Locale("en", "US");
			setLocale(request, en);
			System.out.println("mudou para en" );
		} else {
			if(idioma.equalsIgnoreCase("pt_br")){
				Locale pt = new Locale("pt","BR");
				setLocale(request, pt);
				System.out.println("mudou para pt" );
			}
		}
		 
		
		return mapping.findForward("ok");
	}
}