Drupal is a registered trademark of Dries Buytaert
Release: Leaflet 10.4.11 Minor update available for module leaflet (10.4.11). Release: Session Inspector 1.0.8 Minor update available for module session_inspector (1.0.8). Release: Migrate QA 2.0.4 Minor update available for module migrate_qa (2.0.4). Release: CKEditor Description List 3.0.0 Major update available for module ckeditor_descriptionlist (3.0.0). Release: FlowDrop 2.4.0 Minor update available for module flowdrop (2.4.0). Release: JWT Token Refresh 1.0.4 Minor update available for module jwt_token_refresh (1.0.4). Release: ConReg 1.0.0-beta1 First beta version released for module conreg (1.0.0-beta1). Release: AI Image Studio 1.0.0-beta8 New beta version released for module ai_image_studio (1.0.0-beta8). Usage Milestone: Role Theme Switcher Module role_theme_switcher crossed 1,000 active installs. Module Revived: Decoupled Router 2.0.7 Module decoupled_router updated after 11 months of inactivity (2.0.7).

This module automatically copies the layout from a source language entity to a newly created translation. It populates new translations with sections, components, and inline blocks from the source, giving editors a pre-built layout to customize. This saves editors from having to rebuild layouts from scratch for every translation.

Automatically populates the Layout Builder layout of a newly created translation from a source language. Editors get a starting layout to customize instead of building each translation from scratch.

When you create a new translation of a Layout Builder–enabled entity (such as a node), this module copies the source language's sections, components, and inline blocks into the new translation. After the initial seed, each translation lives independently — you continue editing per-translation layouts with Layout Builder Asymmetric Translations. The module fills the gap between "create translation" and "have a layout ready to edit," eliminating the manual rebuild step.

Features

  • Automatic seeding on translation create via hook_entity_presave. No editor opt-in checkbox required — if a matching rule exists, the layout is copied during the translation's first save.
  • Configurable rules per source → target language pair. Filter by entity type and bundle. Multiple rules can coexist (for example en → en-us, en → en-gb, fr → fr-ca on the same site).
  • Component UUID regeneration — every cloned component receives a freshly generated UUID so it remains independent of the source.
  • Inline-block deep-cloningblock_content entities referenced by inline_block:* components are duplicated and the cloned component is rewired to the duplicate, so editing inline content in the translation does not bleed back into the source.
  • Manual reseed action — a "Reseed layout from <source>" button appears on the destination translation's edit form (permission-gated), letting editors re-baseline a translation from the latest source layout when needed.
  • Configurable per-rule — toggle UUID regeneration and inline-block cloning, enable/disable rules without deleting them.

Use cases

  • Regional variants of a primary language (en → en-us, en → en-gb, en → en-au).
  • Multilingual sites where translated layouts should start from the source language but evolve independently.
  • Refreshing a stale translation layout after major changes to the source.

Post-Installation

  1. Install and enable layout_builder_at (hard dependency — provides the asymmetric storage this module seeds into).
  2. Enable Layout Builder with overrides on each bundle's default display where you want translatable layouts.
  3. With layout_builder_at enabled, the Layout field becomes configurable in the standard content-language settings UI. Go to Configuration → Regional & language → Content language and translation (/admin/config/regional/content-language), expand the relevant bundle, tick the Layout checkbox under "Fields to translate," and save.
  4. Visit Configuration → Regional & language → Layout Builder Translation Seed (/admin/config/regional/lb-translation-seed).
  5. Click Add seeding rule and define a source language, target language, entity type, and (optionally) one or more bundles.
  6. Create or translate a node in the configured target language — the layout is populated automatically.

Two permissions ship with the module: administer lb translation seed (manage rules) and reseed layout from source translation (use the manual reseed button).

Additional Requirements

  • Drupal 11.1+ (uses OOP hook implementations via the #[Hook] attribute)
  • Layout Builder (core)
  • Content Translation (core)
  • Language (core)
  • Layout Builder Asymmetric Translations (layout_builder_at, contrib) — hard dependency

Without layout_builder_at and the bundle-level field-translatability step above, all translations share one stored layout and seeding has no observable effect.

Similar projects

  • Layout Builder Asymmetric Translations (layout_builder_at) — provides the per-translation layout storage this module depends on. Includes an opt-in "Copy blocks into translation" checkbox widget, but on save it copies only the section structure with all components stripped. This module instead copies the full layout (sections + components + inline blocks) automatically.
  • Layout Builder Symmetric Translations (layout_builder_st) — keeps one layout shared across all translations. Use this if you want translated content (titles, body) but a single shared layout. This module is the opposite design: each translation gets its own layout, seeded from the source on creation.
  • Entity Clone (entity_clone) — clones whole entities, not translations of a single entity. Different problem space.

Supporting this Module

Issues and feature requests are tracked in the module issue queue. Patches and merge requests are welcome.

Community Documentation

The module's README in the Git repository contains additional technical notes (test commands, internal architecture, limitations).

Activity

Tracked releases
2
Tracked since
May 2026
Latest release
3 months ago
Releases (12 mo)
2 ▲ from 0
Maintenance
Active

Releases

Version Type Release date
1.0.0-alpha2 Pre-release May 20, 2026
1.0.0-alpha1 Pre-release May 20, 2026