我刚刚在运行Mac OS X 10.5.8的MacBook上安装了Mercurial 1.6
“hg”向我显示了英语和德语随机混合的帮助文本,“hg -v”显示所有德语文本。为什么呢?
事实上,我在德国,而我的Mac则配有德语键盘。我有德国作为系统区域,但英语作为语言。
我说流利的德语,所以让我用德语跟我说话并不是一个不可逾越的问题。但是英语是我的母语,也是我喜欢的语言。
有人知道如何改写这种刺激性的hg行为吗?
答案 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