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 ~/.bashrcou ~/.bash_profilepour 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_ALLsur certains systèmes, lorsque la variable d'environnement LC_ALLest 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 à ~/.bashrcl'alias, elles seront définies lors du démarrage d'un nouveau shell interactif. Si vous l'avez ajouté à ~/.bash_profilel'alias, il sera appliqué lors de la connexion.
.bash.rcau lieu de .bashrc). Vous devez également fermer et redémarrer le shell pour que le .bashrcsoit exécuté. J'ai ajouté une note à ce sujet également.
.bashrcmême avec le redémarrage. Les alias fonctionnent. C'est juste que la langue ne change pas.
.bashrcest 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_ALLvariable d'environnement au lieu de LANG, puisque la première a la priorité.
.bashrc, vraiment. Si LC_ALLa 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" manet puis$ man
Si vous voulez juste avoir une commande en anglais à la place, vous pouvez simplement écrire LC_ALL=Cavant la commande, par exemple:
LC_ALL=C git status
aura pour résultat
# On branch master
nothing to commit, working directory clean
La Clangue 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=Csuggestion, 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-Languagetête qui indique défini langues préférées de l'utilisateur par$LANGUAGE,$LC_ALL,$LC_MESSAGESet$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/READMEdé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
gettextbibliothèque du système , donc la plupart des conseils de votre documentation gettext (sur les systèmes GNUinfo gettextdans un terminal) s'appliquent.
En place depuis git 1.7.9+ (janvier 2012):
Git utilise
gettextpour 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 nouveauxPOfichierspo/pour ajouter de nouvelles traductions.
Donc, si votre mise à jour a gâché la traduction, vérifiez ce qui l' gettextutilise:
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.
LANGest 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/profileou 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 à remplacerLANGet 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 lelocaledefprogramme. Mais il est plus simple, et produit le même effet, de définir laLANGvariable sures_ES.UTF-8et laLC_MESSAGESvariable sursv_SE.UTF-8; ces deux paramètres régionaux sont déjà préinstallés avec le système d'exploitation.
LC_ALLest 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'autoconfutilisation de GNULC_ALLpour vous assurer que les tests de configuration ne fonctionnent pas de manière dépendant locale.Certains systèmes, malheureusement, sont installés
LC_ALLdans/etc/profileou dans des fichiers d'initialisation similaires. En tant qu'utilisateur, vous devez donc annuler cette variable si vous souhaitez définirLANGet éventuellement certaines des autresLC_xxxvariables.
LANGdans la session bash / shell / DOS que vous utilisez gitdans (ou à git-guipartir 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 ~/.bashrcou ~/.bash_profilepour forcer git à afficher tous les messages en anglais:
vim ~/.bashrc- pour ce profil (si vous êtes utilisateur ubuntuet 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_GBen ~/.bashrcsupposé 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 ~/.bashrcfonctionnera chaque fois que vous ouvrirez le terminal
J'espère que ça aide