使用Dojo Toolkit向Web应用程序添加国际化和本地化功能2014-02-24 ibm Kareem Weller简介Dojo Toolkit 是一个强大的 JavaScript 库,支持 Web 开发人员使用面向对象的窗口小部件,以极少的开发时间和精力创建富互联网应用程序 (Rich Internet Applications, RIA)。这个库中包含 4 个程序包,分别为 Dojo(核心)、Dijit(UI 框架)、dojox(dojo 扩展)和 util。可按原样使用该工具包提供的功能,也可扩展该工具包并创建自己的窗口小部件。工具包中提供的功能包括 DOM 操作、使用 Ajax 开发、事件、数据存储等。Dijit(dojo 窗口小部件)包是 Dojo 自己的 UI 库,包含一组 dojo 类,支持您以最少的努力创建功能丰富且强大的跨平台 Web 2.0 接口。这些 Dojo 窗口小部件或 dijit 受易于操作的主题支持。举例而言,这个程序包中的 dijit 包括按钮、文本字段、编辑器、进度条等。Dojo 的其中一个优势是对国际化和本地化的支持,其目的是通过 dojo/i18n 让此功能成为一个标准特性,dojo/i18n 实际提供了两个不同的特性:资源包,包含一个要在接口上使用的已翻译资源库。一组内置的特性,用于基于 Unicode CLDR,针对一个指定的地区而格式化数字、货币、日期等。您还将看到一个本地化识别日期的示例,并将了解如何创建自定义窗口小部件和 Dojo 所提供的其他基本特性。使用 dojo 工具包,您可以确保内容与开发分析分离,以及确保管理当前内容的简单性。而且,添加新地区不需要任何代码更改。本文将通过为一家虚构的公司 “The Coffee House” 开发一个简单的营销网页,探索 Dojo 中提供的国际化特性。该网站将提供两种语言版本:美国英语和法语。学习完本文之后,您将了解如何构建一个可使用 Dojo Toolkit 轻松本地化的网页。
什么是资源包?
资源包包含表示特定地区的对象。例如,如果您的应用程序需要一个特定于地区的资源,比如一个字符串,那么该应用程序将从与指定地区对应的合适的资源包中加载它。所有特定于地区的资源都在资源包中隔离开来,以确保代码开发与内容管理和本地化工作相分离。构建 The Coffee House 网站图 1 显示了您将在本文中创建的样例网站,随后是页面元素的描述。
图 1. 网站设计

右上角的链接要定义首选的语言,用户会在右上角看到两个针对美国英语 (EN-US) 和法语 (FR) 的链接。单击任意一个链接就会设置 Dojo 的地区(向 URL 添加一个新参数来表明当前地区),并使用该 URL 中表示所选地区的参数来重新加载整个页面。可使用此技术帮助 Dojo 识别当前地区,以加载具有选定语言的页面。主要部分这部分将包含内容(文本、图像、链接等),非常类似于一个包含网站的所有页面的容器。页面将以异步方式加载。所显示的 3 个按钮帮助用户在网站的不同页面间导航。您可以修改这些按钮来创建您喜爱的导航菜单。单击不同按钮时,该窗口小部件将异步加载相应的 HTML 页面。在本例中,这些按钮会将用户带到不同的页面,这些页面分别呈现 The Coffee House 的不同产品(咖啡、茶和果汁)的信息。