Drupal is a registered trademark of Dries Buytaert
cms 2.1.3 Update released for Drupal core (2.1.3)! drupal 10.5.11 Update released for Drupal core (10.5.11)! drupal 11.3.11 Update released for Drupal core (11.3.11)! drupal 11.2.13 Update released for Drupal core (11.2.13)! drupal 10.6.10 Update released for Drupal core (10.6.10)! cms 2.1.2 Update released for Drupal core (2.1.2)! drupal 11.1.10 Update released for Drupal core (11.1.10)! drupal 10.5.10 Update released for Drupal core (10.5.10)! drupal 10.4.10 Update released for Drupal core (10.4.10)! drupal 11.2.12 Update released for Drupal core (11.2.12)! drupal 11.3.10 Update released for Drupal core (11.3.10)! drupal 10.6.9 Update released for Drupal core (10.6.9)! drupal 10.6.8 Update released for Drupal core (10.6.8)! drupal 11.3.9 Update released for Drupal core (11.3.9)! drupal 11.3.8 Update released for Drupal core (11.3.8)! drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)!

Recipe config translation automatically applies a recipe's
per-language config overrides whenever the recipe is applied; the
multilingual piece that Drupal recipes don't handle yet. Ship translated
config inside your recipe and it lands in the right language automatically,
on every install path.

Drupal recipes can install config, but they do not yet apply language overrides (translated config values), see core issue #3453331.
On a multilingual site that means recipe-provided content like the site name,
labels or settings stays untranslated after applying the recipe. This module
closes that gap with zero configuration.

Features

  • Lets a recipe ship per-language config overrides as plain YAML files
    ({recipe}/config/language/{langcode}/{config_name}.yml),
    each holding only the keys that differ.
  • Applies those overrides automatically on every
    recipe-apply path: fresh install, drush recipe, Package
    Manager and Project Browse, by reacting to core's RecipeAppliedEvent.
  • Scoped to installed languages and idempotent: writing
    only into the matching language.{langcode} override collection, so re-applying a recipe is always safe.

Post-Installation

Just enable the module and it works. Add your translations to the recipe, one file per overridden config object:

{recipe}/config/language/de/system.site.yml
name: 'Mein Name'

The next time that recipe is applied, the override is written into the German
config override collection. To backfill recipes that were already applied,
call the installer service once from an update hook:

Similar projects

Native support is tracked in core issue #3453331; until that lands, this module provides the behavior for recipe authors who need translated config today.

Credits

Initial development by drunomics GmbH.

Activity

Total releases
2
First release
Jun 2026
Latest release
11 hours ago
Release cadence
0 days
Stability
50% stable

Releases

Version Type Release date
1.0.0 Stable Jun 15, 2026
1.x-dev Dev Jun 15, 2026