With the opportunity of the release of
Drupal 6, I thought I would write a short note on MCMSs (Multilingual Content Management Systems).
Most
CMSs (Content Management Systems) have major problems when it comes to providing for multilingual content publishing (an example of this is the long-defunct 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 (a
Zope-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! 4 supports multilingualism in its core:
How to create a multilingual website in Joomla 4.
The following are of historical interest: Joomla! 1.x.x [obsolete version, no longer supported], with the optional component Joomfish!. The version of Joomfish! for Joomla! 1.5 (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). Josetta is a multilingual manager using native Joomla 2.5 multilingual features. Another multilingual option is the Nooku framework. JoomCAT 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.4. Drupal.
Four core modules in Drupal 8 allow full translation of every part of a site. How people are trying to improve things with
Drupal 8. Drupal 10 has further improved multilinguality:
Drupal 10: Key Features and Benefits You Need to Know 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.
5. Wordpress. Wordpress core plans to
support multilingual content in the near future. Until then, you can use plugins. The most popular ones are:
1)
WPML (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 to translate.
2)
Polylang, which is my favourite due to its speed and usage of native Wordpress functionality; it's pro version is
99 euros but you can stick with the free version if you don't require the advanced features. From version 3.1 (Pro) you can
export strings in .PO or .xliff format to
translate them.
3)
qtranslate (at the end of that page there is a list of other multilingual plugins for Wordpress).
4)
multilingualpress — $99.00 per year. It doesn't change anything in WordPress-Core, so no need to fear updating your WordPress version and conflicts with other well written plugins. With multisite you have complete flexibility. Each language can have a different design, different functions and plugins.
5)
wpglobus Easily create multilingual versions of the same post within the actual post. Free with some paid add-ins.
See also:
Multilingual WordPress – WordPress.org Documentation6. 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:Language Selection | Drupal 5 | Drupal 6
| Improvement |
---|
Language configuration | Y | Y+ | 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 |
---|
Content language | N | Y | It is possible to specify a node's language. |
Content translations | N | Y | 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 |
Multilingual requests | N | Y | 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 |
JavaScript localization | N | Y | JavaScript texts can now be localized |
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 | N | Y | 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]