0

假设我有一个example.php这样的文件:

<p>
  <?php echo _('Hello world') ?>
</p>
<p>
  <b><?php echo _('the end') ?>
</p>

如果我提取字符串:

xgettext example.php

我得到一个messages.mo文件,我可以用它打开poedit、翻译、创建一个 .po 文件等。没关系,问题是当我编辑我的原件并已经翻译时example.php

<p>
  <?php echo _('Hello world') ?>
</p>
<p>
  <?php echo _('new string') ?>
</p>
<p>
  <b><?php echo _('the end') ?>
</p>

我添加了一个新字符串,如果我xgettext再次执行,我会得到一个messages.mo所有字符串都为空的文件,所以我必须使用 poedit 并再次翻译所有字符串。如何重复使用我以前的翻译?

4

1 回答 1

1

您可以将两个 po 文件与msgmerge. 如果源字符串未更改,则合并应该可以完美运行,如果更改了,您显然可能需要做一些工作才能再次翻译内容,当然您必须翻译任何全新的字符串。

msgmerge -o results.po my_existing_translations.po untranslated_xgettext_output.po
于 2012-06-16T12:05:37.220 回答