diff --git a/core/modules/migrate_drupal/migration_templates/d7_entity_reference_transaltion.yml b/core/modules/migrate_drupal/migration_templates/d7_entity_reference_transaltion.yml
new file mode 100644
index 0000000..e2947c2
--- /dev/null
+++ b/core/modules/migrate_drupal/migration_templates/d7_entity_reference_transaltion.yml
@@ -0,0 +1,13 @@
+id: d7_entity_reference_translation
+label: Entity reference translations
+migration_tags:
+  - Drupal 7
+deriver: Drupal\migrate_drupal\Plugin\migrate\D7EntityReferenceTranslationDeriver
+target_types:
+  node:
+    source: d7_node
+    dependency: d7_node_translation
+source:
+  plugin: empty
+destination:
+  plugin: entity
diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/D7EntityReferenceTranslationDeriver.php b/core/modules/migrate_drupal/src/Plugin/migrate/D7EntityReferenceTranslationDeriver.php
new file mode 100644
index 0000000..85b7f26
--- /dev/null
+++ b/core/modules/migrate_drupal/src/Plugin/migrate/D7EntityReferenceTranslationDeriver.php
@@ -0,0 +1,63 @@
+<?php
+
+namespace Drupal\migrate_drupal\Plugin\migrate;
+
+use Drupal\Component\Plugin\Derivative\DeriverBase;
+use Drupal\Core\Entity\EntityStorageInterface;
+use Drupal\migrate\Plugin\Migration;
+use Drupal\migrate\Plugin\MigrationDeriverTrait;
+
+/**
+ * TODO
+ */
+class D7EntityReferenceTranslationDeriver extends DeriverBase {
+
+  use MigrationDeriverTrait;
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getDerivativeDefinitions($base_plugin_definition) {
+    $fields = static::getSourcePlugin('d7_field');
+    $target_types = $base_plugin_definition['target_types'];
+    foreach ($fields as $row) {
+      $type = $row->getSourceProperty('type');
+      $settings = $row->getSourceProperty('settings');
+      $storage = $row->getSourceProperty('storage');
+      if ($type == 'entityreference' && isset($target_types[$settings['target_type']]) && $storage['type'] == 'field_sql_storage') {
+        $field_name = $row->getSourceProperty('field_name');
+        foreach ($row->getSourceProperty('instances') as $instance) {
+          $derivative = $instance['entity_type'] . '__' . $instance['bundle'];
+          if (!isset($this->derivatives[$derivative])) {
+            $this->derivatives[$derivative] = $base_plugin_definition;
+            $this->derivatives[$derivative]['source'] = [
+              'plugin' => $target_types[$instance['entity_type']['source'],
+            ];
+
+            $source_migration = \Drupal::service('plugin.manager.migration')->createInstance($target_types[$instance['entity_type']['source']);
+            $this->derivatives[$derivative]['process'] = $source_migration->getProcess();
+
+            $this->derivatives[$derivative]['destination'] = [
+              'plugin' => 'entity:' . $instance['entity_type'],
+              'default_bundle' => $instance['bundle'],
+            ];
+
+            $this->derivatives[$derivative]['migration_dependencies'] = [
+              'required' => [
+                $taget_types[$instance['entity_type']['dependency'],
+              ],
+            ];
+          }
+
+          $this->derivatives[$derivative]['process'][$field_name] = [
+            'plugin' => 'migration_lookup',
+            'source' => $field_name,
+            'migration' => $taget_types[$instance['entity_type']['dependency'],
+          ];
+        }
+      }
+    }
+    return $this->derivatives;
+  }
+
+}
