How to make a multilingual WordPress website – WPML, qTranslate or multiple install

Posted on by |

You can have same tags in multiple languages, ie “link” tag in English and “link” tag in German. If a tag exists in another language, it will have @language_code (@en, @ru etc) appended to its name. As long you use WordPress functions to display tags it is transparent to user. Be careful: you can force wordpress to create the same tags in two languages – this will untag all the content in other languages that use the tag. When creating new tags in post editing window do it slowly, make sure ajax call is made and there is no existing tag.

Yoast’s SEO plugin does work with WPML and this is very important, as you are getting loads of essential functionalities with this plugin apart from SEO stuff.  You can set different titles and descriptions for all home pages for different languages no problem – it works really well.

Other plugins tend to work as long as they use Worpdress API to interact with database.

WPML does not (unfortunately) work with Yet Another Related Posts Plugin, which is in my opinion the best plugin to get related content. There is a bit hacky solution that will get it to work – I manually wrote the part that displays the results and pulls the results from database. For some reason when WPML is installed, YARP keeps displaying the same set of related content for all posts (I believe some WPML database query modifications get into its way), but its database-based cache has correct data. So – you know the solution.

WPML does work with WordPress custom post types. Just remember to flush permalink cache (go to permalinks and save settings) after creating new post type, otherwise it won’t work.

If you create custom fields for media post types (images, mp3, pdf etc) they will work with WPML (WPML media translation plugin must be on). They will, however, not get copied if you use WPML’s copy attached media facility when creating translation of a post. There is no workaround, you can only hack the WPML core, there is no hooks to get it to work without hacks.

Custom queries will work transparently, getting posts using custom queries will get you posts in current page’s language without doing anything extra – this is by far one of the best functionalities of WPML.

Theme translation with WPML

For some reason just dropping your .mo files into theme/languages folder will not work, even though this is expected behavior. Each time you change you strings in .mo file, you have to run WPMLs string scan. It will pick up the new strings. Otherwise the strings will be not translated. You can of course use WPML string translation and translate directly form there – I just prefer the .mo file way.

Multilingual ecommerce with Wrodpress

You have two plugins you can try with WPML: WP-ecommmerce and Woocommerce. Both have sort of glue plugin developed by WPML team.  I did not manage to get WP-Ecommerce to work with WPML. Woocommerce (nearly) works with Woocommerce Multilingual plugin from WPML team. Unfortunately Woocommerce Multilingual has a bug that prevents checkout data to be updated when selecting delivery method and thus renders whole solution unusable.

Another words, if you need multilingual ecommerce solution based on wordpress – there is nothing that would actually work out of the box. If you are crazy enough to look for multi currency and multi language ecommerce solution for WordPress I will save you time – none exists.  I would love to hear there actually is one, so please let me know if you find any.

Both WP-ecommerce and Woocommerce offer multi-currency plugins, but all they do is display prices in different currency based on exchange rate you set. The whole system and checkout remains single-currency. Another words there is no separation of say US Dollar and Euro sales.

If you have time, skill and need to get multilingual ecommerce working on WordPress, I would be tempted to tinker with Woocommerce Multilingual  and resolve the aforementioned checkout bug. I just believe it is better plugin than WP-ecommerce and you can have decent shop without buying anything, with WP-ecommerce you can’t, as you need Golden Cart to make it look anywhere near normal shop.  I reported the bug to WPML guys it but it is not solved yet, woocommerce plugin is not priority for WPML crowd. Anyway, this is as it stands around late 2012, like it or not.

That would be it – I hope I saved you some time and disappointment. It is normal that anybody who like me loves WordPress would go a long way to be able to use it for multilingual projects as well. There is no ideal solutions yet, but WPML seems to be pretty close.