Needs review
Project:
Drupal core
Version:
main
Component:
configuration system
Priority:
Normal
Category:
Task
Assigned:
Unassigned
Issue tags:
Reporter:
Created:
12 Aug 2026 at 04:14 UTC
Updated:
12 Aug 2026 at 07:47 UTC
Jump to comment: Most recent
Comments
Comment #2
mstrelan commentedI had Claude step through this with xdebug attached via Jetbrains MCP. TL;DR we can at least reduce this down to
::rebuildContainerinstead of::rebuildAll().Explaining in my own words:
language.translate_englishis set in the compiled container (viaLocaleServiceProvider::alter())LanguageConfigFactoryOverrideconstructor\Drupal\locale\EventSubscriber\ConfigSubscriber::onConfigSavewhich calls$this->kernel->invalidateContainer(), but that doesn't rebuild the container until the next request.Apparently it only works in main by luck. The container is rebuilt during locale's installation, but locale's config is written later.
LocaleServiceProvider::alter()can't loadlocale.settingsso the parameter sticks with the default value (TRUE).Another approach that doesn't require a container rebuild is to move the
shouldSkipOverridescheck fromLanguageConfigFactoryOverride::getStoragetoLanguageConfigFactoryOverride::loadOverrides. I suspect that will have other impacts though.Comment #5
mstrelan commentedMR !16666 demonstrates that we can swap from ::rebuildAll to ::rebuildContainer, I think we should do this directly in #3614825: Allow additional modules to be installed alongside the profile modules.
MR !16667 tries to solve the root of the problem. It is passing, so maybe we can work with that. Not sure if/how it will affect contrib?
Comment #6
catchThe language module change looks like an overall simplification, but also like it needs config subsystem maintainer review because I also don't really understand what the potential fallout of that might or might not be either.
Comment #7
mstrelan commented