You are here

public function LanguageManager::getLanguages in Drupal 10

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Language/LanguageManager.php \Drupal\Core\Language\LanguageManager::getLanguages()
  2. 9 core/lib/Drupal/Core/Language/LanguageManager.php \Drupal\Core\Language\LanguageManager::getLanguages()

File

core/lib/Drupal/Core/Language/LanguageManager.php, line 123

Class

LanguageManager
Class responsible for providing language support on language-unaware sites.

Namespace

Drupal\Core\Language

Code

public function getLanguages($flags = LanguageInterface::STATE_CONFIGURABLE) {
  $static_cache_id = $this
    ->getCurrentLanguage()
    ->getId();
  if (!isset($this->languages[$static_cache_id][$flags])) {

    // If this language manager is used, there are no configured languages.
    // The default language and locked languages comprise the full language
    // list.
    $default = $this
      ->getDefaultLanguage();
    $languages = [
      $default
        ->getId() => $default,
    ];
    $languages += $this
      ->getDefaultLockedLanguages($default
      ->getWeight());

    // Filter the full list of languages based on the value of $flags.
    $this->languages[$static_cache_id][$flags] = $this
      ->filterLanguages($languages, $flags);
  }
  return $this->languages[$static_cache_id][$flags];
}