Internacionalização com properties e VRaptor

20 respostas
R

Olá pessoal!

Eu sempre tive um pequeno problema para entender como que funciona o Message.properties.

Certo que é uma variável e o valor dela depois

Porém não sei começar um desses e nem como faço para trocar de um para o outro (de Português para Inglês, por exemplo).

Eu estou usando o VRaptor no meu projeto e ja gostaria de implementar o messages antes que fique tarde demais.

Obrigado.

20 Respostas

L

o nome do arquivo tem que ser todo em minúsculo “messages.properties”

para usar, coloque isso no seu web.xml:

<context-param>
		<param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
		<param-value>messages</param-value>
	</context-param>
	<context-param>
		<param-name>javax.servlet.jsp.jstl.fmt.locale</param-name>
		<param-value>pt_BR</param-value>
	</context-param>

e use a taglib fmt para pegar as chaves do messages.properties

R

Então o VRaptor as usa automaticamente? Essa a tag fmt é o setLocale, certo? Mas aí os nomes exijem um certo padrão?

Então para trocar de um para o outro é só eu alterar o setLocale, certo?

L

fmt:message, não o set locale,

e sim, o vraptor tb usa isso

R

Mais uma dúvida… Aonde exatamente eu coloco o meu messages.properties?

L

qualquer source folder

R

Ainda não consegui fazer funcionar… Estou vendo o código do My Dvds, mas está muito dificil de entender como que é setado o locale.

L

vc quer mudar o locale? ou quer usar um default?

fmt:setLocale já resolve

R

Gostaria primeiro de conseguir fazer um default funcionar… Mas não entendi como fazer ainda…

L

o default eu já passei, é aquela configuração do web.xml

R

Eu tentei esse, mas não funciona, eu preciso dizer aonde está o meu properties em algum lugar?

L

ele tem que estar no classpath, só isso. basta colocar no mesmo lugar onde vc coloca suas classes java

R

Não deu… na minha tela aparece isso: ???rotulo.menu.Principal???

L

vc tem essa chave no seu messages.properties?

R

Tenho: rotulo.menu.Principal=Home

G

Preste anteção que o arquivo messages.properties devem estar em algum source-folder (normalmente /src). Quando você fazer o build, verifique se esse arquivo está sendo copiado para o WEB-INF/classes/messages.properties.

R

Uma perguntinha… Que build é esse? É que nem o Build Path?

Editando:

Eu consegui fazer funcionar com somente um message properties (não sei como…) mas como que eu faço para poder trocar?

E como que eu faço essa tag <fmt:message key="msgBuscar"/> funcionar dentro de um atributo?

Assim dá erro…

M

opa rafael, blz?

bem, eu tbm tava perdidão nesse assunto e consegui me orientar por aqui: http://blog.caelum.com.br/i18n-internacionalizacao-com-jstl/

vai esclarecer e muito.

R

Obrigado maaarkin. Mas esse tópido tem 2 anos… Eu já consegui esclarecer isso… :smiley:

M

perdão, nao havia visto o tempo, estava procurando outro material mais especifico e como vi isso, decidi colaborar kkk.

D

Criado 28 de março de 2011
Ultima resposta 24 de fev. de 2014
Respostas 20
Participantes 5