diff --git a/core/modules/layout_builder/layout_builder.install b/core/modules/layout_builder/layout_builder.install
index ec16a05537..1da3c5d2a6 100644
--- a/core/modules/layout_builder/layout_builder.install
+++ b/core/modules/layout_builder/layout_builder.install
@@ -92,8 +92,13 @@ function layout_builder_schema() {
         'not null' => FALSE,
         'default' => 0,
       ],
+      'langcode' => [
+        'type' => 'varchar_ascii',
+        'length' => 12,
+        'not null' => TRUE,
+      ],
     ],
-    'primary key' => ['block_content_id'],
+    'primary key' => ['block_content_id', 'langcode'],
     'indexes' => [
       'type_id' => ['layout_entity_type', 'layout_entity_id'],
     ],
@@ -136,3 +141,24 @@ function layout_builder_update_8602() {
   ];
   Database::getConnection()->schema()->createTable('inline_block_usage', $inline_block_usage);
 }
+
+/**
+ * Add the column 'langcode' to 'inline_block_usage' table.
+ */
+function layout_builder_update_8701() {
+
+  $table = 'inline_block_usage';
+
+  $spec = [
+    'type' => 'varchar_ascii',
+    'length' => 12,
+    'not null' => TRUE,
+  ];
+
+  $schema = Database::getConnection()->schema();
+  $schema->addField($table, 'langcode', $spec);
+
+  $schema->dropPrimaryKey($table);
+  $schema->addPrimaryKey($table, ['block_content_id', 'langcode']);
+
+}
diff --git a/core/modules/layout_builder/layout_builder.module b/core/modules/layout_builder/layout_builder.module
index 48f62e98cf..eeeaac681e 100644
--- a/core/modules/layout_builder/layout_builder.module
+++ b/core/modules/layout_builder/layout_builder.module
@@ -160,6 +160,17 @@ function layout_builder_entity_delete(EntityInterface $entity) {
   }
 }
 
+/**
+ * Implements hook_entity_translation_delete().
+ */
+function layout_builder_entity_translation_delete(EntityInterface $translation) {
+  if (\Drupal::moduleHandler()->moduleExists('block_content')) {
+    /** @var \Drupal\layout_builder\InlineBlockEntityOperations $entity_operations */
+    $entity_operations = \Drupal::classResolver(InlineBlockEntityOperations::class);
+    $entity_operations->handleEntityTranslationDelete($translation);
+  }
+}
+
 /**
  * Implements hook_cron().
  */
diff --git a/core/modules/layout_builder/src/InlineBlockEntityOperations.php b/core/modules/layout_builder/src/InlineBlockEntityOperations.php
index 7e64b83cf1..2983e68c39 100644
--- a/core/modules/layout_builder/src/InlineBlockEntityOperations.php
+++ b/core/modules/layout_builder/src/InlineBlockEntityOperations.php
@@ -137,6 +137,18 @@ public function handleEntityDelete(EntityInterface $entity) {
     }
   }
 
+  /**
+   * Handles entity tracking on deleting a parent entity translation.
+   *
+   * @param EntityInterface $entity
+   *   The parent entity translation.
+   */
+  public function handleEntityTranslationDelete(EntityInterface $entity) {
+    if ($this->isLayoutCompatibleEntity($entity)) {
+      $this->usage->removeByLayoutEntityTranslation($entity);
+    }
+  }
+
   /**
    * Handles saving a parent entity.
    *
diff --git a/core/modules/layout_builder/src/InlineBlockUsage.php b/core/modules/layout_builder/src/InlineBlockUsage.php
index 0639862123..1636c6fd47 100644
--- a/core/modules/layout_builder/src/InlineBlockUsage.php
+++ b/core/modules/layout_builder/src/InlineBlockUsage.php
@@ -4,6 +4,7 @@
 
 use Drupal\Core\Database\Connection;
 use Drupal\Core\Entity\EntityInterface;
+use Drupal\Core\Entity\TranslatableInterface;
 
 /**
  * Service class to track inline block usage.
@@ -38,12 +39,21 @@ public function __construct(Connection $database) {
    *   The layout entity.
    */
   public function addUsage($block_content_id, EntityInterface $entity) {
-    $this->database->merge('inline_block_usage')
-      ->keys([
-        'block_content_id' => $block_content_id,
-        'layout_entity_id' => $entity->id(),
-        'layout_entity_type' => $entity->getEntityTypeId(),
-      ])->execute();
+    $data = [
+      'block_content_id' => $block_content_id,
+      'layout_entity_id' => $entity->id(),
+      'layout_entity_type' => $entity->getEntityTypeId(),
+    ];
+
+    if ($entity instanceof TranslatableInterface && $entity->isTranslatable()) {
+      $data['langcode'] = $entity->language()->getId();
+    }
+    else {
+      // @todo
+      $data['langcode'] = \Drupal::languageManager()->getDefaultLanguage()->getId();
+    }
+
+    $this->database->merge('inline_block_usage')->keys($data)->execute();
   }
 
   /**
@@ -80,6 +90,24 @@ public function removeByLayoutEntity(EntityInterface $entity) {
     $query->execute();
   }
 
+  /**
+   * Remove usage record by layout entity translation.
+   *
+   * @param \Drupal\Core\Entity\EntityInterface $entity
+   *   The layout entity translation.
+   */
+  public function removeByLayoutEntityTranslation(EntityInterface $entity) {
+    $query = $this->database->update('inline_block_usage')
+      ->fields([
+        'layout_entity_type' => NULL,
+        'layout_entity_id' => NULL,
+      ]);
+    $query->condition('layout_entity_type', $entity->getEntityTypeId());
+    $query->condition('layout_entity_id', $entity->id());
+    $query->condition('langcode', $entity->language()->getId());
+    $query->execute();
+  }
+
   /**
    * Delete the inline blocks' the usage records.
    *
