4

我继承了一个 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 将从提到的源代码文件中提取所有字符串。

如果有人可以分享正确的方法,那就太好了..谢谢

4

2 回答 2

3

-j,--join-existing选项(“使用现有文件加入消息”)不能满足您的需要吗?

请注意,您可以在命令行上指定多个输入文件。

xgettext -d sample -s -j -o sample.pot a1.c a2.cpp
于 2011-01-29T17:31:29.367 回答
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用作输入文件的输出文件。如果使用,则需要,因为否则会被解析为 C/C++ 源文件。 -l c--language=c-j--join-existingsample.pot

此外, , 与-o sample.pot,--output=sample.pot具有完全相同的-d sample效果--default-domain=sample。您可以安全地省略其中之一。

于 2016-09-25T22:20:06.277 回答