summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
Diffstat (limited to 'includes')
-rw-r--r--includes/locale.inc17
1 files changed, 10 insertions, 7 deletions
diff --git a/includes/locale.inc b/includes/locale.inc
index fde19dd55..c168da0a7 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']);