ITPub博客

首页 > 应用开发 > IT综合 > Unicode 中的多语言形式 (转)

Unicode 中的多语言形式 (转)

原创 IT综合 作者:worldblog 时间:2007-12-12 13:57:00 0 删除 编辑
Unicode 中的多语言形式 (转)[@more@]DOWNLOAD Table -->Download it now! FTP://www6.software.ibm.com/software/developerWorks/library/os-mult.pdf">PDF (57.3 KB)
Free Acrobat™ Reader -->

Unicode 中的多语言形式
开发基于 Unicode 的全球软件应用程序

Jim Melnick
Inte.NET Interactive Services 总裁
2000 年 9 月

内容:
 全球翻译经验  Maribyrnong 库模型  基于 Unicode 的导航页  转向多语言形式  下一步  sources">参考资料  关于作者

多语言 Unicode 页最实用的一个初步用法将是,把多种语言的类似信息整理成多种形式,以进行纵览或交易。本文分析在 Unicode 中构建多语言形式的前几个步骤,并概述这些内容如何会形成未来全球多语言软件的基础。

WiredBusiness 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 样例

ф у л м р ц ч ш ם מ ן נ ס ע ף פ ص ض ط ذ ر ز س 語 誢 誥 ぅ え が き ぎ く


(注:图 1 中的 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")



year
año
Jahr
год

שָנָה


因为文件是 HTML 格式,所以调用 Year.htm 的浏览器将忽略本例中列出的语言标记: 等。Year.htm 可转换为带有多个元素(如各种语言中的 等)的一个 XML 文件,但要正确显示 XML 中的这些元素,仍然需要相应的样式表(层叠样式表或 xsl 文件)。

下一步
开发多语言形式的下一步是创建用于特定目的的各种 XML 标记。这是除了以上示例中所使用的基于语言的标记之外的标记。这些附加的 XML 标记应该指定各语言之间共享的那些元素或嵌套元素,而不管所需的应用程序或用法是什么。但是,从开始就安排好各级 XML 标记之间的关系将是很重要的。

现在就可以看到要得到一个结构良好的基于 XML 的框架可能会有多大的复杂性(从语言的数量以及它们之间的关系两方面来看)— 这种框架正是将来真正的多语言全球电子商务所需要的。

参考资料

  • 作者对 Wired 有关全球翻译的系列文章的回应在 "Rants & Raves"(2000 年 8 月)
  • 作者以前的一篇有关 Unicode 与基于 XML 的方案和浏览器的集成的文章可以在 developerWorks 网站上找到:"Globalizing e-commerce: Open standards like XML and Unicode are promoting truly global software"
  • 请转到 Multilingual Computing and Technology 以查看文章的题目和简短说明。他们的地址是:MultiLingual Computing & Technology,PO Box 247,Sandpoint,ID 83864-9929。
  • 十六进制数可以通过 Unicode 组织出版的书和 CD 获得,也可以在因特网上查看 Unicode 表
  • 查看 dmoz.org 可以获得有关全球化、机器翻译和相关问题的丰富参考资料。有关全球化问题的其他讨论,另请参阅 CIO 的 Globalization Research Center。所提及的到 Microsoft Windows 2000 网站的链接在 ASP">Global Software Development。
  • Maribyrnong 多语言库页位于 Maribyrnong Library Services,而说明其开发及某些相关问题的文章在 Mail.com.au/~andjc/papers/cn99.html">Multilingual Unicode Web page development。
  • 有关详细的背景资料以及外语字体和 XML 的使用,请参阅 Neil Bradley 的 The XML Companion,第 13 章,"Character Sets"(Addison-Wesley,1998)。
  • 各个厂商对 Unicode 字体的开发正处于不同的阶段,而 Unicode 本身仍然是一项发展中的工作。但是,主要语言的字形大部分已经完成,虽然各项细节仍在制订中。本文中使用的基于 Unicode 的字体样例是 Code2000.TTF,这是一个包含 28,000 多个字形的共享软件字体。该字体要花 5 美元注册,请联系 James Kass,424 W. Commonwealth #304,Fullerton,CA 92832。Kass 的网站是:http://home.att.net/~jameskass/
  • 其他 Unicode 字体可在 Alan Wood 的 Unicode 资源网站的 "Fonts that Support Unicode" 找到。
  • Unicode 最新标准 (3.0) 的书和 CD(2000 年 2 月)由 Unicode 联盟出版(1,072 页),可从 Amazon.com 购买,定价为 49.95 美元。Unicode 的官方网站是:http://www.unicode.org/

关于作者
Jim Melnick 是 Internet Interactive Services 的总裁,这是一家专门研究多语言应用程序和设计的 Web 咨询服务公司。可以通过
info@PortableExpert.com 与作者联系,也可以访问 PortableExpert.com 来查找有关多语言因特网应用程序的更多信息。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-992064/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论