102 votes

Changer la langue de sortie des commandes de la langue maternelle à l'anglais

Comment puis-je changer la langue de sortie des commandes de ma langue maternelle à l'anglais, afin de pouvoir poster ma question Ask Ubuntu avec une sortie de commande en anglais (messages d'erreur) ?

95voto

Eric Carvalho Points 51571

export LC_ALL=C est suffisante. Toutes les sorties de commande ultérieures seront en anglais.

Plus d'informations : Que fait "LC_ALL=C" ?

Si vous souhaitez revenir à la langue maternelle, désactivez l'option LC_ALL variable :

unset LC_ALL

14voto

Andy Points 31

Fonction bash pour le terminal

Voici ma fonction bash pour passer de la locale DE à la locale EN.

Vous pouvez étendre ce code avec vos langues préférées. Pour l'utiliser, mettez-le dans votre ~/.bashrc (ou ~/.bash_profile )-

Appelez-le avec _configure_locale EN pour passer à l'anglais.

function _configure_locale() { # [profile]
    local profile=${1:-EN}
    case ${profile} in
      DE|DE_DE|de_DE)
          LC_ALL="de_DE.UTF-8"
          LANG="de_DE.UTF-8"
          LANGUAGE="de_DE:de:en_US:en"
          ;;
      EN|EN_US|en|en_US)
          LC_ALL="en_US.UTF-8"
          LANG="en_US.UTF-8"
          LANGUAGE="en_US:en"
          ;;
      *)
          echo "ALERT" "${FUNCNAME}: unknown profile '${profile}'"
          ;;
      esac
      LC_PAPER="de_DE.UTF-8"; # independent from locale
      LESSCHARSET="utf-8";    # independent from locale
      MM_CHARSET="utf-8"      # independent from locale
      echo "locale settings" "${LANG}";
      export LC_ALL LANG LANGUAGE LC_PAPER LESSCHARSET MM_CHARSET
}

En général je suggère de changer les 3 variables d'environnement LC_ALL , LANG , LANGUAGE pour éviter les mauvais comportements de certains programmes.

S'adapter à votre langue

Étendre le code à votre langue maternelle est assez simple. Vous pouvez trouver les valeurs nécessaires en invoquant la commande suivante

env |egrep -e 'LC_ALL|LANG'

11voto

BuZZ-dEE Points 13314

Ouvrir un terminal Ctrl + Alt + T et le type :

LANG=en_US.UTF-8 bash

o :

LC_ALL=C bash

Maintenant la sortie du terminal est en langue anglaise. Vous pouvez le vérifier avec locale .

Il est possible de créer une commande pour faire cela avec une permanent alias . Ouvrez le .bashrc avec votre éditeur préféré et mettez-y le code suivant :

alias basheng='LANG=en_US.UTF-8 bash'

o :

alias basheng='LC_ALL=C bash'

Redémarrez le Shell de Bash. Maintenant vous avez la commande basheng . Tapez-le dans le Bash pour obtenir un Bash anglais Shell. Pour quitter le Shell anglais, tapez exit .

Quelle:

6voto

Schof Points 952

Ceci est configuré via locale qui peuvent être définis via une variable d'environnement. Il existe quatre couches de variables ; la première qui est définie a la priorité :

  • LANGUAGE - ne l'utilisez pas, il est rarement utile et peut provoquer des bogues. Malheureusement, certaines versions d'Ubuntu le définissent, vous devrez donc peut-être le désactiver.
  • LC_ALL - Remplace les paramètres spécifiques à la catégorie, destiné principalement à être utilisé par les programmes qui veulent s'exécuter dans la locale par défaut. Ils ne sont pas destinés à être utilisés comme paramètres globaux.
  • Les variables spécifiques à une catégorie commençant par LC_ : LC_CTYPE , LC_MESSAGES , LC_TIME , .
  • LANG - définit la locale par défaut pour toutes les catégories, destinée à être utilisée dans une configuration utilisateur globale.

La locale "simple", avec tous les messages non traduits, les formats d'heure et de chiffres par défaut, le jeu de caractères ASCII, etc. est appelée C . Cette locale est présente sur tous les systèmes.

Ainsi, pour exécuter un programme avec des messages en anglais, exécutez

unset LANGUAGE; LC_MESSAGES=C myprogram --option

o

unset LANGUAGE
export LC_MESSAGES=C
myprogram --option
myotherprogram

Pour exécuter un programme avec toutes les localisations désactivées, exécutez

env -u LANGUAGE LC_ALL=C myprogram --option

mais attention, cela bascule le codage des caractères en ASCII (donc pas d'Unicode, de latin-1, etc.).

Ver Sur quoi dois-je régler mes paramètres locaux et quelles sont les implications de cette opération ? pour un aperçu plus détaillé des locales.

3voto

rofrol Points 190

Dans votre ~/.bashrc

unset LC_ALL
export LC_MESSAGES=C

puis

source ~/.bashrc

Vérifiez-le.

$ locale
LANG=pl_PL.utf8
LANGUAGE=
LC_CTYPE="pl_PL.utf8"
LC_NUMERIC="pl_PL.utf8"
LC_TIME="pl_PL.utf8"
LC_COLLATE="pl_PL.utf8"
LC_MONETARY="pl_PL.utf8"
LC_MESSAGES=C
LC_PAPER="pl_PL.utf8"
LC_NAME="pl_PL.utf8"
LC_ADDRESS="pl_PL.utf8"
LC_TELEPHONE="pl_PL.utf8"
LC_MEASUREMENT="pl_PL.utf8"
LC_IDENTIFICATION="pl_PL.utf8"
LC_ALL=

Pourquoi débloquer d'abord ?

LC_ALL Remplace les paramètres individuels de LC_* : si LC_ALL est défini, aucun des paramètres de LC_* ne sera modifié. ci-dessous n'a d'effet.

https://help.ubuntu.com/community/Locale

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X