diff --git a/core/lib/Drupal/Core/Entity/Field/Type/LanguageField.php b/core/lib/Drupal/Core/Entity/Field/Type/LanguageField.php index 485995f..612b5b2 100644 --- a/core/lib/Drupal/Core/Entity/Field/Type/LanguageField.php +++ b/core/lib/Drupal/Core/Entity/Field/Type/LanguageField.php @@ -20,11 +20,19 @@ class LanguageField extends Field { * Overrides Field::applyDefaultValue(). */ public function applyDefaultValue() { - // Default to one field item with the value of LANGUAGE_NOT_SPECIFIED. - $value = array('value' => LANGUAGE_NOT_SPECIFIED); if (isset($this->definition['settings']['default_value'])) { $value = $this->definition['settings']['default_value']; } + else { + if (module_exists('language') && $entity = $this->parent) { + $langcode = language_get_default_langcode($entity->entityType(), $entity->bundle()); + } + else { + $langcode = LANGUAGE_NOT_SPECIFIED; + } + // Default to one field item. + $value = array('value' => $langcode); + } $this->setValue(array(0 => $value)); return $this; }