From 657ea46427113c7e2424414455a384824d56a809 Mon Sep 17 00:00:00 2001 From: Max Kanat-Alexander Date: Wed, 13 Oct 2010 16:32:39 -0700 Subject: Bug 581448: Localize the status and resolution values in the list of possible duplicates on enter_bug.cgi r=LpSolit, a=LpSolit --- js/bug.js | 6 +++-- js/global.js | 8 +++++++ template/en/default/global/header.html.tmpl | 13 ++++++++++ template/en/default/global/value-descs.js.tmpl | 33 ++++++++++++++++++++++++++ 4 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 template/en/default/global/value-descs.js.tmpl diff --git a/js/bug.js b/js/bug.js index ca888a68f..ab3322ccd 100644 --- a/js/bug.js +++ b/js/bug.js @@ -76,11 +76,13 @@ YAHOO.bugzilla.dupTable = { }, formatStatus: function(el, oRecord, oColumn, oData) { var resolution = oRecord.getData('resolution'); + var bug_status = display_value('bug_status', oData); if (resolution) { - el.innerHTML = oData + ' ' + resolution; + el.innerHTML = bug_status + ' ' + + display_value('resolution', resolution); } else { - el.innerHTML = oData; + el.innerHTML = bug_status; } }, formatCcButton: function(el, oRecord, oColumn, oData) { diff --git a/js/global.js b/js/global.js index 2d3974150..d6e11e9b1 100644 --- a/js/global.js +++ b/js/global.js @@ -119,3 +119,11 @@ function set_language( value ) { }); window.location.reload() } + +// This basically duplicates Bugzilla::Util::display_value for code that +// can't go through the template and has to be in JS. +function display_value(field, value) { + var translated = BUGZILLA.value_descs[field][value]; + if (translated) return translated; + return value; +} diff --git a/template/en/default/global/header.html.tmpl b/template/en/default/global/header.html.tmpl index 772e775e9..aa6604d2c 100644 --- a/template/en/default/global/header.html.tmpl +++ b/template/en/default/global/header.html.tmpl @@ -64,6 +64,13 @@ datatable => ['json', 'connection', 'datasource', 'element'], } %] +[%# When using certain YUI modules, we need to process certain + # extra JS templates. + #%] +[% SET yui_templates = { + datatable => ['global/value-descs.js.tmpl'], +} %] + [%# These are JS URLs that are *always* on the page and come before # every other JS URL. #%] @@ -198,6 +205,12 @@ 'You must select a Version for this [% terms.bug %].' } }; + + [% FOREACH yui_name = yui %] + [% FOREACH yui_template = yui_templates.$yui_name %] + [% PROCESS $yui_template %] + [% END %] + [% END %] [% IF javascript %] [% javascript %] [% END %] diff --git a/template/en/default/global/value-descs.js.tmpl b/template/en/default/global/value-descs.js.tmpl new file mode 100644 index 000000000..d432cf135 --- /dev/null +++ b/template/en/default/global/value-descs.js.tmpl @@ -0,0 +1,33 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Everything Solved, Inc. + # Portions created by the Initial Developer are Copyright (C) 2010 + # the Initial Developer. All Rights Reserved. + # + # Contributor(s): + # Max Kanat-Alexander + #%] + +[% PROCESS "global/field-descs.none.tmpl" %] + +BUGZILLA.value_descs = { + [% FOREACH vd_field = value_descs.keys %] + [% vd_field FILTER js %]: { + [% FOREACH vd_value = value_descs.${vd_field}.keys %] + '[% vd_value FILTER js %]': + '[% value_descs.${vd_field}.${vd_value} FILTER js %]' + [%~ ',' UNLESS loop.last %] + [% END %] + }[% ',' UNLESS loop.last %] + [% END %] +}; -- cgit v1.2.3-24-g4f1b