Eu escrevi um aplicativo Web para o qual a interface do usuário está em holandês. Eu uso as rotinas de data e hora do sistema para formatar seqüências de datas no aplicativo. No entanto, as strings de data que os formatos do sistema estão em inglês, mas eu as quero em holandês, então preciso definir o código do idioma do sistema. Como faço isso no Debian? Eu tentei configurar, LC_ALL=nl_NL
mas parece não ter nenhum efeito:
$ date
Sat Aug 15 14:31:31 UTC 2009
$ LC_ALL=nl_NL date
Sat Aug 15 14:31:36 UTC 2009
Lembro que definir LC_ALL no meu sistema de desktop Ubuntu funciona bem. Preciso instalar pacotes extras para fazer isso funcionar ou estou fazendo isso totalmente errado?
linux
debian
localization
Hongli Lai
fonte
fonte
sudo dpkg-reconfigure locales
.Respostas:
Edite
/etc/default/locale
e defina o conteúdo para:Você pode verificar quais localidades você gerou atualmente usando:
Você pode gerar mais editando
/etc/locale.gen
e descomentando as linhas dos códigos de idioma que deseja ativar. Então você pode gerá-los executando:Você pode encontrar uma lista de locais suportados em
/usr/share/i18n/SUPPORTED
Há mais informações disponíveis no wiki do Debian .
fonte
Pode ser necessário instalar o
locales
pacote. Isso perguntará quais localidades a serem geradas. Se já estiver instalado,dpkg-reconfigure locales
você poderá gerar mais localidades.fonte
sudo
como emsudo dpkg-reconfigure locales
.NONE
.As respostas aqui estão incompletas, como na maioria dos outros lugares. Depois de reunir as informações de alguns lugares, o que funcionou para mim foi: (1) garantir que o código do idioma desejado estivesse disponível (gerá-lo, se não estivesse); em seguida, (2) definir as variáveis de ambiente relacionadas ao código do idioma para o código do idioma desejado.
No meu caso, eu precisava
en_US.UTF-8
programaticamente (ou seja, não interativamente) instalado em um contêiner de docker. O ff realizou o que eu preciso, mas deve funcionar muito bem em um shell interativo.No mesmo shell, você precisará fazer
source ~/.bashrc
para que os envios entrem em vigor imediatamente. Você pode verificar se a localidade foi configurada corretamente chamandolocale
.Havia muitas entradas de perguntas e respostas sobre esse assunto, mas apenas algumas eram realmente úteis. Crédito onde o crédito é devido:
fonte
Nenhuma dessas respostas funcionou para mim, em um contêiner LXC instalado com:
Eu sempre obtive a seguinte saída
locale-gen
, ou seja, não gerando nenhum local (nenhum listado):A execução
dpkg-reconfigure locales
e a seleção de alguns códigos de idioma não foram atualizadas/etc/locale.gen
como eu esperava.No entanto, quando modifiquei esse arquivo manualmente e descomentei os códigos de idioma desejados,
locale-gen
comecei a funcionar corretamente:Também pude gerar localidades manualmente assim:
Mas essa não era uma solução permanente: descobri que a execução
locale-gen
sem a--keep-existing
opção excluirá todos os locais gerados manualmente, ou seja, todos os locais não listados (e não comentados) em/etc/locale.gen
.fonte
Para um aplicativo Web, pode ser melhor usar setlocale () dentro do programa, em vez de exigir que o código de idioma padrão do sistema seja definido adequadamente fora. Menos solto termina assim.
fonte
setlocale
não funcionará.Mas primeiro você precisa ter o pacote de idiomas necessário instalado. No meu VPS baseado em alemão, não havia nenhum pacote de idioma inglês pré-instalado. Então, primeiro verifique se você o instalou:
fonte
Para quem, como eu, no Ubuntu 14.04 LTS, não possui nenhum
/etc/locale.gen
arquivo, é possível adicionar um novo código de idioma/var/lib/locales/supported.d/local
e executar:sudo dpkg-reconfigure locales
Você também pode adicionar a localidade francesa (por exemplo) desta maneira (em vez de editar
/var/lib/locales/supported.d/local
):sudo locale-gen fr_FR fr_FR.UTF-8
para adicionar e gerar os conjuntos de códigos
ISO-8859-1
eUTF-8
dafr_FR
localidade e, finalmente, digite:sudo dpkg-reconfigure locales
para terminar o trabalho
fonte