我正在翻译我正在开发的应用程序。我有这样的字符串:
echo _("Welcome to my site");
然后,我可以使用命令行.po
从特定目录中的所有 PHP 文件创建一个文件,方法是:
find . -iname "*.php" | xargs xgettext
但是,当我将其导入 Poedit 时,我会看到一个名为“翻译注释”的框。这有时可能很有用,但我不知道如何填充它。我需要将什么代码添加到我的 PHP 文件中,以便 xgettext 向翻译人员添加注释?
我正在翻译我正在开发的应用程序。我有这样的字符串:
echo _("Welcome to my site");
然后,我可以使用命令行.po
从特定目录中的所有 PHP 文件创建一个文件,方法是:
find . -iname "*.php" | xargs xgettext
但是,当我将其导入 Poedit 时,我会看到一个名为“翻译注释”的框。这有时可能很有用,但我不知道如何填充它。我需要将什么代码添加到我的 PHP 文件中,以便 xgettext 向翻译人员添加注释?
xgettext 的帮助显示:
-cTAG, --add-comments=TAG 将以 TAG 开头的注释块和前面的关键字行放在输出文件中 -c, --add-comments 将所有注释块放在输出文件中的关键字行前面
因此,通过示例添加您的文件:
// COMMENTTAG:这是另一个将由 xgettext 提取的块注释。
并使用 --add-comments=COMMENTTAG 运行 xgettext
在 Poedit 中,您可以转到 File/Preferences/Extractors 菜单,选择您要提取的适当语言(在您的情况下为 PHP),然后单击 Edit。在这里您可以看到用于提取翻译的命令:
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 中设置为默认值。