2010年10月22日 星期五

我中文化gallery2語言檔的方法!

http://www.zzbaike.com/wiki/Gallery:%E6%9C%AC%E5%9C%B0%E5%8C%96的方法去做,最後會卡在make install PO=zh_TW,而網路上找了半天,一直找不到我所遇到的問題,明明檔案的中文化就是已經做好,為何就是無法中文化?最後終於找到問題,原來是檔案擺的位置。

gallery2的語言檔是附檔名.mo,但是無法直接翻譯,而同樣的內容且可以文字編輯器翻譯的是.po檔,他們分別位於

find . -type d -name po <-- 輸入這個

./themes/matrix/po <-- 會看到這個

./lib/tools/po

./modules/core/po

./modules/comment/po

./modules/netpbm/po

** 忽略"lib/tools/po"目錄。

同一個位置裏即可同時看到.mo與.po檔了。

以模塊(modules)為例,在沒有中文語言檔的模塊目錄裏,找到你較有能力翻譯的語言(我只能有英文,勉強翻譯),例如:eb_GB.po,將其下載,用一些可以處理.po檔的多語編輯軟體如:

· poEdit(多平台)

· KBabel(Unix KDE)

· GTranslator(Unix Gnome)

· Emacs with po-mode(多平台)

· Vim with PO plug-in(多平台)

安裝完其中一個軟體後(我是用poEdit),做一些基本設定後就可以打開你要翻譯的別國語言檔,翻譯完另存檔名為你的語言碼代碼為檔名的po檔,(以正體中文為例,檔名為zh_TW.po),而poEdit會自動在幫你生成一個附檔名為mo的檔案。將這兩個檔案上傳到該模塊的po目錄裏。

有些語言檔的中文化有這邊就可以了(據官放網站的講法,從2.3版之後,語言語言檔放這裏即可)。再來重新起動apache(service httpd restart),再以管理者的身份進到gallery2網站管理裏,點選維復裏的刪除樣版快取。再用瀏覽器reload一次,應該就可以看到了。

然而若還沒完成(2.3之前的版本),再來是要找到該語言檔真正影響軟體語言呈現的位置與檔名,而這也正是真正困擾我很久的地方。原來不同模塊或因gallery版本的不同其決定語言檔的放置位置是有不同的,有的不在gallery2的子目錄裏,而是在g2data的子目錄裏。

(http://codex.gallery2.org/Gallery2:Localization)<------到原始官網看一看。

進到g2data裏會看到

g2data/locale裏有一大堆語言代碼的資料夾,找到你的語言代碼的資料夾(我的是zh_TW),裏面還有一個資料夾LC_MESSAGES,其內有一大堆.mo的檔案(一定沒有你要的,因為有的話,你就不用自己翻譯了!),回到前面的g2data/locale,找到你現在用的該模塊所呈現的語言代碼的資料夾(我的是翻譯自英文,所以是找到en_GB),就可以看到你的要的mo檔的檔名是該取為什麼(也是要判定一下,但很簡單,若還是不會判斷,那就太.......!)再來將剛才由poEdit產生的那個mo檔,取名與該檔案名相同,然後放到你翻譯的語言代碼的資料夾裏,再來重新起動apache(service httpd restart),再以管理者的身份進到gallery2網站管理裏,點選維復裏的刪除樣版快取。再用瀏覽器reload一次,應該就可以看到了。

沒有留言: