为什么Mercurial使用德语显示帮助文本? 我该如何改变这一点?

我在运行Mac OS X 10.5.8的MacBook上安装了Mercurial 1.6

“hg”向我显示了英文和德文的随机混合文本,“hg -v”显示全部为德文。 为什么?

事实上,我在德国,而我的Mac有德国键盘。 我有德国作为系统区域,但英语作为语言。

我说流利的德语,所以让德国人跟我说话并不是一个不可逾越的问题。 但英语是我的母语和我喜欢的语言。

任何人都知道如何重写这种令人不安的行为?


你需要设置一个环境变量,否则它默认为你的用户的语言环境。

这个变量应该被命名为LANG ,它的值应该是en_US以便给你英语(US)文本。

在Windows上的结果(我知道,你在Mac上,但我不知道该怎么做):

[C:] :set lang=de_DE

[C:] :hg version
Mercurial Distributed SCM (version 1.6.1023)

Copyright (C) 2005-2010 Matt Mackall <mpm@selenic.com> und andere
Dies ist freie Software; siehe Quellen fⁿr Kopierbestimmungen. Es besteht
KEINE GewΣhrleistung fⁿr das Programm, nicht einmal der Marktreife oder der
Verwendbarkeit fⁿr einen bestimmten Zweck.

[C:] :set lang=en_US

[C:] :hg version
Mercurial Distributed SCM (version 1.6.1023)

Copyright (C) 2005-2010 Matt Mackall <mpm@selenic.com> and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[C:] :

谢谢Lasse:你的回答让我走上了正确的道路。

即使我已经将Sytem Preferences / International中的语言设置为英文,Mac OS X在命令行环境中仍然具有“LANG = de_DE.UTF-8”。 [OS X的错误?]

但我不知道是否全局覆盖这个可能会破坏任何东西,所以我现在在我的utils目录中用一个名为“hg”的小脚本“固定”它,放在我的路径中,然后在调用之前覆盖LANG真正的hg:

LANG="en_EN.UTF-8"
REALHG=$(which hg)
$REALHG $@

...尽管我的基本shell脚本技能仍然在OS X上运行,但取决于OS X上“哪个”的奇怪行为。在OS X上,“哪个”确实找到了“真正的”hg。 在Linux上,otoh,这个脚本再次发现自己并进入无限递归。


我的解决方案是重命名我想从HG中删除的语言的语言文件夹。 在我的情况下,文件夹有这个位置:/Library/Python/2.7/site-packages/mercurial/locale/da

链接地址: http://www.djcxy.com/p/47235.html

上一篇: Why is Mercurial showing help text in German? How can I change this?

下一篇: How can you inherit a generic factory method?