Comando locale no Linux (localização e internacionalização) [Guia Básico]

O comando locale no Linux trabalha com as variáveis ambientais que definem a internacionalização do sistema, como caracteres, datas e numeração.

O Linux mantém uma lista de variáveis ambientais para definir os padrões de internacionalização de linguagem, formato dos números, formato das horas, formato de data, formato de moeda, dentre outros.

As variáveis são:

  • LC_COLLATE: define caráter ou informações de agrupamento string;
  • LC_CTYPE: define o tipo de codificação de caracteres;
  • LC_MONETARY: define como os números são escritos, se usam ponto ou vírgula para separar as casas;
  • LC_MESSAGES: define o formato de respostas afirmativas e negativas;
  • LC_NUMERIC: define uma lista de regras e símbolos para a formatação de informações não-numérico monetária;
  • LC_TIME: define como as horas são escritas;
  • LC_ALL: define um padrão que tem as demais definições acima.

locale

O comando locale informa estas variáveis ambientais.

$ locale
LANG=pt_BR.UTF-8
LANGUAGE=
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=pt_BR.UTF-8

A variável LC_ALL pode ser utilizada para configurar todas as demais.

A opção “–a” fornece a lista de localizações possíveis:

$ locale -a
en_US.utf8
pt_BR.utf8

Nem sempre a localização pretendida pode estar disponível no sistema. Se ela não aparecer com a opção “-a” do comando locale, é necessário gerar a localização.

Para ver a lista de todas as localizações que podem ser geradas, verifica-se o conteúdo do arquivo /etc/locale.gen:

$ cat /etc/locale.gen
# aa_DJ ISO-8859-1
# aa_DJ.UTF-8 UTF-8
# aa_ER UTF-8
( ... )

Para gerar a localização pretendida e conseguir usar na variável LC_ALL, usa-se o comando locale-gen para gerar a localização:

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

Para alterar a configuração de localização, basta alterar a variável LC_ALL:

$ export LC_ALL=pt_BR.UTF-8

Como a localização é configurada por variáveis de ambiente, elas precisam estar no script de carga do shell ou no profile para que fiquem permanentes no sistema.

Comando localectl

O serviço localectl do systemd pode ser usado para consultar e alterar a localidade do sistema e as configurações de layout do teclado.

Este serviço pode ser usado para controlar as configurações de idioma dos serviços do sistema e da interface do usuário antes que o usuário faça login.

Exemplo:

Para visualizar a localização configurada:

$ localectl status
   System Locale: LANG=en_US.UTF-8
       VC Keymap: n/a
      X11 Layout: n/a

Para alterar a localização:

$ sudo localectl set-locale LC_TIME=en_IN.UTF-8

Aprenda muito mais sobre Linux em nosso curso online. Você pode efetuar a matrícula aqui. Se você já tem uma conta, ou quer criar uma, basta entrar ou criar seu usuário aqui.

Gostou? Compartilhe