系统语言 编辑 请登陆,再编辑

前言

locale这个单词中文翻译成地区或者地域,在linux上Locales用来定义用户所使用的语言。Locale是根据计算机用户所使用的语言,所在国家或者地区,以及当地的文化传统所定义的一个软件运行时的语言环境。

因为locales还定义了用户使用的字符集,所以,当语言中含有非ASCIIA字符时,设定好正确的locale就显得非常重要了。

格式

Locales是用以下的格式来定义的:

<lang>_<territory>.<codeset>[@<modifiers>]

这个用户环境可以按照所涉及到的文化传统的各个方面分成几个大类,通常包括:

  • 用户所使用的语言符号及其分类:(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)。

查看

要列出所有启用的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下中文乱码

默认环境下,TTY是默认不能正常显示中文的(中文显示为乱码),请使用Fbterm解决TTY下乱码问题。

相关链接

Ubuntu中文百科:Locale