diff options
author | David Rothstein <drothstein@gmail.com> | 2015-03-29 18:18:17 -0400 |
---|---|---|
committer | David Rothstein <drothstein@gmail.com> | 2015-03-29 18:18:17 -0400 |
commit | 25ddf78e41129890dd671b9c8c4f817bfc411200 (patch) | |
tree | 6f9144b8f495d07fbeb011a50c4496b84e84376c /includes | |
parent | 9ddfc4697d91b75823bad166666e27f433517b80 (diff) | |
download | brdo-25ddf78e41129890dd671b9c8c4f817bfc411200.tar.gz brdo-25ddf78e41129890dd671b9c8c4f817bfc411200.tar.bz2 |
Issue #495930 by fietserwin: Translated strings not correctly marked in the administrative interface when the default language is not English
Diffstat (limited to 'includes')
-rw-r--r-- | includes/locale.inc | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/includes/locale.inc b/includes/locale.inc index 00ac18805..c7f958385 100644 --- a/includes/locale.inc +++ b/includes/locale.inc @@ -1931,7 +1931,7 @@ function _locale_translate_seek() { $groups[$string['group']], array('data' => check_plain(truncate_utf8($string['source'], 150, FALSE, TRUE)) . '<br /><small>' . $string['location'] . '</small>'), $string['context'], - array('data' => _locale_translate_language_list($string['languages'], $limit_language), 'align' => 'center'), + array('data' => _locale_translate_language_list($string, $limit_language), 'align' => 'center'), array('data' => l(t('edit'), "admin/config/regional/translate/edit/$lid", array('query' => drupal_get_destination())), 'class' => array('nowrap')), array('data' => l(t('delete'), "admin/config/regional/translate/delete/$lid", array('query' => drupal_get_destination())), 'class' => array('nowrap')), ); @@ -2126,16 +2126,21 @@ function _locale_rebuild_js($langcode = NULL) { /** * List languages in search result table */ -function _locale_translate_language_list($translation, $limit_language) { +function _locale_translate_language_list($string, $limit_language) { // Add CSS. drupal_add_css(drupal_get_path('module', 'locale') . '/locale.css'); + // Include both translated and not yet translated target languages in the + // list. The source language is English for built-in strings and the default + // language for other strings. $languages = language_list(); - unset($languages['en']); + $default = language_default(); + $omit = $string['group'] == 'default' ? 'en' : $default->language; + unset($languages[$omit]); $output = ''; foreach ($languages as $langcode => $language) { if (!$limit_language || $limit_language == $langcode) { - $output .= (!empty($translation[$langcode])) ? $langcode . ' ' : "<em class=\"locale-untranslated\">$langcode</em> "; + $output .= (!empty($string['languages'][$langcode])) ? $langcode . ' ' : "<em class=\"locale-untranslated\">$langcode</em> "; } } |