Linux的locale本地化配置
locale简介
参考: http://m.blog.chinaunix.net/uid-20621049-id-3427444.html
locale
把按照所涉及到的文化传统的各个方面分成12
个大类,这12
个大类分别是:
- 语言符号及其分类(
LC_CTYPE
) - 数字(
LC_NUMERIC
) - 比较和排序习惯(
LC_COLLATE
) - 时间显示格式(
LC_TIME
) - 货币单位(
LC_MONETARY
) - 信息主要是提示信息,错误信息,状态信息,标题,标签,按钮和菜单等(
LC_MESSAGES
) - 姓名书写方式(
LC_NAME
) - 地址书写方式(
LC_ADDRESS
) - 电话号码书写方式(
LC_TELEPHONE
) - 度量衡表达方式 (
LC_MEASUREMENT
) - 默认纸张尺寸大小(
LC_PAPER
) - 对locale自身包含信息的概述(
LC_IDENTIFICATION
)。
所以说,locale
就是某一个地域内的人们的语言习惯和文化传统和生活习惯。一个地区的locale就是根据这几大类的习惯定义的,这些locale定义文件放在/usr/share/i18n/locales
目录下面,例如en_US
, zh_CN
and de_DE
@euro都是locale的定义文件,这些文件都是用文本格式书写的,你可以用写字板打开,看看里边的内容,当然出了有限的注释以外,大部分东西可能你都看不懂,因为是用的Unicode
的字符索引方式。
LC_ALL
和LANG
优先级的关系:LC_ALL
> LC_*
> LANG
注意
:根据Debian wiki - “强烈建议不要使用 LC_ALL
,因为它会覆盖所有内容
,仅在测试时使用它,并且永远不要在启动文件中设置它”。
localectl常用操作
修改为中文
# 编辑locale.conf
vim /etc/locale.conf
配置内容如下:
# 覆盖系统所有语言设置
LC_ALL=zh_CN.UTF-8
# 设置默认语言
LANG=zh_CN.uft8
系统的本地化设置信息
# 查看当前系统的本地化设置信息
localectl status
System Locale
:系统语言和区域设置。VC Keymap
:虚拟控制台的键盘映射设置。X11 Layout
:X11显示服务器的键盘布局设置。X11 Model
:X11显示服务器的键盘型号设置。X11 Variant
:X11显示服务器的键盘变体设置。X11 Options
:X11显示服务器的键盘选项设置。Default Locale
:默认的本地化设置。
语言环境
# 列出可用的语言环境
localectl list-locales
# 查看可以用的zh语言环境
localectl list-locales|grep zh
# 设置中文语言环境
# 使用localectl永久修改locale的LANG
## 相当于在/etc/locale.conf中添加LANG=zh_CN.uft8
localectl set-locale LANG=zh_CN.uft8
键盘布局
# 列出可用的键盘布局
localectl list-keymaps
# 列出可用的中文键盘布局
localectl list-keymaps | grep cn
# 设置中文键盘布局
localectl set-keymap cn
# 显示当前本地化设置
localectl status
X11键盘布局
X11 图形界面的键盘布局.
# 设置 X11 中文键盘布局
localectl set-x11-keymap cn
# 显示当前本地化设置
localectl status
常见问题:配置语言环境报错
- 配置语言环境之前,先要安装语言环境的依赖包
# 安装中文命令行支持--有可能找不到
## glibc-langpack-zh 命令行中文包
## glibc-langpack-en 命令行英文包
yum install -y glibc-common glibc-minimal-langpack glibc-langpack-zh glibc-langpack-en
- 生成语言文件
# 查看系统当前语言
echo $LANG
# 查看locale库是否存在
ll /usr/lib/locale/locale-archive
# 重新生成中文的locate文件
## 配置哪个语言就生成哪个语言文件
localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
因为LC_ALL
的优先级最高,所以配置LC_ALL
也能够解决问题。
LC_ALL=zh_CN.UTF-8
Linux系统locale(UTF-8)报错
https://blog.youkuaiyun.com/omaidb/article/details/120104853
最小化自动安装的Centos7修改完整中文显示
https://blog.youkuaiyun.com/omaidb/article/details/120389937