Chapter 8. 中文視窗管理程式

Table of Contents
8.1. GNOME 程式的中文支援
8.2. Enlightenment 的中文化
8.3. KDE 的中文化
8.4. WindowMaker 的中文化
8.5. Sawfish 的中文化

8.1. GNOME 程式的中文支援

GNOME 並不是一個軟體,而是由 GNU Project的另一項軟體計劃,而它的目標就是創造出一個完整 而友善的桌面環境。為了達成這個目標,在 GNOME 收集的工具中, 包含了發展工具,網路工具,數學工具,還有系統管理和桌面管理的 工具,甚至連娛樂用軟體和多媒體處理的工具都包含在它的收集之列, 讓您的 X Window 使用起來,簡直有如虎添翼一般。

但 GNOME 的好處不僅僅如此而己,現在在 X Windows 底下, 當您要開啟某個檔案,您只要在 GNOME 的檔案總管按二下就可以檢視它了。這原本只能在 Mac OS 或 MS Windows 看的到的能力,現在在 GNOME 之下,在 X Windows 下也能看到。

GNOME 程式是基於 GTK+ 這個函式庫開發出來的, GTK+ 的國際化一直做的不錯,所以在目前的環境底下,大部分的 GNOME 程式都可以正常使用中文了。

訊息翻譯也由 http://i18n.linux.org.tw 正在進行著, 有空請多多給他們鼓勵吧。

WWW: http://www.gnome.org/

8.1.1. gtk2

在 gnome2.2 之後採用 xft2 & fontconfig 來設定字型, gtk2 的設定方式是用 ~/.gtkrc-2.0, 設定的格式與 ~/.gtkrc相同, 但是取用字型的寫法不ㄧ樣。

style "gtk-default-zh-tw" {
    font_name = "Sans 16"
}
class "GtkWidget" style "gtk-default-zh-tw"

如果要更改預設字型大小直接修改 ~/.gtkrc-2.0 就可以了,而如果是要改顯示的字型則是可以選擇 ~/.gtkrc-2.0 或是 fonts.conf, 而字型名稱可以從 fc-list 這個指令得到。

Note: 中文字在小字的時候,某些字型使用 anti-alias 反而會變得模糊, gtk2 使用 Xft2,設定檔則是 /usr/X11R6/etc/fonts/fonts.conf ,以下的範例是關閉小於 13 點字型時的 anti-aliasing。

        <match target="pattern">
                <test qual="any" name="size" compare="less">
                        <int>13</int>               
                </test> 
                <edit name="antialias" mode="assign">
                        <bool>false</bool>         
                </edit>             
        </match>

另外 gtk2 不支援 OverTheSpot,只支援 Root 及 OnTheSpot, 可以用 gconftool-2 更改設定。如果還是不行,在輸入區按下右鍵, 選取輸入模組 XIM

8.1.2. gtk1

以下是 gtk1 的設定方式,設定檔的內容如下: (應該會在 /usr/X11R6/share/themes/Default/gtk/gtkrc.zh_TW.Big5 )

# $(gtkconfigdir)/gtkrc.zh_TW
#
# This file defines the fontsets for Chinese language (ch) using
# the traditional chinese Big5 encoding as used in Taiwan (TW)
#
# 1999, Pablo Saratxaga <pablo mandrakesoft.com>
#

# IMPORTANT NOTE: The name of this file *MUST* be "gtkrc.zh_TW.big5"
# the lowercasing of "big5" is done on purpose, if you change it it won't work

style "gtk-default-zh-tw" {
        fontset = "-adobe-helvetica-medium-r-normal--16-*-*-*-*-*-iso8859-1,\
                  -taipei-*-medium-r-normal--*-*-*-*-*-*-big5-0,\
                  -*-*-medium-r-normal--16-*-*-*-*-*-big5-0,*-r-*"
}
class "GtkWidget" style "gtk-default-zh-tw"

這個檔案裡面設定了 zh_TW.Big5 環境要用到的字型集, 上面的設定表示在使用 zh_TW.Big5 環境的時候會需要用到兩種字體, 一個是 iso8859-* 的字體,用來顯示英文字,一種是 big5-0 的字體, 用來顯示 BIG5 中文。讀者可以把這個設定檔複製一份到 ~/.gtkrc,更改裡面的設定, 就可以在 GNOME 環境底下使用自己喜歡的字體了。

# cp /usr/X11R6/share/themes/Default/gtk/gtkrc.zh_TW.Big5 ~/.gtkrc

這是筆者偷懶的 ~/.gtkrc 範例

style "default" {
 fontset = "8x16,kc15f,-*-16-*-big5-0"
}
widget_class "*" style "default"

Note: 如果是在 GNOME2 底下使用 gtk1 的程式, 要改成修改 ~/.gtkrc.mine

WWW: GNOME 中文使用手冊

8.1.3. Nautilus 中文字變成 ???

首先要設定好 ~/.gtkrc, 這樣子介面的部份就會是中文的,可是內容的部份還需要修正, 開啟軟體後:

偏好設定 -> 編輯偏好設定 -> 外觀 -> [取消] 使用平滑的圖像

Figure 8-1. nautilus snapshot

Contributed by mingchi@bbs.sayya.org

Q2: 要建立中文新檔或目錄時他用utf8來編碼, 與以前的Big5的檔案系統不和,該如何把他設成也是用 Big5碼來建立新的檔案或資料夾?

A2: glib與gtk2以後,對於檔案命名都是用utf8編碼, 所以用Nautilus新增中文檔名都是用utf8編碼。解決方式為 在自己home底下編輯 ~/.gnomerc 加入 export G_BROKEN_FILENAMES=1 那他就用您預設的locale LANG 與 LC_ALL的變數作編碼囉。

For more detail GTK+-2.2 Specific Notes