在编写支持多语言的程序时,通常源代码中的交互语句首先还是用英文编写,然后才为交互语句添加多语言支持机制(有多种机制可选)。一种常见的多语言支持机制是使用 gettext 工具提取源代码中的交互语句,生成 .po 文件,用于翻译成合适的语言,编译生成 .mo 文件。程序在运行过程时,再根据用户环境变量设置,调用相应语言版本的 .mo 文件中的文字信息,显示给用户。(详细参见:Just a moment... )
在这个多语言支持机制,很重要的一环是编辑 .po 文件,把英文词条翻译成特定的语言。.po 文件是纯文本文件,可以用普通的文本编辑器进行编辑。更方便的是使用 Poedit 软件来编辑 .po 文件。
翻译词条是是一件费时费力的工作。如果使用机器辅助翻译,可以大大提高效率。但是 Poedit 的机翻功能是收费的,一般网友不需要经常使用它这个功能,就不想付费购买。
我花了一些时间,把 github 的免费机翻工具“Translation-Terminator”与 Autohotkey 工具结合起来(感谢网友 telppa 和 zjld ),做成了免费机翻工具 PoTranslator,可以实现 Poedit 自动机翻,提高翻译速度。
下载网址:Releases · anbangli/PoTranslator (github.com)
工作界面: