diff --git a/eck.bundle.inc b/eck.bundle.inc
index f0fa91e..8a11112 100644
--- a/eck.bundle.inc
+++ b/eck.bundle.inc
@@ -19,6 +19,22 @@ function eck__bundle__menu($entity_type) {
   $path = eck__entity_type__path();
   $menu = array();
 
+
+  // Dummy menu items so that entity translation will not complain about their
+  // not being a default.
+  $menu["$entity_type->name/%"] = array(
+    'page callback' => FALSE,
+    'page arguments' => array(),
+    'access callback' => FALSE,
+    'access arguments' => array(),
+  );
+  $menu["$entity_type->name/%/edit"] = array(
+    'page callback' => FALSE,
+    'page arguments' => array(),
+    'access callback' => FALSE,
+    'access arguments' => array(),
+  );
+
   // DELETE ENTITY TYPE
   $menu["{$path}/{$entity_type->name}/delete"] = array(
     'title' => "Delete",
diff --git a/eck.entity.inc b/eck.entity.inc
index 0f6eb39..768c4e5 100644
--- a/eck.entity.inc
+++ b/eck.entity.inc
@@ -421,12 +421,17 @@ function eck__entity__delete_form_submit($form, &$form_state) {
  * @param $entity
  *  an object as returned by entity_load()
  */
-function eck__entity__form($form, $form_state, $entity) {
+function eck__entity__form($form, &$form_state, $entity) {
   $form['entity'] = array(
     '#type' => 'value',
     '#value' => $entity
   );
-  
+  $form['#entity_type'] = array(
+    '#type' => 'value',
+    '$value' => $entity->type,
+  );
+  $form_state[$entity->entityType()] = $entity;
+
   // Property Widget Handling through property_info by entity api 
   $property_info = entity_get_property_info($entity->entityType());
   $properties = array();
@@ -457,14 +462,26 @@ function eck__entity__form($form, $form_state, $entity) {
       $form[$property] = $widget;
     }
   }
-  
-  $form['submit'] = array(
+
+  $form['actions'] = array(
+    '#type' => 'actions',
+  );
+  $form['actions']['submit'] = array(
     '#type' => 'submit',
     '#weight' => 10000,
     '#value' => t('Save'),
   );
 
-  field_attach_form($entity->entityType(), $entity, $form, $form_state);
+  if (module_exists('entity_translation') &&
+    entity_translation_enabled($entity->entityType())) {
+    $handler = entity_translation_get_handler($entity->entityType(), $entity);
+    $langcode = $handler->getFormLanguage();
+  }
+  else {
+    $langcode = NULL;
+  }
+
+  field_attach_form($entity->entityType(), $entity, $form, $form_state, $langcode);
 
   return $form;
 }
diff --git a/eck.entity_type.inc b/eck.entity_type.inc
index 382d1b8..8b56f9c 100644
--- a/eck.entity_type.inc
+++ b/eck.entity_type.inc
@@ -397,14 +397,32 @@ function eck__entity_type__info($entity_type) {
           'label' => t('Teaser'),
           'custom settings' => TRUE,
       )
-    )
+    ),
+    'translation' => array(
+      'entity_translation' => array(
+        'class' => 'EntityTranslationECKHandler',
+        // This will be populated based on the bundles.
+       'path schemes' => array(
+          'default' => array(
+            'base path' => "$entity_type->name/%",
+            'path wildcard' => '%',
+          ),
+        ),
+      ),
+    ),
   );
-  
+
   $eck_path = eck__entity_type__path();
   foreach (Bundle::loadByEntityType($entity_type) as $bundle) {
     $bundle_label = $bundle->label;
     $path = "{$eck_path}/{$entity_type->name}/{$bundle->name}";
-    
+
+    $info[$entity_type->name]['translation']['entity_translation']['path schemes'][$bundle->name] = array(
+      'base path' => "{$entity_type->name}/{$bundle->name}/%",
+      'translate path' => "{$entity_type->name}/{$bundle->name}/%/translate",
+      'path wildcard' => '%',
+    );
+
     $info[$entity_type->name]['bundles'][$bundle->name] = array(
       'label' => $bundle_label,
       'admin' => array(
diff --git a/eck.info b/eck.info
index cda7e91..88690a3 100644
--- a/eck.info
+++ b/eck.info
@@ -7,6 +7,7 @@ configure = admin/structure/entity-type
 dependencies[] = entity
 dependencies[] = ctools
 
+files[] = includes/translation.handler.eck.inc
 files[] = views/handlers/eck_views_handler_field_link.inc
 files[] = views/handlers/eck_views_handler_field_link_edit.inc
 files[] = views/handlers/eck_views_handler_field_link_delete.inc
