web-dev-qa-db-fra.com

Comment changer de langue mais uniquement pour le terminal?

Comment changer la langue du terminal en anglais?

Je suis habitué à utiliser vi.

Si la langue du terminal est contrôlée par etc/default/locale, que dois-je changer ici?

LANG="el_GR.UTF-8"
LANGUAGE="el:en"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
4
OJeik

Tl; dr

puisque vous voulez tout définir en anglais (en supposant que les programmes utilisant GNU gettext utilisent le grec comme langue de secours):

export LANG=en_US.UTF-8
export LANGUAGE=en:el

Ou si certaines variables LC_* sont déjà définies dans l'environnement de votre shell et que vous souhaitez les remplacer:

export LC_ALL=en_US.UTF-8
export LANGUAGE=en:el

Pour que les réglages soient corrects, ajoutez les exports à la fin de ~/.bashrc.


La modification de /etc/default/locale affectera les paramètres régionaux du système entier et, par conséquent, les paramètres régionaux de tous les utilisateurs n'ayant pas défini de paramètres régionaux spécifiques. Vous ne devez donc pas le modifier si vous souhaitez modifier uniquement la langue de la commande exécutée dans votre utilisateur. terminal/console.

Les paramètres régionaux des commandes en cours d'exécution sur le terminal/la console de l'utilisateur peuvent être modifiés en exportant les variables d'environnement suivantes:

LANG
LANGUAGE
LC_ADDRESS
LC_ALL
LC_COLLATE
LC_CTYPE
LC_IDENTIFICATION
LC_MEASUREMENT
LC_MESSAGES
LC_MONETARY
LC_NAME
LC_NUMERIC
LC_PAPER
LC_TELEPHONE
LC_TIME

LANG définit la valeur à utiliser pour chaque variable LC_* non définie explicitement; donc, si aucune des variables LC_* n'est actuellement définie dans l'environnement de votre shell (il s'agit du comportement par défaut, si env | grep '^LC_' ne génère rien, cela signifie que c'est le cas) et que vous souhaitez définir la valeur toutes les catégories vers en_US.UTF-8, exportez simplement LANG:

export LANG=en_US.UTF-8

Dans le cas contraire, vous devrez également remplacer chaque variable LC_* définie précédemment ou (autrement, plus facilement) simplement exporter LC_ALL, qui remplacera toute variable LC_* définie précédemment:

export LC_ALL=en_US.UTF-8

Cependant, les programmes utilisant GNU gettext s'appuieront sur LANGUAGE plutôt que sur LANG/LC_ALL (sauf si LANG/LC_ALL est défini sur C) et définira la langue en fonction de son contenu. LANGUAGE devrait définir une liste de langues séparées par deux-points. Si une traduction pour la première langue séparée par des deux-points n'est pas disponible, le programme essaiera d'utiliser la deuxième langue, etc. Par exemple, pour définir l'anglais comme langue préférée et le grec comme langue de secours:

export LANGUAGE=en:el

Donc dans votre cas, puisque vous voulez tout définir en anglais (en supposant que les programmes utilisant GNU gettext devraient utiliser le grec comme langue de secours):

export LANG=en_US.UTF-8
export LANGUAGE=en:el

Ou si certaines variables LC_* sont déjà définies dans l'environnement de votre shell et que vous souhaitez les remplacer:

export LC_ALL=en_US.UTF-8
export LANGUAGE=en:el

Pour que les réglages soient corrects, ajoutez les exports à la fin de ~/.bashrc.

5
kos

La question était: "Comment changer la langue du terminal en anglais?".

La réponse est:

Mettre

LANG = C

en .bashrc.

Après le redémarrage, cela fonctionne pour les terminaux. N'affecte pas l'interface graphique.

C'est tout.

0
opinion_no9