public function testEnglish() { $config_name = 'locale_test.translation';
ConfigurableLanguage::
createFromLangcode('en'
)->
save();
// Adding a language on the UI would normally call updateConfigTranslations.
$this->localeConfigManager->
updateConfigTranslations([$config_name],
['en'
]);
$this->
assertConfigOverride($config_name, 'test', 'English test', 'en'
);
$this->configFactory->
getEditable('locale.settings'
)->
set('translate_english', TRUE
)->
save();
$this->
saveLocaleTranslationData($config_name, 'test', 'English test', 'Updated English test', 'en'
);
$this->
assertTranslation($config_name, 'Updated English test', 'en', FALSE
);
$this->
saveLanguageOverride($config_name, 'test', 'Updated English', 'en'
);
$this->
assertTranslation($config_name, 'Updated English', 'en'
);
$this->
deleteLocaleTranslationData($config_name, 'test', 'English test', 'en'
);
$this->
assertNoConfigOverride($config_name, 'en'
);
} /**
* Saves a language override.
*
* This will invoke LocaleConfigSubscriber through the event dispatcher. To
* make sure the configuration was persisted correctly, the configuration
* value is checked. Because LocaleConfigSubscriber temporarily disables the
* override state of the configuration factory we check that the correct value
* is restored afterwards.
*
* @param string $config_name
* The configuration name.
* @param string $key
* The configuration key.
* @param string $value
* The configuration value to save.
* @param string $langcode
* The language code.
*/