function UserSession::getPreferredLangcode

UserSession::getPreferredLangcode($fallback_to_default = TRUE)

Returns the preferred language code of the account.

Parameters

bool $fallback_to_default: (optional) Whether the return value will fall back to the site default language if the user has no language preference.

Return value

string The language code that is preferred by the account. If the preferred language is not set or is a language not configured anymore on the site, the site default is returned or an empty string is returned (if $fallback_to_default is FALSE).

Overrides AccountInterface::getPreferredLangcode

File

core/lib/Drupal/Core/Session/UserSession.php, line 131

Class

UserSession
An implementation of the user account interface for the global user.

Namespace

Drupal\Core\Session

Code

function getPreferredLangcode($fallback_to_default = TRUE) {
  $language_list = \Drupal::languageManager()->getLanguages();
  if (!empty($this->preferred_langcode) && isset($language_list[$this->preferred_langcode])) {
    return $language_list[$this->preferred_langcode]->getId();
  }
  else {
    return $fallback_to_default ? \Drupal::languageManager()->getDefaultLanguage()->getId() : '';
  }
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Session!UserSession.php/function/UserSession::getPreferredLangcode/8.1.x