我正在使用 gettext 为 php 项目执行 i18n 操作。我想使用自动评论功能 http://www.gnu.org/software/gettext/manual/gettext.html#PO-Files在翻译用 id 替换的长短语时给译者提示。我想要获取的是以下po文件
#: full-path-to-file/index.phtml:3
#. a very long text which should replaced by _('foobar')
msgid "foobar"
msgstr ""
这样译者看到关键就可以知道自己应该翻译什么foobar
使用 POEdit 或程序员注释框中的一些模拟工具。
我尝试过使用这段代码,但它不起作用
<?php
/// TRANSLATORS: a very long text which should replaced by _('foobar')
_('foobar');
?>
我是否遗漏了某些内容或自动注释不适用于 php?
甚至维基百科mentions http://en.wikipedia.org/wiki/GNU_gettext#Programming这个功能,我尝试将他们的示例复制到 C 文件中,但即使使用 C,我也无法使其工作。我使用的命令行是
xgettext -C -o - main.c
但生成的输出是
#: main.c:16
#, c-format
msgid "My name is %s.\n"
msgstr ""
所以我肯定错过了一些东西,我应该使用任何东西吗?xgettext
标志或特定版本来启用此功能。
To make xgettext
从源中提取评论,您需要传递一个参数来告诉它要查找哪些评论。
来自文档 http://www.gnu.org/software/gettext/manual/gettext.html#index-g_t_002d_002dadd_002dcomments_0040r_007b_002c-_0040code_007bxgettext_007d-option_007d-183:
‘-c[tag]
’
‘--add-comments[=tag]
’
放置以以下开头的注释块
输出文件中的标记和前面的关键字行。如果没有标签,则
选项意味着将所有注释块放在关键字行之前
输出文件。
Passing -c/
or --add-comments=/
作为参数将使其识别“三斜杠”格式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)