一、常用命令
#更改locale的命令
export LC_ALL=zh_CN.UTF-8 #设置当前shell的区域设置环境变量的值
echo $LC_ALL #查看当前shell区域设置环境变量的值
locale #查看当前shell生效的的区域设置
nano /etc/default/locale #更改系统缺省区域设置环境变量(LANG=和LANGUAGE=)
#安装和删除已安装的locale的命令
locale -a #查看已安装的locale
locale-gen #删除已安装的locale并重新安装/etc/locale.gen指定的locale
ls /usr/share/i18n/{locales,charmaps} #查看所有可安装的locale和charmap
localedef -i zh_CN -f UTF-8 zh_CN.UTF-8 #根据指定的locale和charmap安装locale
rm /usr/lib/locale/locale-archive #删除所有已安装的locale(C/C.UTF-8/POSIX除外)
ls /usr/share/locale{,-langpack} #查看当前可用的和安装了命令行语言包的LANGUAGE=显示语言
apt install language-pack{,-gnome,-kde}-zh-hans #安装命令行/gnome/kde语言包
二、区域设置环境变量的含义
LC_* 用于设置当前shell/进程某个类别的locale
LANG 用于设置未设置的LC_*变量的缺省值
LC_ALL 用于一次性设置所有LC_*变量的值
LANGUAGE 用于设置gettext显示语言列表,用冒号分隔,如zh_CN:zh:en_US:en
LC_*/LANG/LC_ALL格式
language[_territory][.codeset][@modifier],如be_BY.UTF-8@latin
可使用locale -a查看安装了哪些
可使用localedef -i * -f * *安装,在/usr/share/i18n/{locales,charmaps}查看哪些可以安装
安装前的locale不包含[.codeset]部分,比如be_BY@latin
C/POSIX表示使用ASCII(不支持UTF-8)的最小locale
C.UTF-8表示使用UTF-8的最小locale,最近几年的较新的发行版支持,GLIBC2.35+官方版支持
C.utf8表示使用UTF-8的最小locale,HP-UX支持,Linux中也作为C.UTF-8的别名
UTF-8表示使用UTF-8的最小locale,只能用于LC_CTYPE,*BSD和macOS支持
LANGUAGE格式
可指定多个显示语言,以冒号隔开,前面的优先级更高,如zh_CN:zh:en_US:en
[_territory]部分省略表示缺省区域,如en可用于表示en_US
[.codeset]部分不包含
[@modifier]部分如果和提示消息无关一般不包含,如@euro一般省略
可在/usr/share/locale{,-langpack}查看哪些显示语言可用,语言包language-pack-*可通过apt安装
优先级
1. LC_ALL>LC_*>LANG
2. LANGUAGE>LC_ALL
除非LC_ALL/LC_*/LANG无法支持LANGUAGE的语言,比如LC_ALL=C/POSIX但LANGUAGE=zh_CN
/etc/default/locale用于指定系统缺省locale,一般包含LANG=和LANGUAGE=,或仅包含LANG=
LC_*
LC_CTYPE 语言符号及其分类
LC_NUMERIC 数字
LC_COLLATE 比较和排序习惯
LC_TIME 时间显示格式
LC_MONETARY 货币单位
LC_MESSAGES 信息主要是提示信息,错误信息,状态信息,标题,标签,按钮和菜单等
LC_NAME 姓名书写方式
LC_ADDRESS 地址书写方式
LC_TELEPHONE 电话号码书写方式
LC_MEASUREMENT 度量衡表达方式
LC_PAPER 默认纸张尺寸大小
LC_IDENTIFICATION 对locale自身包含信息的概述
输入法相关
export XIMODIFIERS=@im=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx版权声明:本文为defrag257原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。