Я просто установил Подвижные 1.6 на своем MacBook под управлением Mac OS X 10.5.8
"hg" показывает мне текст справки в том, что, кажется, случайное соединение английского и немецкого языка, "hg-v" показывает тексту все на немецком языке. Почему?
Я нахожусь, на самом деле, в Германии, и мой Mac имеет немецкую клавиатуру. У меня есть Германия как системная локаль, но английский язык как язык.
Я говорю свободно на немецком языке, таким образом имение hg говорит со мной на немецком языке, не непреодолимая проблема. Но английский язык является моим родным языком и языком, в котором я предпочитаю работать.
Кто-либо знает, как переопределить это раздражающее поведение hg?
Вам необходимо установить переменную окружения, иначе по умолчанию будет установлена локаль вашего пользователя.
Переменная должна называться 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:\] :
Спасибо, Лассе: ваш ответ направил меня на правильный путь.
Mac OS X, хотя я установил язык в Sytem Preferences / International на английский, по-прежнему имеет "LANG = de_DE.UTF-8" в среде командной строки. [Ошибка OS X?]
Я не уверен, что глобальное переопределение может что-нибудь сломать, поэтому я "исправил" это на данный момент с помощью небольшого скрипта под названием "hg" в моем каталоге utils, помещенного на моем пути раньше реальная вещь, которая переопределяет LANG перед вызовом реального hg:
LANG="en_EN.UTF-8"
REALHG=$(which hg)
$REALHG $@
... который работает в OS X, несмотря на мои суб-рудиментарные навыки написания сценариев оболочки, но зависит от странного поведения "which" в OS X. В OS X, "который" действительно находит "реальную" рт. В Linux, otoh, этот сценарий снова обнаруживает себя и переходит в бесконечную рекурсию.