我正在开发一个 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 …Run Code Online (Sandbox Code Playgroud) 简而言之,我试图找到一种从新 POT 和现有 PO 文件创建新 PO 文件的方法 - 但我想排除 POT 文件中不存在的任何字符串(及其翻译)。
每次我们更改 cakePHP 站点上的措辞时,我们都会生成一个新的 POT 文件,其中包含站点中的所有可翻译字符串。但是,当我们将其与现有 PO 文件合并(使用 POEdit)时,合并过程仅将 POT 条目添加到 PO 文件中。它不会删除我们不再需要的翻译。我们的 PO 文件中有超过 12k 个不需要的翻译。这让我们的翻译很不高兴。她已经开始只查看网站,然后将翻译发送给我以手动添加,这让我非常不高兴。
我四处寻找可以进行这种破坏性合并的工具,但我还没有成功找到一个。在我开始写一篇之前……我错过了什么吗?
(抱歉,如果这属于不同的交易所,如果有人告诉我是哪一个,我会将这篇文章移至更好的交易所)。