--- modules/menu.translation_table.inc	2010-08-13 16:25:09.000000000 +0200
+++ modules/menu.translation_table.inc	2010-09-03 10:07:27.390625000 +0200
@@ -25,9 +25,10 @@ function menu_translation_table_data() {
  */
 function menu_translation_table_menu_form(&$form_state) {
   $languages_selected = isset($_SESSION['translation_table']['languages_selected']) ? $_SESSION['translation_table']['languages_selected'] : locale_language_list('name', FALSE);
+  $all_languages_only = isset($_SESSION['translation_table']['all_languages_only']) ? $_SESSION['translation_table']['all_languages_only'] : TRUE;
 
-  $form['filter'] = menu_translation_table_menu_filter($languages_selected);
-  $form['filtered_form'] = menu_translation_table_menu_filtered_form($languages_selected);
+  $form['filter'] = menu_translation_table_menu_filter($languages_selected, $all_languages_only);
+  $form['filtered_form'] = menu_translation_table_menu_filtered_form($languages_selected, $all_languages_only);
   $form['#submit'][] = 'menu_translation_table_menu_form_submit';
   $form['#submit'][] = 'translation_table_submit_translations';
   return $form;
@@ -36,7 +37,7 @@ function menu_translation_table_menu_for
 /**
  * Menu filter.
  */
-function menu_translation_table_menu_filter($languages_selected) {
+function menu_translation_table_menu_filter($languages_selected, $all_languages_only) {
   $form['languages_selected'] = array(
     '#type' => 'select',
     '#title' => t('Languages'),
@@ -46,6 +47,13 @@ function menu_translation_table_menu_fil
     '#multiple' => TRUE,
   );
 
+  $form['all_languages_only'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Multilingual items only'),
+    '#description' => t('Select whether to display only multilingual menu items.'),
+    '#default_value' => $all_languages_only,
+  );
+
   $form['filter'] = array(
     '#type' => 'submit',
     '#value' => t('Filter'),
@@ -63,7 +71,7 @@ function menu_translation_table_menu_fil
  * @param $languages
  *   languages to translate to
  */
-function menu_translation_table_menu_filtered_form($languages) {
+function menu_translation_table_menu_filtered_form($languages, $all_languages_only) {
   $header = _translation_table_get_header($languages);
 
   $sql = "SELECT ls.lid, ls.source, ls.location FROM {locales_source} ls WHERE ls.textgroup = 'menu'";
@@ -80,7 +88,18 @@ function menu_translation_table_menu_fil
 
   while ($source = db_fetch_object($result)) {
     if (strlen(trim($source->source)) > 0) {
-      $form['strings'][$source->lid] = _translation_table_row($source, $languages);
+      if (!$all_languages_only) {
+        $form['strings'][$source->lid] = _translation_table_row($source, $languages);
+      }
+      else {
+        unset($matches);
+        if (preg_match('`^item:(\d+):`', $source->location, $matches)) {
+          $item = menu_link_load($matches[1]);
+          if (!isset($item['localized_options']['langcode']) || empty($item['localized_options']['langcode'])) {
+            $form['strings'][$source->lid] = _translation_table_row($source, $languages);
+          }
+        }
+      }
     }
   }
 
@@ -106,7 +125,7 @@ function menu_translation_table_menu_for
     case 'edit-filter':
     case 'edit-submit':
       $_SESSION['translation_table']['languages_selected'] = array_intersect_key(locale_language_list('name', TRUE), $form_state['values']['languages_selected']);
+      $_SESSION['translation_table']['all_languages_only'] = $form_state['values']['all_languages_only'];
       break;
   }
 }
-
