diff --git a/entity_reference_revisions.module b/entity_reference_revisions.module index fa24f77..0aeacaa 100644 --- a/entity_reference_revisions.module +++ b/entity_reference_revisions.module @@ -271,10 +271,19 @@ function entity_reference_revisions_entity_revision_create(ContentEntityInterfac /** @var \Drupal\Core\Entity\ContentEntityInterface $target_entity */ $target_entity = $item->entity; - if (!$target_entity->hasTranslation($active_langcode)) { + + if ($active_langcode == 'und') { + $active_langcode = \Drupal::languageManager()->getDefaultLanguage()->getId(); + } + + if (($active_langcode != \Drupal::languageManager()->getDefaultLanguage()->getId()) && !$target_entity->hasTranslation($active_langcode)) { $target_entity->addTranslation($active_langcode, $target_entity->toArray()); } - $target_entity = $item->entity->getTranslation($active_langcode); + + if ($target_entity->hasTranslation($active_langcode)) { + $target_entity = $item->entity->getTranslation($active_langcode); + } + $revised_entity = $target_storage->createRevision($target_entity, $new_revision->isDefaultRevision(), $keep_untranslatable_fields); // Restore the revision ID.