Modules to build sites supporting different human languages
Provides one-way string transliteration (romanization) and cleans file names during upload by replacing unwanted characters.
Generally spoken, it takes Unicode text and tries to represent it in US-ASCII characters (universally displayable, unaccented characters) by attempting to transliterate the pronunciation expressed by the text in some other writing system to Roman letters.
This is a collection of modules to extend Drupal core multilingual capabilities and be able to build real life multilingual sites. Some features:
- Taxonomy translation (both, per language terms and translatable terms)
- Multilingual variables
- Multilingual blocks (control visibility per language and translate title and content)
- Language selection (when you switch the site language you'll see only the content for that language)
- Requires Variable module 2.x (Drupal 7)
Read a complete feature overview in the Internationalization handbook: Building multilingual sites .
Drupal 7 upgrade
Integrating with git checkouts
This module is based on concepts very similar to Drupal core's update module. Modules and themes with their corresponding drupal.org projects are identified and translations are downloaded for the appropriate versions. If you use git checkouts instead of package tarballs or zip files, use Git deploy module, so projects and versions are identified properly. (For legacy CVS checkouts, the CVS deploy module will work).
- Big translation files might run into your PHP timeout (#569004).
Provides a quick and easy way to replace any text on the site.
- Easily replace anything that's passed through t()
- Locale support, allowing you to override strings in any language
- Ability to import/export *.po files, for easy migration from the Locale module
- Note that this is not a replacement to Locale as having thousands of overrides can cause more pain then benefit. Use this only if you need a few easy text changes.
This module is an extension to the CKEditor module.
It also supports CKEditor installed through the Wysiwyg module.
This module allows to easily create links to Drupal internal paths through CKEditor's Link button and dialog.
It is composed of 2 parts:
- A client-side CKEditor plugin that adds features to CKEditor's default Link plugin.
- A server-side input format filter that converts the raw paths added through the plugin into aliased and, if applicable, language prefixed URLs.
This module provides icons for language links, both for the Language switcher block and (optionally) for node links. It is a spin-off from Internationalization (i18n) package.
As basic multilingual support is now built into Drupal 6 core, it doesn't depend anymore on any other contributed module. This module will work as simple add-in for Drupal 6.
However, for a fully enabled multilingual site, the Internationalization package is recommended.
The default icons provided are png images with a fixed height of 12 pixels and a variable width per the official dimension of the respective flag. However this module can handle other image types and sizes too. More language icons and new full collections of icons are welcome - please see #319966: Add flag icon theme selector if you wish to get yours included in the standard distribution.
#D7CX: I pledge that this module will have a full Drupal 7 release on the day that Drupal 7 is released.
This module helps you fix translations on your site as you see the issues. Just by navigating around your pages, you'll be able to fix translations and fill in missing ones using the on-page translation editor. At the same time, if configured properly, the module also submits your translations back to the community, to localize.drupal.org or any other localization server.
- Localized Drupal, an install profile that will download translations automatically (and comes with Localization client and Localization update).
- Localization update, which will help you automatically install and keep translations updated.
- You can select text from the page and hit Ctrl+Shift+S to automatically search the string in l10n client
While working on the new content translation system for Drupal 7, we (the Drupal core i18n team) faced the need to convert node titles to the Field API in order to make nodes fully translatable.
We were not able to make this happen in Drupal 7 core (#557292: TF #3: Convert node title to fields and #571654: Revert node titles as fields), so we decided to find a solution for this in contrib: the idea is replacing node titles with fields à la Automatic Nodetitles.
This will be exploited by the related Entity Translation project.
Title requires core version at least 7.15.
After enabling the module as usual, visit the Manage fields page of the content type, taxonomy vocabulary or "comment type" which you wish to replace fields of and click the replace link. That's all.
Bug fixing policy
This project is maintained mainly by voluntary and sponsored work, this means our resources are limited. Bug reports will be taken into consideration only if they allow to reproduce the reported issue:
Translate views using Internationalization. This is a work in progress and not all Views properties can be translated yet. Requires Internationalization 6.x-1.5 or newer.
This module has been moved from Internationalization package so we can have different branches compatible with each of the Views versions. Use the same branch of the Views version you are using (2.x. 3.x)
Drupal 6 i18nviews 2.x
The 2.x version has grown up over some time. It was already a long way to go and we've collected handler by handler to improve support for all possible cases. However we've also learned that views 2.x translation is sometimes very ugly and hackish. Performance is limited.
Drupal 6 i18nviews 3.x
Views 3 introduces a complete new translation layer. We have pushed views 3 improvements to have a clean next-generation translation system that allows cleaner solution with scaleable performance.
We're working on a stable 3.x solution: We're almost there.
There's a basic D7 port available now. Quality review and finalizing still pending. Your feedback appreciated. Note that we rely on the latest Views 7.x-3.x-dev version, not the alpha or rc.
The work was primary done by Miro Dietiker of MD Systems and dereine of Erdfisch.
New maintainer for i18nviews
The Translation Overview page provides a table listing the site's nodes and showing what's been translated into each language. It also lets you assign priorities for translating nodes into the various languages.
For translations of taxonomy terms and menu items check out the Translation table module.
The beta2 release features a huge amount of changes with respect to alpha2, please read carefully the release notes before installing it.
Allows (fieldable) entities to be translated into different languages, by introducing entity/field translation for the new translatable fields capability in Drupal 7. Maintained by the Drupal core i18n team.
This project does not replace the Internationalization project, which focuses on enabling a full multilingual workflow for site admins/builders. Some features, e.g. content language negotiation or taxonomy translation, might overlap but most of them are unrelated.
- Title module allows to replace entity labels with fields to make them translatable.
Entity Translation requires core version at least 7.15.
- Language Switcher Dropdown is a very simple module that exposes a new block, similar to the default Language Switcher block provided by Locale module.
The new block allows site visitors to switch languages using a drop-down select list instead of using hyperlinks.
The module also integrates well with Language Icons module if installed.
The picture says it all.
This module is sponsored and developed by Vardot.
Translation helpers enables other modules to respond to changes in the "source translation" of a set of translated content. This functionality is useful for modules that track data by the "source translation" (node.tnid value).
The module also provides other methods for modules to use with translated content.
UI for quick translation of taxonomies and menus. The i18n module allows for translation of taxonomy terms and menu items, but the process is tedious - you need to look up strings you want to translate, there is no overview of what's already translated etc.
This module presents your taxonomy terms or menu items in a table, and each language has a corresponding column. Just fill out the translations and click Save.
Requires the i18n module, and either taxonomy or menu string translation.
- menu item titles
- vocabulary names and taxonomy terms
- CCK field names and descriptions
- content type names and descriptions
- quicktab titles
The Translation template extractor provides a web based and a command line Gettext translation template extractor interface for Drupal as well as a reusable API to look for translatable strings and translatability errors. This tool is used under the hood at http://localize.drupal.org/ as well to serve as a parsing machine for Drupal.org project releases.
Translation templates are used by teams to translate Drupal to their language of choice. There are basically three ways to use the contents of this project:
- Web based extraction: If you are a translator, 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 theme you want to have a translation template for, and submit the form. You will get one single template file generated.
- Web based code review: If you are a module or theme developer, install this module and the coder review module. Pick the Interface text translatability review offered by potx and check your module for translatability problems.
This module lets the administrator see all administration pages in her preferred language.
You can use this to display the frontend of the site in one language and still keep most of the backend in English (or another language of your choice).
The Node Relationships module provides methods to complete two way relationships between content types enhancing the features of node reference fields.
It provides the following features:
- Enhancements for node reference fields: "View reference in new window", "Edit reference" (in modal frame, updates widget if node title changes), "Search and reference view" (single and multiple selection based on dynamically configured views), "Create and reference" and "Translate and reference" (when the Drupal core translation module is enabled, with additional support for Internationalization module). These features use the Modal Frame API to provide popup dialogs from buttons attached to node reference fields configured to use the autocomplete widget.
- Automatic back references using dynamically configured views that are able to extract the relations from existing database information. This views can be rendered using a myriad of methods in the node view.
- The Node Relationships module provides default views for each feature that can be modified and/or cloned (recommended) should you need to add more fields, filters or change any other option to suit your needs.
- Basic entity relations diagram (ERD) that can be used to view the relations of each individual content type. The provided diagram can be used to walk the relationships of all types in the system.
More information in the project page.
This module has been sponsored by Gamefilia.
The Format Number API module provides a method to configure number formats (site default and user defined) with configurable decimal point and thousand separators.
This module also provides the 'numericfield' Forms API element, which is a right aligned text input element that allows the user enter numbers using the configured thousands separator and decimal point (site default or user defined). This Forms API element provides a validation callback that is used automatically and that ensures input is valid numeric as per the options defined for the element.
This module adds 3 autocomplete widgets for CCK fields of type Text and Number.
- Autocomplete for allowed values list: This widget can be used for Text and Number fields and it takes candidate values from the defined list of Allowed values of the fields. You can even generate your allowed values list using PHP, so the limit to provide a widget with autocomplete features is your imagination!
- Autocomplete for existing field data: This widget can be used for Text only and it takes candidate values from existing values in the database for that field.
- (7.x only) Autocomplete for predefined suggestions: This widget can be used for Text only and allows an admin to provide a list of suggestions but still allows users to enter anything they want in a text field. Use this widget to help avoid (but not prevent) variations of the same value. Ex: burger, hamburger, Burger ...
- (7.x only) Autocomplete for existing field data and some node titles: This widget works just like the "existing field data" widget above except it will also suggest node titles for nodes of a specific content type(s).
All widgets allow you to choose the size of the text element and the method used to match values between 'Starts with' and 'Contains'. You can also enable case sensitive or insensitive matches option. Note however that MySQL may ignore case sensitivity depending on the collation used in your database definition.
When the Internationalization module is enabled, the 'Autocomplete for existing field data' widget also provides an option to filter values by the language assigned to their corresponding nodes. This option allows you to provide a different set of allowed values per language.
The Formatted Number module defines numeric types where thousands separator and decimal point are inherited from the Format Number API module.
Numeric types supported: signed or unsigned integers (tiny, small, medium, int), decimal and float.
Additional field formatters
You can easily add additional formatters adding the following lines to your
// Additional formatters for fixed number of decimal places.
$conf['formatted_number_decimal_place_formatter_lengths'] = array(0, 1, 2);
// Additional formatters for fixed number of significant figures.
$conf['formatted_number_significant_figure_formatter_lengths'] = array(1, 2, 3, 4);
Be sure to rebuild your theme registry after changing these options.
How can you get involved?
- Write a review for this module on drupalmodules.com
The Featured Content module lets you very easily create related/featured content blocks on your Drupal site. This module is useful if you have non-technical users who need to add blocks on the site that contain lists of node titles, node teasers, and/or full node content. This module can also be useful if you need to get up some featured/related content blocks quickly and are not familiar enough with views to do it, or simply prefer not to use views for this purpose. A related/featured content block can be created in just a few minutes.
Language support was added in version 1.5 for both D6 & D7. If you have a multilingual website, please use 1.5 or above.
Do not use the 6.x-2.x-dev and 7.x-2.x-dev branches as they are for experimenting with performance enhancements. If you want to grab a *dev* version (which we try to keep stable), then grab the 1.x version in the downloads section.
NOTE: If you have a large site (lots of nodes and/or users), this module will likely NOT be a good fit as there is currently NO caching (views is recommended in that case). If someone is interested in becoming a co-maintainer and working on the caching code (in the 2.x branch), please add an issue to the queue. Thanks!
GTranslate uses Google power to translate your web page. With 58 available languages your site will be available to more than 98% of internet users.
You can check GTranslate Tour video to learn more.
- Hides "Suggest better translation" pop-up
- Hides Google top frame after translation
- Mouse over effect
- Analytics feature
- Analytics feature
- Flags combined in one file to load faster
- Option to open translated page in new window
- Available styles Dropdown/Flags/flags with dropdown
- Valid XHTML
- Google Translate Element on your site (Google Default translation method)
- Ability to use SEF URLs and edit translations with Pro version
Automatically update your site translations!
Language Switcher for Drupal 7 is an enhancement for core language switcher block in local module. It's very useful for websites with multi-languages where you want to display content in different languages side-by-side. Watch this video to better understand the concept.
Divide your website page to a number of sections where each sections contains nodes in one language (see the screenshot).
- When #1164926: Nodes need to have languages specified separately for accessibility lands into D7 core, the code base for this module will be much simpler, and cleaner.
- Currently with core locale module, there is two language switcher blocks, one for interface, and the other for the content. This module should only alter the content one, not the interface one. Currently, it alters the interface block!
- Enable Locale and Content Translation modules.
- Add other languages, e.g. Arabic, French (admin/config/regional/language).
- Go to Language Switcher config page (admin/config/regional/language/language_switcher), select what mode you want to use.
- Go the content type you want the translation to be enabled on, select `Enable, with node translation` (e.g. admin/structure/types/manage/article).
- Add nodes, add translations.
The Webform Localization module provides multilingual features to the Webform Module. Special options in the webform and component configuration let you enable different ways to manage translation of forms and questionnaires.