Como obter o formato regional atual ou definido desejado no terminal?

4

Estou procurando comandos do terminal de linha única para:

  • verifique meu formato regional atual ou
  • defina o formato regional para inglês dos EUA.

Atualmente, para alterar isso, eu tenho que ir para Configurações- > Idioma Suporte- > Formatos regionais

(Distro: Ubuntu 14.04 LTS, deve preferencialmente trabalhar também em 16.04 LTS)

    
por Gertjan 06.04.2016 / 11:43

3 respostas

4

Os formatos regionais alteram as seguintes variáveis:

LC_NUMERIC
LC_TIME
LC_MONETARY

Você pode usar locale para verificar o formato atual definido.

ron@ron:~$ locale
LANG=en_US
LANGUAGE=en_US
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_US.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=en_US.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_ALL=

Se você quiser ver toda a localidade disponível no seu sistema, você pode usar:

ron@ron:~$ locale -a
C
C.UTF-8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8

Para alterar, por exemplo, o formato de data para os EUA, você pode usar:

LC_TIME=en_US.UTF-8 

Para alterar permanentemente:

sudo update-locale LC_TIME=en_US.UTF-8

Você também pode editar manualmente o arquivo /etc/default/locale em vez de update-locale , se desejar. As alterações serão aplicadas na próxima vez que você fizer login.

Consulte o link para saber mais. man 5 locale você terá mais opções para encontrar qualquer um dos formatos.

    
por Ron 06.04.2016 / 12:14
1

Você pode verificar a variável LANGUAGE no seu shell com:

echo $LANGUAGE

A saída para o meu sistema que está executando GB em inglês é:

en_GB:en
    
por Arronical 06.04.2016 / 11:46
1

Este comando define os formatos regionais para en_US.UTF-8 da mesma maneira que o Suporte a Idiomas:

dbus-send --print-reply --system --dest=org.freedesktop.Accounts /org/freedesktop/Accounts/User$UID org.freedesktop.Accounts.User.SetFormatsLocale string:'en_US.UTF-8'

Atualiza a configuração do usuário no serviço de contas e no arquivo ~/.pam_environment .

/etc/default/locale é atualizado apenas pelo suporte a idiomas se você clicar no botão Aplicar todo o sistema .

Não descobri o comando correspondente para verificar o formato atual.

Não posso deixar de me perguntar por que você quer fazer isso. Normalmente não é uma boa ideia mexer com essas configurações manualmente em um desktop do Ubuntu. Suporte de Idiomas faz a coisa certa.

    
por Gunnar Hjalmarsson 06.04.2016 / 18:33