使用 Dojo 国际化 Web 应用程序

前端之家收集整理的这篇文章主要介绍了使用 Dojo 国际化 Web 应用程序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
世界上很多人的母语并非英语。有的人的母语可能是被广泛应用的语言,比如中文或法文,也可能是很少使用的语言,比如 Bask 语言或依地语。不管这些人的英语水平如何,他们都是您可能的潜在客户,惟一的问题是该如何教会他们使用您的应用程序。您可以很轻松地访问潜在客户的屏幕,但是要将屏幕上的信息传达到他们的大脑则是另一回事。遵循各种国际化(i18n)指导可以帮助解决该问题,让您能够正确地以用户的母语呈现应用程序的网站。这有助于打破语言和文化差异的障碍,扩展市场。在本文中,了解如何使用 Dojo 工具箱的 i18n 特性在网站和 Web 应用程序的上下文实现本地语言支持

简介

Wikipedia 将国际化定义为在无需进行工程性更改的前提下让所设计的软件应用程序能够适应各种语言和地区。(参见 参考资料)。根据这个定义,为了得到国际化的软件,有三个元素必不可少:

  • 负责告知软件其所要运行的本地语言环境的一个元素
  • 可应用到软件当前的本地语言环境的一组翻译文件
  • 负责连接前两个元素的一个组件

在本文中,我们将创建一个简单的国际化 Web 应用程序并展示针对前两个元素的 Dojo 工具箱标准(更多有关 Dojo 的信息,参见 参考资料)。之后,我们将针对第三个元素仔细研究两个 Dojo 用例:html 文件或小部件。

在一个基于 Dojo 的应用程序内设置本地语言环境

本地语言环境是一个参数,用来定义应用程序用户界面应该使用的语言。有的时候,仅仅指定语言可能还不够。不同的国家有可能使用的是近乎相同的语言,只有一些细微差别,比如拼写不同(例如,在美语中的 “center”,在英语中则是 “centre”),再比如同一个意思的用词不同(比如美语中的 “Elevator”,在英语中则是 “Lift”)。 因此,本地语言环境参数除了语言代码之外还要包含国家代码,以此指定应该使用的这种特定的语言。

Dojo 提供了两种用来指定 Web 应用程序本地语言环境的机制。第一种是编程方式(在运行时或设计时),另一种是借助浏览器的默认本地语言环境(在浏览器安装期间定义)设置。

通过编程的方式设置本地语言环境,实际上是在全局对象 djConfig 内指定 “locale” 属性的值。清单 1 的示例展示了如何在设计时将本地语言环境设为 en-us


清单 1:在设计时使用编程方式设置本地语言环境
				
<script type="text/javascript" SRC="dojo.js" djConfig="locale:'en-us'"></script>

另一种可能性是通过编程方式计算本地语言环境(例如,通过从 URL 抽取),然后再设置本地语言环境。清单 2 的示例展示了如何在运行时使用编程方式设置本地语言环境:


清单 2: 在运行时使用编程方式设置本地语言环境
				
<script type="text/javascript">
// Note: this must be done before dojo loads!!!
var djConfig = new Object();
var theLocale = getLocale(); // this function is responsible to determine
// the appropriate locale
djConfig.locale = theLocale;

function getLocale()
{
return “en-us”;
}
</script>

最后一种可能性就是不指定本地语言环境,而是使用浏览器的默认本地语言环境,而这个默认设置是 Dojo 从导航对象提取出来的。默认的行为,正如任何默认设置一样,在您能预见客户机的浏览器和机器配置的情况下非常有用。但这种情况很少见,相反,比较常见的是浏览器使用非用户母语的语言安装或应用程序不熟悉的语言安装(所以应该要避免使用这种方式)。

Dojo 应用程序内的翻译文件

理解了如何设置应用程序的本地语言环境之后,就可以开始学习如何为 Dojo 应用程序提供一组翻译文件,称为 “资源包(resource bundle)” 。

一个资源包是命名相同的一组文件,其中的每个文件都适用于特定的一个本地语言环境。而且每个文件都应该是 JSON 格式。对于我们的这个欢迎应用程序,资源包文件都被命名为 greeting.js。其内容清单 3 所示。


清单 3:针对不同英语语言环境的资源包




本文转自IBM Developerworks中国

请点击此处查看全文

原文链接:https://www.f2er.com/dojo/291908.html

猜你在找的Dojo相关文章