diff --git a/core/includes/install.core.inc b/core/includes/install.core.inc index b198338..98e758e 100644 --- a/core/includes/install.core.inc +++ b/core/includes/install.core.inc @@ -1547,7 +1547,7 @@ function install_bootstrap_full() { * An array of information about the current installation state. * * @return - * An array containing the batch definition. + * An array containing the batch definitions. */ function install_profile_modules(&$install_state) { $modules = \Drupal::state()->get('install_profile_modules') ?: array(); @@ -1769,23 +1769,23 @@ function _install_prepare_import($langcodes, $server_pattern) { function install_finish_translations(&$install_state) { \Drupal::moduleHandler()->loadInclude('locale', 'fetch.inc'); \Drupal::moduleHandler()->loadInclude('locale', 'compare.inc'); + \Drupal::moduleHandler()->loadInclude('locale', 'bulk.inc'); // Build a fresh list of installed projects. When more projects than core are // installed, their translations will be downloaded (if required) and imported // using a batch. $projects = locale_translation_build_projects(); + $languages = \Drupal::languageManager()->getLanguages(); $batches = array(); if (count($projects) > 1) { $options = _locale_translation_default_update_options(); - $languages = \Drupal::languageManager()->getLanguages(); - if ($batch = locale_translation_batch_update_build(array(), array($install_state['parameters']['langcode']), $options)) { + if ($batch = locale_translation_batch_update_build(array(), array_keys($languages), $options)) { $batches[] = $batch; } } // Creates configuration translations. - \Drupal::moduleHandler()->loadInclude('locale', 'bulk.inc'); - $batches[] = locale_config_batch_update_components(array(), array($install_state['parameters']['langcode'])); + $batches[] = locale_config_batch_update_components(array(), array_keys($languages)); return $batches; } diff --git a/core/modules/system/src/Tests/Installer/InstallerTranslationMultipleLanguageTest.php b/core/modules/system/src/Tests/Installer/InstallerTranslationMultipleLanguageTest.php index 879b007..843c0df 100644 --- a/core/modules/system/src/Tests/Installer/InstallerTranslationMultipleLanguageTest.php +++ b/core/modules/system/src/Tests/Installer/InstallerTranslationMultipleLanguageTest.php @@ -29,8 +29,8 @@ class InstallerTranslationMultipleLanguageTest extends InstallerTestBase { protected function setUpLanguage() { // Place custom local translations in the translations directory. mkdir(DRUPAL_ROOT . '/' . $this->siteDirectory . '/files/translations', 0777, TRUE); - file_put_contents(DRUPAL_ROOT . '/' . $this->siteDirectory . '/files/translations/drupal-8.0.0.de.po', "msgid \"\"\nmsgstr \"\"\nmsgid \"Save and continue\"\nmsgstr \"Save and continue German\""); - file_put_contents(DRUPAL_ROOT . '/' . $this->siteDirectory . '/files/translations/drupal-8.0.0.es.po', "msgid \"\"\nmsgstr \"\"\nmsgid \"Save and continue\"\nmsgstr \"Save and continue Spanish\""); + file_put_contents(DRUPAL_ROOT . '/' . $this->siteDirectory . '/files/translations/drupal-8.0.0.de.po', "msgid \"\"\nmsgstr \"\"\nmsgid \"Save and continue\"\nmsgstr \"Save and continue German\"\nmsgid\"Anonymous\"\nmsgstr\"Anonymous German\""); + file_put_contents(DRUPAL_ROOT . '/' . $this->siteDirectory . '/files/translations/drupal-8.0.0.es.po', "msgid \"\"\nmsgstr \"\"\nmsgid \"Save and continue\"\nmsgstr \"Save and continue Spanish\"\nmsgid\"Anonymous\"\nmsgstr\"Anonymous Spanish\""); parent::setUpLanguage(); } @@ -49,18 +49,27 @@ public function testTranslationsLoaded() { } // Verify the strings from the translation files were imported. - $edit = array(); - $edit['langcode'] = 'de'; - $edit['translation'] = 'translated'; - $edit['string'] = 'Save and continue'; - $this->drupalPostForm('admin/config/regional/translate', $edit, t('Filter')); - $this->assertText('Save and continue German'); - $edit = array(); - $edit['langcode'] = 'es'; - $edit['translation'] = 'translated'; - $edit['string'] = 'Save and continue'; - $this->drupalPostForm('admin/config/regional/translate', $edit, t('Filter')); - $this->assertText('Save and continue Spanish'); + $test_samples = array('Save and continue', 'Anonymous'); + $languages = array( + 'de' => 'German', + 'es' => 'Spanish', + ); + + foreach($test_samples as $sample) { + foreach($languages as $langcode => $name) { + $edit = array(); + $edit['langcode'] = $langcode; + $edit['translation'] = 'translated'; + $edit['string'] = $sample; + $this->drupalPostForm('admin/config/regional/translate', $edit, t('Filter')); + $this->assertText($sample . ' ' . $name); + } + } + + $config = \Drupal::languageManager()->getLanguageConfigOverride('de', 'user.settings'); + $this->assertEqual($config->get('anonymous'), 'Anonymous German') + $config = \Drupal::languageManager()->getLanguageConfigOverride('es', 'user.settings'); + $this->assertEqual($config->get('anonymous'), 'Anonymous Spanish') } }