How to make a multilingual WordPress website – WPML, qTranslate or multiple install
If you want to create multilingual WordPress-based website here you will find my experiences on the subject.
I have been running quite a few multilingual websites for the last couple of years.
I have always had websites with English as main language and other languages as secondary.
My favorite url structure is www.yourdomain.com for English and then www.yourdomain.com/pl /es /ru and whatever for other languages. I want my menus and content to be completely independent (different content in every language) but with an option to link certain articles.
I used to achieve this using custom-built cms solution. The reason was simple – a couple of years ago WordPress was unusable as a CMS, not to mention multilingual CMS. I disliked Joomla while at version 1.0.something it was still no good for multilingual (remember struggling with plugin called “Babelfish”). My own solution was not ideal, because I had to develop functionalities that I would have free with WordPress.
Today I have all my multilingual websites moved to wordpress and I was really happy to scrap my own cms.
Just to make it clear: it is – in my humble opinion – impossible to create a reasonable multilingual WordPress site without buying WPML plugin. Any other solution will be awkward to maintain, hacky or not future-proof. Let me discuss other options first, so you can see you really have no choice but to part with your money.
Multiple WordPress installations for each language
In this option you install multiple wordpress instances for each language – in subfolders. You can use folders with names matching language codes (de, fr, pl and so forth) to obtain urls like www.yourdomain.com/fr/ for French and so on.
Then you have to update each of the WordPress instances separately, you can’t integrate the content (separate databases), you have separate login to each of them (you can do single login but it is not simple). Tried this scenario and it is not very nice. You can probably manage with two languages, but with more?
qTranslate – Free Plugin solution
qTranslate is a free solution similar to WPML. I have to admit that I did not test it thoroughly, because at a very early stage of my tests it turned out to be unfit for my purpose. I just did not like the idea of injecting stuff into menu item names, It was also something unworkable if you are website designer and create website for a customer.
Moreover if you go for this free solution you build your site in hope that the talented guy behind it will continue to give his talent away for free. But what if he does not? Well – you have a problem. If you built that site for a customer – you have a big problem.
The WPML way – and it is not the easy way, just the only way
WPML is quite expensive (79 US Dollars) and you have to pay for updates every year. On the other hand you have a business behind it. This is some guarantee that it will continue to be developed and keep up with WordPress.
With WPML you are getting quite responsive support. They did not manage to solve me any issues so far, but were pretty quick and pushed me into right direction. They are helpful but you won’t get them to release quick patches or anything. The product is commercial and they offer quite ok support for it – as one would expect.
WPML still has a lot of bugs and it behaves awkward sometimes. There is a couple of things you have to remember using it, or you will get into problems.
Below you can find a couple of important things you should know before going the WPML route
I can confirm that menu translation works well. Linking menu items (this is translation of) – I would not do it. Create your menus as translation of your main language, but then create menu items for every language independently, without marking them as translations. I see no benefit of linking on my sites and it never worked for me, the menus were disappearing, could not get it to work with linked menu items.
You won’t get same post slugs for the same translated article, ie www.yourdomain.com/my-article/ www.yourdomain.com/language/
Create new categories only using WordPress categories panel. Do not use the one in post editing screen (there is WPML warning but easy to miss). Can’t have same category slug in two or more languages, ie yourdomain.com/articles/ and yourdomain.com/language/
The above means you will not have /blog/ and say /es/blog/ and /de/blog/ – this is confirmed after digging in WPML support forum.