幫助你進行多國語系(GNU Gettext)製作的好幫手:Poedit

今天要跟大家介紹一個很好用的「多國語系」製作程式:Poedit,我想很多人都有在網路上看過「中文化」這種事情吧?簡單來講Poedit就是幫助你進行「中文化」工作的程式,只是在台灣這類工作叫中文化,可是換到其他國家卻可能變成「英文化」、「日文化」,所以這類工作統統以「多國語系化」稱呼~

Poedit這套程式他並非可以幫所有的程式進行多國語系化,他是Gettext專案的專屬工具,所謂的Gettext專案其實就是GNU底下的一個多國語系的東西,Poedit的檔案附檔名是po、mo,所以你如果再網路上看到某些程式他的語系檔也是po、mo的附檔名,代表他能夠用Poedit來進行中文化

一般來講軟體開發人員會把PO檔公布出來,方便大家去幫這個軟體做中文化,但是也有些軟體是直接公布原始碼的,你必須從他的原始碼裡面分析、製作出PO檔,然後再進行多國語系工作,這類方式比較少,通常都是PHP的程式才會這樣做,上面說要分析製作PO檔好像很難?別擔心~ Poedit的功能不僅僅是幫助你編輯PO檔,他還可以幫助你「製作」PO檔呢~

目前我所知道較知名、使用Gettext處理語系的程式是WordPress,他裡面的外掛、佈景都是使用這玩意來處理多國語系的,所以很多人會以為Poedit是給WordPress專用的語系製作程式(我當初也是這樣想xD) 其實不然,Poedit可以用在很多其他的程式上面,像有時候我會去參加國外的網頁設計比賽,這時就會有一個大問題就是我英文很差,可是網頁要用英文做…. 這時候我會先用中文做好網頁,然後再透過Gettext的方式找人幫忙做翻譯: )

P.S.Poedit可以讀取PO、POT兩種格式的檔案來做多國語系工作

Poedit資訊

Poedit安裝教學

1.請先到官方網站下載安裝檔,執行,然後一直按Next把它安裝完吧~

2.遇到授權條約時,記得要選「I accept….. 」

3.安裝中~

4.安裝完成

Poedit使用教學:直接開啟PO、POT檔

在這段落,我會教大家如何從原始檔裡面分析出需要翻譯的字串,並且製作成PO檔,如果你要翻譯的專案有提供POT檔給你,那你也可以參考本文直接開啟PO檔進行翻譯工作,最後再將檔案匯出為mo檔就完成啦!

1.開啟Poedit,然後按下左上角的「檔案」->「開啟」

如果來源檔案是POT的話,選擇「檔案」->「從POT檔新增編目檔」

2.如果剛剛選擇的是「從POT檔新增編目檔」,那他會要求你進行一些設定,紅框內的是必填的,填好之後按OK然後他會要求你儲存po檔

3.接者就可以開始翻譯囉~  選擇你要翻譯的字串,然後輸入翻譯的結果就可以啦,另外我建議翻譯一小段就馬上存檔(Ctrl+S)

4.當你按下Ctrl+S或「檔案」->「儲存」時,Poedit會自動產生mo檔,你不用再去做匯出的動作

Poedit教學:製作PO檔

有時候你是一個開發者,需要整理一份PO檔給其他工作人員作多國語系用,或者你是一個翻譯人員,然後你要翻譯的程式只有程式碼沒有PO檔,這時候你就可以參考這裡的教學來製作PO檔

1.開啟Poedit,依序按下「檔案」->「新增編目檔」

2.填好一些資料,其中專案資訊的部份一定要設定「專案名稱及版本」、「字元集」、「源碼字元集」

  • 專案名稱及版本:自行設定
  • 字元集:utf-8
  • 源碼字元集:utf-8

3.接者進入「路徑」頁籤,然後「基礎路徑」的地方填入你要多國語系的檔案的位址,這部份需要注意,如果你的程式資料夾只有一層的結構,那就只需要設定基礎路徑,但如果你設定的基礎路徑底下還有其他資料夾,那就必須在下面新增路徑

舉例來講:現在我的程式在C:Appservwwwtest這個資料夾裡面,然後裡面有config、core、js這三個資料夾,則

  • 基礎路徑:C:Appservwwwtest
  • 底下要設定:
  • config
  • core
  • js

4.最後進入「關鍵字」頁籤,這裡是設定遇到哪些關鍵字時要做處理,通常我們會設定:(二、三為底線)

  • Gettext
  • _
  • __
  • gettext_noop
  • _e

5.當這些都設定好之後,按下OK,然後他會問你PO檔要存在哪裡,存好之後就可以直接進行翻譯工作

影片教學

7 thoughts on “幫助你進行多國語系(GNU Gettext)製作的好幫手:Poedit”

    1. 這個蠻好用的!
      我是一個朋友推薦才知道有這東西
      原本以為他是WP專用(笑

    1. 不能哦,如果你想在網頁開發做多國語系的話,可以試試看 gulp-i18n或類似的套件

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料