pfSense用户界面汉化翻译教程
pfSense用戶界面漢化翻譯教程
來源 https://blog.51cto.com/fxn2025/2087182
為了記錄自己的漢化過程,同時(shí)也為了方便網(wǎng)友自己制作漢化版本,我把自己漢化pfSense2.32的過程在此分享。
一、漢化的方法和步驟
1、取得語言文件
首先要開啟系統(tǒng)的shell端口,用瀏覽器登陸PFSENSE管理界面,在System→Advanced→Admin Access → Secure Shell Server 勾上(Enable Secure Shell)這個(gè)選項(xiàng)。
下載并安裝最新版的winscp,運(yùn)行winscp,新建連接,IP地址寫防火墻的lan地址,端口是22,用戶名是root,密碼是你自己的WEB配置密碼,初始是“pfsense”。
登陸進(jìn)PFSENSE文件系統(tǒng),到/usr/local/share/locale/en/LC_MESSAGES目錄,將pfsense.pot文件下載到本地硬盤。
2、開始漢化語言文件
下載poedit軟件,版本越新越好,將下載的pfsense.pot改名為pfsense.po,用poedit軟打開,開始啟動(dòng)逐條翻譯。最笨的方法,當(dāng)然是一條條的翻譯了^_^。如果都向我學(xué)習(xí),可以省事不少。方法是多下載一些同類的已翻譯完成的po文件,讓他跟TM同步,然后打開要翻譯的語言文件 ,選擇從TM同步,選擇僅填補(bǔ)完全匹配的項(xiàng),這樣可以節(jié)省不少的漢化時(shí)間。整個(gè)要漢化的條目6518條(pfsense.2.32)。從TM同步后,自己大概只要漢化3000多條了。當(dāng)然TM也不是100%準(zhǔn)確,還是要仔細(xì)檢查的。
將剩余未翻譯的條目,按“翻譯順序”排序,導(dǎo)出為HTML格式,然后用編輯器打開,轉(zhuǎn)為普通文本格式,為下一步的翻譯做好準(zhǔn)備。
翻譯建議采用Google瀏覽器加谷歌翻譯插件來進(jìn)行,因?yàn)閲鴥?nèi)不能直接訪問google,所以還要采取一些其他的方法,這個(gè)網(wǎng)上有教程,自己可以找一下。我是采用了“谷歌訪問助手”這個(gè)插件來實(shí)現(xiàn)訪問的。
將轉(zhuǎn)化的文本格式的翻譯條目復(fù)制到谷歌翻譯上,一次可以翻譯5000個(gè)字符,然后再逐條粘貼到poedit上的對(duì)應(yīng)的翻譯條目上。你也可以在POEDIT上直接將一條條原文粘貼到谷歌翻譯上,再把翻譯結(jié)果粘貼回來(沒人反對(duì)你這么做,只是效率有點(diǎn)低。)。這個(gè)沒捷徑可走,必須一條條的來。如果翻譯的語句中有變量(%%)就要注意了,圍繞著他進(jìn)行翻譯,不要?jiǎng)h除他,否則變量就不會(huì)正確顯示。
3、翻譯成果的初步應(yīng)用
pfsense.po文件漢化完成后,每次保存,在同一目錄下,有一個(gè)pfsense.mo文件 ,這個(gè)才是我們要用的語言文件。用Winscp登陸到pfsense文件系統(tǒng),把pfsense.mo文件復(fù)制到/usr/local/share/locale/zh_CN/LC_MESSAGES目錄下。這個(gè)時(shí)候還看不到漢化的結(jié)果,因?yàn)樵赟ystem→General Setup→Language選項(xiàng)下并沒有簡(jiǎn)體中文的選項(xiàng),只有英語、葡萄語和土耳其語,我們還要修改一個(gè)文件。在/etc/inc下,找到pfsense-utils.inc文件,用editplus或其他的PHP編輯器打開,找到3001行,根據(jù)這一行的格式在下面添加一欄中文語言選項(xiàng)。保存文件,重啟就能看到簡(jiǎn)體中文切換的選項(xiàng)了。
4、漢化界面的進(jìn)一步完善
切換中文后,大部分的頁面已經(jīng)是中文了,漢化率估計(jì)在95%以上了,如果沒什么特別嗜好,這樣用用也就可以了。可是如果你是跟我一樣的完美控,可能也希望把看到的英文都翻譯成中文吧。這個(gè)沒其他辦法,只能翻譯相關(guān)的PHP文件。界面上可執(zhí)行的PHP文件,都在/usr/local/www目錄下,先把這個(gè)目錄的文件全部導(dǎo)到本地。先一個(gè)頁面一個(gè)頁面的點(diǎn),看哪個(gè)頁面上還有英文的顯示,注意瀏覽器的地址欄,找到需要漢化的PHP文件,在本地打開。常規(guī)設(shè)置對(duì)應(yīng)的就是WWW目錄下的system.php文件,高級(jí)設(shè)置對(duì)應(yīng)的就是www目錄下的system_advanced_admin.php文件,其它的自己看!
下一步,啟動(dòng)PHP漢化工作。為了減少工作量,我們只對(duì)切換中文顯示后還遺留的英文進(jìn)行漢化。找到還有英文顯示的對(duì)應(yīng)的PHP文件 ,用editplus打開,在搜索里點(diǎn)要翻譯的英文,一般都在gettext和setHelp后面,把雙引號(hào)里對(duì)應(yīng)的英文翻譯成中文就行了。如果找不到,試著把語句縮短進(jìn)行查找。如果翻譯的語句中有變量($%)就要注意了,圍繞著它進(jìn)行翻譯,不要?jiǎng)h除。采用這種辦法,把要翻譯的PHP文件都翻譯了,這個(gè)量不大,只涉及到30多個(gè)PHP文件(當(dāng)然,你如果閑的蛋疼,把各類出錯(cuò)提示都翻譯了,那可就遠(yuǎn)遠(yuǎn)不止這些了)。翻譯完成后,替換系統(tǒng)WWW目錄下同名文件,點(diǎn)擊頁面就能看到效果。也可以在Winscp中找到要翻譯的PHP文件 ,點(diǎn)鼠標(biāo)右鍵選擇用editplus打開,翻譯完后保存直接刷新一下瀏覽器頁面就能看到翻譯效果(這個(gè)方法更直接省事)。
如果PHP文件都漢化完了,還有頁面上顯示了英文怎么辦? 這就說明這個(gè)英文不在這個(gè)PHP文件里,在其他關(guān)聯(lián)的文件上。這就要用到editplus在文件中查找文本的功能。把pfsense2.32的光盤安裝文件(ISO)映射為一個(gè)驅(qū)動(dòng)器,editplus查找范圍設(shè)為這個(gè)驅(qū)動(dòng)器,文件類型選*.*,范圍選擇包含子目錄,輸入要查找的英文,一般就能找到這個(gè)文件。翻譯完后替換系統(tǒng)目錄內(nèi)的同名文件就可以了。
在/usr/local/www/wizards目錄中,有配置向?qū)А⒘髁空蜗驅(qū)Ш蚈pen***向?qū)У腦ML文件 ,這些文件要單獨(dú)翻譯。在對(duì)setup_wizard.xml(第一次進(jìn)入系統(tǒng)時(shí)彈出的的配置向?qū)В┪募M(jìn)行對(duì)照翻譯時(shí),有些字條不要隨便翻譯,否則會(huì)造成程序不能執(zhí)行、或設(shè)置不能保存的問題(這是目前唯一不能完全漢化的地方,有點(diǎn)遺憾……)。
5、去除或增加某些菜單(進(jìn)階)
在漢化過程中,如果發(fā)現(xiàn)某些菜單用不上想去除,或想給系統(tǒng)增加某些其他功能(比如ARP綁定)怎么辦? 這個(gè)就必須修改/usr/local/www目錄下的head.inc文件了。用editplus打開head.inc文件,找到241行,從這一行開始往下,對(duì)應(yīng)的都是系統(tǒng)菜單目錄。如果要?jiǎng)h除某個(gè)菜單,你直接刪除那個(gè)菜單對(duì)應(yīng)的那一行就行了。如果要增加,就在相應(yīng)的某個(gè)類目下增加,并把對(duì)應(yīng)的PHP文件放在/usr/local/www目錄下。在這里,你也可以直接漢化整個(gè)系統(tǒng)菜單!
6、其他問題(進(jìn)階)
語言文件(pfsense.po)和PHP文件都翻譯了,會(huì)顯示哪個(gè)翻譯結(jié)果?
只顯示PHP文件翻譯的結(jié)果,語言文件沒影響。
如果翻譯了某個(gè)PHP文件 ,導(dǎo)致pfsense運(yùn)行出錯(cuò)怎么辦?
用原文件進(jìn)行替換就行了。如果不是gettext和sethelp后面的文本翻譯,最好小心點(diǎn)!系統(tǒng)出錯(cuò)會(huì)有提示哪個(gè)PHP文件的多少行出錯(cuò),自己找原因就行了。
我替換了pfsense.mo文件,但是看不到漢化效果怎么辦?
重啟一下pfsense!
有什么好辦法能即時(shí)驗(yàn)證php文件的漢化效果?
用虛擬機(jī),通過WinSCP用editplus直接在pfsense文件系統(tǒng)中打開要漢化的PHP文件,漢化一段就點(diǎn)保存,刷新瀏覽器頁面看漢化效果。
谷歌上不去,用百度翻譯行不?
翻譯效果,谷歌最好,很多已經(jīng)接近人工翻譯了。百度就算了吧..........
我有mo后綴的語言文件 ,怎么轉(zhuǎn)換成PO類型的語言文件用于編輯?
用PO和MO互轉(zhuǎn)工具,網(wǎng)上自己找。
二、IMG安裝文件的制作
漢化都弄完了,我想做個(gè)中文版的安裝文件怎么弄?別急,讓我一步一步來教你。
1、在虛擬機(jī)中安裝pfsense
我用的VMware Workstation,你也可以用其他的,都大同小異。到官方網(wǎng)站下載2G的光盤安裝版的pfsense,在虛擬機(jī)中掛上ISO文件把pfsense裝上。你也可以直接用一個(gè)PE工具光盤(ISO),把RoadkilsDiskImage寫盤工具和IMG映像文件集成進(jìn)去,在PE下寫盤。虛擬機(jī)的配置如下:
硬盤只要2G,因?yàn)槲覀兿碌氖?G的安裝版本。網(wǎng)卡兩個(gè),其他的隨意。
2、配置文件的修改
通過瀏覽器把pfsense配置好,把要替換的PHP文件和語言文件都放進(jìn)系統(tǒng)中。如果想在安裝完成后直接顯示中文界面,還必須修改一個(gè)文件。 在WinSCP中找到by防火墻/usr/local/www/目錄下globals.inc文件,用editplus打開,找到115行,把language的后面修改為"zh_CN"。其實(shí)在這個(gè)文件中,可以修改的東西很多,包括初始的用戶名和密碼也可以修改!
3、制作pfsense安裝映像
點(diǎn)恢復(fù)出廠設(shè)置,等pfsense重啟后關(guān)閉虛擬機(jī)。再掛接上PE啟動(dòng)光盤(PE工具光盤ISO)和物理硬盤分區(qū)。
單個(gè)分區(qū)選擇一個(gè)空閑的硬盤分區(qū),不要與虛擬機(jī)存儲(chǔ)文件在同一分區(qū)。
下面這一步很關(guān)鍵,點(diǎn)綠色啟動(dòng)按鈕右側(cè)的倒三角小圖標(biāo),選擇“打開電源時(shí)進(jìn)入固件”,進(jìn)入虛擬機(jī)BIOS,選擇BOOT,把第一啟動(dòng)順序調(diào)整為光驅(qū)。按F10保存后,啟動(dòng)虛擬機(jī)進(jìn)入PE界面。
在PE系統(tǒng)上運(yùn)行寫盤工具RoadkilsDiskImage,選擇創(chuàng)建映像,驅(qū)動(dòng)器選2G的那個(gè),保存位置選擇開始掛載的物理硬盤分區(qū),點(diǎn)開始,等待寫完就就行了。
至此,中文版的安裝映像制作完成了,是不是很有成就感&_&!
================End
總結(jié)
以上是生活随笔為你收集整理的pfSense用户界面汉化翻译教程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用户组,AD域控简介
- 下一篇: 怎么创建具有真实纹理的CG场景岩石?