由于某种原因,subversion 返回了我认为是德语的错误消息:
# svn up .
svn: Zielpfad existiert nicht
不幸的是,我不懂那种语言......在我诉诸使用在线翻译引擎来解决这个问题之前,我想我会尝试修复它。我想我只是做了一些非常简单的错误。我正在 centos 上运行通过 yum 安装的 subversion 1.6.4(从 1.4.something 升级而来,有同样的问题)。这是在由 CPanel 管理的 VPS 上。
据我所知,它正在尝试加载英文消息但失败了。我在 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 版本是用德语消息编译的,并且由于它没有找到任何特定于语言的消息文件,因此我收到了内置的德语消息。现在要弄清楚这是怎么发生的......