locale设置
时间:2007-02-01 来源:chenyuehao
本文仅仅适合Debian和Ubuntu,对于linux的其他版本,可以看看这篇文章,点击这里里面对于为什么需要locale说的很清楚,这里就不多说了。
1.什么是locale
Locale是根据计算机用户所使用的语言,所在国家或者地区,以及当地的文化传统所定义的一个软件运行时的语言环境。即是说,locale就是某一个地域内的人们的语言习惯和文化传统和生活习惯。一个地区的locale就是根据这几大类的习惯定义的,这些 locale定义文件放在/usr/share/i18n/locales目录下面。
2.字符集的概念
字符集就是字符,尤其是非英语字符在系统内的编码方式,也就是通常所说的内码,所有的字符集都放在 /usr/share/i18n/charmaps目录下面,所有的字符集也都是用Unicode编号索引的。Unicode用统一的编号来索引目前已知的全部的符号。而字符集则是这些符号的编码方式,或者说是在网络传输,计算机内部通信的时候,对于不同字符的表达方式,Unicode是一个静态的概念,字符集是一个动态的概念,是每一个字符传递或传输的具体形式。可以执行
查看支持的字符集。
3.locale的命名格式
[语言[_地域][.字符集] [@修正值]
例如de_DE.UTF-8@euro说的就是语言德语,地域德国,使用字符集为utf8,按照欧洲习惯加以修正。
4.生成locale的设定文件
这个部分Ubuntu和Debian的设置有点不同,分开说。
Debian: 方法一 编辑/etc/locale.gen文件,加入(举例)
执行命令
方法二 执行命令
跟着说明一步步配置就可以了。
Ubuntu: 在/var/lib/locales/supported.d目录下加入需要的locale。
举例我的设置在/var/lib/locales/supported.d目录下有三个文件en zh local,没有的话可以自己新建。里面的内容分别为:
en为:
zh为:
local为:
执行命令
或者
设定文件生成之后,可以执行命令
查看。
5.locale的环境变量
语言符号及其分类(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)
6.设置locale的环境变量
除了上面的12个变量之外,另外还有两个变量LANG和LC_ALL,它们的优先级顺序是LC_ALL > LC_* > LANG
编辑/etc/environment内容如下(举例设置纯中文系统)
执行命令
可看到
1.什么是locale
Locale是根据计算机用户所使用的语言,所在国家或者地区,以及当地的文化传统所定义的一个软件运行时的语言环境。即是说,locale就是某一个地域内的人们的语言习惯和文化传统和生活习惯。一个地区的locale就是根据这几大类的习惯定义的,这些 locale定义文件放在/usr/share/i18n/locales目录下面。
2.字符集的概念
字符集就是字符,尤其是非英语字符在系统内的编码方式,也就是通常所说的内码,所有的字符集都放在 /usr/share/i18n/charmaps目录下面,所有的字符集也都是用Unicode编号索引的。Unicode用统一的编号来索引目前已知的全部的符号。而字符集则是这些符号的编码方式,或者说是在网络传输,计算机内部通信的时候,对于不同字符的表达方式,Unicode是一个静态的概念,字符集是一个动态的概念,是每一个字符传递或传输的具体形式。可以执行
$locale -m |
3.locale的命名格式
[语言[_地域][.字符集] [@修正值]
例如de_DE.UTF-8@euro说的就是语言德语,地域德国,使用字符集为utf8,按照欧洲习惯加以修正。
4.生成locale的设定文件
这个部分Ubuntu和Debian的设置有点不同,分开说。
Debian: 方法一 编辑/etc/locale.gen文件,加入(举例)
en_US.UTF-8 UTF-8 zh_CN.UTF-8 UTF-8 zh_CN.GBK GBK zh_CN.GB2312 GB2312 |
$sudo locale-gen |
方法二 执行命令
$sudo dpkg-reconfigure locales |
Ubuntu: 在/var/lib/locales/supported.d目录下加入需要的locale。
举例我的设置在/var/lib/locales/supported.d目录下有三个文件en zh local,没有的话可以自己新建。里面的内容分别为:
en为:
en_US.UTF-8 UTF-8 |
zh_CN.UTF-8 UTF-8 zh_CN.GBK GBK zh_CN.GB2312 GB2312 |
zh_CN.UTF-8 UTF-8 |
执行命令
$sudo locale-gen |
$sudo dpkg-reconfigure locales |
设定文件生成之后,可以执行命令
$locale -a |
5.locale的环境变量
语言符号及其分类(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)
6.设置locale的环境变量
除了上面的12个变量之外,另外还有两个变量LANG和LC_ALL,它们的优先级顺序是LC_ALL > LC_* > LANG
编辑/etc/environment内容如下(举例设置纯中文系统)
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games" LANG=zh_CN.UTF-8 LC_ALL=zh_CN.UTF-8 LANG="zh_CN.UTF-8" LANGUAGE="zh_CN:zh:en_US:en" |
执行命令
$locale |
LANG=zh_CN.UTF-8 LANGUAGE=zh_CN:zh:en_US:en LC_CTYPE="zh_CN.UTF-8" LC_NUMERIC="zh_CN.UTF-8" LC_TIME="zh_CN.UTF-8" LC_COLLATE="zh_CN.UTF-8" LC_MONETARY="zh_CN.UTF-8" LC_MESSAGES="zh_CN.UTF-8" LC_PAPER="zh_CN.UTF-8" LC_NAME="zh_CN.UTF-8" LC_ADDRESS="zh_CN.UTF-8" LC_TELEPHONE="zh_CN.UTF-8" LC_MEASUREMENT="zh_CN.UTF-8" LC_IDENTIFICATION="zh_CN.UTF-8" LC_ALL=zh_CN.UTF-8 |
相关阅读 更多 +
排行榜 更多 +