Zabbix 5.2由淺入深系列之漢化調整篇
前面在5.4版本介紹的時候有提到漢化部分依然有些粗糙,甚至相比于4.X版本還要粗一點,但這些其實不影響Zabbix的整體價值,只能算是一個瑕疵點,而且能保持80%以上的漢化程度,其實已經不錯了,正常來看,用英文版的軟件絕對是有很多好處的,畢竟很多開源產品都是國外的大神開發的,自然文檔都是英文的,雖然目前瀏覽器都支持在線翻譯,但是一些直譯可能讓人很難理解。
All Dashboard翻譯成添加儀表盤,有點令人費解
部分未漢化的地方
正文
可以通過官網了解到,Zabbix的中文翻譯文件在
/usr/share/zabbix/locale/zh_CN/LC_MESSAGES目錄下。
如果用正常vi或者vim工具翻譯會顯示亂碼,所以需要用到其他工具,本文采用的方式為先由.mo后綴轉譯為.po后綴,然后用vim等文本編輯工具編輯完后,再反編譯為.mo后綴文件。
顯示亂碼
轉譯前提
轉譯的前提,我們需要有gettext軟件。通過rpm -qa | grep gettext命令查看,CentOS默認有該文件,如果沒有請自行安裝
反轉譯過程
由po到mo叫轉譯,由mo到po叫反轉譯
1.先將相關文件備份一遍
- cd /usr/share/zabbix/locale/zh_CN/LC_MESSAGES
- cp frontend.mo frontend.mo.bak
2.轉譯文件
- cd /usr/share/zabbix/locale/zh_CN/LC_MESSAGES
- msgunfmt frontend.mo -o frontend.po
3.編輯反轉譯的文件
- vim frontend.po
令人費解的翻譯
我們可以通過這個文件來進行二次翻譯,第一行(msgid)代表英文,第二行(msgstr)代表中文。
這里分兩種情況,一種沒有被翻譯的,還有一種是翻譯有點匪夷所思的(上圖的All dashboard)。
未被翻譯的
修改翻譯
新建的翻譯字段
編譯過程
修改完成后,需要將po文件編譯為zabbix識別的mo文件,并重啟相關服務
- rm -rf frontend.mo
- msgfmt -o frontend.mo frontend.po
- systemctl restart httpd zabbix-server php-fpm
效果圖
改善過的所有儀表盤
用戶角色
動作部分的漢化
寫在最后
本文只列舉部分案例,如果需要完美漢化需要大家下去自己調整,不是很難,同時希望大家慢慢習慣英文版的操作界面,中文版雖然接受程度快,但是再去適應其他軟件的時候顯得比較吃力,當然如果不經常折騰,或者給其他用戶使用,那就不必有這么多顧慮了。