假设我有一个example.php
文件:
<p>
<?php echo _('Hello world') ?>
</p>
<p>
<b><?php echo _('the end') ?>
</p>
如果我提取字符串:
xgettext example.php
我得到一个messages.mo
文件,我可以用poedit
打开,翻译,创建.po文件等等。没关系,问题是当我编辑原文并已翻译{{ 1}}:
example.php
我添加了一个新字符串,如果我再次执行<p>
<?php echo _('Hello world') ?>
</p>
<p>
<?php echo _('new string') ?>
</p>
<p>
<b><?php echo _('the end') ?>
</p>
,我会得到一个xgettext
文件,其中所有字符串都为空,所以我必须使用poedit并再次翻译所有字符串。我如何重复使用以前的翻译?
答案 0 :(得分:1)
您可以将两个po文件与msgmerge
合并在一起。如果源字符串没有改变,合并应该可以正常工作,如果它已经改变了,你显然可能需要做一些工作来重新翻译,当然你必须翻译任何全新的字符串。
msgmerge -o results.po my_existing_translations.po untranslated_xgettext_output.po