Internacionalização com properties e VRaptor

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.

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

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?

fmt:message, não o set locale,

e sim, o vraptor tb usa isso

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

qualquer source folder

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.

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

fmt:setLocale já resolve

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

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

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

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

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

vc tem essa chave no seu messages.properties?

Tenho: rotulo.menu.Principal=Home

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.

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…

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.

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

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