Linguagem do Linux

Olá.

Tenho uma aplicação web que roda num servidor linux. Estou tendo alguns problemas de acentuação e datas na aplicação, pois o idioma do linux é inglês. Alguém sabe alguma forma, ou se existe alguma maneira de setar alguma variável no sistema operacional linux colocando a linguagem do sistema em português?

Obrigada,
Viviane

Você pode iniciar seu servidor de aplicações (se ele for Java, é claro) incluindo as seguintes opções para o Java: -Duser.language=pt -Duser.country=BR

(Como não sei o que você está usando, não posso lhe dizer com detalhes onde é que você tem de pôr essas opções de inicialização do Java.)

Ou você pode reconfigurar seu Linux para usar o “locale” português-Brasil. Para isso, consulte seu administrador de sistemas.

Estou usando java 5, com o tomcat 5.5.17. Onde coloco esta configuração “-Duser.language=pt -Duser.country=BR” que você disse?

Já tentamos colocar um export LANG=pt_BR, mas não funcionou.

Fiz um teste na minha máquina, que possui windows, configurei o idioma do meu sistema operacional para inglês e acontece o mesmo do servidor, que é em inglês. Queria achar alguma configuração no linux que faz a função de setar o idioma do sistema operacional.

Obrigada,
Viviane

Seu problema pode estar relacionado com os charsets. O java herda o charset em uso na plataforma e, por default, acaba sendo o UTF-8 em sistemas mais recentes.

Altere seu script de startup do TOMCAT para definir as variáveis de ambiente LC_ALL e LANG para variantes que não usem UTF, e sim ISO-8859-1.

Tá quase dando certo…
Agora a data é que não está no formato desejado, por exemplo 01/01/2007, está assim: 01-jan-2007.
Isso é alguma coisa no sistema operacional ou na JVM que tem que configurar. Fiz alguns testes rodando na minha máquina e quando mudo o formato da data no meu windows, consequentemente muda também na aplicação.

Essa formatação não é default (dd/MM/yyyy) e deve ser alterada na sua aplicação. (A formatação que você usou - MEDIUM - é d-MMM-yyyy no caso português-Brasil, e MMM-d-yyyy no caso inglês-Estados Unidos.)

Não entendi muito bem a sua resposta.

Explicando melhor, na jsp tenho isto:

<bean:write name=“element” property=“dtCadastro” format=“dd.MM.yyyy hh:mm:ss” />

E não funciona como deveria.

Esquisito. Confira para ver se na tal página onde aparece “01-jan-2007” você não usou o formato “dd-MMM-yyyy”. Realmente esquisito.