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 trouvé les paramètres. Comment faire?
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 trouvé les paramètres. Comment faire?
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 être remplacé LC_ALL
sur certains systèmes, lorsque la variable d'environnement LC_ALL
est définie, qui a la priorité 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'
Au cas où vous auriez ajouté ces lignes à ~/.bashrc
l'alias, elles seront définies lors du démarrage d'un nouveau shell interactif. Si vous l'avez ajouté à ~/.bash_profile
l'alias, il sera appliqué lors de la connexion.
.bash.rc
au lieu de .bashrc
). Vous devez également fermer et redémarrer le shell pour que le .bashrc
soit exécuté. J'ai ajouté une note à ce sujet également.
.bashrc
même avec le redémarrage. Les alias fonctionnent. C'est juste que la langue ne change pas.
.bashrc
est exécuté avec succès, vous pouvez ajouter un test comme echo "This is .bashrc"
à la fin du fichier. Vous pouvez également le faire exécuter à la demande sans avoir à redémarrer le terminal ou l'ensemble du système par . .bashrc
. Enfin, je suggérerais d'essayer de définir la LC_ALL
variable d'environnement au lieu de LANG
, puisque la première a la priorité.
.bashrc
, vraiment. Si LC_ALL
a la priorité, ce sera le problème, il est défini dans ma langue. Mais alors je ne veux pas changer le réglage général de la langue ... Est-ce que je ne peux pas l'écraser pour un programme?
$ LC_ALL="en_US" man
et puis$ man
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
La C
langue utilisée dans est l'anglais et toujours disponible sans installer de modules linguistiques supplémentaires
(voir https://askubuntu.com/a/142814/34298 )
Pour le changer pour toute la session de bash en cours, entrez simplement
LANG=C
Pour le changer, par exemple en allemand, entrez
LANG=de_DE.UTF-8
LC_ALL=C
suggestion, car j'ai quelques problèmes avec les paramètres régionaux, cela LC_ALL="en_US"
n'a plus fonctionné récemment.
L'ajout de cette ligne a résolu le problème pour moi:
$ more ~/.bash_profile
export LANG=en_US
Remarque: depuis Git 2.3.1+ (Q1 / Q2 2015), Git ajoutera l'en-tête Accept-Language si possible.
Voir commit f18604b par Yi EungJun ( eungjun-yi
)
Ajouter un en-
Accept-Language
tête qui indique défini langues préférées de l'utilisateur par$LANGUAGE
,$LC_ALL
,$LC_MESSAGES
et$LANG
.Cela donne aux serveurs git une chance d'afficher des messages d'erreur distants dans la langue préférée de l'utilisateur.
Vous avez des paramètres régionaux pour git gui ou d' autres interfaces graphiques ,mais pas pour la ligne de commande, vu que c'é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 de pouvoir traduire les chaînes, elles doivent d'abord être marquées pour la traduction.
Git utilise une interface d'internationalisation qui enveloppe la
gettext
bibliothèque du système , donc la plupart des conseils de votre documentation gettext (sur les systèmes GNUinfo gettext
dans un terminal) s'appliquent.
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 nouveauxPO
fichierspo/
pour ajouter de nouvelles traductions.
Donc, si votre mise à jour a gâché la traduction, vérifiez ce qui l' gettext
utilise:
voir, par exemple, « Variables d'environnement locales »
Un paramètre régional est composé de plusieurs catégories de paramètres régionaux, 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 une locale. 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 des fichiers d'initialisation similaires).
LC_CTYPE
,LC_NUMERIC
,LC_TIME
,LC_COLLATE
,LC_MONETARY
,LC_MESSAGES
, Etc., sont les variables d'environnement destinées à remplacerLANG
et affectant une seule catégorie de locale uniquement.
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 que 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 lelocaledef
programme. Mais il est plus simple, et produit le même effet, de définir laLANG
variable sures_ES.UTF-8
et laLC_MESSAGES
variable sursv_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 tous ces éléments. Il est généralement utilisé dans les scripts exécutant des programmes particuliers. Par exemple, configurez les scripts générés par l'autoconf
utilisation de GNULC_ALL
pour vous assurer que les tests de configuration ne fonctionnent pas de manière dépendant locale.Certains systèmes, malheureusement, sont installés
LC_ALL
dans/etc/profile
ou dans des fichiers d'initialisation similaires. En tant qu'utilisateur, vous devez donc annuler cette variable si vous souhaitez définirLANG
et éventuellement certaines des autresLC_xxx
variables.
LANG
dans la session bash / shell / DOS que vous utilisez git
dans (ou à git-gui
partir de), seul git
(ou git-gui
) utilisera ce paramètre spécifique. Tous les autres programmes hériteront des variables d'environnement système / utilisateur.
GIT utilise l'anglais par défaut 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 fonctionne. Dans mon cas, il fonctionnait toujours avec l'allemand (c'est-à-dire: de.msg ).
Si je l'ai supprimé ou renommé, il est passé par défaut en anglais.
Ici, j'ai renommé le fichier
C:\Program Files\Git\mingw64\share\locale\$LANG\LC_MESSAGES\git.mo
.
/usr/local/Cellar/git/2.21.0/share/locale/
.
Comme Bengt l'a suggéré: 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 ne sera que 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 le shell:
source ~/.bashrc
pour recharger de nouveaux paramètres ou quitter le terminal et se reconnecter :)
LANG=en_GB
en ~/.bashrc
supposé faire? Cela ne définit-il pas simplement la variable locale LANG
?
Voici ma solution pour changer le langage git, suivez la réponse à ceci et cela
1) nano ~/.bashrc
2) ajouter alias git='LANG=en_GB git'
au fichier
2) enregistrer 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
il source ~/.bashrc
fonctionnera chaque fois que vous ouvrirez le terminal
J'espère que ça aide