mkanat%bugzilla.org f6a64bb6e1 Bug 512623: Implement the basic infrastructure for localization of all custom and standard field values
Patch by Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@258541 18797224-902f-48f8-a5cc-f745e15eee43
2009-09-30 22:33:37 +00:00

166 lines
7.8 KiB
Cheetah

[%# 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 Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Gervase Markham <gerv@gerv.net>
# Elliotte Martin <elliotte_martin@yahoo.com>
#%]
[%# Remember to PROCESS rather than INCLUDE this template. %]
[% PROCESS global/variables.none.tmpl %]
[% field_descs = { "[Bug creation]" => "[$terms.Bug creation]",
"actual_time" => "Actual Hours",
"alias" => "Alias",
"assigned_to" => "Assignee",
"attach_data.thedata" => "Attachment data",
"attachments.description" => "Attachment description",
"attachments.filename" => "Attachment filename",
"attachments.mimetype" => "Attachment mime type",
"attachments.ispatch" => "Attachment is patch",
"attachments.isobsolete" => "Attachment is obsolete",
"attachments.isprivate" => "Attachment is private",
"attachments.isurl" => "Attachment is a URL",
"attachments.submitter" => "Attachment creator",
"blocked" => "Blocks",
"bug_file_loc" => "URL",
"bug_group" => "Group",
"bug_id" => "$terms.Bug ID",
"bug_severity" => "Severity",
"bug_status" => "Status",
"changeddate" => "Changed",
"cc" => "CC",
"classification" => "Classification",
"cclist_accessible" => "CC list accessible",
"commenter" => "Commenter",
"component_id" => "Component ID",
"component" => "Component",
"content" => "Content",
"creation_ts" => "Creation date",
"deadline" => "Deadline",
"delta_ts" => "Changed",
"dependson" => "Depends on",
"dup_id" => "Duplicate",
"estimated_time" => "Orig. Est.",
"everconfirmed" => "Ever confirmed",
"flagtypes.name" => "Flags",
"keywords" => "Keywords",
"longdesc" => "Comment",
"longdescs.isprivate" => "Comment is private",
"newcc" => "CC",
"op_sys" => "OS",
"opendate" => "Opened",
"owner_idle_time" => "Time Since Assignee Touched",
"percentage_complete" => "%Complete",
"priority" => "Priority",
"product_id" => "Product ID",
"product" => "Product",
"qa_contact" => "QA Contact",
"remaining_time" => "Hours Left",
"rep_platform" => "Hardware",
"reporter" => "Reporter",
"reporter_accessible" => "Reporter accessible",
"requestees.login_name" => "Flag Requestee",
"resolution" => "Resolution",
"see_also" => "See Also",
"setters.login_name" => "Flag Setter",
"setting" => "Setting",
"settings" => "Settings",
"short_desc" => "Summary",
"status_whiteboard" => "Whiteboard",
"target_milestone" => "Target Milestone",
"version" => "Version",
"votes" => "Votes",
"work_time" => "Hours Worked"} %]
[%# Also include any custom fields or fields which don't have a
Description here, by copying their Description from the
database. If you want to override this for your language
or your installation, just use a hook. %]
[% UNLESS Param('shutdownhtml') %]
[% FOREACH bz_field = bug_fields.values %]
[% SET field_descs.${bz_field.name} = bz_field.description
IF !field_descs.${bz_field.name}.defined %]
[% END %]
[% END %]
[% SET search_descs = {
"noop" => "---",
"equals" => "is equal to",
"notequals" => "is not equal to",
"anyexact" => "is equal to any of the strings",
"substring" => "contains the string",
"casesubstring" => "contains the string (exact case)",
"notsubstring" => "does not contain the string",
"anywordssubstr" => "contains any of the strings",
"allwordssubstr" => "contains all of the strings",
"nowordssubstr" => "contains none of the strings",
"regexp" => "matches regular expression",
"notregexp" => "does not match regular expression",
"lessthan" => "is less than",
"lessthaneq" => "is less than or equal to",
"greaterthan" => "is greater than",
"greaterthaneq" => "is greater than or equal to",
"anywords" => "contains any of the words",
"allwords" => "contains all of the words",
"nowords" => "contains none of the words",
"changedbefore" => "changed before",
"changedafter" => "changed after",
"changedfrom" => "changed from",
"changedto" => "changed to",
"changedby" => "changed by",
"matches" => "matches",
} %]
[% field_types = { ${constants.FIELD_TYPE_UNKNOWN} => "Unknown Type",
${constants.FIELD_TYPE_FREETEXT} => "Free Text",
${constants.FIELD_TYPE_SINGLE_SELECT} => "Drop Down",
${constants.FIELD_TYPE_MULTI_SELECT} => "Multiple-Selection Box",
${constants.FIELD_TYPE_TEXTAREA} => "Large Text Box",
${constants.FIELD_TYPE_DATETIME} => "Date/Time",
${constants.FIELD_TYPE_BUG_ID} => "$terms.Bug ID",
} %]
[%# You can use this hash to localize (translate) the values displayed
# for drop-down and multiple-select fields. Lines starting with "#"
# are comments.
#%]
[% value_descs = {
"bug_status" => {
# "UNCONFIRMED" => "UNCO",
# "NEW" => "NEWISH",
},
"resolution" => {
# "FIXED" => "NO LONGER AN ISSUE",
# "MOVED" => "BYE-BYE",
},
} %]
[%# We use "FILTER none" here because only the caller can know how to
# filter the result appropriately.
#%]
[% MACRO display_value(field_name, value_name) BLOCK %][% FILTER trim %]
[% IF value_descs.${field_name}.${value_name}.defined %]
[% value_descs.${field_name}.${value_name} FILTER none %]
[% ELSE %]
[% value_name FILTER none %]
[% END %]
[% END %][% END %]
[% Hook.process("end") %]