diff --git a/core/lib/Drupal/Core/Entity/Plugin/DataType/LanguageItem.php b/core/lib/Drupal/Core/Entity/Plugin/DataType/LanguageItem.php index 86b0fad..346b1c7 100644 --- a/core/lib/Drupal/Core/Entity/Plugin/DataType/LanguageItem.php +++ b/core/lib/Drupal/Core/Entity/Plugin/DataType/LanguageItem.php @@ -89,7 +89,7 @@ public function setValue($values, $notify = TRUE) { */ public function applyDefaultValue($notify = TRUE) { // Default to LANGCODE_NOT_SPECIFIED. - if (module_exists('language') && $entity = $this->getEntity()) { + if (\Drupal::moduleHandler()->moduleExists('language') && $entity = $this->getEntity()) { $langcode = language_get_default_langcode($entity->entityType(), $entity->bundle()); } else { diff --git a/core/modules/language/language.module b/core/modules/language/language.module index 32d38eb..2304d85 100644 --- a/core/modules/language/language.module +++ b/core/modules/language/language.module @@ -396,6 +396,15 @@ function language_get_default_configuration_settings_key($entity_type, $bundle) } /** + * Implements hook_node_type_insert(). + */ +function language_node_type_insert(NodeTypeInterface $type) { + if (\Drupal::moduleHandler()->moduleExists('language')) { + language_save_default_configuration('node', $type->id(), $type->language_configuration); + } +} + +/** * Implements hook_node_type_update(). */ function language_node_type_update(NodeTypeInterface $type) { diff --git a/core/modules/system/lib/Drupal/system/Tests/Entity/EntityTranslationDefaultLanguageTest.php b/core/modules/system/lib/Drupal/system/Tests/Entity/EntityTranslationDefaultLanguageTest.php index 89193b0..ce1ff73 100644 --- a/core/modules/system/lib/Drupal/system/Tests/Entity/EntityTranslationDefaultLanguageTest.php +++ b/core/modules/system/lib/Drupal/system/Tests/Entity/EntityTranslationDefaultLanguageTest.php @@ -48,8 +48,8 @@ function setUp() { // Create a new content type which has Undefined language by default. $this->createContentType('ctund', Language::LANGCODE_NOT_SPECIFIED); - // Create a new content type which has English language by default. - $this->createContentType('cten', 'en'); + // Create a new content type which has Spanish language by default. + $this->createContentType('ctes', 'es'); } /* @@ -62,11 +62,11 @@ function testEntityTranslationDefaultLanguageViaCode() { $node = $this->createNodeViaCode('ctund', 'es'); $this->assertEqual($node->langcode->value, 'es'); - // With language module activated, content type "en" by default. - $node = $this->createNodeViaCode('cten'); - $this->assertEqual($node->langcode->value, 'en'); - $node = $this->createNodeViaCode('cten', 'es'); + // With language module activated, content type "es" by default. + $node = $this->createNodeViaCode('ctes'); $this->assertEqual($node->langcode->value, 'es'); + $node = $this->createNodeViaCode('ctes', 'en'); + $this->assertEqual($node->langcode->value, 'en'); // Disable language module. $this->container->get('module_handler')->uninstall(array('language'), FALSE); @@ -77,11 +77,11 @@ function testEntityTranslationDefaultLanguageViaCode() { $node = $this->createNodeViaCode('ctund', 'es'); $this->assertEqual($node->langcode->value, 'es'); - // With language module disabled, content type "en" by default. - $node = $this->createNodeViaCode('cten'); + // With language module disabled, content type "es" by default. + $node = $this->createNodeViaCode('ctes'); $this->assertEqual($node->langcode->value, Language::LANGCODE_NOT_SPECIFIED); - $node = $this->createNodeViaCode('cten', 'es'); - $this->assertEqual($node->langcode->value, 'es'); + $node = $this->createNodeViaCode('ctes', 'en'); + $this->assertEqual($node->langcode->value, 'en'); } /**