Questão Como faço para adicionar locale ao servidor Ubuntu?


Atualmente tenho esses locais:

locale -a

C
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZW.utf8
POSIX

Como posso instalar? ru_RU localidade para o meu servidor?


158
2017-11-06 10:24


origem




Respostas:


  1. verifique quais locales são suportados:

    locale -a
    
  2. adicione as localidades desejadas (por exemplo ru):

    sudo locale-gen ru_RU
    sudo locale-gen ru_RU.UTF-8
    
  3. execute este comando de atualização

    sudo update-locale 
    

224
2017-11-06 17:08



...então corra sudo update-locale - Justin Force
O que você faz se não for suportado? - Kimble
Você poderia, por favor, expandir o porquê de ambos ru_RU e ru_RU.UTF-8 necessário? Eu não sei muito sobre as localidades. - Sopalajo de Arrierez
Se você trabalha com php5-fpm, precisará sudo service php5-fpm restart - Stalinko
Isso era exatamente o que eu precisava, mas tive que reiniciar o Apache para que funcionasse ... obrigado! - Jabari


Eu iria para outra rota, que é mais adequada para o estilo do Ubuntu. Use os pacotes fornecidos. Existem pacotes para cada local, e eles fazem todo o trabalho para você ... não há necessidade de editar arquivos / var, que eu sempre acreditei que não deveriam ser editados manualmente.

sudo apt-get install language-pack-XX

onde XX representa o código do idioma. A instalação de um idioma também instalará todas as variantes específicas do país (por exemplo, instalando o pacote de idiomas, ele instalará it_CH.utf8 e it_IT.utf8, a instalação para NL instalará nl_AW, nl_AW.utf8, nl_BE.utf8 e nl_NL.utf8 ).


48
2018-01-21 13:38



Eu acho que este é o melhor e mais "Ubuntu" de fazer isso - Luke Madhanga
Mas gerar as localidades fornece coisas como formato de data localizada, separador decimal, conjuntos de caracteres, etc. Os pacotes de idiomas também fornecem traduções, o que não é necessariamente a intenção. - Oskar Berggren
Concordo com Oskar. Ainda mais forte se você considerar que esta instalação é para um servidor - a maioria das interfaces estará em inglês de qualquer maneira. - igorsantos07
Eu estava com medo de que isso também mudança o local atual, mas não. Tudo está bem. Parece o melhor imo approch. Eu não particularmente necessidade "traduções ou outras coisas", mas se eu especificamente usar uma localidade por algum motivo, espero que seja completo. - Balmipour


  1. verifique quais locales são suportados:

    less /usr/share/i18n/SUPPORTED
    
  2. Adicionar localidade à lista de gerados

    echo ru_RU.UTF8 >> /var/lib/locales/supported.d/local
    
  3. Regenerar lista (invocará locale-gen ...)

     sudo dpkg-reconfigure locales
    

40
2018-01-14 16:54



Eu tive que adicionar a segunda coluna: echo ru_RU.UTF-8 UTF-8 >> /var/lib/locales/supported.d/local (UTF-8 ocorre duas vezes) no Ubuntu 15.04. Caso contrário, funciona. - jfs


Eu encontrei locale-gen para ser seu amigo. como em (adicionando hebraico utf8 por exemplo):

root@world:~# locale-gen he_IL.UTF-8

você pode até refazer assim:

root@world:~# dpkg-reconfigure locales

e verifique se você fez bem:

root@world:~# locale -a

Eu encontrei esta solução muito mais simples do que adicionar coisas a arquivos de texto, mesmo que seja o que faz.


16
2017-07-18 09:10





echo ru_RU.UTF8 >> /var/lib/locales/supported.d/local

Recebo a seguinte mensagem no ponto 3: "Erro: entrada incorreta 'ru_RU.UTF8'"

Esse trabalho pra mim:

echo ru_RU.UTF-8 UTF-8 >> /var/lib/locales/supported.d/local

5
2018-01-21 15:56





Use pacotes de idiomas do Ubuntu. Todos os idiomas suportados estão disponíveis nos repositórios padrão:

apt-cache search language-pack

Um exemplo completo de mudança de localidade na versão do Ubuntu (servidor):

jani@example:~$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"

Todas as localidades disponíveis (por exemplo, já instaladas) podem ser listadas com:

locale -a

Meu local atual é en_IE:

jani@example:~$ locale
LANG=en_IE.UTF-8
LANGUAGE=
LC_CTYPE="en_IE.UTF-8"
LC_NUMERIC="en_IE.UTF-8"
LC_TIME="en_IE.UTF-8"
LC_COLLATE="en_IE.UTF-8"
LC_MONETARY="en_IE.UTF-8"
LC_MESSAGES=POSIX
LC_PAPER="en_IE.UTF-8"
LC_NAME="en_IE.UTF-8"
LC_ADDRESS="en_IE.UTF-8"
LC_TELEPHONE="en_IE.UTF-8"
LC_MEASUREMENT="en_IE.UTF-8"
LC_IDENTIFICATION="en_IE.UTF-8"
LC_ALL=
jani@example:~$ date
Sat Nov  1 15:36:51 UTC 2014
jani@example:~$

Porque eu não tenho ru locales eu tenho que instalar o pacote de idioma ru:

jani@example:~$ sudo apt-get -y install language-pack-ru
[..]
Generating locales...
  ru_RU.UTF-8... done
  ru_UA.UTF-8... done
Generation complete.
jani@example:~$ 

Agora as localidades ru estão disponíveis. A localidade padrão do sistema é definida pela edição /etc/default/locale:

jani@example:~$ sudo vi /etc/default/locale
# Created by cloud-init v. 0.7.5 on Mon, 27 Oct 2014 18:46:13 +0000
LANG="ru_RU.UTF-8"
LC_MESSAGES=POSIX
jani@example:~$

Faça o login novamente e verifique sua nova localidade:

jani@example:~$ locale
LANG=ru_RU.UTF-8
LANGUAGE=
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES=POSIX
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
jani@example:~$ date
Сб. нояб.  1 15:43:45 UTC 2014
jani@example:~$ 

4
2017-11-01 16:07





Modificar /etc/locale.gen, descomentando ou adicionando as localidades que você deseja gerar. Então corra sudo locale-gen.

Você pode verificar se as localidades são adicionadas locale -a, que mostrará todas as localidades.


2
2018-01-20 19:12



oh, meu locale-gen criou um monte de locales, ignorando o arquivo locale.gen. Portanto, use este conselho com cautela. - Dzenly


  1. Verifique quais locais já estão suportado na sua distribuição. Abra ou cat o arquivo /usr/share/i18n/SUPPORTED e copie o local desejado para ser adicionado.
  2. no terminal enter sudo locale-gen locale_name.

    Por exemplo sudo locale-gen de_DE.iso885915@euro

  3. entrar sudo update-locale

  4. Verifique se a localidade está instalada com locale -a


0
2018-04-14 13:50





Eu fiz as coisas de uma maneira semelhante para aplicar o sistema local sem reiniciar ou ter que sair.

Primeiro, baixe o pacote de idiomas:

sudo apt-get install language-pack-ru-base

Em seguida, verifique quais versões são suportadas:

less /usr/share/i18n/SUPPORTED | grep ru_RU

Agora, aplique o resultado (quase sempre use a versão UTF-8 para praticamente qualquer idioma!):

echo 'ru_RU.UTF-8 UTF-8' | sudo tee /var/lib/locales/supported.d/local
sudo dpkg-reconfigure locales

Por fim, atualize seu arquivo de padrões, forneça-o e pronto:

echo 'LANG=ru_RU.UTF-8' | sudo tee /etc/default/locale

aplicar as alterações ao sistema:

. /etc/default/locale
LANGUAGE=ru_RU.UTF-8

e verifique seus resultados:

locale

-2
2017-12-11 19:25



Nota: Se você estiver executando regular Ubuntu e não Servidor Ubuntu, as mudanças não vão passar além do console (se você decidir abrir uma nova aba ou fechar o terminal) até depois da próxima vez que você fizer o login. No entanto, usando o servidor Ubuntu você normalmente tem que entrar para abrir um novo console de qualquer maneira, então não importa. - mchid
Esta questão é tagget com servidor. E quem e por que downvoted este, por favor explique. - Nikos Alexandris