FOSS 本地化/亚太地区的本地化工作
前言 — 致谢 — 介绍 — 亚太地区的本地化工作 — 建议 — 附件 A:关键概念 — 附件 B:技术方面 — 进一步阅读 — 资源和工具 — 词汇表 — 关于作者 — 关于 APDIP — 关于 IOSN
在 2003 年冬季,对几个亚洲国家 FOSS 本地化 工作进行了调查。本地化的进展因地而异。政府对该项目的赞助似乎是实现本地化快速成功的最重要因素。受访的开发人员无一例外地将“开发自由”作为他们选择本地化 FOSS 而不是使用专有软件的首要原因。
中国、日本 和 韩国 正式合作开展 FOSS 本地化工作。资金充足且广泛推广的“CJK”计划鼓励使用本地化的 FOSS,其规模与最富裕的国家相当。
这三个国家拥有教育和科技基础设施,以及大量技术和语言专家,有潜力在未来十年主导 东亚 的 FOSS 开发。
作为捐助者和顾问,这三个国家都有支持全球 FOSS 计划的往绩。其他国家应该效仿 CJK FOSS 和本地化计划的技术和组织能力,该计划由中国软件行业协会 (CSIA)、日本 IT 服务行业协会 (JISA) 和韩国信息产业联合会 (KFII) 领导。
本入门手册篇幅太短,无法全面详细介绍 CJK 计划的出色工作。但是,提供了一些关于 CJK 的参考资料以及该运动关键领导人的联系方式。[1]
目前已有 GNU/Linux、Mozilla 和 OpenOffice.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/Linux、Gnome、KDE、XFCE、Fluxbox、OpenOffice.org、Mozilla、XMMS、GnuCash、Gaim 和 Knoppix 正在进行中。
将软件引入越南人民的计划包括出版书籍、在主要城市成立用户组,以及向私营和公共机构提供软件。目前,已经有一些努力在中学、大学和政府机构推广 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]幸运的是,泰语支持在过去几年通过标准化已经稳定下来。唯一的限制是 Gnome、KDE、Mozilla 和 Open 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-620 和 Unicode 的泰语语言处理代码完全兼容。
除了字符集之外,泰国键盘布局在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 几乎被所有参与草案的主要供应商采用,包括DEC、Sun、Microsoft、MacIntosh 和 IBM。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 的许多源代码已被合并到上游项目中,包括:
- GNU C 库 中的泰国区域设置定义。
- XFree86 中的泰国键盘映射。
- XFree86 中的泰国 XIM。
- XFree86 中的泰国字体。
- 泰国Pango 模块。
- MySQL 中的泰国字符串排序。
- GTK+、GLib、Qt、KDE、Mozilla、Xpdf 等。
在2000年,Linux TLE 被移交给NECTEC 进行维护。发布了三个版本(3.0、4.0 和 4.1),并获得了全国各地用户的广泛认可。在2003年,为其创建了一个专门的网站,网址为http://opentle.org。TLWG 继续构建其用户和开发者社区。
一些由社区托管和维护的 TLWG 项目包括:
- thaifonts-scalable
- [14] 一组可供公众使用的可缩放字体,以及一些内部开发的字体。所有字体都根据标准技术规范进行维护和改进。
其他旨在增强 FOSS 中泰国环境的重要开发工作包括 Pladao [16] 和 OfficeTLE。[17] 这两个项目都旨在开发 OpenOffice.org 中的泰国支持。Pladao 由Sun Microsystems(泰国)发起,并得到了 Algorithms Co. 的资助。OfficeTLE 由 NECTEC 发起和运营。这两个项目并行开展,重点不同。Pladao 功能丰富,而 OfficeTLE 则强调泰语处理质量。许多人希望它们能够合并,可能通过上游项目实现。
障碍
[edit | edit source]以下是一些泰国 FOSS 本地化的障碍
- 开发人员太少。随着用户群的增长,缺乏 FOSS 开发人员来满足不断增长的需求和期望是一个大问题。泰国 FOSS 采用过快增长导致社区失衡,无论是用户与开发人员的比例,还是对价格和自由的非现实期望。更糟糕的是,社区现有的开发人员已经分散,因为他们经常受雇于竞争的企业。专有竞争减少了传统合作,而传统合作是泰国 FOSS 发展进步的关键。
- 误解。如果希望政府发起一项运动,政府必须充分了解所有问题。政府必须认识到 FOSS 作为开发技术手段和提高开发人员技术技能的益处。否则,这只会变成一种剥削。据一些人说,尽管泰国政府通过最近的廉价电脑运动普及了 FOSS,但他们也因未能提供适当支持而损害了公众对 FOSS 的看法。在 FOSS 未准备好时,就将其过早地推广给未接触过的用户只会留下不好的印象。另一方面,声称微软降低专有软件价格实际上是 FOSS 的成功,可以被视为利用 FOSS 作为谈判工具。此外,政府往往将“本地化”视为开发本地GNU/Linux 发行版的活动,但事实并非如此。因此,许多政府政策都错过了重点,有时还会使情况变得更糟。
老挝本地化
[edit | edit source]“Laonux” 是老挝语版本的GNU/Linux。本节介绍 Laonux 的实现。同时概述了其成功和发展过程中遇到的障碍。
传统上,老挝语及其文学作品以两种文字书写,即老挝文和喃文。喃文源自兰纳文(现今清迈和泰国北部),而兰纳文又起源于古代孟文。[18] 老挝语属于泰语族,包括在阿萨姆邦、缅甸北部、泰国、老挝人民民主共和国、越南北部以及中国云南、贵州和广西省份使用的语言。[19] 老挝文被认为起源于高棉文字系统。它起源于格兰萨文字,格兰萨文字是古代印度婆罗米文字系统的南部形式。[20]
老挝文与其他东南亚文字系统具有相似之处。它遵循复杂的布局规则,涉及辅音、元音、特殊符号、连字和连写。单词之间不使用空格,元音出现在辅音之前和之后、下方和上方。
障碍和成功
[edit | edit source]在将 FOSS 本地化为老挝文时,必须完成以下任务
- 确定要克服的技术障碍。
- 创建世界上第一个英老技术词典。
- 寻找和协调技术志愿者。
- 建立事实上的技术标准。
- 执行和测试工作。
- 用户培训和教育。
- 确定资金来源。
研究如何将GNU/Linux本地化为老挝语的工作始于1999年夏季,最初进展缓慢。经过数月的研究和实验,确定了技术难题以及可用于解决这些难题的工具。Anousak Souphavanh 从纽约州罗切斯特开始工作,最终组建了一支志愿者团队,包括来自老挝人民民主共和国国立大学的教师和学生,专注于将KDE翻译成老挝语。老挝语的KDE 桌面允许最终用户访问计算机的基本功能,包括电子邮件、Web 浏览器和办公应用程序。
直到2002年,这项工作进展缓慢但稳定,很大程度上得益于来自世界各地 FOSS 爱好者的帮助和频繁的建议。社区定期提供宝贵的信息和协助,例如跟踪技术问题文档、分享解决类似问题的经验,或者仅仅是鼓励志愿者努力工作。
在2002年,Jhai 基金会提供了一小笔津贴,用于支持 Laonux 的开发。与之前一样,必须对技术问题和工具进行研究,并且需要找到更多志愿者来进行必要的翻译和编程工作。编程工作在2003年完成。但是,大部分翻译工作仍未完成。主要障碍是缺乏英老技术词典。没有这个词典,任何翻译都会不一致,用户也会感到困惑。
完成词典后,翻译剩余的字符串并将它们集成到桌面环境中相对容易。这项工作可以由专业译者或学生译者以相对较低的成本完成。但在词典完成之前,这项工作将继续以蜗牛般的速度进行。
目前正在从国际发展机构寻求为词典和译者提供资金。此外,还需要为专业文档、培训和用户教育提供资金。
标准化
[edit | edit source]老挝文字及其在软件中的实现缺乏技术标准,这是一个艰巨的挑战。以下标准必须完成并正式接受
- 字符集。
- 键盘布局。
- Unicode 字体。
- 输入方法。
- 输出方法。
到目前为止,该项目已经产生了一些非常有用的事实上的技术标准。老挝官员现在认识到这些标准的重要性,并将目标纳入自己的目标中。这些标准和技术词典可以极大地加速随后的工作。在大多数老挝开发人员同意遵循标准之前,进一步的开发将受到阻碍。
本地化
[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 本地设置。
- 继续开发 Laonux。
- 开始本地化 OpenOffice.org。
- 继续翻译 PHP 网站门户工具。
- 开始本地化 Mozilla 和其他网络工具。
- 为本地化项目培训用户和技术人员。
首要任务是创建英语/老挝语技术词典。目前尚不清楚这是否将由政府资金、拨款或国际援助资助。没有这个词典,软件的翻译和本地化就无法完成。另一个优先事项是继续与其他区域软件本地化工作合作,特别是在他们已经解决类似问题的情况下。
从长远来看,需要对 ISO 和老挝政府 IT 标准进行更多修改和更新。这些包括输入/输出方法、键盘布局、排序规则、区域设置和额外的老挝语 OpenType Unicode 字体标准。
与大学的本地化合作正在进行中。随着大多数技术问题的解决,本地化现在主要是一个语言问题。为了避免不必要的英语词,需要专业的语言学家。如果技术专业人员参与此过程,他们可能会强加他们已经知道的英语。从长远来看,在切实可行的情况下采用本族语词语要好得多。但是,如果没有资金,英语词语很可能会盛行。
在技术层面上,需要在 IBM 的 ICU 库中支持老挝语脚本。ICU 是 OpenOffice.org 和 Java(由 IBM 和 Sun Microsystems 发布)的脚本支持基础。它是一个完整的库,包括脚本渲染、布局、排序规则(单词排序)、换行、拼写检查等。
已经完成了一些困难而重要的技术工作。但是,在 ICU 中完全集成将迫使我们非常清楚地定义所有这些问题,这将为开发人员使用 Java 和 C++ 创建老挝语应用程序铺平道路。如果没有这样做,专业的老挝语软件开发将很困难。
本案例研究由 Javier Sola 贡献。
与泰语和老挝语一样,高棉语脚本起源于 Grantha 脚本,即古代印度婆罗米文字系统的南印度形式。
高棉语脚本遵循复杂的布局规则,其中辅音可以采用两种不同的形式(例如,如果辅音紧随另一个辅音之后,则小写形式放在较低的行上)。空格不用于分隔单词,而是用于表示阅读中的停顿(非常类似于英语中的逗号)。元音在辅音之后发音可能出现在之前、之后、上面、下面;之前和之后(由两个字形形成);之前和上面;下面和上面;或者辅音下面和之后。
目前,对该语言的定义非常糟糕,甚至该语言的元音数量也不清楚。官方参考资料(唯一可用的词典)中的元音数量与学校教授的元音数量不同。参考词典按语音排序,因此不可能创建遵循相同顺序的系统排序算法。以相同辅音开头的单词可能在不同的列表中排序,具体取决于该辅音在该单词中的发音方式。与老挝语本地化项目一样,英语/高棉语技术词典不可用,它的缺乏严重阻碍了将软件翻译成当地语言的努力。
当 KhmerOS 项目首次被考虑时,技术状况如下:
- 高棉语已经包含在 Unicode 中。由一个与柬埔寨政府没有联系的人员团队在 1996 年修复,Unicode 中的定义后来遭到争议,但无济于事。Unicode 联盟 拒绝更改任何内容,包括添加必要的高棉语元音,理由是这些元音可以通过组合其他现有高棉语字符来形成。联盟 只允许在现有标准中添加注释。该标准现在被柬埔寨政府(在其 4.0 版本中)视为固定。
- 微软已经发布了高棉语的 OpenType 规范,并在其 Uniscribe 复杂文本布局引擎中包含了该语言。MS Publisher 在高棉语中运行良好,但 MS 仍然没有处理换行或排序。MS Word 在使用高棉语时经常崩溃。
- 已经存在一些 OpenType 高棉语字体,虽然没有一个是公共领域的。
- 在 GNU/Linux 环境中,没有 FOSS 程序是用高棉语实现的,但一些 FOSS(如 Mozilla)在 Windows 下使用 Microsoft Uniscribe 引擎在高棉语中运行良好。
- 有些人一直在考虑使用 FOSS 进行高棉语,但这个想法从未超出邮件列表讨论。
- 已经出现了大量的遗留(非 Unicode)字体。已经定义了多达 26 种不同的字体编码。它们在 MS Word 中通过修改“normal.dot”运行良好。
了解社会状况也很重要,如下所示:
- 在 高棉语 中缺乏计算机加剧了 数字鸿沟。只有说英语的人才能获得需要使用计算机的工作。
- 由于计算机界面是英语,因此与计算机相关工作中使用的词语也是英语,引入了许多英语词,如果软件被翻译,这些词语本来可以很容易避免。
- 由于人们必须记忆新的英语单词(在菜单中),因此计算机使用培训需要很长时间,而且如果不用就会很快忘记。
- 没有英语/高棉语技术词典。
- 政府用途的数据库开发是不可能的,因为没有开发出处理遗留或 Unicode 高棉语编码的数据库管理系统。
- 为了加入 世界贸易组织,柬埔寨已经通过了一项知识产权法,该法将在生效后,理论上迫使人们为专有软件付费。FOSS 允许发展中国家在不花费大量资金的情况下满足 WTO 的要求。
西班牙计算机科学家 Javier Solá 居住在柬埔寨,他拥有比 FOSS 更多关于计算机和战略的经验,他决定看看在这种情况下可以做些什么。他开始撰写一个雄心勃勃的项目,该项目包含以下交付成果:
- 一个完整的计算机操作系统、办公套件和普通计算机用户所需的娱乐应用程序,完全用高棉语。用户在屏幕上只看到高棉语脚本。该系统将包括完整的柬埔寨语文档,包括电子版和纸质版。
- 一个“开发库”(一组程序),供软件开发人员使用,以在他们的应用程序中包含对高棉语的支持;开发库的文档。
- 最多 50 种计算机字体集(Unicode OpenType 字体),用于应用程序菜单、文字处理或计算机设计。
- 一个 键盘布局,支持驱动程序和 5,000 个支持上述 Unicode 字体的物理键盘。
- 5,000 个安装磁盘副本,易于使用,包括所有上述软件和文档;其中 1,000 个副本附带完整的印刷文档。
- 面向最终用户的培训材料,包括系统和应用程序的使用以及使用新键盘的打字培训课程。
- 经过培训的计算机最终用户培训师,使用上述材料教授新系统:大学教授、学生和软件开发公司人员,接受高级 GNU/Linux 和 FOSS 以及使用项目提供的柬埔寨语脚本支持工具进行应用程序开发的培训;计算机供应商人员接受系统安装培训。
- 大学的 FOSS 专业中心,包括经过培训的教授、学生和配备互联网连接的计算机。
- 软件开发公司,授权开发基于 FOSS 的需要支持柬埔寨语脚本的应用程序。
- 接受过使用该系统的培训的政府人员。
- 拥有软件采购方面的专业人员,协调类似机构之间的应用程序,并分析优先级应用程序以改进治理。
- 用于系统部署的营销材料。
- 通过计算机和软件供应商直接或间接地广泛宣传该系统。
该项目不仅考虑最终目标,还考虑程序的翻译顺序。首先,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名翻译人员,其中至少有一名是专业翻译人员,并发布柬埔寨语电子邮件、浏览、文字处理和电子表格程序(Thunderbird和Firefox来自Mozilla,以及OpenOffice.org的Writer和Calc)。
这些程序都将在MS Windows(2000和XP)上发布,并将提供完整的柬埔寨语文档,以及供计算机培训专业人员使用的基本柬埔寨语培训模块。培训材料对于修正教师使用的语言和术语非常重要,以确保标准化并避免使用太多英语词。
Gnome或KDE(或两者)的翻译工作始于2004年,以及一系列较小的应用程序,这些应用程序将允许在2005年下半年发布完整的柬埔寨语GNU/Linux系统。
资金仍然是主要问题。项目速度根据资金进行调整,资金来源要么是资助,要么是与需要翻译程序或与柬埔寨语Unicode相关的服务的公司或其他非政府组织签订的合同,这些服务可以由项目本身提供。
在技术层面上,IBM的ICU库仍然需要支持柬埔寨语脚本。在ICU中完全集成将迫使该项目明确定义所有此类问题,并为开发Java中的柬埔寨语应用程序铺平道路。
另一个问题是能够使用低价计算机。在Microsoft环境中,柬埔寨语Unicode只会在Windows 2000和XP中起作用,而这些系统需要具有相当内存和大型硬盘的现代计算机。通往低价(即二手)柬埔寨语计算机的途径一定是在GNU/Linux中,或者是在早期版本的Windows(如Windows 98)中获得柬埔寨语脚本支持。
该项目的发布策略是尝试让软件由计算机供应商预装,并由“两美元一张CD”的软件供应商发布。这样可以方便复制和广泛传播,从而为该项目节省了复制成本。
政府在IDRC资助下,正在推动Windows和MS Office的本地化。他们既没有计划也没有资源参与FOSS本地化,但据说他们有兴趣协调努力,以避免重复工作并确保柬埔寨语(整理等)在这两个平台上的实现保持一致。
该项目的目标不是对FOSS教条主义。从短期来看,让用户在Windows上用柬埔寨语使用电子邮件比试图让他们突然切换到一个全新的系统要好。在知识产权法预计将得到严格执行之前,还有两三年时间。这段时间可以作为过渡期,以确保逐步取得成功,而不是试图强迫一夜之间改变,从而导致失败。
本地化项目状态
[edit | edit source]PAN本地化项目[22]在2004年1月巴基斯坦拉合尔举行的“本地语言计算基础”培训期间,对本地化项目的现状进行了调查[21]。来自13个亚洲国家的参与者被要求提供有关其国家本地化任务现状的信息。调查揭示了参与者国家在本地语言计算的标准化、本地化和国家政策方面的现状。请注意,所采用的非正式调查技术仅对实际情况提供了粗略的描述。
表1总结了关于字符集标准化、键盘布局、键区布局(例如,移动电话)、整理顺序、术语翻译和区域设置定义的调查。
国家 | 语言 | 字符集 | 键盘 | 键区 | 整理顺序 | 界面术语 | 区域设置 |
---|---|---|---|---|---|---|---|
缅甸 | 缅甸语 | 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发行版。
国家 | 语言 | 键盘驱动程序 | 字体 | 整理 | 查找/替换 | NLP | 拼写检查 | 词典 | Linux发行版 |
---|---|---|---|---|---|---|---|---|---|
缅甸 | 缅甸语 | * | |||||||
柬埔寨 | 高棉语 | ||||||||
蒙古 | 蒙古语 | x | x | * | * | * | ? | x | |
老挝人民民主共和国 | 老挝语 | ||||||||
尼泊尔 | 尼泊尔语 | x | * | * | |||||
斯里兰卡 | 僧伽罗语 | * | x | * | * | ||||
泰国 | 泰语 | x | * | x | x | * | * | x | |
不丹 | 宗喀语 | ||||||||
中国 | 藏语 | * | * | ? | |||||
日本 | 日语 | x | x | x | x | ? | ? | ? | x |
孟加拉国 | 孟加拉语 | x | * | * | ? | * | |||
阿富汗 | 普什图语 | * | ? | x | |||||
伊朗 | 波斯语 | x | * | x | * | x | * | * | * |
巴基斯坦 | 乌尔都语 | * | * | x | * |
x:已完成;*:部分完成;?:不知道;空白:没有完成
调查显示,FOSS本地化活动正在许多国家进行。各国之间共享专业知识和资源可以促进这一领域的进展。
对于消息翻译,许多亚洲语言本地化项目正在进行中。所有这些项目都可以在互联网上实时跟踪。以下链接提供了这些项目中一些项目的当前状态。
- http://i18n.kde.org/stats/gui/HEAD/fullinfo.php
- http://www.mandrakelinux.com/l10n/status.php3
- http://l10n-status.gnome.org/gnome-2.6/index.html
截至2004年6月,日本和韩国的翻译人员已经完成了大部分的 FOSS 本地化初期工作。中国紧随其后,印度和东南亚国家紧随其后。然而,情况非常不稳定,应查看上述网站以获取有关当前状态的详细和最新信息。
脚注
[edit | edit source]- ↑ 参见 http://www.linuxinsider.com/story/32421.html 、 http://www.economist.com/business/displayStory.cfm?story_id=2054746 、 http://encyclopedia.thefreedictionary.com/CJK 、 http://www.chinadaily.com.cn/english/doc/2004-05/11/content_329529.htm 和 http://www.firstmonday.dk/issues/issue8_10/jesiek/ 。
- ↑ 泰国语言音频资源中心,“泰国语言的一些历史背景”;可从 http://thaiarc.tu.ac.th/thai/thai.htm 获取。
- ↑ Koanantakool, T. 和泰国 API 联盟,计算机与泰语,国家电子与计算机技术中心,1987年,泰语。
- ↑ Karoonboonyanan, T. 和 Koanantakool T.,泰国标准化活动和开源运动,国家报告,MLIT-4,缅甸;也可在 www.nectec.or.th/it-standards/mlit99/mlit99-country.html 获取。
- ↑ Tantsetthi, T.,“互联网标准一致的泰语使用宣传”;可从 http://software.thai.net/tis-620 获取。
- ↑ Wongsaisuwan, M.,“泰国 TeX 简介”;可从 http://thaigate.nii.ac.jp/files/thaitex.pdf 获取。
- ↑ 泰国 Linux 工作组,“泰国 LaTeX”;可从 http://inux.thai.net/plone/TLWG/thailatex 获取。
- ↑ Ampornaramveth, V.,“NACSIS R&D 泰国项目页面”;可从 http://thaigate.nii.ac.jp 获取。
- ↑ eucthai,“ZzzThai 项目”;可从 http://www.fedu.uec.ac.jp/ZzzThai/ 获取。
- ↑ 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 获取。
- ↑ 国家电子与计算机技术中心,“Linux SIS:Linux 学校互联网服务器”;可从 http://www.nectec.or.th/linuxsis 获取。
- ↑ 国家电子与计算机技术中心,“SchoolNet 泰国”;可从 http://www.school.net.th 获取。
- ↑ 泰国 Linux 工作组,“LibThai 库”;可从 http://linux.thai.net/plone/TLWG/libthai/ 和 http://libthai.sourceforge.net 获取。
- ↑ 泰国 Linux 工作组,“ThaiFonts-Scalable”;可从 http://linux.thai.net/plone/TLWG/thaifonts_scalable/ 获取。
- ↑ 泰国 Linux 工作组,“泰国 LaTeX”;可从 http://linux.thai.net/plone/TLWG/thailatex/ 获取。
- ↑ 参见 http://www.pladao.org 。
- ↑ 参见 http://opentle.org/office-tle 。
- ↑ 参见 http://www.lan-xang.com/literature/lit_3.html 。
- ↑ 泰国语言音频资源中心,“泰国语言的一些历史背景”;可从 http://thaiarc.tu.ac.th/thai/thai.htm 获取。
- ↑ 参见 http://seasrc.th.net/font/alphabet.htm 。
- ↑ Hussain, S. 和 Gul S.,PAN 本地化项目:一项在亚洲发展本地语言计算能力的区域性倡议,2004 年。
- ↑ 参见 http://www.panl10n.net/ 。