如何为你的程序添加多语支持

有很多商业的程序可以用来添加多语支持,不过我觉得GNU GetText For Delphi比较简单好用。

下载一个GNU GetText For Delphi,安装后运行它的命令行工具dxgettext来提取用于翻译的字符串。

dxgettext -b c:\source\myprogram --delphi -r

上面命令执行后,会在myprogram目录下生成一个default.po文件。

然后执行msgmkignore来提取不需要翻译的字符串

msgmkignore default.po -o ignore.po

最后使用msgremove从翻译模板文件中删除不需要翻译的字符串。

msgremove default.po -i ignore.po -o output.po

之后,可以用免费的poEdit来翻译生成的output.po文件。

 

翻译完之后,执行msgfmt output.po -o default.mo将po文件编译为MO文件。

 

最后,在你的Delphi程序中引入gettext For Delphi的单元文件,调用其中的方法在运行时进行翻译,这里就不展开说了,GNU GetText的文档中写得很清楚。