Configurar locale no CentOS

Post curtinho para lembrar como configurar locale no CentOS.

Locale é a variável de ambiente da localidade, que é a responsável pelo idioma usado no sistema… até escrevi um post sobre como configurá-la em ambientes Debian.

Porém recentemente precisei fazer mudanças no idioma do CentOS e não sabia onde configurar… depois de alguma pesquisa e perguntas, consegui fazer a mudança.

Editar o arquivo /etc/sysconfig/i18n (é sempre boa ideia fazer um backup do original!) e alterar as linhas para:

LANG=”pt_BR.UTF-8″
SUPPORTED=”en_US.UTF-8:en_US:en:pt_BR.UTF-8:pt_BR:pt”
SYSFONT=”latarcyrheb-sun16″

Depois de salvar o arquivo, executar logout e login para que as mudanças tenham efeito.

Ahn também tem o o pacote system-config-language (necessário instalar) que configura o locale sem que você tenha que editar o arquivo na mão.

 

Referências:

Anúncios

Configurando a variável de ambiente para localidade

Nesse post, vou falar sobre a variável de ambiente da localidade, que é a responsável pelo idioma usado no sistema. O pacote locales possui múltiplos idiomas e permite aos usuários utilizar o seu idioma, país, caracteres, etc.

Para checar se o pacote está instalado:

# dpkg -l | grep locales
ii  locales                           2.7-18                   GNU C Library: National Language (locale) data [support]

Se o pacote não estiver instalado:

# apt-get install locales

O pacote locales provê o comando locale, que é usado para checar os valores das variáveis de ambiente da localidade:

# locale
LANG=
LANGUAGE=pt_BR:pt:en
LC_CTYPE=”POSIX”
LC_NUMERIC=”POSIX”
LC_TIME=”POSIX”
LC_COLLATE=”POSIX”
LC_MONETARY=”POSIX”
LC_MESSAGES=”POSIX”
LC_PAPER=”POSIX”
LC_NAME=”POSIX”
LC_ADDRESS=”POSIX”
LC_TELEPHONE=”POSIX”
LC_MEASUREMENT=”POSIX”
LC_IDENTIFICATION=”POSIX”
LC_ALL=

Vejam na tabela abaixo, o significado de cada variável:

Tabela locale

Uma observação: Na variável LANG, pode ser especificado mais de um idioma; basta separar com ‘:‘, como visto em LANGUAGE. O inglês é identificado pelo código C e usado como padrão caso nenhum locale seja especificado.

No caso, as minhas variáveis estão setadas para o padrão (não tem nenhuma localidade específica); somente a variável LANGUAGE atende a minha localidade. Mas ainda assim, a linguagem padrão do meu sistema é o Inglês. Vejam:

# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0c:29:69:18:74
inet addr:172.16.105.129  Bcast:172.16.105.255  Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe69:1874/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:101 errors:0 dropped:0 overruns:0 frame:0
TX packets:97 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:12676 (12.3 KiB)  TX bytes:12529 (12.2 KiB)
Interrupt:18 Base address:0x1400

A saída do ifconfig está em inglês, vamos mudar para a localidade do Brasil. Para isso, vamos reconfigurar o pacote com o comando dpkg-reconfigure:

# dpkg-reconfigure locales

Será aberto uma tela questionando qual a localidade que se deseja usar. No caso, podemos percorrer a lista, localizar e selecionar pt_BR.UTF-8 UTF-8. Ao teclar OK, a próxima tela pede para confirmar qual locales deseja gerar; selecionamos pt_BR.UTF-8 e teremos uma saída similar a esta:

# dpkg-reconfigure locales
Generating locales (this might take a while)…
en_US.UTF-8… done
pt_BR.UTF-8… done
pt_BR.UTF-8… done
Generation complete.

Após isso, basta deslogar e logar novamente para checar o locale:

# locale
LANG=pt_BR.UTF-8
LANGUAGE=pt_BR:pt:en
LC_CTYPE=”pt_BR.UTF-8″
LC_NUMERIC=”pt_BR.UTF-8″
LC_TIME=”pt_BR.UTF-8″
LC_COLLATE=”pt_BR.UTF-8″
LC_MONETARY=”pt_BR.UTF-8″
LC_MESSAGES=”pt_BR.UTF-8″
LC_PAPER=”pt_BR.UTF-8″
LC_NAME=”pt_BR.UTF-8″
LC_ADDRESS=”pt_BR.UTF-8″
LC_TELEPHONE=”pt_BR.UTF-8″
LC_MEASUREMENT=”pt_BR.UTF-8″
LC_IDENTIFICATION=”pt_BR.UTF-8″
LC_ALL=

Checando novamente o ifconfig:

# ifconfig
eth0      Link encap:Ethernet  Endereço de HW 00:0c:29:69:18:74
inet end.: 172.16.105.129  Bcast:172.16.105.255  Masc:255.255.255.0
endereço inet6: fe80::20c:29ff:fe69:1874/64 Escopo:Link
UP BROADCASTRUNNING MULTICAST  MTU:1500  Métrica:1
RX packets:1129 errors:0 dropped:0 overruns:0 frame:0
TX packets:810 errors:0 dropped:0 overruns:0 carrier:0
colisões:0 txqueuelen:1000
RX bytes:107176 (104.6 KiB)  TX bytes:384835 (375.8 KiB)
IRQ:18 Endereço de E/S:0x1400

Vejam que agora a saída do comando está em Português! Também podemos configurar a localidade editando o arquivo /etc/locale.gen.

Esse arquivo guarda a lista das localidades; basta descomentar a linha da localidade desejada:

# vim /etc/locale.gen
pt_BR.UTF-8 UTF-8

Após salvar o arquivo, o sistema tem que reler novamente esse arquivo para setar a localidade que escolhemos. Isso é feito com o comando locale-gen:

# locale-gen
Generating locales (this might take a while)…
en_US.UTF-8… done
pt_BR.UTF-8… done
Generation complete.

É isso aí pessoas… nesse post fico por aqui. Até a próxima 🙂 !

Referências:
Personalização do Sistema
http://focalinux.cipsga.org.br/guia/avancado/ch-pers.html

Idioma
http://pgdocptbr.sourceforge.net/pg80/charset.html

Configuração do ambiente de computador
http://www.linguateca.pt/codificacoes/