【问题标题】:Git in Spanish after upgrade [duplicate]升级后的西班牙语 Git [重复]
【发布时间】:2018-09-20 18:12:24
【问题描述】:

升级到 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。

【问题讨论】:

标签: git macos command-line homebrew


【解决方案1】:

有一个错误报告正在进行中,如 this similar case 所示

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

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

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

Alexey Storozhev (storoj) cmets 在Homebrew/homebrew-core issue 31980

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

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

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

所以...rebuilding Git with NO_GETTEXT=1 flag(禁用翻译)似乎是目前(2018 年第四季度)唯一的解决方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-05
    • 1970-01-01
    • 1970-01-01
    • 2011-06-04
    • 1970-01-01
    • 2020-10-03
    • 1970-01-01
    • 2013-07-22
    相关资源
    最近更新 更多