diff --git a/core/includes/bootstrap.inc b/core/includes/bootstrap.inc index 5b779ba..284822f 100644 --- a/core/includes/bootstrap.inc +++ b/core/includes/bootstrap.inc @@ -2362,10 +2362,10 @@ function language($type) { * weight ascending and name ascending. * * @deprecated as of Drupal 8.0. Use - * \Drupal::languageManager()->getLanguageList() instead. + * \Drupal::languageManager()->getLanguages() instead. */ function language_list($flags = Language::STATE_CONFIGURABLE) { - return \Drupal::languageManager()->getLanguageList($flags); + return \Drupal::languageManager()->getLanguages($flags); } /** diff --git a/core/lib/Drupal/Core/Language/LanguageManager.php b/core/lib/Drupal/Core/Language/LanguageManager.php index b61ca85..0d913b1 100644 --- a/core/lib/Drupal/Core/Language/LanguageManager.php +++ b/core/lib/Drupal/Core/Language/LanguageManager.php @@ -27,7 +27,7 @@ class LanguageManager implements LanguageManagerInterface { * * @var array */ - protected $languageList; + protected $languages; /** * The default language object. @@ -102,14 +102,14 @@ public function getDefaultLanguage() { /** * {@inheritdoc} */ - public function getLanguageList($flags = Language::STATE_CONFIGURABLE) { + public function getLanguages($flags = Language::STATE_CONFIGURABLE) { // Initialize master language list. - if (!isset($this->languageList)) { + if (!isset($this->languages)) { // No language module, so use the default language only. $default = $this->getDefaultLanguage(); - $this->languageList = array($default->id => $default); + $this->languages = array($default->id => $default); // Add the special languages, they will be filtered later if needed. - $this->languageList += $this->getDefaultLockedLanguages($default->weight); + $this->languages += $this->getDefaultLockedLanguages($default->weight); } // Filter the full list of languages based on the value of the $all flag. By @@ -125,7 +125,7 @@ public function getLanguageList($flags = Language::STATE_CONFIGURABLE) { $filtered_languages['site_default'] = $default; } - foreach ($this->languageList as $id => $language) { + foreach ($this->languages as $id => $language) { if (($language->locked && ($flags & Language::STATE_LOCKED)) || (!$language->locked && ($flags & Language::STATE_CONFIGURABLE))) { $filtered_languages[$id] = $language; } @@ -138,7 +138,7 @@ public function getLanguageList($flags = Language::STATE_CONFIGURABLE) { * {@inheritdoc} */ public function getLanguage($langcode) { - $languages = $this->getLanguageList(Language::STATE_ALL); + $languages = $this->getLanguages(Language::STATE_ALL); return isset($languages[$langcode]) ? $languages[$langcode] : NULL; } diff --git a/core/lib/Drupal/Core/Language/LanguageManagerInterface.php b/core/lib/Drupal/Core/Language/LanguageManagerInterface.php index ef08326..159c39c 100644 --- a/core/lib/Drupal/Core/Language/LanguageManagerInterface.php +++ b/core/lib/Drupal/Core/Language/LanguageManagerInterface.php @@ -44,7 +44,7 @@ public function isMultilingual(); public function getLanguageTypes(); /** - * Returns a language object for the given type. + * Returns the current language for the given type. * * @param string $type * (optional) The language type, e.g. the interface or the content language. @@ -85,10 +85,10 @@ public function getDefaultLanguage(); * An associative array of languages, keyed by the language code, ordered * by weight ascending and name ascending. */ - public function getLanguageList($flags = Language::STATE_CONFIGURABLE); + public function getLanguages($flags = Language::STATE_CONFIGURABLE); /** - * Loads a language object from the database. + * Returns a language object from the given language code. * * @param string $langcode * The language code. diff --git a/core/lib/Drupal/Core/Plugin/DefaultPluginManager.php b/core/lib/Drupal/Core/Plugin/DefaultPluginManager.php index 3a2c155..712c5ee 100644 --- a/core/lib/Drupal/Core/Plugin/DefaultPluginManager.php +++ b/core/lib/Drupal/Core/Plugin/DefaultPluginManager.php @@ -188,7 +188,7 @@ public function clearCachedDefinitions() { } elseif ($this->languageManager) { $cache_keys = array(); - foreach ($this->languageManager->getLanguageList() as $langcode => $language) { + foreach ($this->languageManager->getLanguages() as $langcode => $language) { $cache_keys[] = $this->cacheKeyPrefix . ':' . $langcode; } $this->cacheBackend->deleteMultiple($cache_keys); diff --git a/core/modules/block/lib/Drupal/block/BlockFormController.php b/core/modules/block/lib/Drupal/block/BlockFormController.php index 2f3108b..fba5659 100644 --- a/core/modules/block/lib/Drupal/block/BlockFormController.php +++ b/core/modules/block/lib/Drupal/block/BlockFormController.php @@ -173,7 +173,7 @@ public function form(array $form, array &$form_state) { $language_types = $this->languageManager->getLanguageTypes(); // Fetch languages. - $languages = $this->languageManager->getLanguageList(Language::STATE_ALL); + $languages = $this->languageManager->getLanguages(Language::STATE_ALL); $langcodes_options = array(); foreach ($languages as $language) { // @todo $language->name is not wrapped with t(), it should be replaced diff --git a/core/modules/config_translation/lib/Drupal/config_translation/Controller/ConfigTranslationController.php b/core/modules/config_translation/lib/Drupal/config_translation/Controller/ConfigTranslationController.php index 62c16e0..03c2a20 100644 --- a/core/modules/config_translation/lib/Drupal/config_translation/Controller/ConfigTranslationController.php +++ b/core/modules/config_translation/lib/Drupal/config_translation/Controller/ConfigTranslationController.php @@ -131,7 +131,7 @@ public function itemPage(Request $request, $plugin_id) { // not on the system. For example, the configuration shipped in English but // the site has no English configured. Represent the original language in // the table even if it is not currently configured. - $languages = $this->languageManager->getLanguageList(); + $languages = $this->languageManager->getLanguages(); $original_langcode = $mapper->getLangcode(); if (!isset($languages[$original_langcode])) { $language_name = $this->languageManager->getLanguageName($original_langcode); diff --git a/core/modules/language/language.services.yml b/core/modules/language/language.services.yml index d042f5d..ee06f7a 100644 --- a/core/modules/language/language.services.yml +++ b/core/modules/language/language.services.yml @@ -4,7 +4,6 @@ services: arguments: ['@container.namespaces', '@cache.cache', '@module_handler'] language_negotiator: class: Drupal\language\LanguageNegotiator - lazy: true arguments: ['@language_manager', '@plugin.manager.language_negotiation_method', '@config.factory', '@settings'] calls: - [initLanguageManager] diff --git a/core/modules/language/lib/Drupal/language/ConfigurableLanguageManager.php b/core/modules/language/lib/Drupal/language/ConfigurableLanguageManager.php index 54712f5..a570700 100644 --- a/core/modules/language/lib/Drupal/language/ConfigurableLanguageManager.php +++ b/core/modules/language/lib/Drupal/language/ConfigurableLanguageManager.php @@ -70,13 +70,6 @@ class ConfigurableLanguageManager extends LanguageManager implements Configurabl protected $negotiatedLanguages; /** - * An array of all the available languages keyed by language code. - * - * @var array - */ - protected $languageList; - - /** * Whether or not the language manager has been initialized. * * @var bool @@ -140,7 +133,7 @@ public function init() { * {@inheritdoc} */ public function isMultilingual() { - return count($this->getLanguageList(Language::STATE_CONFIGURABLE)) > 1; + return count($this->getLanguages(Language::STATE_CONFIGURABLE)) > 1; } /** @@ -238,7 +231,7 @@ public function reset($type = NULL) { $this->negotiatedLanguages = array(); $this->languageTypes = NULL; $this->languageTypesInfo = NULL; - $this->languageList = NULL; + $this->languages = NULL; $this->defaultLanguage = NULL; if ($this->negotiator) { $this->negotiator->reset(); @@ -287,12 +280,12 @@ public function getDefaultLanguage() { /** * {@inheritdoc} */ - public function getLanguageList($flags = Language::STATE_CONFIGURABLE) { - if (!isset($this->languageList)) { + public function getLanguages($flags = Language::STATE_CONFIGURABLE) { + if (!isset($this->languages)) { // Prepopulate the language list with the default language to keep things // working even if we have no configuration. $default = $this->getDefaultLanguage(); - $this->languageList = array($default->id => $default); + $this->languages = array($default->id => $default); // Retrieve the config storage to list available languages. $prefix = 'language.entity.'; @@ -308,18 +301,18 @@ public function getLanguageList($flags = Language::STATE_CONFIGURABLE) { // save the same object without data loss. $data['default'] = ($langcode == $default->id); $data['name'] = $data['label']; - $this->languageList[$langcode] = new Language($data); - $weight = max(array($weight, $this->languageList[$langcode]->weight)); + $this->languages[$langcode] = new Language($data); + $weight = max(array($weight, $this->languages[$langcode]->weight)); } // Add locked languages, they will be filtered later if needed. - $this->languageList += $this->getDefaultLockedLanguages($weight); + $this->languages += $this->getDefaultLockedLanguages($weight); // Sort the language list by weight. - Language::sort($this->languageList); + Language::sort($this->languages); } - return parent::getLanguageList($flags); + return parent::getLanguages($flags); } /** @@ -329,14 +322,14 @@ public function updateLockedLanguageWeights() { $max_weight = 0; // Get maximum weight to update the system languages to keep them on bottom. - foreach ($this->getLanguageList(Language::STATE_CONFIGURABLE) as $language) { + foreach ($this->getLanguages(Language::STATE_CONFIGURABLE) as $language) { if (!$language->locked && $language->weight > $max_weight) { $max_weight = $language->weight; } } // Loop locked languages to maintain the existing order. - $locked_languages = $this->getLanguageList(Language::STATE_LOCKED); + $locked_languages = $this->getLanguages(Language::STATE_LOCKED); $config_ids = array_map(function($language) { return 'language.entity.' . $language->id; }, $locked_languages); foreach ($this->configFactory->loadMultiple($config_ids) as $config_id => $config) { // Update system languages weight. @@ -353,7 +346,7 @@ public function getFallbackCandidates($langcode = NULL, array $context = array() if ($this->isMultilingual()) { // Get languages ordered by weight, add Language::LANGCODE_NOT_SPECIFIED // at the end. - $candidates = array_keys($this->getLanguageList()); + $candidates = array_keys($this->getLanguages()); $candidates[] = Language::LANGCODE_NOT_SPECIFIED; $candidates = MapArray::copyValuesToKeys($candidates); diff --git a/core/modules/language/lib/Drupal/language/LanguageNegotiator.php b/core/modules/language/lib/Drupal/language/LanguageNegotiator.php index 379554b..855c8aa 100644 --- a/core/modules/language/lib/Drupal/language/LanguageNegotiator.php +++ b/core/modules/language/lib/Drupal/language/LanguageNegotiator.php @@ -202,7 +202,7 @@ protected function negotiateLanguage($type, $method_id) { } } - $languages = $this->languageManager->getLanguageList(); + $languages = $this->languageManager->getLanguages(); return isset($languages[$langcode]) ? $languages[$langcode] : FALSE; } diff --git a/core/modules/language/lib/Drupal/language/Plugin/LanguageNegotiation/LanguageNegotiationBrowser.php b/core/modules/language/lib/Drupal/language/Plugin/LanguageNegotiation/LanguageNegotiationBrowser.php index 6d044d2..85d49c5 100644 --- a/core/modules/language/lib/Drupal/language/Plugin/LanguageNegotiation/LanguageNegotiationBrowser.php +++ b/core/modules/language/lib/Drupal/language/Plugin/LanguageNegotiation/LanguageNegotiationBrowser.php @@ -38,7 +38,7 @@ public function getLangcode(Request $request = NULL) { if ($this->languageManager && $request && $request->server->get('HTTP_ACCEPT_LANGUAGE')) { $http_accept_language = $request->server->get('HTTP_ACCEPT_LANGUAGE'); - $langcodes = array_keys($this->languageManager->getLanguageList()); + $langcodes = array_keys($this->languageManager->getLanguages()); $mappings = $this->config->get('language.mappings')->get(); $langcode = Browser::getLangcode($http_accept_language, $langcodes, $mappings); } diff --git a/core/modules/language/lib/Drupal/language/Plugin/LanguageNegotiation/LanguageNegotiationSelected.php b/core/modules/language/lib/Drupal/language/Plugin/LanguageNegotiation/LanguageNegotiationSelected.php index feb79e0..fba2a33 100644 --- a/core/modules/language/lib/Drupal/language/Plugin/LanguageNegotiation/LanguageNegotiationSelected.php +++ b/core/modules/language/lib/Drupal/language/Plugin/LanguageNegotiation/LanguageNegotiationSelected.php @@ -35,7 +35,7 @@ public function getLangcode(Request $request = NULL) { $langcode = FALSE; if ($this->languageManager) { - $languages = $this->languageManager->getLanguageList(); + $languages = $this->languageManager->getLanguages(); $langcode = $this->config->get('language.negotiation')->get('selected_langcode'); if (!isset($languages[$langcode])) { $langcode = $this->languageManager->getDefaultLanguage()->id; diff --git a/core/modules/language/lib/Drupal/language/Plugin/LanguageNegotiation/LanguageNegotiationSession.php b/core/modules/language/lib/Drupal/language/Plugin/LanguageNegotiation/LanguageNegotiationSession.php index f139aa0..dd7e5b4 100644 --- a/core/modules/language/lib/Drupal/language/Plugin/LanguageNegotiation/LanguageNegotiationSession.php +++ b/core/modules/language/lib/Drupal/language/Plugin/LanguageNegotiation/LanguageNegotiationSession.php @@ -62,7 +62,7 @@ public function getLangcode(Request $request = NULL) { // We need to update the session parameter with the request value only if we // have an authenticated user. if ($langcode && $this->languageManager) { - $languages = $this->languageManager->getLanguageList(); + $languages = $this->languageManager->getLanguages(); if ($this->currentUser->isAuthenticated() && isset($languages[$langcode])) { $_SESSION[$param] = $langcode; } @@ -85,7 +85,7 @@ public function processOutbound($path, &$options = array(), Request $request = N // request processing. if (!isset($this->queryRewrite)) { if ($this->currentUser->isAnonymous()) { - $languages = $this->languageManager->getLanguageList(); + $languages = $this->languageManager->getLanguages(); $config = $this->config->get('language.negotiation')->get('session'); $this->queryParam = $config['parameter']; $this->queryValue = $request->query->has($this->queryParam) ? $request->query->get($this->queryParam) : NULL; @@ -124,7 +124,7 @@ function getLanguageSwitchLinks(Request $request, $type, $path) { $query = array(); parse_str($request->getQueryString(), $query); - foreach ($this->languageManager->getLanguageList() as $language) { + foreach ($this->languageManager->getLanguages() as $language) { $langcode = $language->id; $links[$langcode] = array( 'href' => $path, diff --git a/core/modules/language/lib/Drupal/language/Plugin/LanguageNegotiation/LanguageNegotiationUrl.php b/core/modules/language/lib/Drupal/language/Plugin/LanguageNegotiation/LanguageNegotiationUrl.php index 4e1e84f..7cb8bc7 100644 --- a/core/modules/language/lib/Drupal/language/Plugin/LanguageNegotiation/LanguageNegotiationUrl.php +++ b/core/modules/language/lib/Drupal/language/Plugin/LanguageNegotiation/LanguageNegotiationUrl.php @@ -50,7 +50,7 @@ public function getLangcode(Request $request = NULL) { $langcode = FALSE; if ($request && $this->languageManager) { - $languages = $this->languageManager->getLanguageList(); + $languages = $this->languageManager->getLanguages(); $config = $this->config->get('language.negotiation')->get('url'); switch ($config['source']) { @@ -105,7 +105,7 @@ public function processInbound($path, Request $request) { $prefix = array_shift($parts); // Search prefix within enabled languages. - foreach ($this->languageManager->getLanguageList() as $language) { + foreach ($this->languageManager->getLanguages() as $language) { if (isset($config['prefixes'][$language->id]) && $config['prefixes'][$language->id] == $prefix) { // Rebuild $path with the language removed. $path = implode('/', $parts); @@ -126,7 +126,7 @@ public function processOutbound($path, &$options = array(), Request $request = N $url_scheme = $request->getScheme(); $port = $request->getPort(); } - $languages = array_flip(array_keys($this->languageManager->getLanguageList())); + $languages = array_flip(array_keys($this->languageManager->getLanguages())); // Language can be passed as an option, or we go for current URL language. if (!isset($options['language'])) { $language_url = $this->languageManager->getCurrentLanguage(Language::TYPE_URL); @@ -188,7 +188,7 @@ public function processOutbound($path, &$options = array(), Request $request = N function getLanguageSwitchLinks(Request $request, $type, $path) { $links = array(); - foreach ($this->languageManager->getLanguageList() as $language) { + foreach ($this->languageManager->getLanguages() as $language) { $links[$language->id] = array( 'href' => $path, 'title' => $language->name, diff --git a/core/modules/language/lib/Drupal/language/Plugin/LanguageNegotiation/LanguageNegotiationUser.php b/core/modules/language/lib/Drupal/language/Plugin/LanguageNegotiation/LanguageNegotiationUser.php index 0c6a4db..2e267e3 100644 --- a/core/modules/language/lib/Drupal/language/Plugin/LanguageNegotiation/LanguageNegotiationUser.php +++ b/core/modules/language/lib/Drupal/language/Plugin/LanguageNegotiation/LanguageNegotiationUser.php @@ -37,7 +37,7 @@ public function getLangcode(Request $request = NULL) { if ($this->languageManager && $this->currentUser->isAuthenticated()) { $preferred_langcode = $this->currentUser->getPreferredLangcode(); $default_langcode = $this->languageManager->getDefaultLanguage()->id; - $languages = $this->languageManager->getLanguageList(); + $languages = $this->languageManager->getLanguages(); if (!empty($preferred_langcode) && $preferred_langcode != $default_langcode && isset($languages[$preferred_langcode])) { $langcode = $preferred_langcode; } diff --git a/core/modules/language/lib/Drupal/language/Plugin/LanguageNegotiation/LanguageNegotiationUserAdmin.php b/core/modules/language/lib/Drupal/language/Plugin/LanguageNegotiation/LanguageNegotiationUserAdmin.php index c684b05..fd1639c 100644 --- a/core/modules/language/lib/Drupal/language/Plugin/LanguageNegotiation/LanguageNegotiationUserAdmin.php +++ b/core/modules/language/lib/Drupal/language/Plugin/LanguageNegotiation/LanguageNegotiationUserAdmin.php @@ -38,7 +38,7 @@ public function getLangcode(Request $request = NULL) { if ($this->languageManager && $this->currentUser->isAuthenticated() && $this->isAdminPath($request)) { $preferred_admin_langcode = $this->currentUser->getPreferredAdminLangcode(); $default_langcode = $this->languageManager->getDefaultLanguage()->id; - $languages = $this->languageManager->getLanguageList(); + $languages = $this->languageManager->getLanguages(); if (!empty($preferred_admin_langcode) && $preferred_admin_langcode != $default_langcode && isset($languages[$preferred_admin_langcode])) { $langcode = $preferred_admin_langcode; } diff --git a/core/modules/language/lib/Drupal/language/Tests/LanguageConfigurationTest.php b/core/modules/language/lib/Drupal/language/Tests/LanguageConfigurationTest.php index 8a0b7d6..6f9c552 100644 --- a/core/modules/language/lib/Drupal/language/Tests/LanguageConfigurationTest.php +++ b/core/modules/language/lib/Drupal/language/Tests/LanguageConfigurationTest.php @@ -159,7 +159,7 @@ protected function checkConfigurableLanguageWeight($state = 'by default') { \Drupal::languageManager()->reset(); $max_configurable_language_weight = $this->getHighestConfigurableLanguageWeight(); $replacements = array('@event' => $state); - foreach (\Drupal::languageManager()->getLanguageList(Language::STATE_LOCKED) as $locked_language) { + foreach (\Drupal::languageManager()->getLanguages(Language::STATE_LOCKED) as $locked_language) { $replacements['%language'] = $locked_language->name; $this->assertTrue($locked_language->weight > $max_configurable_language_weight, format_string('System language %language has higher weight than configurable languages @event', $replacements)); } diff --git a/core/modules/language/lib/Drupal/language/Tests/LanguageFallbackTest.php b/core/modules/language/lib/Drupal/language/Tests/LanguageFallbackTest.php index c849960..fb621d8 100644 --- a/core/modules/language/lib/Drupal/language/Tests/LanguageFallbackTest.php +++ b/core/modules/language/lib/Drupal/language/Tests/LanguageFallbackTest.php @@ -40,7 +40,7 @@ protected function setUp() { * Tests language fallback candidates. */ public function testCandidates() { - $language_list = $this->languageManager->getLanguageList(); + $language_list = $this->languageManager->getLanguages(); $expected = array_keys($language_list + array(Language::LANGCODE_NOT_SPECIFIED => NULL)); // Check that language fallback candidates by default are all the available diff --git a/core/modules/language/tests/Drupal/language/Tests/LanguageNegotiationUrlTest.php b/core/modules/language/tests/Drupal/language/Tests/LanguageNegotiationUrlTest.php index 3aa9aa9..48a39a1 100644 --- a/core/modules/language/tests/Drupal/language/Tests/LanguageNegotiationUrlTest.php +++ b/core/modules/language/tests/Drupal/language/Tests/LanguageNegotiationUrlTest.php @@ -54,7 +54,7 @@ public function setUp() { ->method('getCurrentLanguage') ->will($this->returnValue($languages['en'])); $language_manager->expects($this->any()) - ->method('getLanguageList') + ->method('getLanguages') ->will($this->returnValue($languages)); $this->languageManager = $language_manager; diff --git a/core/modules/system/lib/Drupal/system/Tests/Entity/EntityTranslationTest.php b/core/modules/system/lib/Drupal/system/Tests/Entity/EntityTranslationTest.php index 9fca2f1..eb234b4 100644 --- a/core/modules/system/lib/Drupal/system/Tests/Entity/EntityTranslationTest.php +++ b/core/modules/system/lib/Drupal/system/Tests/Entity/EntityTranslationTest.php @@ -473,7 +473,7 @@ function testLanguageFallback() { $this->assertEqual($translation->language()->id, $default_langcode, 'The current translation language matches the expected one.'); // Check that language fallback respects language weight by default. - $languages = $this->languageManager->getLanguageList(); + $languages = $this->languageManager->getLanguages(); $languages[$langcode]->weight = -1; language_save($languages[$langcode]); $translation = $this->entityManager->getTranslationFromContext($entity, $langcode2); diff --git a/core/tests/Drupal/Tests/Core/PathProcessor/PathProcessorTest.php b/core/tests/Drupal/Tests/Core/PathProcessor/PathProcessorTest.php index a5c6fee..9197085 100644 --- a/core/tests/Drupal/Tests/Core/PathProcessor/PathProcessorTest.php +++ b/core/tests/Drupal/Tests/Core/PathProcessor/PathProcessorTest.php @@ -74,7 +74,7 @@ public function setUp() { ->method('getCurrentLanguage') ->will($this->returnValue($languages['en'])); $language_manager->expects($this->any()) - ->method('getLanguageList') + ->method('getLanguages') ->will($this->returnValue($this->languages)); $language_manager->expects($this->any()) ->method('getLanguageTypes')