基于 Dojo 的本地化开发
2010-04-13 00:00:00 来源:WEB开发网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
图 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
图 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 的本地化未来会更好。
本文示例源代码或素材下载
- ››基于IP地址的vsftp服务器
- ››基于MySQL 水平分区的优化示例
- ››基于CentOS5的Linux下pptp和openvpn的搭建及配置
- ››基于JavaScript的网页版塔防游戏
- ››基于Android平台 QQ大战360手机游戏爆红
- ››基于Windows Azure的云计算应用设计
- ››基于AES算法实现对数据的加密
- ››基于SoPC目标板Flash编程设计的创建及应用
- ››基于SolidWarks齿轮机构的运动分析与仿真
- ››基于Windwos Server 2008故障转移群
- ››基于JavaScript的REST客户端框架
- ››Dojo QuickStart 快速入门教程 (4) 简单的测试框架...
更多精彩
赞助商链接