[%# 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>
  #                 Max Kanat-Alexander <mkanat@bugzilla.org>
  #%]

[%# Operation result messages - these are shown from the session
  # and without automatic wrapping in <div class="message"></div> %]

[% BLOCK msg_bugmail %]
  [% INCLUDE bug/process/results.html.tmpl %]
[% END %]

[% BLOCK msg_added_attachment %]
  <dl>
    <dt>
      <a title="[% description | html %]"
         href="attachment.cgi?id=[% id %]&amp;action=edit">Attachment #[% id %]</a>
      to [% "$terms.bug $bug_id" FILTER bug_link(bug_id) FILTER none %] created
    </dt>
    <dd>
      [% IF ctype_auto %]
        <p>
          <b>Note:</b> [% terms.Bugzilla %] automatically detected the content type
          <em>[% contenttype | html %]</em> for this attachment. If this is
          incorrect, correct the value by editing the attachment's
          <a href="attachment.cgi?id=[% id %]&amp;action=edit">details</a>.
        </p>
      [% END %]
    </dd>
  </dl>
[% END %]

[% BLOCK msg_changed_attachment %]
  [% SET title = "Changes Submitted to Attachment $id of $terms.Bug $bug_id" %]
  <dl>
    <dt>Changes to <a href="attachment.cgi?id=[% id %]&amp;action=edit">attachment [% id %]</a>
      of [% "$terms.bug $bug_id" FILTER bug_link(bug_id) FILTER none %] submitted
    </dt>
  </dl>
[% END %]

[% BLOCK msg_next_bug_shown %]
  <hr />
  <p>
    The next [% terms.bug %] in your list is [% terms.bug %]
    <a href="show_bug.cgi?id=[% bug_id %]">[% bug_id %]</a>:
  </p>
  <hr />
[% END %]

[% BLOCK msg_remaining_time_zeroed %]
  <p>
  The [% field_descs.remaining_time | html %] field has been
  set to zero automatically as part of closing this [% terms.bug %]
  or moving it from one closed state to another.
  </p>
[% END %]

[% BLOCK msg_cc_list_restricted %]
  <div class="message">
  CC list restricted to group <em>[% cc_restrict_group | html %]</em>,
  <em>[% restricted_cc.join(', ') | html %]</em> removed.
  </div>
[% END %]

[% BLOCK msg_attachment_creation_failed %]
  <div class="message">The [% terms.bug %] was created successfully, but attachment creation
  failed. Please add your attachment by clicking the "Add an Attachment" link
  below.</div>
[% END %]

[% BLOCK msg_checkers_failed %]
  [% IF failed_checkers AND failed_checkers.size %]
  <div class="user-error-div">
    <div class="user-error-div-first">
      [% INCLUDE "bug/process/failed-checkers.html.tmpl" f = failed_checkers %]
    </div>
  </div>
  [% END %]
[% END %]

[% BLOCK msg_visibility_updated %]
  <div class="message">Active values updated.</div>
[% END %]

[% BLOCK msg_default_settings_updated %]
  <div class="message">
  [% IF changes_saved %]
    Changes to default preferences have been saved.
  [% ELSE %]
    No changes made.
  [% END %]
  </div>
[% END %]

[% BLOCK msg_control_lists_updated %]
  <p>
    [% t = Bugzilla.get_field(field_id).description | html %]
    [% ch = {
      'add_is_visible' => 'Field(s) X are now visible for this ' _ t
      'del_is_visible' => 'Field(s) X are now invisible for this ' _ t
      'add_is_cloned' => 'Field(s) X will be copied during clone of ' _ terms.Bugs _ ' with this ' _ t
      'del_is_cloned' => 'Field(s) X will not be copied during clone of ' _ terms.Bugs _ ' with this ' _ t
      'add_is_nullable' => 'Field(s) X may now be empty in this ' _ t
      'del_is_nullable' => 'Field(s) X are now mandatory in this ' _ t
      'add_defaults' => 'Default X updated for this ' _ t
      'del_defaults' => 'Default X deleted for this ' _ t
    } %]
    [% FOREACH k = ch.keys %]
      [% IF $k.size %]
        [% fields = BLOCK %][% FOR f = $k %][% ", " IF loop.index %][% Bugzilla.get_field(f).description | html %][% END %][% END %]
        [% ch.$k.replace('X', fields) | html %].<br />
      [% END %]
    [% END %]
  </p>
[% END %]

[%# This is a list of all the possible messages. Please keep them in
  # alphabetical order by message tag, and leave a blank line between messages.
  #%]

[% BLOCK msg_account_created %]
  The user account [% otheruser.login | html %] has been created
  successfully.
  [% IF groups.size %]
    You may want to edit the group settings now, using the form below.
  [% END %]
[% END %]

[% BLOCK msg_account_creation_canceled %]
  [% title = "User Account Creation Canceled" %]
  The creation of the user account [% account | html %] has been
  canceled.
[% END %]

[% BLOCK msg_account_updated %]
  [% IF changed_fields.size
        + groups_added_to.size + groups_removed_from.size
        + groups_granted_rights_to_bless.size + groups_denied_rights_to_bless.size %]
    [% title = "User $loginold updated" %]
    The following changes have been made to the user account
    [%+ loginold | html %]:
    <ul>
      [% FOREACH field = changed_fields %]
        <li>
          [% IF    field == 'login_name' %]
            The login is now [% otheruser.login | html %].
          [% ELSIF field == 'realname' %]
            The real name has been updated.
          [% ELSIF field == 'cryptpassword' %]
            A new password has been set.
          [% ELSIF field == 'disabledtext' %]
            The disable text has been modified.
          [% ELSIF field == 'disable_mail' %]
            [% IF otheruser.email_disabled %]
              [% terms.Bug %]mail has been disabled.
            [% ELSE %]
              [% terms.Bug %]mail has been enabled.
            [% END %]
          [% END %]
        </li>
      [% END %]
      [% IF groups_added_to.size %]
        <li>
          The account has been added to the
          [%+ groups_added_to.join(', ') | html %]
          group[% 's' IF groups_added_to.size > 1 %].
        </li>
      [% END %]
      [% IF groups_removed_from.size %]
        <li>
          The account has been removed from the
          [%+ groups_removed_from.join(', ') | html %]
          group[% 's' IF groups_removed_from.size > 1 %].
        </li>
      [% END %]
      [% IF groups_granted_rights_to_bless.size %]
        <li>
          The account has been granted rights to bless the
          [%+ groups_granted_rights_to_bless.join(', ') | html %]
          group[% 's' IF groups_granted_rights_to_bless.size > 1 %].
        </li>
      [% END %]
      [% IF groups_denied_rights_to_bless.size %]
        <li>
          The account has been denied rights to bless the
          [%+ groups_denied_rights_to_bless.join(', ') | html %]
          group[% 's' IF groups_denied_rights_to_bless.size > 1 %].
        </li>
      [% END %]
    </ul>
  [% ELSE %]
    [% title = "User $otheruser.login not changed" %]
    You didn't request any changes to the user's account
    [%+ otheruser.login | html %].
  [% END %]
[% END %]

[% BLOCK msg_account_deleted %]
  [% title = "User $otheruser.login deleted" %]
  The user account [% otheruser.login | html %] has been deleted
  successfully.
[% END %]

[% BLOCK msg_account_disabled %]
  The user account [% account | html %] is disabled, so you
  cannot change its password.
[% END %]

[% BLOCK msg_bug_group_description %]
  Access to [% terms.bugs %] in the [% product.name | html %] product
[% END %]

[% BLOCK msg_buglist_adding_field %]
  [% title = "Adding field to search page..." %]
  [% link  = "Click here if the page does not redisplay automatically." %]
[% END %]

[% BLOCK msg_buglist_updated_named_query %]
  [% title = "Search updated" %]
  Your search named <code><a
   href="buglist.cgi?cmdtype=runnamed&amp;namedcmd=[% queryname FILTER url_quote %]"
  >[% queryname | html %]</a></code> has been updated.
[% END %]

[% BLOCK msg_buglist_new_default_query %]
  OK, you now have a new default search.  You may
  also bookmark the result of any individual search.
[% END %]

[% BLOCK msg_buglist_new_named_query %]
  [% title = "Search created" %]
  OK, you have a new search named <code><a
   href="buglist.cgi?cmdtype=runnamed&amp;namedcmd=[% queryname FILTER url_quote %]"
  >[% queryname | html %]</a></code>.
[% END %]

[% BLOCK msg_buglist_query_gone %]
  [% title = "Search is gone" %]
  [% link  = "Go back to the search page." %]
  OK, the <b>[% namedcmd | html %]</b> search is gone.
[% END %]

[% BLOCK msg_buglist_sorted_by_relevance %]
  [% terms.Bugs %] on this list are sorted by relevance, with the most
  relevant [% terms.bugs %] at the top.
[% END %]

[% BLOCK msg_change_columns %]
  [% title = "Change columns" %]
  Resubmitting your search with new columns...
  Click <a href="[% redirect_url | html %]">here</a>
  if the page does not automatically refresh.
[% END %]

[% BLOCK msg_classification_created %]
  [% title = "New Classification Created" %]
  The <em>[% classification.name | html %]</em> classification has been created.
[% END %]

[% BLOCK msg_classification_deleted %]
  [% title = "Classification Deleted" %]
  The <em>[% classification.name | html %]</em> classification has been deleted.
[% END %]

[% BLOCK msg_classification_updated %]
    [% title = "Classification Updated" %]
  [% IF changes.keys.size %]
    Changes to the <em>[% classification.name | html %]</em> classification
    have been saved:
    <ul>
      [% IF changes.name.defined %]
        <li>Name updated to '[% classification.name | html %]'</li>
      [% END %]
      [% IF changes.description.defined %]
        [% IF classification.description %]
          <li>Description updated to '[% classification.description | html %]'</li>
        [% ELSE %]
          <li>Description removed</li>
      [% END %]
      [% END %]
      [% IF changes.sortkey.defined %]
        <li>Sortkey updated to '[% classification.sortkey | html %]'</li>
      [% END %]
      [% Hook.process('classification_updated_fields') %]
    </ul>
  [% ELSE %]
    No changes made to <em>[% classification.name | html %]</em>.
  [% END %]
[% END %]

[% BLOCK msg_component_created %]
  [% title = "Component Created" %]
  The component <em>[% comp.name | html %]</em> has been created.
[% END %]

[% BLOCK msg_component_deleted %]
  [% title = "Component Deleted" %]
  The component <em>[% comp.name | html %]</em> has been deleted.
  [% IF comp.bug_count %]
    All [% terms.bugs %] being in this component and all references
    to them have also been deleted.
  [% END %]
[% END %]

[% BLOCK msg_component_updated %]
  [% title = "Component Updated" %]
  [% IF changes.keys.size %]
    Changes to the component <em>[% comp.name | html %]</em> have been saved.
    <ul>
    [% IF changes.name.defined %]
      <li>Name updated to '[% comp.name | html %]'</li>
    [% END %]
    [% IF changes.description.defined %]
      <li>Description updated to '[% comp.description | html_light %]'</li>
    [% END %]
    [% IF changes.initialowner.defined %]
      <li>Default assignee updated to '[% comp.default_assignee.login | html %]'</li>
    [% END %]
    [% IF changes.initialqacontact.defined %]
      [% IF comp.default_qa_contact.id %]
        <li>Default QA contact updated to '[% comp.default_qa_contact.login | html %]'</li>
      [% ELSE %]
        <li>Default QA contact deleted</li>
      [% END %]
    [% END %]
    [% IF changes.cc_list.defined %]
      [% IF comp.initial_cc.size %]
        [% cc_list = [] %]
        [% FOREACH cc_user = comp.initial_cc %]
          [% cc_list.push(cc_user.login) %]
        [% END %]
        <li>Default CC list updated to [% cc_list.join(", ") | html %]</li>
      [% ELSE %]
        <li>Default CC list deleted</li>
      [% END %]
    [% END %]
    [% IF changes.wiki_url.defined %]
      <li>Wiki URL updated to '[% comp.wiki_url | html %]'</li>
    [% END %]
    [% IF changes.isactive.defined %]
      <li>Component is now [% comp.isactive ? "open" : "closed" %] for bug entry.</li>
    [% END %]
    [% Hook.process('component_updated_fields') %]
    </ul>
  [% ELSE %]
    No changes made to <em>[% comp.name | html %]</em>.
  [% END %]
[% END %]

[% BLOCK msg_custom_field_created %]
  [% title = "Custom Field Created" %]
  The new custom field '[% field.name | html %]' has been
  successfully created.
[% END %]

[% BLOCK msg_custom_field_deleted %]
  [% title = "Custom Field Deleted" %]
  The custom field '[% field.name | html %]' has been
  successfully deleted.
[% END %]

[% BLOCK msg_custom_field_updated %]
  [% title = "Custom Field Updated" %]
  Properties of the '[% field.name | html %]' field have been
  successfully updated.
[% END %]

[% BLOCK msg_emailold_change_canceled %]
  [% title = "Cancel Request to Change Email Address" %]
  The request to change the email address for your account to
  [%+ new_email | html %] has been canceled.
[% END %]

[% BLOCK msg_email_change_canceled %]
  [% title = "Cancel Request to Change Email Address" %]
  The request to change the email address for the
  account [%+ old_email | html %] to
  [%+ new_email | html %] has been canceled.
[% END %]

[% BLOCK msg_email_change_canceled_reinstated %]
  [% title = "Cancel Request to Change Email Address" %]
  The request to change the email address for the
  account [%+ old_email | html %] to
  [%+ new_email | html %] has been canceled.
 Your old account settings have been reinstated.
[% END %]

[% BLOCK msg_extension_created %]
  An extension named [% name | html %] has been created
  in [% path | html %]. Make sure you change "YOUR NAME" and 
  "YOUR EMAIL ADDRESS" in the code to your name and your email address.
[% END %]

[% BLOCK msg_field_value_created %]
  [% title = "New Field Value Created" %]
  The value <em>[% value.name | html %]</em> has been added as a
  valid choice for the <em>[% field.description | html %]</em>
  (<em>[% field.name | html %]</em>) field.
  [% IF field.name == "bug_status" %]
    You should now visit the <a href="editworkflow.cgi">status workflow
    page</a> to include your new [% terms.bug %] status.
  [% END %]
[% END %]

[% BLOCK msg_field_value_deleted %]
  [% title = "Field Value Deleted" %]
  The value <em>[% value.name | html %]</em> of the
  <em>[% field.description | html %]</em>
  (<em>[% field.name | html %]</em>) field has been deleted.
[% END %]

[% BLOCK msg_field_value_updated %]
  [% title = "Field Value Updated" %]
  [% IF changes.keys.size %]
    The <em>[% value_old | html %]</em> value of the
    <em>[% field.description | html %]</em>
    (<em>[% field.name | html %]</em>) field has been changed:
    <ul>
      [% IF changes.value %]
        <li>Field value updated to
          <em>[% changes.value.1 | html %]</em>.
          [% IF value.is_default %]
            (Note that this value is the default for this field. All
            references to the default value will now point to this new value.)
        [% END %]
        </li>
      [% END %]
      [% IF changes.sortkey %]
        <li>Sortkey updated to <em>[% changes.sortkey.1 | html %]</em>.</li>
      [% END %]
      [% IF changes.isactive %]
        <li>It is now [% IF changes.isactive.1 %]enabled[% ELSE %]disabled[% END %] for selection.</li>
      [% END %]
      [%# For bug_status: %]
      [% IF changes.is_assigned %]
        <li>It is now an [% IF changes.is_assigned.1 %]"Assigned" (in-progress)[% ELSE %]normal[% END %] state.</li>
      [% END %]
      [% IF changes.is_confirmed %]
        <li>It is now [% IF changes.is_confirmed.1 %]a confirmed[% ELSE %]an unconfirmed[% END %] state.</li>
      [% END %]
      [% IF changes.visibility_values.defined %]
        [% IF value.visibility_values.size > 0 %]
          <li>It only appears when
            [%+ value.field.value_field.description | html %] is set to
            [% FOR vv = value.visibility_values %]
              '[%+ vv.name | html %]'
              [% " or " UNLESS loop.last %]
            [% END %]
          </li>
        [% ELSE %]
          <li>It now always appears, no matter what
            [%+ value.field.value_field.description | html %] is set to.
          </li>
        [% END %]
      [% END %]
    </ul>
  [% ELSE %]
    No changes made to the field value <em>[% value_old | html %]</em>.
  [% END %]
[% END %]

[% BLOCK msg_flag_cleared %]
  Some flags didn't apply in the new product/component
  and have been cleared.
[% END %]

[% BLOCK msg_flag_creation_failed %]
  [% title = "Flag Creation Failure" %]
  An error occured while validating flags:
  [%+ flag_creation_error FILTER none %]
[% END %]

[% BLOCK msg_get_field_desc %]
  [% field_descs.$field_name | html %]
[% END %]

[% BLOCK msg_get_resolution %]
  [% resolution | html %]
[% END %]

[% BLOCK msg_get_status %]
  [% status | html %]
[% END %]

[% BLOCK msg_group_created %]
  [% title = "New Group Created" %]
  The group <em>[% group.name | html %]</em> has been created.
[% END %]

[% BLOCK msg_group_deleted %]
  [% title = "Group Deleted" %]
  The group <em>[% name | html %]</em> has been deleted.
[% END %]

[% BLOCK msg_group_membership_removed %]
  [% title = "Group Membership Removed" %]
  [% IF users.size %]
    Explicit membership to the <em>[% group | html %]</em> group removed
    [% IF regexp %] for users matching '[% regexp | html %]'[% END %]:
    [% FOREACH user = users %]
      [%+ user.login | html %]
    [% END %]
  [% ELSE %]
    No users are being affected by your action.
  [% END %]
[% END %]

[% BLOCK msg_group_updated %]
  [% IF changes.keys.size %]
    The following changes have been made to the '[% group.name | html %]'
    group:
    <ul>
    [% FOREACH field = changes.keys.sort %]
      [% SWITCH field %]
        [% CASE 'name' %]
          <li>The name was changed to '[% changes.name.1 | html %]'</li>
        [% CASE 'description' %]
          <li>The description was updated.</li>
        [% CASE 'userregexp' %]
          <li>The regular expression was updated.</li>
        [% CASE 'isactive' %]
          [% IF changes.isactive.1 %]
            <li>The group will now be used for [% terms.bugs %].</li>
          [% ELSE %]
            <li>The group will no longer be used for [% terms.bugs %].</li>
          [% END %]
        [% CASE 'icon_url' %]
          <li>The group icon URL has been updated.</li>
        [% CASE 'members_add' %]
          <li>The following groups are now members of this group:
            [%+ changes.members_add.join(', ') | html %]</li>
        [% CASE 'members_remove' %]
          <li>The following groups are no longer members of this group:
            [%+ changes.members_remove.join(', ') | html %]</li>
        [% CASE 'member_of_add' %]
          <li>This group is now a member of the following groups:
            [%+ changes.member_of_add.join(', ') | html %]</li>
        [% CASE 'member_of_remove' %]
          <li>This group is no longer a member of the following groups:
            [%+ changes.member_of_remove.join(', ') | html %]</li>
        [% CASE 'bless_from_add' %]
          <li>The following groups may now add users to this group:
            [%+ changes.bless_from_add.join(', ') | html %]</li>
        [% CASE 'bless_from_remove' %]
          <li>The following groups may no longer add users to this group:
            [%+ changes.bless_from_remove.join(', ') | html %]</li>
        [% CASE 'bless_to_add' %]
          <li>This group may now add users to the following groups:
            [%+ changes.bless_to_add.join(', ') | html %]</li>
        [% CASE 'bless_to_remove' %]
          <li>This group may no longer add users to the following groups:
            [%+ changes.bless_to_remove.join(', ') | html %]</li>
        [% CASE 'visible_from_add' %]
          <li>The following groups can now see users in this group:
            [%+ changes.visible_from_add.join(', ') | html %]</li>
        [% CASE 'visible_from_remove' %]
          <li>The following groups may no longer see users in this group:
            [%+ changes.visible_from_remove.join(', ') | html %]</li>
        [% CASE 'visible_to_me_add' %]
          <li>This group may now see users in the following groups:
            [%+ changes.visible_to_me_add.join(', ') | html %]</li>
        [% CASE 'visible_to_me_remove' %]
          <li>This group may no longer see users in the following groups:
            [%+ changes.visible_to_me_remove.join(', ') | html %]</li>
      [% END %]
    [% END %]
    </ul>
  [% ELSE %]
    You didn't request any change for the '[% group.name | html %]'
    group.
  [% END %]
[% END %]

[% BLOCK msg_invalid_column_name %]
  The custom sort order specified contains one or more invalid
  column names: <em>[% invalid_fragments.join(', ') | html %]</em>.
  They have been removed from the sort list.
[% END %]

[% BLOCK msg_job_queue_depth %]
  [% count | html %] jobs in the queue.
[% END %]

[% BLOCK msg_keyword_created %]
  [% title = "New Keyword Created" %]
  The keyword <em>[% name | html %]</em> has been created.
[% END %]

[% BLOCK msg_keyword_deleted %]
  [% title = "Keyword Deleted" %]
  The <em>[% keyword.name | html %]</em> keyword has been deleted.
[% END %]

[% BLOCK msg_keyword_updated %]
  [% title = "Keyword Updated" %]
  [% IF changes.keys.size %]
    Changes to the <em>[% keyword.name | html %]</em> keyword have
    been saved:
    <ul>
      [% IF changes.name.defined %]
        <li>Keyword renamed to <em>[% keyword.name | html %]</em>.</li>
      [% END %]
      [% IF changes.description.defined %]
        <li>Description updated to <em>[% keyword.description | html %]</em></li>
      [% END %]
    </ul>
  [% ELSE %]
    No changes made.
  [% END %]
[% END %]

[% BLOCK msg_logged_out %]
  [% title = "Logged Out" %]
  [% url = "index.cgi?GoAheadAndLogIn=1" %]
  [% link = "Log in again." %]
  <b>Your login has been forgotten</b>.
  The cookie that was remembering your login is now gone. You will be
  prompted for a login the next time it is required.
[% END %]

[% BLOCK msg_login_changed %]
  [% title = "$terms.Bugzilla Login Changed" %]
  Your [% terms.Bugzilla %] login has been changed.
[% END %]

[% BLOCK msg_migrate_component_created %]
  Component created: [% comp.name | html %]
  (in [% product.name | html %])
[% END %]

[% BLOCK msg_migrate_creating_bugs %]
  Creating [% terms.bugs %]...
[% END %]

[% BLOCK msg_migrate_field_created %]
  New custom field: [% field.description | html %]
  ([% field.name | html %])
[% END %]

[% BLOCK msg_migrate_product_created %]
  Product created: [% created.name | html %]
[% END %]

[% BLOCK msg_migrate_reading_bugs %]
  Reading [% terms.bugs %]...
[% END %]

[% BLOCK msg_migrate_reading_products %]
  Reading products...
[% END %]

[% BLOCK msg_migrate_reading_users %]
  Reading users...
[% END %]

[% BLOCK msg_migrate_translating_bugs %]
  Converting [% terms.bug %] values to be appropriate for 
  [%+ terms.Bugzilla %]...
[% END %]

[% BLOCK msg_migrate_user_created %]
  User created: [% created.email | html %]
  [% IF password %] Password: [% password | html %][% END %]
[% END %]

[% BLOCK msg_migrate_value_created %]
  [% IF product.defined %]
    [% product.name | html %]
  [% END %]
  [%+ field_descs.${field.name} | html %] value
  created: [% value | html %]
[% END %]

[% BLOCK msg_milestone_created %]
  [% title = "Milestone Created" %]
  The milestone <em>[% milestone.name | html %]</em> has been created.
[% END %]

[% BLOCK msg_milestone_deleted %]
  [% title = "Milestone Deleted" %]
  The milestone <em>[% milestone.name | html %]</em> has been deleted.
[% END %]

[% BLOCK msg_milestone_updated %]
  [% title = "Milestone Updated" %]
  [% IF changes.size %]
    Changes to the milestone <em>[% milestone.name | html %]</em> have been saved.
    <ul>
      [% IF changes.value.defined %]
        <li>Milestone name updated to <em>[% milestone.name | html %]</em></li>
      [% END %]
      [% IF changes.sortkey.defined %]
        <li>Sortkey updated to <em>[% milestone.sortkey | html %]</em>
      [% END %]
      [% IF changes.isactive.defined %]
        <li>Milestone [% milestone.isactive ? "enabled" : "disabled" %] for [% terms.bugs %]</li>
      [% END %]
    </ul>
  [% ELSE %]
    No changes made to milestone <em>[% milestone.name | html %]</em>.
  [% END %]
[% END %]

[% BLOCK msg_parameters_updated %]
  [% title = "Parameters Updated" %]
  [% IF param_changed.size > 0 %]
    [% FOREACH param = param_changed %]
      Changed <em>[% param | html %]</em><br>
      [% IF param == 'utf8' && Param('utf8') %]
        <strong>You must now re-run checksetup.pl.</strong><br>
      [% END %]
    [% END %]
  [% ELSE %]
    No changes made.
  [% END %]

  [% IF shutdown_is_active == 1 %]
    <hr>
    [% terms.Bugzilla %] has now been shut down. To re-enable the system,
    clear the <em>shutdownhtml</em> field.
  [% END%]
[% END %]

[% BLOCK msg_password_change_canceled %]
  [% title = "Cancel Request to Change Password" %]
  Your request has been canceled.
[% END %]

[% BLOCK msg_password_change_request %]
  [% title = "Request to Change Password" %]
  A token for changing your password has been emailed to you.
  Follow the instructions in that email to change your password.
[% END %]

[% BLOCK msg_password_changed %]
  [% title = "Password Changed" %]
  Your password has been changed.
[% END %]

[% BLOCK msg_flag_type_created %]
  [% title = BLOCK %]Flag Type '[% name | html %]' Created[% END %]
  The flag type <em>[% name | html %]</em> has been created.
[% END %]

[% BLOCK msg_flag_type_changes_saved %]
  [% title = BLOCK %]Flag Type '[% name | html %]' Changes Saved[% END %]
  Your changes to the flag type <em>[% name | html %]</em>
  have been saved.
[% END %]

[% BLOCK msg_flag_type_deleted %]
  [% title = BLOCK %]Flag Type '[% name | html %]' Deleted[% END %]
  The flag type <em>[% name | html %]</em> has been deleted.
[% END %]

[% BLOCK msg_flag_type_deactivated %]
  [% title = BLOCK %]Flag Type '[% flag_type.name | html %]' Deactivated[% END %]
  The flag type <em>[% flag_type.name | html %]</em> has been deactivated.
[% END %]

[% BLOCK msg_install_admin_get_email %]
  Enter the e-mail address of the administrator:
[% END %]

[% BLOCK msg_install_admin_get_name %]
  Enter the real name of the administrator:
[% END %]

[% BLOCK msg_install_admin_get_password %]
  Enter a password for the administrator account:
[% END %]

[% BLOCK msg_install_admin_created %]
  [% user.login | html %] is now set up as an administrator.
[% END %]

[% BLOCK msg_install_admin_setup %]
  Looks like we don't have an administrator set up yet.
  Either this is your first time using [% terms.Bugzilla %], or your
  administrator's privileges might have accidentally been deleted.
[% END %]

[% BLOCK msg_install_column_add %]
  Adding new column '[% column | html %]' to the '[% table | html %]' table...
[% END %]

[% BLOCK msg_install_column_drop %]
  Deleting the '[% column | html %]' column from the '[% table | html %]' table...
[% END %]

[% BLOCK msg_install_column_rename %]
  Renaming column '[% old | html %]' to '[% new | html %]'...
[% END %]

[% BLOCK msg_install_confirm_password %]
  Please retype the password to verify:
[% END %]

[% BLOCK msg_install_default_classification %]
  Creating default classification '[% name | html %]'...
[% END %]

[% BLOCK msg_install_default_product %]
  Creating initial dummy product '[% name | html %]'...
[% END %]

[% BLOCK msg_install_file_perms_fix %]
  Fixing file permissions...
[% END %]

[% BLOCK msg_install_fk_add %]
  Adding foreign key: [% table | html %].[% column | html %] -&gt; [% fk.TABLE | html %].[% fk.COLUMN | html %]...
[% END %]

[% BLOCK msg_install_fk_drop %]
  Dropping foreign key: [% table | html %].[% column | html %] -&gt; [% fk.TABLE | html %].[% fk.COLUMN | html %]...
[% END %]

[% BLOCK msg_install_fk_invalid %]
  ERROR: There are invalid values for the [% column | html %] column in the [% table | html %]
  table. (These values do not exist in the [% foreign_table | html %] table, in the
  [% foreign_column | html %] column.)

  Before continuing with checksetup, you will need to fix these values,
  either by deleting these rows from the database, or changing the values
  of [% column | html %] in [% table | html %] to point to valid values in [% foreign_table | html %].[% foreign_column | html %].

  The bad values from the [% table | html %].[% column | html %] column are:
  [%+ values.join(', ') | html %]
[% END %]

[% BLOCK msg_install_fk_invalid_fixed %]
  WARNING: There were invalid values in [% table | html %].[% column | html %]
  that have been [% IF action == 'delete' %]deleted[% ELSE %]set to NULL[% END %]:
  [%+ values.join(', ') | html %]
[% END %]

[% BLOCK msg_install_group_create %]
  Creating group [% name | html %]...
[% END %]

[% BLOCK msg_install_setting_new %]
  Adding a new user setting called '[% name | html %]'
[% END %]

[% BLOCK msg_install_table_drop %]
  Dropping the '[% name | html %]' table...
[% END %]

[% BLOCK msg_install_table_rename %]
  Renaming the '[% old | html %]' table to '[% new | html %]'...
[% END %]

[% BLOCK msg_install_urlbase_default %]
  Now that you have installed [% terms.Bugzilla %], you should visit the
  'Parameters' page (linked in the footer of the Administrator
  account) to ensure it is set up as you wish - this includes
  setting the 'urlbase' option to the correct URL.
[% END %]

[% BLOCK msg_install_reset_password %]
  Enter a new password for [% user.login | html %]:
[% END %]

[% BLOCK msg_install_reset_password_done %]
  New password set.
[% END %]

[% BLOCK msg_install_webservergroup_empty %]
  ****************************************************************************
  WARNING! You have not entered a value for the "webservergroup" parameter
  in localconfig. This means that certain files and directories which need
  to be editable by both you and the web server must be world writable, and
  other files (including the localconfig file which stores your database
  password) must be world readable. This means that _anyone_ who can obtain
  local access to this machine can do whatever they want to your
  [%+ terms.Bugzilla %] installation, and is probably also able to run
  arbitrary Perl code as the user that the web server runs as.

  You really, really, really need to change this setting.
  ****************************************************************************
[% END %]

[% BLOCK msg_install_webservergroup_not_in %]
  Warning: you have entered a value for the "webservergroup" parameter in
  localconfig, but you are not either a) running this script as [% constants.ROOT_USER | html %];
  or b) a member of this group. This can cause permissions problems and
  decreased security.  If you experience problems running [% terms.Bugzilla %]
  scripts, log in as [% constants.ROOT_USER | html %] and re-run this script, become a
  member of the group, or remove the value of the "webservergroup" parameter.
[% END %]

[% BLOCK msg_install_webservergroup_windows %]
  Warning: You have set webservergroup in [% constants.bz_locations.localconfig | html %]
  Please understand that this does not bring you any security when
  running under Windows.
  Verify that the file permissions in your [% terms.Bugzilla %] directory are
  suitable for your system. Avoid unnecessary write access.
[% END %]

[% BLOCK msg_product_created %]
  [% title = "Product Created" %]
  The product <em>[% product.name | html %]</em> has been created. You will need to
  <a href="editcomponents.cgi?action=add&product=[% product.name FILTER url_quote %]">
  add at least one component</a> before anyone can enter [% terms.bugs %] against this product.
[% END %]

[% BLOCK msg_product_deleted %]
  [% title = "Product Deleted" %]
  The product <em>[% product.name | html %]</em> and all its versions,
  components, milestones and group controls have been deleted.
  [% IF product.bug_count %]
    All [% terms.bugs %] being in this product and all references
    to them have also been deleted.
  [% END %]
[% END %]

[% BLOCK msg_product_invalid %]
  [% title = "$terms.Bugzilla Component Descriptions" %]
  The product <em>[% product | html %]</em> does not exist
  or you don't have access to it. The following is a list of the
  products you can choose from.
[% END %]

[% BLOCK msg_report_created %]
  OK, you have a new saved report named <em>[% reportname FILTER html %]</em>.
[% END %]

[% BLOCK msg_report_deleted %]
  OK, the <em>[% reportname FILTER html %]</em> report is gone.
[% END %]

[% BLOCK msg_report_updated %]
  The saved report <em>[% reportname FILTER html %]</em> has been updated.
[% END %]

[% BLOCK msg_sanitycheck %]
  [%# We use this way to call sanitycheck-specific messages so that
    # we can still use get_text(). %]
  [% PROCESS "admin/sanitycheck/messages.html.tmpl" %]
[% END %]

[% BLOCK msg_series_all_open %]
  All Open
[% END %]

[% BLOCK msg_series_all_closed %]
  All Closed
[% END %]

[% BLOCK msg_series_subcategory %]
  -All-
[% END %]

[% BLOCK msg_sudo_started %]
  [% title = "Sudo session started" %]
    The sudo session has been started.  For the next 6 hours, or until you
    end the session, everything you do you do as the user you are
    impersonating ([% target | html %]).
[% END %]

[% BLOCK msg_sudo_ended %]
  [% title = "Sudo session complete" %]
    The sudo session has been ended.  From this point forward, everything you
    do you do as yourself.
[% END %]

[% BLOCK msg_series_created %]
  [% title = "Series Created" %]
    The series <em>[% series.category | html %] /
    [%+ series.subcategory | html %] /
    [%+ series.name | html %]</em>
    has been created. Note that you may need to wait up to
    [%+ series.frequency * 2 %] days before there will be enough data for a
    chart of this series to be produced.
[% END %]

[% BLOCK msg_series_deleted %]
  [% title = "Series Deleted" %]
  The series <em>[% series.category FILTER html %] /
    [%+ series.subcategory FILTER html %] /
    [%+ series.name FILTER html %]</em>
    has been deleted.
[% END %]

[% BLOCK msg_shutdown %]
  [% title = "$terms.Bugzilla is Down" %]
  [% Param("shutdownhtml") %]
  [% IF userid %]
    <p>For security reasons, you have been logged out automatically.
    The cookie that was remembering your login is now gone.
  [% END %]
[% END %]

[% BLOCK msg_term %]
  [% terms.$term | html %]
[% END %]

[% BLOCK msg_unexpected_flag_types %]
  Some flags could not be set. Please check your changes.
[% END %]

[% BLOCK msg_user_match_failed %]
  You entered a username that did not match any known
  [% terms.Bugzilla %] users, so we have instead left
  the [% match_field | html %] field blank.
[% END %]

[% BLOCK msg_user_match_multiple %]
  You entered a username that matched more than one
  user, so we have instead left the [% match_field | html %]
  field blank.
[% END %]

[% BLOCK msg_version_created %]
  [% title = "Version Created" %]
  The version <em>[% version.name | html %]</em> of product
  <em>[% product.name | html %]</em> has been created.
[% END %]

[% BLOCK msg_version_deleted %]
  [% title = "Version Deleted" %]
  The version <em>[% version.name | html %]</em> of product
  <em>[% product.name | html %]</em> has been deleted.
[% END %]

[% BLOCK msg_version_updated %]
  [% SET title = "Version Updated" IF 1 %]
  [% IF changes.size %]
    Changes to the version <em>[% version.name FILTER html %]</em> have been saved.
    <ul>
      [% IF changes.value.defined %]
        <li>Version renamed to <em>[% version.name FILTER html %]</em></li>
      [% END %]
      [% IF changes.isactive.defined %]
        <li>Version [% version.is_active ? "enabled" : "disabled" %] for [% terms.bugs %]</li>
      [% END %]
    </ul>
  [% ELSE %]
    No changes made to version <em>[% version.name FILTER html %]</em>.
  [% END %]
[% END %]

[% BLOCK msg_workflow_updated %]
  The workflow has been updated.
[% END %]

[% IF message %]
  [% message_tag = message %]
  [% message_exists = 'msg_' _ message_tag FILTER block_exists %]
  [% IF message_exists;
      message = 'msg_' _ message_tag | process;
    ELSE;
      message = Hook.process('messages');
    END %]
  [% message %]
  [%# Give sensible error if a message is unknown. %]
  [% IF !message %]
    Message '[% message_tag | html %]' is unknown.<br />
    If you are a [% terms.Bugzilla %] end-user seeing this message, please
    save this page and send it to [% Param('maintainer') %].
  [% END %]
[% END %]
