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.
正如此类似案例所示,正在进行错误报告
更新到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-gettext
是git
支持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=1
flag(禁用翻译)似乎是现在唯一的解决方法(Q8 2018).