語系檔案的變數 (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. LC ALL 指定所有的 Locale
    3. LC CTYPE 字元定義 (包含字元分類與轉換規則)
    4. LC MESSAGES 訊息顯示
    5. LC TIME 時間格式
    6. LC NUMERIC 數字格式
    7. LC MONETARY 貨幣格式
    8. LC COLLATE 字母順序與特殊字元比較
  • 系統語系設定:/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