function DefaultLanguageItem::getDefaultLanguageCode
Same name and namespace in other branches
- main core/modules/language/src/DefaultLanguageItem.php \Drupal\language\DefaultLanguageItem::getDefaultLanguageCode()
Provides default language code of a given an entity type and bundle.
Parameters
string $entity_type_id: The entity type ID of the entity whose code of language is to be loaded.
string $bundle: The entity bundle of the entity whose code of language is to be loaded.
Return value
string A string language code.
2 calls to DefaultLanguageItem::getDefaultLanguageCode()
- DefaultLanguageItem::applyDefaultValue in core/
modules/ language/ src/ DefaultLanguageItem.php - Applies the default value.
- DefaultLanguageItem::getDefaultLangcode in core/
modules/ language/ src/ DefaultLanguageItem.php - Provides default language code of given entity.
File
-
core/
modules/ language/ src/ DefaultLanguageItem.php, line 49
Class
- DefaultLanguageItem
- Alternative plugin implementation of the 'language' field type.
Namespace
Drupal\languageCode
protected function getDefaultLanguageCode(string $entity_type_id, string $bundle) : string {
$language_manager = \Drupal::languageManager();
$configuration = ContentLanguageSettings::loadByEntityTypeBundle($entity_type_id, $bundle);
$default_value = NULL;
$language_interface = $language_manager->getCurrentLanguage();
switch ($configuration->getDefaultLangcode()) {
case LanguageInterface::LANGCODE_SITE_DEFAULT:
$default_value = $language_manager->getDefaultLanguage()
->getId();
break;
case 'current_interface':
$default_value = $language_interface->getId();
break;
case 'authors_default':
$user = \Drupal::currentUser();
$language_code = $user->getPreferredLangcode();
if (!empty($language_code)) {
$default_value = $language_code;
}
else {
$default_value = $language_interface->getId();
}
break;
}
if ($default_value) {
return $default_value;
}
// If we still do not have a default value, just return the value stored in
// the configuration; it has to be an actual language code.
return $configuration->getDefaultLangcode();
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.