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

我想在我的Linux安装中更改git(以英文)的语言,无法find设置。 怎么做?

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

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

在设置环境variablesLC_ALL时,别名需要在某些系统上覆盖LC_ALL ,优先级高于LANG 。 有关详细说明,请参阅UNIX规范 – 环境variables 。

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

如果您将这些行添加到~/.bashrc那么将在新的交互式shell启动时定义别名。 如果您将其添加到~/.bash_profile ,则会在login时应用别名。

如果你只想用一个英文命令,你可以在命令前面写上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会话,只需input

 LANG=C 

把它改成例如德文input

 LANG=de_DE.UTF-8 

注意:从Git 2.3.1+开始(2015年第一季度/第二季度),如果可能的话,Git将添加Accept-Language头文件。
参见Yi EungJun的 提交f18604b ( npcode

添加一个Accept-Language标题,表示由$LANGUAGE$LC_ALL$LC_MESSAGES$LANG定义的用户首选语言。

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


你有地方为git gui或其他graphics用户界面 , 但不是命令行,因为这是GitSurvey 2010的问题之一

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

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

在翻译string之前,首先必须标记翻译。

Git使用包装系统的gettext库的国际化接口 ,因此gettext文档中的大部分build议(在GNU系统info gettext在terminal)适用。

从git 1.7.9+ (2012年1月)开始:

Git使用gettext将其最常见的接口消息翻译成用户的语言,如果翻译是可用的,并且语言环境被适当地设置
分销商可以在po/中添加新的PO文件以添加新的翻译。

所以,如果你的更新弄糟了翻译,请检查gettext用途:
例如,请参阅“ 语言环境variables ”

语言环境由多个语言环境类别组成,请参阅方面。 当程序查找与区域相关的值时,它按照以下环境variables按优先级顺序执行此操作:

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

在此查找中将忽略其值设置为空的variables。

LANG是指定语言环境的正常环境variables。 作为一个用户,你通常设置这个variables(除非一些其他的variables已经被系统设置,在/etc/profile或类似的初始化文件中)。

LC_CTYPELC_NUMERICLC_TIMELC_COLLATELC_MONETARYLC_MESSAGES等是意图覆盖LANG并仅影响单个语言环境类别的环境variables。
例如,假定您是西class牙的瑞典用户,并且希望您的程序根据西class牙语惯例来处理号码和date,并且只有瑞典语的信息。 然后你可以使用localedef程序创build一个名为' sv_ES '或' sv_ES.UTF-8 '的语言环境。 但更简单一些,将LANGvariables设置为es_ES.UTF-8LC_MESSAGESvariables设置为sv_SE.UTF-8 。 这两个区域已经预装了操作系统。

LC_ALL是覆盖所有这些的环境variables。 它通常用于运行特定程序的脚本。 例如,configuration由GNU autoconf生成的脚本使用LC_ALL ,以确保configurationtesting不以区域依赖的方式运行。

不幸的是,一些系统在/etc/profile或类似的初始化文件中设置了LC_ALL 。 作为用户,如果要设置LANG和其他一些LC_xxxvariables,则必须取消设置此variables。

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

所以,如果你想让GIT成为英文的话,只是破坏它所运行的语言文件。 在我的情况下,它总是与德语(即: de.msg )运行。

如果我将其删除或重命名,则默认为英文。

在这里输入图像说明

这里我重命名了这个文件

在这里输入图像说明