? translation_overview-390756.patch
Index: translation_overview.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/translation_overview/translation_overview.module,v
retrieving revision 1.7.2.3
diff -u -p -r1.7.2.3 translation_overview.module
--- translation_overview.module	20 Apr 2010 19:33:42 -0000	1.7.2.3
+++ translation_overview.module	25 Jun 2010 10:19:39 -0000
@@ -256,12 +256,15 @@ function translation_overview_trimmed_ti
  * @param $language Language code.
  * @param $show_long Boolean, indicating if a longer version of the text should
  *   be displayed.
+ * @param $interface_language object to indicate that the interface language should be
+ *   switched to the translations language (see i18n module since 6.x-1.0) 
  * @return Link to the node if the user has permission or else just text.
  */
-function translation_overview_translation_link($node, $translation_node = NULL, $language, $show_long = FALSE) {
+function translation_overview_translation_link($node, $translation_node = NULL, $language, $show_long = FALSE, $interface_language = NULL) {
+  // We may need to switch interface language for translations (see i18n.pages.inc line 35 since i18n version 6.x-1.0).
   $link = array(
     'path' => 'node/'. $node->nid,
-    'options' => array(),
+    'options' => variable_get('i18n_translation_switch', 0) ? array('language' => $interface_language) : array(),
   );
   $priorities = translation_overview_get_node_priority($node);
   $properties = array(
Index: translation_overview.pages.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/translation_overview/translation_overview.pages.inc,v
retrieving revision 1.8.2.4
diff -u -p -r1.8.2.4 translation_overview.pages.inc
--- translation_overview.pages.inc	20 Apr 2010 19:33:42 -0000	1.8.2.4
+++ translation_overview.pages.inc	25 Jun 2010 10:19:39 -0000
@@ -341,7 +341,14 @@ function translation_overview_manager_pa
 
   // Get a list of the enabled languages that this user manages.
   $languages = array();
-  foreach (language_list() as $key => $language) {
+	// For the "i18n_translation_switch", we need the complete language objects.
+	// Other parts of this module might be adapted to use this list as well?
+	$interface_languages = language_list();
+	foreach ($interface_languages as $key => $language) {
+	  if ($language->enabled) {
+	    $languages[$key] = $language->language;
+	  }
+
     if ($language->enabled && translation_overview_is_manager($language->language)) {
       $languages[$key] = $language->name;
     }
@@ -383,7 +390,7 @@ function translation_overview_manager_pa
     foreach ($languages as $lang_code => $lang_name) {
       $translation = empty($translations[$lang_code]->nid) ? NULL : node_load($translations[$lang_code]->nid);
       $row[$lang_code] = array(
-        'data' => translation_overview_translation_link($node, $translation, $lang_code, FALSE),
+        'data' => translation_overview_translation_link($node, $translation, $lang_code, FALSE, $interface_languages[$lang_code]),
         'class' => 'status',
       );
     }
