languageManager = $language_manager; $this->languageDefault = $language_default; } /** * Causes the container to be rebuilt on the next request. * * @param ConfigCrudEvent $event * The configuration event. */ public function onConfigSave(ConfigCrudEvent $event) { $saved_config = $event->getConfig(); if ($saved_config->getName() == 'system.site' && $event->isChanged('default_langcode')) { $language = $this->languageManager->getLanguage($saved_config->get('default_langcode')); // During an import the language might not exist yet. if ($language) { $this->languageDefault->set($language); $this->languageManager->reset(); language_negotiation_url_prefixes_update(); } // Trigger a container rebuild on the next request by deleting compiled // from PHP storage. PhpStorageFactory::get('service_container')->deleteAll(); } } /** * {@inheritdoc} */ static function getSubscribedEvents() { $events[ConfigEvents::SAVE][] = array('onConfigSave', 0); return $events; } }