[%# 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>
  #                 Frédéric Buclin <LpSolit@gmail.com>
  #                 Max Kanat-Alexander <mkanat@bugzilla.org>
  #%]

[%# INTERFACE:
  # header_done: boolean. True if the Bugzilla header has already been printed.
  # error: string. The tag of the error, or the error message to be displayed
  # (deprecated). May contain HTML if it's an error message.
  #%]

[% DEFAULT title = "Error" %]

[% ex = ("error_" _ error) FILTER block_exists %]

[% IF ex %]
  [% error_message = ("error_" _ error) FILTER process %]
[% ELSE %]
  [%# Try to find hooked error messages %]
  [% error_message = Hook.process("errors") %]

  [% IF NOT error_message %]
    [% title = "Error string not found" %]
    [% error_message = BLOCK %]
      The user error string <code>[% error FILTER html %]</code> was not found.
      Please send email to [% Param("maintainer") %] describing the steps taken
      to obtain this message.
    [% END %]
  [% END %]
[% END %]

[% PROCESS "global/user-error-page.html.tmpl" %]

[%##################%]
[%# ERROR MESSAGES #%]
[%##################%]

[%# This is a list of all the possible user errors. Please keep them in
  # alphabetical order by error tag, and leave a blank line between errors.
  #
  # Note that you must explicitly filter every single template variable
  # in this file; if you do not wish to change it, use the "none" filter.
  #
  # Extension- or custom-specific error handling  can be easily added
  # via hooks: just place additional code into
  # template/en/hook/global/user-error-errors.html.tmpl
  # Note: be aware of uniqueness of error string parameter value, since
  # nobody can guarantee the hook files processing order in the future.
  #%]

[% BLOCK error_account_creation_disabled %]
  [% title = "Account Creation Disabled" %]
  User account creation has been disabled.
  <hr>
  New accounts must be created by an administrator. The
  maintainer is [% Param("maintainer") %].
[% END %]

[% BLOCK error_account_creation_restricted %]
  [% title = "Account Creation Restricted" %]
  User account creation has been restricted.
  <hr>
  Contact your administrator or the maintainer
  ([% Param("maintainer") %]) for information about
  creating an account.
[% END %]

[% BLOCK error_account_disabled %]
  [% title = "Account Disabled" %]
  [% disabled_reason FILTER none %]
  <hr>
  If you believe your account should be restored, please
  send email to [% Param("maintainer") %] explaining why.
[% END %]

[% BLOCK error_account_exists %]
  [% title = "Account Already Exists" %]
  There is already an account with
  [% IF email %]
    the login name [% email FILTER html %].
  [% ELSE %]
    that login name.
  [% END %]
[% END %]

[% BLOCK error_account_locked %]
  [% title = "Account Locked" %]
  Your IP ([% ip_addr FILTER html %]) has been locked out of this
  account until [% unlock_at FILTER time %], as you have
  exceeded the maximum number of login attempts.
[% END %]

[% BLOCK error_alias_has_comma_or_space %]
  [% title = "Invalid Characters In Alias" %]
  The alias you entered, <em>[% alias FILTER html %]</em>,
  contains one or more commas or spaces.  Aliases cannot contain
  commas or spaces because those characters are used to separate
  aliases from each other in lists.  Please choose an alias
  that does not contain commas and spaces.
[% END %]

[% BLOCK error_alias_in_use %]
  [% title = "Alias In Use" %]
  [% terms.Bug %] [%+ bug_id FILTER bug_link(bug_id) FILTER none %]
  has already taken the alias <em>[% alias FILTER html %]</em>.
  Please choose another one.
[% END %]

[% BLOCK error_alias_is_numeric %]
  [% title = "Alias Is Numeric" %]
  You tried to give this [% terms.bug %] the alias <em>[% alias FILTER html %]</em>,
  but aliases cannot be merely numbers, since they could
  then be confused with [% terms.bug %] IDs.  Please choose an
  alias containing at least one letter.
[% END %]

[% BLOCK error_alias_too_long %]
  [% title = "Alias Too Long" %]
  [% terms.Bug %] aliases cannot be longer than 20 characters.
  Please choose a shorter alias.
[% END %]

[% BLOCK error_auth_cant_create_account %]
  [% title = "Can't create accounts" %]
  This site is using an authentication scheme which does not permit
  account creation. Please contact an administrator to get a new account
  created.
[% END %]

[% BLOCK error_auth_failure %]
  [% title = "Authorization Required" %]
  [% admindocslinks = {'groups.html' => 'Group Security'} %]
  Sorry,
  [% IF group %]
    you aren't a member of the '[% group FILTER html %]' group,
  [% END %]
  [% IF reason %]
    [% IF group %] and [% END %]
    [% IF reason == "cant_bless" %]
      you don't have permissions to add or remove people from a group,
    [% ELSIF reason == "not_visible" %]
      there are visibility restrictions on certain user groups,
    [% END %]
  [% END %]
  [% IF group || reason %] and so [% END %] you are not authorized to
  [% IF action == "add" %]
    add new
  [% ELSIF action == "edit" %]
    add, modify or delete
  [% ELSE %]
    [%+ action %]
  [% END %]
  [% IF object == "administrative_pages" %]
    administrative pages
  [% ELSIF object == "attachment" %]
    [% IF attach_id %]
      attachment #[% attach_id FILTER html %]
    [% ELSE %]
      this attachment
    [% END %]
  [% ELSIF object == "bugs" %]
    [%+ terms.bugs %]
  [% ELSIF object == "charts" %]
    the "New Charts" feature
  [% ELSIF object == "classifications" %]
    classifications
  [% ELSIF object == "components" %]
    components
  [% ELSIF object == "custom_fields" %]
    custom fields
  [% ELSIF object == "field_values" %]
    field values
  [% ELSIF object == "flagtypes" %]
    flag types
  [% ELSIF object == "group_access" %]
    group access
  [% ELSIF object == "groups" %]
    groups
  [% ELSIF object == "keywords" %]
    keywords
  [% ELSIF object == "milestones" %]
    milestones
  [% ELSIF object == "multiple_bugs" %]
    multiple [% terms.bugs %] at once
  [% ELSIF object == "parameters" %]
    parameters
  [% ELSIF object == "products" %]
    products
  [% ELSIF object == "quips" %]
    quips
  [% ELSIF object == "reports" %]
    whine reports
  [% ELSIF object == "sanity_check" %]
    a sanity check
  [% ELSIF object == "settings" %]
    settings
  [% ELSIF object == "sudo_session" %]
    a sudo session
  [% ELSIF object == "timetracking_summaries" %]
    time-tracking summary reports
  [% ELSIF object == "user" %]
    the user [% IF userid %] with ID '[% userid FILTER html %]'
    [% ELSE %]you specified [% END %]
  [% ELSIF object == "users" %]
    users
  [% ELSIF object == "versions" %]
    versions
  [% ELSIF object == "workflow" %]
    the workflow
  [% END %].
  [% Hook.process("auth_failure") %]
[% END %]

[% BLOCK error_attachment_deletion_disabled %]
  [% title = "Attachment Deletion Disabled" %]
  Attachment deletion is disabled on this installation.
[% END %]

[% BLOCK error_attachment_illegal_url %]
  [% title = "Illegal Attachment URL" %]
  <em>[% url FILTER html %]</em> is not a legal URL for attachments.
  It must start either with http://, https:// or ftp://.
[% END %]

[% BLOCK error_attachment_removed %]
  [% title = "Attachment Removed" %]
  The attachment you are attempting to access has been removed.
[% END %]

[% BLOCK error_bug_access_denied %]
  [% title = "Access Denied" %]
  [% admindocslinks = {'groups.html' => 'Group Security'} %]
  You are not authorized to access [% terms.bug %] #[% bug_id FILTER html %]
  [%- IF product AND Param('unauth_bug_details') %] in the [% product %] product[% END %].
[% END %]

[% BLOCK error_bug_access_query %]
  [% title = "Access Denied" %]
  [% docslinks = {'myaccount.html' => 'Creating an account'} %]
  You are not authorized to access [% terms.bug %] #[% bug_id FILTER html %].
  To see this [% terms.bug %], you must
  first <a href="show_bug.cgi?id=
                 [% bug_id FILTER url_quote %]&amp;GoAheadAndLogIn=1">log
  in to an account</a> with the appropriate permissions.
[% END %]

[% BLOCK error_bug_url_invalid %]
  [% title = "Invalid $terms.Bug URL" %]
  <code>[% url FILTER html %]</code> is not a valid URL to [% terms.abug %].
  [% IF reason == 'http' %]
    URLs must start with "http" or "https".
  [% ELSIF reason == 'path_only' %]
    You must specify a full URL.
  [% ELSIF reason == 'show_bug' %]
    [%+ field_descs.see_also FILTER html %] URLs should point to one of:
    <ul>
      <li><code>show_bug.cgi</code> in a [% terms.Bugzilla %]
        installation.</li>
      <li>A b[% %]ug on launchpad.net</li>
      <li>An issue on code.google.com.</li>
      <li>A b[% %]ug on b[% %]ugs.debian.org.</li>
    </ul>
  [% ELSIF reason == 'id' %]
    There is no valid [% terms.bug %] id in that URL.
  [% END %]
[% END %]

[% BLOCK error_bug_url_too_long %]
  [% title = "Invalid $terms.Bug URL" %]
  [% terms.Bug %] URLs can not be longer than
  [%+ constants.MAX_BUG_URL_LENGTH FILTER none %] characters long.
  <code>[% url FILTER html %]</code> is too long.
[% END %]

[% BLOCK error_buglist_parameters_required %]
  [% title = "Parameters Required" %]
  [% docslinks = {'query.html' => "Searching for $terms.bugs",
                  'query.html#list' => "$terms.Bug lists"} %]
  You may not search, or create saved searches, without any search terms.
[% END %]

[% BLOCK error_chart_too_large %]
  [% title = "Chart Too Large" %]
  Sorry, but 2000 x 2000 is the maximum size for a chart.
[% END %]

[% BLOCK error_comment_id_invalid %]
  [% id FILTER html %] is not a valid comment id.
[% END %]

[% BLOCK error_comment_invalid_isprivate %]
  You tried to modify the privacy of comment id [% id FILTER html %],
  but that is not a valid comment on this [% terms.bug %].
[% END %]

[% BLOCK error_comment_invalid_worktimeonly %]
  You tried to modify the type of comment id [% id FILTER html %],
  but that is either not a valid comment on this [% terms.bug %],
  or it's not yours, or it has special type.
[% END %]

[% BLOCK error_comment_is_private %]
  Comment id [% id FILTER html %] is private.
[% END %]

[% BLOCK error_comment_required %]
  [% title = "Comment Required" %]
  You have to specify a
  [% IF old && new %]
    <b>comment</b> when changing the status of [% terms.abug %] from
    [%+ old.name FILTER html %] to [% new.name FILTER html %].
  [% ELSIF new %]
    description for this [% terms.bug %].
  [% ELSE %]
    <b>comment</b> on this change.
  [% END %]
[% END %]

[% BLOCK error_comment_too_long %]
  [% title = "Comment Too Long" %]
  Comments cannot be longer than
  [%+ constants.MAX_COMMENT_LENGTH FILTER html %] characters.
[% END %]

[% BLOCK error_auth_classification_not_enabled %]
  [% title = "Classification Not Enabled" %]
  Sorry, classification is not enabled.
[% END %]

[% BLOCK error_classification_name_too_long %]
  [% title = "Classification Name Too Long" %]
  The name of a classification is limited to [% constants.MAX_CLASSIFICATION_SIZE FILTER html %]
  characters. '[% name FILTER html %]' is too long ([% name.length %] characters).
[% END %]

[% BLOCK error_classification_not_specified %]
  [% title = "You Must Supply A Classification Name" %]
  You must enter a classification name.
[% END %]

[% BLOCK error_classification_already_exists %]
  [% title = "Classification Already Exists" %]
  A classification with the name '[% name FILTER html %]' already exists.
[% END %]

[% BLOCK error_classification_invalid_sortkey %]
  [% title = "Invalid Sortkey for Classification" %]
  The sortkey '[% sortkey FILTER html %]' is invalid. It must be an
  integer between 0 and [% constants.MAX_SMALLINT FILTER html %].
[% END %]

[% BLOCK error_classification_not_deletable %]
  [% title = "Default Classification Can Not Be Deleted" %]
  You can not delete the default classification
[% END %]

[% BLOCK error_classification_has_products %]
   Sorry, there are products for this classification. You
   must reassign those products to another classification before you
   can delete this one.
[% END %]

[% BLOCK error_component_already_exists %]
  [% title = "Component Already Exists" %]
  The <em>[% product.name FILTER html %]</em> product already has
  a component named <em>[% name FILTER html %]</em>.
[% END %]

[% BLOCK error_component_blank_description %]
  [% title = "Blank Component Description Not Allowed" %]
  You must enter a non-blank description for this component.
[% END %]

[% BLOCK error_component_blank_name %]
  [% title = "Blank Component Name Not Allowed" %]
  You must enter a name for this new component.
[% END %]

[% BLOCK error_component_has_bugs %]
  [% title = BLOCK %]Component has [% terms.Bugs %][% END %]
  There are [% nb FILTER html %] [%+ terms.bugs %] entered for this component!
  You must reassign those [% terms.bugs %] to another component before you
  can delete this one.
[% END %]

[% BLOCK error_component_name_too_long %]
  [% title = "Component Name Is Too Long" %]
  The name of a component is limited to [% constants.MAX_COMPONENT_SIZE FILTER html %]
  characters. '[% name FILTER html %]' is too long ([% name.length %] characters).
[% END %]

[% BLOCK error_component_need_initialowner %]
  [% title = "Component Requires Default Assignee" %]
  A default assignee is required for this component.
[% END %]

[% BLOCK error_customfield_nonexistent %]
  [% title = "Unknown Custom Field" %]
  There is no custom field with the name '[% name FILTER html %]'.
[% END %]

[% BLOCK error_customfield_not_obsolete %]
  [% title = "Custom Field Not Obsolete" %]
  The custom field '[% name FILTER html %]' is not obsolete.
  Please obsolete a custom field before attempting to delete it.
[% END %]

[% BLOCK error_customfield_has_activity %]
  [% title = "Custom Field Has Activity" %]
  The custom field '[% name FILTER html %]' cannot be deleted because
  it has recorded activity.
[% END %]

[% BLOCK error_customfield_has_contents %]
  [% title = "Custom Field Has Contents" %]
  The custom field '[% name FILTER html %]' cannot be deleted because
  at least one [% terms.bug %] has a non empty value for this field.
[% END %]

[% BLOCK error_dependency_loop_multi %]
  [% title = "Dependency Loop Detected" %]
  The following [% terms.bug %](s) would appear on both the "depends on"
  and "blocks" parts of the dependency tree if these changes
  are committed:
  [% FOREACH dep = deps %]
    [%+ dep FILTER bug_link(dep) FILTER none %]
  [% END %].
  This would create a circular dependency, which is not allowed.
[% END %]

[% BLOCK error_dependency_loop_single %]
  [% title = "Dependency Loop Detected" %]
  You can't make [% terms.abug %] block itself or depend on itself.
[% END %]

[% BLOCK error_dupe_id_required %]
  [% title = "Duplicate $terms.Bug Id Required" %]
  You must specify [% terms.abug %] id to mark this [% terms.bug %]
  as a duplicate of.
[% END %]

[% BLOCK error_dupe_not_allowed %]
  [% title = "Cannot mark $terms.bugs as duplicates" %]
  You cannot mark [% terms.bugs %] as duplicates when
  changing several [% terms.bugs %] at once.
[% END %]

[% BLOCK error_dupe_loop_detected %]
  [% title = "Loop detected among duplicates" %]
  You cannot mark [% terms.bug %] [%+ bug_id FILTER html %] as
  a duplicate of
  [% IF dupe_of == bug_id %]
    itself
  [% ELSE %]
    [%+ terms.bug %] [%+ dupe_of FILTER html %], because it
    would create a duplicate loop
  [% END %].
[% END %]

[% BLOCK error_email_change_in_progress %]
  [% title = "Email Change Already In Progress" %]
  Email change already in progress; please check your email.
[% END %]

[% BLOCK error_email_confirmation_failed %]
  [% title = "Email Address Confirmation Failed" %]
  Email address confirmation failed.
[% END %]

[% BLOCK error_email_no_text_plain %]
  Your message did not contain any text.[% terms.Bugzilla %] does not
  accept HTML-only email, or HTML email with attachments.
[% END %]

[% BLOCK error_empty_group_description %]
  [% title = "The group description can not be empty" %]
  You must enter a description for the group.
[% END %]

[% BLOCK error_empty_group_name %]
  [% title = "The group name can not be empty" %]
  You must enter a name for the group.
[% END %]

[% BLOCK error_entry_access_denied %]
  [% title = "Permission Denied" %]
  [% admindocslinks = {'groups.html' => 'Group Security'} %]
  Sorry, either the product <em>[% product FILTER html %]</em>
  does not exist or you aren't authorized to
  enter [% terms.abug %] into it.
[% END %]

[% BLOCK error_extension_create_no_name %]
  You must specify a name for your extension, as an argument to this script.
[% END %]

[% BLOCK error_extension_first_letter_caps %]
  The first letter of your extension's name must be a capital letter.
  (You specified '[% name FILTER html %]'.)
[% END %]

[% BLOCK error_invalid_field_name %]
  Can't use [% field FILTER html %] as a field name.
[% END %]

[% BLOCK error_field_already_exists %]
  [% title = "Field Already Exists" %]
  The field '[% field.name FILTER html %]'
  ([% field.description FILTER html %]) already exists. Please
  choose another name.
[% END %]

[% BLOCK error_field_cant_control_self %]
  [% title = "Field Can't Control Itself" %]
  The [% field.description FILTER html %] field can't be set to control
  itself.
[% END %]

[% BLOCK error_field_control_must_be_select %]
  [% title = "Invalid Field Type Selected" %]
  Only drop-down and multi-select fields can be used to control
  the visibility/values of other fields. [% field.description FILTER html %]
  is not the right type of field.
[% END %]

[% BLOCK error_field_type_mismatch %]
  Cannot seem to handle <code>[% field FILTER html %]</code>
  and <code>[% type FILTER html %]</code> together.
[% END %]

[% BLOCK error_illegal_field %]
  [% IF product %]
    There is no [% field | html %] named '[% value | html %]' in product [% product.name | html %].
  [% ELSIF value %]
    [% field | html %] named '[% value | html %]' is invalid.
  [% ELSE %]
    A legal [% field | html %] was not set.
  [% END %]
[% END %]

[% BLOCK error_illegal_activity_field %]
  [% field | html %] can not be searched for changes.
[% END %]

[% BLOCK error_field_invalid_name %]
  [% title = "Invalid Field Name" %]
  '[% name FILTER html %]' is not a valid name for a field.
  A name may contain only letters, numbers, and the underscore character.
[% END %]

[% BLOCK error_field_invalid_sortkey %]
  [% title = "Invalid Sortkey for Field" %]
  The sortkey [% sortkey FILTER html %] that you have provided for
  this field is not a valid positive integer.
[% END %]

[% BLOCK error_field_missing_description %]
  [% title = "Missing Description for Field" %]
  You must enter a description for this field.
[% END %]

[% BLOCK error_field_missing_name %]
  [% title = "Missing Name for Field" %]
  You must enter a name for this field.
[% END %]

[% BLOCK error_field_value_control_select_only %]
  [% title = "Invalid Value Control Field" %]
  Only Drop-Down or Multi-Select fields can have a field that
  controls their values.
[% END %]

[% BLOCK error_fieldname_invalid %]
  [% title = "Specified Field Does Not Exist" %]
  The field '[% field.name FILTER html %]' does not exist or
  cannot be edited with this interface.
[% END %]

[% BLOCK error_fieldvalue_already_exists %]
  [% title = "Field Value Already Exists" %]
  The value '[% value.name FILTER html %]' already exists for the
  [%+ field.description FILTER html %] field.
[% END %]

[% BLOCK error_fieldvalue_is_controller %]
  [% title = "Value Controls Other Fields" %]
  You cannot delete the [% value.field.description FILTER html %]
  '[% value.name FILTER html %]' because
  [% IF fields.size %]
    it controls the visibility of the following fields:
    [%+ fields.join(', ') FILTER html %].
  [% END %]
  [% ' and ' IF fields.size AND vals.size %]
  [% IF vals.size %]
    it controls the visibility of the following field values:
    <ul>
      [% FOREACH field_name = vals.keys %]
        [% FOREACH val = vals.${field_name} %]
          <li>[% val.field.name FILTER html %]:
            '[% val.name FILTER html %]'</li>
        [% END %]
      [% END %]
    </ul>
  [% END %]
[% END %]

[% BLOCK error_fieldvalue_is_default %]
  [% title = "Specified Field Value Is Default" %]
  '[% value.name FILTER html %]' is the default value for
  the '[% field.description FILTER html %]' field and cannot be deleted.
  [% IF user.in_group('tweakparams') %]
    You have to <a href="editparams.cgi?section=bugfields#
    [%- param_name FILTER url_quote %]">change</a> the default value first.
  [% END %]
[% END %]

[% BLOCK error_fieldvalue_name_too_long %]
  [% title = "Field Value Is Too Long" %]
  The value of a field is limited to
  [%+ constants.FIELD_VALUE_MAX_SIZE FILTER none %] characters.
  '[% value FILTER html %]' is too long ([% value.length %] characters).
[% END %]

[% BLOCK error_fieldvalue_not_editable %]
  [% title = "Field Value Not Editable" %]
  The value '[% old_value.name FILTER html %]' cannot be renamed because
  it plays some special role for the '[% field.description FILTER html %]'
  field.
[% END %]

[% BLOCK error_fieldvalue_not_deletable %]
  [% title = "Field Value Not Deletable" %]
  The value '[% value.name FILTER html %]' cannot be removed because
  it plays some special role for the '[% field.description FILTER html %]'
  field.
[% END %]

[% BLOCK error_fieldvalue_reserved_word %]
  [% title = "Reserved Word Not Allowed" %]
  You cannot use the value '[% value FILTER html %]' for the
  '[% field.description FILTER html %]' field. This value is used internally.
  Please choose another one.
[% END %]

[% BLOCK error_fieldvalue_sortkey_invalid %]
  [% title = "Invalid Field Value Sortkey" %]
  The sortkey '[% sortkey FILTER html %]' for the
  [%+ field.description FILTER html %] field is not a valid
  (positive) number.
[% END %]

[% BLOCK error_fieldvalue_still_has_bugs %]
  [% title = "You Cannot Delete This Field Value" %]
  You cannot delete the value '[% value.name FILTER html %]' from the
  [% field.description FILTER html %] field, because there are still
  [%+ value.bug_count FILTER html %] [%+ terms.bugs %] using it.
[% END %]

[% BLOCK error_fieldvalue_undefined %]
  [% title = "Undefined Value Not Allowed" %]
  You must specify a value.
[% END %]

[% BLOCK error_file_not_specified %]
  [% title = "No File Specified" %]
  You did not specify a file to attach.
[% END %]

[% BLOCK error_file_too_large %]
  [% title = "File Too Large" %]
  The file you are trying to attach is [% filesize FILTER html %]
  kilobytes (KB) in size. Attachments cannot be more than
  [%+ Param('maxattachmentsize') %] KB. <br>
  We recommend that you store your attachment elsewhere
  [% IF Param("allow_attach_url") %]
    and then specify the URL to this file on the attachment
    creation page in the <b>AttachURL</b> field.
  [% ELSE %]
    and then insert the URL to it in a comment, or in the URL field
    for this [% terms.bug %].
  [% END %]
  <br>Alternately, if your attachment is an image, you could convert
  it to a compressible format like JPG or PNG and try again.
[% END %]

[% BLOCK error_flag_requestee_needs_privs %]
  [% title = "Flag Requestee Needs Privileges" %]
  [% requestee.identity FILTER html %] does not have permission to set the
  <em>[% flagtype.name FILTER html %]</em> flag. Please select a user who is
  a member of the <em>[% flagtype.grant_group.name FILTER html %]</em> group.
[% END %]

[% BLOCK error_flag_requestee_unauthorized %]
  [% title = "Flag Requestee Not Authorized" %]
  [% admindocslinks = {'flags-overview.html#flags-admin'  => 'Administering Flags',
                       'groups.html' => 'Group Security'} %]
  [% docslinks = {'flags-overview.html' => 'An overview on Flags',
                  'flags.html' => 'Using Flags'} %]

  You asked [% requestee.identity FILTER html %]
  for <code>[% flag_type.name FILTER html %]</code> on [% terms.bug %]
  [%+ bug_id FILTER html -%]
  [% IF attach_id && attach_id > 0 %], attachment [% attach_id FILTER html %][% END %],
  but that [% terms.bug %] has been restricted to users in certain groups,
  and the user you asked isn't in all the groups to which
  the [% terms.bug %] has been restricted.
  Please choose someone else to ask, or make the [% terms.bug %] accessible
  to users on its CC: list and add that user to the list.
[% END %]

[% BLOCK error_flag_requestee_unauthorized_attachment %]
  [% title = "Flag Requestee Not Authorized" %]
  [% admindocslinks = {'flags-overview.html#flags-admin'  => 'Administering Flags',
                       'groups.html' => 'Group Security'} %]
  [% docslinks = {'flags-overview.html' => 'An overview on Flags',
                  'flags.html' => 'Using Flags'} %]

  You asked [% requestee.identity FILTER html %]
  for <code>[% flag_type.name FILTER html %]</code> on
  [%+ terms.bug %] [%+ bug_id FILTER html %],
  attachment [% attach_id FILTER html %], but that attachment
  is restricted to users in the [% Param("insidergroup") FILTER html %] group,
  and the user you asked isn't in that group.  Please choose someone else
  to ask, or ask an administrator to add the user to the group.
[% END %]

[% BLOCK error_flag_type_cc_list_invalid %]
  [% title = "Flag Type CC List Invalid" %]
  [% admindocslinks = {'flags-overview.html#flags-admin'  => 'Administering Flags'} %]
  The CC list [% cc_list FILTER html %] must be less than 200 characters long.
[% END %]

[% BLOCK error_flag_type_component_without_product %]
  [% title = "Product Missing" %]
  A component was selected without a product being selected.
[% END %]

[% BLOCK error_flag_type_description_invalid %]
  [% title = "Flag Type Description Invalid" %]
  [% admindocslinks = {'flags-overview.html#flags-admin'  => 'Administering Flags'} %]
  The description must be less than 32K.
[% END %]

[% BLOCK error_flag_type_name_invalid %]
  [% title = "Flag Type Name Invalid" %]
  [% admindocslinks = {'flags-overview.html#flags-admin'  => 'Administering Flags'} %]
  The name <em>[% name FILTER html %]</em> must be 1-50 characters long
  and must not contain any spaces or commas.
[% END %]

[% BLOCK error_flag_type_not_multiplicable %]
  [% docslinks = {'flags-overview.html' => 'An overview on Flags',
                  'flags.html' => 'Using Flags'} %]
  You cannot have several <em>[% type.name FILTER html %]</em> flags
  for this [% IF attachment %] attachment [% ELSE %] [%+ terms.bug %] [% END %].
[% END %]

[% BLOCK error_flag_update_denied %]
  [% title = "Flag Modification Denied" %]
  [% admindocslinks = {'flags-overview.html#flags-admin'  => 'Administering Flags',
                       'groups.html' => 'Group Security'} %]
  [% docslinks = {'flags-overview.html' => 'An overview on Flags',
                  'flags.html' => 'Using Flags'} %]
  You tried to [% IF status == "+" %] grant [% ELSIF status == "-" %] deny
  [% ELSIF status == "X" %] clear [% ELSE %] request [% END %]
  <code>[% name FILTER html %]
        [% IF status == "X" %][% old_status FILTER html %][% END %]</code>.

  Only a user with the required permissions may make this change.
[% END %]

[% BLOCK error_format_not_found %]
  [% title = "Format Not Found" %]
  The requested format <em>[% format FILTER html %]</em> does not exist with
  a content type of <em>[% ctype FILTER html %]</em>.
[% END %]

[% BLOCK error_flag_type_sortkey_invalid %]
  [% title = "Flag Type Sort Key Invalid" %]
  The sort key must be an integer between 0 and 32767 inclusive.
  It cannot be <em>[% sortkey FILTER html %]</em>.
[% END %]

[% BLOCK error_freetext_too_long %]
  [% title = "Text Too Long" %]
  The text you entered is too long ([% text.length FILTER html %] characters,
  above the maximum length allowed of [% constants.MAX_FREETEXT_LENGTH FILTER none %]
  characters):
  <p><em>[% text FILTER html %]</em></p>
[% END %]

[% BLOCK error_group_cannot_delete %]
  [% title = "Cannot Delete Group" %]
  The <em>[% group.name FILTER html %]</em> group cannot be deleted because
  there are
  <a href="editgroups.cgi?action=del&amp;group=
           [%- group.id FILTER url_quote %]">records</a>
  in the database which refer to it. All references to this group must
  be removed before you can remove it.
[% END %]

[% BLOCK error_group_change_denied %]
  [% title = "Cannot Add/Remove That Group" %]
  You tried to add or remove group id [% group_id FILTER html %]
  from [% terms.bug %] [%+ bug.id FILTER html %], but you do not
  have permissions to do so.
[% END %]

[% BLOCK error_group_exists %]
  [% title = "The group already exists" %]
  The group [% name FILTER html %] already exists.
[% END %]

[% BLOCK error_group_has_special_role %]
  [% title = "Group not deletable" %]
  [% IF groups.size == 1 %]
    [% attr = "it" %]
    [% param = "parameter" %]
  [% ELSE %]
    [% attr = "them" %]
    [% param = "parameters" %]
  [% END %]
  The group '[% name FILTER html %]' is used by the
  '[% groups.join("' and '") FILTER html %]' [% param FILTER html %].
  In order to delete this group, you first have to change the
  [%+ param FILTER html %] to make [% attr FILTER html %] point to another group.
[% END %]

[% BLOCK error_group_invalid_removal %]
  You tried to remove [% terms.bug %] [%+ bug.id FILTER html %]
  from group id [% group_id FILTER html %], but [% terms.bugs %] in the
  '[% product FILTER html %]' product can not be removed from that
  group.
[% END %]

[% BLOCK error_group_invalid_restriction %]
  You tried to restrict [% terms.bug %] [%+ bug.id FILTER html %] to
  to group id [% group_id FILTER html %], but [% terms.bugs %] in the
  '[% product FILTER html %]' product can not be restricted to
  that group.
[% END %]

[% BLOCK error_group_not_specified %]
  [% title = "Group not specified" %]
  No group was specified.
[% END %]

[% BLOCK error_system_group_not_deletable %]
  [% title = "System Groups not deletable" %]
  <em>[% name FILTER html %]</em> is a system group.
  This group cannot be deleted.
[% END %]

[% BLOCK error_group_unknown %]
  [% title = "Unknown Group" %]
  The group [% name FILTER html %] does not exist. Please specify
  a valid group name. Create it first if necessary!
[% END %]

[% BLOCK error_illegal_at_least_x_votes %]
  [% title = "Your Search Makes No Sense" %]
  The <em>At least ___ votes</em> field must be a simple number.
  You entered <tt>[% value FILTER html %]</tt>, which isn't.
[% END %]

[% BLOCK error_illegal_attachment_edit %]
  [% title = "Unauthorized Action" %]
  You are not authorized to edit attachment [% attach_id FILTER html %].
[% END %]

[% BLOCK error_illegal_attachment_edit_bug %]
  [% title = "Unauthorized Action" %]
  You are not authorized to edit attachments on [% terms.bug %]
  [%+ bug_id FILTER html %].
[% END %]

[% BLOCK error_illegal_attachment_is_patch %]
  [% title = "Your Search Makes No Sense" %]
  The only legal values for the <em>Attachment is patch</em> field are
  0 and 1.
[% END %]

[% BLOCK error_illegal_bug_status_transition %]
  [% title = "Illegal $terms.Bug Status Change" %]
  [% IF old.defined %]
    You are not allowed to change the [% terms.bug %] status from
    [%+ old.name FILTER html %] to [% new.name FILTER html %].
  [% ELSIF new.name == "ASSIGNED" %]
    You are not allowed to assign new [% terms.bugs %] to other people.
  [% ELSE %]
    You are not allowed to file new [% terms.bugs %] with the
    [%+ new.name FILTER html %] status.
  [% END %]
[% END %]

[% BLOCK error_illegal_change %]
  [% title = "Not allowed" %]
  You tried to change the
  <strong>[% field_descs.$field FILTER html %]</strong> field
  [% IF oldvalue.defined %]
    from <em>[% oldvalue.join(', ') FILTER html %]</em>
  [% END %]
  [% IF newvalue.defined %]
    to <em>[% newvalue.join(', ') FILTER html %]</em>
  [% END %]
  , but only
  [% IF privs < 3 %]
    the assignee
    [% IF privs < 2 %] or reporter [% END %]
    of the [% terms.bug %], or
  [% END %]
  a user with the required permissions may change that field.
[% END %]

[% BLOCK error_illegal_change_deps %]
  [% title = "Not allowed" %]
  You tried to change the
  <strong>[% field_descs.$field FILTER html %]</strong> field
  but only a user allowed to edit
  both related [% terms.bugs %] may change that field.
[% END %]

[% BLOCK error_illegal_changed_in_last_x_days %]
  [% title = "Your Search Makes No Sense" %]
  The <em>Changed in last ___ days</em> field must be a simple number.
  You entered <tt>[% value FILTER html %]</tt>, which isn't.
[% END %]

[% BLOCK error_illegal_date %]
  [% title = "Illegal Date" %]
  '<tt>[% date FILTER html %]</tt>' is not a legal date.
  [% IF format %]
    Please use the format '<tt>[% format FILTER html %]</tt>'.
  [% END %]
[% END %]

[% BLOCK error_illegal_email_address %]
  [% title = "Invalid Email Address" %]
  The e-mail address you entered (<b>[% addr FILTER html %]</b>)
  didn't pass our syntax checking for a legal email address.
  [% IF default %]
    A legal address must contain exactly one '@',
    and at least one '.' after the @.
  [% ELSE %]
    [%+ Param('emailregexpdesc') %]
  [% END %]
  It must also not contain any of these special characters:
  <tt>\ ( ) &amp; &lt; &gt; , ; : &quot; [ ]</tt>, or any whitespace.
[% END %]

[% BLOCK error_illegal_frequency %]
  [% title = "Too Frequent" %]
  Unless you are an administrator, you may not create series which are
  run more often than once every [% minimum FILTER html %] days.
[% END %]

[% BLOCK error_illegal_group_control_combination %]
  [% title = "Your Group Control Combination Is Illegal" %]
  [% admindocslinks = {'groups.html' => 'Assigning Group Controls to Products'} %]
  Your group control combination for group &quot;
  [% groupname FILTER html %]&quot; is illegal.
[% END %]

[% BLOCK error_illegal_is_obsolete %]
  [% title = "Your Search Makes No Sense" %]
  The only legal values for the <em>Attachment is obsolete</em> field are
  0 and 1.
[% END %]

[% BLOCK error_illegal_query_name %]
  [% title = "Illegal Search Name" %]
  The name of your search cannot contain any of the following characters:
  &lt;, &gt;, &amp;.
[% END %]

[% BLOCK error_illegal_series_creation %]
  [% admindocslinks = {'groups.html' => 'Group security'} %]
  [% docslinks = {'reporting.html' => 'Reporting'} %]
  You are not authorized to create series.
[% END %]

[% BLOCK error_illegal_series_edit %]
  [% admindocslinks = {'groups.html' => 'Group security'} %]
  [% docslinks = {'reporting.html' => 'Reporting'} %]
  You are not authorized to edit this series. To do this, you must either
  be its creator, or an administrator.
[% END %]

[% BLOCK error_illegal_time %]
  [% title = "Illegal Time" %]
  '<tt>[% time FILTER html %]</tt>' is not a legal time.
  [% IF format %]
    Please use the format '<tt>[% format FILTER html %]</tt>'.
  [% END %]
[% END %]

[% BLOCK error_illegal_regexp %]
  [% title = "Illegal Regular Expression" %]
  The regular expression you provided [% value FILTER html %] is not valid.
  The error was: [% dberror FILTER html %].
[% END %]

[% BLOCK error_illegal_user_id %]
  [% title = "Illegal User ID" %]
  User ID '[% userid FILTER html %]' is not valid integer.
[% END %]

[% BLOCK error_incorrect_field_values %]
  [% IF bug_id %]
    [% terms.Bug %] [%+ bug_id %]:<br />
  [% END %]
  [% FOR f = incorrect_fields %]
    [% "<br />" IF !loop.first %]
    The value(s) "[% f.value_names.join('", "') | html %]" of field "[% f.field.description | html %]"
    are incorrect for the value "[% f.controller.name | html %]" of controlling field "[% f.controller.field.description | html %]".
  [% END %]
[% END %]

[% BLOCK error_insufficient_data_points %]
  [% docslinks = {'reporting.html' => 'Reporting'} %]
  We don't have enough data points to make a graph (yet).
[% END %]

[% BLOCK error_invalid_attach_id %]
  [% title = "Invalid Attachment ID" %]
  The attachment id [% attach_id FILTER html %] is invalid.
[% END %]

[% BLOCK error_bug_id_does_not_exist %]
  [% title = BLOCK %]Invalid [% terms.Bug %] ID[% END %]
  [% terms.Bug %] #[% bug_id FILTER html %] does not exist.
[% END %]

[% BLOCK error_import_intbug_does_not_exist %]
  [% title = "Invalid internal bug ID" %]
  [% IF bug_id %]
    '[% bug_id FILTER html %]' is not a valid internal [% terms.bug %] number.
    You must enter a valid [% terms.bug %] number!
  [% END %]
[% END %]

[% BLOCK error_improper_bug_id_field_value %]
  [% title = BLOCK %]
    [% IF bug_id %]Invalid [% ELSE %]Missing [% END %] [% terms.Bug %] ID
  [% END %]
  [% IF bug_id %]
    '[% bug_id FILTER html %]' is not a valid [% terms.bug %] number
    [% IF Param("usebugaliases") %]
      nor an alias to [% terms.abug %]
    [% END %].
  [% ELSE %]
    [% IF field %]
      The '[% field_descs.$field FILTER html %]' field
      cannot be empty.
    [% END %]
    You must enter a valid [% terms.bug %] number!
  [% END %]
[% END %]

[% BLOCK error_invalid_changedsince %]
  [% title = "Invalid 'Changed Since'" %]
  The 'changed since' value, '[% changedsince FILTER html %]', must be an
  integer >= 0.
[% END %]

[% BLOCK error_invalid_content_type %]
  [% title = "Invalid Content-Type" %]
  The content type <em>[% contenttype FILTER html %]</em> is invalid.
  Valid types must be of the form <em>foo/bar</em> where <em>foo</em>
  is one of <em>[% constants.LEGAL_CONTENT_TYPES.join(', ') FILTER html %]</em>.
[% END %]

[% BLOCK error_invalid_context %]
  [% title = "Invalid Context" %]
  The context [% context FILTER html %] is invalid (must be a number,
  "file" or "patch").
[% END %]

[% BLOCK error_invalid_datasets %]
  [% title = "Invalid Datasets" %]
  Invalid datasets <em>[% datasets.join(":") FILTER html %]</em>. Only digits,
  letters and colons are allowed.
[% END %]

[% BLOCK error_invalid_format %]
  [% title = "Invalid Format" %]
  The format "[% format FILTER html %]" is invalid (must be one of
  [% FOREACH my_format = formats %]
    "[% my_format FILTER html %]"
  [% END %]
  ).
[% END %]

[% BLOCK error_invalid_group_ID %]
  [% title = "Invalid group ID" %]
  The group you specified doesn't exist.
[% END %]

[% BLOCK error_invalid_group_name %]
  [% title = "Invalid group name" %]
  The group you specified, [% name FILTER html %], is not valid here.
[% END %]

[% BLOCK error_invalid_maxrows %]
  [% title = "Invalid Max Rows" %]
  The maximum number of rows, '[% maxrows FILTER html %]', must be
  a positive integer.
[% END %]

[% BLOCK error_invalid_parameter %]
  [% title = "Invalid Parameter" %]
  The new value for [% name FILTER html %] is invalid: [% err FILTER html %].
[% END %]

[% BLOCK error_invalid_product_name %]
  [% title = "Invalid Product Name" %]
  The product name '[% product FILTER html %]' is invalid or does not exist.
[% END %]

[% BLOCK error_invalid_regexp %]
  [% title = "Invalid regular expression" %]
  The regular expression you entered is invalid.
[% END %]

[% BLOCK error_invalid_user_group %]
  [% title = "Invalid User Group" %]
  [% IF users.size > 1 %] Users [% ELSE %] User [% END %]
  '[% users.join(', ') FILTER html %]'
  [% IF users.size > 1 %] are [% ELSE %] is [% END %]
  not able to edit the
  [% IF product %]
    '[% product FILTER html %]'
  [% END %]
  [%+ field_descs.product FILTER html %]
  [% IF bug_id %]
    for [% terms.bug %] '[% bug_id FILTER html %]'.
  [% ELSIF new %]
    and may not be included on a new [% terms.bug %].
  [% ELSE %]
    for at least one [% terms.bug %] being changed.
  [% END %]
[% END %]

[% BLOCK error_invalid_username %]
  [% title = "Invalid Username" %]
  The name <tt>[% name FILTER html %]</tt> is not a valid username.
  Either you misspelled it, or the person has not
  registered for a [% terms.Bugzilla %] account.
[% END %]

[% BLOCK error_invalid_username_or_password %]
  [% title = "Invalid Username Or Password" %]
  The username or password you entered is not valid.
  [%# People get two login attempts before being warned about
    # being locked out.
    #%]
  [% IF remaining <=  2 %]
    If you do not enter the correct password after
    [%+ remaining FILTER html %] more attempt(s), you will be
    locked out of this account for
    [%+ Param('login_lockout_interval') FILTER html %] minutes.
  [% END %]
[% END %]

[% BLOCK error_json_rpc_post_only %]
  For security reasons, you may only use JSON-RPC with the POST
  HTTP method.
[% END %]

[% BLOCK error_keyword_already_exists %]
  [% title = "Keyword Already Exists" %]
  A keyword with the name [% name FILTER html %] already exists.
[% END %]

[% BLOCK error_keyword_blank_description %]
  [% title = "Blank Keyword Description Not Allowed" %]
  You must enter a non-blank description for the keyword.
[% END %]

[% BLOCK error_keyword_blank_name %]
  [% title = "Blank Keyword Name Not Allowed" %]
  You must enter a non-blank name for the keyword.
[% END %]

[% BLOCK error_keyword_invalid_name %]
  [% title = "Invalid Keyword Name" %]
  You may not use commas in a keyword name.
[% END %]

[% BLOCK error_local_file_too_large %]
  [% title = "Local File Too Large" %]
  Local file uploads must not exceed
  [% Param('maxlocalattachment') %] MB in size.
[% END %]

[% BLOCK error_login_needed_for_password_change %]
  [% title = "Login Name Required" %]
  You must enter a login name when requesting to change your password.
[% END %]

[% BLOCK error_login_required_for_pronoun %]
  [% title = "Login Name Required" %]
  You can't use %user% without being logged in, because %user% refers
  to your login name, which we don't know.
[% END %]

[% BLOCK error_login_required %]
  [%# Used for non-web-based LOGIN_REQUIRED situations. %]
  You must log in before using this part of [% terms.Bugzilla %].
[% END %]

[% BLOCK error_migrate_config_created %]
  The file <kbd>[% file FILTER html %]</kbd> contains configuration
  variables that must be set before continuing with the migration.
[% END %]

[% BLOCK error_migrate_from_invalid %]
  '[% from FILTER html %]' is not a valid type of [% terms.bug %]-tracker
  to migrate from. See the contents of the <kbd>B[% %]ugzilla/Migrate/</kbd>
  directory for a list of valid [% terms.bug %]-trackers.
[% END %]

[% BLOCK error_milestone_already_exists %]
  [% title = "Milestone Already Exists" %]
  [% admindocslinks = {'products.html' => 'Administering products',
                       'milestones.html' => 'About Milestones'} %]
  The milestone '[% name FILTER html %]' already exists for product '
  [%- product FILTER html %]'.
[% END %]

[% BLOCK error_milestone_blank_name %]
  [% title = "Blank Milestone Name Not Allowed" %]
  You must enter a name for this milestone.
[% END %]

[% BLOCK error_milestone_is_default %]
  [% title = "Default milestone not deletable" %]
  [% admindocslinks = {'products.html' => 'Administering products',
                       'milestones.html' => 'About Milestones'} %]
  Sorry, but [% milestone.name FILTER html %] is the default milestone
  for the '[% milestone.product.name FILTER html %]' product, and so
  it cannot be deleted.
[% END %]

[% BLOCK error_milestone_name_too_long %]
  [% title = "Milestone Name Is Too Long" %]
  The name of a milestone is limited to [% constants.MAX_MILESTONE_SIZE FILTER html %]
  characters. '[% name FILTER html %]' is too long ([% name.length %] characters).
[% END %]

[% BLOCK error_milestone_required %]
  [% title = "Milestone Required" %]
  You must select a target milestone for [% terms.bug %]
  [%+ bug.id FILTER html %]
  if you are going to accept it.  Part of accepting
  [%+ terms.abug %] is giving an estimate of when it will be fixed.
[% END %]

[% BLOCK error_milestone_sortkey_invalid %]
  [% title = "Invalid Milestone Sortkey" %]
  The sortkey '[% sortkey FILTER html %]' is not in the range
  [%+ constants.MIN_SMALLINT FILTER html %] &le; sortkey &le;
  [%+ constants.MAX_SMALLINT FILTER html %].
[% END %]

[% BLOCK error_misarranged_dates %]
  [% title = "Misarranged Dates" %]
  Your start date ([% datefrom FILTER html %]) is after
  your end date ([% dateto FILTER html %]).
[% END %]

[% BLOCK error_missing_attachment_description %]
  [% title = "Missing Attachment Description" %]
  You must enter a description for the attachment.
[% END %]

[% BLOCK error_missing_category %]
  [% title = "Missing Category" %]
  You did not specify a category for this series.
[% END %]

[% BLOCK error_missing_component %]
  [% title = "Missing Component" %]
  [% admindocslinks = {'products.html'   => 'Administering products',
                       'components.html' => 'Creating a component'} %]
  Sorry, the product <em>[% product.name FILTER html %]</em>
  has to have at least one component in order for you to
  enter [% terms.abug %] into it.<br>
  [% IF user.in_group("editcomponents", product.id) %]
    <a href="editcomponents.cgi?action=add&amp;product=[% product.name FILTER url_quote %]">Create
    a new component</a>.
  [% ELSE %]
    Please contact [% Param("maintainer") %] and ask them
    to add a component to this product.
  [% END %]
[% END %]

[% BLOCK error_missing_content_type %]
  [% title = "Missing Content-Type" %]
   You asked [% terms.Bugzilla %] to auto-detect the content type, but
   your browser did not specify a content type when uploading the file,
   so you must enter a content type manually.
[% END %]

[% BLOCK error_missing_content_type_method %]
  [% title = "Missing Content-Type Determination Method" %]
  You must choose a method for determining the content type,
  either <em>auto-detect</em>, <em>select from list</em>, or <em>enter
  manually</em>.
[% END %]

[% BLOCK error_missing_cookie %]
  [% title = "Missing Cookie" %]
  Sorry, I seem to have lost the cookie that recorded
  the results of your last search. I'm afraid you will have to start
  again from the <a href="query.cgi">search page</a>.
[% END %]

[% BLOCK error_missing_datasets %]
  [% title = "No Datasets Selected" %]
  [% docslinks = {'reporting.html' => 'Reporting'} %]
  You must specify one or more datasets to plot.
[% END %]

[% BLOCK error_missing_frequency %]
  [% title = "Missing Frequency" %]
  [% docslinks = {'reporting.html' => 'Reporting'} %]
  You did not specify a valid frequency for this series.
[% END %]

[% BLOCK error_missing_name %]
  [% title = "Missing Name" %]
  [% docslinks = {'reporting.html' => 'Reporting'} %]
  You did not specify a name for this series.
[% END %]

[% BLOCK error_missing_query %]
  [% title = "Missing Search" %]
  [% docslinks = {'query.html' => "Searching for $terms.bugs",
                  'query.html#list' => "$terms.Bug lists"} %]
  The search named <em>[% queryname FILTER html %]</em>
  [% IF sharer_id && sharer_id != user.id %]
    has not been made visible to you.
  [% ELSE %]
    does not exist.
  [% END %]
[% END %]

[% BLOCK error_missing_resolution %]
  [% title = "Resolution Required" %]
  A valid resolution is required to mark [% terms.bugs %] as
  [%+ status FILTER upper FILTER html %].
[% END %]

[% BLOCK error_move_bugs_disabled %]
  [% title = BLOCK %][% terms.Bug %] Moving Disabled[% END %]
  Sorry, [% terms.bug %] moving has been disabled. If you need
  to move [% terms.abug %], please contact [% Param("maintainer") %].
[% END %]

[% BLOCK error_missing_subcategory %]
  [% title = "Missing Subcategory" %]
  You did not specify a subcategory for this series.
[% END %]

[% BLOCK error_missing_version %]
  [% title = "Missing Version" %]
  [% admindocslinks = {'versions.html' => 'Defining versions'} %]
  Sorry, the product <em>[% product.name FILTER html %]</em>
  has to have at least one version in order for you to
  enter [% terms.abug %] into it.<br>
  [% IF user.in_group("editcomponents", product.id) %]
    <a href="editversions.cgi?action=add&amp;product=[% product.name FILTER url_quote %]">Create
    a new version</a>.
  [% ELSE %]
    Please contact [% Param("maintainer") %] and ask them
    to add a version to this product.
  [% END %]
[% END %]

[% BLOCK error_need_quip %]
  [% title = "Quip Required" %]
  [% docslinks = {'quips.html' => 'About quips'} %]
  Please enter a quip in the text field.
[% END %]

[% BLOCK error_new_password_missing %]
  [% title = "New Password Missing" %]
  You must enter a new password.
[% END %]

[% BLOCK error_no_axes_defined %]
  [% title = "No Axes Defined" %]
  [% docslinks = {'reporting.html' => 'Reporting'} %]
  You didn't define any axes to plot.
[% END %]

[% BLOCK error_no_bugs_chosen %]
  [% title = BLOCK %]No [% terms.Bugs %] Selected[% END %]
  You apparently didn't choose any [% terms.bugs %]
  [% IF action == "modify" %]
    to modify.
  [% ELSIF action == "view" %]
    to view.
  [% END %]
[% END %]

[% BLOCK error_no_bug_ids %]
  [% title = BLOCK %]No [% terms.Bugs %] Selected[% END %]
  You didn't choose any [% terms.bugs %] to
  [% IF action == "add" %] add to [% ELSE %] remove from [% END %]
  the [% tag FILTER html %] tag.
[% END %]

[% BLOCK error_no_bugs_in_list %]
  [% title = "Delete Tag?" %]
  This will remove all [% terms.bugs %] from the
  <em>[% name FILTER html %]</em> tag. This will delete the tag completely. Click
  <a href="buglist.cgi?cmdtype=dorem&amp;remaction=forget&amp;namedcmd=
  [%- name FILTER url_quote %]&amp;token=
  [%- issue_hash_token([query_id, name]) FILTER url_quote %]">here</a>
  if you really want to delete it.
[% END %]

[% BLOCK error_no_bugs_to_remove %]
  [% title = "No Tag Selected" %]
  You didn't select a tag from which to remove [% terms.bugs %].
[% END %]

[% BLOCK error_no_initial_bug_status %]
  [% title = "No Initial $terms.Bug Status" %]
  No [% terms.bug %] status is available on [% terms.bug %] creation.
  Please report the problem to [% Param("maintainer") %].
[% END %]

[% BLOCK error_no_new_quips %]
  [% title = "No New Quips" %]
  [% admindocslinks = {'quips.html' => 'Controlling quip usage'} %]
  This site does not permit the addition of new quips.
[% END %]

[% BLOCK error_no_page_specified %]
  [% title = "No Page Specified" %]
  You did not specify the id of a page to display.
[% END %]

[% BLOCK error_no_products %]
  [% title = "No Products" %]
  [% admindocslinks = {'products.html'   => 'Setting up a product',
                       'components.html' => 'Adding components to products',
                       'groups.html'     => 'Groups security'} %]
  Either no products have been defined to enter [% terms.bugs %] against or you have not
  been given access to any.
[% END %]

[% BLOCK error_no_valid_action %]
  [% title = "No valid action specified" %]
  Cannot edit [% field_descs.$field FILTER html %]: no valid action was specified.
[% END %]

[% BLOCK error_number_not_numeric %]
  [% title = "Numeric Value Required" %]
  The value '[% num FILTER html %]' in the
  <em>[% field_descs.$field FILTER html %]</em> field
  is not a numeric value.
[% END %]

[% BLOCK error_number_too_large %]
  [% title = "Number Too Large" %]
  The value '[% num FILTER html %]' in the
  <em>[% field_descs.$field FILTER html %]</em> field
  is more than the maximum allowable value of '[% max_num FILTER html %]'.
[% END %]

[% BLOCK error_number_too_small %]
  [% title = "Number Too Small" %]
  The value '[% num FILTER html %]'
  in the <em>[% field_descs.$field FILTER html %]</em> field
  is less than the minimum allowable value of '[% min_num FILTER html %]'.
[% END %]

[% BLOCK error_object_not_specified %]
  [% type = BLOCK %][% INCLUDE object_name class = class %][% END %]
  [% title = BLOCK %][% type FILTER ucfirst FILTER html %] Not
  Specified[% END %]
  You must select/enter a [% type FILTER html %].
[% END %]

[% BLOCK error_object_does_not_exist %]
  [% type = BLOCK %][% INCLUDE object_name class = class %][% END %]
  [% title = BLOCK %]Invalid [% type FILTER ucfirst FILTER html %][% END %]
  There is no [% type FILTER html %]
  [% IF id.defined %]
    with the id '[% id FILTER html %]'
  [% ELSE %]
    named '[% name FILTER html %]'
  [% END %]
  [% IF product.defined %]
    in the '[% product.name FILTER html %]' product
  [% END %].
  [% IF class == "Bugzilla::User" %]
    Either you mis-typed the name or that user has not yet registered
    for a [% terms.Bugzilla %] account.
  [% END %]
[% END %]

[% BLOCK error_old_password_incorrect %]
  [% title = "Incorrect Old Password" %]
  You did not enter your old password correctly.
[% END %]

[% BLOCK error_old_password_required %]
  [% title = "Old Password Required" %]
  You must enter your old password to change your email address.
[% END %]

[% BLOCK error_password_change_requests_not_allowed %]
  [% title = "Password Change Requests Not Allowed" %]
  The system is not configured to allow password change requests.
[% END %]

[% BLOCK error_passwords_dont_match %]
  [% title = "Passwords Don't Match" %]
  The two passwords you entered did not match.
[% END %]

[% BLOCK error_password_current_too_short %]
  [% title = "New Password Required" %]
  Your password is currently less than
  [%+ constants.USER_PASSWORD_MIN_LENGTH FILTER html %] characters long,
  which is the new minimum length required for passwords.
  You must <a href="token.cgi?a=reqpw&loginname=[% locked_user.email FILTER html %]">
  request a new password</a> in order to log in again.
[% END %]

[% BLOCK error_password_too_short %]
  [% title = "Password Too Short" %]
  The password must be at least
  [%+ constants.USER_PASSWORD_MIN_LENGTH FILTER html %] characters long.
[% END %]

[% BLOCK error_patch_too_large %]
  [% title = "File Too Large" %]
  The file you are trying to attach is [% filesize FILTER html %]
  kilobytes (KB) in size.
  Patches cannot be more than [% Param('maxattachmentsize') %] KB in size.
  Try splitting your patch into several pieces.
[% END %]

[% BLOCK error_product_access_denied %]
  Either the product
  [%+ IF id.defined %]
    with the id [% id FILTER html %]
  [% ELSE %]
    '[% name FILTER html %]'
  [% END %]
  does not exist or you don't have access to it.
[% END %]

[% BLOCK error_product_doesnt_exist %]
  [% title = "Specified Product Does Not Exist" %]
  The product '[% product FILTER html %]' does not exist.
[% END %]

[% BLOCK error_product_illegal_group %]
  [% title = "Illegal Group" %]
  [% group.name FILTER html %] is not an active [% terms.bug %] group
  and so you cannot edit group controls for it.
[% END %]

[% BLOCK error_product_illegal_votes %]
  [% title = "Votes Must Be Non-negative" %]
  [% admindocslinks = {'voting.html' => 'Setting up the voting feature'} %]
  '[% votes FILTER html %]' is an invalid value for the
  <em>
  [% IF field == "votesperuser" %]
    Votes Per User
  [% ELSIF field == "maxvotesperbug" %]
    Maximum Votes Per [% terms.Bug %]
  [% ELSIF field == "votestoconfirm" %]
    Votes To Confirm
  [% END %]
  </em> field, which should contain a non-negative number.
[% END %]

[% BLOCK error_product_invalid_case %]
  You have requested the product name "[% product | html %]", did you mean
  "[% suggested | html %]"?
[% END %]

[% BLOCK error_product_name_already_in_use %]
  [% title = "Product name already exists" %]
  [% admindocslinks = {'products.html' => 'Administering products'} %]
  The product name '[% product FILTER html %]' already exists.
[% END %]

[% BLOCK error_product_name_diff_in_case %]
  [% title = "Product name differs only in case" %]
  [% admindocslinks = {'products.html' => 'Administering products'} %]
  The product name '[% product FILTER html %]' differs from existing
  product '[% existing_product FILTER html %]' only in case.
[% END %]

[% BLOCK error_product_name_too_long %]
  [% title = "Product name too long" %]
  The name of a product is limited to [% constants.MAX_PRODUCT_SIZE FILTER html %]
  characters. '[% name FILTER html %]' is too long ([% name.length %] characters).
[% END %]

[% BLOCK error_product_must_define_defaultmilestone %]
  [% title = "Must define new default milestone" %]
  [% admindocslinks = {'products.html' => 'Administering products',
                       'milestones.html' => 'About Milestones'} %]
  You must <a href="editmilestones.cgi?action=add&amp;product=[% product FILTER url_quote %]">
  create the milestone '[% milestone FILTER html %]'</a> before
  it can be made the default milestone for product '[% product FILTER html %]'.
[% END %]

[% BLOCK error_product_admin_denied %]
  [% title = "Product Access Denied" %]
  You are not allowed to edit properties of product '[% product FILTER html %]'.
[% END %]

[% BLOCK error_product_blank_name %]
  [% title = "Blank Product Name Not Allowed" %]
  [% admindocslinks = {'products.html' => 'Administering products'} %]
  You must enter a name for the product.
[% END %]

[% BLOCK error_product_disabled %]
  [% title = BLOCK %]Product closed for [% terms.Bug %] Entry[% END %]
  [% admindocslinks = {'products.html' => 'Administering products'} %]
  Sorry, entering [% terms.abug %] into the
  product <em>[% product.name FILTER html %]</em> has been disabled.
[% END %]

[% BLOCK error_product_edit_denied %]
  [% title = "Product Edit Access Denied" %]
  [% admindocslinks = {'products.html' => 'Administering products',
                       'groups.html'   => 'Group security'} %]
  You are not permitted to edit [% terms.bugs %] in product
  [%+ product FILTER html %].
[% END %]

[% BLOCK error_product_has_bugs %]
  [% title = BLOCK %]Product has [% terms.Bugs %][% END %]
  [% admindocslinks = {'products.html' => 'Administering products'} %]
  There are [% nb FILTER html %] [%+ terms.bugs %] entered for this product!
  You must move those [% terms.bugs %] to another product before you
  can delete this one.
[% END %]

[% BLOCK error_product_must_have_description %]
  [% title = "Product needs Description" %]
  [% admindocslinks = {'products.html' => 'Administering products'} %]
  You must enter a description for this product.
[% END %]

[% BLOCK error_product_must_have_version %]
  [% title = "Product needs Version" %]
  [% admindocslinks = {'products.html' => 'Administering products',
                       'versions.html' => 'Administering versions'} %]
  You must enter a valid version to create a new product.
[% END %]

[% BLOCK error_product_not_specified %]
  [% title = "No Product Specified" %]
  [% admindocslinks = {'products.html'   => 'Administering products',
                       'components.html' => 'Administering components',
                       'milestones.html' => 'Administering milestones',
                       'versions.html'   => 'Administering versions'} %]
  No product specified when trying to edit components, milestones, versions
  or product.
[% END %]

[% BLOCK error_query_name_exists %]
  [% title = "Search Name Already In Use" %]
  The name <em>[% name FILTER html %]</em> is already used by another
  saved search. You first have to
  <a href="buglist.cgi?cmdtype=dorem&amp;remaction=forget&amp;namedcmd=
  [%- name FILTER url_quote %]&amp;token=
  [% issue_hash_token([query_id, name]) FILTER url_quote %]">delete</a>
  it if you really want to use this name.
[% END %]

[% BLOCK error_query_name_missing %]
  [% title = "No Search Name Specified" %]
  [% docslinks = {'query.html#list' => "$terms.Bug lists"} %]
  You must enter a name for your search.
[% END %]

[% BLOCK error_query_name_too_long %]
  [% title = "Query Name Too Long" %]
  The name of the query must be less than [% constants.MAX_LEN_QUERY_NAME FILTER html %]
  characters long.
[% END %]

[% BLOCK error_quicksearch_unknown_field %]
  [% title = "QuickSearch Error" %]
  There is a problem with your search:
  [% FOREACH field = unknown %]
    <p><code>[% field FILTER html %]</code> is not a valid field name.</p>
  [% END %]
  [% FOREACH field = ambiguous.keys %]
    <p><code>[% field FILTER html %]</code> matches more than one field:
      [%+ ambiguous.${field}.join(', ') FILTER html %]</p>
  [% END %]

  [% IF unknown.size %]
    <p>The legal field names are
      <a href="page.cgi?id=quicksearch.html#fields">listed here</a>.</p>
  [% END %]
[% END %]

[% BLOCK error_reassign_to_empty %]
  [% title = "Illegal Reassignment" %]
  To reassign [% terms.abug %], you must provide an address for
  the new assignee.
[% END %]

[% BLOCK error_require_component %]
  [% title = "Component Needed" %]
  To file this [% terms.bug %], you must first choose a component.
  If necessary, just guess.
[% END %]

[% BLOCK error_require_new_password %]
  [% title = "New Password Needed" %]
  You cannot change your password without choosing a new one.
[% END %]

[% BLOCK error_require_summary %]
  [% title = "Summary Needed" %]
  You must enter a summary for this [% terms.bug %].
[% END %]

[% BLOCK error_resolution_cant_clear %]
  [% terms.Bug %] [%+ bug_id FILTER bug_link(bug_id) FILTER none %] is
  closed, so you cannot clear its resolution.
[% END %]

[% BLOCK error_resolution_not_allowed %]
  [% title = "Resolution Not Allowed" %]
  You cannot set a resolution for open [% terms.bugs %].
[% END %]

[% BLOCK error_saved_search_used_by_whines %]
  [% title = "Saved Search In Use" %]
  [% docslinks = {'whining.html' => 'About Whining'} %]
  The saved search <em>[% search_name FILTER html %]</em> is being used
  by <a href="editwhines.cgi">Whining events</a> with the following subjects:
  [%+ subjects FILTER html %]
[% END %]

[% BLOCK error_search_content_without_matches %]
  [% title = "Illegal Search" %]
  The "content" field can only be used with "matches" search
  and the "matches" search can only be used with the "content"
  field.
[% END %]

[% BLOCK error_search_owner_non_less %]
  [% title = "Illegal Search" %]
  The "Time Since Assignee Touched" field can only be compared
  to numbers with "<", "<=", ">" or ">=" operators.
[% END %]

[% BLOCK error_series_already_exists %]
  [% title = "Series Already Exists" %]
  [% docslinks = {'reporting.html' => 'Reporting'} %]
    A series named <em>[% series.category FILTER html %] /
    [%+ series.subcategory FILTER html %] /
    [%+ series.name FILTER html %]</em>
    already exists.
[% END %]

[% BLOCK error_sidebar_supports_mozilla_only %]
  Sorry - sidebar.cgi currently only supports Mozilla based web browsers.
  <a href="http://www.mozilla.org">Upgrade today</a>. :-)
[% END %]

[% BLOCK error_still_unresolved_bugs %]
  [% IF dependency_count == 1 %]
    [% terms.Bug %]# <a href="show_bug.cgi?id=[% dependencies.0.bug_id FILTER none %]">[% dependencies.0.bug_id FILTER none %]</a>
    still has [% dependencies.0.dependencies FILTER html %] unresolved
    [% IF dependencies.0.dependencies == 1 %]
      dependency
    [% ELSE %]
      dependencies
    [% END %]. Show
    <a href="showdependencytree.cgi?id=[% dependencies.0.bug_id FILTER none %]&amp;hide_resolved=1">Dependency
    Tree</a>.
  [% ELSE %]
    There are [% dependency_count FILTER none %] open [% terms.bugs %] which
    have unresolved dependencies.
    <br>
    [% FOREACH bug = dependencies %]
      [% terms.Bug %]# <a href="show_bug.cgi?id=[% bug.bug_id FILTER none %]">[% bug.bug_id FILTER none %]</a>
      has [% bug.dependencies FILTER html %] open
      [% IF bug.dependencies == 1 %]
        dependency.
      [% ELSE %]
        dependencies.
      [% END %]
      (<a href="showdependencytree.cgi?id=[% bug.bug_id FILTER none %]&amp;hide_resolved=1">Dependency
      Tree</a>)<br>
    [% END %]
  [% END %]
[% END %]

[% BLOCK error_sudo_invalid_cookie %]
  [% title = "Invalid Sudo Cookie" %]
  Your sudo cookie is invalid. Either it expired or you didn't start
  a sudo session correctly. Refresh the page or load another page
  to continue what you are doing as yourself.
[% END %]

[% BLOCK error_sudo_illegal_action %]
  [% title = "Impersonation Not Authorized" %]
  [% IF NOT sudoer.in_group("bz_sudoers") %]
    You are not allowed to impersonate users.
  [% ELSIF target_user AND target_user.in_group("bz_sudo_protect") %]
    You are not allowed to impersonate [% target_user.identity FILTER html %].
  [% ELSE %]
    The user you tried to impersonate doesn't exist.
  [% END %]
[% END %]

[% BLOCK error_sudo_in_progress %]
  [% title = "Session In Progress" %]
  A sudo session (impersonating [% target FILTER html %]) is in progress.
  End that session (using the link in the footer) before starting a new one.
[% END %]

[% BLOCK error_sudo_password_required %]
  [% title = "Password Required" %]
  Your [% terms.Bugzilla %] password is required to begin a sudo
  session. Please <a href="relogin.cgi?action=prepare-sudo&target_login=
  [%- target_login FILTER html %]&reason=
  [%- reason FILTER html %]">go back</a> and enter your password.
[% END %]

[% BLOCK error_sudo_preparation_required %]
  [% title = "Preparation Required" %]
  You may not start a sudo session directly.  Please
  <a href="relogin.cgi?action=prepare-sudo&target_login=
  [%- target_login FILTER html %]&reason=
  [%- reason FILTER html %]">start your session normally</a>.
[% END %]

[% BLOCK error_sudo_protected %]
  [% title = "User Protected" %]
  The user [% login FILTER html %] may not be impersonated by sudoers.
[% END %]

[% BLOCK error_too_many_votes_for_bug %]
  [% title = "Illegal Vote" %]
  [% admindocslinks = {'voting.html' => 'Setting up the voting feature'} %]
  You may only use at most [% max FILTER html %] votes for a single
  [%+ terms.bug %] in the
  <tt>[% product FILTER html %]</tt> product, but you are trying to
  use [% votes FILTER html %].
[% END %]

[% BLOCK error_too_many_votes_for_product %]
  [% title = "Illegal Vote" %]
  [% admindocslinks = {'voting.html' => 'Setting up the voting feature'} %]
  You tried to use [% votes FILTER html %] votes in the
  <tt>[% product FILTER html %]</tt> product, which exceeds the maximum of
  [%+ max FILTER html %] votes for this product.
[% END %]

[% BLOCK error_token_does_not_exist %]
  [% title = "Token Does Not Exist" %]
  The token you submitted does not exist, has expired, or has
  been canceled.
[% END %]

[% BLOCK error_too_soon_for_new_token %]
  [% title = "Too Soon For New Token" %]
  You have requested
  [% IF type == "password" %]
    a password
  [% ELSIF type == "account" %]
    an account
  [% END %]
  token too recently to request another. Please wait a while and try again.
[% END %]

[% BLOCK error_unknown_keyword %]
  [% title = "Unknown Keyword" %]
  <code>[% keyword FILTER html %]</code> is not a known keyword.
  The legal keyword names are <a href="describekeywords.cgi">listed here</a>.
[% END %]

[% BLOCK error_unknown_tab %]
  [% title = "Unknown Tab" %]
  <code>[% current_tab_name FILTER html %]</code> is not a legal tab name.
[% END %]

[% BLOCK error_version_already_exists %]
  [% title = "Version Already Exists" %]
  [% admindocslinks = {'versions.html' => 'Administering versions'} %]
  The version '[% name FILTER html %]' already exists for product '
  [%- product FILTER html %]'.
[% END %]

[% BLOCK error_version_blank_name %]
  [% title = "Blank Version Name Not Allowed" %]
  You must enter a name for this version.
[% END %]

[% BLOCK error_version_has_bugs %]
  [% title = BLOCK %]Version has [% terms.Bugs %][% END %]
  There are [% nb FILTER html %] [%+ terms.bugs %] associated with this
  version! You must reassign those [% terms.bugs %] to another version
  before you can delete this one.
[% END %]

[% BLOCK error_unknown_action %]
  [% IF action %]
     Unknown action [% action FILTER html %]!
  [% ELSE %]
     I could not figure out what you wanted to do.
  [% END %]
[% END %]

[% BLOCK error_users_deletion_disabled %]
  [% title = "Deletion not activated" %]
  [% admindocslinks = {'useradmin.html' => 'User administration'} %]
  Sorry, the deletion of user accounts is not allowed.
[% END %]

[% BLOCK error_user_has_responsibility %]
  [% title = "Can't Delete User Account" %]
  [% admindocslinks = {'useradmin.html' => 'User administration'} %]
  The user you want to delete is set up as the default [% terms.bug %]
  assignee
  [% IF Param('useqacontact') %]
    or QA contact
  [% END %]
  for at least one component.
  For this reason, you cannot delete the account at this time.
[% END %]

[% BLOCK error_user_access_by_id_denied %]
  [% title = "User Access By Id Denied" %]
  Logged-out users cannot use the "ids" argument to this function
  to access any user information.
[% END %]

[% BLOCK error_user_access_by_match_denied %]
  [% title = "User-Matching Denied" %]
  Logged-out users cannot use the "match" argument to this function
  to access any user information.
[% END %]

[% BLOCK error_user_login_required %]
  [% title = "Login Name Required" %]
  [% admindocslinks = {'useradmin.html' => 'User administration'} %]
  You must enter a login name for the new user.
[% END %]

[% BLOCK error_user_match_failed %]
  [% title = "Match Failed" %]
  <tt>[% name FILTER html %]</tt> does not exist or you are not allowed
  to see that user.
[% END %]

[% BLOCK error_user_match_too_many %]
  [% title = "No Conclusive Match" %]
  [% terms.Bugzilla %] cannot make a conclusive match for one or more
  of the names and/or email addresses you entered for
  the [% fields.join(', ') FILTER html %] field(s).
[% END %]

[% BLOCK error_user_not_insider %]
  [% title = "User Not In Insidergroup" %]
  Sorry, but you are not allowed to (un)mark comments or attachments
  as private.
[% END %]

[% BLOCK error_votes_must_be_nonnegative %]
  [% title = "Votes Must Be Non-negative" %]
  [% admindocslinks = {'voting.html' => 'Setting up the voting feature'} %]
  Only use non-negative numbers for your [% terms.bug %] votes.
[% END %]

[% BLOCK error_wrong_token_for_cancelling_email_change %]
  [% title = "Wrong Token" %]
  That token cannot be used to cancel an email address change.
[% END %]

[% BLOCK error_wrong_token_for_changing_passwd %]
  [% title = "Wrong Token" %]
  That token cannot be used to change your password.
[% END %]

[% BLOCK error_wrong_token_for_confirming_email_change %]
  [% title = "Wrong Token" %]
  That token cannot be used to change your email address.
[% END %]

[% BLOCK error_wrong_token_for_creating_account %]
  [% title = "Wrong Token" %]
  That token cannot be used to create a user account.
[% END %]

[% BLOCK error_xmlrpc_invalid_value %]
  "[% value FILTER html %]" is not a valid value for a
  &lt;[% type FILTER html %]&gt; field. (See the XML-RPC specification
  for details.)
[% END %]

[% BLOCK error_zero_length_file %]
  [% title = "File Is Empty" %]
  The file you are trying to attach is empty, does not exist, or you don't
  have permission to read it.
[% END %]

[% BLOCK object_name %]
  [% IF class == "Bugzilla::Attachment" %]
    attachment
  [% ELSIF class == "Bugzilla::User" %]
    user
  [% ELSIF class == "Bugzilla::Component" %]
    component
  [% ELSIF class == "Bugzilla::Version" %]
    version
  [% ELSIF class == "Bugzilla::Milestone" %]
    milestone
  [% ELSIF class == "Bugzilla::Status" %]
    status
  [% ELSIF class == "Bugzilla::Flag" %]
    flag
  [% ELSIF class == "Bugzilla::FlagType" %]
    flagtype
  [% ELSIF class == "Bugzilla::Field" %]
    field
  [% ELSIF class == "Bugzilla::Group" %]
    group
  [% ELSIF class == "Bugzilla::Product" %]
    product
  [% ELSIF class == "Bugzilla::Classification" %]
    classification
  [% ELSIF class == "Bugzilla::Search::Saved" %]
    saved search
  [% ELSIF ( matches = class.match('^Bugzilla::Field::Choice::(.+)') ) %]
    [% SET field_name = matches.0 %]
    [% field_descs.$field_name FILTER html %]
  [% END %]
[% END %]
