Comment changer / corriger les paramètres régionaux du système lorsque vous configurez dans une langue non officielle dans votre pays?

16

Comment configurer un environnement local global pour l'ordinateur?

J'ai récemment installé Kubuntu 14.04LTS en anglais mais depuis que je suis en Espagne, j'ai choisi l'Espagne comme pays et j'ai ensuite changé les options locales pour que j'obtienne toutes les configurations spécifiques au pays telles que le regroupement des chiffres, le séparateur décimal, le format de date, etc. a ajouté la langue espagnole.

Maintenant, toutes les applications se plaignent que les paramètres régionaux sont incorrects. check-language-supportme dit que j'utilise en_ES.UTF-8les paramètres régionaux du système, et que les paramètres régionaux sont en effet erronés, il n'y a pas de paramètres régionaux pour la langue anglaise en Espagne.

J'ai essayé d'utiliser les paramètres de pays / région et langue de Kubuntu mais cela ne le résout pas. J'ai essayé d'utiliser export LANG=en_GB.UTF-8et export LC_ALL=en_GB.UTF-8puis sudo dpkg-reconfigure localeset cela a fait check-language-supportdire que j'ai maintenant une configuration correcte mais si c'est le cas, ce n'est que dans cette session konsole. Ce problème empêche également konsole d'afficher des caractères unicode et je ne peux pas utiliser de touches mortes ou entrer un `` caractère international '' tel que ñ ou ç (ceux qui fonctionnent sur d'autres applications telles que Firefox, que j'utilise pour publier cette question).

La question est donc la suivante: comment configurer un environnement local global pour l'ordinateur?

Ce n'est pas un rapport de bogue, je réinstallerai probablement mon ordinateur éventuellement si je ne peux pas le corriger. Mais je veux vraiment savoir comment je peux vraiment effectuer cette tâche de base.

Je vous remercie.

$ 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").
Calabacin
la source

Réponses:

9

Le bogue est signalé ici: https://bugs.launchpad.net/ubuntu/+source/kde-runtime/+bug/1322968 - "Changer de pays conduit à des paramètres régionaux non valides"

Solutions de contournement:

  1. Sélectionnez le pays Anglais britannique - pas l'anglais américain (puis la langue Espagne)
  2. Ou modifier manuellement ~/.kde/env/setlocale.shaprès avoir modifié les paramètres de pays / région et langue
Freddy Vulto
la source
8

J'ai résolu ce problème en suivant les étapes ci-dessous. J'ai étudié le fonctionnement des locales et les différents jeux de configuration entre certaines distributions (basées sur Debian à l'origine).

J'utilise Linux Mint comme distribution système principale et Debian comme serveurs système.

Malgré le fait que Ubuntu soit dérivé de Debian, les paramètres régionaux sont légèrement différents.

1) Vérifiez les paramètres régionaux installés et générés dans votre système:

sudo locale -a

2) supprimez les paramètres régionaux indésirables à l'aide de la commande suivante:

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

par exemple:

sudo localedef --delete-from-archive en_AG

La configuration par défaut située dans /etc/default/localeest remplacée par les paramètres personnels (utilisateur local uniquement) générés par l'application System Language. Ces paramètres se trouvent dans $HOME/.pam_environment( $HOME= l'emplacement de votre dossier de départ).

Videz ce fichier et écrivez les configurations dont vous pourriez avoir besoin.

Mon .pam_environmentdossier:

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

La variable LANG définit le LC_ * non configuré sur l'ensemble de valeurs qui y est configuré. Par exemple:

Si le système recherche la variable LC_TIME et qu'elle n'est pas définie, il utilisera la valeur LANG par défaut pour cette variable (LC_TIME dans ce cas).

Mon .pam_environmentessentiellement dit: définir presque toutes les variables pt_BR.UTF-8et la langue du système en anglais.

J'espère que ces informations peuvent être utiles.

Girol
la source
1

Vous souhaiterez utiliser la commande update-locale . Visitez cette page pour savoir comment l'utiliser. Vous l'exécutez essentiellement (avec sudo) avec des arguments définissant les paramètres régionaux comme vous le souhaitez. Ce "Modif [ies] paramètres régionaux globaux" à vos besoins.

Edit 1: Vous pouvez également rechercher dans locale-gen si le précédent ne fonctionne pas pour vous.

Zzzach ...
la source
Je vous remercie. J'ai déjà essayé ça. dpkg-reconfigure localesgénéré toutes les combinaisons possibles pour l'anglais et l'espagnol. Il semble appeler locale-gen pour toutes les combinaisons de langues installées. J'ai également appelé locale-genplusieurs locales au cas où. Le problème est que en_ES n'existe pas
Calabacin
Très bien, je continuerai à chercher des solutions. Je n'ai pas vu de problème comme ça depuis longtemps.
Zzzach ...
1

Comme Freddy Vulto l'a commenté dans sa réponse, il s'agit d'un bug connu signalé ici: https://bugs.launchpad.net/ubuntu/+source/kde-runtime/+bug/1322968

Veuillez jeter un œil à ce rapport de bogue si vous devez le corriger manuellement. Il peut être corrigé en appelant ~ / .kde / env / setlocale.sh (éventuellement après modification), entre autres correctifs possibles.

Calabacin
la source
1

Une autre solution consiste à alias l'anglais (Espagne) vers l'anglais (États-Unis):

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

Al.
la source
Même si ce n'est qu'une solution de contournement, je pense que c'est intelligent et j'aime ça. Cela fonctionne très probablement aussi :)
Calabacin
0

J'ai réussi à résoudre temporairement le problème en changeant la langue du système de l'anglais américain à l'anglais britannique comme suggéré ci-dessus. Je l'ai fait via la boîte de dialogue Paramètres système KDE> Paramètres régionaux> Langues. De manière amusante, il a affiché un message d'erreur indiquant que le remplacement de la langue actuelle n'était pas autorisé, mais dans la pratique, c'était depuis que les nouveaux paramètres ont été appliqués lorsque j'ai appuyé sur le bouton "Appliquer" et redémarré la machine.

Yngvefaen
la source
0

J'ai eu le même problème dans mon système: Kubuntu 16.04 LTS (noyau: 4.4.0-31-generic (x86_64)). Mais je l'ai résolu de manière très simple:

dans " paramètres système " sous l' onglet " personnalisation ", cliquez sur " paramètres régionaux ". choisissez " Formats " dans le menu de droite. Dans la gauche, cochez " paramètres détaillés " et modifiez chaque détail tel que les nombres ou l'heure dans la langue et la région de votre choix.

(paramètres système> paramètres régionaux> formats> paramètres détaillés)

Je sais que c'est élémentaire mais peut être utile à quelqu'un.

Jesmi
la source
-3

Les gars pourquoi vous devenez fou ?? Tout ce dont vous avez besoin est d'aller dans la barre de recherche ou Unity Lens (si Ubuntu) de type "Langue", vous trouverez l'application "Pays / Région & Langue". Dans l'onglet "Pays", choisissez la langue de votre choix.

Si vous souhaitez conserver les paramètres régionaux actuels et modifier certaines autres options comme le format de date ou les mesures impériales en métriques, utilisez simplement les autres onglets! :)

Ceci est disponible dans la distribution Ubuntu 14.04 LTS et versions ultérieures.

Dave Marksmen
la source
4
Ubuntu a Unity par défaut. Il s'agit d'un problème KDE. Complètement indépendant. En outre, la modification des paramètres régionaux n'a pas résolu le problème, comme indiqué dans op. Merci encore d'avoir pris le temps d'essayer de résoudre ce problème.
Calabacin