跨多个插件和主题的文本域

时间:2013-05-10 作者:chrisguitarguy

常见的情况是:开发人员基于WordPress为客户构建整个网站。

这个网站包括许多自定义插件和一个自定义主题——可能是另一个主题或一个或两个子主题。

对于所有这些自定义插件等拥有自己的文本域来说,这没有多大意义。一个翻译可能会完成所有的工作。维护一组翻译也可能容易得多。

所以how does one use a single text domain across multiple plugins and/or themes?

我想让你明白load_plugin_textdomainload_theme_textdomain 我可以用于多个插件/主题

1 个回复
最合适的回答,由SO网友:fuxia 整理而成

翻译是每个项目提交历史的一部分,它们应该像PHP代码一样单独保存。就性能而言,使用组合文本域不会赢得太多。实际上,您可能会失去性能,因为如果您几乎在任何地方都需要一个转换数组,则无法再有选择地加载它或在不需要时销毁它。

一种方法是使用一个单独的插件,可能名为“客户端名称翻译”,复制其中的所有字符串,并让翻译人员仅翻译此文件。准备同步地狱。:)

或者将所有字符串移动到具有单个数组的单独文件中…

<?php 
return array(
    \'name1\' => __( \'Name one\', \'your_text_domain\' ),
    \'name2\' => __( \'Name two\', \'your_text_domain\' )
);
…和require_once 所有其他子项目中的该文件(或为其编写包装器插件)。然后通过字符串的键访问字符串。

但我会尝试为所有项目保留单独的提交历史记录。一旦你想重用其中一个,你就必须重写所有的东西。

结束

相关推荐

Plugin Localization

我刚刚为wp构建了我的第一个插件,即使它不是一个伟大的“代码诗意”;)它正常工作。这是一个使用GalleryView 3.0 jquery插件转换默认wp库的插件(http://spaceforaname.com/galleryview).我唯一不能做的就是本地化。此插件的本地化意味着转换管理界面,在这里可以配置jquery插件选项来更改结果库的外观。我试着关注网络上数百万的教程,在论坛上阅读了很多关于这个问题的帖子,并遵循了codex的指南。。。但仍然没有运气。这就是我所做的:每个文本行都位于gette