pfSense用戶界面漢化翻譯教程


pfSense用戶界面漢化翻譯教程

來源 https://blog.51cto.com/fxn2025/2087182

為了記錄自己的漢化過程,同時也為了方便網友自己制作漢化版本,我把自己漢化pfSense2.32的過程在此分享。

 

一、漢化的方法和步驟

 

1、取得語言文件

首先要開啟系統的shell端口,用瀏覽器登陸PFSENSE管理界面,在System→Advanced→Admin Access →  Secure Shell Server 勾上(Enable Secure Shell)這個選項。

圖片1.png

下載並安裝最新版的winscp,運行winscp,新建連接,IP地址寫防火牆的lan地址,端口是22,用戶名是root,密碼是你自己的WEB配置密碼,初始是“pfsense”。

圖片2.png

登陸進PFSENSE文件系統,到/usr/local/share/locale/en/LC_MESSAGES目錄,將pfsense.pot文件下載到本地硬盤。

圖片3.png

 

2、開始漢化語言文件

下載poedit軟件,版本越新越好,將下載的pfsense.pot改名為pfsense.po,用poedit軟打開,開始啟動逐條翻譯。最笨的方法,當然是一條條的翻譯了^_^。如果都向我學習,可以省事不少。方法是多下載一些同類的已翻譯完成的po文件,讓他跟TM同步,然后打開要翻譯的語言文件 ,選擇從TM同步,選擇僅填補完全匹配的項,這樣可以節省不少的漢化時間。整個要漢化的條目6518條(pfsense.2.32)。從TM同步后,自己大概只要漢化3000多條了。當然TM也不是100%准確,還是要仔細檢查的。

圖片20.png

將剩余未翻譯的條目,按“翻譯順序”排序,導出為HTML格式,然后用編輯器打開,轉為普通文本格式,為下一步的翻譯做好准備。

 

翻譯建議采用Google瀏覽器加谷歌翻譯插件來進行,因為國內不能直接訪問google,所以還要采取一些其他的方法,這個網上有教程,自己可以找一下。我是采用了“谷歌訪問助手”這個插件來實現訪問的。

圖片4.png

將轉化的文本格式的翻譯條目復制到谷歌翻譯上,一次可以翻譯5000個字符,然后再逐條粘貼到poedit上的對應的翻譯條目上。你也可以在POEDIT上直接將一條條原文粘貼到谷歌翻譯上,再把翻譯結果粘貼回來(沒人反對你這么做,只是效率有點低。)。這個沒捷徑可走,必須一條條的來。如果翻譯的語句中有變量(%%)就要注意了,圍繞着他進行翻譯,不要刪除他,否則變量就不會正確顯示。

圖片5.png

 

3、翻譯成果的初步應用

pfsense.po文件漢化完成后,每次保存,在同一目錄下,有一個pfsense.mo文件 ,這個才是我們要用的語言文件。用Winscp登陸到pfsense文件系統,把pfsense.mo文件復制到/usr/local/share/locale/zh_CN/LC_MESSAGES目錄下。這個時候還看不到漢化的結果,因為在System→General Setup→Language選項下並沒有簡體中文的選項,只有英語、葡萄語和土耳其語,我們還要修改一個文件。在/etc/inc下,找到pfsense-utils.inc文件,用editplus或其他的PHP編輯器打開,找到3001行,根據這一行的格式在下面添加一欄中文語言選項。保存文件,重啟就能看到簡體中文切換的選項了。

圖片6.png

 

4、漢化界面的進一步完善

切換中文后,大部分的頁面已經是中文了,漢化率估計在95%以上了,如果沒什么特別嗜好,這樣用用也就可以了。可是如果你是跟我一樣的完美控,可能也希望把看到的英文都翻譯成中文吧。這個沒其他辦法,只能翻譯相關的PHP文件。界面上可執行的PHP文件,都在/usr/local/www目錄下,先把這個目錄的文件全部導到本地。先一個頁面一個頁面的點,看哪個頁面上還有英文的顯示,注意瀏覽器的地址欄,找到需要漢化的PHP文件,在本地打開。常規設置對應的就是WWW目錄下的system.php文件,高級設置對應的就是www目錄下的system_advanced_admin.php文件,其它的自己看!

圖片7.png

 

下一步,啟動PHP漢化工作。為了減少工作量,我們只對切換中文顯示后還遺留的英文進行漢化。找到還有英文顯示的對應的PHP文件 ,用editplus打開,在搜索里點要翻譯的英文,一般都在gettext和setHelp后面,把雙引號里對應的英文翻譯成中文就行了。如果找不到,試着把語句縮短進行查找。如果翻譯的語句中有變量($%)就要注意了,圍繞着它進行翻譯,不要刪除。采用這種辦法,把要翻譯的PHP文件都翻譯了,這個量不大,只涉及到30多個PHP文件(當然,你如果閑的蛋疼,把各類出錯提示都翻譯了,那可就遠遠不止這些了)。翻譯完成后,替換系統WWW目錄下同名文件,點擊頁面就能看到效果。也可以在Winscp中找到要翻譯的PHP文件 ,點鼠標右鍵選擇用editplus打開,翻譯完后保存直接刷新一下瀏覽器頁面就能看到翻譯效果(這個方法更直接省事)。

圖片8.png

圖片9.png

 

如果PHP文件都漢化完了,還有頁面上顯示了英文怎么辦? 這就說明這個英文不在這個PHP文件里,在其他關聯的文件上。這就要用到editplus在文件中查找文本的功能。把pfsense2.32的光盤安裝文件(ISO)映射為一個驅動器,editplus查找范圍設為這個驅動器,文件類型選*.*,范圍選擇包含子目錄,輸入要查找的英文,一般就能找到這個文件。翻譯完后替換系統目錄內的同名文件就可以了。

圖片10.png

在/usr/local/www/wizards目錄中,有配置向導、流量整形向導和Open***向導的XML文件 ,這些文件要單獨翻譯。在對setup_wizard.xml(第一次進入系統時彈出的的配置向導)文件進行對照翻譯時,有些字條不要隨便翻譯,否則會造成程序不能執行、或設置不能保存的問題(這是目前唯一不能完全漢化的地方,有點遺憾……)。

 

5、去除或增加某些菜單(進階)

在漢化過程中,如果發現某些菜單用不上想去除,或想給系統增加某些其他功能(比如ARP綁定)怎么辦? 這個就必須修改/usr/local/www目錄下的head.inc文件了。用editplus打開head.inc文件,找到241行,從這一行開始往下,對應的都是系統菜單目錄。如果要刪除某個菜單,你直接刪除那個菜單對應的那一行就行了。如果要增加,就在相應的某個類目下增加,並把對應的PHP文件放在/usr/local/www目錄下。在這里,你也可以直接漢化整個系統菜單!

圖片11.png

 

6、其他問題(進階)

  • 語言文件(pfsense.po)和PHP文件都翻譯了,會顯示哪個翻譯結果?

只顯示PHP文件翻譯的結果,語言文件沒影響。

  • 如果翻譯了某個PHP文件 ,導致pfsense運行出錯怎么辦?

用原文件進行替換就行了。如果不是gettext和sethelp后面的文本翻譯,最好小心點!系統出錯會有提示哪個PHP文件的多少行出錯,自己找原因就行了。

  • 我替換了pfsense.mo文件,但是看不到漢化效果怎么辦?

重啟一下pfsense!

  • 有什么好辦法能即時驗證php文件的漢化效果?

用虛擬機,通過WinSCP用editplus直接在pfsense文件系統中打開要漢化的PHP文件,漢化一段就點保存,刷新瀏覽器頁面看漢化效果。

  • 谷歌上不去,用百度翻譯行不?

翻譯效果,谷歌最好,很多已經接近人工翻譯了。百度就算了吧..........

  • 我有mo后綴的語言文件 ,怎么轉換成PO類型的語言文件用於編輯?

用PO和MO互轉工具,網上自己找。

二、IMG安裝文件的制作

漢化都弄完了,我想做個中文版的安裝文件怎么弄?別急,讓我一步一步來教你。

 

1、在虛擬機中安裝pfsense

我用的VMware Workstation,你也可以用其他的,都大同小異。到官方網站下載2G的光盤安裝版的pfsense,在虛擬機中掛上ISO文件把pfsense裝上。你也可以直接用一個PE工具光盤(ISO),把RoadkilsDiskImage寫盤工具和IMG映像文件集成進去,在PE下寫盤。虛擬機的配置如下:

圖片12.png

硬盤只要2G,因為我們下的是2G的安裝版本。網卡兩個,其他的隨意。

 

2、配置文件的修改

通過瀏覽器把pfsense配置好,把要替換的PHP文件和語言文件都放進系統中。如果想在安裝完成后直接顯示中文界面,還必須修改一個文件。 在WinSCP中找到by防火牆/usr/local/www/目錄下globals.inc文件,用editplus打開,找到115行,把language的后面修改為"zh_CN"。其實在這個文件中,可以修改的東西很多,包括初始的用戶名和密碼也可以修改!

圖片13.png

 

3、制作pfsense安裝映像

點恢復出廠設置,等pfsense重啟后關閉虛擬機。再掛接上PE啟動光盤(PE工具光盤ISO)和物理硬盤分區。

圖片14.png

圖片15.png

圖片16.png

 

單個分區選擇一個空閑的硬盤分區,不要與虛擬機存儲文件在同一分區。

下面這一步很關鍵,點綠色啟動按鈕右側的倒三角小圖標,選擇“打開電源時進入固件”,進入虛擬機BIOS,選擇BOOT,把第一啟動順序調整為光驅。按F10保存后,啟動虛擬機進入PE界面。

圖片17.png

 

圖片18.png

圖片19.png

 

在PE系統上運行寫盤工具RoadkilsDiskImage,選擇創建映像,驅動器選2G的那個,保存位置選擇開始掛載的物理硬盤分區,點開始,等待寫完就就行了。

 

至此,中文版的安裝映像制作完成了,是不是很有成就感&_&!

 

================ End

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM