Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. ConfigurableLanguage.php

function ConfigurableLanguage::postSave

Overrides EntityBase::postSave

File

core/modules/language/src/Entity/ConfigurableLanguage.php, line 140

Class

ConfigurableLanguage
Defines the ConfigurableLanguage entity.

Namespace

Drupal\language\Entity

Code

public function postSave(EntityStorageInterface $storage, $update = TRUE) {
    parent::postSave($storage, $update);
    $language_manager = \Drupal::languageManager();
    $language_manager->reset();
    if (!$this->isLocked() && $language_manager instanceof ConfigurableLanguageManagerInterface && !$this->isSyncing()) {
        $language_manager->updateLockedLanguageWeights();
    }
    // Update URL Prefixes for all languages after the
    // LanguageManagerInterface::getLanguages() cache is flushed.
    language_negotiation_url_prefixes_update();
    // If after adding this language the site will become multilingual, we need
    // to rebuild language services.
    if (!$this->preSaveMultilingual && !$update && $language_manager instanceof ConfigurableLanguageManagerInterface) {
        $language_manager::rebuildServices();
    }
    if (!$update) {
        // Install any available language configuration overrides for the language.
        \Drupal::service('language.config_factory_override')->installLanguageOverrides($this->id());
    }
    if (!$this->isLocked() && !$update) {
        // Add language to the list of language domains.
        $config = \Drupal::configFactory()->getEditable('language.negotiation');
        $domains = $config->get('url.domains');
        $domains[$this->id()] = '';
        $config->set('url.domains', $domains)
            ->save(TRUE);
    }
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal