Problem/Motivation
The Varbase Internationalization Base recipe enables multilingual support, but a site that wants managed translation workflows (translation jobs, local translators, a translation provider) has to add the Translation Management Tool by hand.
Drupal Canvas page translation needs no extra module: Drupal Canvas 1.10 handles page translation natively (symmetric translation), and Drupal Canvas's only translation submodule, canvas_dev_translation, is a deprecated hidden stub (verified in the codebase). What is missing is the configuration that turns it on for the Drupal Canvas Page entity.
Prior art: #3588171 Canvas Multilingual was committed then reverted and closed as won't fix. This issue supersedes it.
Steps to reproduce
- Install Varbase 11 (Drupal 11.4.5, Drupal Canvas 1.10.1) with the Varbase Starter site template.
- Apply the Varbase Internationalization Base recipe.
- Drupal Canvas pages are not translatable, and the Translation Management Tool is not available in the codebase.
Proposed resolution
- Enable Drupal Canvas page translation through the recipe's two config actions:
language.content_settings.canvas_page.canvas_page(content translation for the Drupal CanvasPageentity) andcore.base_field_override.canvas_page.canvas_page.components(component input values translatable,translatable: truewithtranslation_syncon inputs). - Add the Translation Management Tool to the codebase without enabling it:
composer.jsonrequiresdrupal/tmgmt: ~1. Sites that want translation jobs, local translators or a provider rundrush en tmgmt tmgmt_content tmgmt_config tmgmt_local. - Remove
drupal/canvas_translate. The require block is now exactlydrupal/core: ~11.4.0,drupal/eca: ~3,drupal/tmgmt: ~1. Add the "Drupal Canvas" and "TMGMT" keywords. - No new module is installed by the recipe:
recipe.ymlinstall:is unchanged and no permission grants were added. - Document the addition in
README.mdandCHANGELOG.md(Unreleased).
Merge request: !12
Verified
Two fresh installs through the browser installer on a Varbase 11 DDEV site (Drupal 11.4.5, Drupal Canvas 1.10.1), Varbase Starter site template, recipe applied through the Project Browser UI:
- The recipe enables
language,locale,config_translation,content_translation,eca,eca_language. - Content translation is enabled for
canvas_pagewithcomponentstranslatable. - The Translation Management Tool stayed off: 0 of 9 TMGMT modules enabled, all available in the codebase; enabling them afterwards with drush worked.
- No HTTP 500 in the Drupal Canvas editor on the multilingual site.
Not verified on this scope: page translation through Drupal Canvas's own multilingual support has not been re-tested end to end. The earlier verification run exercised a Drupal Canvas Translate workspace with that module enabled manually; Drupal Canvas Translate is out of scope now, so that run is not evidence for this change.
Remaining tasks
- ✅ File an issue
- ✅ Addition/Change/Update/Fix
- ❌ Testing to ensure no regression
- ➖ Automated unit testing coverage
- ➖ Automated functional testing coverage
- ➖ UX/UI designer responsibilities
- ➖ Readability
- ➖ Accessibility
- ➖ Performance
- ➖ Security
- ✅ Developer Documentation
- ➖ User Guide Documentation
- ❌ Reviewed by human
- ❌ Code review by maintainers
- ❌ Full testing and approval
- ❌ Credit contributors
- ❌ Review with the product owner
- ✅ Release notes snippet
- ✅ Release varbase-11.0.0, varbase_i18n_base-1.0.0-rc2
User interface changes
- Drupal Canvas pages get a Translate tab, and component input values can be translated.
API changes
- N/A
Data model changes
language.content_settings.canvas_page.canvas_pageenables content translation for the Drupal CanvasPageentity.core.base_field_override.canvas_page.canvas_page.componentsmakes the components base field translatable.
Release notes snippet
- Drupal Canvas pages are now translatable through Drupal Canvas's own multilingual support: content translation is enabled for the Drupal Canvas
Pageentity and component input values are translatable. - The Translation Management Tool (
drupal/tmgmt: ~1) is now available in the codebase, not enabled. Enable it withdrush en tmgmt tmgmt_content tmgmt_config tmgmt_localfor translation jobs, local translators or a translation provider.
Issue fork varbase_i18n_base-3618242
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #3
rajab natshahComment #4
rajab natshahComment #6
rajab natshah✅ Released varbase_i18n_base-1.0.0-rc2
Comment #8
rajab natshah