【问题标题】:How to auto-generate POT file from a Wordpress plugin PHP file?如何从 Wordpress 插件 PHP 文件自动生成 POT 文件?
【发布时间】:2018-09-13 19:45:54
【问题描述】:

我正在开发一个 Wordpress 插件,并注意到主要的 PHP 文件 - 我们称之为 blah.php - 包含以下调用:

100: <?php _e('Foo', 'blah'); ?>
101: <?php _e('Bar', 'blah'); ?>
...

它在语言子文件夹中附带一个blah.pot 文件,代码如下:

#: blah.php:100
msgid "Foo"
msgstr ""

#: blah.php:101
msgid "Bar"
msgstr ""

假设我想在 PHP 中在上述两段之间添加一段新文本:

100: <?php _e('Foo', 'blah'); ?>
101: <?php _e('Baz', 'blah'); ?> <!-- New -->
102: <?php _e('Bar', 'blah'); ?>
...

这是否意味着我必须像这样重新编号blah.pot

#: blah.php:100
msgid "Foo"
msgstr ""

#: blah.php:101
- msgid "Bar"
+ msgid "Baz"
msgstr ""

+ #: blah.php:102
+ msgid "Bar"
+ msgid "Bar"
+ msgstr ""

如果有数百个这样的项目怎么办?这不会很耗时吗?

有没有更快的方法,例如,从 PHP 自动生成具有正确行号的 pot 文件?

【问题讨论】:

    标签: php wordpress translation pot


    【解决方案1】:

    通常 POT(便携式对象模板,.pot)文件由 gettext 目录编辑器编辑,例如 PoeditEasy Po 或类似程序。这些文件本身充当了需要翻译的模板,通常由同一个 gettext 程序通过扫描 PHP 文件并查找 gettext 函数生成,或者可以由另一个插件生成(例如 WPML 将生成这些文件)。

    我不知道有一种方法可以在独立的 PHP 中执行此操作。我建议尝试一个翻译程序,看看哪个最适合你。我过去曾成功使用过 Poedit。它是免费的。

    查看official Localization documentation,了解有关这些 gettext 文件如何协同工作以创建翻译的更多信息。

    【讨论】:

    • 谢谢,帮了大忙!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-14
    • 1970-01-01
    • 2012-04-22
    • 2012-08-17
    • 2022-01-22
    • 2010-11-27
    • 1970-01-01
    相关资源
    最近更新 更多