Autor |
Mensagem |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 22/06/2007 17:14:06
|
bruno.braga
Equipe
![[Avatar]](/forum/images/avatar/33e75ff09dd601bbe69f351039152189.png)
Membro desde: 22/06/2007 17:11:08
Mensagens: 6
Localização: Belo Horizonte, MG
Offline
|
Fala povo...
Na documentação de componentes senti falta de algo que falasse sobre internacionalização (i18N).
Tanto uma tag de i18n, quanto o uso de i18n em outros componentes como Menu.
Tem isso?
|
http://www.brunobraga.com.br
http://www.j2eespider.org |
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 22/06/2007 17:20:13
|
pedro.goncalves
Equipe
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline
|
Ae bruno.. tranquilo??
Cara.. ainda não fizemos isso não, mais já está na lista de pendências. Se tu quiser dar uma ajudada seria legal..
mais vamos ver se conseguimos resolver isso o mais rápido o possível.
E obrigado pela visita. =p
|
Pedro Gonçalves
http://pedrogoncalves.com.br
 |
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 22/06/2007 23:22:18
|
pedro.goncalves
Equipe
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline
|
Bruno,.. você que já trabalhou com tantos frameworks, teria como dizer qual o melhor esquema de internacionalização?
ou sugerir algum esquema para que possamos colocá-lo em testes e etc..
Té!
|
Pedro Gonçalves
http://pedrogoncalves.com.br
 |
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 22/06/2007 23:41:58
|
bruno.braga
Equipe
![[Avatar]](/forum/images/avatar/33e75ff09dd601bbe69f351039152189.png)
Membro desde: 22/06/2007 17:11:08
Mensagens: 6
Localização: Belo Horizonte, MG
Offline
|
Não precisa alterar nada na forma de usar os componentes.
<menu title="menu.cadastro">
<menu title="menu.aluno" url="/login/crud/Aluno" />
<menu title="menu.bolsista" url="/login/crud/Bolsista" />
<menu title="Cliente" url="/login/crud/Cliente" />
</menu>
Pode ficar assim mesmo para manter a compatibilidade das tags.
Ai o componente procura menu.aluno no arquivo de resources e mostra a mensagem do arquivo.
Se não encontrar (caso do 3 item do menu), o componente pode exibir o texto que está em title mesmo.
Então o mesmo menu sem atributos adicionais funciona com internacionalização e sem.
-------------
Agora quanto ao arquivo de resources tem 2 paradigmas:
- Usar padrão Java, onde o arquivo de resources fica no Source, e a cada alteração tem reload da aplicação.
- Usar no estilo Mentawai, onde o arquivo fica em uma pasta dentro do WEB-INF. Então é possível alterar o arquivo a vontade sem reload. Nesse caso existe uma classe que fica analisando se esse arquivo foi alterado, e caso tenha sido o arquivo é aberto e lido - então as alterações refletem na hora.
As duas formas tem pontos negativos.
A primeira tem reload. Mas com a segunda você não pode usar jstl, nem usar código em Java (nativo) que le do arquivo de resource porque ele não existe. Então se fosse usar o segundo caso teria que implementar as suas tags de i18n e faz classes utilitarias para ler esse arquivo em vez de usar o Bundle padrão.
Sei lá, nessa parte eu não tenho opinião de qual é melhor não, pra mim as duas são ruins. Uma quebra compatibilidade, a outra é tosca - faz reload pq vc mudou um arquivo texto... hehe ^^
|
http://www.brunobraga.com.br
http://www.j2eespider.org |
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 23/06/2007 09:39:14
|
pedro.goncalves
Equipe
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline
|
Entendi...
mais e quanto a seleção de um locale?
como funciona?
você tem algum url para i18n do java?
|
Pedro Gonçalves
http://pedrogoncalves.com.br
 |
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 23/06/2007 20:48:15
|
bruno.braga
Equipe
![[Avatar]](/forum/images/avatar/33e75ff09dd601bbe69f351039152189.png)
Membro desde: 22/06/2007 17:11:08
Mensagens: 6
Localização: Belo Horizonte, MG
Offline
|
Seleção é automatica com base no computador do usuário (linguagem do usuário). Mas claro tem que ter uma forma de mudar de idioma.
Tenho link não.
|
http://www.brunobraga.com.br
http://www.j2eespider.org |
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 25/06/2007 12:33:12
|
pedro.goncalves
Equipe
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline
|
Vou dar uma estudada nisso e jaja te dou um feedback!
|
Pedro Gonçalves
http://pedrogoncalves.com.br
 |
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 26/06/2007 00:41:05
|
pedro.goncalves
Equipe
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline
|
Bruno!!
tranquilo cara??
Ai ... good News..
agora o neo suporta internacionalização!!!
se precisar de alguma tag me da um toque que monto.. amanha vou escrever um tutorial de como internacionalizar a aplicação...
Agora so falta o rógel dar uma revisão no código.. ae ele publica e avisa quando solta a versão!!
teh
|
Pedro Gonçalves
http://pedrogoncalves.com.br
 |
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 26/06/2007 00:50:02
|
bruno.braga
Equipe
![[Avatar]](/forum/images/avatar/33e75ff09dd601bbe69f351039152189.png)
Membro desde: 22/06/2007 17:11:08
Mensagens: 6
Localização: Belo Horizonte, MG
Offline
|
Bacana
|
http://www.brunobraga.com.br
http://www.j2eespider.org |
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 07/12/2007 16:34:22
|
froid
Equipe
Membro desde: 06/12/2007 16:32:45
Mensagens: 12
Offline
|
Olá
Gostaria de saber se já foi disponibilizado no NEO uma forma de internacionalização dos jsps?
obrigado
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 07/12/2007 22:13:13
|
pedro.goncalves
Equipe
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline
|
foi sim...
vou ver se libero um app com uma demonstração
|
Pedro Gonçalves
http://pedrogoncalves.com.br
 |
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 11/12/2007 16:48:22
|
froid
Equipe
Membro desde: 06/12/2007 16:32:45
Mensagens: 12
Offline
|
ok
fico na espera..
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 11/12/2007 21:19:34
|
pedro.goncalves
Equipe
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline
|
Vamos lá!
No seu src você cria os arquivos que farão a internacionalização. Ex:
i18n_pt_BR.properties
i18n_de_DE.properties
e o default que é o i18n.properties, que é usado caso não tenha setado nenhum locate por padrão, ou não foi encontrado o especificado.
O conteúdo é no formado:
Code:
onibus = Bus
onibus.cdonibus = Id
onibus.tipoonibus = Category
onibus.placa = Placa ing
onibus.arcondicionado = Air
onibus.tv = Tv
onibus.cafe = Cofee
menu.tipoonibus = Category of Bus
menu.onibus = Bus
Com as mesmas variáveis você irá criar os outros.. o pt_BR e etc..
Bom..
A partir disso você remova todas as annotations @DisplayName do seu bean.
Caso queira alterar o Default seta um parâmetro na sua url.. do tipo
/modulo/tipo/qualquercontroller?locale=pt_BR
/modulo/tipo/qualquercontroller?locale=de_DE
lembrando que esses nomes pt_BR são padronizados.. o primeiro antes do _ é o idioma e o segundo o país.. existem algumas tabelinhas ai que padroniza isso..
Bom.. espero ter esclarecido as suas dúvidas.
[]'s
|
Pedro Gonçalves
http://pedrogoncalves.com.br
 |
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 12/12/2007 15:11:26
|
froid
Equipe
Membro desde: 06/12/2007 16:32:45
Mensagens: 12
Offline
|
opaa
funcionou perfeitamente...
obrigado pedro
parabéns novamente pelo trabalho
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 13/12/2007 09:57:39
|
pedro.goncalves
Equipe
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline
|
Opa! Que isso.. estamos ai pra isso!!
Depois vou montar um artigo explicando melhor..
Só uma coisa que não disse..
se você quiser o locale atual use o código:
Util.locale.getLocaleSelected();
caso queira pegar alguma chave que esteja sendo internacionalizado, faz assim:
Util.locale.getBundleKey(String key)
Sendo que essa key é igual está no arquivo.. por ex. onibus.nome
sacou?
|
Pedro Gonçalves
http://pedrogoncalves.com.br
 |
|
 |
|