Problem/Motivation
In #3043651: Update the Layout field to non-translatable when possible. and #3041659: Remove the layout tab from translations because Layout Builder does not support translations yet Layout Builder was made to not support translations, because the existing functionality was not complete and broken in some ways. This is a plan/meta issue to flesh out a complete solution to Layout Builder translatability.
Translated layouts could mean 2 different things and could happen on 2 different levels
Layout Translation Types
- Synced-Layout Translations: In this case the actual layouts, the placements of blocks with in sections, would be the same across all languages. The strings of the block labels and the inline blocks(if translatable) would be able to be translated per language.
- Independent Layout Translations: In this case the layouts for each translation would be totally independent. They could have different blocks with different settings and have different sections. There would be no synchronization across translations. This scenario probably more of localization than translation
Translation Levels
- Bundle level defaults: This would be for Layout Defaults configured for each bundle, on the manage display. This could include different layouts for each view mode.
- Layout Overrides: These were be per entity translated layouts
Proposed resolution
Support Synced-Layout Translations on both the Bundle level defaults and Overrides level.
Child Issues
#2946333: Allow synced Layout override Translations: translating labels and inline blocks
#3044993: Allow synced Layout default Translations: translating labels and inline blocks
Both of these issue should allow translating strings and inline blocks in UI that shows the current layout.
Related: #2916876: Add visibility control conditions to blocks within Layout Builder
would allow certain blocks to only appear on certain languages.
Independent Layout Translations: will not currently be support by core.
Remaining tasks
All of them.
User interface changes
Layouts will be translatable if configured like so.
API changes
TBD.
Data model changes
TBD.
Release notes snippet
TBD.