Comment changer la langue de l'interface en ligne de commande de Git?

j'aimerais changer la langue de git (en anglais) dans mon installation Linux et je n'ai pas pu trouver les paramètres. Comment faire?

59
demandé sur Bengt 2012-05-17 14:03:49

5 réponses

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éfinie, qui a la préséance sur LANG . Voir la Spécification UNIX-Variables D'environnement pour plus d'explications.

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

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

75
répondu Bengt 2014-11-27 15:17:26

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

LC_ALL=C git status

résultera en

# On branch master
nothing to commit, working directory clean

La locale utilisée dans C est l'anglais et toujours disponible, sans l'installation de modules linguistiques supplémentaires

(voir https://askubuntu.com/a/142814/34298 )

À le changer pour le toute la session de bash en cours vient d'entrer

LANG=C

pour le changer par exemple en allemand enter

LANG=de_DE.UTF-8
8
répondu rubo77 2017-04-13 12:22:45

Note: depuis Git 2.3.1+ (Q1 / Q2 2015), Git ajoutera L'en-tête Accept-Language si possible.

Voir commit f18604b by Yi EungJun ( eungjun-yi )

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

cela donne aux serveurs git une chance de afficher les messages d'erreur à distance dans la langue du visiteur.


Vous avez paramètres régionaux pour git gui ou d'autres Interfaces graphiques , , mais pas pour la ligne de commande, en considérant qu'elle était l'une des questions de GitSurvey 2010

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 le système gettext bibliothèque , donc la plupart des conseils dans votre documentation gettext (sur les systèmes GNU 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 la locale est correctement définie .

Les distributeurs peuvent déposer de nouveaux fichiers PO dans po/ pour ajouter de nouvelles traductions.

donc, si votre mise à jour a un message en haut de la traduction, vérifier ce que gettext utilise:

Voir, par exemple, " Variables D'environnement locales

une locale est composée de plusieurs catégories locales, voir Aspects. Lorsqu'un programme recherche des valeurs dépendantes de locales, il le fait en fonction des variables d'environnement suivantes, dans l'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 

Variables dont la valeur est set mais est vide, sont ignorés dans cette recherche.

LANG est la variable d'environnement normal pour spécifier une locale. En tant qu'utilisateur, vous définissez normalement cette variable (à moins que certaines des autres variables aient déjà été définies par le système, dans /etc/profile ou des fichiers d'initialisation similaires).

LC_CTYPE , LC_NUMERIC , LC_TIME , LC_COLLATE , LC_MONETARY , LC_MESSAGES , et ainsi de suite, les variables d'environnement sont-elles destinées à outrepasser LANG et ne toucher qu'une seule Catégorie locale.

Par exemple, supposons que vous êtes un utilisateur suédois en Espagne, et que vous voulez que vos programmes gèrent les nombres et les dates selon les conventions espagnoles, et que seuls les messages doivent être en Suédois. Vous pouvez alors 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 à es_ES.UTF-8 et la variable LC_MESSAGES à sv_SE.UTF-8 ; ces deux locales sont déjà préinstallées avec le système d'exploitation.

LC_ALL est une variable d'environnement qui prévaut sur toutes ces variables. Il est généralement utilisé dans les scripts qui exécutent des programmes particuliers. Par exemple, les scripts de configuration générés par GNU autoconf utilisent LC_ALL pour s'assurer que les tests de configuration ne fonctionnent pas de manière dépendante de la localisation.

certains systèmes, malheureusement, mettez 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.

3
répondu VonC 2018-09-18 04:09:37

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

cette commande change git messages de sortie en anglais.

2
répondu iapetus 2018-10-02 16:21:34

GIT par défaut est l'anglais si il ne trouve pas la langue Locale.

donc si vous voulez que GIT soit en anglais, il suffit de saboter le fichier langue qu'il utilise. Dans mon cas, il était toujours en cours d'exécution avec l'allemand (par exemple: de.msg ).

si je l'ai supprimé ou renommé, alors il est passé par défaut à l'anglais.

enter image description here

ici j'ai renommé le fichier

enter image description here

1
répondu Oliver Watkins 2014-11-27 14:18:03