Wie bekomme ich Konsolenmeldungen auf Englisch?

13

Ich bin Franzose und benutze mein Debian-System auf Französisch.

Ich hätte jedoch gerne Fehlermeldungen im Terminal in englischer Sprache. Ich kann sie auf englischsprachigen Websites veröffentlichen.

Wie kann ich mein Gebietsschema ändern, um dies zu tun? Ich präzisiere, ich möchte nicht mein gesamtes System auf Englisch haben.

ppr
quelle
1
export LANGUAGE=English
Stéphane Chazelas
@StephaneChazelas Bitte präzisieren Sie die genaue Wirkung und Auswirkung Ihres Befehls (möglicherweise in einer Antwort mehr als in einem Kommentar).
17.
siehe auch Was macht "LC_ALL = C"?
Stéphane Chazelas

Antworten:

10

Sie müssen die LANG-Variable in der aktuellen Shell ändern.

Stellen

export LANG=en_US.UTF-8

in Ihrer Shell-RC-Datei (für Bash ist es ~/.bashrc) und starten Sie die Terminal-Sitzung neu (oder geben Sie einfach die RC-Datei ein weiteres Mal mit source ~/.bashrcoder starten Sie Bash sogar einfach mit neu exec bash)

Beachten Sie, dass Sie dieses Gebietsschema zuvor generieren müssen.

Auch können Sie verwenden export LANG=C.

Es gibt auch andere LANG-Variablen (von 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.
eilen
quelle
1
Die Verwendung der LANGUmgebungsvariablen nur zum Einstellen der (bevorzugten) Sprache von Programmen, die in der Konsole ausgeführt werden, ist falsch. Das ist , was LC_MESSAGESund LANGUAGEUmgebungsvariablen beziehen sich auf. Siehe Die Gebietsschemavariable 'LANGUAGE' - Wie wird Englisch als Primärsprache festgelegt? Ein Fehler in gettext? .
Piotr Dobrogost
2
Hinzufügen eines Kommentars, um den Leser zu warnen, dass dies nicht korrekt ist, auch wenn es als Antwort akzeptiert wird. LC_ALL=Csollte stattdessen mit unset LC_ALLzum Zurücksetzen verwendet werden. Siehe unix.stackexchange.com/q/87745/168003
el-teedee
9

Sie können eine Anwendung mit der folgenden Syntax aufrufen:

Zum Beispiel möchten Sie die englischen Hilfeseiten (nur für einen einzigen Befehl):

user@host:~# LC_ALL=C man ls

Oder Sie stoßen auf einen Fehler (mein System ist in Deutsch):

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
Chaos
quelle
Nützlich (aber ich akzeptierte eine andere Antwort, weil es bei meiner Frage darum ging, dies dauerhaft zu tun).
17.
2
mehr "C" als "c", "c" funktioniert auf meinem Debian 8 nicht.
Tristan
Ich schlug eine Änderung für vor, LC_ALL=Canstatt LC_ALL=cdie auch für mich mit Nachricht fehlschlägtbash: warning: setlocale: LC_ALL: cannot change locale (c)
el-teedee
-3

Versuchen Sie, auf Folgendes zu verweisen: 1) https://wiki.debian.org/ChangeLanguage

Kurz gesagt, Sie möchten Ihre LOCALE (über LANG) einstellen, vorzugsweise in Ihrer .bashrc.

export LANG=en_US.UTF-8
C. Kelly
quelle
ok aber ich möchte meine systemsprache nicht ändern. Ich möchte nur eine Fehlermeldung auf Englisch haben. Das Ändern der Systemsprache hat viele Konsequenzen.
17.
Ich glaube, dass das Einfügen in Ihre .bashrc-Datei nur Ihre Shell sowie alle Befehle, die die .bashrc-Datei lesen, beeinflusst. Wenn Sie "export" weglassen, wird es nicht an Befehle weitergegeben, die Sie von dieser Shell aus starten.
C. Kelly
@ckelly Das ändert eine Reihe von Dingen außer der Sprache der Fehlermeldung. Zum Beispiel Sortierreihenfolge, Zahlenformatierung, ...
derobert
@ppr ok, aber ich möchte meine Systemsprache nicht ändern - Warum haben Sie dann eine Antwort akzeptiert, die die gleiche "Lösung" ergibt?
Piotr Dobrogost