问题描述
我目前有这些地区:
locale -a
C
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZW.utf8
POSIX
我如何将ru_RU
语言环境安装到我的服务器上?
最佳解决思路
-
检查哪些区域设置受支持:
locale -a
-
添加你想要的语言环境(例如
ru
):sudo locale-gen ru_RU sudo locale-gen ru_RU.UTF-8
-
运行此更新命令
sudo update-locale
次佳解决思路
我会去另一条路线,这是国际海事组织更适合Ubuntu的风格。使用提供的软件包。每个语言环境都有一些软件包,他们为你做所有的工作……不需要编辑/var文件,我一直认为这些文件不是要手动编辑的。
sudo apt-get install language-pack-XX
其中XX代表语言代码。安装语言将安装所有country-specific变体(例如,安装language-pack-it将安装it_CH.utf8和it_IT.utf8,为NL安装将安装nl_AW,nl_AW.utf8,nl_BE.utf8和nl_NL.utf8)。
第三种解决思路
-
检查哪些区域设置受支持:
less /usr/share/i18n/SUPPORTED
-
将语言环境添加到生成的列表
echo ru_RU.UTF8 >> /var/lib/locales/supported.d/local
-
重新生成列表(它将调用locale-gen …)
sudo dpkg-reconfigure locales
第四种思路
我发现locale-gen是你的朋友。如(例如添加希伯来语utf8):
root@world:~# locale-gen he_IL.UTF-8
你甚至可以像这样重新哈希它:
root@world:~# dpkg-reconfigure locales
并检查你是否做得很好:
root@world:~# locale -a
我发现这种解决方法比向文本文件添加东西简单,即使它是它的作用。
第五种思路
echo ru_RU.UTF8 >> /var/lib/locales/supported.d/local
我在第3点收到以下消息:“错误:输入错误’ru_RU.UTF8’”
这为我工作:
echo ru_RU.UTF-8 UTF-8 >> /var/lib/locales/supported.d/local
第六种思路
使用Ubuntu语言包。所有支持的语言在默认存储库中都可用:
apt-cache search language-pack
Ubuntu(服务器)版本中的区域设置切换的完整示例:
jani@example:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"
所有可用(即已安装)的语言环境都可以列出:
locale -a
我目前的语言环境是en_IE
:
jani@example:~$ locale
LANG=en_IE.UTF-8
LANGUAGE=
LC_CTYPE="en_IE.UTF-8"
LC_NUMERIC="en_IE.UTF-8"
LC_TIME="en_IE.UTF-8"
LC_COLLATE="en_IE.UTF-8"
LC_MONETARY="en_IE.UTF-8"
LC_MESSAGES=POSIX
LC_PAPER="en_IE.UTF-8"
LC_NAME="en_IE.UTF-8"
LC_ADDRESS="en_IE.UTF-8"
LC_TELEPHONE="en_IE.UTF-8"
LC_MEASUREMENT="en_IE.UTF-8"
LC_IDENTIFICATION="en_IE.UTF-8"
LC_ALL=
jani@example:~$ date
Sat Nov 1 15:36:51 UTC 2014
jani@example:~$
因为我没有ru语言环境,所以我必须安装ru语言包:
jani@example:~$ sudo apt-get -y install language-pack-ru
[..]
Generating locales...
ru_RU.UTF-8... done
ru_UA.UTF-8... done
Generation complete.
jani@example:~$
现在ru语言环境可用。系统默认语言环境通过编辑/etc/default/locale
来设置:
jani@example:~$ sudo vi /etc/default/locale
# Created by cloud-init v. 0.7.5 on Mon, 27 Oct 2014 18:46:13 +0000
LANG="ru_RU.UTF-8"
LC_MESSAGES=POSIX
jani@example:~$
Re-login并检查您的全新区域设置:
jani@example:~$ locale
LANG=ru_RU.UTF-8
LANGUAGE=
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES=POSIX
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
jani@example:~$ date
Сб. нояб. 1 15:43:45 UTC 2014
jani@example:~$