4

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

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

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

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

4

1 回答 1

10

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

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

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

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

%.en.po : %.pot
    -[ -e $@ ] && msgmerge --width=110 --update $@ $<
    [ -e $@ ] || cp $< $@
于 2009-03-30T16:02:41.283 回答