Translatable module is a different approach on internationalization and localization. It uses the merits of the Forms API to control the behavior of input elements when creating translations of existing contents.
The behavior is controlled using the form property
#translatable. If it is set to FALSE, the form item value cannot be translated. Conversely, if the property is set to TRUE, Translatable module automatically retrieves and displays the source contents to translate the form item's content. If it is not set, Translatable module assumes that it can be translated.
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() would be theoretically possible, however, is not supported by Drupal core.
Synchronized translations are relations between two objects that are in a translation set. For example, node/2 might be the German translation of the English source content in node/1. Synchronized translations are suitable for all contents that need to attach a language to build a "translation set". Because of that, nodes are the only contents that are synchronized currently. Translatable already implements the same node properties that can be found in Drupal 6.
Translatable provides support for most used Drupal core objects, i.e. nodes, blocks, menu items, and taxonomy vocabularies and terms. Due to its design, support for CCK-based nodes is built-in.
Like Localizer, this module requires you to apply a patch against Drupal core to allow translation of blocks and taxonomies. Patches for all available official releases of Drupal core are included.
- Locale (Drupal core)
- Please see current README.txt.
This project has been sponsored by: