论坛首页 Web前端技术论坛

如何汉化ExtJs4.X官方没有汉化的组件。

浏览 3279 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-06-02  
首先做下说明:
这个方法使用范围是ext所有范围,也就是说包括Ext-ux组件包。
官方没有汉化的或者已经汉化的组件都可以用这个方法汉化。官方汉化的方法是静态的直接覆盖变量。
这个方法(我要介绍的)是官方自己出的,类似面向对象语言的【覆盖】仔细查看每一个组件都有一个方法。
如下:
override( Object members ) : Ext.BaseSTATIC
Override prototype members of this class. Overridden methods can be invoked via callOverridden
这个方法还是静态的。是定义在Ext.Base中,这个Ext.Base类似java中的Object父类。
组件简介继承该类。
这个方法很简单,就是覆盖自身定义时候某些属性用的。
可以覆盖属性,当然就包括函数,【javascript中函数也是属性,基于对象语言,这个语言允许一切都是伪对象】
看下利用这个类汉化的方法:
Ext.grid.feature.Grouping.override({
						groupByText : '用这个分组',
						showGroupsText : '在分组中显示',
						groupHeaderTpl : '分组:{name}({rows.length}条)'
					});

  我们绝对不建议在写文件的时候定义文本文字:
我们定义不起,用一万次要定义一万次,如果是十亿次呢?【开个玩笑】
我们不一定能保证团队全都统一,当然可以用资源文件,但是代码冗余还会增加很多繁杂。
不要让相同的代码出现三次以上,即使是覆盖。
   发表时间:2012-06-04  
重复代码出现两次我都无法忍受!
0 请登录后投票
   发表时间:2012-06-04  
soutnila 写道
重复代码出现两次我都无法忍受!

这个 两次应该还可以吧。
比如参数不同的调用两个方法两次。
0 请登录后投票
   发表时间:2012-06-24   最后修改:2012-06-24
Ext.define('Dobe.locale.zh_CN.apps.video.lang.Video', {
    override: 'Dobe.apps.video.view.VideoManagePanel',
    title:'中文标题'
});


ExtJS4之后建议这样汉化
0 请登录后投票
   发表时间:2012-06-26  
maoweiwer 写道
Ext.define('Dobe.locale.zh_CN.apps.video.lang.Video', {
    override: 'Dobe.apps.video.view.VideoManagePanel',
    title:'中文标题'
});


ExtJS4之后建议这样汉化



哥们可否进一步说明该方法是用的范围,我很需要,
0 请登录后投票
   发表时间:2012-07-08   最后修改:2012-07-08
leavesforeye 写道
maoweiwer 写道
Ext.define('Dobe.locale.zh_CN.apps.video.lang.Video', {
    override: 'Dobe.apps.video.view.VideoManagePanel',
    title:'中文标题'
});


ExtJS4之后建议这样汉化



哥们可否进一步说明该方法是用的范围,我很需要,


就是用Dobe.locale.zh_CN.apps.video.lang.Video这个类中的属性去覆盖override属性所指定的类。

如这里会把VideoManagePanel这个类中的title汉化为“中文标题”

EXT4之后就是采用此种汉化方式,你也可以看看官方对多国语言的支持,
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics