一个插件中的两个文本域

时间:2014-08-20 作者:Andrei Surdu

起始时间:A = 主插件(库),B = 子插件

我开发了一个插件B 这将取决于另一个插件A 以便正常工作。我这样做是因为我是一个不喜欢代码重复的人。因此,我有一个插件,其中包含其他插件所需的库A 和另一个插件,它只会做它应该做的,但只有当插件A 已激活。

一切都很顺利,但是。。。我还需要制作插件B 独立和建档这一点,我必须包括主要的图书馆。很简单,我所需要做的就是更改几行代码。

这是潜在的问题。In插件A 我有翻译文本域example_text_a 在子插件中(B) 是的example_text_b.

两者都使用类似的方式加载语言:

add_action( \'plugins_loaded\', \'example_load_translations\' );
function example_load_translations() {
    load_plugin_textdomain( 
        \'example_text_X\', 
        false, 
        dirname( plugin_basename( __FILE__ ) ) . \'/languages/\' 
    ); 
}
现在是问题。是否可以在一个插件中加载两个不同的lang文本域?如果是,是否会导致任何冲突?

如果可能的话,我希望在本地化方面得到更多帮助。非常感谢。

1 个回复
SO网友:fuxia

是的,您可以在一个插件中为多个文本域加载多个翻译文件。这有时很有用,例如,当您在AJAX调用中只需要一个字符串,而在应用程序的其余部分需要许多字符串时:为了加快AJAX的速度,请加载单独的翻译。

请注意,wordpress会自动更新插件的语言。org可能不会处理这个问题,他们不希望有多个翻译。

从不使用plugins_loaded 加载翻译。此处不创建输出。等待对翻译函数的第一次调用,确保不需要时不加载翻译。评论帖子文件、XML RPC或AJAX是插件减缓一切速度而没有任何好处的常见地方。

结束