Index: includes/locale.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/locale.inc,v
retrieving revision 1.264
diff -u -p -r1.264 locale.inc
--- includes/locale.inc	21 Nov 2010 09:01:30 -0000	1.264
+++ includes/locale.inc	26 Nov 2010 16:04:06 -0000
@@ -1609,7 +1609,15 @@ function _locale_translate_seek() {
   }
 
   $sql_query = db_select('locales_source', 's');
-  $sql_query->leftJoin('locales_target', 't', 't.lid = s.lid');
+
+  $limit_language = NULL;
+  if ($query['language'] != 'en' && $query['language'] != 'all') {
+    $sql_query->leftJoin('locales_target', 't', 't.lid = s.lid AND t.language = :language', array(':language' => $query['language']));
+    $limit_language = $query['language'];
+  }
+  else {
+    $sql_query->leftJoin('locales_target', 't', 't.lid = s.lid');
+  }
   $sql_query->fields('s', array('source', 'location', 'context', 'lid', 'textgroup'));
   $sql_query->fields('t', array('translation', 'language'));
 
@@ -1638,12 +1646,6 @@ function _locale_translate_seek() {
       break;
   }
 
-  $limit_language = NULL;
-  if ($query['language'] != 'en' && $query['language'] != 'all') {
-    $sql_query->condition('language', $query['language']);
-    $limit_language = $query['language'];
-  }
-
   // Add a condition on the text group.
   if (!empty($query['group']) && $query['group'] != 'all') {
     $sql_query->condition('s.textgroup', $query['group']);
@@ -1653,7 +1655,11 @@ function _locale_translate_seek() {
   $locales = $sql_query->execute();
 
   $groups = module_invoke_all('locale', 'groups');
-  $header = array(t('Text group'), t('String'), t('Context'), ($limit_language) ? t('Language') : t('Languages'), array('data' => t('Operations'), 'colspan' => '2'));
+  $languages = language_list('language');
+  // Use singular Language if query is limited by language
+  // or there are less than 3 languages.
+  $language_count = ($limit_language || count($languages) < 3) ? 1 : 2;
+  $header = array(t('Text group'), t('String'), t('Context'), format_plural($language_count, 'Language', 'Languages'), array('data' => t('Operations'), 'colspan' => '2'));
 
   $strings = array();
   foreach ($locales as $locale) {
