You are here

function locale_translation_project_list in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/modules/locale/locale.compare.inc \locale_translation_project_list()

Fetch an array of projects for translation update.

Return value

array Array of project data including .info.yml file data.

2 calls to locale_translation_project_list()
LocaleUpdateTest::testUpdateProjects in core/modules/locale/src/Tests/LocaleUpdateTest.php
Checks if a list of translatable projects gets build.
locale_translation_build_projects in core/modules/locale/locale.compare.inc
Builds list of projects and stores the result in the database.

File

core/modules/locale/locale.compare.inc, line 98
The API for comparing project translation status with available translation.

Code

function locale_translation_project_list() {
  $projects =& drupal_static(__FUNCTION__, array());
  if (empty($projects)) {
    $projects = array();
    $additional_whitelist = array(
      'interface translation project',
      'interface translation server pattern',
    );
    $module_data = _locale_translation_prepare_project_list(system_rebuild_module_data(), 'module');
    $theme_data = _locale_translation_prepare_project_list(\Drupal::service('theme_handler')
      ->rebuildThemeData(), 'theme');
    $project_info = new ProjectInfo();
    $project_info
      ->processInfoList($projects, $module_data, 'module', TRUE, $additional_whitelist);
    $project_info
      ->processInfoList($projects, $theme_data, 'theme', TRUE, $additional_whitelist);

    // Allow other modules to alter projects before fetching and comparing.
    \Drupal::moduleHandler()
      ->alter('locale_translation_projects', $projects);
  }
  return $projects;
}