function locale_translation_project_list

Same name in other branches
  1. 9 core/modules/locale/locale.compare.inc \locale_translation_project_list()
  2. 8.9.x core/modules/locale/locale.compare.inc \locale_translation_project_list()
  3. 11.x 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/tests/src/Kernel/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.
1 string reference to 'locale_translation_project_list'
LocaleBuildTest::testBuildProjects in core/modules/locale/tests/src/Kernel/LocaleBuildTest.php
Checks if a list of translatable projects gets built.

File

core/modules/locale/locale.compare.inc, line 98

Code

function locale_translation_project_list() {
    $projects =& drupal_static(__FUNCTION__, []);
    if (empty($projects)) {
        $projects = [];
        $additional_whitelist = [
            'interface translation project',
            'interface translation server pattern',
        ];
        $module_data = _locale_translation_prepare_project_list(\Drupal::service('extension.list.module')->getList(), 'module');
        $theme_data = _locale_translation_prepare_project_list(\Drupal::service('extension.list.theme')->reset()
            ->getList(), '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;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.