locale就是本地化的意思。
更深一点,locale就是一组用来处理本地化语言的C程序。由国家和本地习惯的不同,在处理文字、日期、数字、货币格式等问题都会有所不同,locale就是用来解决这个问题。
C语言的locale定义,分为以下几类:
LC_ALL:代表所有的locale
LC_CTYPE:用来处理文字编码
LC_MESSAGES:信息的显示,你可能会在这样一个目录看到大量的mo文件
LC_TIME:时间格式
LC_NUMERIC:数字格式
LC_MONETARY:货币格式
LC_COLLATE:字母顺序和特殊字符的比较
其中比较重要的是:
字符编码LC_CTYPE和本地化的信息显示LC_MESSAGES 。
下面是Everest的locale
sh-3.1$ locale
LANG=zh_CN.utf8
LC_CTYPE="zh_CN.utf8"
LC_NUMERIC="zh_CN.utf8"
LC_TIME="zh_CN.utf8"
LC_COLLATE="zh_CN.utf8"
LC_MONETARY="zh_CN.utf8"
LC_MESSAGES="zh_CN.utf8"
LC_PAPER="zh_CN.utf8"
LC_NAME="zh_CN.utf8"
LC_ADDRESS="zh_CN.utf8"
LC_TELEPHONE="zh_CN.utf8"
LC_MEASUREMENT="zh_CN.utf8"
LC_IDENTIFICATION="zh_CN.utf8"
LC_ALL=
sh-3.1$