Last updated November 10, 2014. Created on November 7, 2002.
Edited by pbulebar, bradydowling, batigolix, Gábor Hojtsy. Log in to edit this page.

When enabled, the core Interface Translation ("Locale" in versions before Drupal 8) module allows you to present your Drupal site in a language other than the default (English).

You can use it to set up a multilingual web site or to replace the elements of the interface text with text which has been customized for your site. Whenever the Interface Translation module encounters text, it tries to translate it into the currently selected language. If a translation is not available, the string is remembered, so you can look up untranslated strings easily.

The Localization Update module can automatically retrieve translations from For languages where translation has already been done, you do not have to do anything other than set up this module. In Drupal 6 and 7, the Localization Update module is a contributed module. For Drupal 8, it is part of core.

The Interface Translation module provides two options for providing translations. The first is the integrated web interface, which you can use to search for untranslated strings and to specify their translations. An easier and less time-consuming method is to import existing translations for your language. These translations are available as GNU gettext Portable Object files (.po files for short). You can download translation files from the Drupal translations server.

If an existing translation does not meet your needs, the .po files are easily edited with special editing tools. The Interface Translation module's import feature allows you to add strings from such files into your site's database. The export functionality enables you to share your translations with others, generating Portable Object files from your site's strings.

Note: Enabling the Interface Translation module itself does not create or add any translations to the site. You need to import translations or create string translations by using Translate Interface option (provided by the Content Translation module from Drupal core for Drupal 6 onwards).

Note that if you are creating a website with right-to-left text direction, you'll need a theme which supports this, like the Garland core theme.

For more useful materials on configuring a multilingual site in Drupal, see Resource Guide: Configuring a Multilingual Site.

Drupal 7 and later

You can:

  • Administer languages:
  • Manage strings for localization:
  • Specify how the desired languages are detected:
    or Configuration → Regional and language → Detection and selection
  • Translate strings:
  • Import strings:
  • Export strings:

Drupal 6

You can:

  • Administer languages: Administer → Site configuration → Languages
  • Manage strings for the localization: Administer → Site building → Translate interface

Also read about the security implications of translations from

Looking for support? Visit the forums, or join #drupal-support in IRC.


Wayn3’s picture

Use to translate your site strings. It's integrated with Drupal.

hosais’s picture


I can translate forms, content, interface in drupal, but I searched/google hours for finding "how to translate drupal system message" (not Email). But I still can not find the answer.

I suppose that it is a very easy question. For example, the system says "an Email has been sent to your email address" on the web site, after a new user register. How to translate it (an Email has been sent ...)? Using variable? how to?

I would really appreciate someone can give me some idea how to do it.


hosais’s picture


I know it is drupal_set_message()
and you can translate in the translate interface->translation tab.

I did not update the strings. That's why they did not show up before.