Python 國際化-SIG
國際化-SIG ("i18n")
此 SIG 提供了一個討論與 Python 國際化相關問題的論壇。
在撰寫本文時(2000年3月),國際化(以下簡稱 “i18n”,以節省打字時間)功能正在新增到 Python 中。 這個 sig 是討論這些功能的主要論壇。涵蓋的主題包括但不限於
- Unicode 支援和構建編解碼器庫
- 對區域設定資訊、日期、數字和時間格式化的支援
- 用於翻譯和本地化 GUI 和 Web 應用程式的框架
交付成果
直接交付成果與 Unicode 和編碼支援有關;上面的其他主題過於籠統且特定於應用程式。
- 一旦 Unicode 補丁進入公共 CVS(2000 年第二季度),就立即測試新的 Unicode 功能和提供的單位元組編解碼器
- 協助編寫新功能文件(2000 年第二/三季度)
- 進行一些雙位元組編解碼器的原型實現。在此基礎上,確定 C 級 Unicode API 需要哪些更改和新增,以支援專業的 i18n 工作,並幫助在 1.6 版本及時將其納入核心。(2000 年第二季度)
- 此後,開始實現一套完整的編解碼器,支援世界上大多數語言。(2000 年第三季度至第四季度及以後)
背景
1999 年中期,Python 聯盟成員強烈要求將 i18n 功能新增到 Python 中。在 python-dev 列表上進行討論後,CNRI 聘請 Marc-Andre Lemburg 新增 Unicode 字串和對 Python 核心的相關更改(基於 Fredrik Lundh 的正在執行的 Unicode 字串實現),並聘請 Fredrik Lundh 開發基於 Unicode 的正則表示式引擎。這些任務即將完成,並將很快釋出到公共 CVS 中。
這些任務所基於的規範可以在 http://starship.python.net/crew/lemburg/unicode-proposal.txt 找到。(現在也在 Python 2.0 發行版中,作為 Misc/unicode.txt。)
該提案定義了一個“編解碼器”介面,但是實現多位元組語言的編解碼器超出了 Marc-Andre 的範圍,將留給 SIG 的成員。
在第八屆國際 Python 會議上有一個 i18n 論壇,在該論壇上商定了上述交付成果,並且 SIG 是由此形成的。
主要人員和組織
如果您可以透過某種特定的方式提供幫助,並且認為應該在此處列出,請聯絡 Andy Robinson 並附上簡短的個人簡介。此列表是初稿,省略了 sig 上的許多關鍵人物,但是您必須告訴我您的情況才能被列出!
- Marc-André Lemburg
- 實現核心 Unicode 功能
- Fredrik Lundh,Secret Labs AB
- 實現 Unicode 正則表示式引擎
- Andy Robinson,ReportLab Inc.
- SIG 版主;日語使用者,過去一年在一家共同基金公司從事 Python 日語轉換工作。ReportLab (http://www.reportlab.com/) 正在開發多語言 PDF 報告工具,並且需要在今年晚些時候實現對亞洲書寫系統的全面支援。
- Brian Takashi Hooper,Digital Garage
- Digital Garage 是一家總部位於東京的諮詢和網際網路服務公司,擁有 70 多名員工。他們過去已經為日語實現了自己的編解碼器,並且迫切需要在 Python 中支援日語。
- 惠普
- HP 是 Python 聯盟的成員,最初推動了 Python 的 Unicode 工作,以協助其全球 eSpeak 計劃。
- Christian Wittern
- Christian 是一位在臺灣的漢學家,可以協助解決與中文相關的問題。
資源和連結
感謝 Peter Funk 啟動了這個列表
- Martin von Loewis 的“Python 國際化”論文,該論文於 1997 年在第六屆國際 Python 會議上發表,是全面瞭解所涉及問題的絕佳之處。
- Python Unicode 提案本身。
- Python Unicode 教程,作者:Andy Robinson。
- Unicode 聯盟主頁。
- Linux i18n 專案主頁.
- 從 JavaScript 國際化中吸取的教訓,來自一位 IBM 研究員。
- 適用於 Unix/Linux 的 UTF-8 和 Unicode 常見問題解答,作者:Markus Kuhn。
- Jim Breen 的日語頁面。與日語和計算相關的大多數內容都可以透過一兩次點選從這裡找到。
- Basis Technologies 製作了一個名為 Rosette 的商業 Unicode 庫;他們的網站上有一些關於設計這些庫所涉及問題的很好的文件。(有一個免費的 DOS 程式叫做 uniconv,它使用這個程式在編碼之間轉換檔案;如果我們能寫一個 uniconv.py 並針對其輸出進行大規模迴歸測試,我們就完成了我們的工作!)
- Unilib 來自 Sybase,是另一個廣泛使用的商業產品。
- gettext 是一個用於處理字串查詢的 GNU 庫,它是其翻譯專案的核心部分。
- fintl.py - 用於讀取 msgfmt 建立的 .mo 檔案的純 Python 模組。
- intl.so - 到(GNU)gettext C 庫的介面。僅在國際應用程式受 GPL 保護並將在 Unix-Linux 下執行時才有用。
- pygettext - Barry Warsaw 用純 Python 重新實現的 gettext。(現在也作為 Python 2.0 的一部分,在 Tools/i18n/ 中。)
- 用於 Python 的日語編解碼器 - 由 Tamito Kajiyama 提供。
- Tom Emerson 在 2002 年於華盛頓特區舉行的 Unicode 會議上發表了一篇關於亞洲編解碼器統一架構的論文:為 Python 2 設計和實現一套中文轉碼器。