如何改变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_CTYPE
,LC_NUMERIC
,LC_TIME
,LC_COLLATE
,LC_MONETARY
,LC_MESSAGES
等是意图覆盖LANG
并仅影响单个语言环境类别的环境variables。
例如,假定您是西class牙的瑞典用户,并且希望您的程序根据西class牙语惯例来处理号码和date,并且只有瑞典语的信息。 然后你可以使用localedef
程序创build一个名为'sv_ES
'或'sv_ES.UTF-8
'的语言环境。 但更简单一些,将LANG
variables设置为es_ES.UTF-8
,LC_MESSAGES
variables设置为sv_SE.UTF-8
。 这两个区域已经预装了操作系统。
LC_ALL
是覆盖所有这些的环境variables。 它通常用于运行特定程序的脚本。 例如,configuration由GNUautoconf
生成的脚本使用LC_ALL
,以确保configurationtesting不以区域依赖的方式运行。不幸的是,一些系统在
/etc/profile
或类似的初始化文件中设置了LC_ALL
。 作为用户,如果要设置LANG
和其他一些LC_xxx
variables,则必须取消设置此variables。
GIT默认为英语,如果它找不到语言环境语言。
所以,如果你想让GIT成为英文的话,只是破坏它所运行的语言文件。 在我的情况下,它总是与德语(即: de.msg )运行。
如果我将其删除或重命名,则默认为英文。
这里我重命名了这个文件