You are here

function User::getPreferredLangcode in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/modules/user/src/Entity/User.php \Drupal\user\Entity\User::getPreferredLangcode()

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/modules/user/src/Entity/User.php, line 316
Contains \Drupal\user\Entity\User.

Class

User
Defines the user entity class.

Namespace

Drupal\user\Entity

Code

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