Mudando idioma das páginas por Link [Resolvido]

Galera,

Tenho um projeto que utilizo DisplayTag e JSTL, e nele tem a opção por Link de mudar o idioma entre Portuguẽs e Espanhol !!

Links:

<ul>
             <li><a href="./index.jsp?language=pt_br"><img src="./img/br.gif" border="0"/>&nbsp;<fmt:message key="lbl_portugues" /></a></li>
</ul>
<ul>
             <li><a href="./index.jsp?language=es"	><img src="./img/es.gif" border="0"/>&nbsp;<fmt:message key="lbl_espanhol"  /></a></li>
</ul>

Na página index.jsp, tenho o seguinte pra setar a linguagem escolhida:

<c:if test="${not empty param.language}">
	<fmt:setLocale value="${param.language}" scope="session"/>
</c:if>

O problema é o seguinte, onde uso <ftm:message key … />, que pega no arquivo messages_xx.properties (xx = idioma), FUNCIONA certinho, agora onde deveria pegar de displaytag_xx.properties NÂO FUNCIONA, como por exemplo os textos de paginação da displaytag.

Como setar o idioma escolhido pelo link na displaytag ??

Valew !!!

Desculpe, mas necessito muito disso pra liberar um projeto !!! Alguma idéia ??

Valew.

cara, dependendo de como está a arquitetura do seu projeto, o arquivo .properties que vc cria precisa estar configurado em um XML. Vc trabalha com XML???

Se sim, dá uma verificada se está configurado e se está configurado de maneira correta.

[]s

[quote=evandroshx]cara, dependendo de como está a arquitetura do seu projeto, o arquivo .properties que vc cria precisa estar configurado em um XML. Vc trabalha com XML???

Se sim, dá uma verificada se está configurado e se está configurado de maneira correta.

[]s

[/quote]

O único .properties que está configurado no meu web.xml é o usado pelo JSTL:

    &lt;context-param&gt;
        &lt;param-name&gt;javax.servlet.jsp.jstl.fmt.localizationContext &lt;/param-name&gt;
    	&lt;param-value&gt;messages&lt;/param-value&gt;
    &lt;/context-param&gt;

Teria que declarar o displaytag.properties tb ?? Como ??

Valew.

qual o problema de colocar todas as mensagens no mesmo arquivo properties??

você já olhou na documentação do display tag se ele permite esse tipo de recurso?
se na busca pelas mensagem ele procura o arquivo displaytag + locale?

Pq o message.properties é para uso do JSTL, ou seja, texto puro na página, onde vou usar a tag <fmt:message Key … /> pra trazer o texto de acordo com o idioma escolhido, por exemplo, <fmt:message key=“lbl_nome”/> onde lbl_nome = Nombre caso seja idioma espanhol.

Já o displaytag.properties é para subscrever os textos usados pela displaytag, veja o conteúdo do mesmo:

export.banner	<div class\="exportlinks">Exportar para\: {0}</div>

paging.banner.full	<span class\="pagelinks">[<a href\="{1}">Primero</a>/<a href\="{2}">Anterior</a>]{0}[<a href\="{3}">Pr&oacute;jimo</a>/<a href\="{4}">&Uacute;ltimo</a>]</span>
paging.banner.first	<span class\="pagelinks">[Primero/Anterior] {0}[<a href\="{3}">Pr&oacute;jimo</a>/<a href\="{4}">&Uacute;ltimo</a>]</span>
paging.banner.last	<span class\="pagelinks">[<a href\="{1}">Primero</a>/<a href\="{2}">Anterior</a>]{0} [Pr&oacute;jimo/&Uacute;ltimo]</span>

paging.banner.items_name		Registros
paging.banner.some_items_found	<span class\="pagebanner">{0} {1} encontrados,mostrando de {2} a {3}.</span>
paging.banner.all_items_found	<span class\="pagebanner">{0} {1} encontrados,mostrando todos {2}.</span>
paging.banner.one_item_found	<span class\="pagebanner">Uno {0} encontrado.</span>
paging.banner.no_items_found <span class\="pagebanner">No hay {0}.</span>

Porém o displaytag_es.properties só funciona se o navegador estiver no idioma espanhol, caso clico no link Espanhol só muda onde uso <fmt:message Key … />, já os textos da displaytag continum em português.

ok…entendi.

se não tiver mesmo como fazer isso (como você está dizendo), eu criaria uma taglib que iria acessar o arquivo da displayTag de acordo com o Locale.

Na taglib, você pode pegar o Locale através do request. Use a classe ResourceBundle para recuperar o arquivo properties.

Você já tentou fazer isso???

[quote=marcelo_mococa]ok…entendi.

se não tiver mesmo como fazer isso (como você está dizendo), eu criaria uma taglib que iria acessar o arquivo da displayTag de acordo com o Locale.

Na taglib, você pode pegar o Locale através do request. Use a classe ResourceBundle para recuperar o arquivo properties.

Você já tentou fazer isso???[/quote]

Não tenho nem idéia de como fazer isso, vc saberia de algum tutorial ??

Valew.

aqui tem um exemplo simples de como criar uma tag.
http://www.arquivodecodigos.net/arquivo/visualizar_dica.php?qual_dica=387

dê uma pesquisada na net que você vai achar muita coisa.

Resolvido:

Pessoal, eu tinha os arquivos displaytag_pt.properties e o displaytag_es.properties, então renomiei o primeiro para displaytag.properties e acresccentei a linha locale.resolver = org.displaytag.localization.I18nJstlAdapter.

Valew a todos.