Broadleaf-5.1.2 Admin 漢化淺析

Admin國際化涉及到的大部分資源文件在 broadleaf-open-admin-platform-5.1.2-GA.jar 包中的 messages/ 下,如下圖所示:
Broadleaf-5.1.2 Admin 漢化淺析

由於是封裝在jar包中無法直接修改,還好框架提供了覆蓋配置的方法:
在 admin/src/main/resources/ 下新建 messages-admin_zh_CN.properties 資源文件,把需要翻譯的鍵值對重新在此文件中定義,注意系統的默認語言是在數據庫 blc_locale 表中定義,你需要新建一條中文的記錄並設爲默認。

通過上面的方法可以漢化大部分Admin的功能,但是還有一部分(比如在表單頁面你修改了內容,系統會提示你“There are unsaved changes” )是在JS中的,雖然在上圖中的 OpenAdminJavascriptMessages.properties 文件中可以找到這條消息,但是這個資源文件是無法通過上述方式覆蓋的,反編譯代碼後發現這部分消息是在客戶端請求js文件時動態寫入到js文件中的。服務端覆蓋不了那只能在客戶端想辦法了,慶幸JS是一個寬容的語言,對於修改已有對象這種事情要比Java容易的多,只要在系統加載完JS後動態修改message對象即可,下面是示例代碼:

(function($, BLCAdmin) {

    // Override messages
    if(BLCAdmin.messages){
        BLCAdmin.messages.unsavedChangesRevert = "修改未保存 <a id='revert-changes'>撤銷</a>";
    }

})(jQuery, BLCAdmin);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章