本文是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