如何迭代使用xgettext来更新.po文件进行翻译

Pau*_*xon 4 gettext internationalization xgettext

我正在寻找使用xgettext来帮助翻译大型代码库,我有两个问题:

  • 如果我每个语言都有一个.po文件,是否有一种简单的方法可以使用代码库的单个xgettext扫描来更新它们,或者我必须为每种语言运行一次xgettext吗?
  • 如果我用poedit将目标语言添加到.po文件头,xgettext似乎用默认标题覆盖它.我怎么能阻止这个?

也许我使用了错误的工具,在这种情况下建议是受欢迎的.我想要的是能够扫描代码并使用任何新字符串更新.po文件,但保留任何标头信息.

编辑:我知道poedit可以扫描代码,但我希望找到一个命令行应用程序来执行扫描,以更轻松地自动化该过程.

Dou*_*der 9

是的,基本上你使用错误的工具.

xgettext提取标签并创建模板文件.(例如*.pot文件)

msgmerge命令使用.pot文件中的更改更新.po文件.

我们制定了更新.po文件的规则,如下所示:

%.en.po : %.pot
    -[ -e $@ ] && msgmerge --width=110 --update $@ $<
    [ -e $@ ] || cp $< $@
Run Code Online (Sandbox Code Playgroud)