文章目录
Ubuntu/Linux 配置 locale
1 概述
在 Linux 系统中,locale 是一个非常重要的概念,它定义了系统显示语言、字符编码、日期时间格式等本地化设置。这些设置对于确保软件以用户期望的方式显示信息至关重要,特别是在多语言环境中。
2 locale
2.1 locale 规则
命令规则
locale
的命名规则一般为 <语言>_<地区>.<字符集编码>
,例如 zh_CN.UTF-8
。其中:
<语言>
:代表所使用的语言,如zh
代表中文,en
代表英文。<地区>
:代表所在的国家或地区,如CN
代表中国大陆,US
代表美国。<字符集编码>
:表示字符的编码方式,如UTF-8
是一种广泛使用的字符编码,支持多种语言的字符。
环境变量
在 Linux 中,通过一系列以 LC_
开头的环境变量来控制不同方面的本地化设置。这些环境变量包括但不限于:
LANG
:所有LC_*
环境变量的默认值,优先级最低。如果没有为某个LC_*
变量指定值,则使用LANG
的值。LC_CTYPE
:用于字符分类和字符串处理,控制字符的编码、字符是单字节还是多字节等。LC_NUMERIC
:用于格式化非货币的数字显示。LC_TIME
:用于格式化时间和日期。LC_COLLATE
:用于比较和排序字符串。LC_MONETARY
:用于格式化货币单位。LC_MESSAGES
:用于控制程序输出时所使用的语言,主要是提示信息、错误信息、状态信息等。LC_ALL
:一个特殊的变量,用于覆盖所有LC_*
变量的设置。如果设置了LC_ALL
,则所有LC_*
变量的设置都将被忽略,转而使用LC_ALL
的值。注意,LANG
变量不受LC_ALL
的影响。
优先级
环境变量的优先级从高到低为:LC_ALL
> LC_*
(除了 LC_ALL
)> LANG
。
2.2 查看当前 locale 设置
使用 locale
指令列出当前的 locale 设置。
$ locale
LANG=
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY=