首页 > 解决方案 > 升级后的西班牙语 Git

问题描述

升级到 git 2.19 后,消息为西班牙语。

我没有LANG设置,但是设置为英文后:

export LANG="en_US.UTF-8"

然后它再次工作,但在升级之前,没有必要明确设置语言(它改变了默认识别什么?)

UDPATE1:

https://github.com/Homebrew/homebrew-core/pull/32008

https://public-inbox.org/git/CAKd-JgS3omKbN+OzQL2dUun6Seg9CjDNk8KEj9m83xdTZE=7FA@mail.gmail.com/T/

此问题已在 wget 等其他命令行中看到。

都指向 gettext() 吗?

更新2:

https://github.com/Homebrew/homebrew-core/issues/31980 仍在研究 gettext。

标签: gitmacoscommand-linehomebrew

解决方案


有一个错误报告正在进行中,如在此类似案例中所见

更新到 Git 2.19 后,Git 的输出突然出现在俄语中。
我可以用export LANG=en_US.UTF-8它把它切换回英文,但这很奇怪。

这似乎是如何brew更改其 Git 构建的错误,并且还会影响除 git 之外的软件包。

此问题并非特定于 Git。
Ævar 询问其他命令行程序是否也会出现此问题,确实如此。
例如,我尝试通过 'wget' 安装brew,它表现出相同的奇怪行为。
Ævar 建议可能有一些神奇的特殊大小写英语,这让我想知道 brew 是否将这种魔法构建到gettext(?) 中,或者这种魔法是否是 MacOS 本身的一部分。

Alexey Storozhev ( storoj)Homebrew/homebrew-coreissue 31980中发表评论

我完全同意@moonfruit 的观点,即删除--with-gettext选项是一个错误。
但另一个错误发生了,gettext 支持成为强制性的。如果您的系统具有一种或多种语言,则会产生严重影响。
例如,我有en_RU语言环境,我的git输出变成了俄语。
这对我来说不是一个选择,我无法以正常方式提供帮助;

  • 我不想LC_LANG=en_US在我的中使用,bash_profile因为它会影响我系统中的所有内容,
  • 我也不想做这样的别名git="LC_LANG=en_US git"

返回的另一点--with-gettextgit支持i18n的方式。
根据INSTALL,使用英语的唯一方法是完全NO_GETTEXT启用标志。否则,将使用po/${lang}.po文件来确定可用的语言。
如您所见,该目录不包含“ en.po”文件。如果您在支持和语言环境下运行,git将查找以下文件:. 它最终找到“ ”一个并使用完全无法使用的俄语输出。我没有任何以俄语本地化的开发软件。gettexten_RUgettextshare/locale/{en_RU,en,ru_RU,ru}/LC_MESSAGES/git.moru

所以...用标志重建 GitNO_GETTEXT=1(禁用翻译)似乎是目前唯一的解决方法(2018 年第四季度)。


推荐阅读