criei um projeto web e adicionei internacionalização, no meu notebook o texto do meu site aparece em pt br, se eu acesso do servidor aparece em inglês (idioma do servidor).
O meu problema é que eu quero que o texto apareça de acordo com o pc do usuário, na verdade eu programei para que isso acontecesse, mas não está.
Não precisa do “.getDefault()” após o “.getLocale()”
Verifique se os browsers testados realmente estão usando o locale que acha que estão.
Boa sorte.
Abraços.
C
ccefetpb
Obrigado por responder. Eu já tentei assim. Do jeito que vc disse, fica sempre em inglês.
J
jyoshiriro
Já depurou somente a parte request.getLocale() para ver se aparece o locale real do cliente?
C
ccefetpb
Sim, se eu uso getLocale o idioma que aparece no debug é US (inglês). se eu uso getDefault o idioma que aparece é BR (PORTUGUÊS).
C
ccefetpb
O problema é que mesmo usando getDefault o texto no servidor só aparece em inglÊs.
:\
J
jyoshiriro
Então… você não tem como testar o que acontece no teu servidor?
E o “.getLocale()” é o correto. O “.getDefault()” busca não o locale que o cliente está de fato usando e sim o locale padrão do mesmo. Por exemplo: Se instalou o FF em português brasileiro mas foi lá nas configurações e pediu para as solicitações serem enviadas em ‘en’. O '.getLocale()" vai retornar ‘en’ mas o ‘.getDefault()’ retornará ‘pt_BR’.
E não está faltando nenhum arquivo de texto na aplicação no servidor que está dando esse “bug”?
C
ccefetpb
Não tenho como testar o que está acontecendo no servidor :.
mas se o getDefault na minha máquina exibe em pt br e o getLocale exibe em inglÊs eu esperaria o mesmo comportamento no servidor.
Só que o getDefault continua exibindo em inglês.
Não está faltando nenhum arquivo no properties, pois se fosse esse o caso nem renderizava a página.
J
jyoshiriro
Se quando você testa localmente o “getLocale()” tá retornando inglês é porque seu navegador está enviando a solicitação “em inglês”. Sebes como ver/configurar isso no navegador que está usando para testes?
C
ccefetpb
Não, não sei, mas vê só o que eu quero capturar é o idioma do navegador do cliente. Imagino, que 99% das pessoas não configura o idioma das requisições, mas seleciona o idioma do navegador de acordo com seu próprio.
Há outra forma de capturar essa informação?
J
jyoshiriro
Então, amigo.
Vai ver que, por algum motivo, o navegador que você está usando está configurado para enviar a requisição usando “en”, entendeu?
Tentou fazer o teste com outros navegadores pra ver se para todos mostra em inglês? Pediu pra pessoas de outros micros testarem?
A forma de capturar essa informação é somente essa. A “outra” é “POG”: passar uma parâmetro de requisição dizendo seu próprio idioma.
C
ccefetpb
Já cara, já pedi para muitos amigos testarem, em diferentes pcs, diferentes navegadores, diferentes SOs. Sinceramente, eu acho que está certo, mas não está funcionando…
J
jyoshiriro
Olá.
Amigo, criei um Servlet simples e joguei num servidor linux em inglês.