On this page
function locale_system_set_config_langcodes
locale_system_set_config_langcodes()
Updates default configuration when new modules or themes are installed.
File
- core/modules/locale/locale.module, line 366
- Enables the translation of the user interface to languages other than English.
Code
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