2013-02-11 120 views
6

如何在Windows上将mercurial命令行的语言永久更改为英语?如in this answer所述设置LANG环境变量可以暂时帮助一个命令窗口,但是可以以某种方式在mercurial.ini(或hgrc)中设置语言或以其他方式设置语言?如何在Windows上永久更改mercurial命令行的语言?

背后的原因是:德语的mercurial输出被打破,所有特殊字符(Umlaute等)都不能正确显示。

回答

9

可以LANGUAGE环境变量设置为en_US.UTF-8无论是对当前用户或全局使用Control Panel - >All Control Panel Items - >System - >Advanced system settings - >Advanced - >Environment variables,创建UserSystem新的变量。

创建后,您的更改将只适用于cmd或其他程序的新实例。

请注意,这似乎是LANGUAGE env。除了hgTortoiseHg之外,变量不是其他程序所关注的东西。我能够将它安装在我的Windows 7中(英文)并设置为LANGUAGE=de_DE.UTF-8。这已经改变了hg以德语报道大多数消息,但它并没有影响我的其他任何程序 - 他们仍然会说英语。

+0

就像对其他答案发表评论:我不想将LANG环境变量设置为“全局”。我只想改变mercurial的语言。 – James 2013-02-11 09:02:44

+0

我已经更新了我的答案,提到使用'LANGUAGE'似乎不影响其他程序。 – mvp 2013-02-11 09:12:17

+0

谢谢。虽然这似乎也有点“黑客”,但似乎起作用。谢谢。 – James 2013-02-11 10:08:53

0

我猜你用SET来设置环境变量。这只会修改当前命令窗口生命周期的变量。

您是否尝试过使用SETX永久设置LANG环境变量?这将永久修改变量。但是请注意,它不会修改当前的命令窗口,因此您需要打开一个新的命令窗口来查看更改的效果。

+3

我不想将LANG环境变量设置为“全局”。我只想改变mercurial的语言。 – James 2013-02-11 09:01:44

6

如果要将命令行语言更改为英语,请转至您的mercurial安装路径(例如,在windows C:\Program Files\Mercurial\),然后​​,并将错误的当前语言文件夹(例如de)重命名为_de。

现在hg会回退到默认语言en