Como altero o código do idioma padrão no Ubuntu Server?

29

Eu tenho um servidor remoto que eu instalei e tenho tentado alterar sem êxito o código de idioma para francês por algumas horas. Abaixo estão os conteúdos dos meus arquivos de localidade:

/etc/default/locale:

LANG="fr_FR.UTF-8"
LANGUAGE="fr_FR.UTF-8"
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL="fr_FR.UTF-8

/var/lib/locales/supported.d/local:

fr_FR.UTF-8 UTF-8
en_US.UTF-8 UTF-8
en_GB ISO-8859-1
en_GB.UTF-8 UTF-8
en_GB.ISO-8859-15 ISO-8859-15
fr_BE.UTF-8 UTF-8
fr_CA.UTF-8 UTF-8
fr_CH.UTF-8 UTF-8
fr_LU.UTF-8 UTF-8
fr_FR ISO-8859-1

Tudo ainda está padronizado para datas em inglês e a moeda $ no meu aplicativo da web. Há algo mais que eu estou ignorando? Também devo mencionar que o dpkg foi reconfigurado e reiniciado o servidor após as alterações.

Dark Star1
fonte

Respostas:

57

Execute o comando locale- ele deve mostrar seu local atual.

Gere os códigos de idioma para francês:

sudo locale-gen fr_FR
sudo locale-gen fr_FR.UTF-8

Além disso, tente regenerar a lista de códigos de idioma suportados executando:

sudo dpkg-reconfigure locales

E atualize / altere o código do idioma padrão atual:

sudo update-locale LANG=fr_FR.UTF-8

Atualizar

Etapas extras para tentar:

  1. Experimentar:

    sudo update-locale LANG="fr_FR.UTF-8" LANGUAGE="fr_FR"
    sudo dpkg-reconfigure locales
    
  2. Talvez adicionar LANG e LANGUAGE em /etc/environmentpossa forçar uma alteração. Tente sair / fazer login ou reiniciar.

  3. localemostrará sua localidade atual para o usuário atual. Talvez valha a pena conferir esses arquivos apenas para garantir que nenhuma variável de idioma local esteja definida:~/.profile ~/.bashrc ~/.bash_profile

Mais informações:

Savvas Radevic
fonte
11
Só uma pergunta rápida. O sistema precisa ser reiniciado para que as alterações entrem em vigor?
Escuro Star1
11
Eu acho que um logout / login deve fazê-lo
Savvas Radevic
11
tente sudo update-locale LANG="fr_FR.UTF-8" LANGUAGE="fr_FR"e sudo dpkg-reconfigure locales. Por fim, talvez adicionar LANG e LANGUAGE em /etc/environmentpoderia forçar uma mudança. Tente reiniciar, talvez seja necessário para os serviços do servidor. :)
Savvas Radevic
11
sudo update-locale var=localee reiniciar funcionou para mim no servidor ubuntu 16.04.
Daniel
11
@ DarkStar1 Sobre a reinicialização do sistema, tive que reiniciar.
Alfonso Nishikawa
2

Eu tentei de tudo, desde sudo locale-gene sudo update-localepara sudo update-locale, e fazer manualmente entradas no /etc/default/localee /etc/environmentcom e sem reiniciar.

Nada parecia funcionar e meu código Python ainda estava lançando um erro Unicode no Ubuntu 18.04l. Finalmente modificando a variável de ambiente em ~/.bashrctrabalhado.

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8

Claro que não se esqueça de source ~/.bashrc

Sei que não é o caminho recomendado, mas nada mais funcionou para mim.

Abhimanu Kumar
fonte
É claro que isso deve ser feito no .bashrc de todos os usuários e também ser adicionado ao skelton para novos usuários .....
mckenzm
1

Você também tem que editar /etc/profile:

export LANG="en_US.utf8"
export LANGUAGE="en_US.utf8"
export LC_ALL="en_US.utf8"
Witek
fonte
Parece um comentário sobre a resposta de Abhimanu. Para criticar ou solicitar esclarecimentos a um autor, deixe um comentário abaixo da postagem. - Da avaliação
guntbert
Não é um comentário. É a solução, que funcionou para mim.
Witek