升级后的西班牙语Git

7
升级到git 2.19后消息变成了西班牙语。 我没有设置LANG,但是在将其设置为英语后:
export LANG="en_US.UTF-8"

然后它又可以工作了,但在升级之前,不需要明确设置语言(是什么改变了默认识别?)。 更新1:

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。

1
看起来类似于三个小时前我们提出的这个问题:https://dev59.com/0lQK5IYBdhLWcg3wHsVJ - tkausl
没错,同样的问题 :) - devwebcl
1个回答

7

正在进行一个错误报告,如此类似情况所示

升级到Git 2.19后,Git的输出突然变成了俄语。
我可以使用export LANG=en_US.UTF-8将其切换回英语,但这非常奇怪。

这似乎是brew更改了其Git构建方式的错误,并且影响了除git之外的软件包。

这个问题不仅限于Git。
Ævar问是否还会出现其他命令行程序的问题,实际上确实存在。
例如,我尝试使用通过brew安装的“wget”,它表现出相同的奇怪行为。
Ævar建议可能有一些神奇的特殊情况需要考虑英语,这让我想知道brew是否将此类魔法构建到gettext中(?)或者这种魔法是MacOS本身的一部分。

Alexey Storozhev (storoj)Homebrew/homebrew-core issue 31980 中发表评论。
我完全同意@moonfruit的观点,删除--with-gettext选项是一个错误。但另一个错误发生了,gettext支持变成了强制性的。如果您的系统有一种或多种语言,它会产生严重影响。例如,我有en_RU区域设置,我的git输出变成了俄文。这对我来说不是一个选项,我不能以正常方式解决它。
另一个恢复--with-gettext的理由是git支持i18n的方式。根据INSTALL,使用英语的唯一方法是启用NO_GETTEXT标志。否则,将使用po/${lang}.po文件来确定可用语言。如您所见,该目录不包含“en.po”文件。如果您正在运行支持gettext和en_RU区域设置的git,gettext将寻找以下文件:share/locale/{en_RU,en,ru_RU,ru}/LC_MESSAGES/git.mo。最终找到“ru”并使用俄语输出,这是完全无法使用的。我没有任何一款开发软件是俄语本地化的。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接