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

Posted

技术标签:

【中文标题】在 PHP 文件中插入翻译注释/注释【英文标题】:Inserting translator notes/comments in PHP files 【发布时间】:2013-05-06 10:58:18 【问题描述】:

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

echo _("Welcome to my site");

然后我可以使用命令行从特定目录中的所有 php 文件创建一个 .po 文件,方法是:

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

但是,当我将其导入 Poedit 时,我看到了一个名为“翻译注释”的框。这有时可能很有用,但我不知道如何填充它。我需要在我的 PHP 文件中添加什么代码,以便 xgettext 向翻译人员添加注释?

【问题讨论】:

重复***.com/questions/7665274/… 【参考方案1】:

xgettext 的帮助显示:

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

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

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

并使用 --add-cmets=COMMENTTAG 运行 xgettext

【讨论】:

效果很好。我不认为有办法不使用TAG 开始实际输出的评论吗?我在任何地方的文档中都没有看到。 你可以使用不带标签的 --add-cmets,另见***.com/questions/7665274/… 是的,我也想过,但我不确定我的代码中是否有其他不相关的注释,我不想显示。 只使用关键字行前面的注释块【参考方案2】:

在 Poedit 中,您可以转到 File/Preferences/Extractors 菜单,选择要提取的适当语言(在您的情况下为 PHP),然后单击 Edit。在这里您可以看到用于提取翻译的命令:

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

您可以在此处查看和修改其他翻译器 cmets 的解析方式。在使用_('your text') 将这些cmets 添加到代码之前,您可以在该行中使用// TRANSLATORS: your notes// translators: your notes。示例:

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

一次只有一个--add-comments参数会被激活,所以// translators:在Poedit中被设置为默认值。

【讨论】:

以上是关于在 PHP 文件中插入翻译注释/注释的主要内容,如果未能解决你的问题,请参考以下文章

python3 实现对代码文件中注释的翻译

jsp注释

APIDOC官方文档(翻译版) 使用文档

注释会被翻译成机器代码吗? C++

HashMap源码注释翻译

doc注释单词翻译