Change record status: 
Project: 
Introduced in branch: 
8.3.x
Introduced in version: 
8.3.0
Description: 

While several configuration translations were migrated already (including site information, user email settings, etc), configuration entities did not yet support translation migrations. The i18n module used a mapping system of keys to locale module tables to support translating user profile categories, taxonomy terms, etc. The first implementation of migration from that mapping system at #2225717: Add config translation support to migrations and implement for Drupal 6 user profile fields also introduced destination support for configuration entity translation.

The constructor of Drupal\migrate\Plugin\migrate\destination\EntityConfigBase got two new arguments to take the configuration factory and language manager to work with configuration translations and look up original configuration language. Rollback support on EntityConfigBase also includes rollback specifically for configuration translation. A new isTranslationDestination() method is also added to centralize the logic on whether a translation is being handled in this migration. This works of of the translations key in the destination plugin configuration:

destination:
  plugin: entity:field_config
  translations: true

If you implemented your own extensions of EntityConfigBase, apply corresponding updates there. For example, the core change removed the custom implementation of rollback on EntityFieldInstance and added a langcode id key to facilitate tracking that for rollback:

diff --git a/core/modules/migrate/src/Plugin/migrate/destination/EntityFieldInstance.php b/core/modules/migrate/src/Plugin/migrate/destination/EntityFieldInstance.php
index 966cb37..a431c49 100644
--- a/core/modules/migrate/src/Plugin/migrate/destination/EntityFieldInstance.php
+++ b/core/modules/migrate/src/Plugin/migrate/destination/EntityFieldInstance.php
@@ -18,15 +18,10 @@ public function getIds() {
     $ids['entity_type']['type'] = 'string';
     $ids['bundle']['type'] = 'string';
     $ids['field_name']['type'] = 'string';
+    if ($this->isTranslationDestination()) {
+      $ids['langcode']['type'] = 'string';
+    }
     return $ids;
   }
 
-  /**
-   * {@inheritdoc}
-   */
-  public function rollback(array $destination_identifier) {
-    $destination_identifier = implode('.', $destination_identifier);
-    parent::rollback(array($destination_identifier));
-  }
-
 }
Impacts: 
Module developers
Updates Done (doc team, etc.)
Online documentation: 
Not done
Theming guide: 
Not done
Module developer documentation: 
Not done
Examples project: 
Not done
Coder Review: 
Not done
Coder Upgrade: 
Not done
Other: 
Other updates done