歡迎您光臨本站 註冊首頁

設定Locale

←手機掃碼閱讀     火星人 @ 2014-03-24 , reply:0

在Linux中通過locale來設置程序運行的不同語言環境,locale由ANSI C提供支持。locale的命名規則為<語言>_<地區>.<字符集編碼>,如zh_CN.GBK,zh代表中文, CN代表大陸地區,GBK表示字符集。在locale環境中,有一組變數,代表國際化環境中的不同設置:
CODE:
LC_COLLATE,定義該環境的排序和比較規則
LC_CTYPE,用於字元分類和字元串處理,控制所有字元的處理方式,包括字元編碼,字元是單位元組還是多位元組,如何列印等。是最重要的一個環境變數。
LC_MONETARY,貨幣格式
LC_NUMERIC,非貨幣的數字顯示格式
LC_TIME,時間和日期格式
LC_MESSAGES,提示信息的語言。

另外還有一個LANGUAGE參數,它與LC_MESSAGES相似,但如果該參數一旦設置,則LC_MESSAGES參數就會失效。 LANGUAGE參數可同時設置多種語言信息,如LANGUANE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"。
LANG,LC_*的默認值,是最低級別的設置,如果LC_*沒有設置,則使用該值。類似於 LC_ALL
LC_ALL,它是一個宏,如果該值設置了,則該值會覆蓋所有LC_*的設置值。注意,LANG的值不受該宏影響

舉個例子,使用zh_CN.GBK中文locale:
CODE:
einstein:~# export LC_ALL=zh_CN.GBK
einstein:~# locale
LANG=zh_CN.GB2312
LC_CTYPE="zh_CN.GBK"
LC_NUMERIC="zh_CN.GBK"
LC_TIME="zh_CN.GBK"
LC_COLLATE="zh_CN.GBK"
LC_MONETARY="zh_CN.GBK"
LC_MESSAGES="zh_CN.GBK"
LC_PAPER="zh_CN.GBK"
LC_NAME="zh_CN.GBK"
LC_ADDRESS="zh_CN.GBK"
LC_TELEPHONE="zh_CN.GBK"
LC_MEASUREMENT="zh_CN.GBK"
LC_IDENTIFICATION="zh_CN.GBK"
LC_ALL=zh_CN.GBK

因為我們剛開始按安裝的時候選擇的是簡體中文模式,所以默認的Locale也就是簡體中文,當然我們還能增加新的locale和更改locale設置: dpkp-reconfigure locales,也可手動修改/etc/locale.gen文件,添加新的locale,然後執行locale-gen,即可生成新的locale,再通過設置上面說的LC_*變數就可設置系統的locale了。下是我的locale.gen文件:
CODE:
zh_CN GB2312

en_GB ISO-8859-1
en_GB.ISO-8859-15 ISO-8859-15
en_GB.UTF-8 UTF-8
en_US ISO-8859-1
en_US.ISO-8859-15 ISO-8859-15
en_US.UTF-8 UTF-8
zh_CN.GB18030 GB18030
zh_CN.GBK GBK
zh_CN.UTF-8 UTF-8
zh_HK BIG5-HKSCS
zh_HK.UTF-8 UTF-8
zh_TW BIG5
zh_TW.EUC-TW EUC-TW
zh_TW.UTF-8 UTF-8


[火星人 ] 設定Locale已經有420次圍觀

http://coctec.com/docs/linux/show-post-134509.html