class LanguageNegotiationUser
Class for identifying language from the user preferences.
Hierarchy
- class \Drupal\language\LanguageNegotiationMethodBase implements \Drupal\language\LanguageNegotiationMethodInterface
- class \Drupal\user\Plugin\LanguageNegotiation\LanguageNegotiationUser extends \Drupal\language\LanguageNegotiationMethodBase
Expanded class hierarchy of LanguageNegotiationUser
1 file declares its use of LanguageNegotiationUser
- AccountForm.php in core/
modules/ user/ src/ AccountForm.php
File
-
core/
modules/ user/ src/ Plugin/ LanguageNegotiation/ LanguageNegotiationUser.php, line 13
Namespace
Drupal\user\Plugin\LanguageNegotiationView source
class LanguageNegotiationUser extends LanguageNegotiationMethodBase {
/**
* The language negotiation method id.
*/
const METHOD_ID = 'language-user';
/**
* {@inheritdoc}
*/
public function getLangcode(?Request $request = NULL) {
$langcode = NULL;
// User preference (only for authenticated users).
if ($this->languageManager && $this->currentUser
->isAuthenticated()) {
$preferred_langcode = $this->currentUser
->getPreferredLangcode(FALSE);
$languages = $this->languageManager
->getLanguages();
if (!empty($preferred_langcode) && isset($languages[$preferred_langcode])) {
$langcode = $preferred_langcode;
}
}
// No language preference from the user.
return $langcode;
}
}