设置LC_MESSAGES将消息从俄罗斯更改为英语(在我的例子中)。
$ env | grep UTF
LC_MESSAGES=en_US.UTF-8
LANG=ru_UA.UTF-8
$ git status .
On branch master
Your branch is ahead of 'origin/master' by 11 commits.
(use "git push" to publish your local commits)
nothing to commit, working directory clean一切看起来都还好,但是通过ssh连接到这个主机。尽管有可变的LC_MESSAGES,还是回俄罗斯吧。看:
$ ssh user@localhost
$ env | grep UTF
LC_MESSAGES=en_US.UTF-8
LANG=ru_UA.UTF-8
$ git status .
В ветке master
Your branch is ahead of 'origin/master' by 11 commits.
(use "git push" to publish your local commits)
нечего фиксировать, рабочая директория пуста如何在俄罗斯留下界面,却强迫留言用英语?
$ uname -a Linux KES 3.13.0-37-通用#64-Ubuntu 9月22日21:28:38 UTC 2014 UTC x86_64 GNU/Linux
发布于 2015-04-01 11:05:01
正如另一个人所指出的那样,我必须使用locale来看看接下来会发生什么。
第一种情况是:
$locale
LANG=ru_UA.UTF-8
LANGUAGE=
LC_CTYPE="ru_UA.UTF-8"
LC_NUMERIC="ru_UA.UTF-8"
LC_TIME="ru_UA.UTF-8"
LC_COLLATE="ru_UA.UTF-8"
LC_MONETARY="ru_UA.UTF-8"
LC_MESSAGES=en_US.UTF-8
LC_PAPER="ru_UA.UTF-8"
LC_NAME="ru_UA.UTF-8"
LC_ADDRESS="ru_UA.UTF-8"
LC_TELEPHONE="ru_UA.UTF-8"
LC_MEASUREMENT="ru_UA.UTF-8"
LC_IDENTIFICATION="ru_UA.UTF-8"
LC_ALL=赛后
$ssh user@localhost
$locale
LANG=ru_UA.UTF-8
LANGUAGE=ru_UA:ru
LC_CTYPE="ru_UA.UTF-8"
LC_NUMERIC="ru_UA.UTF-8"
LC_TIME="ru_UA.UTF-8"
LC_COLLATE="ru_UA.UTF-8"
LC_MONETARY="ru_UA.UTF-8"
LC_MESSAGES=en_US.UTF-8
LC_PAPER="ru_UA.UTF-8"
LC_NAME="ru_UA.UTF-8"
LC_ADDRESS="ru_UA.UTF-8"
LC_TELEPHONE="ru_UA.UTF-8"
LC_MEASUREMENT="ru_UA.UTF-8"
LC_IDENTIFICATION="ru_UA.UTF-8"
LC_ALL=区别是LANGUAGE。搜索帮助。该变量是在/etc/defaults/locale中设置的
$ cat /etc/default/locale
LANG="ru_UA.UTF-8"
LANGUAGE="ru_UA:ru"所以我加入了我的.bashrc
export LANGUAGE=en但现在我不明白:
LANGUAGE设置为/etc/defautls/locale。为什么在第一种情况下它的值为空字符串?LANGUAGE优先级不能工作?如果我设置了LANGUAGE=en:ru或LANGUAGE=ru:en,那么在这两种情况下,我都有俄文消息。https://stackoverflow.com/questions/29287904
复制相似问题