130

我想在我的 Linux 安装中更改 git 的语言(改为英语),而不更改其他程序的语言并且找不到设置。怎么做?

4

8 回答 8

195

将这些行添加到您的~/.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别名将在登录时应用。

于 2012-06-03T16:56:13.217 回答
21

如果你只想有一个英文命令,你可以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
于 2014-04-17T19:20:18.067 回答
17

添加这一行为我解决了这个问题:更新:现在似乎更多的组件也需要一个区域设置。

$ 更多 ~/.bash_profile

导出 LANG=en_US(已过时)

export LANG="en_US.UTF-8"(更新)

于 2018-11-07T22:40:21.523 回答
7

注意:从 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 使用包装系统 gettextinfo 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”的语言环境localedefLANG但是将变量设置为es_ES.UTF-8并将LC_MESSAGES变量设置为 更简单,并达到相同的效果sv_SE.UTF-8;这两个语言环境已经预装在操作系统中。

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

不幸的是,有些系统设置LC_ALL/etc/profile或类似的初始化文件中。因此,作为用户,您必须取消设置此变量,如果您想设置LANG和可选地设置其他一些LC_xxx变量。

于 2012-05-17T11:51:08.490 回答
4

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

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

于 2018-10-02T16:21:34.370 回答
2

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

因此,如果您希望 GIT 是英文的,只需破坏它正在运行的语言文件。就我而言,它总是以德语运行(即:de.msg)。

如果我删除它或重命名它,那么它默认为英文。

在此处输入图像描述

在这里我重命名了文件

在此处输入图像描述

于 2014-11-27T14:18:03.147 回答
1

正如 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 

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

于 2019-05-21T16:10:55.117 回答
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每当您打开终端时它都会运行

希望有帮助

于 2019-06-12T02:51:06.667 回答