diff --git a/core/lib/Drupal/Core/Config/TypedConfigManager.php b/core/lib/Drupal/Core/Config/TypedConfigManager.php
index 2b437c6..42756d6 100644
--- a/core/lib/Drupal/Core/Config/TypedConfigManager.php
+++ b/core/lib/Drupal/Core/Config/TypedConfigManager.php
@@ -116,7 +116,7 @@ public function buildDataDefinition(array $definition, $value, $name = NULL, $pa
   /**
    * {@inheritdoc}
    */
-  public function getDefinition($base_plugin_id, $exception_on_invalid = TRUE) {
+  public function getDefinition($base_plugin_id, $exception_on_invalid = TRUE, $is_config_name = FALSE) {
     $definitions = $this->getDefinitions();
     if (isset($definitions[$base_plugin_id])) {
       $type = $base_plugin_id;
@@ -145,6 +145,14 @@ public function getDefinition($base_plugin_id, $exception_on_invalid = TRUE) {
       'definition_class' => '\Drupal\Core\TypedData\DataDefinition',
       'type' => $type,
     );
+    // If this is definition expected for a config name and it is defined as a
+    // mapping, add a langcode element if not already present.
+    if ($is_config_name && isset($definition['mapping']) && !isset($definition['mapping']['langcode'])) {
+      $definition['mapping']['langcode'] = array(
+        'type' => 'string',
+        'label' => 'Language code',
+      );
+    }
     return $definition;
   }
 
diff --git a/core/lib/Drupal/Core/Config/TypedConfigManagerInterface.php b/core/lib/Drupal/Core/Config/TypedConfigManagerInterface.php
index 0b793bd..e9e562e 100644
--- a/core/lib/Drupal/Core/Config/TypedConfigManagerInterface.php
+++ b/core/lib/Drupal/Core/Config/TypedConfigManagerInterface.php
@@ -110,12 +110,16 @@ public function hasConfigSchema($name);
    * @param bool $exception_on_invalid
    *   Ignored with TypedConfigManagerInterface. Kept for compatibility with
    *   DiscoveryInterface.
+   * @param bool $is_config_name
+   *   (deprecated) Set to TRUE if $plugin_id is a configuration name (as
+   *   opposed to an internal configuration schema type).
    *
    * @return array
    *   A plugin definition array. If the given plugin id does not have typed
    *   configuration definition assigned, the definition of an undefined
-   *   element type is returned.
+   *   element type is returned. If $is_config_name is set, a langcode key
+   *   is automatically added to the definition.
    */
-  public function getDefinition($plugin_id, $exception_on_invalid = TRUE);
+  public function getDefinition($plugin_id, $exception_on_invalid = TRUE, $is_config_name = FALSE);
 
 }
diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_user_role.yml b/core/modules/migrate_drupal/config/install/migrate.migration.d6_user_role.yml
index d738b24..f899c8a 100644
--- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_user_role.yml
+++ b/core/modules/migrate_drupal/config/install/migrate.migration.d6_user_role.yml
@@ -41,6 +41,3 @@ process:
     - plugin: filter_format_permission
 destination:
   plugin: entity:user_role
-migration_dependencies:
-  required:
-    - d6_filter_format
diff --git a/core/modules/node/src/Form/DeleteMultiple.php b/core/modules/node/src/Form/DeleteMultiple.php
index e7cb6ea..23fd685 100644
--- a/core/modules/node/src/Form/DeleteMultiple.php
+++ b/core/modules/node/src/Form/DeleteMultiple.php
@@ -24,7 +24,7 @@ class DeleteMultiple extends ConfirmFormBase {
   /**
    * The array of nodes to delete.
    *
-   * @var array
+   * @var \Drupal\Node\NodeInterface[]
    */
   protected $nodes = array();
 
@@ -102,11 +102,22 @@ public function buildForm(array $form, FormStateInterface $form_state) {
       return new RedirectResponse($this->getCancelUrl()->setAbsolute()->toString());
     }
 
+    $items = [];
+    foreach ($this->nodes as $node) {
+      foreach ($node->getTranslationLanguages() as $language) {
+        $translation = $node->getTranslation($language->getId());
+        if ($translation->language()->getId() === $node->language()->getId()) {
+          $items[] = $node->label();
+        }
+        else {
+          $items[] = $this->t('@translation_label, translation of @label', ['@translation_label' => $translation->label(), '@label' => $node->label()]);
+        }
+      }
+    }
+
     $form['nodes'] = array(
       '#theme' => 'item_list',
-      '#items' => array_map(function ($node) {
-        return SafeMarkup::checkPlain($node->label());
-      }, $this->nodes),
+      '#items' => $items,
     );
     $form = parent::buildForm($form, $form_state);
 
