Pentaho6.1实现国际化一:Pentaho Report Designer6.1通过资源文件实现国际化

原创
2016/11/30 21:59
阅读数 2.8K

一、软件环境

  • 操作系统: Windows10 64位
  • PRD版本:prd-ce-6.1.0.1-196

二、PRD国际化原理简介

查看pentaho bi的源码,你会发现文件夹中存在大量的.properties文件;有心的童鞋上网查查资料就会发现该软件通过 jQuery.i18n.properties实现国际化 ,CDE、SaiKu、PRD等都是通过这种方法实现国际化,具体的内容小编不在这里做详细的介绍,关于这方面的资料请自行Google或百度吧!

三、提出问题?

上面的报表是用PRD做得,我们习惯性的将每张报表的表头写死在面板上;我们能否将这个表头的信息写在一个文件里(譬如i18n的资源文件)喃?幸运的是,Pentaho公司给我们提供了一整套的解决方案,废话不多说,小编这就操作一遍!

四、PRD国际化的解决方案

  • 准备资源文件 

文件里的具体内容见下:

#messages.properties   默认的语言
my.message.title=hello11111111

#messages_zh.properties  中文简体
my.message.title=zh

#messages_en.properties  标准英文
my.message.title=hello-en

并将这些资源文件放置在报表的 [PRD Install]/resources 目录下:

  • 选中一个 resource -label,将其拖拽到面板上

  • 设置resource -label的 Attributes 面板

  • 初步预览效果

  • 在PRD中模拟根据浏览器语言进行切换

您的报表将根据您的设置进行本地化切换,你可以同报表内置的environment.designtime.locale变量来进行切换,  File ---->  Configuration ---> environment.designtime.locale

如果将此报表发布到pentaho bi上,再将原先的资源文件上传到 pentaho/WEB-INF/classes 目录下,该表就可以根据浏览器的语言自动进行相关字段的切换,是不是很神奇呀!

五、资源文件乱码解决方案

如果按照小编的上面步骤去操作,很不幸你会出现资源文件乱码的问题。由于上面内容是小编昨晚连夜写的,而且只是个简单的例子,今天早上小编到公司按照上面的套路去做就出现乱码问题;不过在小编的努力下,最终还是得以解决!

  • 利用JDK自带的转码工具操作

jdk官方自带了了一个转发工具,很方面就能将我们的汉字转成计算机能识别的编码:

用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这个资源文件

  • 字符编码格式设置的注意项

如果按照先前操作,可能还会出现乱码。原因在于还需要设置文本的格式。

打开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

展开阅读全文
打赏
0
7 收藏
分享
加载中
更多评论
打赏
0 评论
7 收藏
0
分享
返回顶部
顶部