我正在使用gettext为一个PHP项目进行国际化,我想要使用自动注释功能来给翻译人员在翻译被ID替换的长语句时提供提示。我想要得到的是以下的po文件:
#: full-path-to-file/index.phtml:3
#. a very long text which should replaced by _('foobar')
msgid "foobar"
msgstr ""
这样,翻译人员可以使用POEdit或类似工具,在程序员的注释框中看到关键字foobar
时,就知道应该翻译什么。
我尝试过这段代码,但它无效。
<?php
/// TRANSLATORS: a very long text which should replaced by _('foobar')
_('foobar');
?>
我是否遗漏了什么,还是自动注释在PHP中不起作用?
即使维基百科提到这个功能,我也尝试复制他们在C文件中的示例,但是即使在C中,我也无法让其工作。我使用的命令行是
xgettext -C -o - main.c
但生成的输出为:
#: main.c:16
#, c-format
msgid "My name is %s.\n"
msgstr ""
所以我肯定漏掉了什么,我应该使用任何xgettext
标志或特定版本来启用此功能。