Domain Config Language UI¶
The Domain Config Language UI module adds the language-aware UI features on top of Domain Config UI. It relies on Domain Config Language for the underlying override services.
Without this submodule, Domain Config UI shows only the per-domain layer of
overrides on its admin pages and does not pull the language module into
your install. Adding this submodule re-introduces the multilingual UI
behavior that 3.0.x sites had built in.
What it adds¶
- A Languages column on the
/admin/config/domain/config-ui/listoverview, listing each language that has its own override for a given (domain, configuration) pair. - Automatic cleanup of per-language overrides when their base override is
deleted from the UI. This used to be handled by an inline loop in
Drupal\domain_config_ui\Config\DomainConfigFactory; it now runs through an event subscriber onDrupal\domain_config\Config\DomainConfigOverrideEvents::DELETE_OVERRIDEso that the base UI module stays free of any language-module dependency. - A
language_managerdecorator (Drupal\domain_config_language_ui\DomainConfigUILanguageManager) that resolves language overrides through the per-domain UI factory at runtime, for the admin "edit configuration as if you were on this domain" flows. - The
translate domain configurationpermission, which gates the language-aware translation flow on per-domain configuration forms. - A
hook_form_alter()implementation that, when a config-translation form (Drupal\config_translation\Form\ConfigTranslationFormBase) is rendered on a domain-active page, attaches a validator gated by thetranslate domain configurationpermission. - A
hook_domain_config_ui_disallowed_configurations_alter()implementation that addslanguage.typesto the disallow list, so the language-types config (interface vs. content language) cannot be marked overridable per-domain from the UI.
When to enable it¶
- You have Domain Config UI enabled, and
- You have the
languagemodule enabled, and - You want the admin UI to surface and manage per-language domain overrides.
Existing 3.x sites upgrade transparently: the
domain_config_ui_update_10002() hook auto-installs this submodule when
the language module is already enabled.
Extension point¶
The "Languages" column is implemented through the
hook_domain_config_ui_overview_alter() hook introduced alongside the
module split. Any other module can add its own column to the overview page
by implementing this hook — see
docs/domain_config_ui/index.md and
web/modules/contrib/domain/domain_config_ui/domain_config_ui.api.php.