Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: GoogleTag Manager 2.0.3 Minor update available for module gtm (2.0.3). Release: User Reference with Invite 1.4.1 Minor update available for module user_reference_invite (1.4.1). Release: General Data Protection Regulation Compliance 2.0.2 Minor update available for module gdpr_compliance (2.0.2). Release: Contact Mail 2.0.5 Minor update available for module contact_mail (2.0.5). Release: Contact ajax 3.0.3 Minor update available for module contact_ajax (3.0.3). Release: Commerce ML Starter 2.0.3 Minor update available for module cmlstarter (2.0.3). Release: Commerce ML Migrations 2.0.3 Minor update available for module cmlmigrations (2.0.3). Release: Commerce ML Exchange 2.0.3 Minor update available for module cmlexchange (2.0.3). Usage Milestone: Term CSV Export Import Module term_csv_export_import crossed 1,000 active installs. Module Revived: Prototype: Select 1.2.2 Module prototype_select updated after 10 months of inactivity (1.2.2).

Recipe config translation

29 sites No security coverage Drupal 10–11

Part of the Recipe ecosystem · 7 projects

View on drupal.org

This module automatically applies per-language configuration overrides when a Drupal recipe is applied. It allows translated configuration values to be included directly within a recipe, ensuring they are correctly applied on fresh installs, during recipe updates, and through various installation methods.

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.

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

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

Releases

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