Não é possível gerar o código de idioma en_US.UTF-8

8

Eu tenho tentado definir minha localidade en_US.UTF-8sem sucesso. Com base em outras respostas da Internet, primeiro devo gerar o código do idioma com

sudo locale-gen en_US.UTF-8

E depois aplique-o com

sudo dpkg-reconfigure locales

No entanto, correr locale-genfaz algo estranho:

user@Host /home/user $ sudo locale-gen en_US.UTF-8
Generating locales (this might take a while)...
  en_US.ISO-8859-1... done
Generation complete.

Como você vê, ele nunca gera UTF-8, mas continua caindo para ISO-8859-1. Eu nunca consigo definir LC_ALLcomo en_US.UTF-8, provavelmente porque não pode gerar.

Estou fazendo algo errado? Estou executando o Debian 8.1.

Erik S
fonte

Respostas:

28

Você tentou aplicar uma receita para o Ubuntu no Debian. Isso geralmente funciona, mas nesse caso específico não funciona.

O Ubuntu é derivado do Debian e não muda muito além do instalador e da GUI. O locale-gencomando é uma dessas poucas outras coisas que ele altera. Não sei porque.

No Debian, o locale-gencomando não aceita argumentos e gera novamente as definições de localidade compiladas de acordo com a lista configurada de localidades. Para modificar a seleção de códigos de idioma que você deseja usar, edite o arquivo /etc/locale.gene execute o locale-gencomando. Como alternativa, execute dpkg-reconfigure localescomo root, selecione os códigos de idioma adicionais que você deseja (e desmarque os que você não deseja) e pressione OK.

No Ubuntu, se você executar o locale-gencomando sem argumentos, ele regenera as definições de localidade compiladas de acordo com a lista configurada de locais. Mas se você passar alguns argumentos, eles serão adicionados à lista e gerados imediatamente. A lista de localidades é mantida /var/lib/locales/supported.d/local. A execução dpkg-reconfigure localesapenas regenera os códigos de idioma compilados sem lhe dar a oportunidade de modificar a seleção.

Em resumo, para adicionar en_US.UTF-8à lista de localidades utilizáveis:

  • Debian, interativo: dpkg-reconfigure locales
  • Debian, automatizado: sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen && locale-gen
  • Ubuntu, automatizado: locale-gen en_US.UTF-8
Gilles 'SO- parar de ser mau'
fonte
Então, como você adicionaria pacotes dpkg-reconfigure? Eu obtive a interface interativa, mas ao selecionar um item com enter, ele não foi instalado.
Erik S
@ErikDolor Não entendi sua pergunta. A menos que você tenha alterado as configurações do debconf, dpkg-reconfigure localesabre uma caixa de diálogo no modo de texto, com uma caixa de seleção para cada localidade que pode ser gerada. Role para baixo en_US.UTF-8, verifique e pressione o botão OK.
Gilles 'SO- stop be evil'
Tentei verificar com o botão Enter, mas isso aparentemente funcionou como pressionar OK.
Erik S
2
@ErikDolor Oh. Pressione Espaço para alternar uma caixa de seleção.
Gilles 'SO- stop be evil'
Também funciona para Jessie raspbian
Neo_Returns
5

Depois de realmente ler o arquivo man para locale-gen, em vez de confiar cegamente na Internet, descobri que locale-genrealmente leva os locais para gerar /etc/locale.gen. Ao descomentar en_US.UTF-8lá, eu consegui gerá-lo.

Erik S
fonte
sed -i '/^#.* es_ES / s / ^ # //' /etc/locale.gen Se você estiver usando janela de encaixe isso pode ser útil
Borjante
A única resposta que funcionou para mim depois de vasculhar a internet por dias! Muito obrigado!
usar o seguinte código