2007/02/02

debian i18n for zh_TW.UTF8

有篇文章不錯,在最底下參考資料最後一條,不過已經不見了,我將之貼下:

From wiki.gentoo.tw
目錄
1 前言

1.1 作者
1.2 目的
1.3 需求
2 環境變數設定 for zh_TW.UTF-8

2.1 使 kernel 支援 unicode
2.2 使 gcc 支援 unicode
2.3 設定使用者環境變數
2.4 設定全域環境變數
2.5 mount

2.5.1 在utf-8 下顯示中文目錄或檔案的方法
3 X window 安裝 for zh_TW.UTF-8
4 X 字型安裝 for zh_TW.UTF-8

4.1 gtk1 for zh_TW.UTF-8
4.2 建議字型
5 中文輸入

5.1 xcin
5.2 gcin
5.3 scim
6 個別程式設定

6.1 X terminal

6.1.1 gnome-terminal
6.1.2 mlterm
6.1.3 urxvt

6.2 網路

6.2.1 samba

6.3 網路: p2p

6.3.1 amule
6.3.2 Azureus
6.3.3 mldonkey
7 編碼轉換問題

7.1 檔案名稱編碼轉換: convmv
7.2 檔案內容編碼轉換: iconv
8 中文列印
9 參考資料

前言

作者

* --betaparticle 12:00 2006年一月23日 (CST): 我只是自願來整理這一篇。如果有什麼問題、需要改進、需要討論的地方,可以跟我討論或是直接更改。


目的

* 讓使用者,在 X Window 環境下,使用 zh_TW.UTF-8 的環境。


需求

* GOT Ebuilds (http://www.gentoo.tw/proj/ebuild/ebuild.xml)


環境變數設定 for zh_TW.UTF-8

使 kernel 支援 unicode

在 kernel 部份,以下部份要編譯:

File Systems -->
Native Language Support -->
(utf8) Default NLS Option
<*> NLS UTF8


還有在 character sets 裡面,選擇必要的語系以下是一般人會用到的:

(todo)

使 gcc 支援 unicode

#localedef -i en_US -f UTF-8 zh_TW.UTF-8

#nano -w /etc/locales.build

en_US/ISO-8859-1
en_US.UTF-8/UTF-8
zh_TW.UTF-8/UTF-8

#emerge glibc -pv

看看USE中有沒有使用userlocales

最後

#emerge glibc

注意: 如果你需要使用到 iconv 轉換其他編碼,請記得加入相關 locale

在 locales.build 中可能會需要的中文地區編碼代號

台灣地區

zh_TW.EUC-TW/EUC-TW
zh_TW.UTF-8/UTF-8
zh_TW/BIG5

簡體地區

zh_CN.GB18030/GB18030
zh_CN.GBK/GBK
zh_CN.UTF-8/UTF-8
zh_CN/GB2312

香港地區

zh_HK.UTF-8/UTF-8
zh_HK/BIG5-HKSCS


設定使用者環境變數

系統 如果是單一 user 使用, 只要在各別 user 的目錄下的 ~/.bash_profile 或 ~/.bashrc 加入 LC_ALL 及 LANG 的設定, 如果要全部都使用, 則可以在 /etc/env.d/ 中加入一個新檔 02locale, 並內部加入 LC_ALL 與 LANG.

#vi /etc/environment

LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"

# source /etc/profile

最後可以用 locale 指令看看是否成功...

# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8


X Window

修改.xinitrc(不過,我都是使用startx來進入x-win的喔)

export LANG="zh_TW.UTF-8"
export LC_ALL="zh_TW.UTF-8"
export LC_CTYPE="zh_TW.UTF-8"

如果是使用XDM之類的進入,Gnome則在/etc/X11/Xsession.d/99x11-common_start 增加或修改

export LANG="zh_TW.UTF-8"
export LC_ALL="zh_TW.UTF-8"
export LC_CTYPE="zh_TW.UTF-8"

如果是使用VNC則修改~/.vnc/xstartup,一樣增加如上。

設定全域環境變數

mount

在utf-8 下顯示中文目錄或檔案的方法

修改/etc/fstab,參數加上nls=utf8即可。

EX:(p.s.這是我mount我的windows分割區的方式。)

/dev/hdaX /mnt/win ntfs noauto,user,rw,nls=utf8,umask=0 0 0
/dev/hdaX /mnt/fat32 vfat user,rw,iocharset=utf8 0 0

ntfs 可以用 nls vfat 要用 iochatset (PS: 我這邊要用 iocharset=utf8 才行, nls=utf8 會出現錯誤訊息. Kernel=gentoo-sources 2.6.11-r9)

vfat 可使用 utf8=1,取代 iocharset=utf8。

X window 安裝 for zh_TW.UTF-8

X 字型安裝 for zh_TW.UTF-8

gtk1 for zh_TW.UTF-8

cp /etc/gtk/gtkrc.zh_TW.big5 /etc/gtk/gtkrc.zh_TW.utf8
編輯 /etc/gtk/gtkrc.zh_TW.utf8 如下:

style "gtk-default-zh-tw" {
fontset = "
-misc-ming(for iso10646)-medium-r-normal--20-0-0-0-c-0-iso10646-1,\
-misc-wcl_07-medium-r-normal--20-0-0-0-c-0-iso10646-1,\
-*-*-medium-r-normal--16-*-*-*-*-*-iso10646-1,*-r-*"
}
class "GtkWidget" style "gtk-default-zh-tw"

將字型更改為使用 iso10646-1 的 unicode 編碼字型 (可用 $ xlsfonts | grep iso10646 找出)

建議字型

* Firefly Sung
* wangttf
* MingLiU (如果弄得到合法版本的話,還不錯看。)


中文輸入

xcin

gcin

不需額外特別設定,參閱 gcin

scim

參閱 Scim-chewing

個別程式設定

X terminal

gnome-terminal

參閱 Gnome-terminal

mlterm

urxvt

urxvt

網路

samba

網路: p2p

amule

參閱Amule

amule 似乎不穩,請考慮使用 ed2k-gtk-gui + overnet

--betaparticle 11:56 2006年一月23日 (CST)(現在還有不穩的情況嗎?我用起來還可以的樣子…)

Azureus

在語系 zh_TW.utf8、檔案系統也是 UTF8 的情況下、使用上無任何問題 :)

mldonkey

參閱 Mldonkey

編碼轉換問題

編碼轉換有兩方面需要解決,一個是檔案名稱的編碼轉換,一個是檔案內容的編碼轉換。
兩者需要分開轉換。

檔案名稱編碼轉換: convmv

它在 portage 的位置是:app-text/convmv
需要轉換的是 vfat,NTFS 之外的檔案系統。
如果您的檔案是放在 vfat,NTFS 的檔案系統內的話,
只需要改變 mount 的參數就可以了。
(原因似乎是 vfat,NTFS 已用 utf-8 為檔名編碼存放檔案)

(from UTF-8教學)

接著就可以開始轉換作業:
直接執行 convmv 它並不會真的轉換,而是列出它會轉換的檔案及轉換結果

$ convmv -f big5-eten -t utf-8 -r <要轉換之目錄>

執行了上述命令,確定它轉換結果沒問題後,接著就可以使用 --notest 參數讓它真的轉換

$ convmv -f big5-eten -t utf-8 -r --notest <要轉換之目錄>


檔案內容編碼轉換: iconv

(from http://www.gentoo.org/doc/en/utf-8.xml)

它是跟著 glibc 一起安裝的。

舉例來說,從 big5 轉到 utf-8
# iconv -f big5 -t utf-8 filename
(建立一個檔存放轉換過的內容)
# iconv -f big5 -t utf-8 filename > newfile

參考資料

http://www.gentoo.org/doc/en/utf-8.xml
http://wiki.gentoo.tw/mediawiki/index.php/Utf-8_env
http://wiki.gentoo.tw/mediawiki/index.php/X-l10n-guide
取自"http://wiki.gentoo.tw/mediawiki/index.php/Zh_TW.UTF-8"

0 意見: