在 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 文件中插入翻译注释/注释的主要内容,如果未能解决你的问题,请参考以下文章