如何为C项目添加国际化po文件
当你写好C项目,并且在代码中添加完类似_("translate this words")这样的前期工作后。我们就可以开始准备为项目添加po文档了。
假设项目结构如下:
.
|-src
|-po
|-docs
|-test
1. 将src目录下需要翻译的C文件列表生成到po目录下
find src/ -name "*.c" >po/POTFILEE.in
2.进入po目录,使用xgettext将所有源码文件中字符串提取出来(下例中生成 zh_CN.po文件)
xgettext -f POTFILEE.in -d zh_CN --keyword=_ --keyword=N_ --from-code=UTF-8
3.【可选】使用msgmerge将老的po文件和新的po文件进行merger ,这样实现: msgmerge old.po new.po -o out.po,在进行msgmerge后一定要将(#, fuzzy)全部删除掉
4. 使用工具,如poedit, gtranslator对生成的po文件进行翻译。
5.将po文件转换成gmo文件:
msgfmt --output-file=zh_CN.gmo zh_CN.po?
?