diff --git a/core/modules/layout_builder/src/Controller/LayoutBuilderController.php b/core/modules/layout_builder/src/Controller/LayoutBuilderController.php
index b536709ab5..fe2723c91c 100644
--- a/core/modules/layout_builder/src/Controller/LayoutBuilderController.php
+++ b/core/modules/layout_builder/src/Controller/LayoutBuilderController.php
@@ -37,7 +37,7 @@ public function title(SectionStorageInterface $section_storage) {
    * @return array
    *   A render array.
    */
-  public function layout(SectionStorageInterface $section_storage, LanguageInterface $language = NULL) {
+  public function layout(SectionStorageInterface $section_storage, LanguageInterface $language) {
     return [
       '#type' => 'layout_builder',
       '#section_storage' => $section_storage,
diff --git a/core/modules/layout_builder/src/Element/LayoutBuilder.php b/core/modules/layout_builder/src/Element/LayoutBuilder.php
index 9bd813415c..32399783e8 100644
--- a/core/modules/layout_builder/src/Element/LayoutBuilder.php
+++ b/core/modules/layout_builder/src/Element/LayoutBuilder.php
@@ -382,6 +382,9 @@ protected function buildAdministrativeSection(SectionStorageInterface $section_s
   /**
    * Determines if the component is translatable.
    *
+   * @todo determine how handle other settings that need to be translated
+   *    such as the inline blocks use case.
+   *
    * @param \Drupal\layout_builder\SectionStorageInterface $section_storage
    *   The section storage.
    * @param \Drupal\layout_builder\SectionComponent $component
@@ -393,13 +396,11 @@ protected function buildAdministrativeSection(SectionStorageInterface $section_s
   protected function componentHasTranslatableConfiguration(SectionStorageInterface $section_storage, SectionComponent $component) {
     if ($section_storage instanceof TranslatableSectionStorageInterface && !$section_storage->isDefaultTranslation()) {
       $plugin = $component->getPlugin();
+      $contexts = $section_storage->getContexts();
       if ($plugin instanceof LayoutBuilderTranslatablePluginInterface) {
         return $plugin->hasTranslatableConfiguration();
       }
       elseif ($plugin instanceof ConfigurableInterface) {
-        // For all plugins that do not implement
-        // LayoutBuilderTranslatablePluginInterface only allow label
-        // translation.
         $configuration = $plugin->getConfiguration();
         return !empty($configuration['label_display']) && !empty($configuration['label']);
       }
diff --git a/core/modules/layout_builder/src/EventSubscriber/ComponentPluginTranslate.php b/core/modules/layout_builder/src/EventSubscriber/ComponentPluginTranslate.php
index 234d165c08..e56100c649 100644
--- a/core/modules/layout_builder/src/EventSubscriber/ComponentPluginTranslate.php
+++ b/core/modules/layout_builder/src/EventSubscriber/ComponentPluginTranslate.php
@@ -3,10 +3,11 @@
 namespace Drupal\layout_builder\EventSubscriber;
 
 use Drupal\Component\Plugin\ConfigurableInterface;
+use Drupal\Core\Entity\FieldableEntityInterface;
+use Drupal\Core\Entity\TranslatableInterface;
 use Drupal\layout_builder\Event\SectionComponentBuildRenderArrayEvent;
 use Drupal\layout_builder\LayoutBuilderEvents;
-use Drupal\layout_builder\LayoutEntityHelperTrait;
-use Drupal\layout_builder\TranslatableSectionStorageInterface;
+use Drupal\layout_builder\Plugin\SectionStorage\OverridesSectionStorage;
 use Symfony\Component\EventDispatcher\EventSubscriberInterface;
 
 /**
@@ -14,8 +15,6 @@
  */
 class ComponentPluginTranslate implements EventSubscriberInterface {
 
-  use LayoutEntityHelperTrait;
-
   /**
    * {@inheritdoc}
    */
@@ -38,13 +37,17 @@ public function onBuildRender(SectionComponentBuildRenderArrayEvent $event) {
       return;
     }
 
+    /** @var \Drupal\Core\Entity\FieldableEntityInterface $entity */
     $entity = $contexts['layout_builder.entity']->getContextValue();
-    $configuration = $plugin->getConfiguration();
-    $section_storage = $this->getSectionStorageForEntity($entity);
-    if ($section_storage instanceof TranslatableSectionStorageInterface && !$section_storage->isDefaultTranslation()) {
-      if ($translated_plugin_configuration = $section_storage->getTranslatedComponentConfiguration($component->getUuid())) {
-        $translated_plugin_configuration += $configuration;
-        $plugin->setConfiguration($translated_plugin_configuration);
+    if ($entity instanceof FieldableEntityInterface && $entity instanceof TranslatableInterface && !$entity->isDefaultTranslation() && $entity->hasField(OverridesSectionStorage::TRANSLATED_CONFIGURATION_FIELD_NAME)) {
+      $configuration = $plugin->getConfiguration();
+      if (!$entity->get(OverridesSectionStorage::TRANSLATED_CONFIGURATION_FIELD_NAME)->isEmpty()) {
+        $translated_layout_configuration = $entity->get(OverridesSectionStorage::TRANSLATED_CONFIGURATION_FIELD_NAME)->get(0)->getValue();
+        if (isset($translated_layout_configuration['value']['components'][$component->getUuid()])) {
+          $translated_plugin_configuration = $translated_layout_configuration['value']['components'][$component->getUuid()];
+          $translated_plugin_configuration += $configuration;
+          $plugin->setConfiguration($translated_plugin_configuration);
+        }
       }
     }
   }
diff --git a/core/modules/layout_builder/src/Form/BlockPluginTranslationForm.php b/core/modules/layout_builder/src/Form/BlockPluginTranslationForm.php
index 422cf1fac6..c5572e3802 100644
--- a/core/modules/layout_builder/src/Form/BlockPluginTranslationForm.php
+++ b/core/modules/layout_builder/src/Form/BlockPluginTranslationForm.php
@@ -27,8 +27,6 @@ class BlockPluginTranslationForm extends PluginFormBase implements ContainerInje
   protected $currentLangcode;
 
   /**
-   * The translated configuration for the plugin.
-   *
    * @var array
    */
   protected $translatedConfiguration;
diff --git a/core/modules/layout_builder/src/Form/LayoutBuilderEntityViewDisplayForm.php b/core/modules/layout_builder/src/Form/LayoutBuilderEntityViewDisplayForm.php
index 56112b6912..788f0b55e8 100644
--- a/core/modules/layout_builder/src/Form/LayoutBuilderEntityViewDisplayForm.php
+++ b/core/modules/layout_builder/src/Form/LayoutBuilderEntityViewDisplayForm.php
@@ -70,6 +70,7 @@ public function form(array $form, FormStateInterface $form_state) {
       '#access' => $is_enabled,
     ];
 
+
     if ($this->sectionStorage instanceof TranslatableSectionStorageInterface && $this->sectionStorage->isTranslatable()) {
       $form['layout_translations'] = [
         '#type' => 'details',
@@ -81,7 +82,7 @@ public function form(array $form, FormStateInterface $form_state) {
         if ($language->isDefault()) {
           continue;
         }
-        $url = $this->sectionStorage->getLayoutBuilderUrl();
+        $url =  $this->sectionStorage->getLayoutBuilderUrl();
         $form['layout_translations'][$language->getId()] = [
           '#type' => 'link',
           '#title' => $language->getName(),
diff --git a/core/modules/layout_builder/src/Form/OverridesEntityForm.php b/core/modules/layout_builder/src/Form/OverridesEntityForm.php
index 125526542f..fc37d4048b 100644
--- a/core/modules/layout_builder/src/Form/OverridesEntityForm.php
+++ b/core/modules/layout_builder/src/Form/OverridesEntityForm.php
@@ -88,24 +88,32 @@ protected function init(FormStateInterface $form_state) {
     // Allow modules to choose if they are relevant to the layout form.
     $this->moduleHandler->alter('layout_builder_overrides_entity_form_display', $display);
 
-    // Add the widget for Layout Builder after the alter.
-    if ($this->sectionStorage instanceof TranslatableSectionStorageInterface && !$this->sectionStorage->isDefaultTranslation()) {
-      $display->setComponent(OverridesSectionStorage::TRANSLATED_CONFIGURATION_FIELD_NAME, [
-        'type' => 'layout_builder_widget',
-        'weight' => -10,
-        'settings' => [],
-      ]);
-    }
-    else {
+       // Add the widget for Layout Builder after the alter.
       $display->setComponent(OverridesSectionStorage::FIELD_NAME, [
         'type' => 'layout_builder_widget',
         'weight' => -10,
         'settings' => [],
       ]);
-    }
+
+
+
     $this->setFormDisplay($display, $form_state);
   }
 
+  /**
+   * @inheritDoc
+   */
+  public function buildEntity(array $form, FormStateInterface $form_state) {
+    $entity = parent::buildEntity($form, $form_state);
+    if ($this->sectionStorage instanceof TranslatableSectionStorageInterface && !$this->sectionStorage->isDefaultTranslation()) {
+      // @todo get sections from unchanged entity? You shouldn't override layout on non-default
+      //   should TRANSLATED_CONFIGURATION_FIELD_NAME have it's own form and widget?
+      $entity->set(OverridesSectionStorage::TRANSLATED_CONFIGURATION_FIELD_NAME, [$this->sectionStorage->getTranslatedConfiguration()]);
+    }
+    return $entity;
+  }
+
+
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/layout_builder/src/InlineBlockEntityOperations.php b/core/modules/layout_builder/src/InlineBlockEntityOperations.php
index a2cc6d4270..55eab3b75e 100644
--- a/core/modules/layout_builder/src/InlineBlockEntityOperations.php
+++ b/core/modules/layout_builder/src/InlineBlockEntityOperations.php
@@ -2,7 +2,6 @@
 
 namespace Drupal\layout_builder;
 
-use Drupal\Core\Block\BlockManagerInterface;
 use Drupal\Core\Database\Connection;
 use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\Core\Entity\EntityInterface;
@@ -42,13 +41,6 @@ class InlineBlockEntityOperations implements ContainerInjectionInterface {
    */
   protected $entityTypeManager;
 
-  /**
-   * The block plugin manager.
-   *
-   * @var \Drupal\Core\Block\BlockManagerInterface
-   */
-  protected $blockManager;
-
   /**
    * Constructs a new EntityOperations object.
    *
@@ -73,7 +65,7 @@ class InlineBlockEntityOperations implements ContainerInjectionInterface {
    *   - The $database parameter is unused and should be removed.
    *   Deprecate in https://www.drupal.org/node/3031492.
    */
-  public function __construct(EntityTypeManagerInterface $entityTypeManager, InlineBlockUsage $usage, Connection $database, SectionStorageManagerInterface $section_storage_manager = NULL, BlockManagerInterface $block_manager) {
+  public function __construct(EntityTypeManagerInterface $entityTypeManager, InlineBlockUsage $usage, Connection $database, SectionStorageManagerInterface $section_storage_manager = NULL) {
     $this->entityTypeManager = $entityTypeManager;
     $this->blockContentStorage = $entityTypeManager->getStorage('block_content');
     $this->usage = $usage;
@@ -82,7 +74,6 @@ public function __construct(EntityTypeManagerInterface $entityTypeManager, Inlin
       $section_storage_manager = \Drupal::service('plugin.manager.layout_builder.section_storage');
     }
     $this->sectionStorageManager = $section_storage_manager;
-    $this->blockManager = $block_manager;
   }
 
   /**
@@ -93,8 +84,7 @@ public static function create(ContainerInterface $container) {
       $container->get('entity_type.manager'),
       $container->get('inline_block.usage'),
       $container->get('database'),
-      $container->get('plugin.manager.layout_builder.section_storage'),
-      $container->get('plugin.manager.block')
+      $container->get('plugin.manager.layout_builder.section_storage')
     );
   }
 
@@ -198,18 +188,8 @@ public function handlePreSave(EntityInterface $entity) {
         $new_revision = TRUE;
       }
 
-      $section_storage = $this->getSectionStorageForEntity($entity);
       foreach ($this->getInlineBlockComponents($sections) as $component) {
-        if ($section_storage instanceof TranslatableSectionStorageInterface && !$section_storage->isDefaultTranslation()) {
-          $translated_component_configuration = $section_storage->getTranslatedComponentConfiguration($component->getUuid());
-          if (isset($translated_component_configuration['block_serialized'])) {
-            $this->saveTranslatedInlineBlock($entity, $component->getUuid(), $translated_component_configuration, $new_revision);
-          }
-
-        }
-        else {
-          $this->saveInlineBlockComponent($entity, $component, $new_revision, $duplicate_blocks);
-        }
+        $this->saveInlineBlockComponent($entity, $component, $new_revision, $duplicate_blocks);
       }
     }
     $this->removeUnusedForEntityOnSave($entity);
@@ -301,30 +281,4 @@ protected function saveInlineBlockComponent(EntityInterface $entity, SectionComp
     $component->setConfiguration($post_save_configuration);
   }
 
-  /**
-   * Saves a translated inline block.
-   *
-   * @param \Drupal\Core\Entity\EntityInterface $entity
-   *   The entity with the layout.
-   * @param string $component_uuid
-   *   The component UUID.
-   * @param array $translated_component_configuration
-   *   The translated component configuration.
-   * @param bool $new_revision
-   *   Whether a new revision of the block should be created.
-   */
-  protected function saveTranslatedInlineBlock($entity, $component_uuid, $translated_component_configuration, $new_revision) {
-    /** @var \Drupal\block_content\BlockContentInterface $block */
-    $block = unserialize($translated_component_configuration['block_serialized']);
-    /** @var \Drupal\layout_builder\Plugin\Block\InlineBlock $plugin */
-    $plugin = $this->blockManager->createInstance('inline_block:' . $block->bundle(), $translated_component_configuration);
-    $plugin->saveBlockContent($new_revision);
-    $configuration = $plugin->getConfiguration();
-    unset($translated_component_configuration['block_serialized']);
-    $translated_component_configuration['block_revision_id'] = $configuration['block_revision_id'];
-    /** @var \Drupal\layout_builder\TranslatableSectionStorageInterface $section_storage */
-    $section_storage = $this->getSectionStorageForEntity($entity);
-    $section_storage->setTranslatedComponentConfiguration($component_uuid, $translated_component_configuration);
-  }
-
 }
diff --git a/core/modules/layout_builder/src/Plugin/Block/InlineBlock.php b/core/modules/layout_builder/src/Plugin/Block/InlineBlock.php
index 7c05656750..44157c427b 100644
--- a/core/modules/layout_builder/src/Plugin/Block/InlineBlock.php
+++ b/core/modules/layout_builder/src/Plugin/Block/InlineBlock.php
@@ -9,7 +9,6 @@
 use Drupal\Core\Block\BlockBase;
 use Drupal\Core\Entity\Entity\EntityFormDisplay;
 use Drupal\Core\Entity\EntityDisplayRepositoryInterface;
-use Drupal\Core\Entity\EntityRepositoryInterface;
 use Drupal\Core\Entity\EntityTypeManagerInterface;
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\Form\SubformStateInterface;
@@ -27,7 +26,7 @@
  *  category = @Translation("Inline blocks"),
  *  deriver = "Drupal\layout_builder\Plugin\Derivative\InlineBlockDeriver",
  *  forms = {
- *     "layout_builder_translation" = "\Drupal\layout_builder\Form\InlineBlockTranslationForm",
+ *     "layout_builder_translation" = "\Drupal\layout_builder\Plugin\Block\InlineBlockTranslationForm",
  *   },
  * )
  *
@@ -66,13 +65,6 @@ class InlineBlock extends BlockBase implements ContainerFactoryPluginInterface,
    */
   protected $isNew = TRUE;
 
-  /**
-   * The entity repository.
-   *
-   * @var \Drupal\Core\Entity\EntityRepositoryInterface
-   */
-  protected $entityRepository;
-
   /**
    * Constructs a new InlineBlock.
    *
@@ -86,10 +78,8 @@ class InlineBlock extends BlockBase implements ContainerFactoryPluginInterface,
    *   The entity type manager service.
    * @param \Drupal\Core\Entity\EntityDisplayRepositoryInterface $entity_display_repository
    *   The entity display repository.
-   * @param \Drupal\Core\Entity\EntityRepositoryInterface $entity_repository
-   *   The entity repository.
    */
-  public function __construct(array $configuration, $plugin_id, $plugin_definition, EntityTypeManagerInterface $entity_type_manager, EntityDisplayRepositoryInterface $entity_display_repository, EntityRepositoryInterface $entity_repository) {
+  public function __construct(array $configuration, $plugin_id, $plugin_definition, EntityTypeManagerInterface $entity_type_manager, EntityDisplayRepositoryInterface $entity_display_repository) {
     parent::__construct($configuration, $plugin_id, $plugin_definition);
 
     $this->entityTypeManager = $entity_type_manager;
@@ -97,7 +87,6 @@ public function __construct(array $configuration, $plugin_id, $plugin_definition
     if (!empty($this->configuration['block_revision_id']) || !empty($this->configuration['block_serialized'])) {
       $this->isNew = FALSE;
     }
-    $this->entityRepository = $entity_repository;
   }
 
   /**
@@ -109,8 +98,7 @@ public static function create(ContainerInterface $container, array $configuratio
       $plugin_id,
       $plugin_definition,
       $container->get('entity_type.manager'),
-      $container->get('entity_display.repository'),
-      $container->get('entity.repository')
+      $container->get('entity_display.repository')
     );
   }
 
@@ -238,7 +226,6 @@ protected function getEntity() {
       }
       elseif (!empty($this->configuration['block_revision_id'])) {
         $entity = $this->entityTypeManager->getStorage('block_content')->loadRevision($this->configuration['block_revision_id']);
-        $entity = $this->entityRepository->getActive('block_content', $entity->id());
         $this->blockContent = $entity;
       }
       else {
diff --git a/core/modules/layout_builder/src/Form/InlineBlockTranslationForm.php b/core/modules/layout_builder/src/Plugin/Block/InlineBlockTranslationForm.php
similarity index 78%
rename from core/modules/layout_builder/src/Form/InlineBlockTranslationForm.php
rename to core/modules/layout_builder/src/Plugin/Block/InlineBlockTranslationForm.php
index cff79484bf..7e4fb66965 100644
--- a/core/modules/layout_builder/src/Form/InlineBlockTranslationForm.php
+++ b/core/modules/layout_builder/src/Plugin/Block/InlineBlockTranslationForm.php
@@ -1,17 +1,17 @@
 <?php
 
-namespace Drupal\layout_builder\Form;
+namespace Drupal\layout_builder\Plugin\Block;
 
 use Drupal\Component\Utility\NestedArray;
 use Drupal\Core\Entity\Entity\EntityFormDisplay;
-use Drupal\Core\Entity\EntityRepositoryInterface;
 use Drupal\Core\Entity\EntityTypeManagerInterface;
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\Form\SubformStateInterface;
+use Drupal\layout_builder\Form\BlockPluginTranslationForm;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
- * Provides a Layout Builder inline block translation form.
+ * Provides a Layout Builder inline block translation form..
  */
 class InlineBlockTranslationForm extends BlockPluginTranslationForm {
 
@@ -22,6 +22,7 @@ class InlineBlockTranslationForm extends BlockPluginTranslationForm {
    */
   protected $plugin;
 
+
   /**
    * The block content entity.
    *
@@ -36,13 +37,6 @@ class InlineBlockTranslationForm extends BlockPluginTranslationForm {
    */
   protected $entityTypeManager;
 
-  /**
-   * The entity repository.
-   *
-   * @var \Drupal\Core\Entity\EntityRepositoryInterface
-   */
-  protected $entityRepository;
-
   /**
    * InlineBlockTranslationForm constructor.
    *
@@ -50,13 +44,10 @@ class InlineBlockTranslationForm extends BlockPluginTranslationForm {
    *   The current language code.
    * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
    *   The entity type manager.
-   * @param \Drupal\Core\Entity\EntityRepositoryInterface $entity_repository
-   *   The entity repository.
    */
-  public function __construct($current_langcode, EntityTypeManagerInterface $entity_type_manager, EntityRepositoryInterface $entity_repository) {
+  public function __construct($current_langcode, EntityTypeManagerInterface $entity_type_manager) {
     parent::__construct($current_langcode);
     $this->entityTypeManager = $entity_type_manager;
-    $this->entityRepository = $entity_repository;
   }
 
   /**
@@ -65,8 +56,7 @@ public function __construct($current_langcode, EntityTypeManagerInterface $entit
   public static function create(ContainerInterface $container) {
     return new static(
       $container->get('language_manager')->getCurrentLanguage()->getId(),
-      $container->get('entity_type.manager'),
-      $container->get('entity.repository')
+      $container->get('entity_type.manager')
     );
   }
 
@@ -74,19 +64,6 @@ public static function create(ContainerInterface $container) {
    * {@inheritdoc}
    */
   protected function getEntity() {
-    if (!empty($this->translatedConfiguration)) {
-      if (!empty($this->translatedConfiguration['block_serialized'])) {
-        return unserialize($this->translatedConfiguration['block_serialized']);
-      }
-      elseif (!empty($this->translatedConfiguration['block_revision_id'])) {
-        /** @var \Drupal\block_content\BlockContentInterface $entity */
-        $entity = $this->entityTypeManager->getStorage('block_content')->loadRevision($this->translatedConfiguration['block_revision_id']);
-        $entity = $this->entityRepository->getActive('block_content', $entity->id());
-        if ($entity->hasTranslation($this->currentLangcode)) {
-          return $entity->getTranslation($this->currentLangcode);
-        }
-      }
-    }
     $configuration = $this->plugin->getConfiguration();
     if (!empty($configuration['block_serialized'])) {
       return unserialize($configuration['block_serialized']);
@@ -94,7 +71,6 @@ protected function getEntity() {
     elseif (!empty($configuration['block_revision_id'])) {
       /** @var \Drupal\block_content\BlockContentInterface $entity */
       $entity = $this->entityTypeManager->getStorage('block_content')->loadRevision($configuration['block_revision_id']);
-      $entity = $this->entityRepository->getActive('block_content', $entity->id());
       if ($entity->hasTranslation($this->currentLangcode)) {
         return $entity->getTranslation($this->currentLangcode);
       }
@@ -183,8 +159,9 @@ public function submitConfigurationForm(array &$form, FormStateInterface $form_s
       $complete_form_state = $form_state instanceof SubformStateInterface ? $form_state->getCompleteFormState() : $form_state;
       $form_display->extractFormValues($block, $block_form, $complete_form_state);
 
-      $form_state->setValue('block_serialized', serialize($block));
-      $form_state->unsetValue('block_form');
+      $configuration = $this->plugin->getConfiguration();
+      $configuration['block_serialized'] = serialize($block);
+      $this->plugin->setConfiguration($configuration);
     }
   }
 
diff --git a/core/modules/layout_builder/src/Plugin/Field/FieldType/LayoutTranslationItem.php b/core/modules/layout_builder/src/Plugin/Field/FieldType/LayoutTranslationItem.php
index 08f14e7532..8691ff17d4 100644
--- a/core/modules/layout_builder/src/Plugin/Field/FieldType/LayoutTranslationItem.php
+++ b/core/modules/layout_builder/src/Plugin/Field/FieldType/LayoutTranslationItem.php
@@ -2,10 +2,12 @@
 
 namespace Drupal\layout_builder\Plugin\Field\FieldType;
 
+use Drupal\Core\Field\FieldDefinitionInterface;
 use Drupal\Core\Field\FieldItemBase;
 use Drupal\Core\Field\FieldStorageDefinitionInterface;
 use Drupal\Core\StringTranslation\TranslatableMarkup;
 use Drupal\Core\TypedData\DataDefinition;
+use Drupal\layout_builder\Section;
 
 /**
  * Plugin implementation of the 'layout_section' field type.
@@ -62,5 +64,4 @@ public static function schema(FieldStorageDefinitionInterface $field_definition)
 
     return $schema;
   }
-
 }
diff --git a/core/modules/layout_builder/src/Plugin/Field/FieldWidget/LayoutBuilderWidget.php b/core/modules/layout_builder/src/Plugin/Field/FieldWidget/LayoutBuilderWidget.php
index 18b8046e1e..6bd40f7809 100644
--- a/core/modules/layout_builder/src/Plugin/Field/FieldWidget/LayoutBuilderWidget.php
+++ b/core/modules/layout_builder/src/Plugin/Field/FieldWidget/LayoutBuilderWidget.php
@@ -5,8 +5,6 @@
 use Drupal\Core\Field\FieldItemListInterface;
 use Drupal\Core\Field\WidgetBase;
 use Drupal\Core\Form\FormStateInterface;
-use Drupal\layout_builder\Plugin\SectionStorage\OverridesSectionStorage;
-use Drupal\layout_builder\TranslatableSectionStorageInterface;
 
 /**
  * A widget to display the layout form.
@@ -17,7 +15,6 @@
  *   description = @Translation("A field widget for Layout Builder."),
  *   field_types = {
  *     "layout_section",
- *     "layout_translation"
  *   },
  *   multiple_values = TRUE,
  * )
@@ -49,19 +46,8 @@ public function extractFormValues(FieldItemListInterface $items, array $form, Fo
     if (!$form_state->isValidationComplete()) {
       return;
     }
-    $field_name = $this->fieldDefinition->getName();
-    $section_storage = $this->getSectionStorage($form_state);
-    if ($field_name === OverridesSectionStorage::FIELD_NAME) {
-      $items->setValue($section_storage->getSections());
-    }
-    elseif ($field_name === OverridesSectionStorage::TRANSLATED_CONFIGURATION_FIELD_NAME && $section_storage instanceof TranslatableSectionStorageInterface) {
-      // The translated configuration is stored in single value field because it
-      // stores configuration for components in all sections.
-      $items->set(0, $section_storage->getTranslatedConfiguration());
-    }
-    else {
-      throw new \LogicException("Widget used with unexpected field, $field_name for section storage: " . $section_storage->getStorageType());
-    }
+
+    $items->setValue($this->getSectionStorage($form_state)->getSections());
   }
 
   /**
diff --git a/core/modules/layout_builder/src/TranslatableSectionStorageInterface.php b/core/modules/layout_builder/src/TranslatableSectionStorageInterface.php
index eaf3bae7b0..c7a0edc155 100644
--- a/core/modules/layout_builder/src/TranslatableSectionStorageInterface.php
+++ b/core/modules/layout_builder/src/TranslatableSectionStorageInterface.php
@@ -32,9 +32,7 @@ public function isDefaultTranslation();
    * Sets the translated component configuration.
    *
    * @param string $uuid
-   *   The component UUID.
    * @param array $configuration
-   *   The component's translated configuration.
    */
   public function setTranslatedComponentConfiguration($uuid, array $configuration);
 
@@ -42,10 +40,9 @@ public function setTranslatedComponentConfiguration($uuid, array $configuration)
    * Gets the translated component configuration.
    *
    * @param string $uuid
-   *   The component UUID.
    *
    * @return array
-   *   The component's translated configuration.
+   *   The component configuration.
    */
   public function getTranslatedComponentConfiguration($uuid);
 
@@ -53,7 +50,6 @@ public function getTranslatedComponentConfiguration($uuid);
    * Get the translated configuration for the layout.
    *
    * @return array
-   *   The translated configuration for the layout.
    */
   public function getTranslatedConfiguration();
 
diff --git a/core/modules/layout_builder/tests/src/Functional/LayoutBuilderTranslationTest.php b/core/modules/layout_builder/tests/src/Functional/LayoutBuilderTranslationTest.php
index 30466f3e0a..3d9a18279e 100644
--- a/core/modules/layout_builder/tests/src/Functional/LayoutBuilderTranslationTest.php
+++ b/core/modules/layout_builder/tests/src/Functional/LayoutBuilderTranslationTest.php
@@ -112,15 +112,18 @@ public function testLayoutPerTranslation() {
 
   }
 
+
   /**
    * Tests that access is denied to a layout translation if there is override.
    */
   public function testLayoutTranslationNoOverride() {
     $assert_session = $this->assertSession();
+    $page = $this->getSession()->getPage();
 
     $entity_url = $this->entity->toUrl('canonical')->toString();
     $language = \Drupal::languageManager()->getLanguage($this->langcodes[2]);
     $translated_entity_url = $this->entity->toUrl('canonical', ['language' => $language])->toString();
+    $layout_url = $entity_url . '/layout';
     $translated_layout_url = $translated_entity_url . '/layout';
 
     $this->drupalGet($entity_url);
diff --git a/core/modules/layout_builder/tests/src/FunctionalJavascript/InlineBlockTranslationTest.php b/core/modules/layout_builder/tests/src/FunctionalJavascript/InlineBlockTranslationTest.php
index 5aefad604e..7188e44577 100644
--- a/core/modules/layout_builder/tests/src/FunctionalJavascript/InlineBlockTranslationTest.php
+++ b/core/modules/layout_builder/tests/src/FunctionalJavascript/InlineBlockTranslationTest.php
@@ -42,6 +42,7 @@ protected function setUp() {
    */
   public function testInlineBlockContentTranslation() {
     $assert_session = $this->assertSession();
+    $page = $this->getSession()->getPage();
 
     $this->drupalLogin($this->drupalCreateUser([
       'access contextual links',
@@ -71,7 +72,6 @@ public function testInlineBlockContentTranslation() {
     $this->drupalGet('node/1');
     $assert_session->pageTextContains('Block en label');
     $assert_session->pageTextContains('Block en body');
-    $block_id = $this->getLatestBlockEntityId();
 
     // Create a translation.
     $add_translation_url = Url::fromRoute("entity.node.content_translation_add", [
@@ -96,11 +96,6 @@ public function testInlineBlockContentTranslation() {
     );
 
     $this->assertSaveLayout();
-    $this->assertEquals($block_id, $this->getLatestBlockEntityId(), 'A new block was not created.');
-    $this->blockStorage->resetCache([$block_id]);
-    /** @var \Drupal\block_content\BlockContentInterface $block */
-    $block = $this->blockStorage->load($block_id);
-    $this->assertFalse($block->hasTranslation('it'), 'A block translation was not created when only the label was translatable.');
 
     // Enable translation for block_content type 'bundle_with_section_field'.
     \Drupal::service('content_translation.manager')->setEnabled('block_content', 'basic', TRUE);
@@ -109,130 +104,38 @@ public function testInlineBlockContentTranslation() {
     $this->drupalGet('it/node/1/layout');
     $this->assertNonTranslationActionsRemoved();
 
-    $this->updateTranslatedBlock('Block it label', 'Block en body', 'Block updated it label', 'Block it body');
+    $this->clickContextualLink(static::INLINE_BLOCK_LOCATOR, 'Translate block');
+    $textarea = $assert_session->waitForElement('css', '[name="settings[block_form][body][0][value]"]');
+    $this->assertNotEmpty($textarea);
+    $this->assertEquals('Block en body', $textarea->getValue());
+    $textarea->setValue('Block it body');
 
-    $this->assertEquals($block_id, $this->getLatestBlockEntityId(), 'A new block was not created.');
-    $this->blockStorage->resetCache([$block_id]);
-    /** @var \Drupal\block_content\BlockContentInterface $block */
-    $block = $this->blockStorage->load($block_id);
-    $this->assertFalse($block->hasTranslation('it'), 'A block translation was not created before the layout was saved.');
+    $label_input = $assert_session->elementExists('css', '#drupal-off-canvas [name="settings[translated_label]"]');
+    $this->assertNotEmpty($label_input);
+    $this->assertEquals('Block it label', $label_input->getValue());
+    $label_input->setValue('Block Updated it label');
+    $page->pressButton('Translate');
 
-    $this->assertSaveLayout();
-    $this->assertEquals($block_id, $this->getLatestBlockEntityId(), 'A new block was not created');
-    $this->blockStorage->resetCache([$block_id]);
-    /** @var \Drupal\block_content\BlockContentInterface $block */
-    $block = $this->blockStorage->load($block_id);
-    $this->assertTrue($block->hasTranslation('it'), 'A block translation was created when the layout was saved.');
-    $block_translation = $block->getTranslation('it');
-    $this->assertEquals('Block it body', $block_translation->get('body')->get(0)->getValue()['value'], 'The translated block body field was created correctly.');
+    $this->assertNoElementAfterWait('#drupal-off-canvas');
+    $assert_session->assertWaitOnAjaxRequest();
 
-    $assert_session->addressEquals('it/node/1');
     $assert_session->pageTextContains('Block it body');
-    $assert_session->pageTextContains('Block updated it label');
+    $assert_session->pageTextContains('Block Updated it label');
     $assert_session->pageTextNotContains('Block en body');
     $assert_session->pageTextNotContains('Block en label');
-
-    // Confirm that the default translation was not effected.
-    $this->drupalGet('node/1');
-    $assert_session->pageTextNotContains('Block it body');
-    $assert_session->pageTextNotContains('Block updated it label');
-    $assert_session->pageTextContains('Block en body');
-    $assert_session->pageTextContains('Block en label');
-
-    // Update the translation inline block again.
-    $this->drupalGet('it/node/1/layout');
-    $this->updateTranslatedBlock('Block updated it label', 'Block it body', 'Block newer updated it label', 'Block updated it body');
     $this->assertSaveLayout();
 
-    $this->assertEquals($block_id, $this->getLatestBlockEntityId(), 'A new block was not created.');
-    $this->blockStorage->resetCache([$block_id]);
-    $block = $this->blockStorage->load($block_id);
-    $block_translation = $block->getTranslation('it');
-    $this->assertEquals('Block updated it body', $block_translation->get('body')->get(0)->getValue()['value'], 'The translated block body field was created correctly.');
-
     $assert_session->addressEquals('it/node/1');
-    $assert_session->pageTextContains('Block updated it body');
-    $assert_session->pageTextContains('Block newer updated it label');
+    $assert_session->pageTextContains('Block it body');
+    $assert_session->pageTextContains('Block Updated it label');
     $assert_session->pageTextNotContains('Block en body');
     $assert_session->pageTextNotContains('Block en label');
 
-    // Confirm that the default translation was not effected.
     $this->drupalGet('node/1');
-    $assert_session->pageTextNotContains('Block updated it body');
-    $assert_session->pageTextNotContains('Block newer updated it label');
+    $assert_session->pageTextNotContains('Block it body');
+    $assert_session->pageTextNotContains('Block Updated it label');
     $assert_session->pageTextContains('Block en body');
     $assert_session->pageTextContains('Block en label');
-
-    // Update the default translation's version of the block.
-    $this->drupalGet('node/1/layout');
-    $this->configureInlineBlock('Block en body', 'Block updated en body');
-    $this->assertSaveLayout();
-
-    $assert_session->addressEquals('node/1');
-    $assert_session->pageTextNotContains('Block updated it body');
-    $assert_session->pageTextNotContains('Block newer updated it label');
-    $assert_session->pageTextContains('Block updated en body');
-    $assert_session->pageTextContains('Block en label');
-
-    // Confirm that the translation was not effected.
-    $this->drupalGet('it/node/1');
-    $assert_session->pageTextContains('Block updated it body');
-    $assert_session->pageTextContains('Block newer updated it label');
-    $assert_session->pageTextNotContains('Block updated en body');
-    $assert_session->pageTextNotContains('Block en label');
-
-    // Update the translation block after updating default translation block.
-    $this->drupalGet('it/node/1/layout');
-    $this->updateTranslatedBlock('Block newer updated it label', 'Block updated it body', 'Block even newer updated it label', 'Block newer updated it body');
-    $this->assertSaveLayout();
-
-    $assert_session->addressEquals('it/node/1');
-    $assert_session->pageTextContains('Block newer updated it body');
-    $assert_session->pageTextContains('Block even newer updated it label');
-    $assert_session->pageTextNotContains('Block updated en body');
-    $assert_session->pageTextNotContains('Block en label');
-
-    $this->drupalGet('node/1');
-    $assert_session->pageTextNotContains('Block newer updated it body');
-    $assert_session->pageTextNotContains('Block even newer updated it label');
-    $assert_session->pageTextContains('Block updated en body');
-    $assert_session->pageTextContains('Block en label');
-  }
-
-  /**
-   * Update a translation inline block.
-   *
-   * @param string $existing_label
-   *   The inline block's existing label.
-   * @param string $existing_body
-   *   The inline block's existing body field value.
-   * @param string $new_label
-   *   The new label.
-   * @param string $new_body
-   *   The new body field value.
-   */
-  protected function updateTranslatedBlock($existing_label, $existing_body, $new_label, $new_body) {
-    $assert_session = $this->assertSession();
-    $page = $this->getSession()->getPage();
-    $this->clickContextualLink(static::INLINE_BLOCK_LOCATOR, 'Translate block');
-    $textarea = $assert_session->waitForElement('css', '[name="settings[block_form][body][0][value]"]');
-    $this->assertNotEmpty($textarea);
-    $this->assertEquals($existing_body, $textarea->getValue());
-    $textarea->setValue($new_body);
-
-    $label_input = $assert_session->elementExists('css', '#drupal-off-canvas [name="settings[label]"]');
-    $this->assertNotEmpty($label_input);
-    $this->assertEquals($existing_label, $label_input->getValue());
-    $label_input->setValue($new_label);
-    $page->pressButton('Translate');
-
-    $this->assertNoElementAfterWait('#drupal-off-canvas');
-    $assert_session->assertWaitOnAjaxRequest();
-
-    $assert_session->pageTextContains($new_label);
-    $assert_session->pageTextContains($new_label);
-    $assert_session->pageTextNotContains($existing_label);
-    $assert_session->pageTextNotContains($existing_body);
   }
 
 }
diff --git a/core/modules/layout_builder/tests/src/FunctionalJavascript/JavascriptTranslationTestTrait.php b/core/modules/layout_builder/tests/src/FunctionalJavascript/JavascriptTranslationTestTrait.php
index 0b2e054e7f..639e90a2a4 100644
--- a/core/modules/layout_builder/tests/src/FunctionalJavascript/JavascriptTranslationTestTrait.php
+++ b/core/modules/layout_builder/tests/src/FunctionalJavascript/JavascriptTranslationTestTrait.php
@@ -3,7 +3,7 @@
 namespace Drupal\Tests\layout_builder\FunctionalJavascript;
 
 /**
- * Common functions for testing Layout Builder with translations.
+ * Common functions for test Layout Builder with translations.
  */
 trait JavascriptTranslationTestTrait {
 
