function language_negotiation_url_prefixes_update in Drupal 8
Same name and namespace in other branches
- 9 core/modules/language/language.module \language_negotiation_url_prefixes_update()
- 10 core/modules/language/language.module \language_negotiation_url_prefixes_update()
Update the list of prefixes from the installed languages.
1 call to language_negotiation_url_prefixes_update()
- ConfigurableLanguage::postSave in core/modules/ language/ src/ Entity/ ConfigurableLanguage.php 
- Acts on a saved entity before the insert or update hook is invoked.
File
- core/modules/ language/ language.module, line 286 
- Add language handling functionality to Drupal.
Code
function language_negotiation_url_prefixes_update() {
  $config = \Drupal::configFactory()
    ->getEditable('language.negotiation');
  $prefixes = $config
    ->get('url.prefixes');
  foreach (\Drupal::languageManager()
    ->getLanguages() as $language) {
    // The prefix for this language should be updated if it's not assigned yet
    // or the prefix is set to the empty string.
    if (empty($prefixes[$language
      ->getId()])) {
      // For the default language, set the prefix to the empty string,
      // otherwise use the langcode.
      $prefixes[$language
        ->getId()] = $language
        ->isDefault() ? '' : $language
        ->getId();
    }
    // Otherwise we keep the configured prefix.
  }
  $config
    ->set('url.prefixes', $prefixes)
    ->save(TRUE);
}