This module provides a way to retrieve configuration values in a specific language, falling back to the original language if a translation is not available. This ensures you get complete configuration sets for your localized sites.
Provides a helper to get one translated and complete configuration set on a localized configuration set.
This module is necessary as long as Drupal Core does not provide a way to get one complete dataset of configuration in a specified language, while all keys that are not translated remain original. Triggering issues were #2993984: Translated Config Override should default to original language values if there are no translations and more recently #3502608: Add a core helper method (or parameter) to get configuration values in a different language.
How does it work?
You just call the service to get your localized configuration:
\Drupal::service('translated_config.helper')->getTranslatedConfig('system.site','de')->get('name');
You will get the translated site name in your specified language. Leave the language empty, and it automatically takes the current language (\Drupal::languageManager()->getCurrentLanguage()->getId()).
Get your entire configuration array by leaving the last key empty:
\Drupal::service('translated_config.helper')->getTranslatedConfig('system.site')->get();
You will recieve your entire configuration, with those values that have a translation automatically included.
Example
System Language: English (en). Current Language: German (de).
Basic configuration file my_module.settings.yml:
some_label: 'This is a test'
some_ckeditor_text_field:
value: "<p>This is a long text field</p>"
format: basic_html
Translated file my_module.settings.yml in language/de folder:
some_label: 'Ein deutscher Text'
Get entire configuration set in german:
\Drupal::service('translated_config.helper')->getTranslatedConfig('my_module.settings')->get();
Output (Array) with merged translations, but original keys that have no translation, remain in the collection:
some_label: 'Ein deutscher Text'
some_ckeditor_text_field:
value: "<p>This is a long text field</p>"
format: basic_html
Ask your assistant about Translated Config
Check compatibility with your Drupal and PHP version, maintenance and security coverage, from current release data. How it works
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
Releases
| Version | Type | Core | PHP | Release date | |
|---|---|---|---|---|---|
| 2.0.0 | Stable | 8–11 | Jan 6, 2025 |