Gettext 歷史悠久又穩定的工具, 專門拿來做多國語系用.
Gettext 會產生 po 和 mo 檔, po 檔是拿來做比對、翻譯用, mo 檔是產生給系統去讀取用.
我一直都習慣直接 Vim 改 po 檔, 但是若要丟給其它人改, 還是找專用的編輯器會比較不會有意外.
po 檔 編輯器
Gettext 產生出來的 po 檔, 編輯器有找到下面兩種:
- Poedit - 介面簡單, 操作方便
- gted :: GetText EDitor - gted 是 Eclipse 的 Plugin, 看起來太複雜, 放棄.
Poedit 安裝
- 於 Ubuntu / Debian Linux 安裝 Poedit: apt-get install poedit
Poedit 使用
- $ poedit xxx.po
- $ ls # 編輯完成後, 會自動產出 mo 檔(xxx.mo).
xxx.po xxx.mo - $ mv xxx.mo /usr/share/local/zh_TW/LC_MESSAGES/ # 將 po 檔留好, 然後將 mo 檔放到正確路徑 (ex: /usr/share/locale/zh_TW/LC_MESSAGES) 即可.
mo 檔 轉回 po 檔
- 若 po 檔誤砍, 可從 mo 檔轉回來.
- msgunfmt xxx.mo > xxx.po