查看pentaho bi的源码,你会发现文件夹中存在大量的.properties文件;有心的童鞋上网查查资料就会发现该软件经过 jQuery.i18n.properties实现国际化 ,CDE、SaiKu、PRD等都是经过这种方法实现国际化,具体的内容小编不在这里作详细的介绍,关于这方面的资料请自行Google或百度吧!浏览器
上面的报表是用PRD作得,咱们习惯性的将每张报表的表头写死在面板上;咱们可否将这个表头的信息写在一个文件里(譬如i18n的资源文件)喃?幸运的是,Pentaho公司给咱们提供了一整套的解决方案,废话很少说,小编这就操做一遍!bash
文件里的具体内容见下:工具
#messages.properties 默认的语言 my.message.title=hello11111111 #messages_zh.properties 中文简体 my.message.title=zh #messages_en.properties 标准英文 my.message.title=hello-en
并将这些资源文件放置在报表的 [PRD Install]/resources 目录下:编码
您的报表将根据您的设置进行本地化切换,你能够同报表内置的environment.designtime.locale变量来进行切换, File ----> Configuration ---> environment.designtime.localeurl
若是将此报表发布到pentaho bi上,再将原先的资源文件上传到 pentaho/WEB-INF/classes 目录下,该表就能够根据浏览器的语言自动进行相关字段的切换,是否是很神奇呀!spa
若是按照小编的上面步骤去操做,很不幸你会出现资源文件乱码的问题。因为上面内容是小编昨晚连夜写的,并且只是个简单的例子,今天早上小编到公司按照上面的套路去作就出现乱码问题;不过在小编的努力下,最终仍是得以解决!操作系统
jdk官方自带了了一个转发工具,很方面就能将咱们的汉字转成计算机能识别的编码:.net
用cmd进入到资源文件所在的目录,也就是报表的目录:[PRD Install]/resources调试
D:\prd-ce-6.1.0.1-196\report-designer\resources>native2ascii -encoding utf8 MessagesReport_zh.properties MessagesReport_zh-CN.properties
进入资源文件目录,机会发现增长了MessagesReport_zh-CN.properties这个资源文件code
若是按照先前操做,可能还会出现乱码。缘由在于还须要设置文本的格式。
打开notepad++软件 ,设置选项为:格式------->以UTF-8无BOM格式编码
Pentaho6.1实现国际化二:Pentaho CDE经过资源文件实现国际化
https://my.oschina.net/TaoPengFeiBlog/blog/798746
官网API详解1:https://help.pentaho.com/Documentation/6.1/0L0/130/0C0
官网API详解2:https://help.pentaho.com/Documentation/6.1/0L0/130/0C0/000