diff --git a/includes/locale.inc b/includes/locale.inc index fde19dd..c168da0 100644 --- a/includes/locale.inc +++ b/includes/locale.inc @@ -1860,7 +1860,16 @@ 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 = :langcode", array(':langcode' => $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')); @@ -1889,12 +1898,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']);