No momento, você parece ter alterado LC_CTYPE
, mas não LANG
Certifique-se de ter atualizado /etc/default/locale
corretamente. Então você poderia apenas source /etc/default/locale
após rodar o locale-gen.
UPDATE
Eu encontrei o problema. Eu preciso relogar depois de definir as variáveis de idioma. Mas o que eu estou querendo saber é: Como eu iria relogar dentro de um roteiro vagabundo? Isso é possível?
Introdução
Eu já li sobre esse problema em outros tópicos
locale não encontrado / localidade de configuração falhou - o que devo fazer?
mas isso não me ajudou realmente. A resposta aceita perguntou se a linha com o idioma desejado não está comentada em /etc/locale.gen
, o que é no meu caso, mas ainda não funciona.
O que estou tentando alcançar
Eu estou construindo uma caixa Vagrant com debian/jessie64
, que deve definir automaticamente as variáveis de idioma para alemão. Eu tenho locale.gen
arquivo na minha pasta vagrant que deve substituir o padrão em /etc/locale.gen
com este comando
sudo cp /var/www/project/www/vagrant_ressources/locale.gen /etc/
Estes são os conteúdos de locale.gen
de_DE ISO-8859-1
de_DE.UTF-8 UTF-8
de_DE@euro ISO-8859-15
en_US.UTF-8 UTF-8
Depois, estou regenerando os locais com sudo locale-gen
. Esta é a saída
Generating locales (this might take a while)...
de_DE.ISO-8859-1... done
de_DE.UTF-8... done
de_DE.ISO-8859-15@euro... done
Generation complete.
Agora estou tentando instalar um pacote sudo apt-get install -y php7.0-fpm
e estou recebendo o aviso
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = "de_DE.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Por que de_DE.UTF-8
aparece lá? Eu também quero fazer isso sem usar dpkg-reconfigure
porque este é um script que deve fazer tudo sem a entrada do usuário. E dpkg-reconfigure
simplesmente cria o arquivo locale.gen
, nada mais, certo?
Além disso, ao usar sudo dpkg-reconfigure locales
, as entradas do meu próprio arquivo locale.gen
já estão selecionadas. Então parece que parte disso funciona.
Ao digitar locale -a
, esses são os resultados
C
C.UTF-8
de_DE
de_DE@euro
de_DE.iso88591
de_DE.iso885915@euro
de_DE.utf8
deutsch
german
POSIX
No momento, você parece ter alterado LC_CTYPE
, mas não LANG
Certifique-se de ter atualizado /etc/default/locale
corretamente. Então você poderia apenas source /etc/default/locale
após rodar o locale-gen.