protected LocaleConfigSubscriber::saveCustomizedTranslation($name, $source, $context, $new_translation, $langcode)
Saves a translation string and marks it as customized.
Parameters
string $name: The configuration name.
string $source: The source string value.
string $context: The source string context.
string $new_translation: The translation string.
string $langcode: The language code of the translation.
File
- core/modules/locale/src/LocaleConfigSubscriber.php, line 208
Class
- LocaleConfigSubscriber
- Updates strings translation when configuration translations change.
Namespace
Drupal\locale
Code
protected function saveCustomizedTranslation($name, $source, $context, $new_translation, $langcode) { $locale_translation = $this->localeConfigManager->getStringTranslation($name, $langcode, $source, $context); if (!empty($locale_translation)) { // Save this translation as custom if it was a new translation and not the // same as the source. (The interface prefills translation values with the // source). Or if there was an existing (non-empty) translation and the // user changed it (even if it was changed back to the original value). // Otherwise the translation file would be overwritten with the locale // copy again later. $existing_translation = $locale_translation->getString(); if (($locale_translation->isNew() && $source != $new_translation) || (!$locale_translation->isNew() && ((empty($existing_translation) && $source != $new_translation) || ((!empty($existing_translation) && $new_translation != $existing_translation))))) { $locale_translation ->setString($new_translation) ->setCustomized(TRUE) ->save(); } } }
Please login to continue.