You are here

function locale_translation_get_status in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/modules/locale/locale.module \locale_translation_get_status()

Gets the current translation status.

@todo What is 'translation status'?

14 calls to locale_translation_get_status()
LocaleConfigTranslationImportTest::testConfigTranslationImport in core/modules/locale/src/Tests/LocaleConfigTranslationImportTest.php
Test update changes configuration translations if enabled after language.
LocaleUpdateInterfaceTest::testInterface in core/modules/locale/src/Tests/LocaleUpdateInterfaceTest.php
Tests the user interfaces of the interface translation update system.
LocaleUpdateTest::testUpdateCheckStatus in core/modules/locale/src/Tests/LocaleUpdateTest.php
Checks if local or remote translation sources are detected.
LocaleUpdateTest::testUpdateImportSourceLocal in core/modules/locale/src/Tests/LocaleUpdateTest.php
Tests translation import from local sources.
LocaleUpdateTest::testUpdateImportSourceRemote in core/modules/locale/src/Tests/LocaleUpdateTest.php
Tests translation import from remote sources.

... See full list

File

core/modules/locale/locale.module, line 882
Enables the translation of the user interface to languages other than English.

Code

function locale_translation_get_status($projects = NULL, $langcodes = NULL) {
  $result = array();
  $status = \Drupal::state()
    ->get('locale.translation_status');
  module_load_include('translation.inc', 'locale');
  $projects = $projects ? $projects : array_keys(locale_translation_get_projects());
  $langcodes = $langcodes ? $langcodes : array_keys(locale_translatable_language_list());

  // Get the translation status of each project-language combination. If no
  // status was stored, a new translation source is created.
  foreach ($projects as $project) {
    foreach ($langcodes as $langcode) {
      if (isset($status[$project][$langcode])) {
        $result[$project][$langcode] = $status[$project][$langcode];
      }
      else {
        $sources = locale_translation_build_sources(array(
          $project,
        ), array(
          $langcode,
        ));
        if (isset($sources[$project][$langcode])) {
          $result[$project][$langcode] = $sources[$project][$langcode];
        }
      }
    }
  }
  return $result;
}