Saiku汉化工作记录
2015-09-25 12:13
525 查看
最近公司做内部BI分析工作,研究数周Saiku,几周下来的心得在说一下;
1.saiku不太前端界面不太适合开放用户使用,比较适合企业级应用;
2.saiku 使用jersey rest 框架 cube处理 可调用 rest 接口,最好自己开发前端,然后调用saiku的接口;
3.saiku 本地化使用的js处理
4.saiku的后退管理比较简陋,最好自己开发一个后退管理;
现对汉化进行说明:
先决条件 ,可运行版本的saiku,本次采用saiku3.5源码进行改造
saiku的源码结构
saiku-core 为核心代码,包括 saiku-olap-util、saiku-web、saiku-service,其中 saiku-web为Jersey框架写 服务接口,前端调用方式restful,具体代码在resources包下
Saiku-ui 为前端,使用的Backbone.js的框架,此框架为一个mvc模式的前端框架。
可单独对saiku-ui进行修改
1.找到/saiku-ui/js/saiku/plugins/I18n/po/cn.json
2.找到/saiku-ui/js/saiku/plugins/I18n/plugin.js
saiku处理本地化文件是对含有添加class=”i18n“的html标签进行文本替换,之前以为直接修改cn.json的本地化文件就可以汉化,结果发现添加了中英文对照未起作用,
发现 如下,
需要说明的是,许多js文件中并没有添加translate 方法,所以我们在全文汉化时需要找到汉化标签所在位置,对此标签添加i18n样式,
例如/saiku-ui/js/saiku/plugins/CCC_Chart/tipsy.js 此文件未图表的提示信息,红框内为后添加代码,代码的意思是先添加i18n,然后调用i18n扩展方法对此标签进行本地化处理
如果 标签中的class 同时出现"i18n","i18n_field","i18n_translate",则说明本地化文件中没有或者中英文对照错误。
下图是本地化文件,此文件采用的json串格式,在页面初始化第一次调用本地化操作时,会先初始化此文件到内存中,因此我们在操作本地化时,可以拿到Saiku.i18n.po_file 这就是cn.json,
Saiku.i18n.po_file = po下的本地化文件
具体在哪里初始化此代码找不到了,不过我们可以在任何地方调用,
调用方式有2种:
$(".i18n").i18n(Saiku.i18n.po_file) 查找所有的.i18n样式的标签进行替换
Saiku.i18n.translate() 自动查找i18n样式的标签进行替换
说明: 如果调用方法2,那么带有i18n的标签必须依据初始化了,方法1为含有i18n的变量进行汉化然后替换到saiku模板中进行展示。
文笔不太好,大家凑副看吧。
1.saiku不太前端界面不太适合开放用户使用,比较适合企业级应用;
2.saiku 使用jersey rest 框架 cube处理 可调用 rest 接口,最好自己开发前端,然后调用saiku的接口;
3.saiku 本地化使用的js处理
4.saiku的后退管理比较简陋,最好自己开发一个后退管理;
现对汉化进行说明:
先决条件 ,可运行版本的saiku,本次采用saiku3.5源码进行改造
saiku的源码结构
saiku-core 为核心代码,包括 saiku-olap-util、saiku-web、saiku-service,其中 saiku-web为Jersey框架写 服务接口,前端调用方式restful,具体代码在resources包下
Saiku-ui 为前端,使用的Backbone.js的框架,此框架为一个mvc模式的前端框架。
可单独对saiku-ui进行修改
1.找到/saiku-ui/js/saiku/plugins/I18n/po/cn.json
2.找到/saiku-ui/js/saiku/plugins/I18n/plugin.js
saiku处理本地化文件是对含有添加class=”i18n“的html标签进行文本替换,之前以为直接修改cn.json的本地化文件就可以汉化,结果发现添加了中英文对照未起作用,
发现 如下,
需要说明的是,许多js文件中并没有添加translate 方法,所以我们在全文汉化时需要找到汉化标签所在位置,对此标签添加i18n样式,
例如/saiku-ui/js/saiku/plugins/CCC_Chart/tipsy.js 此文件未图表的提示信息,红框内为后添加代码,代码的意思是先添加i18n,然后调用i18n扩展方法对此标签进行本地化处理
如果 标签中的class 同时出现"i18n","i18n_field","i18n_translate",则说明本地化文件中没有或者中英文对照错误。
下图是本地化文件,此文件采用的json串格式,在页面初始化第一次调用本地化操作时,会先初始化此文件到内存中,因此我们在操作本地化时,可以拿到Saiku.i18n.po_file 这就是cn.json,
Saiku.i18n.po_file = po下的本地化文件
具体在哪里初始化此代码找不到了,不过我们可以在任何地方调用,
调用方式有2种:
$(".i18n").i18n(Saiku.i18n.po_file) 查找所有的.i18n样式的标签进行替换
Saiku.i18n.translate() 自动查找i18n样式的标签进行替换
说明: 如果调用方法2,那么带有i18n的标签必须依据初始化了,方法1为含有i18n的变量进行汉化然后替换到saiku模板中进行展示。
文笔不太好,大家凑副看吧。
相关文章推荐
- Rails 4-2-stable 参考手册 (Beta)
- [LeetCode]Container With Most Water
- Package Control:There are no packages available for installation
- Terminal initialization failed; falling back to unsupported
- binbinyang---使用Genymotion调试出现错误INSTALL_FAILED_CPU_ABI_INCOMPATI
- Climbing stairs
- 发送email 打开email
- Training
- 用fail2ban解决暴力破解,你设定成登陆失败3次封锁该IP小时,按RSA的加密等级他得算上好久
- maven install Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.1.1:war (default-wa
- mysql failed to open file
- Async and Await 异步和等待
- RAID技术介绍和总结
- mongoDB启动报错 ERROR: child process failed, exited with error number
- http://blog.csdn.net/fufeihappy/article/details/6060763 你知道linux每个文件夹下都是什么吗?
- Factorial Trailing Zeroes
- HDU 3394 Railway(点双连通分量与桥)
- AIDL相关的解释远程service和client处理
- rotate图片旋转 http://blog.csdn.net/lonelyroamer/article/details/8252533
- MethodInvokingJobDetailFactoryBean的并发问题