Ambari2.0.0漢化
一般的開源專案的漢化也就分為3個階段或者說3個模組來漢化,下面我開始說一下Ambari的漢化流程:
1.靜態頁面或文字檔案的漢化:
1.1.Ambari-web模組
Ambari web介面模組,絕大多數的修改都集中在此模組
Ambari-web/app/messages.js(這是Ambari最主要的漢化檔案,其中就是相當於一個key value的對映檔案,將value直接改成中文就可以)
包含絕大多數Ambari Web介面所涉及的字串(Dashboard,Admin等),Dashboard中的部分監測項。
Ambari-web/app/assets/index.html
頁面主體就是這個index.html,具體顯示內容由載入的
ambari-web/app/templates/common/about.hbs
這是about對話方塊的模板,該頁面的Apache Ambari需要專門在此檔案中修改
Ambari-server/src/main/python/os_type_check.sh
指令碼版本檢查,在某些老版本的原始碼中該指令碼存在bug,會將CentOS6.5識別為CentOS5,新版本不需要修改
1.2Ambari-admin模組
ambari-admin模組有單獨的介面,需要單獨修改
\ambari-admin\src\main\resources\ui\admin-web\app\views\modals\AboutModal.html
ambari-admin頁面中關於對話方塊
ambari-admin\src\main\resources\ui\admin-web\app\index.html
ambari-admin的介面框架,主要是頁面頂部及右上角選單
ambari-admin\src\main\resources\ui\admin-web\app\views\main.html
ambari-admin主體部分,即檢視、叢集和使用者管理
可能涉及到的包含License資訊的檔案,
\ambari-agent\src\main\python\ambari_agent\__init__.py
\ambari-client\python-client\src\main\python\setup.py
ambari-shell\ambari-python-shell\src\main\python\setup.py
\ambari-web\public-static\javascripts\app.js
app.aboutAmbari.licensed變數在此檔案與messages.js中均包含,該變數是License宣告的字串。
2.圖片檔案替換
1.3 Logo
介面右上角的Logo,包括logo及logo-white
Logo.png尺寸67*67
apache-ambari-2.0.0-src
apache-ambari-2.0.0-src\ambari-web\public-static\img
apache-ambari-2.0.0-src\ambari-web\app\assets\img
Logo-white.png
apache-ambari-2.0.0-src\ambari-web\app\assets\img
apache-ambari-2.0.0-src\ambari-web\public-static\img
別的頁面圖片同理可以根據firbug自己找位置
3.原始碼國際化修改
我們主要漢化的ambari-admin使用angularjs實現,且完全沒有做國際化相關準備。但是2.2.0卻有了國際化的處理,可以仿照2.2.0的做法,將某部分原始碼拷貝過來改改即可。
最後放一張效果圖