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 中文转码器套件的设计与实现。
