Internacionalização com properties e VRaptor

20 respostas
Rafael_Guerreiro

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

Lucas_Cavalcanti

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

Rafael_Guerreiro

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?

Lucas_Cavalcanti

fmt:message, não o set locale,

e sim, o vraptor tb usa isso

Rafael_Guerreiro

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

Lucas_Cavalcanti

qualquer source folder

Rafael_Guerreiro

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.

Lucas_Cavalcanti

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

fmt:setLocale já resolve

Rafael_Guerreiro

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

Lucas_Cavalcanti

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

Rafael_Guerreiro

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

Lucas_Cavalcanti

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

Rafael_Guerreiro

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

Lucas_Cavalcanti

vc tem essa chave no seu messages.properties?

Rafael_Guerreiro

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.

Rafael_Guerreiro

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.

Rafael_Guerreiro

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