? translations
? includes/database/translations
? includes/filetransfer/translations
? modules/aggregator/translations
? modules/block/translations
? modules/blog/translations
? modules/book/translations
? modules/color/translations
? modules/comment/translations
? modules/contact/translations
? modules/contextual/translations
? modules/dashboard/translations
? modules/dblog/translations
? modules/field/translations
? modules/field/modules/field_sql_storage/translations
? modules/field/modules/list/translations
? modules/field/modules/number/translations
? modules/field/modules/options/translations
? modules/field/modules/text/translations
? modules/field_ui/translations
? modules/file/translations
? modules/filter/translations
? modules/forum/translations
? modules/help/translations
? modules/image/translations
? modules/locale/translations
? modules/menu/translations
? modules/node/translations
? modules/openid/translations
? modules/overlay/translations
? modules/path/translations
? modules/php/translations
? modules/poll/translations
? modules/profile/translations
? modules/rdf/translations
? modules/search/translations
? modules/shortcut/translations
? modules/simpletest/translations
? modules/statistics/translations
? modules/syslog/translations
? modules/system/translations
? modules/taxonomy/translations
? modules/toolbar/translations
? modules/tracker/translations
? modules/translation/translations
? modules/trigger/translations
? modules/update/translations
? modules/user/translations
? profiles/standard/translations/sv.po
? sites/default/files
? sites/default/settings.php
? themes/bartik/translations
? themes/bartik/color/translations
? themes/garland/translations
? themes/garland/color/translations
Index: includes/locale.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/locale.inc,v
retrieving revision 1.266
diff -u -p -r1.266 locale.inc
--- includes/locale.inc	3 Jan 2011 18:03:54 -0000	1.266
+++ includes/locale.inc	7 Jan 2011 20:36:43 -0000
@@ -1624,7 +1624,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'));
 
@@ -1653,12 +1661,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']);
@@ -1668,7 +1670,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) {
Index: modules/locale/locale.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/locale/locale.test,v
retrieving revision 1.88
diff -u -p -r1.88 locale.test
--- modules/locale/locale.test	30 Nov 2010 01:05:24 -0000	1.88
+++ modules/locale/locale.test	7 Jan 2011 20:36:44 -0000
@@ -502,6 +502,17 @@ class LocaleTranslationFunctionalTest ex
     $this->drupalPost('admin/config/regional/translate/translate', $search, t('Filter'));
     $this->assertNoText(t('No strings available.'), t('Search found the string.'));

+    // Ensure untranslated string appears if searching on 'only untranslated
+    // strings' when using another language than english.
+    $search = array(
+      'string' => $name,
+      'language' => $langcode,
+      'translation' => 'untranslated',
+      'group' => 'all',
+    );
+    $this->drupalPost('admin/config/regional/translate/translate', $search, t('Filter'));
+    $this->assertNoText(t('No strings available when searching using another language than english.'), t('Search found the string.'));
+
     // Add translation.
     // Assume this is the only result, given the random name.
     $this->clickLink(t('edit'));
