Pentaho6.1實現國際化二:Pentaho CDE經過資源文件實現國際化

本文是Pentaho國際化的第二部分----CDE,原理性的東東已經在第一部分作了簡介,不懂得童鞋請閱讀我以前寫的文章:https://my.oschina.net/TaoPengFeiBlog/blog/797072web

1、描述

        假設咱們要實現中英文的國際化,咱們經過I18n會寫出3個特殊的屬性文件。且它們放置在與你所作的Dashboard相同的目錄下。api

    一、任何資源文件都應該遵循如下3個規則之一:

  • messages.properties

                一個沒有任何語言特定定義的基本資源文件;瀏覽器

  • messages<underscore><language>.properties

           小寫形式的語言格式的資源文件,譬如:  'messages_en.properties', 'messages_zh.properties';緩存

  • messages<underscore><language><hyphen><COUNTRY>.properties

            小寫形式+大寫形式的語言格式的資源文件,譬如:'messages_zh-CN.properties';服務器

    二、資源文件之間共享key的覆蓋規則:

  • 全部在messages<underscore><language>.properties文件裏的key消息將會覆蓋掉全部在messages.properties文件裏的key值;
  • 全部在messages<underscore><language><hyphen><COUNTRY>.properties文件裏的key消息將會覆蓋掉全部在messages<underscore><language>.properties或messages.properties文件裏的key值;

    三、資源文件的樹結構

                             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 
                             +
                            (...)佈局

2、CDE dashboard使用i18n實現國際化

假設我想經過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
  • 建立一個Dashboard文件,並將上述2個資源文件放在在相同的文件夾下;

  • CDE頁面佈局的簡單設計;

  • 添加相應的組件;

  • 利用i18n從資源文件獲取對應語言的字段;

代碼以下:.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

相關文章
相關標籤/搜索