You are here

public function ConfigurableLanguageManager::getNativeLanguages in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/language/src/ConfigurableLanguageManager.php \Drupal\language\ConfigurableLanguageManager::getNativeLanguages()
  2. 10 core/modules/language/src/ConfigurableLanguageManager.php \Drupal\language\ConfigurableLanguageManager::getNativeLanguages()

Returns a list of languages set up on the site in their native form.

Return value

\Drupal\Core\Language\LanguageInterface[] An associative array of languages, keyed by the language code, ordered by weight ascending and name ascending.

Overrides LanguageManager::getNativeLanguages

File

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

Class

ConfigurableLanguageManager
Overrides default LanguageManager to provide configured languages.

Namespace

Drupal\language

Code

public function getNativeLanguages() {
  $languages = $this
    ->getLanguages(LanguageInterface::STATE_CONFIGURABLE);
  $natives = [];
  $original_language = $this
    ->getConfigOverrideLanguage();
  foreach ($languages as $langcode => $language) {
    $this
      ->setConfigOverrideLanguage($language);
    $natives[$langcode] = ConfigurableLanguage::load($langcode);
  }
  $this
    ->setConfigOverrideLanguage($original_language);
  Language::sort($natives);
  return $natives;
}