Index: uc_cart_checkout_pane.inc
===================================================================
--- uc_cart_checkout_pane.inc	(revision 23792)
+++ uc_cart_checkout_pane.inc	(working copy)
@@ -32,8 +32,19 @@
         'type' => 'cart_item',
         'subject' => array(),
       );
+      global $language;
       foreach ($items as $item) {
-        $desc = check_plain($item->title) . uc_product_get_description($item);
+        $node = node_load($item->nid);
+        $tnode = $item;
+        if (module_exists('translation')) {
+          $translations = translation_node_get_translations($node->tnid);
+          if ($translations[$language->language]) {
+            $tnode = node_load($translations[$language->language]->nid);
+          } else {
+            $tnode = $node;
+          }
+        }
+        $desc = check_plain($tnode->title) . uc_product_get_description($item);
 
         $price_info = array(
           'price' => $item->price,
@@ -583,6 +594,7 @@
 
   // Set up table rows.
   $contents = uc_cart_get_contents();
+  global $language;
   foreach ($contents as $item) {
     $price_info = array(
       'price' => $item->price,
@@ -600,7 +612,17 @@
     $total = uc_price($price_info, $context);
     $subtotal += $total;
 
-    $description = check_plain($item->title) . uc_product_get_description($item);
+    $node = node_load($item->nid);
+    $tnode = $item;
+    if (module_exists('translation')) {
+      $translations = translation_node_get_translations($node->tnid);
+      if ($translations[$language->language]) {
+        $tnode = node_load($translations[$language->language]->nid);
+      } else {
+        $tnode = $node;
+      }
+    }
+    $description = check_plain($tnode->title) . uc_product_get_description($item);
 
     // Remove node from context to prevent the price from being altered.
     $context['revision'] = 'themed-original';
