GNU Gettext:GNU 本地化和国际化函数库,即 GNU Localization(l10n) & Internationalization (i18n) Library,是自由软件国际化支持的常用工具。
翻译步骤:
(1)开发者:编程时按照字符串资源格式的约定,在代码中采用msgid调用字符串资源,最后可得到pot资源文件,该文件包括所有需要翻译的字符串及相关信息;
(2)翻译者:将pot文件转化为对应语言的po文件,利用poedit或其它软件(或翻译平台)进行翻译;
(3)维护者:将po文件转化为二进制的mo文件,打包到软件的资源目录;
(4)用户:Gettext会优先显示本地化语言,如果某字符串没有翻译,则显示英文。
也有一些软件,如Android、Ubuntu的帮助文档,不采用mo文件,而是每种语言一个xml文件。