<?xml version="1.0" encoding="UTF-8"?>

<!-- This file contains definitions of resources that will be translated for
each locale. Specifically, these are UI strings that are used by content that
need to be translated for each locale.-->

<!-- Some of these strings and string descriptions were taken from
WebKit/win/WebCoreLocalizedStrings.cpp so we include the original license
below:

/*
 * Copyright (C) 2007 Apple Inc.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
-->

<grit base_dir="." latest_public_release="0" current_release="1"
      output_all_resource_defines="false" source_lang_id="en" enc_check="möl">
  <outputs>
    <!-- TODO add each of your output files.  Modify the three below, and add
    your own for your various languages.  See the user's guide
    (https://www.chromium.org/developers/tools-we-use-in-chromium/grit/grit-users-guide)
    for more details.
    Note that all output references are relative to the output directory
    which is specified at build time. -->
    <output filename="grit/content_strings.h" type="rc_header">
      <emit emit_type='prepend'></emit>
    </output>
    <output filename="content_strings_am.pak" type="data_package" lang="am" />
    <output filename="content_strings_ar.pak" type="data_package" lang="ar" />
    <output filename="content_strings_bg.pak" type="data_package" lang="bg" />
    <output filename="content_strings_bn.pak" type="data_package" lang="bn" />
    <output filename="content_strings_ca.pak" type="data_package" lang="ca" />
    <output filename="content_strings_cs.pak" type="data_package" lang="cs" />
    <output filename="content_strings_da.pak" type="data_package" lang="da" />
    <output filename="content_strings_de.pak" type="data_package" lang="de" />
    <output filename="content_strings_el.pak" type="data_package" lang="el" />
    <output filename="content_strings_en-GB.pak" type="data_package" lang="en-GB" />
    <output filename="content_strings_en-US.pak" type="data_package" lang="en" />
    <output filename="content_strings_es.pak" type="data_package" lang="es" />
    <output filename="content_strings_es-419.pak" type="data_package" lang="es-419" />
    <output filename="content_strings_et.pak" type="data_package" lang="et" />
    <output filename="content_strings_fa.pak" type="data_package" lang="fa" />
    <output filename="content_strings_fake-bidi.pak" type="data_package" lang="fake-bidi" />
    <output filename="content_strings_fi.pak" type="data_package" lang="fi" />
    <output filename="content_strings_fil.pak" type="data_package" lang="fil" />
    <output filename="content_strings_fr.pak" type="data_package" lang="fr" />
    <output filename="content_strings_gu.pak" type="data_package" lang="gu" />
    <output filename="content_strings_he.pak" type="data_package" lang="he" />
    <output filename="content_strings_hi.pak" type="data_package" lang="hi" />
    <output filename="content_strings_hr.pak" type="data_package" lang="hr" />
    <output filename="content_strings_hu.pak" type="data_package" lang="hu" />
    <output filename="content_strings_id.pak" type="data_package" lang="id" />
    <output filename="content_strings_it.pak" type="data_package" lang="it" />
    <output filename="content_strings_ja.pak" type="data_package" lang="ja" />
    <output filename="content_strings_kn.pak" type="data_package" lang="kn" />
    <output filename="content_strings_ko.pak" type="data_package" lang="ko" />
    <output filename="content_strings_lt.pak" type="data_package" lang="lt" />
    <output filename="content_strings_lv.pak" type="data_package" lang="lv" />
    <output filename="content_strings_ml.pak" type="data_package" lang="ml" />
    <output filename="content_strings_mr.pak" type="data_package" lang="mr" />
    <output filename="content_strings_ms.pak" type="data_package" lang="ms" />
    <output filename="content_strings_nl.pak" type="data_package" lang="nl" />
    <!-- The translation console uses 'no' for Norwegian Bokmål. It should
         be 'nb'. -->
    <output filename="content_strings_nb.pak" type="data_package" lang="no" />
    <output filename="content_strings_pl.pak" type="data_package" lang="pl" />
    <output filename="content_strings_pt-BR.pak" type="data_package" lang="pt-BR" />
    <output filename="content_strings_pt-PT.pak" type="data_package" lang="pt-PT" />
    <output filename="content_strings_ro.pak" type="data_package" lang="ro" />
    <output filename="content_strings_ru.pak" type="data_package" lang="ru" />
    <output filename="content_strings_sk.pak" type="data_package" lang="sk" />
    <output filename="content_strings_sl.pak" type="data_package" lang="sl" />
    <output filename="content_strings_sr.pak" type="data_package" lang="sr" />
    <output filename="content_strings_sv.pak" type="data_package" lang="sv" />
    <output filename="content_strings_sw.pak" type="data_package" lang="sw" />
    <output filename="content_strings_ta.pak" type="data_package" lang="ta" />
    <output filename="content_strings_te.pak" type="data_package" lang="te" />
    <output filename="content_strings_th.pak" type="data_package" lang="th" />
    <output filename="content_strings_tr.pak" type="data_package" lang="tr" />
    <output filename="content_strings_uk.pak" type="data_package" lang="uk" />
    <output filename="content_strings_vi.pak" type="data_package" lang="vi" />
    <output filename="content_strings_zh-CN.pak" type="data_package" lang="zh-CN" />
    <output filename="content_strings_zh-TW.pak" type="data_package" lang="zh-TW" />
  </outputs>
  <translations>
    <file path="translations/content_strings_am.xtb" lang="am" />
    <file path="translations/content_strings_ar.xtb" lang="ar" />
    <file path="translations/content_strings_bg.xtb" lang="bg" />
    <file path="translations/content_strings_bn.xtb" lang="bn" />
    <file path="translations/content_strings_ca.xtb" lang="ca" />
    <file path="translations/content_strings_cs.xtb" lang="cs" />
    <file path="translations/content_strings_da.xtb" lang="da" />
    <file path="translations/content_strings_de.xtb" lang="de" />
    <file path="translations/content_strings_el.xtb" lang="el" />
    <file path="translations/content_strings_en-GB.xtb" lang="en-GB" />
    <file path="translations/content_strings_es.xtb" lang="es" />
    <file path="translations/content_strings_es-419.xtb" lang="es-419" />
    <file path="translations/content_strings_et.xtb" lang="et" />
    <file path="translations/content_strings_fa.xtb" lang="fa" />
    <file path="translations/content_strings_fi.xtb" lang="fi" />
    <file path="translations/content_strings_fil.xtb" lang="fil" />
    <file path="translations/content_strings_fr.xtb" lang="fr" />
    <file path="translations/content_strings_gu.xtb" lang="gu" />
    <file path="translations/content_strings_hi.xtb" lang="hi" />
    <file path="translations/content_strings_hr.xtb" lang="hr" />
    <file path="translations/content_strings_hu.xtb" lang="hu" />
    <file path="translations/content_strings_id.xtb" lang="id" />
    <file path="translations/content_strings_it.xtb" lang="it" />
    <!-- The translation console uses 'iw' for Hebrew, but we use 'he'. -->
    <file path="translations/content_strings_iw.xtb" lang="he" />
    <file path="translations/content_strings_ja.xtb" lang="ja" />
    <file path="translations/content_strings_kn.xtb" lang="kn" />
    <file path="translations/content_strings_ko.xtb" lang="ko" />
    <file path="translations/content_strings_lt.xtb" lang="lt" />
    <file path="translations/content_strings_lv.xtb" lang="lv" />
    <file path="translations/content_strings_ml.xtb" lang="ml" />
    <file path="translations/content_strings_mr.xtb" lang="mr" />
    <file path="translations/content_strings_ms.xtb" lang="ms" />
    <file path="translations/content_strings_nl.xtb" lang="nl" />
    <file path="translations/content_strings_no.xtb" lang="no" />
    <file path="translations/content_strings_pl.xtb" lang="pl" />
    <file path="translations/content_strings_pt-BR.xtb" lang="pt-BR" />
    <file path="translations/content_strings_pt-PT.xtb" lang="pt-PT" />
    <file path="translations/content_strings_ro.xtb" lang="ro" />
    <file path="translations/content_strings_ru.xtb" lang="ru" />
    <file path="translations/content_strings_sk.xtb" lang="sk" />
    <file path="translations/content_strings_sl.xtb" lang="sl" />
    <file path="translations/content_strings_sr.xtb" lang="sr" />
    <file path="translations/content_strings_sv.xtb" lang="sv" />
    <file path="translations/content_strings_sw.xtb" lang="sw" />
    <file path="translations/content_strings_ta.xtb" lang="ta" />
    <file path="translations/content_strings_te.xtb" lang="te" />
    <file path="translations/content_strings_th.xtb" lang="th" />
    <file path="translations/content_strings_tr.xtb" lang="tr" />
    <file path="translations/content_strings_uk.xtb" lang="uk" />
    <file path="translations/content_strings_vi.xtb" lang="vi" />
    <file path="translations/content_strings_zh-CN.xtb" lang="zh-CN" />
    <file path="translations/content_strings_zh-TW.xtb" lang="zh-TW" />
  </translations>
  <release seq="1" allow_pseudo="false">
    <messages fallback_to_english="true">
      <!-- TODO add all of your "string table" messages here.  Remember to
      change nontranslateable parts of the messages into placeholders (using the
      <ph> element).  You can also use the 'grit add' tool to help you identify
      nontranslateable parts and create placeholders for them. -->

      <message name="IDS_DETAILS_WITHOUT_SUMMARY_LABEL" desc="Clickable label to show detailed information or to hide the detailed information.">
        Details
      </message>
      <message name="IDS_DOWNLOAD_BUTTON_LABEL" desc="Clickable button label to download media file.">
        Save
      </message>
      <message name="IDS_FORM_CALENDAR_CLEAR" desc="Label for a button which clears a date input field.">
        Clear
      </message>
      <message name="IDS_FORM_CALENDAR_TODAY" desc="Label for a button which sets today to a date input field.">
        Today
      </message>
      <message name="IDS_FORM_SUBMIT_LABEL" desc="Default label for Submit buttons in forms on webpages.">
        Submit
      </message>
      <message name="IDS_FORM_INPUT_ALT" desc="Alt text for &lt;input&gt; elements with no alt, title, or value">
        Submit
      </message>
      <message name="IDS_FORM_RESET_LABEL" desc="default label for Reset buttons in forms on webpages">
        Reset
      </message>
      <message name="IDS_FORM_FILE_BUTTON_LABEL" desc="title for a single file chooser button used in HTML forms">
        Choose File
      </message>
      <message name="IDS_FORM_MULTIPLE_FILES_BUTTON_LABEL" desc="title for a multiple file chooser button used in HTML forms. This title should be as short as possible.">
        Choose Files
      </message>
      <message name="IDS_FORM_FILE_NO_FILE_LABEL" desc="text to display in file button used in HTML forms when no file is selected">
        No file chosen
      </message>
      <message name="IDS_FORM_FILE_MULTIPLE_UPLOAD" desc="text to display next to file buttons in HTML forms when 2 or more files are selected for uploading. This is not used for a case that just 1 file is selected.">
        <ph name="NUMBER_OF_FILES">$1<ex>3</ex></ph> files
      </message>
      <message name="IDS_FORM_OTHER_COLOR_LABEL" desc="Label for button that opens a full color chooser so the user can choose colors other than the ones in the list.">
        Other...
      </message>
      <message name="IDS_FORM_OTHER_DATE_LABEL" desc="Label for button that opens a full calendar picker so the user can choose dates other than the ones in the list." meaning="for date label">
        Other...
      </message>
      <message name="IDS_FORM_OTHER_MONTH_LABEL" desc="Label for button that opens a full month picker so the user can choose dates other than the ones in the list." meaning="for month label">
        Other...
      </message>
      <message name="IDS_FORM_OTHER_WEEK_LABEL" desc="Label for button that opens a full week picker so the user can choose dates other than the ones in the list." meaning="for week label">
        Other...
      </message>
      <message name="IDS_FORM_PLACEHOLDER_FOR_DAY_OF_MONTH_FIELD" desc="Text for denoting day of month field position in date format. Short text is preferred. See http://crbug.com/152632 for samples.">
        dd
      </message>
      <message name="IDS_FORM_PLACEHOLDER_FOR_MONTH_FIELD" desc="Text for denoting month field position in date format. Short text is preferred. See http://crbug.com/152632 for samples.">
        mm
      </message>
      <message name="IDS_FORM_PLACEHOLDER_FOR_YEAR_FIELD" desc="Text for denoting day of month field position in date format. Short text is preferred. See http://crbug.com/152632 for samples.">
        yyyy
      </message>
      <message name="IDS_FORM_SELECT_MENU_LIST_TEXT" desc="Text for the menu list rendering of a select element.">
        <ph name="SELECTED_COUNT">$1<ex>3</ex></ph> selected
      </message>
      <message name="IDS_FORM_THIS_MONTH_LABEL" desc="Label for button in month picker to select this month.">
        This month
      </message>
      <message name="IDS_FORM_THIS_WEEK_LABEL" desc="Label for button in week picker to select this week.">
        This week
      </message>
      <message name="IDS_FORM_WEEK_NUMBER_LABEL" desc="Label for week number column in a calendar.">
        Week
      </message>

      <message name="IDS_AX_CALENDAR_SHOW_MONTH_SELECTOR" desc="Accessible description of a button to show month selection panel in a calendar picker.">
        Show month selection panel
      </message>
      <message name="IDS_AX_CALENDAR_SHOW_NEXT_MONTH" desc="Accessible description of a button to show next month in a calendar picker.">
        Show next month
      </message>
      <message name="IDS_AX_CALENDAR_SHOW_PREVIOUS_MONTH" desc="Accessible description of a button to show previous month in a calendar picker.">
        Show previous month
      </message>
      <message name="IDS_AX_CALENDAR_WEEK_DESCRIPTION" desc="Accessible description of a button to select a specific week.">
        <ph name="WEEK">$1<ex>Week 38, 2014</ex></ph>, starting on <ph name="WEEK_START_DATE">$2<ex>September 15, 2014</ex></ph>
      </message>

      <message name="IDS_AX_ROLE_ARTICLE" desc="Accessibility role description for article">
        article
      </message>
      <message name="IDS_AX_ROLE_BANNER" desc="Accessibility role description for banner">
        banner
      </message>
      <message name="IDS_AX_ROLE_COMPLEMENTARY" desc="Accessibility role description for complementary">
        complementary
      </message>
      <message name="IDS_AX_ROLE_CHECK_BOX" desc="Accessibility role description for a check box">
        checkbox
      </message>
      <message name="IDS_AX_ROLE_CONTENT_INFO" desc="Accessibility role description for credits and information about the content of the page, like copyrights and privacy statements">
        content info
      </message>
      <message name="IDS_AX_ROLE_DEFINITION" desc="Accessibility role description for a definition">
        definition
      </message>
      <message name="IDS_AX_ROLE_DESCRIPTION_LIST" desc="Accessibility role description for a definition list">
        definition list
      </message>
      <message name="IDS_AX_ROLE_DESCRIPTION_TERM" desc="Accessibility role description for description term (as in a description list)">
        term
      </message>
      <message name="IDS_AX_ROLE_DISCLOSURE_TRIANGLE" desc="Accessibility role description for a disclosure triangle, a control shaped like a triangle that expands or collapses to show or hide extra content">
        disclosure triangle
      </message>
      <message name="IDS_AX_ROLE_FEED" desc="Accessibility role description for a scrollable list of articles.">
        feed
      </message>
      <message name="IDS_AX_ROLE_FIGURE" desc="Accessibility role description for figure">
        figure
      </message>
      <message name="IDS_AX_ROLE_FORM" desc="Accessibility role description for form">
        form
      </message>
      <message name="IDS_AX_ROLE_FOOTER" desc="Accessibility role description for footers">
        footer
      </message>
      <message name="IDS_AX_AUTOFILL_POPUP_ACCESSIBLE_NODE_DATA" desc="The accessibility text to speak when we display an autofill popup">
        Autofill
      </message>
      <if expr="is_macosx">
        <message name="IDS_AX_ROLE_STEPPER" desc="Accessibility role description for a stepper - a control where you can use up/down arrows to increment or decrement it. The name 'stepper' is how this user interface element is described by VoiceOver on Mac OS X; the translation should be consistent with VoiceOver.">
          stepper
        </message>
      </if>
      <message name="IDS_AX_ROLE_TOGGLE_BUTTON" desc="Accessibility role description for a toggle button">
        toggle button
      </message>
      <message name="IDS_AX_ROLE_HEADING" desc="Accessibility role description for headings">
        heading
      </message>
      <message name="IDS_AX_ROLE_LINK" desc="Accessibility role description for link">
        link
      </message>
      <message name="IDS_AX_ROLE_MAIN_CONTENT" desc="Accessibility role description for main content of the document.">
        main
      </message>
      <message name="IDS_AX_ROLE_MARK" desc="Accessibility role description for highlighted content.">
        highlighted content
      </message>
      <message name="IDS_AX_ROLE_MATH" desc="Accessibility role description for math">
        math
      </message>
      <message name="IDS_AX_ROLE_NAVIGATIONAL_LINK" desc="Accessibility role description for group of navigational links.">
        navigation
      </message>
      <message name="IDS_AX_ROLE_REGION" desc="Accessibility role description for region">
        region
      </message>
      <message name="IDS_AX_ROLE_SEARCH_BOX" desc="Accessibility role description for search text field">
        search text field
      </message>
      <message name="IDS_AX_ROLE_STATUS" desc="Accessibility role description for status">
        status
      </message>
      <message name="IDS_AX_ROLE_SWITCH" desc="Accessibility role description for switch">
        switch
      </message>
      <message name="IDS_AX_ROLE_WEB_AREA" desc="Accessibility role description for web area">
        HTML content
      </message>
      <if expr="is_android">
        <message name="IDS_AX_ROLE_ALERT" desc="Accessibility role description for an alert">
          alert
        </message>
        <message name="IDS_AX_ROLE_ALERT_DIALOG" desc="Accessibility role description for an alert dialog">
          alert_dialog
        </message>
        <message name="IDS_AX_ROLE_APPLICATION" desc="Accessibility role description for an application">
          application
        </message>
        <message name="IDS_AX_ROLE_BLOCKQUOTE" desc="Accessibility role description for a blockquote">
          blockquote
        </message>
        <message name="IDS_AX_ROLE_BUSY_INDICATOR" desc="Accessibility role description for a busy indicator">
          busy indicator
        </message>
        <message name="IDS_AX_ROLE_BUTTON" desc="Accessibility role description for a button">
          button
        </message>
        <message name="IDS_AX_ROLE_BUTTON_DROP_DOWN" desc="Accessibility role description for a button that drops down">
          drop down button
        </message>
        <message name="IDS_AX_ROLE_CELL" desc="Accessibility role description for a cell, like in a table or grid">
          cell
        </message>
        <message name="IDS_AX_ROLE_COLOR_WELL" desc="Accessibility role description for a color picker">
          color picker
        </message>
        <message name="IDS_AX_ROLE_COLUMN_HEADER" desc="Accessibility role description for a column header">
          column header
        </message>
        <message name="IDS_AX_ROLE_COMBO_BOX" desc="Accessibility role description for a combo box, an editable text control with an associated drop-down list">
          combo box
        </message>
        <message name="IDS_AX_ROLE_DATE" desc="Accessibility role description for a date picker">
          date picker
        </message>
        <message name="IDS_AX_ROLE_DATE_TIME" desc="Accessibility role description for a date / time picker">
          date and time picker
        </message>
        <message name="IDS_AX_ROLE_DIALOG" desc="Accessibility role description for a dialog">
          dialog
        </message>
        <message name="IDS_AX_ROLE_DIRECTORY" desc="Accessibility role description for a directory, for example a table of contents or list of employees">
          directory
        </message>
        <message name="IDS_AX_ROLE_DOCUMENT" desc="Accessibility role description for a document">
          document
        </message>
        <message name="IDS_AX_ROLE_EMBEDDED_OBJECT" desc="Accessibility role description for an embedded object, like a video inside a web page">
          object
        </message>
        <message name="IDS_AX_ROLE_GRAPHIC" desc="Accessibility role description for a graphic or image">
          graphic
        </message>
        <message name="IDS_AX_ROLE_HEADING_WITH_LEVEL" desc="Accessibility role description for a heading with a heading level, for example 'heading 1' is the most important heading and 'heading 3' is less important">
          heading <ph name="HEADING_LEVEL">$1<ex>1</ex></ph>
        </message>
        <message name="IDS_AX_ROLE_INPUT_TIME" desc="Accessibility role description for a time picker control">
          time picker
        </message>
        <message name="IDS_AX_ROLE_LIST_BOX" desc="Accessibility role description for a list box control">
          list box
        </message>
        <message name="IDS_AX_ROLE_LOG" desc="Accessibility role description for an information log, such as a chat log or error log">
          log
        </message>
        <message name="IDS_AX_ROLE_MARQUEE" desc="Accessibility role description for a marquee, such as a stock ticker or ad banner that frequently changes">
          marquee
        </message>
        <message name="IDS_AX_ROLE_MENU" desc="Accessibility role description for a menu">
          menu
        </message>
        <message name="IDS_AX_ROLE_MENU_BAR" desc="Accessibility role description for a menu bar">
          menu bar
        </message>
        <message name="IDS_AX_ROLE_MENU_BUTTON" desc="Accessibility role description for a menu button, a button that opens a menu">
          menu button
        </message>
        <message name="IDS_AX_ROLE_MENU_ITEM" desc="Accessibility role description for a menu item">
          menu item
        </message>
        <message name="IDS_AX_ROLE_METER" desc="Accessibility role description for a meter, for example a temperature indicator or progress bar">
          meter
        </message>
        <message name="IDS_AX_ROLE_NOTE" desc="Accessibility role description for a note">
          note
        </message>
        <message name="IDS_AX_ROLE_OUTLINE" desc="Accessibility role description for an outline, a presentation of information in a tree-like structure">
          outline
        </message>
        <message name="IDS_AX_ROLE_POP_UP_BUTTON" desc="Accessibility role description for a pop up button">
          pop up button
        </message>
        <message name="IDS_AX_ROLE_PROGRESS_INDICATOR" desc="Accessibility role description for a progress indicator">
          progress indicator
        </message>
        <message name="IDS_AX_ROLE_RADIO" desc="Accessibility role description for a radio button">
          radio button
        </message>
        <message name="IDS_AX_ROLE_RADIO_GROUP" desc="Accessibility role description for a group of related radio buttons">
          radio group
        </message>
        <message name="IDS_AX_ROLE_ROW_HEADER" desc="Accessibility role description for a row header in a table">
          row header
        </message>
        <message name="IDS_AX_ROLE_RULER" desc="Accessibility role description for a ruler">
          ruler
        </message>
        <message name="IDS_AX_ROLE_SCROLL_BAR" desc="Accessibility role description for a scroll bar">
          scroll bar
        </message>
        <message name="IDS_AX_ROLE_SEARCH" desc="Accessibility role description for the section of a web page containing controls for searching the page or site">
          search
        </message>
        <message name="IDS_AX_ROLE_SLIDER" desc="Accessibility role description for a slider">
          slider
        </message>
        <message name="IDS_AX_ROLE_SPIN_BUTTON" desc="Accessibility role description for a spin button, a control containing a numerical value that can be incremented or decremented by 1">
          spin button
        </message>
        <message name="IDS_AX_ROLE_SPLITTER" desc="Accessibility role description for a splitter, a control that splits the window in two pieces and can usually be dragged">
          splitter
        </message>
        <message name="IDS_AX_ROLE_TAB" desc="Accessibility role description for a tab">
          tab
        </message>
        <message name="IDS_AX_ROLE_TABLE" desc="Accessibility role description for a table">
          table
        </message>
        <message name="IDS_AX_ROLE_TAB_LIST" desc="Accessibility role description for a tab list">
          tab list
        </message>
        <message name="IDS_AX_ROLE_TAB_PANEL" desc="Accessibility role description for a tab panel, the part of the window that changes when selecting a new tab">
          tab panel
        </message>
        <message name="IDS_AX_ROLE_TIME" desc="Accessibility role description for a time">
          time
        </message>
        <message name="IDS_AX_ROLE_TIMER" desc="Accessibility role description for a timer">
          timer
        </message>
        <message name="IDS_AX_ROLE_TOOLBAR" desc="Accessibility role description for a toolbar">
          toolbar
        </message>
        <message name="IDS_AX_ROLE_TOOLTIP" desc="Accessibility role description for a tooltip">
          tooltip
        </message>
        <message name="IDS_AX_ROLE_TREE" desc="Accessibility role description for a tree">
          tree
        </message>
        <message name="IDS_AX_ROLE_TREE_GRID" desc="Accessibility role description for a tree grid">
          tree grid
        </message>
        <message name="IDS_AX_ROLE_TREE_ITEM" desc="Accessibility role description for a tree item">
          tree item
        </message>
      </if>

      <message name="IDS_AX_AM_PM_FIELD_TEXT" desc="Accessible description of the AM/PM field in a date/time control">
        AM/PM
      </message>

      <message name="IDS_AX_DAY_OF_MONTH_FIELD_TEXT" desc="Accessible description of the day of month field in a date/time control">
        Day
      </message>

      <message name="IDS_AX_HOUR_FIELD_TEXT" desc="Accessible description of the hour field in a date/time control">
        Hours
      </message>

      <message name="IDS_AX_MEDIA_DEFAULT" desc="Accessible description of a media control.">
        media control
      </message>

      <message name="IDS_AX_MEDIA_AUDIO_ELEMENT" desc="Accessible description of audio">
        audio
      </message>

      <message name="IDS_AX_MEDIA_VIDEO_ELEMENT" desc="Accessible description of video">
        video
      </message>

      <message name="IDS_AX_MEDIA_MUTE_BUTTON" desc="Accessibility role description for mute button">
        mute
      </message>

      <message name="IDS_AX_MEDIA_UNMUTE_BUTTON" desc="Accessibility role description for turn mute off button">
        unmute
      </message>

      <message name="IDS_AX_MEDIA_PLAY_BUTTON" desc="Accessibility role description for play button">
        play
      </message>

      <message name="IDS_AX_MEDIA_PAUSE_BUTTON" desc="Accessibility role description for pause button">
        pause
      </message>

      <message name="IDS_AX_MEDIA_CURRENT_TIME_DISPLAY" desc="Accessibility role description for elapsed time display">
        elapsed time
      </message>

      <message name="IDS_AX_MEDIA_TIME_REMAINING_DISPLAY" desc="Accessibility role description for time remaining display">
        remaining time
      </message>

      <message name="IDS_AX_MEDIA_ENTER_FULL_SCREEN_BUTTON" desc="Accessibility role description for enter fullscreen button">
        enter full screen
      </message>

      <message name="IDS_AX_MEDIA_EXIT_FULL_SCREEN_BUTTON" desc="Accessibility role description for exit fullscreen button">
        exit full screen
      </message>

      <message name="IDS_AX_MEDIA_SHOW_CLOSED_CAPTIONS_BUTTON" desc="Accessibility role description for show closed captions button">
        show closed captions
      </message>

      <message name="IDS_AX_MEDIA_HIDE_CLOSED_CAPTIONS_BUTTON" desc="Accessibility role description for hide closed captions button">
        hide closed captions
      </message>

      <message name="IDS_AX_MEDIA_CAST_OFF_BUTTON" desc="Accessibility role description for remote playback button">
        play on remote device
      </message>

      <message name="IDS_AX_MEDIA_CAST_ON_BUTTON" desc="Accessibility role description for remote playback control button">
        control remote playback
      </message>

      <message name="IDS_AX_MEDIA_DOWNLOAD_BUTTON" desc="Media controls download button.">
        download media
      </message>

      <message name="IDS_AX_MEDIA_OVERFLOW_BUTTON" desc="Media controls overflow button.">
        show more media controls
      </message>

      <message name="IDS_AX_MEDIA_AUDIO_ELEMENT_HELP" desc="Accessible help of audio controls">
        audio
      </message>

      <message name="IDS_AX_MEDIA_VIDEO_ELEMENT_HELP" desc="Accessible help of video">
        video
      </message>

      <message name="IDS_AX_MEDIA_MUTE_BUTTON_HELP" desc="Accessibility help description for mute button">
        mute audio track
      </message>

      <message name="IDS_AX_MEDIA_UNMUTE_BUTTON_HELP" desc="Accessibility help description for turn mute off button">
        unmute audio track
      </message>

      <message name="IDS_AX_MEDIA_PLAY_BUTTON_HELP" desc="Accessibility help description for play button">
        begin playback
      </message>

      <message name="IDS_AX_MEDIA_PAUSE_BUTTON_HELP" desc="Accessibility help description for pause button">
        pause playback
      </message>

      <message name="IDS_AX_MEDIA_AUDIO_SLIDER_HELP" desc="Accessibility help description for audio timeline slider">
        audio time scrubber
      </message>

      <message name="IDS_AX_MEDIA_VIDEO_SLIDER_HELP" desc="Accessibility help description for video timeline slider">
        movie time scrubber
      </message>

      <message name="IDS_AX_MEDIA_CURRENT_TIME_DISPLAY_HELP" desc="Accessibility help description for elapsed time display">
        current time in seconds
      </message>

      <message name="IDS_AX_MEDIA_TIME_REMAINING_DISPLAY_HELP" desc="Accessibility help description for time remaining display">
        number of seconds of movie remaining
      </message>

      <message name="IDS_AX_MEDIA_ENTER_FULL_SCREEN_BUTTON_HELP" desc="Accessibility help description for enter fullscreen button">
        play movie in full screen mode
      </message>

      <message name="IDS_AX_MEDIA_EXIT_FULL_SCREEN_BUTTON_HELP" desc="Accessibility help description for exit fullscreen button">
        exit full screen
      </message>

      <message name="IDS_AX_MEDIA_SHOW_CLOSED_CAPTIONS_BUTTON_HELP" desc="Accessibility help description for show closed captions button">
        start displaying closed captions
      </message>

      <message name="IDS_AX_MEDIA_HIDE_CLOSED_CAPTIONS_BUTTON_HELP" desc="Accessibility help description for hide closed captions button">
        stop displaying closed captions
      </message>

      <message name="IDS_AX_MEDIA_CAST_OFF_BUTTON_HELP" desc="Accessibility help description for remote playback button">
        play on remote device
      </message>

      <message name="IDS_AX_MEDIA_CAST_ON_BUTTON_HELP" desc="Accessibility help description for remote playback control button">
        control remote playback
      </message>

      <message name="IDS_AX_MEDIA_OVERFLOW_BUTTON_HELP" desc="Accessibility help description for overflow button.">
        more options
      </message>

      <message name="IDS_AX_MILLISECOND_FIELD_TEXT" desc="Accessible description of the millisecond field in a date/time control">
        Milliseconds
      </message>

      <message name="IDS_AX_MINUTE_FIELD_TEXT" desc="Accessible description of the minute field in a date/time control">
        Minutes
      </message>

      <message name="IDS_AX_MONTH_FIELD_TEXT" desc="Accessible description of the month field in a date/time control">
        Month
      </message>

      <message name="IDS_AX_SECOND_FIELD_TEXT" desc="Accessible description of the second field in a date/time control">
        Seconds
      </message>

      <message name="IDS_AX_WEEK_OF_YEAR_FIELD_TEXT" desc="Accessible description of the week of year field in a date/time control">
        Week
      </message>

      <message name="IDS_AX_YEAR_FIELD_TEXT" desc="Accessible description of the year field in a date/time control">
        Year
      </message>

      <message name="IDS_FORM_INPUT_WEEK_TEMPLATE" desc="A specific week (1-53) in a specific year shown in a form control">
        Week <ph name="WEEKNUMBER">$2<ex>51</ex></ph>, <ph name="YEAR">$1<ex>2012</ex></ph>
      </message>
      <message name="IDS_FORM_VALIDATION_VALUE_MISSING_MULTIPLE_FILE" desc="Heading or short sentence shown when a file upload control in a webpage requires one or more files selected, but the user didn't specify any files.">
        Please select one or more files.
      </message>
      <message name="IDS_FORM_VALIDATION_TYPE_MISMATCH" desc="Heading or short sentence shown when a form control in a webpage requires specific type such as email address or URL, but the specified value does not comform to the type.">
        Invalid value.
      </message>
      <message name="IDS_FORM_VALIDATION_TYPE_MISMATCH_EMAIL_EMPTY" desc="Heading or short sentence shown when there is an email field in a form and a user specified an empty value.">
        Please enter a non-empty email address.
      </message>
      <message name="IDS_FORM_VALIDATION_TYPE_MISMATCH_EMAIL_EMPTY_DOMAIN" desc="Heading or short sentence shown when there is an email field in a form and a user specified an invalid value like 'user@'.">
        Please enter a part following '<ph name="ATSIGN">$1<ex>@</ex></ph>'. '<ph name="INVALIDADDRESS">$2<ex>user@</ex></ph>' is incomplete.
      </message>
      <message name="IDS_FORM_VALIDATION_TYPE_MISMATCH_EMAIL_EMPTY_LOCAL" desc="Heading or short sentence shown when there is an email field in a form and a user specified an invalid value like '@example.com'.">
        Please enter a part followed by '<ph name="ATSIGN">$1<ex>@</ex></ph>'. '<ph name="INVALIDADDRESS">$2<ex>@example.com</ex></ph>' is incomplete.
      </message>
      <message name="IDS_FORM_VALIDATION_TYPE_MISMATCH_EMAIL_INVALID_DOMAIN" desc="Heading or short sentence shown when there is an email field in a form and a user specified an invalid value like 'user@example,com'.">
        A part following '<ph name="ATSIGN">$1<ex>@</ex></ph>' should not contain the symbol '<ph name="INVALIDCHARACTER">$2<ex>,</ex></ph>'.
      </message>
      <message name="IDS_FORM_VALIDATION_TYPE_MISMATCH_EMAIL_INVALID_DOTS" desc="Heading or short sentence shown when there is an email field in a form and a user specified an invalid value with wrong dots like 'user@example..com'.">
        '<ph name="DOT">$1<ex>.</ex></ph>' is used at a wrong position in '<ph name="INVALIDDOMAIN">$2<ex>example..com</ex></ph>'.
      </message>
      <message name="IDS_FORM_VALIDATION_TYPE_MISMATCH_EMAIL_INVALID_LOCAL" desc="Heading or short sentence shown when there is an email field in a form and a user specified an invalid value like 'us,er@example.com'.">
        A part followed by '<ph name="ATSIGN">$1<ex>@</ex></ph>' should not contain the symbol '<ph name="INVALIDCHARACTER">$2<ex>,</ex></ph>'.
      </message>
      <message name="IDS_FORM_VALIDATION_TYPE_MISMATCH_EMAIL_NO_AT_SIGN" desc="Heading or short sentence shown when there is an email field in a form and a user specified an invalid value liek 'user'.">
        Please include an '<ph name="ATSIGN">$1<ex>@</ex></ph>' in the email address. '<ph name="INVALIDADDRESS">$2<ex>user</ex></ph>' is missing an '<ph name="ATSIGN">$1<ex>@</ex></ph>'.
      </message>
      <message name="IDS_FORM_VALIDATION_TYPE_MISMATCH_MULTIPLE_EMAIL" desc="Heading or short sentence shown there is a field which accepts multiple e-mail addresses and a user specified a value which is not a comma-separated e-mail addresses.">
        Please enter a comma separated list of email addresses.
      </message>
      <message name="IDS_FORM_VALIDATION_RANGE_UNDERFLOW" desc="Heading or short sentence shown when a form control value in a webpage needs to be larger than or equal to a minimum value specified by the page author, but a user specified a too small value.">
        Value must be greater than or equal to <ph name="MINIMUM">$1<ex>0</ex></ph>.
      </message>
      <message name="IDS_FORM_VALIDATION_RANGE_UNDERFLOW_DATETIME" desc="Heading or short sentence shown when a form control value in a webpage needs to be later or equal to a minimum date/time value specified by the page author, but a user specified an earlier date/time.">
        Value must be <ph name="MINIMUM_DATE_OR_TIME">$1<ex>01/04/2013</ex></ph> or later.
      </message>
      <message name="IDS_FORM_VALIDATION_RANGE_OVERFLOW" desc="Heading or short sentence shown when a form control value in a webpage needs to be smaller than or equal to a maximum value specified by the page author, but a user specified a too large value.">
        Value must be less than or equal to <ph name="MAXIMUM">$1<ex>100</ex></ph>.
      </message>
      <message name="IDS_FORM_VALIDATION_RANGE_OVERFLOW_DATETIME" desc="Heading or short sentence shown when a form control value in a webpage needs to be earlier than or equal to a maximum date/time value specified by the page author, but a user specified a later date/time.">
        Value must be <ph name="MAXIMUM_DATE_OR_TIME">$1<ex>12/31/2013</ex></ph> or earlier.
      </message>
      <message name="IDS_FORM_VALIDATION_BAD_INPUT_DATETIME" desc="Heading or short sentence shown when a user specified an incomplete value or an invalid date (such as 02/31/2012) to a date/time form control in a webpage.">
        Please enter a valid value. The field is incomplete or has an invalid date.
      </message>
      <message name="IDS_FORM_VALIDATION_BAD_INPUT_NUMBER" desc="Heading or short sentence shown when a user entered a non-number string to a number field in a webpage.">
        Please enter a number.
      </message>

<!-- The following IDS_FORM_VALIDATION_* messages were taken from Mozilla's dom.properties file.

# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# 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 mozilla.org code.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 2001
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#   Mitch <mstoltz@netscape.com> (original author)
#   Ehsan Akhgari <ehsan.akhgari@gmail.com>
#
# Alternatively, the contents of this file may be used under the terms of
# either of the GNU General Public License Version 2 or later (the "GPL"),
# or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
-->
      <message name="IDS_FORM_VALIDATION_VALUE_MISSING" desc="Heading or short sentence shown when a text form control in a webpage requires a value, but the user didn't specify any value.">
        Please fill out this field.
      </message>
      <message name="IDS_FORM_VALIDATION_VALUE_MISSING_CHECKBOX" desc="Heading or short sentence shown when a checkbox control in a webpage must be checked, but the user didn't check it.">
        Please check this box if you want to proceed.
      </message>
      <message name="IDS_FORM_VALIDATION_VALUE_MISSING_FILE" desc="Heading or short sentence shown when a file upload control in a webpage requires a file selected, but the user didn't specify any file.">
        Please select a file.
      </message>
      <message name="IDS_FORM_VALIDATION_VALUE_MISSING_RADIO" desc="Heading or short sentence shown when a radio button of a radio button group in a webpage must be selected, but the user selected nothing.">
        Please select one of these options.
      </message>
      <message name="IDS_FORM_VALIDATION_VALUE_MISSING_SELECT" desc="Heading or short sentence shown when a value of a menu-list control in a webpage must be selected, but the user selected nothing.">
        Please select an item in the list.
      </message>
      <message name="IDS_FORM_VALIDATION_TYPE_MISMATCH_EMAIL" desc="Heading or short sentence shown when there is an email field in a form and a user specified a value which doesn't look like an e-mail address.">
        Please enter an email address.
      </message>
      <message name="IDS_FORM_VALIDATION_TYPE_MISMATCH_URL" desc="Heading or short sentence shown when there is a URL field in a form and a user specified a value which doesn't look like a URL.">
        Please enter a URL.
      </message>
      <message name="IDS_FORM_VALIDATION_PATTERN_MISMATCH" desc="Heading or short sentence shown when a form control value needs to satisfy a pattern specified by the page author, but a user specified unmatched value.">
        Please match the requested format.
      </message>
      <message name="IDS_FORM_VALIDATION_STEP_MISMATCH" desc="Heading or short sentence shown when a form control value in a webpage should be aligned to a step value specified by the page author, but a user speficified non-aligned value. e.g. A number type field, minimum value is 0, and step value is 4. If A user-specified value is not a multiple of 4, this warning message is shown.">
        Please enter a valid value. The two nearest valid values are <ph name="VALID_VALUE_LOW">$1<ex>4</ex></ph> and <ph name="VALID_VALUE_HIGHER">$2<ex>8</ex></ph>.
      </message>
      <message name="IDS_FORM_VALIDATION_STEP_MISMATCH_CLOSE_TO_LIMIT" desc="Heading or short sentence shown when a form control value in a webpage should be aligned to a step value specified by the page author, but a user speficified non-aligned value. e.g. A number type field, minimum value is 0, and step value is 4. If A user-specified value is not a multiple of 4, this warning message is shown.">
        Please enter a valid value. The nearest valid value is <ph name="VALID_VALUE">$1<ex>0</ex></ph>.
      </message>
      <message name="IDS_FORM_VALIDATION_TOO_LONG" desc="Heading or short sentence shown when a form control in a webpage needs to be shorter than a length specified by the page author, but a user specified long value.">
        Please shorten this text to <ph name="MAX_CHARACTERS">$2<ex>100</ex></ph> characters or less (you are currently using <ph name="CURRENT_LENGTH">$1<ex>101</ex></ph> characters).
      </message>
      <message name="IDS_FORM_VALIDATION_TOO_SHORT" desc="Heading or short sentence shown when a form control in a webpage needs to be longer than a length specified by the page author, but a user specified a value of 1 character.">
        Please lengthen this text to <ph name="MIN_CHARACTERS">$2<ex>101</ex></ph> characters or more (you are currently using 1 character).
      </message>
      <message name="IDS_FORM_VALIDATION_TOO_SHORT_PLURAL" desc="Heading or short sentence shown when a form control in a webpage needs to be longer than a length specified by the page author, but a user specified short value.">
        Please lengthen this text to <ph name="MIN_CHARACTERS">$2<ex>101</ex></ph> characters or more (you are currently using <ph name="CURRENT_LENGTH">$1<ex>100</ex></ph> characters).
      </message>

      <message name="IDS_MEDIA_OVERFLOW_MENU_CLOSED_CAPTIONS" desc="Media controls overflow menu item label for a closed captions button. The text for this overflow menu should be short.">
        Captions
      </message>
      <message name="IDS_MEDIA_OVERFLOW_MENU_CAST" desc="Media controls overflow menu item label for a cast button.">
        Cast
      </message>
      <message name="IDS_MEDIA_OVERFLOW_MENU_ENTER_FULLSCREEN" desc="Media controls overflow menu item label for a button to enter fullscreen.">
        Fullscreen
      </message>
      <message name="IDS_MEDIA_OVERFLOW_MENU_EXIT_FULLSCREEN" desc="Media controls overflow menu item label for a button to exit fullscreen.">
        Exit fullscreen
      </message>
      <message name="IDS_MEDIA_OVERFLOW_MENU_STOP_CAST" desc="Media controls overflow menu item label for a button to stop casting.">
        Stop casting
      </message>
      <message name="IDS_MEDIA_OVERFLOW_MENU_MUTE" desc="Media controls overflow menu item label for a mute button.">
        Mute
      </message>
      <message name="IDS_MEDIA_OVERFLOW_MENU_UNMUTE" desc="Media controls overflow menu item label for an unmute button.">
        Unmute
      </message>
      <message name="IDS_MEDIA_OVERFLOW_MENU_PLAY" desc="Media controls overflow menu item label for a play button.">
        Play
      </message>
      <message name="IDS_MEDIA_OVERFLOW_MENU_PAUSE" desc="Media controls overflow menu item label for a pause button.">
        Pause
      </message>
      <message name="IDS_MEDIA_OVERFLOW_MENU_DOWNLOAD" desc="Media controls overflow menu item label for a download button.">
       Download
      </message>
      <message name="IDS_MEDIA_REMOTING_DISABLE_TEXT" desc="Media remoting disable button label.">
       Play on both screens
      </message>
      <message name="IDS_MEDIA_REMOTING_CAST_TEXT" desc="Media remoting cast video text message.">
       Now casting to your TV
      </message>
      <message name="IDS_MEDIA_TRACKS_NO_LABEL" desc="Menu item label for a text track that has no name specified. The number represents the track number in the list of tracks.">
        Track <ph name="NUMBER">$1<ex>1</ex></ph>
      </message>

      <message name="IDS_MEDIA_TRACKS_OFF" desc="Menu item label for a text track that represents disabling closed captions">
        Off
      </message>

      <message name="IDS_PLUGIN_INITIALIZATION_ERROR" desc="A message displayed when a plugin failed to load">
        Couldn't load plugin.
      </message>

    </messages>
  </release>
</grit>
