使用locale查看当前语言环境:
root@VM-0-11-debian:/etc/systemd/system# locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=zh_CN.UTF-8
LANGUAGE=en_US.utf8
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=
语言环境相关变量:
LANG 变量:其值为 zh_CN.UTF-8,这表示系统整体默认的语言环境采用的是中文(中国大陆地区)的 UTF-8 编码格式,用于字符显示、排序等多种本地化相关的功能设定。
LANGUAGE 变量:设置为 en_US.utf8,这个变量通常用于指定应用程序查找多语言消息文件的顺序,在这里表示优先按照美式英语(en_US)的 UTF-8 编码格式来查找相关语言消息内容,不过实际生效情况可能因具体应用程序对多语言支持的实现方式而异。
其他 LC_* 变量:像 LC_CTYPE、LC_NUMERIC 等一系列以 LC_ 开头的变量,它们分别定义了字符分类(如字符属于字母、数字等何种类型)、数字格式、时间格式、排序规则、货币格式等不同方面的本地化行为,当前它们大多都设置为 zh_CN.UTF-8,也就是遵循中文(中国大陆地区)的 UTF-8 格式的本地化规则。
LC_ALL 变量:当前为空值,这个变量如果被设置了具体值,会覆盖其他所有 LC_* 变量以及 LANG 变量的设置,强制让系统采用它所指定的完整语言环境配置,但这里为空则表示不进行这样的强制覆盖操作,各个 LC_* 变量和 LANG 变量按照各自设定来生效。
vim /etc/locale.gen
这个文件包含了系统支持的所有可用语言环境(locale)的列表,在 Debian 系统中,可以通过编辑这个文件,去掉对应想要启用的语言环境前面的注释(# 符号),比如对于 zh_CN.UTF-8,确保其对应行不是以 # 开头。
而且这个文件开头的注释说了,如果改了这个文件,要运行一下命令:
locale-gen