Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Mensagem permanece em Inglês mesmo após reversão do idioma para Português.

Boa noite!

Após mudar o idioma do Chrome para Inglês e as mensagens aparecerem corretamente, quando eu mudo novamente para português a mensagem ainda permancem em Inglês. Já limpei o cache, revisei o arquivo de properties e também a JSP e aparentemente está tudo OK...

Agradecido pela atenção Rodrigo Pereira

4 respostas

Fala Rodrigo, tudo bem ?

Tente inspecionar a requisição usando o chrome dev tools. Inspect > Aba network > Faça a requisição > inspecione os detalhes da requisição clicando na uri no painel > Dê uma olhada em como está o header Accept-language da requisição. Coloque aqui como ele está pra poder dar uma olhada ..

Beleza, Rafael!

Está dessa forma:

Accept-Language:pt-BR,en-US;q=0.8,en;q=0.6,pt;q=0.4

solução!

Fala Rodrigo, tudo bem ?

Então. Imagino que você (assim como foi mostrado na aula) tem dois arquivos de mensagem: messages.properties onde estão as mensagens em português, e o messages_en.properties com as msgs em inglês.

Pois bem. Quando fizermos a requisição o browser envia esse conteúdo no header Accept-language pra dizer ao servidor em qual lingua ele está trabalhando.

Se o header mandar pt_BR, o servidor vai buscar o arquivo de mensagens com o sufixo pt_BR, e como ele não acharia (no nosso caso), acabaria pegando o arquivo padrão messages.properties onde tem as mensagens em português. No caso de mandar en (ou en_US) o browser busca o prefixo do idioma inglês, acha, e devolve mensagens em inglês.

Agora, o que eu creio que está ocorrendo é, como o browser manda dois idiomas pt_BR e depois en-US no header o servidor está procurando o primeiro (pt_BR) e como não está achando, ao invés de cair pro arquivo padrão que tem msgs em português, ele está buscando pelo segundo idioma no browser que devolve as mensagens em inglês.

Tente remover o idioma inglês do browser. Você verá que após isso o browser volta a mandar o Accept-language apenas com pt_BR, e aí creio que voltamos ao comportamento normal.

Espero ter ajudado. Abraço!

Rafael,

Com base no que você informou notei que era simplesmente questão de orientar a ordem dos idiomas que serão exibidos pelo Navegador.

Demorei a perceber isso pois no Chrome tem uma Flag na configuração de idiomas que pode enganar que diz: "Display Google Chrome in this language", e eu pensei que se configurava a Linguagem por ela, mas o que importa no final das contas é a ordem dos idiomas, apenas.

Obrigado pela Ajuda!