Изменение языка сообщений об ошибках Subversion

По какой-то причине 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, которая у меня есть, была скомпилирована с сообщениями на немецком языке, и, поскольку она не находит никаких файлов сообщений для конкретного языка, я получаю встроенные сообщения на немецком языке. . Теперь бы понять, как это произошло...


person Jonathan Rupp    schedule 22.08.2009    source источник
comment
Ага, это немец. Путь назначения не существует.   -  person balpha    schedule 22.08.2009
comment
Это становится раздражающим - я запускал strings/grep для каждого файла, который, по словам strace, был загружен в поисках Zielpfad, и я ничего не получаю...   -  person Jonathan Rupp    schedule 22.08.2009
comment
Вы пробовали, что происходит, когда вы переименовываете каталог / файл немецкой локали? В моем случае первое, что он находит (согласно strace), это /usr/share/locale/de/LC_MESSAGES/subversion.mo.   -  person balpha    schedule 22.08.2009
comment
Согласно strace, он не пытается загрузить сообщения на немецком языке (когда LANG=C, нет попыток загрузить что-либо из /usr/share/locale).   -  person Jonathan Rupp    schedule 23.08.2009


Ответы (4)


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

export LANG=C
export LC_MESSAGES=C

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

person Philip Reynolds    schedule 22.08.2009

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

person Steve    schedule 15.12.2010

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

export LANG=en_US

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

person Rafael    schedule 25.08.2010

У меня работает при добавлении export LC_MESSAGES=C в файл ~/.bash_profile на основе этой статьи http://svnbook.red-bean.com/en/1.8/svn.advanced.l10n.html

export LANG=C не отображать международные символы в имени файла на моей стороне.

person QinBX    schedule 16.04.2021