When it comes to multilingual WordPress sites, we know of one translation plugin – qTranslate. We know it pretty well, as we added support for it into our WordPress SEO plugin – FV Simpler SEO and use it on a number of websites: KittseeTanz is a simple example.
Our new project is to create an independent language version of the wonderful and popular cooking website TheShiska.com. Tori would like a French language version, as she’s often been asked for French versions of her recipes. Here are are top priorities for this project:
- SEO – permalinks of posts and categories need to be translated too
- Maximum security – people working on the French version of the website should have no access into the English version
- Version independent search – for this site, we aren’t using the internal WordPress seach. We use Lucene and Lucerne has to work for each language separately
- Independent published dates – the French language version of the site might work on a slightly different schedule, so it should not show the new posts until they are carefully translated
- No automated translation – this is literary level translation/native experience which Tori, Beth and Michael are seeking. There’s no need for failsafe automated translation. Older posts will not appear until properly translated.
WordPress.org provides a fairly good article about different WP translation plugins. There are some good points (like how individual plugins store the translation data) but many of our requirements are not covered.
We decided to compare what we already know (qTranslate) and some plugins which seem to do separate the language version well (using multi site feature of WordPress).
|qTranslate||Multilingual Press||Multisite Language Switcher|
All the translations are managed on a single site. Good for smaller sites.
After post is published, it’s posted to one of the sub-sites for translation.
Only provides linking to different language versions, no other features.
|Separation of language versions||Weak, single post content field stores multiple language versions of the post.||Great, works with WordPress Multisite.||Works with WordPress Multisite, but has nearly no features, just links to translations.|
|Translate post slugs||There is a plugin for that.||Not a problem, since each language is a different site.||–|
|Translate category slugs||The above plugin takes care of that too||It does not copy the categories to the language sites.||-|
|Post meta||Each plugin working with meta values needs to be adjusted||It does not copy the post meta values to the language sites.||-|
|Notify translator about change in the original language version||No, we haven’t noticed this feature.||Perhaps the pro version of the plugin has this feature, but it doesn’t look like that||-|
|Restricted editing interface for translators||
It’s easy to damage the original version if you use the HTML view.
It’s a bit clunky with all the different languages appearing on the same screen.
|Since it uses a different site for languages, you can’t damage the original version by accident||-|
|Security||Not secure, all the translations are stored in the same database fields. It might be possible to damage the data in editing.||Secure, since each language is a different site.||-|
|Search||This would be tricky, as we don’t want the languages to mix in search results.||Each translation is a separate site, therefore it has its own search.||-|
|Independent Publishing||You have to translate your posts quickly, otherwise they will appear empty if there is no translation yet.||
Each translation is a different site, so this should not be a problem.
Only publish what’s translated.
|Complexity||Adding all of our tweaks (editing, search, publishing workflow, permalinks, …) would make it too fragile.||It uses separate sites, so at least it’s less likely they all will break at the same time.||-|
|Credibility of the plugin||This plugin is used by a lot of users and has useful support forums.||
This is a new plugin.
We’ve already seen some complaints about it.
We work with qTranslate on other sites, we know that it’s a capable plugin. However security, independent publishing and independent search is priority for this project and this plugin doesn’t provide it.
Anyone who has access to any version has access to all of them. If your translator is a technical bumbler, it’s only too easy for him or her to damage or destroy your native language versions.
We then looked at Multilingual Press. The free version has very little features (no categories, no post meta, no featured images are moved with translation) and the pro version doesn’t seem to offer them either. If someone has different information, please feel free to post a comment.
We decided to create our own internal plugin for this project. The way we approached the project is to make the French version a separate site and move new posts over on publish. When a new post is published in the English version, a duplicated draft post shows up in the French version waiting for translation, together with all its media and meta data.
Making sure any new published post gets posted as a draft to the specific language site for translation won’t be a problem, as we have done a lot of different blog conversions. If we didn’t code our own republisher, we would need to make so many modifications for any of the compared plugins that it’s easier to just right our own republisher.
If you are looking for an alternative language version of a high profile website in which the publication goes in one direction (i.e. there is a single master version), come and see us. If you are working on a site where new articles can come in any language, you probably want to use qTranslate instead. Just keep in mind with aQtransate that for the editor to sleep well at night all team members have to be:
- technically competent
Both solutions (our republishing solution and qTranslate) have their own place depending on your site’s needs.
Martin graduated as an engineer in Computer Science from Slovak Technical University in Bratislava. He grew up in Liptovský Mikuláš in northern Slovakia next to the beautiful Tatra mountains. He is the developer behind our FV Player.