Definir .properties a ser usado no JSP

7 respostas
R

Fala galera…

seguinte, kero q meus JSPs busquem o texto dentro do arquivo .properties do idioma q eu definir…
tem como fazer isso??

tentei setar o Locale no response, mas nao funfou…

alguem tem ideias??

falow

7 Respostas

_fs

pt.properties
en.properties

Após saber o locale corretamente, qual a sua dificuldade em buscar o arquivo com o nome correto?

R

entao LIPE, eh q to fazendo assim p/ buscar o texto:

<portletAPI:text key="SSTNET.titulo.atuacao" bundle="nls.SSTNET"/>

acho q nao tem uma opcao da tag p/ passar o nome correto do arquivo ou se a opcao bundle aceita isso…testing now…

valew

saoj

Uma coisa que sempre me intrigou é que usando properties + ResourceBundle, isto é, a solução padrão de internacionalization, vc precisa dar um restart no servidor toda vez que vc faz alguma alteração nos seus properties.

Outra coisa chata é que ter um arquivo por língua, e um arquivo por JSP, logo se torna insustentável.

Por isso que aqui no ParPerfeito nós desenvolvemos uma solução caseira de internacionalização (adeus ResourceBundle), que de tempos em tempos checa se o arquivo properties for alterado no disco e recarrega ele em memória. Tb colocamos todas as línguas num único arquivo, para facilitar a organização. E tb fizemos um esquema de herança, de forma que se uma página não encontra uma palavra no seu properties, procura no properties de cima (pai).

Reinventei a roda mais uma vez ou o esquema de internacionalização padrão do Java, pelo menos para sites, é tosco mesmo?

maresp

Nunca utilizei o i18n no esquema de properties + resource bundle enquanto desenvolvia só jsp/servlets. Agora que estou em um projeto com ww a coisa fica parecida com o que vc detalhou mas sem misturar linguagens no mesmo arquivo.

saoj

Houve uma discussão, e eu fui contra misturar as linguagens no mesmo arquivo. Fui voto vencido e depois vi que é realmente bem melhor colocar tudo no mesmo arquivo. Tanto para a manutenção, quanto para as futuras traduções. Fica assim:

pt.frango = frango
en.frango = chicken
es.frango = polio

Depois quando vc precisa alterar ou incluir outras palavras, vc só vai estar mexendo em um arquivo apenas. Sem contar que a quantidade de arquivos fica o número de línguas que vc tem menor.

H

Então Sergio, terei que implantar i18n na minha aplicação, li seu topico e achei interessante sua ideia, voce fez isto baseado em algum artigo, site, tutorial…

Seria possivel detalhar mais sua alternativa, assim posso tentar fazer algo parecido…

Obrigado.

saoj

hijav,

A teoria eu já coloquei aui. Agora tu vai ter que botar sua cabeça pra pensar, pois solução pronta não existe, a não ser a minha que eu não posso te dar pois é da empresa. A graça de programar é essa né, fazer as coisas do nada…

:arrow: checagem de tempos em tempos do arquivo properties para saber se ele foi alterado (java.io.File). Se foi alterado recarregá-lo em memória.
:arrow: Colocar todas as linguas num único arquivo properties, diferenciando-as por um prefixo.
:arrow: Criar um esquema esperto de herança, ou seja, se não encontrar no properites da página em questão, procura num properties geralzão.
:arrow: Crie alguns tags espertos que sua i18n vai ficar profissional e transparente para o coitado do designer…

Tudo isso é legal se estamos falando de sites !!! Se vc está falando de um desktop application, a solução padrão com ResourceBundle resolve muito bem.

Criado 30 de setembro de 2004
Ultima resposta 5 de out. de 2004
Respostas 7
Participantes 5