diff --git a/core/modules/comment/comment.views.inc b/core/modules/comment/comment.views.inc
index f7ce2f9..df64ab5 100644
--- a/core/modules/comment/comment.views.inc
+++ b/core/modules/comment/comment.views.inc
@@ -376,6 +376,18 @@ function comment_views_data() {
     ),
   );
 
+  // Entity translation field.
+  if (drupal_container()->get('module_handler')->moduleExists('translation_entity')) {
+    $data['comment']['translation_link'] = array(
+      'title' => t('Translation link'),
+      'help' => t('Provide a link to the translations overview for comments.'),
+      'field' => array(
+        'id' => 'translation_entity_link',
+        'click sortable' => FALSE,
+      ),
+    );
+  }
+
   // node_comment_statistics table
 
   // define the group
diff --git a/core/modules/node/node.views.inc b/core/modules/node/node.views.inc
index 2e8ab14..8784489 100644
--- a/core/modules/node/node.views.inc
+++ b/core/modules/node/node.views.inc
@@ -226,6 +226,18 @@ function node_views_data() {
     );
   }
 
+  // Entity translation field.
+  if (drupal_container()->get('module_handler')->moduleExists('translation_entity')) {
+    $data['node']['translation_link'] = array(
+      'title' => t('Translation link'),
+      'help' => t('Provide a link to the translations overview for nodes.'),
+      'field' => array(
+        'id' => 'translation_entity_link',
+        'click sortable' => FALSE,
+      ),
+    );
+  }
+
   // Define some fields based upon views_handler_field_entity in the entity
   // table so they can be re-used with other query backends.
   // @see views_handler_field_entity
diff --git a/core/modules/taxonomy/taxonomy.views.inc b/core/modules/taxonomy/taxonomy.views.inc
index c82873e..24f36c9 100644
--- a/core/modules/taxonomy/taxonomy.views.inc
+++ b/core/modules/taxonomy/taxonomy.views.inc
@@ -176,6 +176,18 @@ function taxonomy_views_data() {
     ),
   );
 
+  // Entity translation field.
+  if (drupal_container()->get('module_handler')->moduleExists('translation_entity')) {
+    $data['taxonomy_term_data']['translation_link'] = array(
+      'title' => t('Translation link'),
+      'help' => t('Provide a link to the translations overview for taxonomy terms.'),
+      'field' => array(
+        'id' => 'translation_entity_link',
+        'click sortable' => FALSE,
+      ),
+    );
+  }
+
   // taxonomy_index table
 
   $data['taxonomy_index']['table']['group']  = t('Taxonomy term');
diff --git a/core/modules/translation_entity/lib/Drupal/translation_entity/Plugin/views/field/TranslationLink.php b/core/modules/translation_entity/lib/Drupal/translation_entity/Plugin/views/field/TranslationLink.php
new file mode 100644
index 0000000..93ccd32
--- /dev/null
+++ b/core/modules/translation_entity/lib/Drupal/translation_entity/Plugin/views/field/TranslationLink.php
@@ -0,0 +1,82 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\translation_entity\Plugin\views\field\TranslationLink.
+ */
+
+namespace Drupal\translation_entity\Plugin\views\field;
+
+use Drupal\views\Plugin\views\field\FieldPluginBase;
+use Drupal\Core\Annotation\Plugin;
+use Drupal\Core\Entity\EntityInterface;
+
+/**
+ * Provides a translation link for an entity.
+ *
+ * @ingroup views_field_handlers
+ *
+ * @Plugin(
+ *   id = "translation_entity_link",
+ *   module = "translation_entity"
+ * )
+ */
+class TranslationLink extends FieldPluginBase {
+
+  /**
+   * Overrides \Drupal\views\Plugin\views\field\FieldPluginBase::defineOptions().
+   */
+  protected function defineOptions() {
+    $options = parent::defineOptions();
+    $options['text'] = array('default' => '', 'translatable' => TRUE);
+    return $options;
+  }
+
+  /**
+   * Overrides \Drupal\views\Plugin\views\field\FieldPluginBase::buildOptionsForm().
+   */
+  public function buildOptionsForm(&$form, &$form_state) {
+    $form['text'] = array(
+      '#type' => 'textfield',
+      '#title' => t('Text to display'),
+      '#default_value' => $this->options['text'],
+    );
+    parent::buildOptionsForm($form, $form_state);
+  }
+
+  /**
+   * Overrides \Drupal\views\Plugin\views\field\FieldPluginBase::render().
+   */
+  function render($values) {
+    return $this->render_link($this->get_entity($values), $values);
+  }
+
+  /**
+   * Alters the field to render a link.
+   *
+   * @param \Drupal\Core\Entity\EntityInterface $entity
+   * @param \stdClass $values
+   *   The current row of the views result.
+   *
+   * @return string
+   *   The acutal rendered text (without the link) of this field.
+   */
+  public function render_link(EntityInterface $entity, \stdClass $values) {
+    if (module_invoke('translation_entity', 'translate_access', $entity)) {
+      $text = !empty($this->options['text']) ? $this->options['text'] : t('view');
+
+      $this->options['alter']['make_link'] = TRUE;
+      $uri = $entity->uri();
+      $this->options['alter']['path'] = $uri['path'] . '/translations';
+
+      return $text;
+    }
+  }
+
+  /**
+   * Overrides \Drupal\views\Plugin\views\Plugin\field\FieldPluginBase::query().
+   */
+  public function query() {
+  }
+
+}
diff --git a/core/modules/user/user.views.inc b/core/modules/user/user.views.inc
index 5aefa46..eaa2117 100644
--- a/core/modules/user/user.views.inc
+++ b/core/modules/user/user.views.inc
@@ -295,6 +295,18 @@ function user_views_data() {
     ),
   );
 
+  // Entity translation field.
+  if (drupal_container()->get('module_handler')->moduleExists('translation_entity')) {
+    $data['users']['translation_link'] = array(
+      'title' => t('Translation link'),
+      'help' => t('Provide a link to the translations overview for users.'),
+      'field' => array(
+        'id' => 'translation_entity_link',
+        'click sortable' => FALSE,
+      ),
+    );
+  }
+
   $data['users']['edit_node'] = array(
     'field' => array(
       'title' => t('Edit link'),
