Index: misc/drupal.js =================================================================== RCS file: /cvs/drupal/drupal/misc/drupal.js,v retrieving revision 1.66 diff -u -p -r1.66 drupal.js --- misc/drupal.js 14 May 2010 16:44:37 -0000 1.66 +++ misc/drupal.js 23 May 2010 00:01:46 -0000 @@ -216,7 +216,7 @@ Drupal.formatPlural = function (count, s else { args['@count[' + index + ']'] = args['@count']; delete args['@count']; - return Drupal.t(plural.replace('@count', '@count[' + index + ']')); + return Drupal.t(plural.replace('@count', '@count[' + index + ']'), args); } }; Index: includes/locale.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/locale.inc,v retrieving revision 1.254 diff -u -p -r1.254 locale.inc --- includes/locale.inc 1 May 2010 08:12:22 -0000 1.254 +++ includes/locale.inc 23 May 2010 00:01:47 -0000 @@ -1637,34 +1637,13 @@ function _locale_rebuild_js($langcode = } // Construct the array for JavaScript translations. - // We sort on plural so that we have all plural forms before singular forms. - $result = db_query("SELECT s.lid, s.source, t.plid, t.plural, t.translation FROM {locales_source} s LEFT JOIN {locales_target} t ON s.lid = t.lid AND t.language = :language WHERE s.location LIKE '%.js%' AND s.textgroup = :textgroup ORDER BY t.plural DESC", array(':language' => $language->language, ':textgroup' => 'default')); + $result = db_query("SELECT s.lid, s.source, t.translation FROM {locales_source} s LEFT JOIN {locales_target} t ON s.lid = t.lid AND t.language = :language WHERE s.location LIKE '%.js%' AND s.textgroup = :textgroup", array(':language' => $language->language, ':textgroup' => 'default')); $translations = $plurals = array(); foreach ($result as $data) { // Only add this to the translations array when there is actually a translation. if (!empty($data->translation)) { - if ($data->plural) { - // When the translation is a plural form, first add it to another array and - // wait for the singular (parent) translation. - if (!isset($plurals[$data->plid])) { - $plurals[$data->plid] = array($data->plural => $data->translation); - } - else { - $plurals[$data->plid] += array($data->plural => $data->translation); - } - } - elseif (isset($plurals[$data->lid])) { - // There are plural translations for this translation, so get them from - // the plurals array and add them to the final translations array. - $translations[$data->source] = array($data->plural => $data->translation) + $plurals[$data->lid]; - unset($plurals[$data->lid]); - } - else { - // There are no plural forms for this translation, so just add it to - // the translations array. - $translations[$data->source] = $data->translation; - } + $translations[$data->source] = $data->translation; } }