GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Pourquoi le remplacement de la variable d'environnement Lang ne change-t-il pas la langue pour moi ?

J'essaie d'exécuter une application dans une autre langue que mon environnement actuel. Pour commencer simple, je voulais changer la langue de ls .

Voici ce que j'ai lu un peu partout (voir ci-dessous pour les questions connexes) :set LANG vers l'un des paramètres régionaux pris en charge, par exemple :

LANG=nl_NL.UTF-8 ls /nonexistent

pour qu'il affiche la sortie néerlandaise (NL).

Cependant, j'obtiens toujours une sortie en anglais :

$ LANG=nl_NL.UTF-8 ls -al /nonexistent
ls: cannot access /nonexistent: No such file or directory

Mon environnement actuel :

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

Pour être sûr, j'ai vérifié :

  • Les paramètres régionaux sont pris en charge :

    $ grep nl_NL /usr/share/i18n/SUPPORTED 
    nl_NL.UTF-8 UTF-8
    nl_NL ISO-8859-1
    [email protected] ISO-8859-15
    
  • La locale est générée :

    sudo locale-gen nl_NL.UTF-8
    

    et sudo dpkg-reconfigure locales montre également qu'il est généré.

  • Installé le pack de langue néerlandais (déjà installé) :

    sudo apt-get install language-pack-nl
    

Qu'est-ce que j'ai essayé d'autre ?

  • Utiliser export pour définir à la fois LANG et LANGUAGE au lieu de faire précéder la commande.
  • Paramètre également LC_ALL .

Ironiquement, certaines (seulement certaines !) applications graphiques sont en fait en néerlandais, mais je ne l'ai pas configuré du tout !

Je suis sur Kubuntu 12.04 (.2), ​​en ce qui concerne cela.

Questions similaires (en vain) :

  • Est-il possible de modifier temporairement la langue de l'interface utilisateur ?
  • Comment remplacer les paramètres régionaux du système sur une seule commande ?
  • Modifier temporairement la langue des messages/avertissements/erreurs du terminal (fonctionnement démontré, mais pas pour moi)
  • Comment ajouter des paramètres régionaux au serveur Ubuntu ?

Qu'est-ce qui ne va pas sur mon système ? Où déboguer cela davantage ?

Réponse acceptée :

Parce que LANGUAGE, qui a priorité sur LANG, est défini et inchangé.

$ LANGUAGE=nl ls /nonexistent
ls: kan geen toegang krijgen tot /nonexistent: Bestand of map bestaat niet

Plus d'informations dans la documentation GNU gettext :

GNU gettext donne la préférence à LANGUAGE sur LC_ALL et LANG pour la gestion des messages, mais vous devez toujours avoir LANG (ou LC_ALL) défini sur la langue principale ; ceci est requis par d'autres parties des bibliothèques système.


Ubuntu
  1. Modification de la langue et de la disposition du clavier sur diverses distributions

  2. Pourquoi le ~/.bash_profile ne fonctionne-t-il pas ?

  3. Pourquoi Ubuntu est le meilleur pour la gestion de serveur

  4. Comment changer la langue de mon git?

  5. Variable d'environnement TERM non définie

Pourquoi utiliser le bureau Pantheon pour Linux Elementary OS

Ubuntu - Pourquoi ces caractères fantaisistes ne sont-ils pas affichés dans l'invite ?

Pourquoi le parent Shell Here-document ne fonctionne pas pour la sous-commande dans Dash mais Bash fonctionne?

Pourquoi Network Manager demande-t-il toujours le mot de passe du trousseau de clés ?

Comment analyser les lecteurs flash pour les virus Windows sous Linux ? (pas Clamav) ?

Pourquoi y a-t-il deux icônes dans le lanceur Unity pour Nautilus ?