Les paramètres régionaux ne sont pas corrects. Comment puis-je les réinitialiser?

41

J'ai un problème de localisation.
La séquence de classement dans nautilus et les autres programmes a changé.
J'obtiens des erreurs locales dans le terminal lorsque je lance une application graphique.

    Gtk-WARNING **: Locale not supported by C library.
        Using the fallback 'C' locale.

La commande locale génère des messages d'erreur

    locale: Cannot set LC_CTYPE to default locale: No such file or directory
    locale: Cannot set LC_ALL to default locale: No such file or directory
    LANG=en_AU
    LANGUAGE=en_AU:en
    LC_CTYPE="en_AU"
    LC_NUMERIC="en_AU"
    LC_TIME="en_AU"
    LC_COLLATE=en_AU.UTF-8
    LC_MONETARY="en_AU"
    LC_MESSAGES=en_AU.UTF-8
    LC_PAPER="en_AU"
    LC_NAME="en_AU"
    LC_ADDRESS="en_AU"
    LC_TELEPHONE="en_AU"
    LC_MEASUREMENT="en_AU"
    LC_IDENTIFICATION="en_AU"
    LC_ALL=

Comme suggéré dans question askubuntu , j'ai exécuté les commandes suivantes, mais il y avait pas de changement.

    sudo apt-get install language-pack-en-base
    sudo dpkg-reconfigure locales

J'ai également essayé la suggestion dans la question askubuntu ... sans aucun changement.

    apt-get install --reinstall locales

Je pense que cela a commencé lorsque j'ai temporairement installé et désinstallé l'éditeur de méthode de saisie de la langue Urdu via IBus .. cela s'est certainement produit le même jour.

Peut-être que c'est lié à IBus, mais je n'ai eu aucun problème avec cela avant.

  • Le système d'exploitation est 10.04
posée Peter.O 01.04.2011 - 20:29
la source

12 réponses

27

J'ai réussi à faire fonctionner les choses "normalement" à nouveau.

Après avoir essayé beaucoup de réinstallations de paquets, etc., y compris la suppression complète de IBus (tous sans effet), j'ai commencé à penser que cela pouvait être dû à un paramètre de configuration que la réinstallation ne modifie pas.

J'avais remarqué que le résultat de locale était plutôt dépourvu d'attributions UTF-8, j'ai donc vérifié cela dans une machine virtuelle récemment installée ... toutes les entrées de LC_ * (sauf LC_ALL, qui remplace all les autres) ont été définis avec le suffixe .UTF-8 . J'ai donc défini manuellement les valeurs LC_ * comme indiqué ci-dessous.

J'aurais probablement dû utiliser LC_ALL="en_AU.UTF-8" , mais en lisant ceci, j'ai découvert comment personnaliser le format de date et heure système , et LC_ALL remplacerait mon paramètre personnalisé.

Je ne sais pas si j'ai utilisé la méthode la plus appropriée, mais ça marche!

Le fichier modifié est: /etc/default/locale

  • Ceci montre le contenu avant le mod:

    LANG="en_AU.UTF-8"
    LANGUAGE="en_AU:en"
    LC_MESSAGES="en_AU.UTF-8"
    
  • Cela montre le contenu après le mod:

    LANG="en_AU.UTF-8"
    LANGUAGE="en_AU:en"
    LC_CTYPE="en_AU.UTF-8"
    LC_NUMERIC="en_AU.UTF-8"
    LC_TIME="en_AU.UTF-8"
    LC_COLLATE=en_AU.UTF-8
    LC_MONETARY="en_AU.UTF-8"
    LC_MESSAGES=en_AU.UTF-8
    LC_PAPER="en_AU.UTF-8"
    LC_NAME="en_AU.UTF-8"
    LC_ADDRESS="en_AU.UTF-8"
    LC_TELEPHONE="en_AU.UTF-8"
    LC_MEASUREMENT="en_AU.UTF-8"
    LC_IDENTIFICATION="en_AU.UTF-8"
    

Le même fichier dans la machine virtuelle ne contenait que cette seule ligne:

    LANG="en_AU.UTF-8" 
réponse donnée Peter.O 02.04.2011 - 05:23
la source
17

La redéfinition des paramètres régionaux et la reconfiguration peuvent suffire à résoudre le problème:

sudo locale-gen en_AU.UTF-8
sudo dpkg-reconfigure locales

Lorsque vous exécutez sudo dpkg-reconfigure locales , vous pouvez sélectionner les paramètres régionaux souhaités en cliquant sur espace et en déplaçant avec et avant d'appuyer sur < kbd> Entrez .

    
réponse donnée Guillaume Vincent 09.01.2013 - 11:52
la source
14

J'ai également rencontré ce problème, comme vous le voyez, votre LC_ALL est vide. J'ai fait comme suit et ça aide:

$ sudo vim /etc/environment

et définissez LC_ALL sur quelque chose comme en_US.UTF-8 , le mien est:

LANG="en_US.UTF-8"
LC_MESSAGES="C"
LC_ALL="en_US.UTF-8"

puis redémarrez et exécutez locale , et cela devrait ressembler à:

LANG=zh_CN.utf8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8
    
réponse donnée McKelvin 10.08.2012 - 15:20
la source
4

Si vous êtes connecté à distance à la machine via ssh (par exemple depuis un périphérique macosx), vous devez définir ces variables sur la machine à partir de laquelle vous vous connectez

ajoutez ce qui suit à ~ / .bash_profile

#fix for locale issues when connecting to ubuntu servers
export LANG="en_US.utf8"
export LANGUAGE="en_US.utf8"
export LC_ALL="en_US.utf8"
    
réponse donnée Somatik 28.08.2012 - 13:22
la source
2

Je veux juste ajouter que je devais aussi modifier mon profil personnel:

gedit ~/.profile

Dans votre cas, cela ressemblerait à ceci:

...
LANG="en_AU.UTF-8"
LANGUAGE="en_AU:en"

Déconnectez-vous + Connectez-vous. Et tout se passe comme prévu.

    
réponse donnée Aas 26.03.2012 - 11:28
la source
2

J'ai eu le même problème pendant plusieurs mois, de nombreux outils logiciels ont mis en garde contre les paramètres régionaux erronés et certains ont même refusé de s'exécuter. Je veux utiliser la langue anglaise, mais les paramètres monétaires et numériques suédois.

Ce qui a finalement fonctionné pour moi a été d’éditer /etc/default/locale où j’ai tout supprimé dans ce fichier. J'ai ensuite lancé la configuration du langage Unity (Settings -> Language Support) , mis tout en place (Ubuntu souhaitait installer des composants manquants) et appuyé sur "Apply System-wide" lorsque j'ai terminé.

Mon /etc/default/locale ressemble maintenant à ceci.

LC_NUMERIC="sv_SE.UTF-8"
LC_TIME="sv_SE.UTF-8"
LC_MONETARY="sv_SE.UTF-8"
LC_PAPER="sv_SE.UTF-8"
LC_IDENTIFICATION="sv_SE.UTF-8"
LC_NAME="sv_SE.UTF-8"
LC_ADDRESS="sv_SE.UTF-8"
LC_TELEPHONE="sv_SE.UTF-8"
LC_MEASUREMENT="sv_SE.UTF-8"
LANGUAGE="en"
LANG="en_US.UTF-8"

La grande différence entre ceci et mon fichier original est LANGUAGE="en" .

    
réponse donnée David A 14.11.2013 - 22:24
la source
2

Cela fait un moment que cela n'a pas été posté, mais récemment j'ai eu des problèmes avec les variables "locales" et aucune réponse ne m'a donné de résultat. Peut-être que ma propre expérience pourrait aider quelqu'un d'autre.

Ma variable LANG était vide et cela me posait des problèmes.

$locale

Sortie:

LANG=
LANGUAGE=en_US
LC_CTYPE=POSIX
LC_NUMERIC=POSIX
LC_TIME=POSIX
LC_COLLATE=POSIX
LC_MONETARY=POSIX
LC_MESSAGES=POSIX
LC_PAPER=POSIX
LC_NAME=POSIX
LC_ADDRESS=POSIX
LC_TELEPHONE=POSIX
LC_MEASUREMENT=POSIX
LC_IDENTIFICATION=POSIX
LC_ALL=POSIX

J'ai essayé certaines des commandes comme:

sudo locale-gen
sudo dpkg-reconfigure locales

Sans succès. J'ai essayé de modifier le / etc / default / locale et de découvrir que c'était déjà O.K:

$cat /etc/default/locale

Sortie:

LANG=en_US.UTF-8
LC_NUMERIC="es_CO.UTF-8"
LC_TIME="es_CO.UTF-8"
LC_MONETARY="es_CO.UTF-8"
LC_PAPER="es_CO.UTF-8"
LC_NAME="es_CO.UTF-8"
LC_ADDRESS="es_CO.UTF-8"
LC_TELEPHONE="es_CO.UTF-8"
LC_MEASUREMENT="es_CO.UTF-8"
LC_IDENTIFICATION="es_CO.UTF-8"

Mon fichier .pam_environment semblait également être correct:

$cat .pam_environment

Sortie:

LANGUAGE=en_US:en
LANG=en_US.UTF-8
LC_NUMERIC=es_CO.UTF-8
LC_TIME=es_CO.UTF-8
LC_MONETARY=es_CO.UTF-8
LC_PAPER=es_CO.UTF-8
LC_NAME=es_CO.UTF-8
LC_ADDRESS=es_CO.UTF-8
LC_TELEPHONE=es_CO.UTF-8
LC_MEASUREMENT=es_CO.UTF-8
LC_IDENTIFICATION=es_CO.UTF-8
PAPERSIZE=letter

Je ne veux pas ajouter d’autres choses aux profils ou aux fichiers bash, principalement parce que même si cela pouvait résoudre le problème, je ne saurais en connaître la cause et cela m’a ennuyé.

Enfin, je me demandais si quelque chose avait déjà priorité sur les variables "locales" et j'ai exécuté la commande suivante:

$cat .bashrc | grep LANG

Sortie:

unset LANG

J'ai donc trouvé deux lignes sur mon fichier .bashrc qui indiquaient la cause (je ne collais pas tout le fichier):

unset LANG
export LC_ALL=POSIX

Je ne sais pas comment ou quand ces lignes se sont retrouvées sur mon fichier bash, mais je suis tout à fait sûr de ne pas les avoir écrites, peut-être que mon fichier .bashrc a été remplacé lorsque je travaillais sur des projets de développement Web, Je ne sais vraiment pas, mais comme je sais que c'était involontaire et qu'il y a des gens sans aucune idée de ce qui cause la mauvaise conduite "locale", peut-être que cela pourrait les aider. Quoi qu’il en soit, commenter ces lignes et un redémarrage a résolu le problème pour moi. Ici j'ai répondu à la même question sur les plaintes sublimeT3 à propos de LANG variable.

    
réponse donnée smajtkst 15.08.2015 - 04:52
la source
1

Semble une mise à jour des paramètres régionaux en quelque sorte. Le correctif que j'ai trouvé consistait à vous déconnecter, à modifier la langue sélectionnée avant de vous connecter et à vous reconnecter.

Il pourrait également être utile de réinstaller les paramètres régionaux dans synaptic, même si je ne peux pas confirmer que c'est ce qui a été corrigé pour moi, je pense que cela déconnectait ou quelque chose.

    
réponse donnée RolandiXor 01.04.2011 - 21:14
la source
1

J'ai essayé de modifier le fichier de paramètres régionaux et de choisir différentes langues lors de la connexion.

Filtrer les paquets cassés avec Synaptic et supprimer complètement les 9 paquets incriminés a fonctionné pour moi (libreoffice et python uno).

Mais je ne parviens pas à installer LibreOffice sans apparemment corrompre le gestionnaire de paquets. Il installe cependant.

Je suis le 11.04 i386. Disclaimer: Il y a eu une panne de courant lors de la dernière partie de mon installation car Ubuntu téléchargeait les mises à jour.

    
réponse donnée marajit 30.10.2011 - 17:53
la source
1

J'ai eu le même problème mais en allant à Système & gt; Administration & gt; Support linguistique peut résoudre votre problème, car il peut demander vous pour installer des paquets, puis il sera bien!! Cela a fonctionné pour moi alors je suppose il fera de même avec vous !!

    
réponse donnée Nickolas Pylarinos 16.11.2012 - 14:57
la source
0

Exécuter

export LC_ALL="zh_CN.utf8"
ibus-setup

et sélectionnez l'une des options de méthode de saisie que vous souhaitez.

    
réponse donnée mobeyond 24.01.2013 - 05:27
la source
0

J'ai eu un problème similaire (le plus notable dans Thunderbird) à l'exemple en_AU ici - mais je viens de en_NZ - et après quelques essais et erreurs avec Ubuntu 17.10, mon correctif consistait à mettre à jour ~ / .pam_environment d'autres entrées (principalement en_AU et en_US) avec en_NZ, puis redémarrage.

Dommage que vous ne puissiez pas simplement définir vos paramètres régionaux et faire ce qu’il prétend faire - le plus déçu que le fait d’exécuter les paramètres régionaux de dpkg-configure ne semble pas vraiment utile.

    
réponse donnée BlakJak 10.11.2017 - 07:23
la source

Lire d'autres questions sur les étiquettes