升级后用西班牙语Git

dev*_*bcl 7 git macos homebrew command-line

升级到git 2.19后,消息是西班牙语.

我没有LANG设置,但在设置为英语之后:

export LANG="en_US.UTF-8"
Run Code Online (Sandbox Code Playgroud)

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

UDPATE1:

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

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

此问题已在其他命令行中显示为wget.

所有都指向gettext()?

UPDATE2:

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

Von*_*onC 7

如此类似案例所示,正在进行错误报告

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

这似乎是如何brew更改其Git的构建的一个错误,并且还影响除git之外的包.

这个问题不是Git特有的.
Ævar询问其他命令行程序是否也会出现问题,事实确实如此.
例如,我尝试通过'wget'安装brew,它表现出相同的奇怪行为.
Ævar建议可能会有一些神奇的特殊套管英语,这让我想知道brew是否会在gettext(?)中构建这样的魔法,或者魔法是否是MacOS本身的一部分.

Alexey Storozhev(storoj)第31980期发表评论 Homebrew/homebrew-core

我完全同意@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使用gettext支持和en_RU语言环境运行,gettext将查找以下文件:share/locale/{en_RU,en,ru_RU,ru}/LC_MESSAGES/git.mo.它最终找到" ru"一个并使用俄语输出完全无法使用.我没有任何本地化的俄语开发软件.

所以... 重建Git with NO_GETTEXT=1flag(禁用翻译)似乎是现在唯一的解决方法(Q8 2018).