Struts + Internacionalização

7 respostas
K

[size=9]Oi gente… eu estou com uma enorme dificuldade de fazer Internacionalização, li todos os tópicos aqui no fórum, peguei uma apostila no portaljava q tbm é divulgada aki e nada :frowning:
seguinte…
peguei o Struts-1.2.7 copiei os arquivos war p pasta WEBBapp como ensinada… td ok até aki… tudo funcionando. preparei 2 arquivos
.properties, como exemplo do tutorial dei o nome de:
application_pt.properties
application_en.properties

só q não consigo configurar meu aquivo XML p ler um desses properties
adicionei a linha
no struts-config.xml e nada!!

meu aquivo jsp está assim:
[color=green][i]<%@ taglib uri="/tags/struts-bean" prefix=“bean” %>
<%@ taglib uri="/tags/struts-html" prefix=“html” %>
<%@ taglib uri="/tags/struts-logic" prefix=“logic” %>
<html:html locale=“true”>

ERROR [/i][/color]

queria q o default fosse portugues e eu iria colocar um botao q se clicado iria pro site em ingles. Preciso muito dessa ajuda!
abraços p todos do GUJ!!
tenho aprendido muito aqui![/size]

7 Respostas

Mauricio_Linhares

Esses arquivos estão dentro de qual pasta?

K

coe mauricio…
criei uma pasta dentro do webapps com o nome
cadastro…
dentro dela tem o WEB-INF, META-INF e pages
é o padrão do struts-blank

abraços

A

Mauricio, no xml ao invés de por <message-resources parameter=“resources.application”/> no parameter poe o nome de seu arquivo. Exemplo: <message-resources parameter=“application_pt”/>.
Pa cada .propertie que vc tiver cria uma tag dessa. E o os arquivos properties poe no mesmo diretorio dos seus .java. Fiz assim no eclipse.
Espero ter ajudado.
Abraço,

Alberto

Sombriks

minha linha do struts-config que diz o nome dos arquivos de messages:

nome do arquivo default das keys:

meus struts é o 1.2.7;

Até onde eu li, se vc quiser um .preperties em outra lingua, fica:

depois “mapeia” eles:

e isso é o mínimo. lembrando que esses caras (.properties de internacionalização) ficam com as classes… Ah, e se vc tiver dois arquivos de keys, lembre-se que é bom que abos tenham as mesmas keys, mas com valores diferentes, claro.

hum, ademias eu acho q é o .jsp com as taglibs q vai indicar qual vai ser usando com:

e o uso das keys seu jsp já mostrou:

boa sorte.

K

eu ja adicionei as linhas no XML
minha duvida é como minhas paginas jsp’s sabem qual arquivo buscar.
gostaria q o default fosse idioma_pt.properties e teria um botao nas paginas q trocaria para o idioma ( idioma_en.properties ).
abraços.

tiagosilveira

kubanacan:
eu ja adicionei as linhas no XML
minha duvida é como minhas paginas jsp’s sabem qual arquivo buscar.
gostaria q o default fosse idioma_pt.properties e teria um botao nas paginas q trocaria para o idioma ( idioma_en.properties ).
abraços.

Ressucitei o Tropico hehe.
kubanacan conseguiu a resposta da tua duvida? Pq eu tenho a mesma se alguem souber poste ai vlw.

I

O arquivo de resource é selecionado pelo Locale que estiver dentro do request. Pelo menos é assim o comportamento default do Struts. Assim, quando um usuário muda a linguagem do navegador e ao fazer um novo request, o Struts irá verificar que locale veio e selecionar o arquivo correspondente, se houver. Caso não encontre um arquivo de resource para aquele Locale ele pode carregar o default, ou dar erro.

Descobri este tópico porque gostaria de desvincular a seleção do resource do request, bem pelo menos parcialmente. Ou seja, minha intenção é disponibilizar a lista de resources que houver (ESTE É O MEU PROBLEMA - NÃO SEI COMO) e deixar o usuário selecionar o novo “Locale” pela página e atualizar dentro do Struts:

//...
setLocale(req, new Locale(""));
//...

Bem, não quero ter de ler os arquivos diretamente do disco e ver que locales eles representam. Alguém sabe como alterar o arquivo de resource pela página (usuário) sem alterar o locale do browser? Grato T+

Criado 24 de julho de 2005
Ultima resposta 28 de jul. de 2006
Respostas 7
Participantes 6