protected function ContentEntityBase::initializeTranslation in Drupal 10
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Entity/ContentEntityBase.php \Drupal\Core\Entity\ContentEntityBase::initializeTranslation()
- 9 core/lib/Drupal/Core/Entity/ContentEntityBase.php \Drupal\Core\Entity\ContentEntityBase::initializeTranslation()
Instantiates a translation object for an existing translation.
The translated entity will be a clone of the current entity with the specified $langcode. All translations share the same field data structures to ensure that all of them deal with fresh data.
Parameters
string $langcode: The language code for the requested translation.
Return value
\Drupal\Core\Entity\EntityInterface The translation object. The content properties of the translation object are stored as references to the main entity.
1 call to ContentEntityBase::initializeTranslation()
- ContentEntityBase::getTranslation in core/lib/ Drupal/ Core/ Entity/ ContentEntityBase.php 
- Gets a translation of the data.
File
- core/lib/ Drupal/ Core/ Entity/ ContentEntityBase.php, line 901 
Class
- ContentEntityBase
- Implements Entity Field API specific enhancements to the Entity class.
Namespace
Drupal\Core\EntityCode
protected function initializeTranslation($langcode) {
  // If the requested translation is valid, clone it with the current language
  // as the active language. The $translationInitialize flag triggers a
  // shallow (non-recursive) clone.
  $this->translationInitialize = TRUE;
  $translation = clone $this;
  $this->translationInitialize = FALSE;
  $translation->activeLangcode = $langcode;
  // Ensure that changes to fields, values and translations are propagated
  // to all the translation objects.
  // @todo Consider converting these to ArrayObject.
  $translation->values =& $this->values;
  $translation->fields =& $this->fields;
  $translation->translations =& $this->translations;
  $translation->enforceIsNew =& $this->enforceIsNew;
  $translation->newRevision =& $this->newRevision;
  $translation->entityKeys =& $this->entityKeys;
  $translation->translatableEntityKeys =& $this->translatableEntityKeys;
  $translation->translationInitialize = FALSE;
  $translation->typedData = NULL;
  $translation->loadedRevisionId =& $this->loadedRevisionId;
  $translation->isDefaultRevision =& $this->isDefaultRevision;
  $translation->enforceRevisionTranslationAffected =& $this->enforceRevisionTranslationAffected;
  $translation->isSyncing =& $this->isSyncing;
  return $translation;
}