本文是Pentaho国际化的第二部分----CDE,原理性的东东已经在第一部分作了简介,不懂得童鞋请阅读我以前写的文章:https://my.oschina.net/TaoPengFeiBlog/blog/797072web
假设咱们要实现中英文的国际化,咱们经过I18n会写出3个特殊的属性文件。且它们放置在与你所作的Dashboard相同的目录下。api
一个没有任何语言特定定义的基本资源文件;浏览器
小写形式的语言格式的资源文件,譬如: 'messages_en.properties', 'messages_zh.properties';缓存
小写形式+大写形式的语言格式的资源文件,譬如:'messages_zh-CN.properties';服务器
messages.properties
+
+ ----- messages_en.properties
+ ------------ +
+ ------------ + ----- messages_en-US.properties
+ ------------ +
+ ------------ + ----- messages_en-GB.properties
+
+
+ ----- messages_zh.properties
+ ------------ +
+ ------------ + ----- messages_zh-CN.properties
+ ------------ +
+ ------------ + ----- messages_zh-TW.properties
+
+
+ ----- messages_fr.properties
+
(...)布局
假设我想经过CDE在页面写这些字段:资源文件导入测试、开始日期、结束日期、刷新;相应的英文字段为: Resource File Loading Test 、StartDay、EndDay 、 Refresh ;如何经过i18n实现根据浏览器的语言去进行切换喃?测试
创建messages_zh-CN.properties文件url
#简体中文 my.message.title=资源文件导入测试 my.message.text_1=开始日期 my.message.text_2=结束日期 my.message.text_3=刷新
创建messages_en.properties文件spa
#英文 my.message.title=Resource File Loading Test my.message.text_1=StartDay my.message.text_2=EndDay my.message.text_3=Refresh
代码以下:.net
function f(){ return Dashboards.i18nSupport.prop('my.message.title'); }
在每一个组件的相同位置写上相似的代码。
方法一:
进入到\biserver-ce\pentaho-solutions\system\pentaho-cdf-dd\tmp目录下,删除原先的.cache文件夹,有心的童鞋能够对这个文件夹作个深刻的研究,在这里小编就不对这个文件夹作过多的说明。
方法二:
经过url地址刷新缓存文件: [GET] /pentaho/plugin/pentaho-cdf-dd/api/renderer/refresh
相关文档:http://redmine.webdetails.org/projects/cde/wiki/How_to_i18n_in_CDE_Dashboards?version=19
Pentaho Report Designer6.1经过资源文件实现国际化 :https://my.oschina.net/TaoPengFeiBlog/blog/797072