diff --git a/core/modules/language/language.admin.inc b/core/modules/language/language.admin.inc
index 475eba2..cebc960 100644
--- a/core/modules/language/language.admin.inc
+++ b/core/modules/language/language.admin.inc
@@ -6,27 +6,9 @@
  */
 
 use Drupal\Component\Utility\String;
-use Drupal\Core\Language\LanguageManager;
 use Drupal\Core\Render\Element;
 
 /**
- * Prepare a language code list for unused predefined languages.
- */
-function language_admin_predefined_list() {
-  $languages = \Drupal::languageManager()->getLanguages();
-  $predefined = LanguageManager::getStandardLanguageList();
-  foreach ($predefined as $key => $value) {
-    if (isset($languages[$key])) {
-      unset($predefined[$key]);
-      continue;
-    }
-    $predefined[$key] = t($value[0]);
-  }
-  asort($predefined);
-  return $predefined;
-}
-
-/**
  * Returns HTML for the language negotiation configuration form.
  *
  * @param $variables
diff --git a/core/modules/language/lib/Drupal/language/ConfigurableLanguageManager.php b/core/modules/language/lib/Drupal/language/ConfigurableLanguageManager.php
index a414119..6912e26 100644
--- a/core/modules/language/lib/Drupal/language/ConfigurableLanguageManager.php
+++ b/core/modules/language/lib/Drupal/language/ConfigurableLanguageManager.php
@@ -407,4 +407,21 @@ public function getLanguageConfigOverride($langcode, $name) {
     return $this->configFactoryOverride->getOverride($langcode, $name);
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getUnusedPredefinedList() {
+    $languages = $this->getLanguages();
+    $predefined = $this->getStandardLanguageList();
+    foreach ($predefined as $key => $value) {
+      if (isset($languages[$key])) {
+        unset($predefined[$key]);
+        continue;
+      }
+      $predefined[$key] = $this->t($value[0]);
+    }
+    asort($predefined);
+    return $predefined;
+  }
+
 }
diff --git a/core/modules/language/lib/Drupal/language/ConfigurableLanguageManagerInterface.php b/core/modules/language/lib/Drupal/language/ConfigurableLanguageManagerInterface.php
index 9ec0d91..085a170 100644
--- a/core/modules/language/lib/Drupal/language/ConfigurableLanguageManagerInterface.php
+++ b/core/modules/language/lib/Drupal/language/ConfigurableLanguageManagerInterface.php
@@ -96,4 +96,12 @@ public function updateLockedLanguageWeights();
    */
   public function getLanguageConfigOverride($langcode, $name);
 
+  /**
+   * Prepare a language code list for unused predefined languages.
+   *
+   * @return array
+   *   List of predefined language names keyed by langcode.
+   */
+  public function getUnusedPredefinedList();
+
 }
diff --git a/core/modules/language/lib/Drupal/language/Form/LanguageAddForm.php b/core/modules/language/lib/Drupal/language/Form/LanguageAddForm.php
index aa65f91..cb4fbab 100644
--- a/core/modules/language/lib/Drupal/language/Form/LanguageAddForm.php
+++ b/core/modules/language/lib/Drupal/language/Form/LanguageAddForm.php
@@ -29,8 +29,7 @@ public function getFormId() {
   public function form(array $form, array &$form_state) {
     $form['#title'] = $this->t('Add language');
 
-    $this->moduleHandler->loadInclude('language', 'inc', 'language.admin');
-    $predefined_languages = language_admin_predefined_list();
+    $predefined_languages = $this->languageManager->getUnusedPredefinedList();
 
     $predefined_languages['custom'] = $this->t('Custom language...');
     $predefined_default = !empty($form_state['values']['predefined_langcode']) ? $form_state['values']['predefined_langcode'] : key($predefined_languages);
diff --git a/core/modules/language/lib/Drupal/language/Form/LanguageFormBase.php b/core/modules/language/lib/Drupal/language/Form/LanguageFormBase.php
index ef5795b..d3719bc 100644
--- a/core/modules/language/lib/Drupal/language/Form/LanguageFormBase.php
+++ b/core/modules/language/lib/Drupal/language/Form/LanguageFormBase.php
@@ -10,6 +10,8 @@
 use Drupal\Component\Utility\String;
 use Drupal\Core\Entity\EntityForm;
 use Drupal\Core\Language\Language;
+use Drupal\language\ConfigurableLanguageManagerInterface;
+use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
  * Base form for language add and edit forms.
@@ -17,6 +19,32 @@
 abstract class LanguageFormBase extends EntityForm {
 
   /**
+   * The configurable language manager.
+   *
+   * @var \Drupal\language\ConfigurableLanguageManagerInterface
+   */
+  protected $languageManager;
+
+  /**
+   * Constructs a ContentEntityForm object.
+   *
+   * @param  \Drupal\language\ConfigurableLanguageManagerInterface $language_manager
+   *   The configurable language manager.
+   */
+  public function __construct(ConfigurableLanguageManagerInterface $language_manager) {
+    $this->languageManager = $language_manager;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function create(ContainerInterface $container) {
+    return new static(
+      $container->get('language_manager')
+    );
+  }
+
+  /**
    * Common elements of the language addition and editing form.
    */
   public function commonForm(array &$form) {
diff --git a/core/modules/language/lib/Drupal/language/Form/NegotiationBrowserForm.php b/core/modules/language/lib/Drupal/language/Form/NegotiationBrowserForm.php
index a23faf0..d9e5c2f 100644
--- a/core/modules/language/lib/Drupal/language/Form/NegotiationBrowserForm.php
+++ b/core/modules/language/lib/Drupal/language/Form/NegotiationBrowserForm.php
@@ -8,8 +8,8 @@
 namespace Drupal\language\Form;
 
 use Drupal\Core\Config\ConfigFactoryInterface;
-use Drupal\Core\Extension\ModuleHandlerInterface;
 use Drupal\Core\Form\ConfigFormBase;
+use Drupal\language\ConfigurableLanguageManagerInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
@@ -18,11 +18,11 @@
 class NegotiationBrowserForm extends ConfigFormBase {
 
   /**
-   * The module handler.
+   * The configurable language manager.
    *
-   * @var \Drupal\Core\Extension\ModuleHandlerInterface
+   * @var \Drupal\language\ConfigurableLanguageManagerInterface
    */
-  protected $moduleHandler;
+  protected $languageManager;
 
   /**
    * {@inheritdoc}
@@ -30,9 +30,9 @@ class NegotiationBrowserForm extends ConfigFormBase {
    * @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler
    *   The module handler
    */
-  public function __construct(ConfigFactoryInterface $config_factory, ModuleHandlerInterface $module_handler) {
+  public function __construct(ConfigFactoryInterface $config_factory, ConfigurableLanguageManagerInterface $language_manager ) {
     parent::__construct($config_factory);
-    $this->moduleHandler = $module_handler;
+    $this->languageManager = $language_manager;
   }
 
   /**
@@ -41,7 +41,7 @@ public function __construct(ConfigFactoryInterface $config_factory, ModuleHandle
   public static function create(ContainerInterface $container) {
     return new static(
       $container->get('config.factory'),
-      $container->get('module_handler')
+      $container->get('language_manager')
     );
   }
 
@@ -56,7 +56,6 @@ public function getFormId() {
    * {@inheritdoc}
    */
   public function buildForm(array $form, array &$form_state) {
-    $this->moduleHandler->loadInclude('language', 'inc', 'language.admin');
     $form = array();
 
     // Initialize a language list to the ones available, including English.
@@ -71,12 +70,12 @@ public function buildForm(array $form, array &$form_state) {
     // only. If we do have already added languages, set up two option groups with
     // the list of existing and then predefined languages.
     if (empty($existing_languages)) {
-      $language_options = language_admin_predefined_list();
+      $language_options = $this->languageManager->getUnusedPredefinedList();
     }
     else {
       $language_options = array(
         $this->t('Existing languages') => $existing_languages,
-        $this->t('Languages not yet added') => language_admin_predefined_list()
+        $this->t('Languages not yet added') => $this->languageManager->getUnusedPredefinedList()
       );
     }
 
diff --git a/core/modules/locale/lib/Drupal/locale/Form/ImportForm.php b/core/modules/locale/lib/Drupal/locale/Form/ImportForm.php
index 7dc8e96..30b89dc 100644
--- a/core/modules/locale/lib/Drupal/locale/Form/ImportForm.php
+++ b/core/modules/locale/lib/Drupal/locale/Form/ImportForm.php
@@ -8,16 +8,15 @@
 namespace Drupal\locale\Form;
 
 use Drupal\Core\Form\FormBase;
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\Core\Extension\ModuleHandlerInterface;
 use Drupal\Core\Language\Language;
-use Drupal\Core\Language\LanguageManagerInterface;
+use Drupal\language\ConfigurableLanguageManagerInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
  * Form constructor for the translation import screen.
  */
-class ImportForm extends FormBase implements ContainerInjectionInterface {
+class ImportForm extends FormBase {
 
   /**
    * Uploaded file entity.
@@ -25,6 +24,7 @@ class ImportForm extends FormBase implements ContainerInjectionInterface {
    * @var \Drupal\file\Entity\File
    */
   protected $file;
+
   /**
    * The module handler service.
    *
@@ -33,9 +33,9 @@ class ImportForm extends FormBase implements ContainerInjectionInterface {
   protected $moduleHandler;
 
   /**
-   * The language manager.
+   * The configurable language manager.
    *
-   * @var \Drupal\Core\Language\LanguageManagerInterface
+   * @var \Drupal\language\ConfigurableLanguageManagerInterface
    */
   protected $languageManager;
 
@@ -53,10 +53,10 @@ public static function create(ContainerInterface $container) {
    *
    * @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler
    *   The module handler service.
-   * @param \Drupal\Core\Language\LanguageManagerInterface $language_manager
-   *   The language manager.
+   * @param \Drupal\language\ConfigurableLanguageManagerInterface $language_manager
+   *   The configurable language manager.
    */
-  public function __construct(ModuleHandlerInterface $module_handler, LanguageManagerInterface $language_manager) {
+  public function __construct(ModuleHandlerInterface $module_handler, ConfigurableLanguageManagerInterface $language_manager) {
     $this->moduleHandler = $module_handler;
     $this->languageManager = $language_manager;
   }
@@ -88,16 +88,15 @@ public function buildForm(array $form, array &$form_state) {
     // If we have no languages available, present the list of predefined
     // languages only. If we do have already added languages, set up two option
     // groups with the list of existing and then predefined languages.
-    form_load_include($form_state, 'inc', 'language', 'language.admin');
     if (empty($existing_languages)) {
-      $language_options = language_admin_predefined_list();
+      $language_options = $this->languageManager->getUnusedPredefinedList();
       $default = key($language_options);
     }
     else {
       $default = key($existing_languages);
       $language_options = array(
         $this->t('Existing languages') => $existing_languages,
-        $this->t('Languages not yet added') => language_admin_predefined_list()
+        $this->t('Languages not yet added') => $this->languageManager->getUnusedPredefinedList()
       );
     }
 
