locale这个单词中文翻译成地区或者地域,在linux上Locales用来定义用户所使用的语言。Locale是根据计算机用户所使用的语言,所在国家或者地区,以及当地的文化传统所定义的一个软件运行时的语言环境。
因为locales还定义了用户使用的字符集,所以,当语言中含有非ASCIIA字符时,设定好正确的locale就显得非常重要了。
Locales是用以下的格式来定义的:
<lang>_<territory>.<codeset>[@<modifiers>]
这个用户环境可以按照所涉及到的文化传统的各个方面分成几个大类,通常包括:
要列出所有启用的locale,终端执行:
locale -a
想要显示正在使用的locale,终端执行:
locale
注意:此处设置为设置中文local环境.
第一步,编辑local配置文件,终端执行:
sudo gedit /var/lib/locales/supported.d/local
写入相关内容,比如写入如下内容:
zh_CN.UTF-8 UTF-8
en_US.UTF-8 UTF-8
这个文件是所有已经激活的区域语言的列表
第二步,生成相关的locales
sudo locale-gen --purge
第三步,编辑文件
sudo gedit /etc/default/locale
写入相关内容.比如,写入如下内容:
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:en"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_IDENTIFICATION="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"
完了重启电脑,终端中执行locale,正常的结果如下:
$ locale
LANG=zh_CN.UTF-8
LANGUAGE=zh_CN: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
默认环境下,TTY是默认不能正常显示中文的(中文显示为乱码),请使用Fbterm解决TTY下乱码问题。