WPML includes API functions that allow themes and plugins to get multilingual services from it, but it seems that no major theme framework or plugin is using them – and they’re right!
Most people who use WordPress don’t run multilingual, so it actually makes little sense for theme designers to add support just for us. And, there are other multilingual plugins out there, so should the theme author add support for all?
We have a different idea, and I want to hear your opinion about it.
Instead of asking them to play by our tune, we’ll play by their. WPML will include a compatibility module which will allow it to use hooks by themes and plugins. This will allow us to make those themes fully multilingual without changing a single line of code (in the theme).
Here are some examples we’ve looked at:
We’re going to make this very easy to use and well documented. Users will be able to contribute their own theme/plugin compatibility code, so if you’re using something that we don’t know, you can make it multilingual yourself.
For example, a compatibility module for All in One SEO Pack
AIOSEOP includes hooks for reading and modifying the blog title and other texts that users enter in the plugin admin page To run multilingual, these texts need to be translated.
The compatibility module for AIOSEOP will use these hooks. It will get the texts that need translation and add them to WPML’s string translation screen. Then, when the site is displayed, it will use the same hooks to replace those strings with their translation.
Things that it will be able to do
A multilingual compatibility pack for a theme will do stuff like:
- Translate texts that you enter in the theme administration page.
- Turn featured categories and other IDs into multilingual.
- Allow inserting language selectors into different places in the theme (already styled to fit that theme).
- Fix navigation, so that everything points to the right language (like the home page link).
How does this sound to you? Would you be interested in compatibility packs for any theme or plugin?