在PHP文件中插入翻译注释/注释

时间:2013-05-12 05:54:24

标签: php localization gettext poedit xgettext

我正在翻译我正在开发的应用程序。我有类似的字符串:

echo _("Welcome to my site");

然后,我可以使用命令行通过执行以下操作从特定目录中的所有PHP文件创建.po文件:

find . -iname "*.php" | xargs xgettext

但是,当我将其导入Poedit时,我会看到一个名为“翻译笔记”的框。这有时可能很有用,但我无法弄清楚如何填充它。我需要将哪些代码添加到我的PHP文件中,以便xgettext将笔记添加到翻译器中?

2 个答案:

答案 0 :(得分:6)

xgettext的帮助显示:

-cTAG, - add-comments = TAG放置以TAG开头的注释块                                 输出文件中的前面的关键字行   -c, - add-comments放置关键字行之前的所有注释块                                 在输出文件

所以通过示例添加您的文件:

// COMMENTTAG:这是另一个由xgettext提取的块注释。

使用--add-comments = COMMENTTAG

运行xgettext

答案 1 :(得分:3)

在Poedit中,您可以转到文件/首选项/提取器菜单,选择要提取的适当语言(在您的情况下为PHP),然后单击编辑。在这里,您可以看到用于提取翻译的命令:

xgettext --language=PHP --add-comments=TRANSLATORS: --add-comments=translators: --force-po -o %o %C %K %F

您可以在此处查看和修改如何解析其他翻译人员评论。在使用// TRANSLATORS: your notes将这些注释添加到代码之前,您可以在行中使用// translators: your notes_('your text')。例如:

// translators: 'practice' is a verb, used on a button as an action.
echo _('practice');

一次只能激活一个--add-comments参数,因此// translators:被设置为Poedit中的默认值。