Sunday, November 28, 2010

Working with languages

This guide explains how to create a Drupal website that supports more than one language, or languages other than English, popularly known as a localized, internationalized or a multi-lingual website.
A multi-lingual or internationalized Drupal website has two key components for translation:
  1. User interface elements (Locale module)
  2. Content (Content translation module)
This two module functionalities can be extended by contributed modules for language and locale.
User interface elements include built-in system strings such as menu items, form labels, help text, and button labels such as 'Log in', 'Logout', 'Submit', 'View', 'Edit', 'Delete' etc.
Content means the actual user-created pages, stories, blocks, etc. of the website.

Steps for Core Interface Translation

  1. Install Drupal in English
  2. Enable localization related modules from the Core - optional group (Locale & Content Translation modules)
  3. Add desired languages by going to Administer > Site Configuration > Languages > Add Language (more details on the Locale module handbook page)
  4. Import an existing translation Administer > Site Building > Translate Interface > Import. You can check if the Drupal interface translation for your language is available at
  5. If you don't have a translation file for your language as per step 4, you may need to translate the interface on your own. Translate interface Administer > Site Building > Translate Interface > Search. View details on the Content Translation module handbook page

Steps for Content Translation

You need to follow the below mentioned steps only if you are building a bi-lingual or a multi-lingual website. For a non-English language, simply make your desired language the Default in the step 3 mentioned above and start adding content in your own language.
  1. Enable multi-lingual content capability for desired Content Types. Go to Administer > Content Management > Content Types, edit desired content types. Under workflow group, you will see an option for Multi-lingual support, choose the appropriate option (the 'Enabled with translation' option gives 'Translate' tab to all nodes for this content type).
  2. Once you enable Multi-lingual support for a content type, while adding new nodes of this content type, users will see a drop down of all enabled languages and they can select the desired language for the content and any translations they create.
  3. Also, for all existing nodes, users with Translate Content permission can see a Translate tab and will be able to add translations to existing nodes.

Translate menu, block and taxonomy

For a proper multi-lingual menu system and multi-lingual blocks and taxonomy install Internationalization module.

Find translations for Drupal core, modules and themes

Go to for translations of Drupal to various languages. You can automate translation discovery and updates with the Localization update module or start off installing Drupal with the Localized Drupal install profile to get the best experience.

Drupal language-related resources.

Help the Drupal project create localized versions of Drupal, see the section on translationg of the Getting Involved handbook.
Writing code for localized modules, see the Localization API section of the Developing for Drupal guide.

For more information about Drupal Development, Drupal Expert, Drupal Developer and Drupal Programmer visit at


No comments:

Post a Comment