如何从 Wordpress 插件 PHP 文件自动生成 POT 文件?

Jon*_*han 5 php wordpress translation pot

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

100: <?php _e('Foo', 'blah'); ?>
101: <?php _e('Bar', 'blah'); ?>
...
Run Code Online (Sandbox Code Playgroud)

它伴随着blah.pot语言子文件夹中的一个文件,代码如下:

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

#: blah.php:101
msgid "Bar"
msgstr ""
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

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

+ #: blah.php:102
+ msgid "Bar"
+ msgid "Bar"
+ msgstr ""
Run Code Online (Sandbox Code Playgroud)

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

有没有一种更快的方法,比如说,用正确的行号从 PHP 自动生成锅文件?

inc*_*ike 4

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

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

查看官方本地化文档,了解有关这些 gettext 文件如何协同工作以创建翻译的更多信息。