diff --git c/core/lib/Drupal/Core/Entity/ContentEntityBase.php w/core/lib/Drupal/Core/Entity/ContentEntityBase.php index 33a7b77..8d889a3 100644 --- c/core/lib/Drupal/Core/Entity/ContentEntityBase.php +++ w/core/lib/Drupal/Core/Entity/ContentEntityBase.php @@ -260,16 +260,6 @@ public function isDefaultTranslation() { /** * {@inheritdoc} */ - public function isTranslation() { - if ($this->language()->getId() != $this->getUntranslated()->language()->getId()) { - return TRUE; - } - return FALSE; - } - - /** - * {@inheritdoc} - */ public function getRevisionId() { return $this->getEntityKey('revision'); } diff --git c/core/lib/Drupal/Core/Entity/ContentEntityDeleteForm.php w/core/lib/Drupal/Core/Entity/ContentEntityDeleteForm.php index 8a1d577..6116520 100644 --- c/core/lib/Drupal/Core/Entity/ContentEntityDeleteForm.php +++ w/core/lib/Drupal/Core/Entity/ContentEntityDeleteForm.php @@ -28,7 +28,7 @@ public function submitForm(array &$form, FormStateInterface $form_state) { $entity = $this->getEntity(); // Make sure that deleting a translation does not delete the whole entity. - if ($entity->isTranslation()) { + if (!$entity->isDefaultTranslation()) { $untranslated_entity = $entity->getUntranslated(); $untranslated_entity->removeTranslation($entity->language()->getId()); $untranslated_entity->save(); @@ -50,7 +50,7 @@ protected function getDeletionMessage() { /** @var \Drupal\Core\Entity\ContentEntityInterface $entity */ $entity = $this->getEntity(); - if ($entity->isTranslation()) { + if (!$entity->isDefaultTranslation()) { return $this->t('The @entity-type %label @language translation has been deleted.', [ '@entity-type' => $entity->getEntityType()->getLowercaseLabel(), '%label' => $entity->label(), @@ -68,7 +68,7 @@ protected function logDeletionMessage() { /** @var \Drupal\Core\Entity\ContentEntityInterface $entity */ $entity = $this->getEntity(); - if ($entity->isTranslation()) { + if (!$entity->isDefaultTranslation()) { $this->logger($entity->getEntityType()->getProvider())->notice('The @entity-type %label @language translation has been deleted.', [ '@entity-type' => $entity->getEntityType()->getLowercaseLabel(), '%label' => $entity->label(), @@ -87,7 +87,7 @@ public function getQuestion() { /** @var \Drupal\Core\Entity\ContentEntityInterface $entity */ $entity = $this->getEntity(); - if ($entity->isTranslation()) { + if (!$entity->isDefaultTranslation()) { return $this->t('Are you sure you want to delete @language translation of the @entity-type %label?', array( '@language' => $entity->language()->getName(), '@entity-type' => $this->getEntity()->getEntityType()->getLowercaseLabel(), diff --git c/core/lib/Drupal/Core/TypedData/TranslatableInterface.php w/core/lib/Drupal/Core/TypedData/TranslatableInterface.php index 77059a0..73b288d 100644 --- c/core/lib/Drupal/Core/TypedData/TranslatableInterface.php +++ w/core/lib/Drupal/Core/TypedData/TranslatableInterface.php @@ -29,14 +29,6 @@ public function language(); public function isDefaultTranslation(); /** - * Checks whether the data is a translation. - * - * @return bool - * TRUE if the data a translation., FALSE otherwise. - */ - public function isTranslation(); - - /** * Returns the languages the data is translated to. * * @param bool $include_default diff --git c/core/modules/content_translation/src/ContentTranslationHandler.php w/core/modules/content_translation/src/ContentTranslationHandler.php index 45efcd9..3f82a78 100644 --- c/core/modules/content_translation/src/ContentTranslationHandler.php +++ w/core/modules/content_translation/src/ContentTranslationHandler.php @@ -608,7 +608,7 @@ function entityFormDelete($form, FormStateInterface $form_state) { * {@inheritdoc} */ public function entityDeleteFormAlter(array &$form, FormStateInterface $form_state, ContentEntityInterface $entity) { - if (!$entity->isTranslation()) { + if ($entity->isDefaultTranslation()) { $languages = []; foreach ($entity->getTranslationLanguages() as $language) { $languages[] = $language->getName(); diff --git c/core/modules/node/src/Form/NodeDeleteForm.php w/core/modules/node/src/Form/NodeDeleteForm.php index 17a58bb..cd36d98 100644 --- c/core/modules/node/src/Form/NodeDeleteForm.php +++ w/core/modules/node/src/Form/NodeDeleteForm.php @@ -25,7 +25,7 @@ protected function getDeletionMessage() { $node_type_storage = $this->entityManager->getStorage('node_type'); $node_type = $node_type_storage->load($entity->bundle())->label(); - if ($entity->isTranslation()) { + if (!$entity->isDefaultTranslation()) { return $this->t('@language translation of the @type %label has been deleted.', [ '@language' => $entity->language()->getName(), '@type' => $node_type, @@ -44,7 +44,9 @@ protected function getDeletionMessage() { */ public function submitForm(array &$form, FormStateInterface $form_state) { parent::submitForm($form, $form_state); - $form_state->setRedirect(''); + if ($this->getEntity()->isDefaultTranslation()) { + $form_state->setRedirect(''); + } } /**