Comment avoir des messages de console en anglais?

13

Je suis français et utilise mon système Debian en français.

Cependant, je voudrais avoir des messages d'erreur dans le terminal en anglais. Cela me permet de les publier sur des sites Web anglophones.

Comment puis-je changer mes paramètres régionaux pour le faire? Je précise que je ne veux pas avoir tout mon système en anglais.

ppr
la source
1
export LANGUAGE=English
Stéphane Chazelas
@StephaneChazelas Veuillez préciser l'effet et l'impact précis de votre commande (peut-être dans une réponse plus que dans un commentaire).
ppt
voir aussi Que fait «LC_ALL = C»?
Stéphane Chazelas

Réponses:

10

Vous devez changer la variable LANG dans le shell actuel.

Mettre

export LANG=en_US.UTF-8

dans votre fichier shell rc (pour bash c'est le cas ~/.bashrc) et redémarrez la session de terminal (ou sourcez le fichier rc une fois de plus avec source ~/.bashrcou même redémarrez simplement bash avec exec bash)

Notez que vous devez générer ces paramètres régionaux avant.

Vous pouvez également utiliser export LANG=C.

Il existe également d'autres variables LANG (de man bash):

   LANG   Used to determine the  locale  category  for  any  category  not
          specifically selected with a variable starting with LC_.
   LC_ALL This  variable  overrides  the  value  of LANG and any other LC_
          variable specifying a locale category.
   LC_COLLATE
          This variable determines the collation order used  when  sorting
          the  results  of pathname expansion, and determines the behavior
          of  range  expressions,  equivalence  classes,   and   collating
          sequences within pathname expansion and pattern matching.
   LC_CTYPE
          This  variable  determines  the interpretation of characters and
          the behavior of character classes within pathname expansion  and
          pattern matching.
   LC_MESSAGES
          This  variable  determines  the locale used to translate double-
          quoted strings preceded by a $.
   LC_NUMERIC
          This variable determines the locale  category  used  for  number
          formatting.
se ruer
la source
1
L'utilisation de LANGla variable d'environnement uniquement pour définir la langue (préférée) des programmes exécutés dans la console est incorrecte. C'est ce que LC_MESSAGESet les LANGUAGEvariables d'environnement sont destinés à. Voir La variable locale 'LANGUAGE' - comment définir l'anglais comme langue principale? Un bug dans gettext? .
Piotr Dobrogost
2
Ajouter un commentaire pour avertir le lecteur que même si la réponse est acceptée, ce n'est pas correct. LC_ALL=Cdoit être utilisé à la place avec unset LC_ALLpour réinitialiser. Voir unix.stackexchange.com/q/87745/168003
el-teedee
9

Vous pouvez appeler une application avec la syntaxe suivante:

Par exemple, vous voulez les pages de manuel en anglais (pour une seule commande):

user@host:~# LC_ALL=C man ls

Ou vous rencontrez une erreur (mon système est en allemand):

user@host:~$ ls -la /root/
ls: Öffnen von Verzeichnis /root/ nicht möglich: Keine Berechtigung

user@host:~$ LC_ALL=C ls -l /root/
ls: cannot open directory /root/: Permission denied
le chaos
la source
Utile (mais j'ai accepté une autre réponse parce que ma question portait sur le fait de le faire de façon permanente).
ppt
2
plus "C" que "c", "c" ne fonctionne pas sur mon Debian 8.
Tristan
J'ai suggéré une modification pour LC_ALL=Cau lieu de LC_ALL=claquelle échoue aussi pour moi avec un messagebash: warning: setlocale: LC_ALL: cannot change locale (c)
el-teedee
-3

Essayez de faire référence à ceci: 1) https://wiki.debian.org/ChangeLanguage

En bref, vous souhaitez définir votre LOCALE (via LANG), de préférence dans votre .bashrc.

export LANG=en_US.UTF-8
C. Kelly
la source
ok mais je ne veux pas changer la langue de mon système. Je veux juste avoir un message d'erreur en anglais. Changer la langue du système a de nombreuses conséquences.
ppt
Je crois que le mettre dans votre .bashrc n'affectera que votre shell, ainsi que toutes les commandes qui lisent le .bashrc. Si vous omettez "exporter", il ne sera pas propagé aux commandes que vous démarrez à partir de ce shell.
C. Kelly
@ckelly Cela change un tas de choses en plus de la langue des messages d'erreur. Par exemple, trier les ordres, mettre en forme les nombres, ...
derobert
@ppr ok, mais je ne veux pas changer la langue de mon système - Pourquoi alors avez-vous accepté une réponse qui donne la même "solution"?
Piotr Dobrogost