多语言网站的基础:全球翻译经验
Wired 曾发表过一篇论及全球翻译的专文 ("The Global Translation Boom," 2000 年 5 月) 对“全球翻译”的发展前途充分肯定,而 Business 2.0 最近发表的 Boo.com 转让大事记,表明 Boo.com 试图在世界各地的业务中心用多种外语开发网站,但最终失败了。一个前 Boo.com 人的结论是:“首先,忘掉翻译软件。这些程序都不太成熟,(从这个意义上说)它们几乎没有希望能够很快得到改进”(Tristan Louis,“这就是我在 Boo.com 认识到的问题”,Business 2.0,2000 年 8 月 8 日,第 238 页)。也许是 Wired 的专文有点太超前(请参阅该作者在 Wired 的 "Rants & Raves"(2000 年 8 月)中的回应 — 请参阅下面的参考资料),也许 Boo.com 选择另外的多语言方法将会获得成功。
浏览一下最近的任一期 MultiLingual Computing and Technology,就会发现众多厂商和咨询公司都在寻找多语言翻译应用程序、全球化和本地化方面的合作公司。可以肯定,这些公司中至少会有一部分超过路易斯先生的估价。另外,现在就有一些网站(如 "dmoz open directory project" 和 "Globalization Research Center")在提供多语言应用程序和全球化/本地化领域的大量资源。此外,Microsoft 也已开发出 "Global Software Development" 网站(有关我们此处所提及的网站的链接,请参阅参考资料)。
不过,虽然多语言应用程序的开发取得了很大进展,但这些软件短期内仍无法达到那些需要真正全球翻译的人士的要求。从这个意义上来说,这个领域就总体而言仍未迎来“黄金时期”。但是,如果我们能适当降低期望值,不强求由机器翻译的全球化和本地化网站直接用于多语言电子商务,则我们可以就如何实现那一目标作一些有意义的讨论。但这将是一个逐步实现的过程,并且要依赖于各种补充字体、应用程序和功能逐渐出现在网上。例如,Microsoft 声称,Windows 2000 提供“完全的 Unicode 支持”,并包括“多语言用户界面 (MUI)”。帮助将目前的事务状态与将来更有前途的全球电子商务联系起来的,将是 Unicode 与基于 XML 的方案和浏览器的集成(有关这一问题的详细信息,请参阅参考资料中所列的我以前的一篇 developerWorks 文章,"Globalizing e-commerce: Open standards like XML and Unicode are promoting truly global software")。
Maribyrnong 库模型
目前,因特网上真正的多语言 Unicode 网站相对仍然比较少。虽然许多网站以多种语言提供网页,但它们大多数不包括 Unicode 编码。在大多数情况下,用户必须判断如何在英文屏幕上单击才能到达他们自己特定的语言。按我们的理解来看,“多语言”应该是用户能够很快找到他/她自己所用的语言的网页,单击(有希望)能搜索的文本,立即就能链接到以那种语言提供的其他信息。
Maribyrnong Library Services 正在开发这样的一个实验性网站。Maribyrnong 位于澳大利亚的维多利亚,墨尔本中西部。该网站包括 Unicode 中的英语、中文、越南语、阿拉伯语和阿姆哈拉语。在网站的开始几页上,有若干部分用每种语言编写,说特定语言的用户很容易找到他们自己的语言。目标是使他们能够单击那种语言的各种库资源。这种方法提供了一种模型,许多其他类型的多语言网站将来都可以模仿这一模型:用一些简短的基于 Unicode 的章节提供多种语言文字,这些文字又带有到详细信息的超链接。
Andrew Cunningham,Maribyrnong Unicode 网站幕后的一个关键人物,说明了库服务人员开发这个网站的过程。在 "Multilingual Unicode Web page development" 这篇优秀的文章中,Cunningham 定义了一个术语 "n-lingual",用它来指多语言网页,这种网页在一页中包含多种语言,“每种语言都不超过一段”。关键的地方是 "n-lingual" 页(需要时可在其中加入其他语言)作为该网站的导航页。这种导航概念对于将来的各种多语言网站都是很重要的。此外,Maribyrnong 模型可能是为多种民族群体和各种语言服务的库网站的原型。
实践示范:转向多语言形式
转向这种多语言形式模型 — 如 Maribyrnong 示例 — 的第一步是将基于 Unicode 的多种语言字符放在同一个网页上。本节说明如何一起显示一系列任意的俄语、希伯来语、阿拉伯语、中文和日语字符。这些语言是特意选择的(与法语、西班牙语和德语等拉丁字符字体相对照),部分原因是为了说明 Unicode 现在所提供的极大通用性。
在下列示例中,必须将样例复制并粘贴到同一目录下的三个单独的文件中,并装载一种 Unicode 字体。图 1 展示了使用多种语言的 Unicode 字符分配的 XML 代码样例,称为 "languag2.xml"。需要用一个支持 XML 的浏览器,如 Internet Explorer 5 来查看这个文件(注:并不是任何版本的 IE5 都支持 XML;您可能必须尝试更新的版本)。"languag2.xml" 文件依赖层叠样式表 (CSS) 来实际显示这些字符。此文件的名称为 "lang.css"(请参阅图 2)。
基于 Unicode 的字符以 "&#" 开头,如果用十六进制指定,则再跟一个 "x",如果用十进制指定,则没有 "x",然后是十六进制或十进制的数字。在两种情况下,最后一个字符都是一个分号 (" ; ")。在本例中,我们使用十进制数,如希伯来语字符 ם 或中文字符 語,但是如果有该语言的 Unicode 表,则用十六进制书写也一样容易。这些都可以从 Unicode 组织出版的书或 CD 中获得,也可以在因特网上查阅 Unicode 表(请参阅参考资料)。
下一步,必须将一种基于 Unicode 的字体装载到浏览器中;在本例中我们使用 "Code2000.TTF"。一旦装载了 Unicode 字体,文件 "languag2.xml" 就被调入浏览器中。浏览器首次在大的字体文件中搜索正确的字形时可能花一些时间。随后的装载将会快一些。
图 1. languag2.xml:显示俄语、希伯来语、阿拉伯语、中文和日语字符的基于 XML 的 Unicode 样例
图 1 和 2 中的示例在同一页面生成各种语言中的任意 Unicode 字符。下面的示例(图 3)又前进了一步,它用多种语言显示单词 "year",其超链接指向(那些语言的)假想的部分。首先列出的是英文的 "year",其后依次是西班牙语、德语、俄语、中文和希伯来语的 "year",每种语言都是用 Unicode 字符表示的。
因为文件是 HTML 格式,所以调用 Year.htm 的浏览器将忽略本例中列出的语言标记:<Spanish>、<German> 等。Year.htm 可转换为带有多个元素(如各种语言中的 <Name>、<Date> 等)的一个 XML 文件,但要正确显示 XML 中的这些元素,仍然需要相应的样式表(层叠样式表或 XSL 文件)。