我想在我的 Linux 安装中更改 git 的语言(改为英语),而不更改其他程序的语言并且找不到设置。怎么做?
8 回答
将这些行添加到您的~/.bashrc,~/.bash_profile或~/.zprofile强制 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别名中,则将在新的交互式 shell 启动时定义。如果您将其添加到~/.bash_profile别名将在登录时应用。
如果你只想有一个英文命令,你可以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
添加这一行为我解决了这个问题:更新:现在似乎更多的组件也需要一个区域设置。
$ 更多 ~/.bash_profile
导出 LANG=en_US(已过时)
export LANG="en_US.UTF-8"(更新)
注意:从 Git 2.3.1+(Q1/Q2 2015)开始,Git 将尽可能添加 Accept-Language 标头。
参见Yi EungJun提交的f18604b ( 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库info gettext的国际化接口,因此您的 gettext 文档(在终端中的GNU 系统上)中的大多数建议都适用。
自git 1.7.9+(2012 年 1 月)以来就已到位:
gettext如果翻译可用且语言环境设置适当,Git 会使用将其最常见的界面消息翻译成用户的语言。
分销商可以放入新PO文件po/以添加新翻译。
因此,如果您的更新弄乱了翻译,请检查gettext使用什么:
例如,参见“ Locale Environment Variables ”
一个语言环境由几个语言环境类别组成,请参阅 Aspects。当程序查找依赖于语言环境的值时,它会根据以下环境变量按优先级顺序执行此操作:
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_CTYPE,LC_NUMERIC,LC_TIME,LC_COLLATE,LC_MONETARY,LC_MESSAGES, 等等,是旨在覆盖LANG和影响单个语言环境类别的环境变量。
例如,假设您是西班牙的瑞典用户,并且您希望您的程序根据西班牙语约定处理数字和日期,并且只有消息应该是瑞典语。然后,您可以使用该程序创建一个名为“<code>sv_ES”或“<code>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变量。
运行LC_MESSAGES=C git,而不是 LC_ALL=C 或 LANG=C,无需删除或重命名文件。
此命令将输出 Git 消息更改为英文。
如果 GIT 找不到 Locale 语言,则默认为英语。
因此,如果您希望 GIT 是英文的,只需破坏它正在运行的语言文件。就我而言,它总是以德语运行(即:de.msg)。
如果我删除它或重命名它,那么它默认为英文。

在这里我重命名了文件

正如 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
重新加载新设置或退出终端并再次连接:)