Same name and namespace in other branches
  1. 8.9.x core/modules/language/src/ConfigurableLanguageManager.php \Drupal\language\ConfigurableLanguageManager::getCurrentLanguage()
  2. 9 core/modules/language/src/ConfigurableLanguageManager.php \Drupal\language\ConfigurableLanguageManager::getCurrentLanguage()
2 calls to ConfigurableLanguageManager::getCurrentLanguage()
ConfigurableLanguageManager::getLanguages in core/modules/language/src/ConfigurableLanguageManager.php
ConfigurableLanguageManager::init in core/modules/language/src/ConfigurableLanguageManager.php

File

core/modules/language/src/ConfigurableLanguageManager.php, line 210

Class

ConfigurableLanguageManager
Overrides default LanguageManager to provide configured languages.

Namespace

Drupal\language

Code

public function getCurrentLanguage($type = LanguageInterface::TYPE_INTERFACE) {
  if (!isset($this->negotiatedLanguages[$type])) {

    // Ensure we have a valid value for this language type.
    $this->negotiatedLanguages[$type] = $this
      ->getDefaultLanguage();
    if ($this->negotiator && $this
      ->isMultilingual()) {
      if (!isset($this->initializing[$type])) {
        $this->initializing[$type] = TRUE;
        $negotiation = $this->negotiator
          ->initializeType($type);
        $this->negotiatedLanguages[$type] = reset($negotiation);
        $this->negotiatedMethods[$type] = key($negotiation);
        unset($this->initializing[$type]);
      }
      elseif ($type == LanguageInterface::TYPE_INTERFACE) {
        return new Language([
          'id' => LanguageInterface::LANGCODE_SYSTEM,
        ]);
      }
    }
  }
  return $this->negotiatedLanguages[$type];
}