With the opportunity of the release of Drupal 6
, I thought I would write a short note on MCMSs (Multilingual Content Management Systems).
s (Content Management Systems) have major problems when it comes to providing for multilingual content publishing (an example of this is phpnuke
and all the -nuke clones). Most of them provide for multilingual versions of their interface
(system language strings like "Next", "Previous", month names, etc), but not of their content
(articles, polls, etc), and most solutions (or "hacks") have been quite clumsy and cumbersome. You can test demos and the administration environment of most of these tools in opensourcecms
(Go to the CMS Demos
menu on the left).
So far, the systems I have made a note of for their multilingual support have been:1. Plone
-based CMS written in Python
) with LinguaPlone
component (read some issues
about this);2. Typo3
(Language "layers" can be added to the website. Content and extensions can be translated side-by-side, making it very intuitive for an editor);3. Joomla! 1.x.x
[obsolete version, no longer supported], with the optional component Joomfish!
. The version of Joomfish!
for Joomla! 1.5 (currently Joom!Fish 2.2.3
), provides a satisfactory multilingual content solution. Joomla 1.6 Final has been released in January 2011 and it has some basic multilingual content functionality in its core
. The releases of Joomla 1.7 and 2.5 followed
(24 January 2012), building on the 1.6. Joomla 2.5 is a long term release, meaning it will be supported for 18 months. However, a compatible Joomfish! release is being developed but still pending (Joomfish for Joomla 2.5
| Joomfish for Joomla 2.5 developers version
is a multilingual manager using native Joomla 2.5 multilingual features. Another multilingual option is the Nooku framework
claims to be "a Joomla component that lets you export your Joomla contents to your favourite CAT (Trados, SDLX, WordFast, MemoQ, etc.) where you can easily and quickly translate them and then reimport the translated texts through the JoomCAT Import function" but there is not much documentaion on their site, which is rather suspect, and is it is not listed either in Joomla extensions directory
. Drupal 6
, has greatly improved things. There is no need for the extra internationalization component, as multilingual content generation is part of the core of the system [watch a screencast
about Drupal 6 language support
] and scroll down this page to find more details about multilinguality in Drupal 7
. Also, have a look at how people are trying to improve things with Drupal 8
(Drupal 8 Multilingual Initiative
. Wordpress does not support multilingual content by default but with the use of plugins. The recommended plugin is WPML
(which recently turned commercial with a multilingual CMS and multilingual blog version costing $79 and $29 respectively). It allows you to: Select the language for different pages, posts, categories and tags. Add translations to everything. Run your site from a single domain with language folders (example.com, example.com/es, example.com/de) or from different domains. It also supports xliff
so you can export into xliff
and use CAT tools like Trados
Select your admin language. You may also want to check out the Polylang
plugin (at the end of that page there is a list of other multilingual plugins for Wordpress).6. Memsource API
. Memsource is a web-based translation environment. Memsource Cloud offers a set of API calls that allow to:
Integrate Memsource and any third party software (translation management tool, CMS, etc.)
Develop a translator's workbench. Actually, both Memsource Editor and Memsource Web Editor are built on top of public APIs.
Create a brand new tool or service which uses Memsource in its backend.PloneWith Plone, creating and maintaining sites in multiple languages is easier than in any other system.
Plone has native support for the LinguaPlone component, meaning that all the standard content types are translatable effortlessly.
Plone also supports Right-to-Left (RTL) languages like Arabic, Hebrew and Persian as one of the first content management systems in the world. This is done without having special templates, and both Left-to-Right and Right-to-Left content can exist on the same site.
— Split-screen editing for translations
— Full WebDAV, External Editor and FTP support
— Separate workflows for translations to help you manage updates to the content
— Add-ons to support the standard XLIFF export and imports for working with translation agencies
— For developers: Easy to add multilingual support to new content types
A comparison of Drupal 5 and Drupal 6 language support follows:
New features in Drupal 6
|Language Selection||Drupal 5||Drupal 6||Improvement|
Extended language configuration with native name, RTL setting, configurable domain and prefix, and weight for ordering
|Support for RTL languages||N||Y||Besides the RTL language setting, there's support for themes to switch the presentation direction|
|Configurable language negotiation||N||Y||Language can be chosen automatically by the system based on a number of options, including domain names, path prefixes, and browser language|
|Browser based language detection||N||Y||The browser language is detected automatically|
|Language switcher block||N||Y||There's a block for users to switch the page language as they're browsing the site|
|Multilingual content||Drupal 5||Drupal 6||Improvement|
It is possible to specify a node's language.
Support for translating posts on the site to different languages
|Language dependent path aliases||N||Y|
Different path aliases can be defined per language – i.e. 'inicio' and 'home' for the home page
|Install system||Drupal 5||Drupal 6||Improvement|
|Web interface for string translation||Y||Y+||Some performance and usability improvements in Drupal 6|
Localization system has been extended so it can translate texts now for more than one language in the same page request
|Email notifications in user language||N||Y||Mail subsystem now supports a language parameter that makes it possible for users to get notifications in their own language instead of notification page's language|
|Language independent logging||N||Y||Logs are now stored independent of language so the administrator can later see them in their own language or any other|
|Localization with static strings||N||Y|
Localization system can be used for several strings with static texts and little performance impact
Text groups for string translation
Translation interface now has built-in support for multiple groups of strings
Watch the full screencast of new features of Drupal 6
or download it
.[Multilingual Content Management Systems will be presented as part of the Software & Website Localisation to be taught at meta|φραση School of Translation Studies]