我创建了一个我想翻译的 WordPress 主题。
在我的主题中,我使用了来自 woocommerce
的一些翻译(即 <?php _('Your cart', 'woocommerce'); ?>
)。
这些 woocommerce 字符串,我不想再翻译了,自然,因为它们已经被翻译过了。但是当我使用 poedit 扫描我的主题时,它当然会找到所有文本域。
所以我的问题是:
我如何告诉 POEdit 只选取特定文本域中的字符串?
-
__('Something', 'my-text-domain')
-
_e('Something else', 'my-text-domain')
我找到了这个答案:
但它似乎对我不起作用。我添加了 ri:1,3c
到所描述的列表,但它没有改变任何东西,而且我不知道如何处理它。
看看我是怎么做到的:
最佳答案
GNU gettext 工具和 Poedit(使用它们)都不支持这种对 gettext 的特殊滥用。
在 gettext 中,域 大致是“一个软件”——一个程序、一个库、一个插件、一个主题。因此,它通常驻留在单个目录树中并且单独在那里 — 或者至少,如果您有多个 pieces=domains,您可以将它们合理地组织到一些子目录中,您可以限制提取到。
像您那样在单个文件中混合和匹配域并不是 gettext 的预期用途,除了使用您自己的辅助函数外,没有其他合理的解决方案来处理它,例如通过将所有 woocommerce 文本包装到 __woo
(显然您必须定义)并且不将其添加到 Poedit 中的关键字列表中。
关于php - 使用 POEdit——只搜索特定域中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30422256/