xgettext - 提取可翻译字符串并更新 .pot
我继承了一个sample.pot 文件。现在,我在 a1.c 和 a2.cpp 中添加了新消息。我是否可以使用 xgettext 并将内容输出到同一个 example.pot 而不是创建一个新的?例如:-
xgettext -d sample -s -o sample.pot a1.c
xgettext -d sample -s -o sample.pot a2.cpp
这是更新模板以便保留旧消息的首选方法吗?另一个问题是我们如何区分源代码中的可翻译字符串和普通字符串。我假设 xgettext 将从提到的源代码文件中提取所有字符串。
如果有人可以分享正确的方法,那就太好了..谢谢
I have inherited a sample.pot file. Now, I have added new messages in a1.c and a2.cpp. Is it possible for me to use xgettext and output the contents to same sample.pot instead of creating a new one? Eg:-
xgettext -d sample -s -o sample.pot a1.c
xgettext -d sample -s -o sample.pot a2.cpp
Is this preferred way to go in order to update the template such that old messages are also preserved? The other question is how do we distinguish translatable strings from normal strings in source code. I assume xgettext will pull all strings from mentioned source code file.
It would be great if anybody can share the correct approach..Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
-j
、--join-existing
选项(“将消息与现有文件连接”)是否无法满足您的需要?请注意,您可以在命令行上指定多个输入文件。
Does the
-j
,--join-existing
option ("join messages with existing file") not do what you need?Note that you can specify more than one input file on the command line.
实现此目的的最简单方法是:
您不需要
-j
、--join-existing
因为 xgettext 接受.po
和.pot
文件作为常规输入文件。选项
-j
、--join-existing
很少有用。与-D
、--directory
结合使用时,用作输入文件的输出文件sample.pot
为 未在目录列表中搜索。如果您使用-l c
、--language=c
您需要-j
、--join-existing
因为sample.pot
否则将被解析为 C/C++ 源文件。此外,
-osample.pot
、--output=sample.pot
与-dsample
、-效果完全相同-默认域=样本
。您可以安全地忽略其中之一。The simplest way to achieve this is:
You don't need
-j
,--join-existing
because xgettext accepts.po
and.pot
files as regular input files.The option
-j
,--join-existing
is rarely useful. In conjunction with-D
,--directory
it has the effect that the output filesample.pot
used as an input file is not searched in the list of directories. If you use-l c
,--language=c
you need-j
,--join-existing
becausesample.pot
would otherwise be parsed as a C/C++ source file.Besides,
-o sample.pot
,--output=sample.pot
has exactly the same effect as-d sample
,--default-domain=sample
. You can safely omit one of them.