diff --git a/core/lib/Drupal/Core/Entity/EntityType.php b/core/lib/Drupal/Core/Entity/EntityType.php
index b39fb3f..ef37727 100644
--- a/core/lib/Drupal/Core/Entity/EntityType.php
+++ b/core/lib/Drupal/Core/Entity/EntityType.php
@@ -4,6 +4,7 @@
 
 use Drupal\Component\Plugin\Definition\PluginDefinition;
 use Drupal\Component\Utility\Unicode;
+use Drupal\Core\DependencyInjection\DependencySerializationTrait;
 use Drupal\Core\Entity\Exception\EntityTypeIdLengthException;
 use Drupal\Core\StringTranslation\StringTranslationTrait;
 use Drupal\Core\StringTranslation\TranslatableMarkup;
@@ -15,6 +16,7 @@
  */
 class EntityType extends PluginDefinition implements EntityTypeInterface {
 
+  use DependencySerializationTrait;
   use StringTranslationTrait;
 
   /**
diff --git a/core/modules/locale/tests/src/Kernel/EntityTypeSerializationTest.php b/core/modules/locale/tests/src/Kernel/EntityTypeSerializationTest.php
new file mode 100644
index 0000000..30946f9
--- /dev/null
+++ b/core/modules/locale/tests/src/Kernel/EntityTypeSerializationTest.php
@@ -0,0 +1,37 @@
+<?php
+
+namespace Drupal\Tests\locale\Kernel;
+
+use Drupal\Core\Entity\EntityType;
+use Drupal\KernelTests\KernelTestBase;
+
+/**
+ * Tests that entity type definitions can be serialized when Locale is present.
+ *
+ * @group locale
+ */
+class EntityTypeSerializationTest extends KernelTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static $modules = [
+    'field',
+    'file',
+    'language',
+    'locale',
+  ];
+
+  public function testEntityTypeSerializationWithTranslationService() {
+    $entity_type = new EntityType([
+      'id' => $this->randomMachineName(),
+    ]);
+
+    /** @var \Drupal\Core\StringTranslation\TranslationInterface $translation */
+    $translation = $this->container->get('string_translation');
+    $entity_type->setStringTranslation($translation);
+
+    serialize($entity_type);
+  }
+
+}
