Linux 的中文化問題簡介 -------------------------------------------------------------------------------- L

Linux 的中文化問題簡介shell

 

--------------------------------------------------------------------------------bash

兄弟連教育 分享get

www.itxdl.cnit

Linux 的中文化問題簡介io

 

 

、 I18N 與 locale:  方法

 

要將 Linux 中文化,朝着標準走纔是長遠之計。各位若是有見過近代商業版的 UNIX 就會曉得,它們「中文化」之完全,使人驚歎,諸如中文選單、中文訊息 .... 您能想像獲得,或說只能在 Win95/98/NT OS/2 .... 等上頭才見獲得的 中文環境,它們都有。然而,它們的中文並非像目前 Linux 上常見到的那樣,由一堆程式七拼八湊出來的,它們所有都是遵循一個標準: I18N 。  分享

 

I18N 是 InternationalizatioN (國際化) 的縮寫,第一個字 I 與最後一個字 N 之間有 18 的字母,故名。 I18N 並非只有表面上將 X Window 「國際化」而已,它是基在最底層的 libc 上。 libc 必需要有 locale 的支援,才能向 I18N 起步。  語言

 

什麼是 locale? 簡單說就是一組「地區語言」的資訊。它包括了 (詳見 man setlocale):  時間

 

   

 

LC_CTYPE: 字元定義  數字

LC_MESSAGES: 訊息顯示  

LC_TIME: 時間顯示格式  

LC_NUMERIC: 數字顯示格式  

LC_MONETARY: 貨幣顯示格式  

LC_COLLATE: 字母順序與字串比較  

其中,與通常使用者最有關的,是 LC_CTYPE 與 LC_MESSAGES 。 LC_CTYPE 直接關到某些字元或內碼在目前的 locale 下是否可印? 要如何轉換? 對應到那一個字? .... 等等。 LC_MESSAGES 則關到軟體的訊息輸出是什麼樣的語文。真正完整的 locale 支援,是當咱們在 shell prompt 下,直接設好環境變數,則咱們立刻就能切換到那個語文了。例如:  

 

bash: export LC_CTYPE=zh_TW.Big5  

 

有了 locale 的「協定」,使得任何地區的語文,只要在加入適當的 locale data 之後, libc 就能正確地處理它了,而咱們的「中文」固然也不例外。由於前人與 CLE group 的努力,目前咱們已有本身的 locale data 了。有安裝 CLE 的朋友能夠到 /usr/share/locale 下看看, zh_TW.Big5 就是咱們的 locale data, 雖然還不夠完整,但已能 work。  

 

目前 Linux 對於 locale 的支援如何? 能夠大概地說,西方語系差很少沒問題了,但東方語系還有很多問題。若是您的 Linux 系統是用 libc5 (例如 Slackware) 的話,那差很少能夠說支援得至關差,幾乎只能靠「七拼八湊」的方法來有限度地使用中文。若是是用 libc6 (glibc2) 的話,那就有至關的 locale 支援了。  

 

然而,目前大部分使用 glibc2 的系統都是 glibc-2.0.7, 這一版對東方語系的支援還不夠好,特別是 LC_CTYPE ,它沒法辨認、轉換咱們的 Big5 碼,必需要等到 glibc-2.1 以後,才能徹底解決這些問題。但這並非說使用 glibc-2.0.7&

相關文章
相關標籤/搜索