locales
出自DebianWiki
目錄 |
[編輯] 所需套件
- locales
(若您以中文介面來安裝 Sarge 的話,系統預設上就會安裝這個套件了。)
[編輯] 何謂 Locale,地區語言資訊?
如果想要讓 Linux 能夠完整支援地區的語系,那麼一定要設定好 Locale。否則,即使是支援 i18n 的應用程式還是會自動選擇以英文顯示,怎麼樣也看不到中文的。
註:
該顯示中文的地方全部成了亂碼大多是字型或是 xtt/freetype/fontconfig/xfs 設定, 或是 Xlib、Gtk+、Gtk+ 2.0、QT、Tcl/Tk、wxWidgets 函式庫的問題, 和 locale 十之八九無關。
而什麼是 locale 呢?locale 也就是『地區語言資訊』(筆者自己亂翻的,看得懂就好)。
locale 大多是用在 libc-based 的應用程式上面。
比如說在正體中文的一個『套用』的按鈕,在簡體中文裡就成了『應用』,在英文裡是『Apply』,而在日文裡則是『適用』。
這些全是 locale 幫我們依照著環境變數『LC_MESSAGES』的不同而自動幫我們翻譯的。 如果應用程式發現所指定的環境變數『LC_MESSAGES』並沒有被 locale 支援, 或是沒有使用 locale-gen 來產生這些『地區語言資訊檔』,就會出現如下的錯誤訊息:
locale not supported by C library
[編輯] 如何設定 Locale?
Debian GNU/Linux Woody 設定 locale 的方法是先先將要安裝的地區代碼寫入 /etc/locale.gen 中,然後執行 locale-gen 就可以產生這些『地區語言資訊檔』了。
例如:
cat >> /etc/locale.gen << EOF en_US ISO-8859-1 zh_TW BIG5 ja_JP.EUC-JP EUC-JP EOF locale-gen
而 testing 的環境中也可以下達 dpkg-reconfigure locales 指令來達到同樣目的。
註:
在台灣所使用之正體中文的 Locale 為 zh_TW.Big5, 其中的 zh 指的是『中文』,TW 指的是『台灣』,而『Big5』指的是編碼方式。
在產生了這些『地區語言資訊檔』後,使用環境變數來設定我們想要使用的 Locale 為何。 例:(您可以把這些環境變數寫在 ~/.bashrc、~/.xinitrc 或是 ~/.xsession 中)
export LC_ALL=zh_TW.Big5 export LANG=zh_TW.Big5
在設定完 Locale 後, 可以使用 locale 來查看地區語系的環境變數設定, 或是使用 locale -a 來查看可支援的地區語系。 使用 locale -m 來查看可支援的字集。
[編輯] locale 的環境變數說明
- LANG:指定預設的 Locale。
- LC_CTYPE:字元的轉換規則。比如說,在中文環境下的『中文』兩個字,到了日文環境下就成了『いゅ』這兩個字了。而決定字碼的就是 LC_CTYPE 這個環境變數。
- LC_NUMERIC:數字的表示方法。
- LC_TIME:時間的表示方法。
- LC_COLLATE:文字排序的方式。
- LC_MONETARY:貨幣的格式。
- LC_MESSAGES:指定顯示的文字訊息。
- LC_PAPER:
- LC_NAME:
- LC_ADDRESS:
- LC_TELEPHONE:
- LC_MEASUREMENT:
- LC_IDENTIFICATION:
- LC_ALL:指定所有的 Locale。會蓋過其它的 LC_* 的設定。
![[Main Page]](/upload/4/49/Debian_taiwan_out.png)