Comment changer la langue de l'interface en ligne de commande de Git?
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.
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
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 GNUinfo 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 fichiersPO
danspo/
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 à outrepasserLANG
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 programmelocaledef
. Mais il est plus simple, et obtient le même effet, de définir la variableLANG
àes_ES.UTF-8
et la variableLC_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 GNUautoconf
utilisentLC_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éfinirLANG
et éventuellement certains des autresLC_xxx
variables.
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.
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.
ici j'ai renommé le fichier