GNU gettext
大多數的自由軟體是採用 GNU 的 i18n 架構,locale的翻譯訊息是從原始的 .po 檔編譯成程式在讀的 .mo 檔。這些檔案會隨著套件安裝到 /usr/share/locale/zh_TW/LC_MESSAGES 裡,如果你要修改翻譯,你需要 msgfmt 和 msgunfmt 這兩個工具。
我們可以先用 msgunfmt 將 .mo 檔轉成 .po 檔進行文字編輯,在將編輯過的 .po 檔用 msgfmt 輸出 .mo 檔。指令如下:
msgunfmt gtk20.mo -o gtk20.po
msgfmt gtk20.po -o gtk20.mo
除了應用程式中的字串外,選單與 MIME 也常常看到沒翻譯的字串。要編輯它們可以到以下的地方找到定義檔:
- /usr/share/applications 選單中的應用程式項目
- /usr/share/desktop-directories 選單中的應用程式目錄
- /usr/share/mime/packages 檔案類型
MIME 編輯完以後需要跑 update-mime 才會生效。
沒有留言:
張貼留言