--- ../../../baloghzoltan.info/modules/l10n_client/l10n_client.module	2011-05-16 14:44:05.000000000 +0200
+++ l10n_client.module	2012-01-07 11:23:35.000000000 +0100
@@ -141,19 +141,19 @@
   $header = $table = array();
 
   $query = db_select('locales_source', 's')->extend('PagerDefault');
-  $query->join('locales_target', 't', 's.lid = t.lid');
+  $query->leftJoin('locales_target', 't', "s.lid = t.lid AND COALESCE(t.language, '{$language->language}') = '{$language->language}'");
   $query->fields('s', array('source'))
     ->fields('t', array('translation', 'language'))
-    ->condition('t.language', $language->language)
     ->orderBy('s.source');
 
   if ($display_translated) {
     $header = array(t('Source string'), t('Translation'));
     $query->condition('t.translation', '', '!=');
+    $query->condition('t.language', $language->language);
   }
   else {
     $header = array(t('Source string'));
-    $query->condition('t.translation', '');
+    $query->isNull('t.lid');
   }
   if (!empty($textgroup)) {
     $query->condition('s.textgroup', $textgroup);
@@ -163,7 +163,7 @@
   $allow_translation = (($textgroup == 'default') && ($language->language == 'en')) ? FALSE : $allow_translation;
 
   $result = $query
-    ->limit( L10N_CLIENT_STRINGS)
+    ->limit(L10N_CLIENT_STRINGS)
     ->execute();
 
   foreach ($result as $data) {
@@ -182,7 +182,7 @@
   }
   if (!empty($table)) {
     $pager = theme('pager');
-    $output = $pager . theme('table', $header, $table) . $pager;
+    $output = $pager . theme('table', array('header' => $header, 'rows' => $table, 'empty' => t('No strings available.'))) . $pager;
   } else {
     $output = t('No strings found to translate.');
   }
