Python 國際化-SIG
國際化-SIG (“i18n”)
本 SIG 提供了一個論壇,用於討論與 Python 國際化相關的問題。
在撰寫本文時(2000 年 3 月),國際化(為節省輸入,以下簡稱“i18n”)功能正在新增到 Python 中。本 SIG 是討論這些功能的主要論壇。涵蓋的主題包括但不限於
- Unicode 支援和編解碼器庫的構建
- 對本地化資訊、日期、數字和時間格式化的支援
- 用於翻譯和本地化 GUI 和 Web 應用程式的框架
可交付成果
即時可交付成果與 Unicode 和編碼支援有關;上述其他主題過於通用且特定於應用程式。
- 一旦 Unicode 補丁進入公共 CVS (2000 年第二季度),立即測試新的 Unicode 功能和隨附的單位元組編解碼器
- 協助新功能的文件編寫 (2000 年第二季度/第三季度)
- 進行一些雙位元組編解碼器的原型實現。在此基礎上,確定 Unicode API 在 C 級別支援專業 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 找到。(現在也作為 Misc/unicode.txt 包含在 Python 2.0 發行版中。)
該提案定義了一個“編解碼器”介面,但為多位元組語言實現編解碼器超出了 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 中支援日語。
- 惠普
- 惠普是 Python 聯盟的成員,最初推動 Python 的 Unicode 工作,以協助其全球 eSpeak 專案。
- Christian Wittern
- Christian 是一位常駐臺灣的漢學家,可以協助處理與中文相關的問題。
資源和連結
感謝 Peter Funk 啟動此列表
- Martin von Loewis 的“Python 國際化”論文,在 1997 年第六屆國際 Python 大會上發表,是瞭解相關問題的好起點。
- Python Unicode 提案本身。
- Python Unicode 教程,作者 Andy Robinson。
- Unicode 聯盟主頁。
- Linux i18n 專案主頁.
- 來自 IBM 研究員的國際化 JavaScript 經驗教訓。
- Unix/Linux 的 UTF-8 和 Unicode 常見問題解答,作者 Markus Kuhn。
- Jim Breen 的日語頁面。與日語和計算相關的大多數事情都可以在這裡點選一兩下找到。
- Basis Technologies 生產一個名為 Rosette 的商業 Unicode 庫;他們的網站上有一些關於設計這些庫所涉及問題的優秀文件。(有一個名為 uniconv 的免費 DOS 程式,它使用該庫在編碼之間轉換檔案;如果我們可以編寫一個 uniconv.py 並對其輸出進行大規模迴歸測試,我們就能完成我們的工作!)
- Sybase 的 Unilib 是另一種廣泛使用的商業產品。
- gettext 是一個用於處理字串查詢的 GNU 庫,它構成了他們的翻譯專案的核心部分。
- fintl.py - 一個純 Python 模組,用於讀取 msgfmt 建立的 .mo 檔案。
- intl.so - GNU gettext C 庫的介面。僅適用於受 GPL 許可並在 Unix-Linux 下執行的國際化應用程式。
- pygettext - Barry Warsaw 用純 Python 重新實現的 gettext。(現在也作為 Tools/i18n/ 的一部分包含在 Python 2.0 中。)
- Python 的日語編解碼器 - 由 Tamito Kajiyama 提供。
- Tom Emerson 在 2002 年華盛頓特區舉行的 Unicode 大會上發表了一篇關於亞洲編解碼器統一架構的論文:Python 2 中文轉碼器套件的設計與實現。
