首页 > 应用开发 > IT综合 > Unicode 中的多语言形式 (转)
Unicode 中的多语言形式
开发基于 Unicode 的全球软件应用程序
Jim Melnick
Inte.NET Interactive Services 总裁
2000 年 9 月
多语言 Unicode 页最实用的一个初步用法将是,把多种语言的类似信息整理成多种形式,以进行纵览或交易。本文分析在 Unicode 中构建多语言形式的前几个步骤,并概述这些内容如何会形成未来全球多语言软件的基础。
Wired 和 Business 2.0 中最近有几篇观点稍有冲突的文章,它们都是通过全球翻译成果(即传统上所说的“机器翻译”)这一多面镜来讨论多语言应用程序和全球电子商务的未来。
多语言网站的基础:全球翻译经验
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 模型可能是为多种民族群体和各种语言服务的库网站的原型。基于 Unicode 的多语言导航页
正如 Maribyrnong 库模型展示的那样,有用的基于 Unicode 的多语言导航页应该相当简洁,每种语言简单地只有几行或几个句子。这将允许将更多的语言放在导航页中(如果条目简洁,可能多达 10 到 15 种)。与目前某些网站简单用图像列出语言标志相比,这又前进了一步。虽然有所帮助,但它本身并没有给用户提供有关该网站的任何更进一步的信息,也没有指出它可能包含哪些内容。要向真正的多语言网站靠近,就需要这种信息(即使是有限的),而对于全球电子商务,它是必需的。目标应该是使用户 — 不管使用何种语言 — 能够很容易找到那种语言,并能够毫不费力地导航到用特定语言提供更多资源的区域。
一旦某个多语言网站确定了这个导航页 "n-lingual" 概念(允许空间增大,其中 "n" 是预想的可能达到的语言数),下一步将是构建基本的 XML 标记,这些标记将使导航页的各个部分相互关联起来,并使它们与网站或数据库的任何更大的顶层通用目标相关联。
实践示范:转向多语言形式
转向这种多语言形式模型 — 如 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 样例
图 2. lang.css:图 1 中的 languag2.xml 所依赖的层叠样式表
<!-- CSS PAGE FOR languag2.xml --> russian { display: block; font-family: Code2000; font-style: italic; font-size: 36pt; } hebrew { display: block; font-family: Code2000; font-size: 36pt; } arabic { display: block; font-family: Code2000; font-size: 36pt; } chinese { display: block; font-family: Code2000; font-size: 48pt; } japanese { display: block; font-family: Code2000; font-size: 48pt; } (注:图 1 和图 2 中所列的两个文件应该放在同一个目录下,然后在支持 XML 的浏览器(如 IE5)中查看。但是,IE5 的某些版本似乎无法处理 XML;您可能需要试一试更新的版本。必须事先将一种 Unicode 字体(如 Code2000、Bitstream Cyberbit 或 Arial Unicode MS)装载到您的浏览器的“字体”中。而且,如果使用的 Unicode 字体不是 Code2000,则 lang2.css 中 "font-family" 后面所列的字体必须作相应的更改。 图 1 和 2 中的示例在同一页面生成各种语言中的任意 Unicode 字符。下面的示例(图 3)又前进了一步,它用多种语言显示单词 "year",其超链接指向(那些语言的)假想的部分。首先列出的是英文的 "year",其后依次是西班牙语、德语、俄语、中文和希伯来语的 "year",每种语言都是用 Unicode 字符表示的。 图 3. year.htm(用多种语言表示的带有象征性超链接的单词 "year")
因为文件是 HTML 格式,所以调用 Year.htm 的浏览器将忽略本例中列出的语言标记: 下一步 现在就可以看到要得到一个结构良好的基于 XML 的框架可能会有多大的复杂性(从语言的数量以及它们之间的关系两方面来看)— 这种框架正是将来真正的多语言全球电子商务所需要的。 参考资料
关于作者
(注:图 1 中的 XML 文件是用十进制形式表示的,要显示它需要有基于 XML 的浏览器和 Unicode 字体。此样例只通过显示各种语言中的任意字符来展示功能。)
开发多语言形式的下一步是创建用于特定目的的各种 XML 标记。这是除了以上示例中所使用的基于语言的标记之外的标记。这些附加的 XML 标记应该指定各语言之间共享的那些元素或嵌套元素,而不管所需的应用程序或用法是什么。但是,从开始就安排好各级 XML 标记之间的关系将是很重要的。
">Global Software Development
Jim Melnick 是 Internet Interactive Services 的总裁,这是一家专门研究多语言应用程序和设计的 Web 咨询服务公司。可以通过 info@PortableExpert.com 与作者联系,也可以访问 PortableExpert.com 来查找有关多语言因特网应用程序的更多信息。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10752019/viewspace-980709/ ,如需转载,请注明出处,否则将追究法律责任。