Modules: Multilingual
Contributed (contrib) modules are plugins for Drupal that extend, build or enhance Drupal core functionality. Use matching versions (modules released for Drupal 5.x will not work for Drupal 6.x). Contributed modules are not part of Drupal core releases and may or may not have optimized code/functionality. If a module solves your needs please consider joining forces and helping the maintainer.
#translatable
Translatable module is a different approach on Internationalization and Localization. It is based on the fact that any translatable content in Drupal is input via forms that have been built with the Forms API.
Any form item can have the property #translatable. If that property is set to FALSE, the contents of the form item cannot be translated. If it is not set, Translatable module assumes that it can be translated. If it is set to TRUE, Translatable module automatically retrieves and displays the source contents to translate the form item's content.
For this purpose, it adds a layer between Forms API and database storage. Translatable uses two methods for data abstraction. These are:
- Generic translation objects, like blocks, menu items or taxonomy terms.
- Synchronized translations, like nodes.
Translation objects are stored as simple strings in the database. Source strings are currently replaced with localized strings using separate translation queries upon view. Any contributed module can make use of this translation method. Retrieving translated strings using db_rewrite_sql() is basically possible, however, not really supported by Drupal core - thus, still CNW.
| Version | Date | Links | Status | |
|---|---|---|---|---|
| 5.x-1.3 | 2008-Apr-10 | Download · Release notes | Recommended for 5.x | |
Auto locale import
The autolocale module and enclosed localized install profile provides a profile to automatically import interface translations in install time and later when modules are enabled / disabled.
Most of the module's functionality (with better implementation) is built into Drupal 6, so there will be no release of this module for Drupal 6. The package reimport functionality for Drupal 6 is consolidated into the l10n_client module.
| Version | Date | Links | Status | |
|---|---|---|---|---|
| 5.x-1.x-dev | 2007-Oct-14 | Download · Release notes | Development snapshot | |
Auto Translate
WARNING: (2007-06-06) This is in alpha testing stage. Things don't work quite perfectly, and there are only limited translation services available. Specifically, it will add buttons to textareas on ALL node submission forms right now, and note that only the 'google' and 'revert' buttons actually do anything, and the 'google' button ONLY translates english to spanish right now. This is just to get a framework in place.
// $Id: README.txt,v 1.2 2007/06/01 20:34:11 aaron Exp $
Auto Translate
Author: Aaron Winborn
Creation Date: Begun June 1, 2007
Contact: aaron (at) advomatic (dot) com
This module, in conjunction with the Internationalization (i18n) module, will add a button to the translation edit pages of nodes,
that when pressed, will fill in an empty textarea with the preset translated text of the node to a specified language. It may also
be configured to translate the text already in any specified textarea(s).
Please be aware that the current state of the art of automatic translation tools are poor at best. This will hopefully change in the
future, but until then, this module attempts to make things easier for editors and translators. I strongly suggest that you edit
any translated text manually after the automatic grab, unless you want to risk public humiliation for your web site and an increase
in the incidence of personal ninja attacks.
| Version | Date | Links | Status | |
|---|---|---|---|---|
| 5.x-1.x-dev | 2008-Jan-10 | Download · Release notes | Development snapshot | |
Automated Web Translation Workflow
Connexion Corporate Communications presents the Automated Web Translation Workflow (AWTW) module which allows you to export and import from the Drupal administration all – or part of – your website content. With the AWTW module translating your web content has now become child’s play.
The content is exported into an XML format that is compatible with most Computer Assisted Translation tools (such as DéjàVu, SDL/Trados, Wordfast, etc), allowing your human translators to use their own specialized work environment. After translation, you can import the translated content via the Drupal interface, with just a few mouse clicks. The module automatically creates your new language pages in the source layout and links them to the original items.
If you’re interested in this module, make sure to check out the demonstration video at: http://www.connexion.eu/awtw
| Version | Date | Links | Status | |
|---|---|---|---|---|
| 5.x-1.x-dev | 2008-Jan-10 | Download · Release notes | Development snapshot | |
CiviCRM Localize
Enables the localization of CiviCRM profiles by passing CiviCRM labels on user register and edit forms through t().
Works with CiviCRM stand-alone profiles. It will not work, for example, with Contributions pages (which cannot be standalone).
| Version | Date | Links | Status | |
|---|---|---|---|---|
| 5.x-1.x-dev | 2008-Mar-11 | Download · Release notes | Development snapshot | |
Codes
Features:
Modify or add new item to dropdown or radio button group without using the form_alter hook.
Functionality to translate user defined strings (like forum title).
Remove hard coded types and statuses.
| Version | Date | Links | Status | |
|---|---|---|---|---|
| 6.x-1.x-dev | 2008-Feb-11 | Download · Release notes | Development snapshot | |
Google Translate
Why maintain a multi-lingual site while Google Translate can do that for you?
Simply add your content and your visitors can view it translated with just a click. Your visitors won't even know it's translated by Google.
Demo 4.7.x: http://drupal.owahab.com/47x/
Demo 5.x: http://drupal.owahab.com/5x/
Known issues:
1. Changing language for logged in users causes them to be kicked out.
2. Trying to change language back for logged in users gives a validation error.
Maintainer can be contacted for paid customizations.
| Version | Date | Links | Status | |
|---|---|---|---|---|
| 5.x-1.4 | 2007-Oct-10 | Download · Release notes | Recommended for 5.x | |
| 4.7.x-1.1 | 2007-Mar-11 | Download · Release notes | Recommended for 4.7.x | |
Internationalization
This is a collection of modules to add multi-lingual capabilities to Drupal sites. Provides content translation -nodes and taxonomy-, interface translation for anonymous users -with the locale module- and browser language detection. Includes a block for language selection and manages translation relationships for nodes and taxonomy terms.
Read a complete feature overview in the new Internationalization handbook.
The module development and documentation is sponsored by Development Seed
Drupal 6 Upgrade
- Note that some old features and behaviors have been dropped and replaced by new Drupal 6 multilingual features. This module won't pretend to replace Drupal core available features but to build on them and provide extended ones.
- While the upgrade scripts already work for nodes and taxonomy, there are other data that is simply deleted by the main Drupal 6 core upgrade, like the menu items language. Other parts like the multilingual block system have been completely reworked and will need manual reconfiguration.
- The module layout and dependencies have important changes, so it is advised to disable all the modules an then re-enable them after Drupal 6 core upgrade.
| Version | Date | Links | Status | |
|---|---|---|---|---|
| 6.x-1.0-beta1 | 2008-Apr-23 | Download · Release notes | Recommended for 6.x | |
| 5.x-2.3 | 2008-Apr-23 | Download · Release notes | Recommended for 5.x | |
kasahorow Web Toolkit
This toolkit is a collection of modules which were developed to enable African language content publishing on the Web.
However, it is well suited to manage content in any language on websites focused on taxonomy, terminology and the creation of language tools like a dictionary, a glossary or lexicon.
Technical Support
Left-to-right language support by Suuch Solutions
| Version | Date | Links | Status | |
|---|---|---|---|---|
| 4.7.x-0.3 | 2007-May-04 | Download · Release notes | Recommended for 4.7.x | |
Language Sections
Designed for multi-language sites, Language Sections provides a way of storing content sections for different languages in a single text area.
Applications include:
* Views module header, footer and "empty" text sections, to make them "language aware".
* Node bodies, to display something like "This content is only available in English" when someone tries to view in a language for which no translated version of the content exists.
* Text sections provided by other modules which do not offer multi-language capability - see below.
This module provides an "input filter", so will only be useful for text sections which make use of "input formats".
Other modules with which Language Sections can be useful
* Views
* Panels for "custom content" panes (but don't set "simple cache" in Panels 2.)
* Educational Block
Please contact me giving details of other relevant modules that you know about so that I can add them to this list.
Example:
This is the text as entered:
---------------------
This text will be displayed for all languages.
=== es ===
Some Spanish text goes here.
=== en ===
Some English text goes here.
=== qq ===
This part will be displayed for all languages.
---------------------
| Version | Date | Links | Status | |
|---|---|---|---|---|
| 5.x-1.2 | 2008-Apr-07 | Download · Release notes | Recommended for 5.x | |
Localization client
The primary goal of this module is to provide easy ways to localize your site interface. To achieve this, it provides two noticable features:
- An on-page localization editor interface, which allows customization of the interface translation right on the actual web pages viewed, using AJAX callbacks. (Drupal 5.x and Drupal 6.x)
- A translation package reimport tool, which helps people upgrading from Drupal 5 and those upgrading their translation packages anytime onwards, to import new and changed translations. (Only Drupal 6.x, look for similar functionality in Drupal 5 to Autolocale)
Future plans include connection to a central translation server, with which local translations will be possible to share, and from which translations might be possible to download and import.
Video demonstrations
- http://www.developmentseed.org/blog/2007/oct/26/new-features-and-improve...
- http://hojtsy.hu/node/34
- http://www.developmentseed.org/blog/2007/oct/05/translating-strings-drup...
| Version | Date | Links | Status | |
|---|---|---|---|---|
| 6.x-1.3 | 2008-Apr-23 | Download · Release notes | Recommended for 6.x | |
| 5.x-1.0 | 2007-Oct-10 | Download · Release notes | Recommended for 5.x | |
Localization server
The localization server provides a community localization editor, which allows people to collaborate on translating projects to different languages, especially for Drupal. It is inspired by Launchpad Rosetta (https://launchpad.net/rosetta) but is highly adapted to Drupal needs.
The module suite solves the Drupal project translation problem with a web based interface. The various Drupal projects release source code on a daily basis. The goal is to help translators to keep up with this pace by sharing already translated strings and distributing translations effectively.
Project status
Some translation teams already alpha-test the module to create Drupal 5 (module) and Drupal 6 translations. The ultimate goal of this project is to have a central translation server setup at drupal.org, so all input is welcome in improving the module.
| Version | Date | Links | Status | |
|---|---|---|---|---|
| 5.x-1.0-alpha3 | 2008-Feb-23 | Download · Release notes | Recommended for 5.x | |
Localizer
The Localizer module extends Drupal's ability to handle human languages. It provides control over a site's user interface language, the ability to enter and control content in multiple languages, and the ability to display the correct language content needed. The module has been designed so that only the features needed for a particular site need be implemented.
Localizer allows translation of the following system objects:
- Menus
- Nodes
- Taxonomy
- System settings (variables)
- Views
I provide professional services for Localizer :
- installation
- configuration
- support
- customization
- extensions and integration with other modules
Contact me if you are interested in my services or you want to support this project. Thanks.
| Version | Date | Links | Status | |
|---|---|---|---|---|
| 5.x-3.4 | 2008-Apr-23 | Download · Release notes | Recommended for 5.x | |
| 4.7.x-2.7 | 2007-Jan-29 | Download · Release notes | Recommended for 4.7.x | |
Machine Tags - Rapid and Complex Taxonomy Development for Drupal
Taxonomy is one of the coolest features of Drupal, allowing the creation of information which is organized and structured. Taxonomy can be key for your visitors to find what they are looking for.
Creating a high-quality and complex taxonomy is a lot of work. Folksonomies and tagging makes for a more accessible implementation, but some of the value of having hierarchical, structured taxonomy for disambiguation is lost. The machine tags module is meant to fill a void between people-friendly tagging and machine-friendly hierarchy.
The release
The dev release for Drupal 5 is EXPERIMENTAL, although pretty safe.
To experiment simply enable "machine" tags in a vocabulary admin page.
There's nothing special to the install or uninstall.
I'd like to have some code review for SQL security, and other Drupalness.
Background
There has been some interest in having machine tags for Drupal before. Flickr is arguably the best known implementor of machine tags, this article got me hooked. Here's some more background info.
The technical goal of the machine tags module was to be a simple free tagging mechanism that converts free tags like
| Version | Date | Links | Status | |
|---|---|---|---|---|
| 5.x-1.x-dev | 2008-Jan-18 | Download · Release notes | Development snapshot | |
Menu Translation
This module provides a user friendly interface to translate menu items (requires i18n module).
From an end-user point of view, translating menu items is not really intuitive, and comes with some problems:
- Users have to remember the menu item string, use the 'Manage strings' tab in Localization, fill in the exact string (case sensitive), etc...
- If a new menu item is added, it might not even show up in the 'Manage strings' tab because it hasn't been called yet.
So users will need to visit a page containing the string first, in order to find it in the Locale system.
A lot of people have already complained about this problem, and sooner or later there will be a good solution built into Drupal.
Until then this module provides you with a more easy-to-use interface to translate your menus easily.
You can specify which menu(s) should be translatable, and users with proper privileges can easily add or edit translations for each menu item in the selected menus.
| Version | Date | Links | Status | |
|---|---|---|---|---|
| 5.x-1.x-dev | 2007-Nov-20 | Download · Release notes | Development snapshot | |
String Overrides
Provides a quick and easy way to replace any text on the site.
Features
- Easily replace anything that's passed through t()
- Click on the "More strings" button to add extra text boxes
- Locale support, allowing you to override strings in any language (unfortunately not compatible in the Drupal 5 branch)
- Provides better performance than the Locale module because it doesn't hit the database (overrides are cached in the variables table, which is loaded on every page request already)
- Ability to import/export *.po files, for easy migration from the Locale module
| Version | Date | Links | Status | |
|---|---|---|---|---|
| 6.x-1.6 | 2008-May-07 | Download · Release notes | Recommended for 6.x | |
| 5.x-1.6 | 2008-May-06 | Download · Release notes | Recommended for 5.x | |
Translatable Comments
This module makes comments on your site translatable. It adds buttons to each comment for various languages. Clicking a language will translate the comment using the Google AJAX Language API.
The Language API is loaded externally from Google. More information about the API can be found here:
http://code.google.com/apis/ajaxlanguage/
| Version | Date | Links | Status | |
|---|---|---|---|---|
| 6.x-1.0 | 2008-Apr-17 | Download · Release notes | Recommended for 6.x | |
| 5.x-1.0 | 2008-Apr-15 | Download · Release notes | Recommended for 5.x | |
Translation template extractor
The goal of the Translation Template Extractor project is to provide command line and web based Gettext translation template extractor functionality for Drupal. These translation templates are used by teams to translate Drupal to their language of choice. There are basically two ways to use the contents of this project:
- Copy
potx.incandpotx-cli.phpto the directory you would like to generate translation templates for and runphp potx-cli.php. The translation templates will get generated as separate files in the current directory. - Install the module on a Drupal site as you would with any other module. Once potx module is turned on, you can go to the "Extract strings" tab on the Locale administration interface, select the module or modules you want to have a translation template for, and submit the form. You will get one single template file generated.
The command line functionality is quite mature now, because it was basically carried over and refactored from extractor.php, previously hosted as part of the translation templates themselfs. The web based functionality is still in its early stages.
| Version | Date | Links | Status | |
|---|---|---|---|---|
| 6.x-2.0 | 2008-Jan-31 | Download · Release notes | Recommended for 6.x | |
| 5.x-1.2 | 2008-Jan-31 | Download · Release notes | Recommended for 5.x | |
Transliteration
This module provides a central transliteration service for other Drupal modules, as well as sanitizing of file names when uploading new files.
Generally spoken, it takes Unicode data and tries to represent it in US-ASCII characters (i.e., the universally displayable characters between 0x00 and 0x7F). The representation is almost always an attempt at transliteration — i.e., conveying, in Roman letters, the pronunciation expressed by the text in some other writing system.
Another purpose is cleaning the names of new uploaded files: Drupal currently doesn't take care of invalid (according to RFC 2396) and non-ASCII characters in filenames, which can break your site's file attachments, image uploads, etc. This module provides a generic (i.e., no need for customization) approach to sanitizing file names.
| Version | Date | Links | Status | |
|---|---|---|---|---|
| 6.x-1.0 | 2008-Mar-20 | Download · Release notes | Recommended for 6.x | |
| 5.x-1.0 | 2007-Dec-09 | Download · Release notes | Recommended for 5.x | |
| 4.7.x-1.0 | 2007-Dec-09 | Download · Release notes | Recommended for 4.7.x | |
UniSaraswati Devnagari Transliterator
Provides devnagari (India) transliteration ability to the edit elements of the nodes. using this module any drupal installation can start providing Hindi or Marathi typing facilities on the site.
The block configuration provides facilities to change the preference on which node the transliterator should work.
| Version | Date | Links | Status | |
|---|---|---|---|---|
| 5.x-1.0 | 2007-May-31 | Download · Release notes | Recommended for 5.x | |
Weather
This module uses METAR (METeorological Aerodrome Report) data to display current weather conditions from anywhere in the world.
| Version | Date | Links | Status | |
|---|---|---|---|---|
| 6.x-2.1 | 2008-Apr-15 | Download · Release notes | Recommended for 6.x | |
| 5.x-6.1 | 2008-Mar-04 | Download · Release notes | Recommended for 5.x | |
XLIFF Tools
This module converts node bodies and titles written with valid(!) HTML markup to XLIFF (XML Localization Interchange File Format) and back to HTML. You can use Computer Aided Translation (CAT) tools to support your content translation process.
Note that this module is in the very early stages, and there are several limitations. Testing and improvements (patches) are very much welcome!
More information on XLIFF:
| Version | Date | Links | Status | |
|---|---|---|---|---|
| 5.x-1.x-dev | 2008-Jan-05 | Download · Release notes | Development snapshot | |

