如何更改Git命令行界面的语言?


Answers:


145

将这些行添加到您的~/.bashrc或中,~/.bash_profile以强制git以英语显示所有消息:

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

设置LC_ALL环境变量时,在某些系统上,别名需要覆盖LC_ALL,其优先级高于LANG。有关更多说明,请参见UNIX规范-环境变量

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

如果您将这些行添加到~/.bashrc别名中,则将在启动新的交互式外壳程序时定义它们。如果您将其添加到~/.bash_profile别名中,将在登录时应用。


文件名中有一个错字(.bash.rc而不是.bashrc)。您还必须关闭并重新启动外壳程序.bashrc才能执行。我也为此添加了注释。
Bengt 2012年

.bashrc即使重新启动,我也尝试过。别名工作。只是语言没有改变。
user905686

要验证是否.bashrc成功执行了获取,您可以echo "This is .bashrc"在文件末尾添加一个类似的测试。您也可以按需执行它,而不必通过重启终端或整个系统. .bashrc。最后,我建议尝试设置LC_ALL环境变量而不是LANG,因为第一个优先。
Bengt 2012年

我的一切都很好.bashrc。如果LC_ALL具有优先权,那么这将是问题所在,将其设置为我的语言。但是,然后我不想更改一般语言设置...我不能为一个程序覆盖它吗?
user905686

1
您可以使用建议的方法设置语言而不会产生副作用,因为这些变量仅在命令终止时有效。尝试运行$ LC_ALL="en_US" man,然后$ man
Bengt 2012年

20

如果您只想使用一个英文命令,则可以LC_ALL=C在该命令之前编写,例如:

LC_ALL=C git status

将导致

# On branch master
nothing to commit, working directory clean

所使用的语言环境为C英语,并且始终可用而无需安装其他语言包
(请参阅https://askubuntu.com/a/142814/34298

要在整个当前bash会话中更改它,只需输入

LANG=C

要将其更改为例如德语输入

LANG=de_DE.UTF-8

感谢您的LC_ALL=C建议,因为我对语言环境有一些疑问,因此LC_ALL="en_US"最近不再起作用。
user905686 2014年

11

添加这一行为我解决了这个问题:

$ more ~/.bash_profile
export LANG=en_US

2
问题是如何仅更改git的语言-我将其更新为更加清楚。
user905686 '19

6

注意:从Git 2.3.1+(Q1 / Q2 2015)开始,Git将在可能的情况下添加Accept-Language标头。
提交f18604b易EungJun( eungjun-yi

添加Accept-Language,其指示用户的首选语言由定义的头$LANGUAGE$LC_ALL$LC_MESSAGES$LANG

这使git服务器有机会以用户首选的语言显示远程错误消息。


您具有git gui其他GUI的语言环境而不是命令行,因为这是GitSurvey 2010的问题之一

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

当然,自2010年以来,如下po/README所述:

在字符串可以翻译之前,首先必须将其标记为要翻译。

Git使用包装系统gettext库的国际化接口 ,因此适用于gettext文档中的大多数建议(在info gettext终端的GNU系统上)。

git 1.7.9+生效(2012年1月):

gettext如果翻译可用并且适当设置了语言环境,则Git 会将其最常见的界面消息翻译成用户的语言
发行人可以放入新PO文件po/以添加新的翻译。

因此,如果您的更新使翻译混乱,请检查其gettext用途:
例如,参见“ 语言环境变量

语言环境由几种语言环境类别组成,请参阅方面。程序查找与语言环境相关的值时,它将根据以下环境变量(以优先级顺序)执行此操作:

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

其值已设置但为空的变量在此查找中将被忽略。

LANG是用于指定语言环境的普通环境变量。作为用户,通常设置此变量(除非系统/etc/profile或其他类似的初始化文件中已设置了其他一些变量)。

LC_CTYPELC_NUMERICLC_TIMELC_COLLATELC_MONETARYLC_MESSAGES,等等,都旨在覆盖环境变量LANG,只影响一个语言环境类别。
例如,假设您是西班牙的瑞典用户,并且您希望程序根据西班牙的约定处理数字和日期,则仅消息应使用瑞典语。然后,您可以使用该程序创建名为“ sv_ES”或“ sv_ES.UTF-8” 的语言环境localedef。但是将LANG变量设置为es_ES.UTF-8和将LC_MESSAGES变量设置为sv_SE.UTF-8; 更简单,并且达到相同的效果。这两个语言环境已预先安装在操作系统中。

LC_ALL是覆盖所有这些的环境变量。它通常用于运行特定程序的脚本中。例如,通过GNU生成的配置脚本autoconf使用LC_ALL,以确保配置测试不依赖于语言环境的方式运作。

不幸的是,某些系统设置在类似的初始化文件LC_ALL/etc/profile或其中。因此,作为用户,如果要设置LANG,则必须取消设置此变量,并且可以选择取消其他一些LC_xxx变量。


那么,翻译从何而来?我问的原因是,更新之前和更新之后,我都使用了英文git,但我不喜欢这样。
user905686

@ user905686对不起,我的错。Git通过gettext支持语言环境。因此,请检查您的环境变量。我详细说明了要检查编辑后答案中的哪一个。
VonC 2012年

如果我只想更改git而不是其他程序的语言怎么办?对我来说,翻译破坏了一些东西,因此我希望始终 git (无论哪个程序调用它)都具有LANG = C以及其他所有使用我的母语的语言。有任何想法吗?
Droggl 2012年

@Droggl只要您LANG在bash / shell / DOS会话中进行设置git(或git-gui从中启动),就只有git(或git-gui)将使用该特定设置。所有其他程序将从系统/用户环境变量继承。
VonC 2012年

4

运行LC_MESSAGES=C git,而不是LC_ALL = C或LANG = C,并且不需要删除或重命名文件。

此命令将输出的Git消息更改为英语。


2

如果GIT找不到语言环境语言,则默认为英语。

因此,如果您希望GIT使用英语,请破坏与它一起运行的语言文件。就我而言,它始终使用德语运行(即de.msg)。

如果删除或重命名了它,则默认为英语。

在此处输入图片说明

在这里我重命名了文件

在此处输入图片说明


对于Windows 2.x(64位)的Git,它将位于中C:\Program Files\Git\mingw64\share\locale\$LANG\LC_MESSAGES\git.mo
Koraktor

这种方法的优点可能是,在更新git之后,翻译将返回(并且可能会得到改善),因此您可以再次决定是要使用它还是再次删除它。
user905686 '19

我检查了源代码,看来git不支持英语:github.com/git-l10n/git-po/tree/master/po 甚至我想在中文和瑞典语之前先使用英语(en_GB:en: zh_HK:zh_CN:zh:sv_SE:sv),git仍然向我显示中文。
曾荫权

在通过Homebrew安装了Git的Mac OSx上,我在中找到了语言环境/usr/local/Cellar/git/2.21.0/share/locale/
Magnus W,

0

正如Bengt建议的那样:将以下行添加到您的~/.bashrc或中,~/.bash_profile以强制git以英语显示所有消息: vim ~/.bashrc-对于此个人资料(如果您是用户,ubuntu并且您对此进行编辑,则仅适用于该用户);添加以下行:

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

关闭文件后,需要在shell中编写:

source ~/.bashrc 

重新加载新设置或退出终端并再次连接:)


什么是附加LANG=en_GB~/.bashrc该怎么办?那不是只定义局部变量LANG吗?
user905686 '19

0

这里是我的解决方案来改变git的语言后续回答这个这个

1)nano ~/.bashrc
2)添加alias git='LANG=en_GB git'到文件
2)保存文件
4)source ~/.bashrc

现在,您的git已经更改了语言。但是,如果重新启动终端后又无法正常工作,则需要

4.1)nano ~/.profile
4.2)添加source ~/.bashrc
4.3)保存文件

source ~/.bashrc每当您打开终端时它将运行

希望对你有帮助

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.