switch ($name) { case $this->langcodeKey:
if ($this->
isDefaultTranslation()) { // Update the default internal language cache.
$this->
setDefaultLangcode();
if (isset($this->translations
[$this->defaultLangcode
])) { $message =
new FormattableMarkup('A translation already exists for the specified language (@langcode).',
['@langcode' =>
$this->defaultLangcode
]);
throw new \
InvalidArgumentException($message);
} $this->
updateFieldLangcodes($this->defaultLangcode
);
} else { // @todo Allow the translation language to be changed. See
// https://www.drupal.org/node/2443989.
$items =
$this->
get($this->langcodeKey
);
if ($items->value !=
$this->activeLangcode
) { $items->
setValue($this->activeLangcode, FALSE
);
$message =
new FormattableMarkup('The translation language cannot be changed (@langcode).',
['@langcode' =>
$this->activeLangcode
]);
throw new \
LogicException($message);
} }