Php Gettext自动注释生成

Php Gettext自动注释生成,php,internationalization,comments,gettext,po,Php,Internationalization,Comments,Gettext,Po,我正在使用gettext为一个php项目做i18n。当翻译id替换的长短语时,我想使用给翻译者提示。我想获得的是以下po文件 #: full-path-to-file/index.phtml:3 #. a very long text which should replaced by _('foobar') msgid "foobar" msgstr "" 通过这种方式,翻译人员可以在程序员注释框中使用POEdit或一些模拟工具看到键foobar时看到他应该翻译的内容 我尝试过使用此代码,但不

我正在使用gettext为一个php项目做i18n。当翻译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');
?>
但生成的输出是

#: main.c:16
#, c-format
msgid "My name is %s.\n"
msgstr ""

所以我肯定遗漏了一些东西,如果我使用任何
xgettext
标志或特定版本来启用此功能。

要使
xgettext
从源代码中提取注释,需要传递一个参数来告诉它要查找哪些注释

从:

-c[tag]

——添加注释[=标记]

放置以开头的注释块 在输出文件中标记和前面的关键字行。如果没有标签,则 选项意味着将所有注释块放在 输出文件


-c/
-addcomments=/
作为参数传递将使其识别“三重斜杠”格式。

@John Flatness-知道为什么在Python模式下对.js文件不起作用吗?此处的更多详细信息:请注意,如果您使用
-c/
添加注释,例如
///hint to translator
,它也会在此处选择
///x/y始终>2
。xgettext将发出
#。在本例中,y在.pot文件中始终大于2。如果您试图使用--language=Python从javascript中提取,请在注释开始处附加一个哈希,这意味着您可以像//#一样开始注释,这样xgettext将正确提取翻译注释。
#: main.c:16
#, c-format
msgid "My name is %s.\n"
msgstr ""