iT邦幫忙

DAY 11
3

Linux Pi的奇幻旅程系列 第 8

Linux Pi的奇幻旅程(11)-中文化

依據Net Applications (http://www.netmarketshare.com/)的作業系統統計:
Windows 90.81%
Mac 7.54%
Linux 1.65%
Linux已有所成長, 繼續支持上升的趨勢.

上一篇: Linux Pi的奇幻旅程(10)-設定
http://ithelp.ithome.com.tw/question/10132666
下一篇: Linux Pi的奇幻旅程(12)-加速
http://ithelp.ithome.com.tw/question/10133515
全部: http://ithelp.ithome.com.tw/ironman6/player/bizpro/alll/1
以raspi-config設定en_US.UTF-8為主語系, 在raspi-config這個腳本中用到的命令是update-locale, 這也是一個腳本. 而這個命令主要的作用就是編輯檔案/etc/default/locale, 看看編輯後的內容:
pi@raspberrypi ~ $ cat /etc/default/locale

File generated by update-locale

LANG=en_US.UTF-8
其實可以直接編輯這個檔案, 只需$ sudo nano /etc/default/locale, 然後將LANG=en_US.UTF-8輸入進去就好了, 也可以用sed這工具程式. 而用update-locale是很簡便的.

Linux的中文化有四個部份:

  1. 中文定義檔, 也就是中文翻譯.
  2. 中文語系
  3. 中文字型
  4. 中文輸入法

要對Raspbian中文化, 當然需要完成這四個中文化的部份, 而raspi-config只可以幫助我們做中文語系的設定, 我們仍需從命令列安裝中文字型和中文輸入法. 因此, 就直接用指令來設定吧.

  1. 中文定義檔, 也就是中文翻譯: 現代的Linux都應該有中文定義檔. 檢查看看:
    pi@raspberrypi ~ $ sudo ls /usr/share/i18n/locales | grep zh_TW
    zh_TW
    看到了zh_TW了, 表示正體中文的定義檔已存在了, 就不需另外安裝了. 既然有正體中文, 順便檢查看看是否有其它的中文定義檔:
    pi@raspberrypi ~ $ sudo ls /usr/share/i18n/locales | grep zh_
    zh_CN
    zh_HK
    zh_SG
    zh_TW
    果然中國(zh_CN), 香港(zh_HK), 新加坡(zh_SG), 和台灣(zh_TW)都有.
    之前介紹過grep這個常用的指令, 這裡表示要把以ls命令列出目錄/usr/share/i18n/locales中所有的語言定義檔的檔名將檔名以zh_開頭的過濾出來. 這也比用zh_TW找到更多的中文定義檔了. grep這指令很常用的.

  2. 中文語系: 語系就是locale, 這也是一個指令.
    pi@raspberrypi ~ $ sudo locale -a
    C
    C.UTF-8
    en_GB.utf8
    en_US.utf8
    POSIX
    這指令列出了系統上目前已安裝的語系, 並沒有zh_開頭的. 看來必需安裝了. 一般上只需下面的指令就可以了:
    pi@raspberrypi ~ $ sudo locale-gen zh_TW.UTF-8
    Generating locales (this might take a while)...
    en_GB.UTF-8... done
    en_US.UTF-8... done
    Generation complete.
    但是輸出的結果看不到en_TW.UTF-8... done. 問題是出在Raspbian把中文語系給註釋掉了:
    pi@raspberrypi ~ $ sudo cat /etc/locale.gen |grep zh_

zh_CN GB2312

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_SG GB2312

zh_SG.GBK GBK

zh_SG.UTF-8 UTF-8

zh_TW BIG5

zh_TW.EUC-TW EUC-TW

zh_TW.UTF-8 UTF-8

可以看到所有的中文語系都以#註釋, 因此沒有作用. 可以用
$ sudo nano /etc/locale.gen
來將# zh_TW.UTF-8 UTF-8前的#拿掉, 也可以以強大的sed指令來修改:
pi@raspberrypi ~ $ sudo sed -i 's/# zh_TW.UTF-8 UTF-8/zh_TW.UTF-8 UTF-8/g' /etc/locale.gen
就這樣, 改好了. 檢查看看:
pi@raspberrypi ~ $ sudo cat /etc/locale.gen |grep zh_TW

zh_TW BIG5

zh_TW.EUC-TW EUC-TW

zh_TW.UTF-8 UTF-8

指令sed的-i是in-place的意思, 也就是直接在檔案/etc/locale.gen中修改, 單引號中的s是取代(substitue)的意思,也就是將# zh_TW.UTF-8 UTF-8取代為zh_TW.UTF-8 UTF-8, 後面的g是指將所有(global)找到的字串做修改.

接下來就可以產生正體中文語系了:
pi@raspberrypi ~ $ sudo locale-gen
Generating locales (this might take a while)...
en_GB.UTF-8... done
en_US.UTF-8... done
zh_TW.UTF-8... done
Generation complete.

產生了中文語系, 必需登入到系統設定中:
pi@raspberrypi ~ $ sudo dpkg-reconfigure locales
Generating locales (this might take a while)...
en_GB.UTF-8... done
en_US.UTF-8... done
zh_TW.UTF-8... done
Generation complete.
成功了, 而這個指令的執行過程中會跳出語系設定的畫面:

你會發現zh_TW.UTF-8 UTF-8原本就有了,這也是之前執行locale-gen的關係, 按[OK]按鈕後就跳出下面這畫面了:

這是將zh_TW設定為內定語系. 這個動作其實是修改檔案/etc/default/locale 的內容, 也可以直接修改.
pi@raspberrypi ~ $ cat /etc/default/locale

File generated by update-locale

LANG=zh_TW.UTF-8

  1. 中文字型: 之前開啟中文網頁就可以看到中文了, 但還是再安裝一些中文字型.
    $ sudo apt-get install ttf-wqy-microhei ttf-wqy-zenhei xfonts-wqy

  2. 中文輸入法: Linux上常用的中文輸入系統是scim, 安裝也很簡單, 一樣, 一個指令就夠了:
    pi@raspberrypi ~ $ sudo apt-get install scim scim-tables-zh scim-chewing
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    The following extra packages will be installed:
    dialog fonts-arphic-bsmi00lp fonts-arphic-gbsn00lp fonts-arphic-uming im-config libchewing3 libchewing3-data libscim8c2a
    scim-gtk-immodule scim-modules-socket scim-modules-table ttf-arphic-bsmi00lp ttf-arphic-gbsn00lp ttf-arphic-uming
    Suggested packages:
    scim-uim scim-pinyin scim-hangul scim-m17n scim-prime scim-anthy scim-skk scim-canna scim-tables-additional scim-tables-ja scim-tables-ko
    scim-thai
    Recommended packages:
    scim-bridge-agent
    The following NEW packages will be installed:
    dialog fonts-arphic-bsmi00lp fonts-arphic-gbsn00lp fonts-arphic-uming im-config libchewing3 libchewing3-data libscim8c2a scim
    scim-chewing scim-gtk-immodule scim-modules-socket scim-modules-table scim-tables-zh ttf-arphic-bsmi00lp ttf-arphic-gbsn00lp
    ttf-arphic-uming
    0 upgraded, 17 newly installed, 0 to remove and 0 not upgraded.
    Need to get 23.5 MB of archives.
    After this operation, 63.8 MB of additional disk space will be used.
    Do you want to continue [Y/n]? y
    可以看到apt-get自動安裝了一些字型.

到這裡, 就完成了Raspbian的中文化了, 有圖有真相:


上一篇
Linux Pi的奇幻旅程(10)-設定
下一篇
Linux Pi的奇幻旅程(12)-加速
系列文
Linux Pi的奇幻旅程27

1 則留言

我要留言

立即登入留言