Index: comment.module
===================================================================
--- modules/comment/comment.module	(revision 249)
+++ modules/comment/comment.module	(revision 293)
@@ -1841,7 +1841,7 @@
       'comment' => '',
       'cid' => NULL,
       'pid' => NULL,
-      'language' => LANGUAGE_NONE,
+      'language' => comment_get_language(NULL),
       'uid' => 0,
     );
     foreach ($defaults as $key => $value) {
@@ -2029,7 +2029,7 @@
 
   // Attach fields.
   $comment->node_type = 'comment_node_' . $node->type;
-  field_attach_form('comment', $comment, $form, $form_state);
+  field_attach_form('comment', $comment, $form, $form_state,isset($comment->language) ? $comment->language : '');
 
   return $form;
 }
@@ -2054,7 +2054,7 @@
   $node = node_load($comment->nid);
 
   if (!form_get_errors()) {
-    $comment->format = $comment->comment_body[LANGUAGE_NONE][0]['format'];
+    $comment->format = $comment->comment_body[comment_get_language ($comment->cid)][0]['format'];
     // Attach the user and time information.
     if (!empty($comment->name)) {
       $account = user_load_by_name($comment->name);
@@ -2178,7 +2178,7 @@
     // 1) Filter it into HTML
     // 2) Strip out all HTML tags
     // 3) Convert entities back to plain-text.
-    $comment_body = $comment->comment_body[LANGUAGE_NONE][0];
+    $comment_body = $comment->comment_body[comment_get_language ($comment->cid)][0];
     if (isset($comment_body['format'])) {
       $comment_text = check_markup($comment_body['value'], $comment_body['format']);
     }
@@ -2714,3 +2714,22 @@
     return FALSE;
   }
 }
+
+
+function comment_get_language ($cid) {
+  if (module_exists('entity_translation')) {
+    $entity_translation_entity_types = variable_get('entity_translation_entity_types', array());
+    if ($cid != NULL && $cid != 0 && isset($entity_translation_entity_types['comment']) && $entity_translation_entity_types['comment'] = 'comment') {
+      $ids= array($cid);
+      $langcode = entity_language('comment', entity_load('comment',$ids,array(),FALSE));
+    }
+    else {
+      $langcode = $GLOBALS['language_content']->language;
+    }
+  }
+  else {
+    $langcode = LANGUAGE_NONE;
+  }
+  return $langcode;
+}
+
Index: comment.admin.inc
===================================================================
--- modules/comment/comment.admin.inc	(revision 249)
+++ modules/comment/comment.admin.inc	(revision 293)
@@ -86,7 +86,7 @@
   // comments later.
   foreach ($result as $row) {
     $cids[] = $row->cid;
-    $node_titles[] = $row->node_title;
+    //$node_titles[] = $row->node_title;
   }
   $comments = comment_load_multiple($cids);
 
@@ -97,14 +97,14 @@
   foreach ($comments as $comment) {
     // Remove the first node title from the node_titles array and attach to
     // the comment.
-    $comment->node_title = array_shift($node_titles);
+    $comment->node_title = node_load($comment->nid)->title;
     $options[$comment->cid] = array(
       'subject' => array(
         'data' => array(
           '#type' => 'link',
           '#title' => $comment->subject,
           '#href' => 'comment/' . $comment->cid,
-          '#options' => array('attributes' => array('title' => truncate_utf8($comment->comment_body[LANGUAGE_NONE][0]['value'], 128)), 'fragment' => 'comment-' . $comment->cid),
+          '#options' => array('attributes' => array('title' => truncate_utf8(isset($comment->comment_body[$GLOBALS['language_content']->language][0]['value']) ? $comment->comment_body[$GLOBALS['language_content']->language][0]['value'] : $comment->comment_body[LANGUAGE_NONE][0]['value'], 128)), 'fragment' => 'comment-' . $comment->cid),
         ),
       ),
       'author' => theme('username', array('account' => $comment)),