pfSense2.60版本推出後,很多Web界面的多語言顯示并不完全,究其原因是因為官方未更新其多語言包,目前翻譯平台提供的多語言檔案還是2.50版本的。雖然已經跟開發人員進行了回報,但截止目前,還沒有更新。

pfSense從2.0開始,所有的PHP檔案都使用了基于Gettext的标準進行開發,確定了程式的輸出使用使用者設定的語言而不是預設的英文。我們可以使用Gettext工具來抓取程式的多語言顯示選項,制作po多語言包來替換系統的預設語言包,實作Web界面完全漢化的目标。gettext的使用說明,可以參考官方的使用手冊。
需要用到的軟體:
Gettext 0.21 for Windows
Poedit for Windows
操作步驟
下載下傳php檔案
全新安裝pfSense2.60版本,然後開啟shell,使用Winscp軟體,将”/usr/local/www”和“/etc/inc/”目錄的所有檔案下載下傳到本地硬碟。
制作檔案清單
運作cmd程式,進入下載下傳檔案所在的目錄。運作以下指令,分别制作兩個目錄的清單檔案php.list和inc.list。使用notepad++等文本程式,将兩個檔案合并到一個清單檔案php.list中。
dir *.php /s/b>php.list
dir *.inc /s/b>inc.list
制作檔案
安裝完gettext 0.21以後,在程式的安裝目錄找到xgettext程式,複制到下載下傳目錄,然後執行以下指令,制作po檔案。詳細參數見官方使用手冊。
xgettext --files-from="F:\gettext\php.list" --output=pfsense.po --language=PHP --extract-all --from-code=UTF-8
修改檔案
使用notepad++打開pfsense.po檔案,将不需要翻譯的條目删除,根據官方的po語言檔案格式,替換所有檔案的目錄清單形式。
翻譯檔案
使用poedit打開pfsense.po檔案,逐項翻譯并儲存。儲存後會自動生成pfsense.mo檔案。
替換檔案
将儲存後的pfsense.mo檔案複制到/usr/local/share/locale/zh_Hans_CN/LC_MESSAGES目錄,替換原有檔案。
切換顯示語言
進入防火牆的Web界面,在”系統設定>正常設定”的語言選項,選中簡體中文并切換。如果已經是簡體中文,隻需重新開機防火牆即可。
相關程式下載下傳:
gettext0.21-iconv1.16-static-64