diff --git a/core/modules/language/migration_templates/d7_language_types.yml b/core/modules/language/migration_templates/d7_language_types.yml
new file mode 100644
index 0000000..662e6a1
--- /dev/null
+++ b/core/modules/language/migration_templates/d7_language_types.yml
@@ -0,0 +1,15 @@
+id: d7_language_types
+label: Drupal 7 language settings configuration
+migration_tags:
+  - Drupal 7
+source:
+  plugin: variable
+  variables:
+    - language_url
+    - language_content
+process:
+  'negotioation/language_url/enabled/language_url':  source: language_url
+  'negotioation/language_url/enabled/language_content': language_content
+destination:
+  plugin: config
+  config_name: language.types
diff --git a/core/modules/language/src/Tests/Migrate/d7/MigrateLanguageTypesTest.php b/core/modules/language/src/Tests/Migrate/d7/MigrateLanguageTypesTest.php
new file mode 100644
index 0000000..0b5a9a0
--- /dev/null
+++ b/core/modules/language/src/Tests/Migrate/d7/MigrateLanguageTypesTest.php
@@ -0,0 +1,43 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\language\Tests\d7\MigrateLanguageTypesTest.
+ */
+
+namespace Drupal\language\Tests\Migrate\d7;
+
+use Drupal\migrate_drupal\Tests\d7\MigrateDrupal7TestBase;
+
+/**
+ * Tests migration of language variables into configuration.
+ *
+ * @group language
+ */
+class MigrateLanguageTypesTest extends MigrateDrupal7TestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = ['language'];
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+    $this->installConfig(static::$modules);
+    $this->executeMigration('d7_language_types');
+  }
+
+  /**
+   * Tests migration of Language settings to configuration.
+   */
+  public function testMigration() {
+    $config = $this->config('language.settings');
+    $this->assertFalse($config->get('language_content'));
+    $this->assertFalse($config->get('language_url'));
+  }
+}
diff --git a/core/modules/migrate_drupal/src/Tests/Table/d7/Variable.php b/core/modules/migrate_drupal/src/Tests/Table/d7/Variable.php
index a5936ac..05903d3 100644
--- a/core/modules/migrate_drupal/src/Tests/Table/d7/Variable.php
+++ b/core/modules/migrate_drupal/src/Tests/Table/d7/Variable.php
@@ -311,6 +311,9 @@ public function load() {
       'name' => 'install_time',
       'value' => 'i:1421694923;',
     ))->values(array(
+      'name' => 'language_content',
+      'value' => 'a:1:{s:24:"default-language-content";s:22:"DefaultLanguageContent";}',
+    ))->values(array(
       'name' => 'language_content_type_article',
       'value' => 's:1:"0";',
     ))->values(array(
@@ -329,6 +332,9 @@ public function load() {
       'name' => 'language_content_type_test_content_type',
       'value' => 's:1:"0";',
     ))->values(array(
+      'name' => 'language_interface',
+      'value' => 'a:1:{s:22:"default-language-types";s:20:"DefaultLanguageTypes";}',
+    ))->values(array(
       'name' => 'language_negotiation_language',
       'value' => 'a:0:{}',
     ))->values(array(
@@ -341,6 +347,9 @@ public function load() {
       'name' => 'language_types',
       'value' => 'a:3:{s:8:"language";b:1;s:16:"language_content";b:0;s:12:"language_url";b:0;}',
     ))->values(array(
+      'name' => 'language_url',
+      'value' => 'a:1:{s:20:"default-language-uri";s:18:"DefaultLanguageUri";}',
+    ))->values(array(
       'name' => 'locale_language_negotiation_session_param',
       'value' => 's:8:"language";',
     ))->values(array(
@@ -692,4 +701,4 @@ public function load() {
   }
 
 }
-#7dc2bf954651dff3a1774f619801d40b
+#2300190a532467e5ad9b15d8516b3b5b
