function language_get_default_langcode

Same name and namespace in other branches
  1. 10 core/modules/language/language.module \language_get_default_langcode()
  2. 11.x core/modules/language/language.module \language_get_default_langcode()
  3. 9 core/modules/language/language.module \language_get_default_langcode()
  4. 8.9.x core/modules/language/language.module \language_get_default_langcode()

Returns the default language code assigned to an entity type and a bundle.

Parameters

string $entity_type: The entity type.

string $bundle: The bundle name.

Return value

string The language code.

Deprecated

in drupal:11.4.0 and is removed from drupal:13.0.0. There is no replacement.

See also

https://www.drupal.org/node/3566774

1 call to language_get_default_langcode()
LanguageConfigurationElementTest::buildForm in core/modules/language/tests/language_elements_test/src/Form/LanguageConfigurationElementTest.php
Form constructor.

File

core/modules/language/language.module, line 61

Code

function language_get_default_langcode($entity_type, $bundle) {
  @trigger_error(__FUNCTION__ . '() is deprecated in drupal:11.4.0 and is removed from drupal:13.0.0. There is no replacement. See https://www.drupal.org/node/3566774', E_USER_DEPRECATED);
  $configuration = ContentLanguageSettings::loadByEntityTypeBundle($entity_type, $bundle);
  $default_value = NULL;
  $language_interface = \Drupal::languageManager()->getCurrentLanguage();
  switch ($configuration->getDefaultLangcode()) {
    case LanguageInterface::LANGCODE_SITE_DEFAULT:
      $default_value = \Drupal::languageManager()->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.