GNU Gettext 是一套國際化 (i18n) 工具鏈,幫助開發者將程式中的字串標記為可翻譯,提取為 .po 文件,翻譯後編譯為 .mo,程式運行時根據 LANG 環境變數自動加載對應語言。
_("string") 包裹可翻譯字串。xgettext 提取生成 messages.pot 模板。zh_TW.po,翻譯 msgstr。msgfmt 編譯為 zh_TW.mo 放入 /usr/share/locale/zh_TW/LC_MESSAGES/。bindtextdomain/textdomain,設置 LANGUAGE。官方下載:https://ftp.gnu.org/gnu/gettext/
Gettext 讓程式員與翻譯人員並行工作,無需修改源碼即可新增語言支援。