Jak wyświetlać komunikaty konsoli w języku angielskim?


13

Jestem Francuzem i używam mojego systemu Debian w języku francuskim.

Chciałbym jednak wyświetlać komunikaty o błędach w terminalu w języku angielskim. Pozwala mi to publikować je na stronach anglojęzycznych.

Jak mogę zmienić moje ustawienia regionalne, aby to zrobić? Dokładnie, nie chcę mieć całego mojego systemu w języku angielskim.


1
export LANGUAGE=English
Stéphane Chazelas,

@StephaneChazelas Proszę dokładnie określić dokładny efekt i wpływ polecenia (być może w odpowiedzi bardziej niż w komentarzu).
ppr

Odpowiedzi:


10

Musisz zmienić zmienną LANG w bieżącej powłoce.

Położyć

export LANG=en_US.UTF-8

w pliku powłoki rc powłoki (dla bash to jest ~/.bashrc) i zrestartuj sesję terminalową (lub po prostu jeszcze raz zbierz plik rc za pomocą source ~/.bashrclub nawet po prostu uruchom bash ponownie exec bash)

Pamiętaj, że musisz wcześniej wygenerować te ustawienia narodowe.

Możesz także użyć export LANG=C.

Istnieją również inne zmienne LANG (z 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.

1
Używanie LANGzmiennej środowiskowej tylko do ustawiania (preferowanego) języka programów uruchamianych w konsoli jest nieprawidłowe. To co LC_MESSAGESi LANGUAGEzmienne środowiskowe są przeznaczone dla. Zobacz Zmienna regionalna „JĘZYK” - jak ustawić angielski jako język podstawowy? Błąd w gettext? .
Piotr Dobrogost

2
Dodanie komentarza w celu ostrzeżenia czytelnika, że ​​nawet jeśli zostanie zaakceptowana odpowiedź, nie jest to poprawne. LC_ALL=Cnależy użyć zamiast tego z, unset LC_ALLaby zresetować. Zobacz unix.stackexchange.com/q/87745/168003
el-teedee

9

Możesz wywołać aplikację o następującej składni:

Na przykład chcesz angielskich stron podręcznika (dla jednego polecenia):

user@host:~# LC_ALL=C man ls

Lub napotkasz błąd (mój system jest w języku niemieckim):

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

Przydatne (ale zaakceptowałem inną odpowiedź, ponieważ moje pytanie dotyczyło tego na stałe).
ppr

2
więcej „C” niż „c”, „c” nie działa na moim Debianie 8.
Tristan

Zasugerowałem edycję, dla której LC_ALL=Czamiast LC_ALL=cmnie też nie powiodła się wiadomośćbash: warning: setlocale: LC_ALL: cannot change locale (c)
el-teedee

-3

Spróbuj nawiązać do tego: 1) https://wiki.debian.org/ChangeLanguage

Krótko mówiąc, chcesz ustawić LOCALE (przez LANG), najlepiej w .bashrc.

export LANG=en_US.UTF-8

ok, ale nie chcę zmieniać języka systemu. Chcę tylko otrzymać komunikat o błędzie w języku angielskim. Zmiana języka systemu ma wiele konsekwencji.
ppr

Wierzę, że umieszczenie go w twoim .bashrc wpłynie tylko na twoją powłokę, a także na wszelkie polecenia, które czytają .bashrc. Jeśli pominiesz „eksport”, nie będzie on propagowany do poleceń uruchamianych z tej powłoki.
C. Kelly,

@ckelly To zmienia wiele rzeczy oprócz języka komunikatów o błędach. Na przykład, sortuj zamówienia, formatowanie liczb, ...
derobert

@ppr ok, ale nie chcę zmieniać języka systemu - dlaczego więc zaakceptowałeś odpowiedź, która daje to samo „rozwiązanie”?
Piotr Dobrogost
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.