diff --git a/core/lib/Drupal/Core/Language/LanguageManager.php b/core/lib/Drupal/Core/Language/LanguageManager.php index 5e5ffc8..6784172 100644 --- a/core/lib/Drupal/Core/Language/LanguageManager.php +++ b/core/lib/Drupal/Core/Language/LanguageManager.php @@ -131,7 +131,7 @@ public function getLanguages($flags = LanguageInterface::STATE_CONFIGURABLE) { $languages += $this->getDefaultLockedLanguages($default->getWeight()); // Filter the full list of languages based on the value of $flags. - return $flags == LanguageInterface::STATE_ALL ? $languages : $this->filterLanguages($languages, $flags); + return $this->filterLanguages($languages, $flags); } /** @@ -373,8 +373,13 @@ public function getConfigOverrideLanguage() { * An associative array of languages, keyed by the language code. */ protected function filterLanguages(array $languages, $flags = LanguageInterface::STATE_CONFIGURABLE) { + // STATE_ALL means we don't actually filter, so skip the rest of the method. + if ($flags == LanguageInterface::STATE_ALL) { + return $languages; + } + $filtered_languages = array(); - // Add the site's default language if flagged as allowed value. + // Add the site's default language if requested. if ($flags & LanguageInterface::STATE_SITE_DEFAULT) { // Setup a language to have the defaults, but with overridden name. $default = $this->getDefaultLanguage(); diff --git a/core/modules/language/src/ConfigurableLanguageManager.php b/core/modules/language/src/ConfigurableLanguageManager.php index 97cc834..2eaee36 100644 --- a/core/modules/language/src/ConfigurableLanguageManager.php +++ b/core/modules/language/src/ConfigurableLanguageManager.php @@ -299,7 +299,7 @@ public function getLanguages($flags = LanguageInterface::STATE_CONFIGURABLE) { $languages[$data['id']] = new Language($data); } Language::sort($languages); - return $flags == LanguageInterface::STATE_ALL ? $languages : $this->filterLanguages($languages, $flags); + return $this->filterLanguages($languages, $flags); } /**