WEB开发网
开发学院网页设计JavaScript 基于 Dojo 的本地化开发 阅读

基于 Dojo 的本地化开发

 2010-04-13 00:00:00 来源:WEB开发网   
核心提示: Dojo 对 BiDi 的支持首先介绍一下 BiDi language 的概念,它的英文全称是 bi-directional language,基于 Dojo 的本地化开发(7),中文称谓是双向字符集语言,这种语言主要包括希伯来语、阿拉伯语和乌尔都语等,Dojo 也鼓励大家向其提交这些方面的 b

Dojo 对 BiDi 的支持

首先介绍一下 BiDi language 的概念,它的英文全称是 bi-directional language,中文称谓是双向字符集语言。这种语言主要包括希伯来语、阿拉伯语和乌尔都语等。它们的最大特点就是允许双向文—也就是说,他们的本土语言书写顺序是从右往左,而其中的英文单词或商标符号从左向右显示。所以本地化另外一个重要的方面是对 BiDi 的支持。Dojo 对 BiDi 的支持其实就是 widgets 对 BiDi 的支持。Dojo 除了保证 widgets 支持 html 节点属性 dir="rtl" 和 CSS 属性 direction: rtl 外,Dojo 还为 widgets 提供了一些 RTL 风格的 CSS,比如 tundra_rtl.css 和 dijitRtl.css 等。下面以 dijit.Tree 为例,说明如何实现 widgets 的镜像效果。

图 2. dijit.Tree
基于 Dojo 的本地化开发

图 2 是 dijit.Tree 的正常显示效果,其主要代码如下:

清单 3. dijit.Tree 的实现

<div dojoType="dijit.Tree" id="mytree" store="continentStore" query="{type:'continent'}" 
labelAttr="name" label="Continents"> 
…… 
</div> 

图 3. dijit.Tree RTL
基于 Dojo 的本地化开发

图 3 是 dijit.Tree 的镜像显示效果,两种实现方法的主要代码如下:

清单 4. dijit.Tree RTL 的实现

<div dir="rtl" class="dijitRtl"> 
  <div dojoType="dijit.Tree" id="mytree" store="continentStore" 
  query="{type:'continent'}" labelAttr="name" label="Continents"> 
   …… 
  </div> 
</div> 

清单 5. dijit.Tree RTL 的另一种实现

<div style="direction: rtl" class="dijitRtl"> 
  <div dojoType="dijit.Tree" id="mytree" store="continentStore" 
  query="{type:'continent'}" labelAttr="name" label="Continents"> 
   …… 
  </div> 
</div> 

只需要加上两个属性就能实现 dijit.Tree 的镜像,这就大大地减少了开发人员开发 CSS 的工作。而 Dojo 的其他 widgets 也提供了类似的方法实现页面的镜像。

Dojo 本地化的未来方向

虽然 Dojo 对于软件本地化开发提供了强大的支持。但是在具体的使用中,我们也发现其中也确实还有一些不如意的地方。比如 Dojo 自己本地化的翻译工作并不是非常的正确,这一点在其官方网站上也有说明,Dojo 申明其并不能保证这些翻译的资源文件是完全的正确和适当。又比如,其中一些 widget 对 BiDi 的支持还并不完善。Dojo 也鼓励大家向其提交这些方面的 bug。但是无论如何 Dojo 对于本地化的实现框架是非常完美的。我们有理由期待 Dojo 的本地化未来会更好。

本文示例源代码或素材下载

上一页  2 3 4 5 6 7 

Tags:基于 Dojo 本地化

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接