跳轉到內容

FOSS 本地化/亞太地區的本地化工作

來自華夏公益教科書

2003 年冬季,對幾個亞洲國家 FOSS 本地化 工作進行了調查。本地化的進展因地而異。政府對該專案的贊助似乎是實現本地化快速成功的最重要因素。受訪的開發人員無一例外地將“開發自由”作為他們選擇本地化 FOSS 而不是使用專有軟體的首要原因。

CJK 計劃

[編輯 | 編輯原始碼]

中國日本韓國 正式合作開展 FOSS 本地化工作。資金充足且廣泛推廣的“CJK”計劃鼓勵使用本地化的 FOSS,其規模與最富裕的國家相當。

這三個國家擁有教育和科技基礎設施,以及大量技術和語言專家,有潛力在未來十年主導 東亞 的 FOSS 開發。

作為捐助者和顧問,這三個國家都有支援全球 FOSS 計劃的往績。其他國家應該效仿 CJK FOSS 和本地化計劃的技術和組織能力,該計劃由中國軟體行業協會 (CSIA)、日本 IT 服務行業協會 (JISA) 和韓國資訊產業聯合會 (KFII) 領導。

本入門手冊篇幅太短,無法全面詳細介紹 CJK 計劃的出色工作。但是,提供了一些關於 CJK 的參考資料以及該運動關鍵領導人的聯絡方式。[1]

印度語言

[編輯 | 編輯原始碼]

目前已有 GNU/LinuxMozillaOpenOffice.org 的多個本地化印度語言版本可線上獲得。印度程式設計師在本地化方面的深厚技術經驗應該使他們能夠在其他亞洲國家的本地化工作中提供幫助。

印度擁有世界一流的 IT 基礎設施和技能。它還有多種語言。目前,印度資訊科技部正在進行 印地語馬拉地語卡納達語馬拉雅拉姆語泰米爾語泰盧固語梵語 的本地化工作。

至少有兩個獨立的小組以及資訊科技部目前正在進行 泰米爾語 的本地化工作。

一項名為 Indix 的計劃旨在將 GNU/Linux 本地化為大約 10 種印度語言,該計劃由 先進計算發展中心 (CDAC) 主導,該中心是通訊和資訊科技部的科學協會,位於 孟買。此外,正在進行 印地語 GNU/Linux孟加拉語 版本。

英語在 印度 被廣泛使用。因此,底層程式語言很容易理解,這使得工作變得更加容易。對於英語 FOSS 開發,南亞 今天可以與 歐洲美國 競爭。

1993 年,在 日本 的泰國學生開始對 泰語 中的 FOSS 進行 本地化,目的是在 Unix 環境中使用 泰語。後來,類似的運動在 泰國 開始。這兩個運動合併,LinuxTLE 和泰國 Linux 工作組在 1999 年啟動。但是,該運動一直侷限於一個小社群,直到 2001 年中期,由 Sun Microsystems(泰國)贊助的泰語版 OpenOffice.org(名為 Pladao)釋出給公眾。文件由私營出版商完成,作為交換,他們將保留對其作品的版權,以便以後以書籍和手冊的形式出售給公眾。

目前只有 10 人積極參與該專案,開發資源由私營公司和政府共同提供。

泰國開發人員正在使用 GNU 編譯器工具 修改 GNU/Linux,使用 Mozilla 的 "Bugzilla" 進行缺陷跟蹤,使用 CVS 進行版本和原始碼控制。此外,正在為泰國使用者本地化生產力套件 OpenOffice.org

泰國人遇到的主要困難包括缺乏使用者的反饋、缺乏文件以及由於缺乏協調和標準而與其他泰國本地化專案發生衝突。

泰國人打算為私營部門和公共機構推出該軟體,但目前仍處於規劃階段。該團隊尚未看到在泰國推廣使用 FOSS 的高調努力。這可能會在不久的將來發生變化,具體取決於政府和私人資金。與 CJK 的努力相比,泰國擁有更少的開發人員、更少的資金以及更少的外部興趣,因為其市場規模較小。其他泰國本地化專案在第 7-10 頁中進行了討論。

越南語

[編輯 | 編輯原始碼]

FOSS 的越南語本地化工作始於1998 年,最初是由一位愛好者個人進行的。如今,該專案有 20 到 50 人參與。他們都是志願者,免費貢獻自己的資源和時間,並且都使用 FOSS 工具來完成工作。但即使有這麼多人參與,也仍然不夠人手完成所有必要的工作。

越南語本地化的 GNU/LinuxGnomeKDEXFCEFluxboxOpenOffice.orgMozillaXMMSGnuCashGaimKnoppix 正在進行中。

將軟體引入越南人民的計劃包括出版書籍、在主要城市成立使用者組,以及向私營和公共機構提供軟體。目前,已經有一些努力在中學、大學和政府機構推廣 FOSS 的使用。最近,政府頒佈了一項 FOSS 政策。

馬來語

[edit | edit source]

馬來西亞微電子系統研究院 (MIMOS) 推出了一個網站,用於記錄亞洲 FOSS 專案,並提供指向主要資源的連結。MIMOS 的目標是將主要應用程式本地化為國家語言馬來語。MIMOS 已經為政府開發了本地語言 GNU/Linux GUI 和開源應用程式。另外兩個本地化專案是 GNOME,由 Hasbullah Bin Pit 領導,以及 OpenOffice.org,由 MIMOS 帶頭。

高棉語

[edit | edit source]

高棉軟體倡議制定了一個雄心勃勃但資金不足的計劃,旨在為柬埔寨和其他地區的高棉語使用者本地化 FOSS。除了本地化的 GNU/Linux 使用者介面和一些應用程式,他們還打算建立一個開發庫,完成線上和印刷文件,以及為開發人員和終端使用者提供專門的培訓材料。目前尚不清楚有多少人在參與該專案。

與其他地區一樣,高棉團隊希望將軟體提供給私營和政府使用者。他們計劃進行宣傳活動,並期望從國際發展界獲得大量支援,以完成大部分工作。

高棉語本地化規劃的質量很高,這是成功的第一步。與其他發展中國家一樣,資金和人員不足是完成工作的最大障礙。如需瞭解更多資訊,請閱讀第 12-15 頁的高棉語案例研究。

案例研究

[edit | edit source]

泰語本地化

[edit | edit source]

幸運的是,泰語支援在過去幾年透過標準化已經穩定下來。唯一的限制是 GnomeKDEMozillaOpen Office 中國際化框架的準備情況。

泰國的 FOSS 社群在軟體開發和使用者支援方面都做出了巨大貢獻。政府機構也在 FOSS 推向大眾方面發揮著重要作用。

泰語

[edit | edit source]

泰國的官方語言是泰語。泰語是聲調語言,無詞形變化,主要是單音節語言,幾乎所有人口都使用泰語,在不同的地區有幾種方言。詞彙中的大多數多音節詞語都是借用的,主要來自高棉語、巴利語和梵語。

泰語屬於壯語系,包括在阿薩姆邦、緬甸北部、泰國、寮國人民民主共和國、越南北部以及中國雲南、貴州和廣西省份使用的語言。[2]

泰文字母屬於婆羅米語系。泰文字母的最早證據可以追溯到 700 多年前的素可泰時代。多年來,泰文字母逐漸發生變化。當代泰文字母由 44 個子音、21 個母音符號(組合後有 32 個發音)、4 個聲調標記、2 個變音符號和 10 個阿拉伯數字組成。聲調標記、變音符號和一些母音符號疊加在基礎子音的上方或下方。疊加是許多東南亞文字(特別是那些源自婆羅米語系的文字,如寮國語、高棉語和緬甸語)的共同特徵。然而,泰語中沒有像大多數印度文字(例如天城體)那樣的複雜預組合連體字。只需要疊加。寮國語的文字與泰語最為接近。

標準化

[edit | edit source]

標準化是泰語計算機支援成功的關鍵。它允許互操作性,並解決了許多本地化問題。重要的標準包括字元集、鍵盤佈局以及輸入/輸出方法規範。

1984 年以來,泰國的 IT 標準化工作就得到了認可。[3] 當時,許多人努力在計算機中使用 泰語。不同的供應商定義了 26 多套內碼表,導致了不相容性。作為解決方案,泰國工業標準研究院 (TISI) 將它們統一為 TIS 620-2529/1986,作為國家標準。一個突出的遺產是 泰國農業大學 (KU) 在一次成功的研發工作中定義的程式碼表,使泰語系統在 MS-DOS 中得以實現。它是應用最廣泛的標準。因此,計算機程式必須支援這兩種編碼,直到 TIS-620 變得更加流行,而 KU 變得過時。

因此,當 微軟Windows 推向泰國市場時,TIS-620 是唯一採用的編碼。對於 Macintosh 來說也是如此。因此,字元編碼問題得到圓滿解決。

1990 年,TIS-620 進行了修訂,使其符合 ISO 標準,但程式碼表保持完全不變。這個新版本被稱為 TIS 620-2533/1990。修訂使 TISI 能積極參與許多國際標準化活動。例如,它將字元集提交給了 歐洲計算機制造商協會 (ECMA),以在 ISO 2375 庫中註冊,並被指定為 ISO-IR-166,以便它能夠與 ISO/IEC 2022 混合內碼表編碼一起使用。此類實現的一個示例是 GNU Emacs。大約在 1996 年,TISI 技術委員會起草了一份關於 ISO/IEC 8859 拉丁語/泰語部分(第 11 部分)的提案,該提案基於 TIS-620。然而,由於禁止組合字元,該提案被擱置。它在 1999 年被重新啟用,並在 2000 年被確認為國際標準。

人們推動將 TIS-620 程式碼表納入 Unicode 表格。雖然 ISCII 編碼方案(強制所有母音,包括前導母音,始終編碼在子音之後)的影響迫使 Unicode 聯盟 強制泰語更改其編碼方案,但 TISI 為 TIS-620 慣例辯護,因為泰文字母不需要這種複雜性。雖然這使泰語(和寮國語)與其他印度文字不同,但它使泰語(以及可能的寮國語)的實現免受當時缺乏對 ISCII 慣例的支援技術的重大阻礙,以及從已經確立並被廣泛採用的慣例中遷移的負擔。因此,除了必要的程式碼轉換之外,所有用於 TIS-620Unicode 的泰語語言處理程式碼完全相容。

除了字元集之外,泰國鍵盤佈局在1988年被標準化為TIS 820-2531,後來又透過新增特殊符號的鍵進行修改,並在1995年以TIS 820-2538的形式再次釋出。另一個根據字元頻率研究設計的鍵盤變體,稱為Pattajoti,也已問世。但它並不像以前那麼受歡迎,也不是國家標準。

泰國輸入/輸出方法也透過泰國 API 聯盟 (TAPIC) 的努力實現了標準化。該聯盟由一組供應商和學院組成,由國家電子與計算機技術中心 (NECTEC) 贊助。該規範名為 WTT 2.0(來自其泰語縮寫“Wor Tor Tor”,意為“Wing Took Tee”或“到處執行”),於1991年釋出。其內容分為三部分,描述字元集和編碼方案、輸入/輸出方法以及印表機識別號。

儘管 TISI 沒有將其作為國家標準認可,但 WTT 2.0 幾乎被所有參與草案的主要供應商採用,包括DECSunMicrosoftMacIntoshIBM。WTT 2.0 在七年的時間裡一直是事實上的國家標準,直到1998年被 TISI 稱為 TIS 1566-2541。

還有一些與國際標準機構的合作[4],旨在促進供應商之間對泰國語言需求的理解。例如,在1998年,“tis-620”MIME 字元集在網際網路號碼分配機構 (IANA) 註冊,用於網際網路上的資訊交換。[5] 另一個例子是 ISO/IEC 14651(國際字串排序)的附錄,描述瞭如何調整 Unicode 的預定義排序順序以滿足泰國字串排序的要求。

有了這些既定的標準,泰國實現的規範就很明確,互操作性也有保障。這些標準在泰國計算機行業的多項發展中發揮了重要作用,包括 FOSS 本地化。

本地化

[edit | edit source]

泰國 FOSS 的本地化工作始於1993年,由在日本學習的泰國學生髮起,他們以 Manop Wongsaisuwan 發起的 ThaiTeX 專案作為最初的嘗試,在通用排版程式中使用泰語。[6] 隨後,該專案由泰國 Linux 工作組 (TLWG) [7]維護,該工作組成立於1999年。

除了 Thai LaTeX 之外,同一組人員還修改了其他周邊 UNIX 環境以支援泰語。他們的工作可以概括如下:

Manop Wongsaisuwan
ThaiTeX (ttex),X 點陣圖字型。
泰國專案(由 Vuthichai Ampornaramveth 主持)
[8] cttex(ttex 的 C 版本),xiterm+thai(泰國 X 終端),likit(用於 X 的泰國文字編輯器)。
ZzzThai 專案(由 Poonlap Veerathanabutr 領導)
[9] thailatex-component,X 點陣圖字型,xfig 中的泰國支援,泰國-HOWTO 和泰國 RPM。

與此同時,泰國 NECTEC 的研究人員開發了其他泰國支援專案,包括:

Virach Sornlertlamvanich
Omega(基於 Unicode 的 TeX 核心)中的泰國支援,GNU. Emacs 中的泰國支援,機器翻譯以及許多其他 NLP 專案。
Surapant Meknavin
thailatex(基於 babel),泰國搜尋引擎。
Phaisarn Charoenpornsawat
swath(泰國詞語分隔實用程式)。
Theppitak Karoonboonyanan
泰國字串排序,泰國區域設定。[10]
國家字型專案
標準化的字型設計規範,三個公共領域的向量字型(Kinnari、Garuda 和 Norasi)。

另一個值得一提的專案是 Linux SIS(學校網際網路伺服器)[11],該專案由NECTEC 啟動,用於 SchoolNet 專案。[12] 雖然它是一個以伺服器為中心的釋出版,但正是在這個專案中,另一個泰國 FOSS 本地化工作組成立了。透過支援其使用者的郵件列表,志願者們一致認為,需要另一個桌面版釋出版,而且開發起來是可行的,因為幾乎所有上述專家都在那裡。這項任務由泰國 Linux 工作組負責。建立了一個網站(http://linux.thai.net)用於為普通使用者提供支援。建立了一個新的GNU/Linux 釋出版,名為Linux TLE(泰國語言擴充套件),旨在儘可能全面地收集泰國開發人員現有的作品,並將其打包供使用者使用。

除了作為促進泰國使用者使用 FOSS 的工具之外,Linux TLE 還提供了一個開發平臺和一個測試周期,使用者可以透過錯誤報告參與其中。最終目標是從源頭上改進 FOSS 對泰語的支援。因此,將補丁簽入上游專案是最終的成功指標。

到目前為止,TLWG 和 Linux TLE 的許多原始碼已被合併到上游專案中,包括:

  1. GNU C 庫 中的泰國區域設定定義。
  2. XFree86 中的泰國鍵盤對映。
  3. XFree86 中的泰國 XIM。
  4. XFree86 中的泰國字型。
  5. 泰國Pango 模組。
  6. MySQL 中的泰國字串排序。
  7. GTK+GLibQtKDEMozillaXpdf 等。

2000年,Linux TLE 被移交給NECTEC 進行維護。釋出了三個版本(3.0、4.0 和 4.1),並獲得了全國各地使用者的廣泛認可。在2003年,為其建立了一個專門的網站,網址為http://opentle.org。TLWG 繼續構建其使用者和開發者社群。

一些由社群託管和維護的 TLWG 專案包括:

libthai
[13] 一組泰國基本支援例程,包括字元集轉換、輸入/輸出方法、詞語分隔、字串排序等。還提供了一些 Pango GTK+ IM 的外掛。
thaifonts-scalable
[14] 一組可供公眾使用的可縮放字型,以及一些內部開發的字型。所有字型都根據標準技術規範進行維護和改進。
thailatex
[15] 基於 babel 的泰國支援,用於 LaTeX 文件準備,基於 Surapant Meknavin 的工作。

其他旨在增強 FOSS 中泰國環境的重要開發工作包括 Pladao [16] 和 OfficeTLE。[17] 這兩個專案都旨在開發 OpenOffice.org 中的泰國支援。Pladao 由Sun Microsystems(泰國)發起,並得到了 Algorithms Co. 的資助。OfficeTLE 由 NECTEC 發起和運營。這兩個專案並行開展,重點不同。Pladao 功能豐富,而 OfficeTLE 則強調泰語處理質量。許多人希望它們能夠合併,可能透過上游專案實現。

障礙

[edit | edit source]

以下是一些泰國 FOSS 本地化的障礙

  1. 開發人員太少。隨著使用者群的增長,缺乏 FOSS 開發人員來滿足不斷增長的需求和期望是一個大問題。泰國 FOSS 採用過快增長導致社群失衡,無論是使用者與開發人員的比例,還是對價格和自由的非現實期望。更糟糕的是,社群現有的開發人員已經分散,因為他們經常受僱於競爭的企業。專有競爭減少了傳統合作,而傳統合作是泰國 FOSS 發展進步的關鍵。
  2. 誤解。如果希望政府發起一項運動,政府必須充分了解所有問題。政府必須認識到 FOSS 作為開發技術手段和提高開發人員技術技能的益處。否則,這隻會變成一種剝削。據一些人說,儘管泰國政府透過最近的廉價電腦運動普及了 FOSS,但他們也因未能提供適當支援而損害了公眾對 FOSS 的看法。在 FOSS 未準備好時,就將其過早地推廣給未接觸過的使用者只會留下不好的印象。另一方面,聲稱微軟降低專有軟體價格實際上是 FOSS 的成功,可以被視為利用 FOSS 作為談判工具。此外,政府往往將“本地化”視為開發本地GNU/Linux 發行版的活動,但事實並非如此。因此,許多政府政策都錯過了重點,有時還會使情況變得更糟。

寮國本地化

[edit | edit source]

“Laonux” 是寮國語版本的GNU/Linux。本節介紹 Laonux 的實現。同時概述了其成功和發展過程中遇到的障礙。

傳統上,寮國語及其文學作品以兩種文字書寫,即寮國文和喃文。喃文源自蘭納文(現今清邁和泰國北部),而蘭納文又起源於古代孟文。[18] 寮國語屬於泰語族,包括在阿薩姆邦、緬甸北部、泰國、寮國人民民主共和國、越南北部以及中國雲南、貴州和廣西省份使用的語言。[19] 寮國文被認為起源於高棉文字系統。它起源於格蘭薩文字,格蘭薩文字是古代印度婆羅米文字系統的南部形式。[20]

寮國文與其他東南亞文字系統具有相似之處。它遵循複雜的佈局規則,涉及子音、母音、特殊符號、連字和連寫。單詞之間不使用空格,母音出現在子音之前和之後、下方和上方。

障礙和成功

[edit | edit source]

在將 FOSS 本地化為寮國文時,必須完成以下任務

  1. 確定要克服的技術障礙。
  2. 建立世界上第一個英老技術詞典。
  3. 尋找和協調技術志願者。
  4. 建立事實上的技術標準。
  5. 執行和測試工作。
  6. 使用者培訓和教育。
  7. 確定資金來源。

研究如何將GNU/Linux本地化為寮國語的工作始於1999年夏季,最初進展緩慢。經過數月的研究和實驗,確定了技術難題以及可用於解決這些難題的工具。Anousak Souphavanh 從紐約州羅切斯特開始工作,最終組建了一支志願者團隊,包括來自寮國人民民主共和國國立大學的教師和學生,專注於將KDE翻譯成寮國語。寮國語的KDE 桌面允許終端使用者訪問計算機的基本功能,包括電子郵件、Web 瀏覽器和辦公應用程式。

直到2002年,這項工作進展緩慢但穩定,很大程度上得益於來自世界各地 FOSS 愛好者的幫助和頻繁的建議。社群定期提供寶貴的資訊和協助,例如跟蹤技術問題文件、分享解決類似問題的經驗,或者僅僅是鼓勵志願者努力工作。

2002年,Jhai 基金會提供了一小筆津貼,用於支援 Laonux 的開發。與之前一樣,必須對技術問題和工具進行研究,並且需要找到更多志願者來進行必要的翻譯和程式設計工作。程式設計工作在2003年完成。但是,大部分翻譯工作仍未完成。主要障礙是缺乏英老技術詞典。沒有這個詞典,任何翻譯都會不一致,使用者也會感到困惑。

完成詞典後,翻譯剩餘的字串並將它們整合到桌面環境中相對容易。這項工作可以由專業譯者或學生譯者以相對較低的成本完成。但在詞典完成之前,這項工作將繼續以蝸牛般的速度進行。

目前正在從國際發展機構尋求為詞典和譯者提供資金。此外,還需要為專業文件、培訓和使用者教育提供資金。

標準化

[edit | edit source]

寮國文字及其在軟體中的實現缺乏技術標準,這是一個艱鉅的挑戰。以下標準必須完成並正式接受

  1. 字元集。
  2. 鍵盤佈局。
  3. Unicode 字型。
  4. 輸入方法。
  5. 輸出方法。

到目前為止,該專案已經產生了一些非常有用的事實上的技術標準。寮國官員現在認識到這些標準的重要性,並將目標納入自己的目標中。這些標準和技術詞典可以極大地加速隨後的工作。在大多數寮國開發人員同意遵循標準之前,進一步的開發將受到阻礙。

本地化

[edit | edit source]

團隊成員已經解決了以下問題。這些解決方案遵循 ISO 標準,應被未來的本地化工作採用,以避免重複工作和系統之間的不相容。

首先,使用了Unicode 字型,而不是現有的覆蓋英語字母字形的字型,因為這些字型不符合標準。現在,Unicode 是 FOSS 開發人員的全球標準。此外,Kbabel 和KDE 等開發工具都需要Unicode 相容性。

Laonux 是一個KDE 本地化,這就是為什麼字型的渲染由 Qt 庫(而不是Pango 或 X 視窗)處理的原因。Qt 庫檔案“Qt-qfont_X11.cpp”經過了輕微修改,以指向寮國語的適當範圍。最初,寮國字型在堆疊組合字元(即子音和母音)時沒有正確渲染。在 Theppitak Karoonboonyanan 的幫助下,提交了補丁以修復渲染問題。解決這些問題是 Laonux 開發的一項重大突破。

輸入由XKB 處理,XKB 是 X 的鍵盤對映。它用於將按鍵轉換為“X11/keysymdefs.h”中定義的鍵符號,並具有語言切換功能。建立了XKB 寮國鍵,並使用了適當的寮國語Unicode 範圍。最後,建立了GNU C 庫 的寮國語定義。這主要是針對日期/時間和相關問題的 UTF-8 本地設定。

未來計劃

[編輯 | 編輯原始碼]
  1. 繼續開發 Laonux。
  2. 開始本地化 OpenOffice.org
  3. 繼續翻譯 PHP 網站門戶工具。
  4. 開始本地化 Mozilla 和其他網路工具。
  5. 為本地化專案培訓使用者和技術人員。

首要任務是建立英語/寮國語技術詞典。目前尚不清楚這是否將由政府資金、撥款或國際援助資助。沒有這個詞典,軟體的翻譯和本地化就無法完成。另一個優先事項是繼續與其他區域軟體本地化工作合作,特別是在他們已經解決類似問題的情況下。

從長遠來看,需要對 ISO 和寮國政府 IT 標準進行更多修改和更新。這些包括輸入/輸出方法、鍵盤佈局、排序規則、區域設定和額外的寮國語 OpenType Unicode 字型標準。

與大學的本地化合作正在進行中。隨著大多數技術問題的解決,本地化現在主要是一個語言問題。為了避免不必要的英語詞,需要專業的語言學家。如果技術專業人員參與此過程,他們可能會強加他們已經知道的英語。從長遠來看,在切實可行的情況下采用本族語詞語要好得多。但是,如果沒有資金,英語詞語很可能會盛行。

在技術層面上,需要在 IBM 的 ICU 庫中支援寮國語指令碼。ICU 是 OpenOffice.orgJava(由 IBM 和 Sun Microsystems 釋出)的指令碼支援基礎。它是一個完整的庫,包括指令碼渲染、佈局、排序規則(單詞排序)、換行、拼寫檢查等。

已經完成了一些困難而重要的技術工作。但是,在 ICU 中完全整合將迫使我們非常清楚地定義所有這些問題,這將為開發人員使用 Java 和 C++ 建立寮國語應用程式鋪平道路。如果沒有這樣做,專業的寮國語軟體開發將很困難。

高棉語本地化

[編輯 | 編輯原始碼]

本案例研究由 Javier Sola 貢獻。

高棉語

[編輯 | 編輯原始碼]

與泰語和寮國語一樣,高棉語指令碼起源於 Grantha 指令碼,即古代印度婆羅米文字系統的南印度形式。

高棉語指令碼遵循複雜的佈局規則,其中子音可以採用兩種不同的形式(例如,如果子音緊隨另一個子音之後,則小寫形式放在較低的行上)。空格不用於分隔單詞,而是用於表示閱讀中的停頓(非常類似於英語中的逗號)。母音在子音之後發音可能出現在之前、之後、上面、下面;之前和之後(由兩個字形形成);之前和上面;下面和上面;或者子音下面和之後。

目前,對該語言的定義非常糟糕,甚至該語言的母音數量也不清楚。官方參考資料(唯一可用的詞典)中的母音數量與學校教授的母音數量不同。參考詞典按語音排序,因此不可能建立遵循相同順序的系統排序演算法。以相同子音開頭的單詞可能在不同的列表中排序,具體取決於該子音在該單詞中的發音方式。與寮國語本地化專案一樣,英語/高棉語技術詞典不可用,它的缺乏嚴重阻礙了將軟體翻譯成當地語言的努力。

障礙和成功

[編輯 | 編輯原始碼]

KhmerOS 專案首次被考慮時,技術狀況如下:

  1. 高棉語已經包含在 Unicode 中。由一個與柬埔寨政府沒有聯絡的人員團隊在 1996 年修復,Unicode 中的定義後來遭到爭議,但無濟於事。Unicode 聯盟 拒絕更改任何內容,包括新增必要的高棉語母音,理由是這些母音可以透過組合其他現有高棉語字元來形成。聯盟 只允許在現有標準中添加註釋。該標準現在被柬埔寨政府(在其 4.0 版本中)視為固定。
  2. 微軟已經發布了高棉語的 OpenType 規範,並在其 Uniscribe 複雜文字佈局引擎中包含了該語言。MS Publisher 在高棉語中執行良好,但 MS 仍然沒有處理換行或排序。MS Word 在使用高棉語時經常崩潰。
  3. 已經存在一些 OpenType 高棉語字型,雖然沒有一個是公共領域的。
  4. GNU/Linux 環境中,沒有 FOSS 程式是用高棉語實現的,但一些 FOSS(如 Mozilla)在 Windows 下使用 Microsoft Uniscribe 引擎在高棉語中執行良好。
  5. 有些人一直在考慮使用 FOSS 進行高棉語,但這個想法從未超出郵件列表討論。
  6. 已經出現了大量的遺留(非 Unicode)字型。已經定義了多達 26 種不同的字型編碼。它們在 MS Word 中透過修改“normal.dot”執行良好。

瞭解社會狀況也很重要,如下所示:

  1. 高棉語 中缺乏計算機加劇了 數字鴻溝。只有說英語的人才能獲得需要使用計算機的工作。
  2. 由於計算機介面是英語,因此與計算機相關工作中使用的詞語也是英語,引入了許多英語詞,如果軟體被翻譯,這些詞語本來可以很容易避免。
  3. 由於人們必須記憶新的英語單詞(在選單中),因此計算機使用培訓需要很長時間,而且如果不用就會很快忘記。
  4. 沒有英語/高棉語技術詞典。
  5. 政府用途的資料庫開發是不可能的,因為沒有開發出處理遺留或 Unicode 高棉語編碼的資料庫管理系統。
  6. 為了加入 世界貿易組織,柬埔寨已經通過了一項智慧財產權法,該法將在生效後,理論上迫使人們為專有軟體付費。FOSS 允許發展中國家在不花費大量資金的情況下滿足 WTO 的要求。

西班牙計算機科學家 Javier Solá 居住在柬埔寨,他擁有比 FOSS 更多關於計算機和戰略的經驗,他決定看看在這種情況下可以做些什麼。他開始撰寫一個雄心勃勃的專案,該專案包含以下交付成果:

  1. 一個完整的計算機作業系統、辦公套件和普通計算機使用者所需的娛樂應用程式,完全用高棉語。使用者在螢幕上只看到高棉語指令碼。該系統將包括完整的柬埔寨語文件,包括電子版和紙質版。
  2. 一個“開發庫”(一組程式),供軟體開發人員使用,以在他們的應用程式中包含對高棉語的支援;開發庫的文件。
  3. 最多 50 種計算機字型集(Unicode OpenType 字型),用於應用程式選單、文字處理或計算機設計。
  4. 一個 鍵盤佈局,支援驅動程式和 5,000 個支援上述 Unicode 字型的物理鍵盤。
  5. 5,000 個安裝磁碟副本,易於使用,包括所有上述軟體和文件;其中 1,000 個副本附帶完整的印刷文件。
  6. 面向終端使用者的培訓材料,包括系統和應用程式的使用以及使用新鍵盤的打字培訓課程。
  7. 經過培訓的計算機終端使用者培訓師,使用上述材料教授新系統:大學教授、學生和軟體開發公司人員,接受高階 GNU/Linux 和 FOSS 以及使用專案提供的柬埔寨語指令碼支援工具進行應用程式開發的培訓;計算機供應商人員接受系統安裝培訓。
  8. 大學的 FOSS 專業中心,包括經過培訓的教授、學生和配備網際網路連線的計算機。
  9. 軟體開發公司,授權開發基於 FOSS 的需要支援柬埔寨語指令碼的應用程式。
  10. 接受過使用該系統的培訓的政府人員。
  11. 擁有軟體採購方面的專業人員,協調類似機構之間的應用程式,並分析優先順序應用程式以改進治理。
  12. 用於系統部署的營銷材料。
  13. 透過計算機和軟體供應商直接或間接地廣泛宣傳該系統。

該專案不僅考慮最終目標,還考慮程式的翻譯順序。首先,Mozilla(一個電子郵件客戶端)以及OpenOffice.org(一個辦公套件)將在MS Windows下發布。最終,這些將被包含在一個完整的柬埔寨語GNU/Linux版本中,屆時使用者介面將被翻譯。

在考慮並最終拒絕(由於缺乏真正的行業興趣)建立行業聯盟後,該專案很快在柬埔寨當地的開放論壇找到了歸宿,該論壇是一個非政府組織,長期以來一直致力於支援柬埔寨的社會目的技術。

與任何願意聽的人分享專案理念,建立網站(http://www.khmeros.info)以及與對柬埔寨語和計算機感興趣的各種人士建立聯絡,吸引了第一批志願者。

排版師Danh Hong將其柬埔寨語OpenType字型之一發布到公共領域。這是吸引FOSS社群對這種語言感興趣的重要初步步驟。

Lin Chear,一位柬埔寨裔加拿大工程師,開始研究Pango,並在幾天內建立了必要的程式來支援柬埔寨語Gnome及其產品系列中。柬埔寨語將得到Pango 1.6版本的支援。KDE緊隨其後。

在Lin Chear的幫助下,Qt的歐洲維護者開發了支援KDE和使用Qt進行語言支援的程式所需的例程。Lin Chear將Pango補丁應用於Mozilla,並在GNU/Linux上獲得了支援柬埔寨語的Mozilla版本。

回到金邊,KhmerOS專案在開放論壇設施的一個小辦公室落戶。他們利用第一批小額捐款中的1500美元僱用了兩名計算機科學家,並使用幾臺捐贈的舊計算機,在開始翻譯之前,開始建立柬埔寨語計算機術語詞彙表。後來,來自香港商人的捐款使他們能夠購買新計算機。

同時,關於鍵盤和整理演算法的工作和討論正在進行中。泰國語的實現表明,字典式的斷行可以在不區分單詞的語言中進行。使用傳統字型將文字轉換為Unicode編碼的工作也已開始。

Unicode的“佈道”是該專案工作的一個必要部分。大量的資金捐贈給柬埔寨或被非政府組織用於與計算機相關的專案,例如建立所有柬埔寨法律的資料庫。如果這些專案不是用Unicode完成的,那麼這些資料庫在幾年後將變得毫無用處。

未來的計劃包括將專案團隊擴大到5名翻譯人員,其中至少有一名是專業翻譯人員,併發布柬埔寨語電子郵件、瀏覽、文字處理和電子表格程式(ThunderbirdFirefox來自Mozilla,以及OpenOffice.orgWriterCalc)。

這些程式都將在MS Windows2000XP)上釋出,並將提供完整的柬埔寨語文件,以及供計算機培訓專業人員使用的基本柬埔寨語培訓模組。培訓材料對於修正教師使用的語言和術語非常重要,以確保標準化並避免使用太多英語詞

GnomeKDE(或兩者)的翻譯工作始於2004年,以及一系列較小的應用程式,這些應用程式將允許在2005年下半年釋出完整的柬埔寨語GNU/Linux系統。

資金仍然是主要問題。專案速度根據資金進行調整,資金來源要麼是資助,要麼是與需要翻譯程式或與柬埔寨語Unicode相關的服務的公司或其他非政府組織簽訂的合同,這些服務可以由專案本身提供。

在技術層面上,IBM的ICU庫仍然需要支援柬埔寨語指令碼。在ICU中完全整合將迫使該專案明確定義所有此類問題,併為開發Java中的柬埔寨語應用程式鋪平道路。

另一個問題是能夠使用低價計算機。在Microsoft環境中,柬埔寨語Unicode只會在Windows 2000XP中起作用,而這些系統需要具有相當記憶體和大型硬碟的現代計算機。通往低價(即二手)柬埔寨語計算機的途徑一定是在GNU/Linux中,或者是在早期版本的Windows(如Windows 98)中獲得柬埔寨語指令碼支援。

該專案的釋出策略是嘗試讓軟體由計算機供應商預裝,並由“兩美元一張CD”的軟體供應商釋出。這樣可以方便複製和廣泛傳播,從而為該專案節省了複製成本。

政府在IDRC資助下,正在推動WindowsMS Office的本地化。他們既沒有計劃也沒有資源參與FOSS本地化,但據說他們有興趣協調努力,以避免重複工作並確保柬埔寨語(整理等)在這兩個平臺上的實現保持一致。

該專案的目標不是對FOSS教條主義。從短期來看,讓使用者在Windows上用柬埔寨語使用電子郵件比試圖讓他們突然切換到一個全新的系統要好。在智慧財產權法預計將得到嚴格執行之前,還有兩三年時間。這段時間可以作為過渡期,以確保逐步取得成功,而不是試圖強迫一夜之間改變,從而導致失敗。

本地化專案狀態

[edit | edit source]

PAN本地化專案[22]2004年1月巴基斯坦拉合爾舉行的“本地語言計算基礎”培訓期間,對本地化專案的現狀進行了調查[21]。來自13個亞洲國家的參與者被要求提供有關其國家本地化任務現狀的資訊。調查揭示了參與者國家在本地語言計算的標準化、本地化和國家政策方面的現狀。請注意,所採用的非正式調查技術僅對實際情況提供了粗略的描述。

表1總結了關於字元集標準化、鍵盤佈局、鍵區佈局(例如,行動電話)、整理順序、術語翻譯和區域設定定義的調查。

表1 PAN調查:本地化標準
國家 語言 字元集 鍵盤 鍵區 整理順序 介面術語 區域設定
緬甸 緬甸語 x * *
柬埔寨 高棉語 x x
蒙古 蒙古語 x x ? * * x
寮國人民民主共和國 寮國語 x x
尼泊爾 尼泊爾語 * * * * *
斯里蘭卡 僧伽羅語 x x * * *
泰國 泰語 x x * * * x
不丹 宗喀語 x x * *
中國 藏語 x x ?
日本 日語 x x x x x x
孟加拉國 孟加拉語 x ? * * x
阿富汗 普什圖語 x x ? *
伊朗 波斯語 x x * * *
巴基斯坦 烏爾都語 x * * * *

x:已完成;*:部分完成;?:不知道;空白:沒有完成

從表格中可以看出,大多數國家字元集鍵盤佈局似乎定義良好,而其他問題還需要更多工作。

表2總結了GNU/Linux平臺上應用程式本地化的現狀,包括鍵盤輸入、字型、排序和查詢/替換實用程式、自然語言處理、拼寫檢查器和詞典。它還顯示了該國是否釋出了任何GNU/Linux發行版

表2 PAN調查:GNU/Linux上的基本本地化應用程式
國家 語言 鍵盤驅動程式 字型 整理 查詢/替換 NLP 拼寫檢查 詞典 Linux發行版
緬甸 緬甸語 *
柬埔寨 高棉語
蒙古 蒙古語 x x * * * ? x
寮國人民民主共和國 寮國語
尼泊爾 尼泊爾語 x * *
斯里蘭卡 僧伽羅語 * x * *
泰國 泰語 x * x x * * x
不丹 宗喀語
中國 藏語 * * ?
日本 日語 x x x x ? ? ? x
孟加拉國 孟加拉語 x * * ? *
阿富汗 普什圖語 * ? x
伊朗 波斯語 x * x * x * * *
巴基斯坦 烏爾都語 * * x *

x:已完成;*:部分完成;?:不知道;空白:沒有完成

調查顯示,FOSS本地化活動正在許多國家進行。各國之間共享專業知識和資源可以促進這一領域的進展。

對於訊息翻譯,許多亞洲語言本地化專案正在進行中。所有這些專案都可以在網際網路上即時跟蹤。以下連結提供了這些專案中一些專案的當前狀態。

  1. http://i18n.kde.org/stats/gui/HEAD/fullinfo.php
  2. http://www.mandrakelinux.com/l10n/status.php3
  3. http://l10n-status.gnome.org/gnome-2.6/index.html

截至2004年6月,日本和韓國的翻譯人員已經完成了大部分的 FOSS 本地化初期工作。中國緊隨其後,印度和東南亞國家緊隨其後。然而,情況非常不穩定,應檢視上述網站以獲取有關當前狀態的詳細和最新資訊。

腳註

[edit | edit source]
  1. 參見 http://www.linuxinsider.com/story/32421.htmlhttp://www.economist.com/business/displayStory.cfm?story_id=2054746http://encyclopedia.thefreedictionary.com/CJKhttp://www.chinadaily.com.cn/english/doc/2004-05/11/content_329529.htmhttp://www.firstmonday.dk/issues/issue8_10/jesiek/
  2. 泰國語言音訊資源中心,“泰國語言的一些歷史背景”;可從 http://thaiarc.tu.ac.th/thai/thai.htm 獲取。
  3. Koanantakool, T. 和泰國 API 聯盟,計算機與泰語國家電子與計算機技術中心1987年,泰語。
  4. Karoonboonyanan, T. 和 Koanantakool T.,泰國標準化活動和開源運動,國家報告,MLIT-4,緬甸;也可在 www.nectec.or.th/it-standards/mlit99/mlit99-country.html 獲取。
  5. Tantsetthi, T.,“網際網路標準一致的泰語使用宣傳”;可從 http://software.thai.net/tis-620 獲取。
  6. Wongsaisuwan, M.,“泰國 TeX 簡介”;可從 http://thaigate.nii.ac.jp/files/thaitex.pdf 獲取。
  7. 泰國 Linux 工作組,“泰國 LaTeX”;可從 http://inux.thai.net/plone/TLWG/thailatex 獲取。
  8. Ampornaramveth, V.,“NACSIS R&D 泰國專案頁面”;可從 http://thaigate.nii.ac.jp 獲取。
  9. eucthai,“ZzzThai 專案”;可從 http://www.fedu.uec.ac.jp/ZzzThai/ 獲取。
  10. Karoonboonyanan, T.,“泰國排序演算法”;可從 linux.thai.net/thep/tsort.html 獲取;Karoonboonyanan, T.,Raruenrom S. 和 Boonma P.,“泰英雙語排序”;可從 linux.thai.net/thep/blsort.html 獲取;Karoonboonyanan, T.,“泰國語言環境”;可從 linux.thai.net/thep/th-locale 獲取。
  11. 國家電子與計算機技術中心,“Linux SIS:Linux 學校網際網路伺服器”;可從 http://www.nectec.or.th/linuxsis 獲取。
  12. 國家電子與計算機技術中心,“SchoolNet 泰國”;可從 http://www.school.net.th 獲取。
  13. 泰國 Linux 工作組,“LibThai 庫”;可從 http://linux.thai.net/plone/TLWG/libthai/http://libthai.sourceforge.net 獲取。
  14. 泰國 Linux 工作組,“ThaiFonts-Scalable”;可從 http://linux.thai.net/plone/TLWG/thaifonts_scalable/ 獲取。
  15. 泰國 Linux 工作組,“泰國 LaTeX”;可從 http://linux.thai.net/plone/TLWG/thailatex/ 獲取。
  16. 參見 http://www.pladao.org
  17. 參見 http://opentle.org/office-tle
  18. 參見 http://www.lan-xang.com/literature/lit_3.html
  19. 泰國語言音訊資源中心,“泰國語言的一些歷史背景”;可從 http://thaiarc.tu.ac.th/thai/thai.htm 獲取。
  20. 參見 http://seasrc.th.net/font/alphabet.htm
  21. Hussain, S. 和 Gul S.,PAN 本地化專案:一項在亞洲發展本地語言計算能力的區域性倡議,2004 年。
  22. 參見 http://www.panl10n.net/
華夏公益教科書