diff --git a/core/modules/language/language.admin.inc b/core/modules/language/language.admin.inc
index 562580b..9f9b847 100644
--- a/core/modules/language/language.admin.inc
+++ b/core/modules/language/language.admin.inc
@@ -6,6 +6,7 @@
  */
 
 use Drupal\Core\Language\LanguageManager;
+use Drupal\language\Form\ContentLanguageSettingsForm;
 
 /**
  * Prepare a language code list for unused predefined languages.
@@ -338,96 +339,7 @@ function theme_language_negotiation_configure_browser_form_table($variables) {
  * Returns the content language settings form.
  */
 function language_content_settings_page() {
-  return drupal_get_form('language_content_settings_form', language_entity_supported());
-}
-
-/**
- * Form constructor for the content language settings form.
- *
- * @param array $supported
- *   Entity types with language support.
- *
- * @see language_content_settings_form_submit()
- *
- * @ingroup forms
- */
-function language_content_settings_form(array $form, array $form_state, array $supported) {
-  $entity_info = entity_get_info();
-  $labels = array();
-  $default = array();
-
-  foreach ($supported as $entity_type) {
-    $labels[$entity_type] = isset($entity_info[$entity_type]['label']) ? $entity_info[$entity_type]['label'] : $entity_type;
-    $default[$entity_type] = FALSE;
-
-    // Check whether we have any custom setting.
-    foreach (entity_get_bundles($entity_type) as $bundle => $bundle_info) {
-      $conf = language_get_default_configuration($entity_type, $bundle);
-      if (!empty($conf['language_show']) || $conf['langcode'] != 'site_default') {
-        $default[$entity_type] = $entity_type;
-      }
-      $language_configuration[$entity_type][$bundle] = $conf;
-    }
-  }
-
-  asort($labels);
-
-  $path = drupal_get_path('module', 'language');
-  $form = array(
-    '#labels' => $labels,
-    '#attached' => array(
-      'css' => array($path . '/css/language.admin.css'),
-    ),
-  );
-
-  $form['entity_types'] = array(
-    '#title' => t('Custom language settings'),
-    '#type' => 'checkboxes',
-    '#options' => $labels,
-    '#default_value' => $default,
-  );
-
-  $form['settings'] = array('#tree' => TRUE);
-
-  foreach ($labels as $entity_type => $label) {
-    $info = $entity_info[$entity_type];
-
-    $form['settings'][$entity_type] = array(
-      '#title' => $label,
-      '#type' => 'container',
-      '#entity_type' => $entity_type,
-      '#theme' => 'language_content_settings_table',
-      '#bundle_label' => isset($info['bundle_label']) ? $info['bundle_label'] : $label,
-      '#states' => array(
-        'visible' => array(
-          ':input[name="entity_types[' . $entity_type . ']"]' => array('checked' => TRUE),
-        ),
-      ),
-    );
-
-    foreach (entity_get_bundles($entity_type) as $bundle => $bundle_info) {
-      $form['settings'][$entity_type][$bundle]['settings'] = array(
-        '#type' => 'item',
-        '#label' => $bundle_info['label'],
-        'language' => array(
-          '#type' => 'language_configuration',
-          '#entity_information' => array(
-            'entity_type' => $entity_type,
-            'bundle' => $bundle,
-          ),
-          '#default_value' => $language_configuration[$entity_type][$bundle],
-        ),
-      );
-    }
-  }
-
-  $form['actions'] = array('#type' => 'actions');
-  $form['actions']['submit'] = array(
-    '#type' => 'submit',
-    '#value' => t('Save'),
-  );
-
-  return $form;
+  return drupal_get_form(ContentLanguageSettingsForm::create(\Drupal::getContainer()), language_entity_supported());
 }
 
 /**
@@ -492,19 +404,6 @@ function theme_language_content_settings_table($variables) {
 }
 
 /**
- * Form submission handler for language_content_settings_form().
- */
-function language_content_settings_form_submit(array $form, array &$form_state) {
-  $settings = &$form_state['values']['settings'];
-  foreach ($settings as $entity_type => $entity_settings) {
-    foreach ($entity_settings as $bundle => $bundle_settings) {
-      language_save_default_configuration($entity_type, $bundle, $bundle_settings['settings']['language']);
-    }
-  }
-  drupal_set_message(t('Settings successfully updated.'));
-}
-
-/**
  * Helper function to disable the language switcher blocks.
  *
  * @param array $language_types
