查看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