function install_download_additional_translations_operations

install_download_additional_translations_operations(&$install_state)

Prepares the system for import and downloads additional translations.

Parameters

$install_state: An array of information about the current installation state.

Return value

The batch definition, if there are language files to download.

File

core/includes/install.core.inc, line 1577
API functions for installing Drupal.

Code

function install_download_additional_translations_operations(&$install_state) {
  \Drupal::moduleHandler()->loadInclude('locale', 'bulk.inc');

  $langcode = $install_state['parameters']['langcode'];
  if (!($language = entity_load('configurable_language', $langcode))) {
    // Create the language if not already shipped with a profile.
    $language = ConfigurableLanguage::createFromLangcode($langcode);
  }
  $language->save();

  // If a non-English language was selected, change the default language and
  // remove English.
  if ($langcode != 'en') {
    \Drupal::configFactory()->getEditable('system.site')
      ->set('langcode', $langcode)
      ->set('default_langcode', $langcode)
      ->save();
    \Drupal::service('language.default')->set($language);
    if (empty($install_state['profile_info']['keep_english'])) {
      entity_delete_multiple('configurable_language', array('en'));
    }
  }

  // If there is more than one language or the single one is not English, we
  // should download/import translations.
  $languages = \Drupal::languageManager()->getLanguages();
  $operations = array();
  foreach ($languages as $langcode => $language) {
    // The installer language was already downloaded. Check downloads for the
    // other languages if any. Ignore any download errors here, since we
    // are in the middle of an install process and there is no way back. We
    // will not import what we cannot download.
    if ($langcode != 'en' && $langcode != $install_state['parameters']['langcode']) {
      $operations[] = array('install_check_translations', array($langcode, $install_state['server_pattern']));
    }
  }
  return $operations;
}

© 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.
https://api.drupal.org/api/drupal/core!includes!install.core.inc/function/install_download_additional_translations_operations/8.1.x