Come avere i messaggi della console in inglese?


13

Sono francese e uso il mio sistema Debian in francese.

Tuttavia, vorrei avere messaggi di errore nel terminale in inglese. Mi permette di pubblicarli su siti Web di lingua inglese.

Come posso modificare le impostazioni internazionali per farlo? Preciso che non voglio avere tutto il mio sistema in inglese.


1
export LANGUAGE=English
Stéphane Chazelas,

@StephaneChazelas Precisare l'effetto e l'impatto precisi del comando (forse in una risposta più che nel commento).
ppr

Risposte:


10

Devi cambiare la variabile LANG nella shell corrente.

Mettere

export LANG=en_US.UTF-8

nel file rc della shell (per bash lo è ~/.bashrc) e riavvia la sessione del terminale (o semplicemente procedi il file rc ancora una volta con source ~/.bashrco riavvia semplicemente bash con exec bash)

Si noti che è necessario generare prima questa locale.

Inoltre puoi usare export LANG=C.

Inoltre ci sono altre variabili LANG (da 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
L'uso LANGdella variabile d'ambiente solo per impostare la lingua (preferita) dei programmi eseguiti nella console è errato. Questo è ciò che LC_MESSAGESe LANGUAGEvariabili d'ambiente sono pensati per. Vedi la variabile locale 'LANGUAGE' - come impostare l'inglese come lingua principale? Un bug in gettext? .
Piotr Dobrogost,

2
Aggiungendo un commento per avvisare il lettore che anche se viene accettata la risposta, ciò non è corretto. LC_ALL=Cdovrebbe essere usato invece con unset LC_ALLper resettare. Vedi unix.stackexchange.com/q/87745/168003
el-teedee

9

È possibile chiamare un'applicazione con la sintassi seguente:

Ad esempio, vuoi le manpage inglesi (per un solo comando):

user@host:~# LC_ALL=C man ls

Oppure si verifica un errore (il mio sistema è in tedesco):

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

Utile (ma ho accettato un'altra risposta perché la mia domanda era di farlo in modo permanente).
ppr

2
più "C" di "c", "c" non funziona sul mio Debian 8.
Tristan

Ho suggerito una modifica per la quale LC_ALL=Cinvece LC_ALL=cfallisce anche per me con messaggiobash: warning: setlocale: LC_ALL: cannot change locale (c)
el-teedee,

-3

Prova a fare riferimento a questo: 1) https://wiki.debian.org/ChangeLanguage

In breve, vuoi impostare LOCALE (tramite LANG), preferibilmente nel tuo .bashrc.

export LANG=en_US.UTF-8

ok ma non voglio cambiare la lingua del mio sistema. Voglio solo avere qualche messaggio di errore in inglese. La modifica della lingua del sistema ha molte conseguenze.
ppr

Credo che metterlo nel tuo .bashrc influenzerà solo la tua shell, così come tutti i comandi che leggono il .bashrc. Se si omette "export", non verrà propagato ai comandi che si avvia da quella shell.
C. Kelly,

@ckelly Questo cambia un sacco di cose oltre alla lingua del messaggio di errore. Ad esempio, ordina gli ordini, formattazione dei numeri, ...
derobert

@ppr ok, ma non voglio cambiare la lingua del mio sistema - Perché allora hai accettato una risposta che offre la stessa "soluzione"?
Piotr Dobrogost,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.