next up previous contents
Next: 命令別名設定 alias, unalias Up: Shell Previous: Bash shell   Contents

語系檔案的變數 (locale)

  • Locale 設定由三個部分所組成:語言代碼 (Language Code)、國碼 (Country Code)、編碼 (Encoding)。 Locale 的設定名稱就是由這三個一起組成:
    語言代碼_國碼.編碼
    
  • Linux distributions 可支援的語系,可以指令 locale 查詢:
    [root@dywOffice ~]# locale -a
    en_AU
    en_AU.ISO-8859-1
    en_AU.UTF-8
    en_GB
    en_GB.ISO-8859-1
    en_GB.UTF-8
    en_US
    en_US.ISO-8859-1
    en_US.UTF-8
    ISO-8859-1
    ISO-8859-10
    zh_CN.GB18030
    zh_CN.GB2312
    zh_CN.GBK
    zh_CN.UTF-8
    zh_HK.GB18030
    zh_HK.UTF-8
    zh_TW
    zh_TW.Big5
    zh_TW.UTF-8
    
  • locale 的定義:
    1. LANG 主語言的環境
    2. LCALL 指定所有的 Locale
    3. LCCTYPE 字元定義 (包含字元分類與轉換規則)
    4. LCMESSAGES 訊息顯示
    5. LCTIME 時間格式
    6. LCNUMERIC 數字格式
    7. LCMONETARY 貨幣格式
    8. LCCOLLATE 字母順序與特殊字元比較
  • 系統語系設定:/etc/sysconfig/i18n
    國際化(Internationalization)被縮寫為 i18n,即只取首尾兩個字母,中間字母為18個。
    [root@dywOffice ~]# cat /etc/sysconfig/i18n
    LANGUAGE=en_US:en
    GTK_IM_MODULE=gcin
    LC_ADDRESS=en_US
    LC_COLLATE=en_US
    QT_IM_MODULE=gcin
    XIM=gcin
    LC_NAME=en_US
    LC_NUMERIC=en_US
    LC_MEASUREMENT=en_US
    LC_TIME=en_US
    LANG=en_US
    LC_IDENTIFICATION=en_US
    LC_MESSAGES=en_US
    LC_CTYPE=zh_TW.UTF-8
    ENC=utf8
    LC_TELEPHONE=en_US
    LC_MONETARY=en_US
    XIM_PROGRAM=gcin
    LC_PAPER=en_US
    XMODIFIERS="@im=gcin"
    
  • 使用者個人語系設定: ~/.i18n
練習題
  1. Bash shell 的語系設定 zh_TW.UTF-8,代表意義為何?
    Sol. 語言代碼 zh、國碼 TW、編碼 UTF-8。
  2. 如何查詢 Linux distributions 可支援的語系?
    Sol. locale -a
  3. Linux 系統語系設定,存在那個檔案?
    Sol. /etc/sysconfig/i18n
  4. Linux 使用者個人語系設定,存在那個檔案?
    Sol. ~/.i18n



2017-07-03