web-dev-qa-db-fra.com

Comment change-t-on la langue de l'interface de ligne de commande de Git?

Je voudrais changer la langue de git (en anglais) dans mon installation Linux sans changer la langue des autres programmes et je n'ai pas pu trouver les paramètres. Comment faire?

89
user905686

Ajoutez ces lignes à votre ~/.bashrc ou ~/.bash_profile pour forcer git à afficher tous les messages en anglais:

# Set Git language to English
#alias git='LANG=en_US git'
alias git='LANG=en_GB git'

L'alias doit remplacer LC_ALL sur certains systèmes, lorsque la variable d'environnement LC_ALL est défini, ce qui a priorité sur LANG. Voir NIX Specification - Environment Variables pour plus d'explications.

# Set Git language to English
#alias git='LC_ALL=en_US git'
alias git='LC_ALL=en_GB git'

Si vous avez ajouté ces lignes à ~/.bashrc l'alias sera défini lors du démarrage d'un nouveau shell interactif. Au cas où vous l'auriez ajouté à ~/.bash_profile l'alias sera appliqué lors de la connexion.

125
Bengt

Si vous voulez juste avoir une commande en anglais à la place, vous pouvez simplement écrire LC_ALL=C avant la commande, par exemple:

LC_ALL=C git status

aura pour résultat

# On branch master
nothing to commit, working directory clean

Les paramètres régionaux utilisés dans C sont anglais et toujours disponibles sans installer de modules linguistiques supplémentaires
(voir https://askubuntu.com/a/142814/34298 )

Pour le changer pour toute la session bash actuelle, entrez simplement

LANG=C

Pour le changer par exemple en allemand, entrez

LANG=de_DE.UTF-8
15
rubo77

L'ajout de cette ligne a résolu le problème pour moi:

$ more ~/.bash_profile
export LANG=en_US
10
Donald Duck

Remarque: depuis Git 2.3.1+ (Q1/Q2 2015), Git ajoutera un en-tête Accept-Language si possible.
Voir commit f18604b par Yi EungJun (eungjun-yi)

Ajoutez un Accept-Language en-tête qui indique les langues préférées de l'utilisateur définies par $LANGUAGE, $LC_ALL, $LC_MESSAGES et $LANG.

Cela donne aux serveurs git la possibilité d'afficher des messages d'erreur à distance dans la langue préférée de l'utilisateur.


Vous avez paramètres régionaux pour git gui ou autres interfaces graphiquesmais pas pour la ligne de commande, étant donné que c'était l'une des questions de GitSurvey 201

localization of command-line messages (i18n)    258     3.6%    

Bien sûr, depuis 2010, comme po/README décrit:

Avant que les chaînes puissent être traduites, elles doivent d'abord être marquées pour la traduction.

Git utilise une interface d'internationalisation qui enveloppe la bibliothèque gettext du système , donc la plupart des conseils dans votre gettext documentation (sur GNU systèmes info gettext dans un terminal) s'applique.

En place depuis git 1.7.9 + (janvier 2012):

Git utilise gettext pour traduire ses messages d'interface les plus courants dans la langue de l'utilisateur si des traductions sont disponibles et que les paramètres régionaux sont correctement définis .
Les distributeurs peuvent déposer de nouveaux fichiers PO dans po/ pour ajouter de nouvelles traductions.

Donc, si votre mise à jour a gâché la traduction, vérifiez ce que gettext utilise:
Voir, par exemple, " Variables d'environnement local "

Une locale est composée de plusieurs catégories de locale, voir Aspects. Lorsqu'un programme recherche des valeurs dépendantes des paramètres régionaux, il le fait en fonction des variables d'environnement suivantes, par ordre de priorité:

LANGUAGE
LC_ALL
LC_xxx, according to selected locale category: LC_CTYPE, LC_NUMERIC, LC_TIME, LC_COLLATE, LC_MONETARY, LC_MESSAGES, ...
LANG 

Les variables dont la valeur est définie mais vide sont ignorées dans cette recherche.

LANG est la variable d'environnement normale pour spécifier un paramètre régional. En tant qu'utilisateur, vous définissez normalement cette variable (sauf si certaines des autres variables ont déjà été définies par le système, dans /etc/profile ou fichiers d'initialisation similaires).

LC_CTYPE, LC_NUMERIC, LC_TIME, LC_COLLATE, LC_MONETARY, LC_MESSAGES, et ainsi de suite, sont les variables d'environnement destinées à remplacer LANG et affectant une seule catégorie de paramètres régionaux.
Par exemple, supposons que vous êtes un utilisateur suédois en Espagne et que vous souhaitez que vos programmes gèrent les nombres et les dates conformément aux conventions espagnoles, et seuls les messages doivent être en suédois. Ensuite, vous pouvez créer une locale nommée ‘sv_ES' ou 'sv_ES.UTF-8 ’En utilisant le programme localedef. Mais il est plus simple, et obtient le même effet, de définir la variable LANG sur es_ES.UTF-8 et le LC_MESSAGES variable à sv_SE.UTF-8; ces deux paramètres régionaux sont déjà préinstallés avec le système d'exploitation.

LC_ALL est une variable d'environnement qui remplace tout cela. Il est généralement utilisé dans les scripts qui exécutent des programmes particuliers. Par exemple, configurez les scripts générés par GNU autoconf use LC_ALL pour vous assurer que les tests de configuration ne fonctionnent pas de manière dépendante des paramètres régionaux.

Certains systèmes, malheureusement, définissent LC_ALL dans /etc/profile ou dans des fichiers d'initialisation similaires. En tant qu'utilisateur, vous devez donc désactiver cette variable si vous souhaitez définir LANG et éventuellement certains des autres LC_xxx variables.

6
VonC

Courir LC_MESSAGES=C git, pas LC_ALL = C ou LANG = C et pas besoin de supprimer ou renommer des fichiers.

Cette commande change les messages Git de sortie en anglais.

4
iapetus

GIT utilise par défaut l'anglais s'il ne trouve pas la langue locale.

Donc, si vous voulez que GIT soit en anglais, sabotez simplement le fichier de langue avec lequel il s'exécute. Dans mon cas, il fonctionnait toujours en allemand (c'est-à-dire: de.msg).

Si je l'ai supprimé ou renommé, il est par défaut en anglais.

enter image description here

Ici j'ai renommé le fichier

enter image description here

1
Oliver Watkins

Voici ma solution pour changer la langue de git, suivez la réponse this et this

1) nano ~/.bashrc
2) ajoutez alias git='LANG=en_GB git' au fichier
2) enregistrez le fichier
4) source ~/.bashrc

Maintenant, votre git change déjà la langue. Cependant, [~ # ~] si [~ # ~] après votre terminal de redémarrage et qu'il ne fonctionne plus, vous devez

4.1) nano ~/.profile
4.2) ajouter source ~/.bashrc
4.3) enregistrer le fichier

cela fera source ~/.bashrc exécuté chaque fois que vous ouvrez le terminal

J'espère que ça aide

0
Phan Van Linh

Comme l'a suggéré Bengt: ajoutez ces lignes à votre ~/.bashrc ou ~/.bash_profile pour forcer git à afficher tous les messages en anglais: vim ~/.bashrc - pour ce profil (si vous êtes utilisateur ubuntu et que vous le modifiez, ce sera uniquement pour cet utilisateur); ajoutez ces lignes:

# Set Git language to English
#alias git='LANG=en_US git'
alias git='LANG=en_GB git'
#you can add also 
LANG=en_GB

et après avoir fermé le fichier, vous devez écrire dans Shell:

source ~/.bashrc 

pour recharger de nouveaux paramètres ou quitter le terminal et vous reconnecter :)

0
Svetoslav