I have a bunch of plugins. Obviously, they all have their own unique textdomains for internationalization (i18n).
I also have a bunch of files that I include in all my plugins – I throw them all in a directory called common. This adds a dashboard widget that I want all my plugins to have, as well as a script for updating (since they don’t live on the wordpress.org plugin repo).
I want to be able to just drop my common folder into each of my plugins without having to edit the files. But I’m concerned about the text strings contained inside.
Can I call load_plugin_textdomain twice, for two different domains, within the same plugin? What’s the best way of handling this situation with i18n in mind?
Or will I have to go through each instance of my common files and manually change the textdomain to match the plugin?
You can call
load_plugin_textdomain()
multiple times in each plugin, but I would not do that.Put the common files into a separate plugin, for example
luke-carbis-library
. In that plugin create two simple functions for setup and loading extra files:In your depending plugins hook into your custom action:
Now you can change the inner structure of the base plugin any time; the other plugins just use
$dir
and$url
from your hook.