Enable automatic translation updates

Last updated on
13 January 2022

Drupal 7 will no longer be supported after January 5, 2025. Learn more and find resources for Drupal 7 sites

For Drupal 8 and 9, go to Configuration > User interface translation > Settings - or the path /admin/config/regional/translate/settings. The information below is for Drupal 7 or older.


The Localization update module helps you keep your interface translations for core and contributed modules up-to-date by grabbing them from the central Drupal translation repository (localize.drupal.org) or another Localization server. This means that you do not have to download and import translations manually. This module requires enabling the Locale (core) module. These are the steps to installing the module:

  1. Enable the Locale (core) module
  2. Download and enable the Localization update module
  3. Go to the configuration page at: admin/build/translate/update (pre-Drupal 7) or admin/config/regional/translate/update (Drupal 7)
  4. Wait patiently as the module looks for translation updates for you
  5. Click Update translations button
  6. Wait patiently as the module gets all your translations
  7. (optional, but recommended) Configure settings to get updates regularly via cron at: admin/settings/language/update (pre-Drupal 7) and admin/config/regional/language/update (Drupal 7)

Alternatively, locally stored translation files can be used as translation source too. By choice, updates are performed automatically or manually. Locally altered translations can either be respected or ignored.

The Localization update module is developed for:

  • Distributions which include their own translations in .po files.
  • Site admins who want to update the translation with each new module revision.
  • Site builders who want an easy tool to download translations for a site.
  • Multi-sites that share one translation source.

Installation

  1. Download, unpack and enable the module the usual way.
  2. Translations status overview can be found at Administer > Configuration > Languages > Translation updates (Drupal 7)
  3. Update configuration settings can be found at Administer > Configuration > Translate interface > Update (Drupal 7)

Translating Drupal core, modules and themes

When Drupal core or contributed modules or themes get installed Drupal core checks if po translation file are present and update the translation with the string found in these files. After this the localization update module checks the localization server for more recent translations and updates the site translations if a more recent version was found.

Note that the translations contained in the project packages may become obsolete in future releases.

Using cron translations may be updated regularly. Depending on setting updates are performed daily or weekly.

Changes to translations made locally using the site's build in translation interface (Administer > Site building > Translate interface > Search) and changes made using the localization client module are marked. Using the 'Update mode' setting the locally edited string can be kept and not overwritten by translation updates.

Alternative sources of translation

Each project i.e. modules, themes, etc. can define alternative translation servers to retrieve the translation updates from. Include the following definition in the projects .info file:

l10n server = example.com
l10n url = http://example.com/files/translations/l10n_server.xml 

The download path pattern is normally defined in the above defined xml file. You may override this path by adding a third definition in the .info file:

l10n path = http://example.com/files/translations/%core/%project/%project-%release 

API

Using hook_l10n_servers the l10n update module can be extended to use other translation repositories. Which is useful for organisations who maintain their own translation.

Using hook_l10n_update_projects_alter modules can alter or specify the translation repositories on a per module basis.

See l10n_update.api.php for more information.

Help improve this page

Page status: No known problems

You can: