Изменение языка сообщений об ошибках Subversion - PullRequest
9 голосов
/ 22 августа 2009

По какой-то причине Subversion возвращает мне сообщения об ошибках в том, что я считаю немецким:

# svn up . 
svn: Zielpfad existiert nicht

К сожалению, я не знаю этого языка ... Прежде чем я прибегну к использованию онлайн-движка для работы с этим, я решил, что попытаюсь это исправить. Я полагаю, я просто делаю что-то очень простое неправильно. Я использую Subversion 1.6.4, установленный через yum на centos (обновленный с версии 1.4., Которая имела ту же проблему). Это на VPS, управляемом с CPanel.

Из того, что я могу сказать, он пытается загрузить сообщения на английском языке и терпит неудачу. Я вижу это в выводе strace:

open("/usr/share/locale/en_US/LC_MESSAGES/subversion.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/subversion.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
brk(0x4106d000)                         = 0x4106d000
open("/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)

Обычные команды SVN на английском языке (svn help, svn help up и т. Д.), Только сообщения об ошибках на немецком языке. Насколько я знаю, так было все время, пока я пользовался машиной, и я просто никогда не получал сообщение об ошибке от Subversion ...

:: locale
LANG=en_US
LC_CTYPE="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_COLLATE="en_US"
LC_MONETARY="en_US"
LC_MESSAGES=en_US
LC_PAPER="en_US"
LC_NAME="en_US"
LC_ADDRESS="en_US"
LC_TELEPHONE="en_US"
LC_MEASUREMENT="en_US"
LC_IDENTIFICATION="en_US"
LC_ALL=

Я также бегал:

export LC_MESSAGES=en_US
export LANG=en_US

Есть идеи, на что мне смотреть дальше?

Обновление: По предложению Фила я запустил

export LANG=C
export LC_MESSAGES=C

и теперь вывод локали:

LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES=C
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=

И он по-прежнему дает сообщения на немецком языке ... Я начинаю думать, что версия subversion, которую я имел, была скомпилирована с сообщениями на немецком языке, и, поскольку он не находит никаких файлов сообщений для конкретного языка, я получаю в немецких сообщениях. Теперь, чтобы выяснить, как это произошло ....

Ответы [ 3 ]

10 голосов
/ 15 декабря 2010

Если у вас возникла эта проблема в Windows, скорее всего, для вашей системной кодовой страницы установлен язык, отличный от английского.В windows файлы subversion.mo хранятся по адресу: «c: \ Program Files \ Subversion \ share \ locale», возможно, «c: \ Program Files (x86)», если вы работаете в 64-битной системе.Если вы переименуете язык, на котором он отображается, Subversion по умолчанию вернется на английский.

7 голосов
/ 22 августа 2009

Попробуйте установить эти переменные локали в "C". Это означает, что ничто не должно быть передано через любой механизм перевода.

export LANG=C
export LC_MESSAGES=C

этого должно быть достаточно. Если он все еще бросает в вас немецкий, думаю, возможно, я бы начал сомневаться, как вы установили Subversion.

2 голосов
/ 25 августа 2010

У нас была такая же проблема. Мы ставим на .bashrc

export LANG=en_US

и это сработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...