When making this website I discovered how difficult is to blog with WordPress in more than one language. There is no native support and the plugins or possible hacks can’t provide all needed features.
I was looking for the following characteristics:
- Easy translation of posts, pages, tags, categories and template;
- Automatic generation of feeds in different languages;
- Detection of language through browser or preferred language through cookie;
- Different permanent link for each language.
But it was not a surprise when I didn’t find a complete solution. I had the same problem with Joomla. A good question is: Why the community doesn’t give much attention to this?
In my search I found the plugins below (with last update and heritage):

But before choose one of them, I tested some to understand how they store the content and avoid headaches if I need to migrate to another solution in future. Those plugins save the information in the following ways:
- Polyglot, xLanguage, qTranslate: all content on table posts with markups;
- ZdMultiLang: New tables to save the correspondences;
- WP_Multilingual: Save the versions on postmeta table.
After that, I choose qTranslate because it has a friendly interface, a good source code organization, an active forum and because of its parentage with Polyglot and xLanguage. This way it’s easy for me to modify the sources and I’m not going to have problems if some day I choose to move to xLanguage, for example.
But it has lots of deficiencies like the impossibility to preview archived posts, the permanent links in one language only, the markups of identification showing around the tags and categories on admin etc. Nevertheless, it solves well the problem before a better option come.
-
Update 10/02/08:
My first thought was to install two separate blogs and keep one of them as subdomain. But the maintenance of two code bases kept me away from this idea. Kelter on comments provided a link to a clever hack for wp-config.php to use only one WordPress installation. It’s not a perfect solution because all texts of template need to be inside a .mo file, you will have a copy of all tables for each language, no shared comments etc. However comparing with the features of available plugins, it’s a good option.
-
Cited plugins:










10 Comments
I have your same problem. I choose to install wordpress in two domain contentandcode.org and en.contentandcode.org and link the two site each other.
I would develop a plugin that help to do this kind of link. I think that it could be a solution. I don’t like to install a lot of new tables in the mysql database.
Anything helpful here?
http://blog-en.icanlocalize.com/installing-wordpress-for-multiple-language-blogs/
Thanks Gitano and Kelter for your comments. I’ve updated the post.
I’m starting to see more CMS solutions look at language/localization. Check this.
http://www.shadowcms.com/shadozoom/shado-cms/features/multi-language-content-management-system/en/multi-language-cms.cfm
Good grief - a flood of new info…
http://hackwordpress.com/how-to-create-a-multi-language-blog/
Using categories to do the job you will have problem with tags and some plugins. I think the first link you sent is a better option.
Just to thank you for your article and also to let you know a new version of ZdMultilang is out
And still which is the best?
Levani,
There is no final solution out there. You have to choose based in your needs.
If it’s not a problem to have separated blogs for each language, use a hack and leave the plugins. But if you want to keep everything in one place, go for a plugin. At moment I’m still hacking QTranslate, but I’m thinking seriously about dropping it.
Hi Uilton, I know where you’re coming from with QTranslate. When I was building up my Bilingual site back in May of this year, I had looked at QTranslate but quickly dismissed it because it didn’t work with a lot of other plug-ins I was using. I finally settled on WP_Multilingual and have been relatively happy with it since. But I am currently going to be dropping it because the author cannot get a stable version that works with WP 2.6.2 finished. I even made a very generous donation to the author, but I am tired of waiting to upgrade to 2.6.2.
Anyway, this is why I am surfing the net looking for a replacement. I’ve currently narrowed it down to xLanguage or ZDMultilang but am leaning towards the latter because I am not looking forward to having to markup all my old posts.
Your post has helped in the decision making process - thanks.