linux locale是Linux系統(tǒng)中多語(yǔ)言環(huán)境的設(shè)置接口,使用locale命令可以設(shè)置和顯示程序運(yùn)行的語(yǔ)言環(huán)境;locale會(huì)根據(jù)計(jì)算機(jī)用戶所使用的語(yǔ)言,所在國(guó)家或者地區(qū),以及當(dāng)?shù)氐奈幕瘋鹘y(tǒng)定義一個(gè)軟件運(yùn)行時(shí)的語(yǔ)言環(huán)境。
本教程操作環(huán)境:linux5.9.8系統(tǒng)、Dell G3電腦。
linux locale是什么?
Linux 命令之 locale?
命令介紹
locale 是 Linux 系統(tǒng)中多語(yǔ)言環(huán)境的設(shè)置接口,在 Linux 中,使用 locale 命令來(lái)設(shè)置和顯示程序運(yùn)行的語(yǔ)言環(huán)境,locale 會(huì)根據(jù)計(jì)算機(jī)用戶所使用的語(yǔ)言,所在國(guó)家或者地區(qū),以及當(dāng)?shù)氐奈幕瘋鹘y(tǒng)定義一個(gè)軟件運(yùn)行時(shí)的語(yǔ)言環(huán)境。
通過(guò) locale 來(lái)設(shè)置程序運(yùn)行的不同語(yǔ)言環(huán)境,locale 由ANSI C提供支持。locale 的命名規(guī)則為_(kāi).,如zh_CN.UTF-8,zh代表中文,CN代表大陸地區(qū),UTF-8表示字符集。在locale環(huán)境中,有一組變量,代表國(guó)際化環(huán)境中的不同設(shè)置。
locale 設(shè)置規(guī)則
_.
zh_CN.utf8 zh:表示中文 CN:表示大陸地區(qū) Utf8:表示字符集 de_DE.utf-8@euro de:表示德語(yǔ) DE:表示德國(guó) Utf-8:表示字符集 euro:表示按照歐洲習(xí)慣加以修正
使用詳解
設(shè)置locale的根本就是設(shè)置一組總共12個(gè)LC開(kāi)頭的變量,不包括LANG和LC_ALL
locale默認(rèn)文件存放位置: /usr/share/i18n/locales
(一)查看當(dāng)前 locale 設(shè)置
列出所有啟用的 locale:
[root@htlwk0001host ~]# localeLANG=zh_CN.UTF-8 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:LANG的優(yōu)先級(jí)是最低的,它是所有LC_*變量的默認(rèn)值,下方所有以LC_開(kāi)頭變量(LC_ALL除外)中,如果存在沒(méi)有設(shè)置變量值的變量,那么系統(tǒng)將會(huì)使用LANG的變量值來(lái)給這個(gè)變量進(jìn)行賦值。如果變量有值,則保持不變
-
LC_CTYPE:用于字符分類和字符串處理,控制所有字符的處理方式,包括字符編碼,字符是單字節(jié)還是多字節(jié),如何打印等,非常重要的一個(gè)變量。
-
LC_NUMERIC:用于格式化非貨幣的數(shù)字顯示
-
LC_TIME:用于格式化時(shí)間和日期
-
LC_COLLATE:用于比較和排序
-
LC_MONETARY:用于格式化貨幣單位
-
LC_MESSAGES:用于控制程序輸出時(shí)所使用的語(yǔ)言,主要是提示信息,錯(cuò)誤信息,狀態(tài)信息,標(biāo)題,標(biāo)簽,按鈕和菜單等
-
LC_PAPER:默認(rèn)紙張尺寸大小
-
LC_NAME:姓名書寫方式
-
LC_ADDRESS:地址書寫方式
-
LC_TELEPHONE:電話號(hào)碼書寫方式
-
LC_MEASUREMENT:度量衡表達(dá)方式
-
LC_IDENTIFICATION:locale對(duì)自身包含信息的概述
-
LC_ALL:它不是環(huán)境變量,它是一個(gè)宏,它可通過(guò)該變量的設(shè)置覆蓋所有LC_*變量,這個(gè)變量設(shè)置之后,可以廢除LC_*的設(shè)置值,使得這些變量的設(shè)置值與LC_ALL的值一致,注意LANG變量不受影響。
優(yōu)先級(jí):LC_ALL > LC_* > LANG
(二)查看當(dāng)前系統(tǒng)所有可用 locale
[root@htlwk0001host ~]# locale -aC C.utf8 en_AG en_AU en_AU.utf8 en_BW en_BW.utf8 en_CA en_CA.utf8 en_DK en_DK.utf8 en_GB en_GB.iso885915 en_GB.utf8 en_HK en_HK.utf8 en_IE en_IE@euro en_IE.utf8 en_IL en_IN en_NG en_NZ en_NZ.utf8 en_PH en_PH.utf8 en_SC.utf8 en_SG en_SG.utf8 en_US en_US.iso885915 en_US.utf8 en_ZA en_ZA.utf8 en_ZM en_ZW en_ZW.utf8 POSIX zh_CN zh_CN.gb18030 zh_CN.gbk zh_CN.utf8 zh_HK zh_HK.utf8 zh_SG zh_SG.gbk zh_SG.utf8 zh_TW zh_TW.euctw zh_TW.utf8
(三)設(shè)置系統(tǒng)的 locale
- 可以修改/etc/profile文件
修改/etc/profile文件,在最下面增加
export LC_ALL=zh_CN.utf8 export LANG=zh_CN.utf8
命令行中使用命令 source 下配置文件,使其生效
- 修改/etc/locale.gen文件
將注釋打開(kāi)即可,修改完成后,執(zhí)行下 locale-gen 命令使其生效
#en_SG ISO-8859-1 en_US.UTF-8 UTF-8 #en_US ISO-8859-1
- 命令行模式
localectl set-locale LANG=en_US.UTF-8
- 修改/etc/default/locale
注銷一下,使其生效
LANG=“en_US.UTF-8” LANGUAGE=“en_US:en”
- 創(chuàng)建/etc/locale.conf文件
LANG=en_AU.UTF-8 LC_COLLATE=C LC_TIME=en_DK.UTF-8
source 使其生效
相關(guān)推薦:《Linux視頻教程》