locale_system_set_config_langcodes()
Updates default configuration when new modules or themes are installed.
function locale_system_set_config_langcodes() { // Need to rewrite some default configuration language codes if the default // site language is not English. $default_langcode = \Drupal::languageManager()->getDefaultLanguage()->getId(); if ($default_langcode != 'en') { // Update active configuration copies of all prior shipped configuration if // they are still English. It is not enough to change configuration shipped // with the components just installed, because installing a component such // as views or tour module may bring in default configuration from prior // components. $names = Locale::config()->getComponentNames(); foreach ($names as $name) { $config = \Drupal::configFactory()->reset($name)->getEditable($name); // Should only update if still exists in active configuration. If locale // module is enabled later, then some configuration may not exist anymore. if (!$config->isNew()) { $langcode = $config->get('langcode'); if (empty($langcode) || $langcode == 'en') { $config->set('langcode', $default_langcode)->save(); } } } } }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!modules!locale!locale.module/function/locale_system_set_config_langcodes/8.1.x