我继承了一个sample.pot文件。现在,我在a1.c和a2.cpp中添加了新消息。我是否可以使用xgettext并将内容输出到相同的sample.pot而不是创建一个新的?例如: -
xgettext -d sample -s -o sample.pot a1.c
xgettext -d sample -s -o sample.pot a2.cpp
这是首选方式,以便更新模板,以便保留旧邮件吗?另一个问题是我们如何在源代码中区分可翻译字符串和普通字符串。我假设xgettext将从提到的源代码文件中提取所有字符串。
如果有人可以分享正确的方法,那就太好了。谢谢
答案 0 :(得分:3)
-j
,--join-existing
选项(“加入包含现有文件的邮件”)不能满足您的需求吗?
请注意,您可以在命令行上指定多个输入文件。
xgettext -d sample -s -j -o sample.pot a1.c a2.cpp
答案 1 :(得分:1)
实现这一目标的最简单方法是:
xgettext -o sample.pot -s a1.c a2.cpp sample.pot
您不需要-j
,--join-existing
,因为xgettext接受.po
和.pot
个文件作为常规输入文件。
选项-j
,--join-existing
很少有用。与-D
,--directory
结合使用时,其结果是用作输入文件的输出文件sample.pot
在目录列表中未搜索。如果您使用-l c
--language=c
,则需要-j
,--join-existing
因为sample.pot
将被解析为C / C ++源文件。
此外,-o sample.pot
,--output=sample.pot
与-d sample
,--default-domain=sample
具有完全相同的效果。你可以安全地省略其中一个。