Como alterar / corrigir a localidade do sistema quando você configura em um idioma não oficial em seu país?

15

Como configuro uma localidade global para o computador?

Instalei recentemente o Kubuntu 14.04LTS em inglês, mas como estou na Espanha, escolhi a Espanha como país e mudei as opções de local para obter todas as configurações específicas do país, como agrupamento de dígitos, separador decimal, formato de data etc. Eu também adicionei o idioma espanhol.

Agora, todos os aplicativos reclamam que o código de idioma está errado. check-language-support me diz que estou usando en_ES.UTF-8 como o código do idioma do sistema, e esse local está errado, não há local para o idioma inglês na Espanha.

Eu tentei usar o país / região do & kubuntu; configurações de idioma, mas não conserta. Eu tentei usar export LANG=en_GB.UTF-8 e export LC_ALL=en_GB.UTF-8 e, em seguida, sudo dpkg-reconfigure locales e isso fez com que check-language-support dissesse que agora tenho uma configuração correta, mas se for, é apenas nessa sessão de konsole. Esse problema também impede que o Konsole mostre caracteres unicode e eu não posso usar chaves mortas ou inserir qualquer caractere internacional como ñ ou ç (aqueles que funcionam em outros aplicativos, como o Firefox, que estou usando para postar essa pergunta).

Portanto, a pergunta é: Como configuro uma localidade global para o computador?

Este não é um relatório de bug, provavelmente irei reinstalar meu computador eventualmente se não conseguir consertá-lo. Mas eu realmente quero saber como posso realizar essa tarefa REALMENTE básica.

Obrigado.

$ check-language-support
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en:es:en",
        LC_ALL = (unset),
        LC_PAPER = "en_ES.UTF-8",
        LC_ADDRESS = "en_ES.UTF-8",
        LC_MONETARY = "en_ES.UTF-8",
        LC_NUMERIC = "en_ES.UTF-8",
        LC_TELEPHONE = "en_ES.UTF-8",
        LC_IDENTIFICATION = "en_ES.UTF-8",
        LC_MEASUREMENT = "en_ES.UTF-8",
        LC_TIME = "en_ES.UTF-8",
        LC_NAME = "en_ES.UTF-8",
        LANG = "en_ES.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
hunspell-en-ca libreoffice-help-en-gb libreoffice-l10n-en-gb libreoffice-l10n-en-za mythes-en-au wspanish

$ cat /etc/default/locale
LANG="en_US.UTF-8"
LC_NUMERIC="es_ES.UTF-8"
LC_TIME="es_ES.UTF-8"
LC_MONETARY="es_ES.UTF-8"
LC_PAPER="es_ES.UTF-8"
LC_NAME="es_ES.UTF-8"
LC_ADDRESS="es_ES.UTF-8"
LC_TELEPHONE="es_ES.UTF-8"
LC_MEASUREMENT="es_ES.UTF-8"
LC_IDENTIFICATION="es_ES.UTF-8"


$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
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
LANG=en_ES.UTF-8
LANGUAGE=en:es:en
LC_CTYPE="en_ES.UTF-8"
LC_NUMERIC=en_ES.UTF-8
LC_TIME=en_ES.UTF-8
LC_COLLATE="en_ES.UTF-8"
LC_MONETARY=en_ES.UTF-8
LC_MESSAGES="en_ES.UTF-8"
LC_PAPER=en_ES.UTF-8
LC_NAME=en_ES.UTF-8
LC_ADDRESS=en_ES.UTF-8
LC_TELEPHONE=en_ES.UTF-8
LC_MEASUREMENT=en_ES.UTF-8
LC_IDENTIFICATION=en_ES.UTF-8
LC_ALL=
$ update-locale
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en:es:en",
        LC_ALL = (unset),
        LC_PAPER = "en_ES.UTF-8",
        LC_ADDRESS = "en_ES.UTF-8",
        LC_MONETARY = "en_ES.UTF-8",
        LC_NUMERIC = "en_ES.UTF-8",
        LC_TELEPHONE = "en_ES.UTF-8",
        LC_IDENTIFICATION = "en_ES.UTF-8",
        LC_MEASUREMENT = "en_ES.UTF-8",
        LC_TIME = "en_ES.UTF-8",
        LC_NAME = "en_ES.UTF-8",
        LANG = "en_ES.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
    
por Calabacin 22.07.2014 / 17:57

8 respostas

9

O bug é relatado aqui: link - "A alteração do país leva a um inválido localidade "

Soluções alternativas:

  1. Selecione o inglês britânico do país - não o inglês americano (e, em seguida, espanhol)
  2. Ou edite manualmente ~/.kde/env/setlocale.sh depois de alterar o país / região & amp; Configurações de idioma
por Freddy Vulto 30.08.2014 / 23:47
8

Eu resolvi esse problema seguindo as etapas abaixo. Eu estive estudando o funcionamento das localidades e os diferentes conjuntos de configurações entre algumas distribuições (originalmente baseadas na Debian).

Eu uso o Linux Mint como minha distribuição de sistema primário e o Debian como meus servidores de sistema.

Apesar do Ubuntu ser derivado do Debian, as configurações de localidade são um pouco diferentes.

1) Verifique quais locales estão instalados e gerados no seu sistema:

sudo locale -a

2) remova as localidades indesejadas usando o seguinte comando:

sudo localedef --delete-from-archive <YOUR DESIRED LOCALE HERE>

por exemplo:

sudo localedef --delete-from-archive en_AG

A configuração padrão localizada em /etc/default/locale é substituída pelas configurações pessoais (somente usuário local) geradas pelo aplicativo System Language. Essas configurações estão localizadas em $HOME/.pam_environment ( $HOME = o local da sua pasta pessoal).

Esvazie este arquivo e escreva as configurações que você pode precisar.

Meu arquivo .pam_environment :

LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_NUMERIC=pt_BR.UTF-8
LC_TIME=pt_BR.UTF-8
LC_MONETARY=pt_BR.UTF-8
LC_PAPER=pt_BR.UTF-8
LC_IDENTIFICATION=pt_BR.UTF-8
LC_NAME=pt_BR.UTF-8
LC_ADDRESS=pt_BR.UTF-8
LC_TELEPHONE=pt_BR.UTF-8
LC_MEASUREMENT=pt_BR.UTF-8
LC_CTYPE=pt_BR.UTF-8

A variável LANG define o LC_ * não configurado para o conjunto de valores configurado. Por exemplo:

Se o sistema fizer uma pesquisa para a variável LC_TIME e ela não estiver configurada, ela usará o valor LANG como padrão para essa variável (LC_TIME neste caso).

Meu .pam_environment basicamente diz: defina quase todas as variáveis para pt_BR.UTF-8 e o idioma do sistema para inglês.

Espero que esta informação possa ser útil.

    
por Girol 13.02.2015 / 19:21
1

Você vai querer usar o comando update-locale . Visite essa página sobre como usá-lo. Você basicamente o executa (com sudo) com argumentos definindo a localidade como você deseja que ela seja. Este "modif [s] configurações de localidade global" para seus requisitos.

Editar 1: Você também pode pesquisar locale-gen se o anterior não funciona para você.

    
por Zzzach... 22.07.2014 / 18:09
1

Como Freddy Vulto comentou em sua resposta, este é um bug conhecido relatado aqui: link

Por favor, dê uma olhada no relatório de bug se você precisar corrigi-lo manualmente. Pode ser corrigido chamando ~ / .kde / env / setlocale.sh (possivelmente após a modificação), entre outras possíveis correções.

    
por Calabacin 18.09.2014 / 12:56
1

Outra solução é alias de inglês (Espanha) a inglês (EUA):

echo en_ES.UTF-8 en_US.UTF-8 >> /etc/locale.aliases

    
por al. 27.04.2017 / 11:45
0

Consegui corrigir temporariamente o problema alterando o idioma do sistema do inglês americano para o inglês britânico, conforme sugerido acima. Eu fiz através das configurações do sistema do KDE > Localização > Diálogo Idiomas. Amusingly, indicou uma mensagem de erro que diz que a substituição do idioma atual não era permitida, mas na prática era desde que as configurações novas foram aplicadas quando eu bati o “aplique” botão, e reiniciei a máquina.

    
por Yngvefaen 13.01.2015 / 12:13
0

Eu tive o mesmo problema no meu sistema: Kubuntu 16.04 LTS (kernel: 4.4.0-31-genérico (x86_64)). Mas resolvi de maneira muito simples:

em " configurações do sistema " sob " personalização ", clique em " configurações regionais ". escolha " Formatos " no menu direito. À esquerda, marque " configurações detalhadas " e altere todos os detalhes, como Números ou Hora, para o idioma e a região desejados.

(configurações do sistema > configurações regionais > formatos > configurações detalhadas)

Eu sei que é elementar, mas pode ser útil para alguém.

    
por Jesmi 22.07.2016 / 07:47
-2

Pessoal, por que você está ficando louco? Tudo que você precisa é ir para a barra de pesquisa ou Unity Lens (se o Ubuntu) digite "Language" você vai encontrar "Country / Region & Language" Application. Na guia "País", escolha o idioma desejado.

Se você deseja manter o código de idioma atual e alterar algumas outras opções, como formato de data ou medidas imperiais para métricas, use as outras guias. :)

Isso está disponível no Ubuntu distro 14.04 LTS e posterior.

    
por Dave Marksmen 04.02.2015 / 17:24