为什么Mercurial会用德语显示帮助文本?我怎么能改变这个?

时间:2010-07-30 12:22:06

标签: mercurial

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

“hg”向我显示了英语和德语随机混合的帮助文本,“hg -v”显示所有德语文本。为什么呢?

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

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

有人知道如何改写这种刺激性的hg行为吗?

3 个答案:

答案 0 :(得分:3)

您需要设置环境变量,否则默认为您的用户的区域设置。

该变量应命名为LANG,其值应为en_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:\] :

答案 1 :(得分:1)

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

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

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

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

...虽然我的基本的shell脚本编写技巧可以在OS X上运行,但依赖于OS X上“哪个”的奇怪行为。在OS X上,“哪个”确实找到了“真正的”hg。在Linux上,otoh,这个脚本再次发现自己并进入无限递归。

答案 2 :(得分:0)

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