/Drupal 8

function hook_locale_translation_projects_alter


Alter the list of projects to be updated by locale's interface translation.

Locale module attempts to update the translation of those modules returned by \Drupal\Update\UpdateManager::getProjects(). Using this hook, the data returned by \Drupal\Update\UpdateManager::getProjects() can be altered or extended.

Modules or distributions that use a dedicated translation server should use this hook to specify the interface translation server pattern, or to add additional custom/non-Drupal.org modules to the list of modules known to locale.

  • "interface translation server pattern": URL of the .po translation files used to download the files from. The URL contains tokens which will be replaced by appropriate values.

The following tokens are available for the server pattern:

  • "%core": Core version. Value example: "8.x".
  • "%project": Project name. Value examples: "drupal", "media_gallery".
  • "%version": Project version release. Value examples: "8.1", "8.x-1.0".
  • "%language": Language code. Value examples: "fr", "pt-pt".


array $projects: Project data as returned by \Drupal\Update\UpdateManager::getProjects().

See also


Related topics

Define functions that alter the behavior of Drupal core.
Interface translation properties
.info.yml file properties for interface translation settings.


core/modules/locale/locale.api.php, line 117
Hooks provided by the Locale module.


function hook_locale_translation_projects_alter(&$projects) {
  // The translations are located at a custom translation sever.
  $projects['existing_project'] = array(
    'info' => array(
      'interface translation server pattern' => 'http://example.com/files/translations/%core/%project/%project-%version.%language.po',

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.