diff --git a/core/modules/translation_entity/translation_entity.api.php b/core/modules/translation_entity/translation_entity.api.php
index 654b6a0..288fd7d 100644
--- a/core/modules/translation_entity/translation_entity.api.php
+++ b/core/modules/translation_entity/translation_entity.api.php
@@ -39,10 +39,10 @@
  * - access arguments: The access arguments for the translation pages. Defaults
  *   to 'array($entity_position)'.
  */
-function hook_entity_info() {
+function custom_module_entity_info() {
   $info['custom_entity'] = array(
     // ...
-    'menu base path' => 'custom/path/%custom_entity',
+    'menu base path' => 'custom/entity/%custom_entity',
     'translation controller class' => 'Drupal\custom_module\CustomEntityTranslationController',
     'translation' => array(
       'entity_translation' => array(
diff --git a/core/modules/translation_entity/translation_entity.install b/core/modules/translation_entity/translation_entity.install
index 50dfacd..b571da3 100644
--- a/core/modules/translation_entity/translation_entity.install
+++ b/core/modules/translation_entity/translation_entity.install
@@ -58,3 +58,14 @@ function translation_entity_install() {
   language_negotiation_include();
   language_negotiation_set(LANGUAGE_TYPE_CONTENT, array(LANGUAGE_NEGOTIATION_URL => 0));
 }
+
+/**
+ * Implements hook_enable().
+ */
+function translation_entity_enable() {
+  $t_args = array(
+    '!language_url' => url('admin/config/regional/language'),
+  );
+  $message = t('You just added content translation capabilities to your site. To exploit them be sure to <a href="!language_url">enable at least two languages</a> and enable translation for <em>content types</em>, <em>taxonomy vocabularies</em>, <em>accounts</em> and any other element whose content you wish to translate.', $t_args);
+  drupal_set_message($message, 'warning');
+}
diff --git a/core/modules/translation_entity/translation_entity.module b/core/modules/translation_entity/translation_entity.module
index 974e653..0e74893 100644
--- a/core/modules/translation_entity/translation_entity.module
+++ b/core/modules/translation_entity/translation_entity.module
@@ -11,6 +11,32 @@
 
 
 /**
+ * Implements hook_help().
+ */
+function translation_entity_help($path, $arg) {
+  switch ($path) {
+    case 'admin/help#translation_entity':
+      $output = '';
+      $output .= '<h3>' . t('About') . '</h3>';
+      $output .= '<p>' . t('The Entity Translation module allows you to create and manage translations for your Drupal site content. You can specify which elements need to be translated at the content-type level for content items and comments, at the vocabulary level for taxonomy terms, and at the site level for user accounts. Other modules may provide additional elements that can be translated. For more information, see the online handbook entry for <a href="!url">Entity Translation</a>.', array('!url' => 'http://drupal.org/documentation/modules/entity_translation')) . '</p>';
+      $output .= '<h3>' . t('Uses') . '</h3>';
+      $output .= '<p>' . t('To be able to create and manage translations you need to <a href="!url">enable at least two languages</a> and enable translation for any element whose content you wish to translate.', array('!url' => url('admin/config/regional/language'))) . '</p>';
+      $output .= '<dl>';
+      $output .= '<dt>' . t('Enabling translation') . '</dt>';
+      $output .= '<dd>' . t('To enable translation for a certain <em>Content type</em> go to the related administration page, locate the Language settings, uncheck <em>Hide language selector</em> and check <em>Enable translation</em>. To enable translation for <em>Comments</em> just switch to the Comment settings in the same page. You can configure <em>Taxonomy terms</em> the samy way by accessing the Vocabulary administration pages in the Taxonomy section. Similarly <em>User accounts</em> can be enabled for translations in the <a href="!url">Account settings</a> page.', array('!url' => 'admin/config/people/accounts'));
+      $output .= '<p>' . t('If you need to specify more precisely what should be translated, you can configure it at the field level by changing the <em>Global field settings</em> in the related administration pages.') . '</p></dd>';
+      $output .= '<dt>' . t('Translating content') . '</dt>';
+      $output .= '<dd>' . t('After enabling a site for translation you can create a new content of the configured type or edit an existing one and assign it a language. Once this is done you will see a <em>Translations</em> item that will give you access to an overview of the translation status for the current content. From here you can create new translations and editing or deleting existing ones. This process is similar for every translatable element on your site, such as taxonomy terms, comments or user accounts.') . '</dd>';
+      $output .= '<dt>' . t('Source language') . '</dt>';
+      $output .= '<dd>' . t('If you enable more than two languages and you create at least one content translation, when creating subsequent translations you will be able to choose which language translate from through the <em>Source language</em> selector. If you choose a different language from the default one, all the translation form elements will be populated with values in the specified language.') . '</dd>';
+      $output .= '<dt>' . t('Maintaining translations') . '</dt>';
+      $output .= '<dd>' . t('If editing content in one language requires that translated versions also be updated to reflect the change, use the <em>Flag other translations as outdated</em> check box to mark the translations as outdated and in need of revision. Individual translations may also be marked for revision by selecting the <em>This translation needs to be updated</em> check box on the translation editing form.') . '</dd>';
+      $output .= '</dl>';
+      return $output;
+  }
+}
+
+/**
  * Implements hook_language_type_info_alter().
  */
 function translation_entity_language_types_info_alter(array &$language_types) {
diff --git a/core/modules/translation_entity/translation_entity.pages.inc b/core/modules/translation_entity/translation_entity.pages.inc
index 9dfef01..21dc11e 100644
--- a/core/modules/translation_entity/translation_entity.pages.inc
+++ b/core/modules/translation_entity/translation_entity.pages.inc
@@ -18,6 +18,7 @@ function translation_entity_overview(EntityInterface $entity) {
   $languages = language_list();
   $original = $entity->language()->langcode;
   $translations = $entity->getTranslationLanguages();
+  $field_ui = module_exists('field_ui');
 
   $path = $controller->getViewPath($entity);
   $base_path = $controller->getBasePath($entity);
@@ -33,17 +34,37 @@ function translation_entity_overview(EntityInterface $entity) {
       $links = _translation_entity_get_switch_links($path);
     }
 
+    // Determine whether the current entity is translatable.
+    $translatable = FALSE;
+    foreach (field_info_instances($entity->entityType(), $entity->bundle()) as $instance) {
+      $field_name = $instance['field_name'];
+      $field = field_info_field($field_name);
+      if ($field['translatable']) {
+        $translatable = TRUE;
+        break;
+      }
+    }
+
     foreach ($languages as $language) {
-      $options = array();
       $language_name = $language->name;
       $langcode = $language->langcode;
       $add_path = $base_path . '/translations/add/' . $original . '/' . $langcode;
+      $delete_path = $base_path . '/translations/delete/' . $langcode;
 
       if ($base_path) {
         $add_links = _translation_entity_get_switch_links($add_path);
         $edit_links = _translation_entity_get_switch_links($edit_path);
+        $delete_links = _translation_entity_get_switch_links($delete_path);
       }
 
+      $operations = array(
+        'data' => array(
+          '#type' => 'operations',
+          '#links' => array(),
+        ),
+      );
+      $links = &$operations['data']['#links'];
+
       if (isset($translations[$langcode])) {
         // Existing translation in the translation set: display status.
         $source = isset($entity->source[$langcode]) ? $entity->source[$langcode] : '';
@@ -58,8 +79,8 @@ function translation_entity_overview(EntityInterface $entity) {
         }
 
         if ($edit_path && $controller->getAccess($entity, 'update') && $controller->getTranslationAccess($entity, $langcode)) {
-          $link = isset($edit_links->links[$langcode]['href']) ? $edit_links->links[$langcode] : array('href' => $edit_path, 'language' => $language);
-          $options[] = l(t('edit'), $link['href'], $link);
+          $links['edit'] = isset($edit_links->links[$langcode]['href']) ? $edit_links->links[$langcode] : array('href' => $edit_path, 'language' => $language);
+          $links['edit']['title'] = t('edit');
         }
 
         // @todo Consider supporting the ability to track translation publishing
@@ -75,6 +96,8 @@ function translation_entity_overview(EntityInterface $entity) {
         }
         else {
           $source_name = isset($languages[$source]) ? $languages[$source]->name : t('n/a');
+          $links['delete'] = isset($delete_links->links[$langcode]['href']) ? $delete_links->links[$langcode] : array('href' => $delete_links, 'language' => $language);
+          $links['delete']['title'] = t('delete');
         }
       }
       else {
@@ -83,23 +106,20 @@ function translation_entity_overview(EntityInterface $entity) {
         $source = $entity->language()->langcode;
 
         if ($source != $langcode && $controller->getAccess($entity, 'update')) {
-          $translatable = FALSE;
-
-          foreach (field_info_instances($entity->entityType(), $entity->bundle()) as $instance) {
-            $field_name = $instance['field_name'];
-            $field = field_info_field($field_name);
-            if ($field['translatable']) {
-              $translatable = TRUE;
-              break;
-            }
+          if ($translatable) {
+            $links['add'] = isset($add_links->links[$langcode]['href']) ? $add_links->links[$langcode] : array('href' => $add_path, 'language' => $language);
+            $links['add']['title'] = t('add');
+          }
+          elseif ($field_ui) {
+            $path = _field_ui_bundle_admin_path($entity->entityType(), $entity->bundle());
+            $links['nofields'] = array('title' => t('no translatable fields'), 'href' => $path, 'language' => $language);
           }
-
-          $link = isset($add_links->links[$langcode]['href']) ? $add_links->links[$langcode] : array('href' => $add_path, 'language' => $language);
-          $options[] = $translatable ? l(t('add'), $link['href'], $link) : t('No translatable fields');
         }
+
         $status = t('Not translated');
       }
-      $rows[] = array($language_name, $row_title, $source_name, $status, implode(" | ", $options));
+
+      $rows[] = array($language_name, $row_title, $source_name, $status, $operations);
     }
   }
 
