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

<grit latest_public_release="0" current_release="1"
      output_all_resource_defines="false" source_lang_id="en" enc_check="möl">
  <outputs>
    <output filename="grit/components_strings.h" type="rc_header">
      <emit emit_type='prepend'></emit>
    </output>
    <output filename="components_strings_am.pak" type="data_package" lang="am" />
    <output filename="components_strings_ar.pak" type="data_package" lang="ar" />
    <output filename="components_strings_bg.pak" type="data_package" lang="bg" />
    <output filename="components_strings_bn.pak" type="data_package" lang="bn" />
    <output filename="components_strings_ca.pak" type="data_package" lang="ca" />
    <output filename="components_strings_cs.pak" type="data_package" lang="cs" />
    <output filename="components_strings_da.pak" type="data_package" lang="da" />
    <output filename="components_strings_de.pak" type="data_package" lang="de" />
    <output filename="components_strings_el.pak" type="data_package" lang="el" />
    <output filename="components_strings_en-US.pak" type="data_package" lang="en" />
    <output filename="components_strings_en-GB.pak" type="data_package" lang="en-GB" />
    <output filename="components_strings_es.pak" type="data_package" lang="es" />
    <if expr="is_ios">
      <!-- iOS uses es-MX for es-419 -->
      <output filename="components_strings_es-MX.pak" type="data_package" lang="es-419" />
    </if>
    <if expr="not is_ios">
      <output filename="components_strings_es-419.pak" type="data_package" lang="es-419" />
    </if>
    <output filename="components_strings_et.pak" type="data_package" lang="et" />
    <output filename="components_strings_fa.pak" type="data_package" lang="fa" />
    <output filename="components_strings_fake-bidi.pak" type="data_package" lang="fake-bidi" />
    <output filename="components_strings_fi.pak" type="data_package" lang="fi" />
    <output filename="components_strings_fil.pak" type="data_package" lang="fil" />
    <output filename="components_strings_fr.pak" type="data_package" lang="fr" />
    <output filename="components_strings_gu.pak" type="data_package" lang="gu" />
    <output filename="components_strings_he.pak" type="data_package" lang="he" />
    <output filename="components_strings_hi.pak" type="data_package" lang="hi" />
    <output filename="components_strings_hr.pak" type="data_package" lang="hr" />
    <output filename="components_strings_hu.pak" type="data_package" lang="hu" />
    <output filename="components_strings_id.pak" type="data_package" lang="id" />
    <output filename="components_strings_it.pak" type="data_package" lang="it" />
    <output filename="components_strings_ja.pak" type="data_package" lang="ja" />
    <output filename="components_strings_kn.pak" type="data_package" lang="kn" />
    <output filename="components_strings_ko.pak" type="data_package" lang="ko" />
    <output filename="components_strings_lt.pak" type="data_package" lang="lt" />
    <output filename="components_strings_lv.pak" type="data_package" lang="lv" />
    <output filename="components_strings_ml.pak" type="data_package" lang="ml" />
    <output filename="components_strings_mr.pak" type="data_package" lang="mr" />
    <output filename="components_strings_ms.pak" type="data_package" lang="ms" />
    <output filename="components_strings_nl.pak" type="data_package" lang="nl" />
    <!-- The translation console uses 'no' for Norwegian Bokmål. It should
         be 'nb'. -->
    <output filename="components_strings_nb.pak" type="data_package" lang="no" />
    <output filename="components_strings_pl.pak" type="data_package" lang="pl" />
    <if expr="is_ios">
      <!-- iOS uses pt for pt-BR -->
      <output filename="components_strings_pt.pak" type="data_package" lang="pt-BR" />
    </if>
    <if expr="not is_ios">
      <output filename="components_strings_pt-BR.pak" type="data_package" lang="pt-BR" />
    </if>
    <output filename="components_strings_pt-PT.pak" type="data_package" lang="pt-PT" />
    <output filename="components_strings_ro.pak" type="data_package" lang="ro" />
    <output filename="components_strings_ru.pak" type="data_package" lang="ru" />
    <output filename="components_strings_sk.pak" type="data_package" lang="sk" />
    <output filename="components_strings_sl.pak" type="data_package" lang="sl" />
    <output filename="components_strings_sr.pak" type="data_package" lang="sr" />
    <output filename="components_strings_sv.pak" type="data_package" lang="sv" />
    <output filename="components_strings_sw.pak" type="data_package" lang="sw" />
    <output filename="components_strings_ta.pak" type="data_package" lang="ta" />
    <output filename="components_strings_te.pak" type="data_package" lang="te" />
    <output filename="components_strings_th.pak" type="data_package" lang="th" />
    <output filename="components_strings_tr.pak" type="data_package" lang="tr" />
    <output filename="components_strings_uk.pak" type="data_package" lang="uk" />
    <output filename="components_strings_vi.pak" type="data_package" lang="vi" />
    <output filename="components_strings_zh-CN.pak" type="data_package" lang="zh-CN" />
    <output filename="components_strings_zh-TW.pak" type="data_package" lang="zh-TW" />

    <!-- On Android, output some strings into Android's xml string format.
         These strings are tagged with formatter_data="android_java" -->
    <if expr="is_android">
      <output filename="java/res/values-am/components_strings.xml" lang="am" type="android" context="android_java" />
      <output filename="java/res/values-ar/components_strings.xml" lang="ar" type="android" context="android_java" />
      <output filename="java/res/values-bg/components_strings.xml" lang="bg" type="android" context="android_java" />
      <output filename="java/res/values-bn/components_strings.xml" lang="bn" type="android" context="android_java" />
      <output filename="java/res/values-ca/components_strings.xml" lang="ca" type="android" context="android_java" />
      <output filename="java/res/values-cs/components_strings.xml" lang="cs" type="android" context="android_java" />
      <output filename="java/res/values-da/components_strings.xml" lang="da" type="android" context="android_java" />
      <output filename="java/res/values-de/components_strings.xml" lang="de" type="android" context="android_java" />
      <output filename="java/res/values-el/components_strings.xml" lang="el" type="android" context="android_java" />
      <output filename="java/res/values/components_strings.xml" lang="en" type="android" context="android_java" />
      <output filename="java/res/values-en-rGB/components_strings.xml" lang="en-GB" type="android" context="android_java" />
      <output filename="java/res/values-es/components_strings.xml" lang="es" type="android" context="android_java" />
      <output filename="java/res/values-es-rUS/components_strings.xml" lang="es-419" type="android" context="android_java" />
      <output filename="java/res/values-et/components_strings.xml" lang="et" type="android" context="android_java" />
      <output filename="java/res/values-fa/components_strings.xml" lang="fa" type="android" context="android_java" />
      <output filename="java/res/values-fi/components_strings.xml" lang="fi" type="android" context="android_java" />
      <output filename="java/res/values-tl/components_strings.xml" lang="fil" type="android" context="android_java" />
      <output filename="java/res/values-fr/components_strings.xml" lang="fr" type="android" context="android_java" />
      <output filename="java/res/values-gu/components_strings.xml" lang="gu" type="android" context="android_java" />
      <output filename="java/res/values-iw/components_strings.xml" lang="he" type="android" context="android_java" />
      <output filename="java/res/values-hi/components_strings.xml" lang="hi" type="android" context="android_java" />
      <output filename="java/res/values-hr/components_strings.xml" lang="hr" type="android" context="android_java" />
      <output filename="java/res/values-hu/components_strings.xml" lang="hu" type="android" context="android_java" />
      <output filename="java/res/values-in/components_strings.xml" lang="id" type="android" context="android_java" />
      <output filename="java/res/values-it/components_strings.xml" lang="it" type="android" context="android_java" />
      <output filename="java/res/values-ja/components_strings.xml" lang="ja" type="android" context="android_java" />
      <output filename="java/res/values-kn/components_strings.xml" lang="kn" type="android" context="android_java" />
      <output filename="java/res/values-ko/components_strings.xml" lang="ko" type="android" context="android_java" />
      <output filename="java/res/values-lt/components_strings.xml" lang="lt" type="android" context="android_java" />
      <output filename="java/res/values-lv/components_strings.xml" lang="lv" type="android" context="android_java" />
      <output filename="java/res/values-ml/components_strings.xml" lang="ml" type="android" context="android_java" />
      <output filename="java/res/values-mr/components_strings.xml" lang="mr" type="android" context="android_java" />
      <output filename="java/res/values-ms/components_strings.xml" lang="ms" type="android" context="android_java" />
      <output filename="java/res/values-nl/components_strings.xml" lang="nl" type="android" context="android_java" />
      <output filename="java/res/values-nb/components_strings.xml" lang="no" type="android" context="android_java" />
      <output filename="java/res/values-pl/components_strings.xml" lang="pl" type="android" context="android_java" />
      <output filename="java/res/values-pt-rBR/components_strings.xml" lang="pt-BR" type="android" context="android_java" />
      <output filename="java/res/values-pt-rPT/components_strings.xml" lang="pt-PT" type="android" context="android_java" />
      <output filename="java/res/values-ro/components_strings.xml" lang="ro" type="android" context="android_java" />
      <output filename="java/res/values-ru/components_strings.xml" lang="ru" type="android" context="android_java" />
      <output filename="java/res/values-sk/components_strings.xml" lang="sk" type="android" context="android_java" />
      <output filename="java/res/values-sl/components_strings.xml" lang="sl" type="android" context="android_java" />
      <output filename="java/res/values-sr/components_strings.xml" lang="sr" type="android" context="android_java" />
      <output filename="java/res/values-sv/components_strings.xml" lang="sv" type="android" context="android_java" />
      <output filename="java/res/values-sw/components_strings.xml" lang="sw" type="android" context="android_java" />
      <output filename="java/res/values-ta/components_strings.xml" lang="ta" type="android" context="android_java" />
      <output filename="java/res/values-te/components_strings.xml" lang="te" type="android" context="android_java" />
      <output filename="java/res/values-th/components_strings.xml" lang="th" type="android" context="android_java" />
      <output filename="java/res/values-tr/components_strings.xml" lang="tr" type="android" context="android_java" />
      <output filename="java/res/values-uk/components_strings.xml" lang="uk" type="android" context="android_java" />
      <output filename="java/res/values-vi/components_strings.xml" lang="vi" type="android" context="android_java" />
      <output filename="java/res/values-zh-rCN/components_strings.xml" lang="zh-CN" type="android" context="android_java" />
      <output filename="java/res/values-zh-rTW/components_strings.xml" lang="zh-TW" type="android" context="android_java" />
    </if>

  </outputs>
  <translations>
    <file path="strings/components_strings_am.xtb" lang="am" />
    <file path="strings/components_strings_ar.xtb" lang="ar" />
    <file path="strings/components_strings_bg.xtb" lang="bg" />
    <file path="strings/components_strings_bn.xtb" lang="bn" />
    <file path="strings/components_strings_ca.xtb" lang="ca" />
    <file path="strings/components_strings_cs.xtb" lang="cs" />
    <file path="strings/components_strings_da.xtb" lang="da" />
    <file path="strings/components_strings_de.xtb" lang="de" />
    <file path="strings/components_strings_el.xtb" lang="el" />
    <file path="strings/components_strings_en-GB.xtb" lang="en-GB" />
    <file path="strings/components_strings_es.xtb" lang="es" />
    <file path="strings/components_strings_es-419.xtb" lang="es-419" />
    <file path="strings/components_strings_et.xtb" lang="et" />
    <file path="strings/components_strings_fa.xtb" lang="fa" />
    <file path="strings/components_strings_fi.xtb" lang="fi" />
    <file path="strings/components_strings_fil.xtb" lang="fil" />
    <file path="strings/components_strings_fr.xtb" lang="fr" />
    <file path="strings/components_strings_gu.xtb" lang="gu" />
    <file path="strings/components_strings_hi.xtb" lang="hi" />
    <file path="strings/components_strings_hr.xtb" lang="hr" />
    <file path="strings/components_strings_hu.xtb" lang="hu" />
    <file path="strings/components_strings_id.xtb" lang="id" />
    <file path="strings/components_strings_it.xtb" lang="it" />
    <!-- The translation console uses 'iw' for Hebrew, but we use 'he'. -->
    <file path="strings/components_strings_iw.xtb" lang="he" />
    <file path="strings/components_strings_ja.xtb" lang="ja" />
    <file path="strings/components_strings_kn.xtb" lang="kn" />
    <file path="strings/components_strings_ko.xtb" lang="ko" />
    <file path="strings/components_strings_lt.xtb" lang="lt" />
    <file path="strings/components_strings_lv.xtb" lang="lv" />
    <file path="strings/components_strings_ml.xtb" lang="ml" />
    <file path="strings/components_strings_mr.xtb" lang="mr" />
    <file path="strings/components_strings_ms.xtb" lang="ms" />
    <file path="strings/components_strings_nl.xtb" lang="nl" />
    <file path="strings/components_strings_no.xtb" lang="no" />
    <file path="strings/components_strings_pl.xtb" lang="pl" />
    <file path="strings/components_strings_pt-BR.xtb" lang="pt-BR" />
    <file path="strings/components_strings_pt-PT.xtb" lang="pt-PT" />
    <file path="strings/components_strings_ro.xtb" lang="ro" />
    <file path="strings/components_strings_ru.xtb" lang="ru" />
    <file path="strings/components_strings_sk.xtb" lang="sk" />
    <file path="strings/components_strings_sl.xtb" lang="sl" />
    <file path="strings/components_strings_sr.xtb" lang="sr" />
    <file path="strings/components_strings_sv.xtb" lang="sv" />
    <file path="strings/components_strings_sw.xtb" lang="sw" />
    <file path="strings/components_strings_ta.xtb" lang="ta" />
    <file path="strings/components_strings_te.xtb" lang="te" />
    <file path="strings/components_strings_th.xtb" lang="th" />
    <file path="strings/components_strings_tr.xtb" lang="tr" />
    <file path="strings/components_strings_uk.xtb" lang="uk" />
    <file path="strings/components_strings_vi.xtb" lang="vi" />
    <file path="strings/components_strings_zh-CN.xtb" lang="zh-CN" />
    <file path="strings/components_strings_zh-TW.xtb" lang="zh-TW" />
  </translations>
  <release seq="1" allow_pseudo="false">
    <messages fallback_to_english="true">
      <part file="app_modal_strings.grdp" />
      <part file="autofill_assistant_strings.grdp" />
      <part file="autofill_payments_strings.grdp" />
      <part file="autofill_strings.grdp" />
      <part file="bookmark_bar_strings.grdp" />
      <part file="bookmark_component_strings.grdp" />
      <part file="browsing_data_strings.grdp" />
      <part file="components_settings_strings.grdp" />
      <part file="crash_strings.grdp" />
      <part file="dialog_strings.grdp" />
      <part file="dom_distiller_strings.grdp" />
      <part file="error_page_strings.grdp" />
      <part file="find_in_page_strings.grdp" />
      <part file="history_strings.grdp" />
      <part file="login_dialog_strings.grdp" />
      <part file="media_message_center_strings.grdp" />
      <part file="new_or_sad_tab_strings.grdp" />
      <part file="ntp_snippets_strings.grdp" />
      <part file="ntp_tiles_strings.grdp" />
      <part file="omnibox_strings.grdp" />
      <part file="page_info_strings.grdp" />
      <part file="password_manager_strings.grdp" />
      <part file="payments_strings.grdp" />
      <part file="pdf_strings.grdp" />
      <part file="policy_strings.grdp" />
      <part file="print_media_strings.grdp" />
      <part file="printing_component_strings.grdp" />
      <part file="reset_password_strings.grdp" />
      <part file="safe_browsing_strings.grdp" />
      <part file="security_interstitials_strings.grdp" />
      <part file="security_state_strings.grdp" />
      <part file="ssl_errors_strings.grdp" />
      <part file="supervised_user_error_page_strings.grdp" />
      <part file="sync_ui_strings.grdp" />
      <part file="translate_strings.grdp" />
      <part file="undo_strings.grdp" />
      <part file="version_ui_strings.grdp" />

      <if expr="not is_android and not is_ios">
        <part file="management_strings.grdp" />
      </if>

      <!-- Generic terms -->
      <message name="IDS_CANCEL" desc="Used for Cancel on buttons">
        Cancel
      </message>
      <message name="IDS_CLOSE" desc="A generic term for Close on buttons and menus.">
        Close
      </message>
      <message name="IDS_CLEAR" desc="A generic term for Clearing input fields.">
        Clear
      </message>
      <message name="IDS_DONE" desc="A generic term for Done on buttons and menus.">
        Done
      </message>
      <message name="IDS_LEARN_MORE" desc="Learn more text">
        Learn more
      </message>
      <message name="IDS_OK" desc="Used for OK on buttons">
        OK
      </message>
      <message name="IDS_ADD" desc="Used for Add on buttons">
        Add
      </message>
      <message name="IDS_REMOVE" desc="Used for Remove on buttons">
        Remove
      </message>
      <message name="IDS_SAVE" desc="Used on a button to save information you are editing.">
        Save
      </message>
      <if expr="is_android">
        <message name="IDS_SHOW" desc="Generic label to show content for a feature. [CHAR-LIMIT=20]" formatter_data="android_java">
          Show
        </message>
        <message name="IDS_HIDE" desc="Generic label to hide content for a feature. [CHAR-LIMIT=20]" formatter_data="android_java">
          Hide
        </message>
      </if>
      <if expr="not use_titlecase">
        <message name="IDS_NO_THANKS" desc="Used to dismiss various prompts.">
          No thanks
        </message>
      </if>
      <if expr="use_titlecase">
        <message name="IDS_NO_THANKS" desc="In Title Case: Used to dismiss various prompts.">
          No Thanks
        </message>
      </if>
      <if expr="not use_titlecase">
        <message name="IDS_NOT_NOW" desc="Used on a button that avoids taking a suggested action.  The action will likely be suggested again or automatically taken later.">
          Not now
        </message>
      </if>
      <if expr="use_titlecase">
        <message name="IDS_NOT_NOW" desc="In Title Case: Used on a button that avoids taking a suggested action.  The action will likely be suggested again or automatically taken later.">
          Not Now
        </message>
      </if>
      <if expr="not use_titlecase">
        <message name="IDS_TURN_OFF" desc="Used on a button that turns off a function.">
          Turn off
        </message>
      </if>
      <if expr="use_titlecase">
        <message name="IDS_TURN_OFF" desc="In Title Case: Used on a button that turns off a function.">
          Turn Off
        </message>
      </if>

      <message name="IDS_PLUGIN_NOT_SUPPORTED" desc="The placeholder text for an unsupported plugin.">
        This plugin is not supported
      </message>
      <if expr="not is_android">
        <if expr="not use_titlecase">
          <message name="IDS_PRINT" desc="The text label of the Print... menu item. Opens a dialog box to select print settings">
            &amp;Print...
          </message>
        </if>
        <if expr="use_titlecase">
          <message name="IDS_PRINT" desc="In Title Case: The text label of the Print... menu item. Opens a dialog box to select print settings">
            &amp;Print...
          </message>
        </if>
      </if>
      <if expr="not use_titlecase">
        <message name="IDS_RECENTLY_CLOSED" desc="The section header for the Recently Closed section of the Recent Tabs menu.">
          Recently closed
        </message>
      </if>
      <if expr="use_titlecase">
        <message name="IDS_RECENTLY_CLOSED" desc="In Title Case: The section header for the Recently Closed section of the Recent Tabs menu.">
          Recently Closed
        </message>
      </if>
      <message name="IDS_CHOOSE" desc="Label for a button to choose something, like a shipping address for a payment request. [CHAR-LIMIT=20]" formatter_data="android_java">
        Choose
      </message>

      <!-- Accessibility labels for generic items -->
      <message name="IDS_ACCNAME_BACK" desc="The accessible name for the back button.">
        Back
      </message>
      <message name="IDS_ACCNAME_FORWARD" desc="The accessible name for the forward button.">
        Forward
      </message>
      <message name="IDS_ACCNAME_OK" desc="The accessible name for the Ok button.">
        Ok
      </message>
      <message name="IDS_ACCNAME_CANCEL" desc="The accessible name for the Cancel button.">
        Cancel
      </message>
      <message name="IDS_ACCNAME_DONE" desc="The accessible name for the DONE button.">
        Done
      </message>
      <message name="IDS_ACCNAME_SAVE" desc="The accessible name for the SAVE button.">
        Save
      </message>
      <message name="IDS_ACCNAME_CLOSE" desc="The accessible name for the Close button.">
        Close
      </message>
      <message name="IDS_ACCNAME_OPEN" desc="The accessible name for the Open button.">
        Open
      </message>
      <message name="IDS_ACCNAME_PREVIOUS" desc="The accessible name for the previous button.">
        Previous
      </message>
      <message name="IDS_ACCNAME_NEXT" desc="The accessible name for the next button.">
        Next
      </message>
      <message name="IDS_ACCNAME_LOCATION" desc="The accessible name for the editable-text portion of the omnibox.">
        Address and search bar
      </message>
      <message name="IDS_ACCNAME_PARTICLE_DISC" desc="The accessible name for the Account Consistency Disc on New Tab Page">
        Google Account
      </message>

      <message name="IDS_UTILITY_PROCESS_JSON_PARSER_NAME" desc="The name of the utility process used for parsing JSON files.">
        JSON Parser
      </message>

      <message name="IDS_SESSION_CRASHED_VIEW_RESTORE_BUTTON" desc="Title of the restore button in the session crashed view.">
        Restore
      </message>

      <message name="IDS_SESSION_CRASHED_VIEW_STARTUP_PAGES_BUTTON" desc="Title of the button in the session crashed view to open the set of startup pages.">
        Open startup pages
      </message>

      <!-- Advanced Section Titles -->
      <message name="IDS_OPTIONS_ADVANCED_SECTION_TITLE_PRIVACY">
        Privacy
      </message>

      <message name="IDS_PATCH_SERVICE_DISPLAY_NAME" desc="The display name (in the system task manager, etc) of the service process used for patching file operations.">
        Patch Service
      </message>
      <message name="IDS_UNZIP_SERVICE_DISPLAY_NAME" desc="The display name (in the system task manager, etc) of the service process used for unzipping files.">
        Unzip Service
      </message>
    </messages>
  </release>
</grit>
