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

<!--
This file contains definitions of resources that will be translated for each
locale.  The variables is_win, is_macosx, is_linux, and is_posix are available
for making strings OS specific.  Other platform defines such as use_titlecase
are declared in build/common.gypi.
-->

<grit base_dir="." latest_public_release="0" current_release="1"
      source_lang_id="en" enc_check="möl">
  <outputs>
    <output filename="grit/generated_resources.h" type="rc_header">
      <emit emit_type='prepend'></emit>
    </output>
    <output filename="generated_resources_am.pak" type="data_package" lang="am" />
    <output filename="generated_resources_ar.pak" type="data_package" lang="ar" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_ast.pak" type="data_package" lang="ast" />
    </if>
    <output filename="generated_resources_bg.pak" type="data_package" lang="bg" />
    <output filename="generated_resources_bn.pak" type="data_package" lang="bn" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_bs.pak" type="data_package" lang="bs" />
    </if>
    <output filename="generated_resources_ca.pak" type="data_package" lang="ca" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_ca@valencia.pak" type="data_package" lang="ca@valencia" />
    </if>
    <output filename="generated_resources_cs.pak" type="data_package" lang="cs" />
    <output filename="generated_resources_da.pak" type="data_package" lang="da" />
    <output filename="generated_resources_de.pak" type="data_package" lang="de" />
    <output filename="generated_resources_el.pak" type="data_package" lang="el" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_en-AU.pak" type="data_package" lang="en-AU" />
    </if>
    <output filename="generated_resources_en-GB.pak" type="data_package" lang="en-GB" />
    <output filename="generated_resources_en-US.pak" type="data_package" lang="en" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_eo.pak" type="data_package" lang="eo" />
    </if>
    <output filename="generated_resources_es.pak" type="data_package" lang="es" />
    <if expr="is_ios">
      <!-- iOS uses es-MX for es-419 -->
      <output filename="generated_resources_es-MX.pak" type="data_package" lang="es-419" />
    </if>
    <if expr="not is_ios">
      <output filename="generated_resources_es-419.pak" type="data_package" lang="es-419" />
    </if>
    <output filename="generated_resources_et.pak" type="data_package" lang="et" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_eu.pak" type="data_package" lang="eu" />
    </if>
    <output filename="generated_resources_fa.pak" type="data_package" lang="fa" />
    <output filename="generated_resources_fake-bidi.pak" type="data_package" lang="fake-bidi" />
    <output filename="generated_resources_fi.pak" type="data_package" lang="fi" />
    <output filename="generated_resources_fil.pak" type="data_package" lang="fil" />
    <output filename="generated_resources_fr.pak" type="data_package" lang="fr" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_gl.pak" type="data_package" lang="gl" />
    </if>
    <output filename="generated_resources_gu.pak" type="data_package" lang="gu" />
    <output filename="generated_resources_he.pak" type="data_package" lang="he" />
    <output filename="generated_resources_hi.pak" type="data_package" lang="hi" />
    <output filename="generated_resources_hr.pak" type="data_package" lang="hr" />
    <output filename="generated_resources_hu.pak" type="data_package" lang="hu" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_hy.pak" type="data_package" lang="hy" />
      <output filename="generated_resources_ia.pak" type="data_package" lang="ia" />
    </if>
    <output filename="generated_resources_id.pak" type="data_package" lang="id" />
    <output filename="generated_resources_it.pak" type="data_package" lang="it" />
    <output filename="generated_resources_ja.pak" type="data_package" lang="ja" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_ka.pak" type="data_package" lang="ka" />
    </if>
    <output filename="generated_resources_kn.pak" type="data_package" lang="kn" />
    <output filename="generated_resources_ko.pak" type="data_package" lang="ko" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_ku.pak" type="data_package" lang="ku" />
      <output filename="generated_resources_kw.pak" type="data_package" lang="kw" />
    </if>
    <output filename="generated_resources_lt.pak" type="data_package" lang="lt" />
    <output filename="generated_resources_lv.pak" type="data_package" lang="lv" />
    <output filename="generated_resources_ml.pak" type="data_package" lang="ml" />
    <output filename="generated_resources_mr.pak" type="data_package" lang="mr" />
    <output filename="generated_resources_ms.pak" type="data_package" lang="ms" />
    <output filename="generated_resources_nl.pak" type="data_package" lang="nl" />
    <!-- The translation console uses 'no' for Norwegian Bokmål. It should
         be 'nb'. -->
    <output filename="generated_resources_nb.pak" type="data_package" lang="no" />
    <output filename="generated_resources_pl.pak" type="data_package" lang="pl" />
    <if expr="is_ios">
      <!-- iOS uses pt for pt-BR -->
      <output filename="generated_resources_pt.pak" type="data_package" lang="pt-BR" />
    </if>
    <if expr="not is_ios">
      <output filename="generated_resources_pt-BR.pak" type="data_package" lang="pt-BR" />
    </if>
    <output filename="generated_resources_pt-PT.pak" type="data_package" lang="pt-PT" />
    <output filename="generated_resources_ro.pak" type="data_package" lang="ro" />
    <output filename="generated_resources_ru.pak" type="data_package" lang="ru" />
    <output filename="generated_resources_sk.pak" type="data_package" lang="sk" />
    <output filename="generated_resources_sl.pak" type="data_package" lang="sl" />
    <output filename="generated_resources_sr.pak" type="data_package" lang="sr" />
    <output filename="generated_resources_sv.pak" type="data_package" lang="sv" />
    <output filename="generated_resources_sw.pak" type="data_package" lang="sw" />
    <output filename="generated_resources_ta.pak" type="data_package" lang="ta" />
    <output filename="generated_resources_te.pak" type="data_package" lang="te" />
    <output filename="generated_resources_th.pak" type="data_package" lang="th" />
    <output filename="generated_resources_tr.pak" type="data_package" lang="tr" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_ug.pak" type="data_package" lang="ug" />
    </if>
    <output filename="generated_resources_uk.pak" type="data_package" lang="uk" />
    <output filename="generated_resources_vi.pak" type="data_package" lang="vi" />
    <output filename="generated_resources_zh-CN.pak" type="data_package" lang="zh-CN" />
    <output filename="generated_resources_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/generated_resources.xml" lang="am" type="android" context="android_java" />
      <output filename="java/res/values-ar/generated_resources.xml" lang="ar" type="android" context="android_java" />
      <output filename="java/res/values-bg/generated_resources.xml" lang="bg" type="android" context="android_java" />
      <output filename="java/res/values-ca/generated_resources.xml" lang="ca" type="android" context="android_java" />
      <output filename="java/res/values-cs/generated_resources.xml" lang="cs" type="android" context="android_java" />
      <output filename="java/res/values-da/generated_resources.xml" lang="da" type="android" context="android_java" />
      <output filename="java/res/values-de/generated_resources.xml" lang="de" type="android" context="android_java" />
      <output filename="java/res/values-el/generated_resources.xml" lang="el" type="android" context="android_java" />
      <output filename="java/res/values/generated_resources.xml" lang="en" type="android" context="android_java" />
      <output filename="java/res/values-en-rGB/generated_resources.xml" lang="en-GB" type="android" context="android_java" />
      <output filename="java/res/values-es/generated_resources.xml" lang="es" type="android" context="android_java" />
      <output filename="java/res/values-es-rUS/generated_resources.xml" lang="es-419" type="android" context="android_java" />
      <output filename="java/res/values-fa/generated_resources.xml" lang="fa" type="android" context="android_java" />
      <output filename="java/res/values-fi/generated_resources.xml" lang="fi" type="android" context="android_java" />
      <output filename="java/res/values-tl/generated_resources.xml" lang="fil" type="android" context="android_java" />
      <output filename="java/res/values-fr/generated_resources.xml" lang="fr" type="android" context="android_java" />
      <output filename="java/res/values-hi/generated_resources.xml" lang="hi" type="android" context="android_java" />
      <output filename="java/res/values-hr/generated_resources.xml" lang="hr" type="android" context="android_java" />
      <output filename="java/res/values-hu/generated_resources.xml" lang="hu" type="android" context="android_java" />
      <output filename="java/res/values-in/generated_resources.xml" lang="id" type="android" context="android_java" />
      <output filename="java/res/values-it/generated_resources.xml" lang="it" type="android" context="android_java" />
      <output filename="java/res/values-iw/generated_resources.xml" lang="he" type="android" context="android_java" />
      <output filename="java/res/values-ja/generated_resources.xml" lang="ja" type="android" context="android_java" />
      <output filename="java/res/values-ko/generated_resources.xml" lang="ko" type="android" context="android_java" />
      <output filename="java/res/values-lt/generated_resources.xml" lang="lt" type="android" context="android_java" />
      <output filename="java/res/values-lv/generated_resources.xml" lang="lv" type="android" context="android_java" />
      <output filename="java/res/values-nl/generated_resources.xml" lang="nl" type="android" context="android_java" />
      <output filename="java/res/values-nb/generated_resources.xml" lang="no" type="android" context="android_java" />
      <output filename="java/res/values-pl/generated_resources.xml" lang="pl" type="android" context="android_java" />
      <output filename="java/res/values-pt-rBR/generated_resources.xml" lang="pt-BR" type="android" context="android_java" />
      <output filename="java/res/values-pt-rPT/generated_resources.xml" lang="pt-PT" type="android" context="android_java" />
      <output filename="java/res/values-ro/generated_resources.xml" lang="ro" type="android" context="android_java" />
      <output filename="java/res/values-ru/generated_resources.xml" lang="ru" type="android" context="android_java" />
      <output filename="java/res/values-sk/generated_resources.xml" lang="sk" type="android" context="android_java" />
      <output filename="java/res/values-sl/generated_resources.xml" lang="sl" type="android" context="android_java" />
      <output filename="java/res/values-sr/generated_resources.xml" lang="sr" type="android" context="android_java" />
      <output filename="java/res/values-sv/generated_resources.xml" lang="sv" type="android" context="android_java" />
      <output filename="java/res/values-sw/generated_resources.xml" lang="sw" type="android" context="android_java" />
      <output filename="java/res/values-th/generated_resources.xml" lang="th" type="android" context="android_java" />
      <output filename="java/res/values-tr/generated_resources.xml" lang="tr" type="android" context="android_java" />
      <output filename="java/res/values-uk/generated_resources.xml" lang="uk" type="android" context="android_java" />
      <output filename="java/res/values-vi/generated_resources.xml" lang="vi" type="android" context="android_java" />
      <output filename="java/res/values-zh-rCN/generated_resources.xml" lang="zh-CN" type="android" context="android_java" />
      <output filename="java/res/values-zh-rTW/generated_resources.xml" lang="zh-TW" type="android" context="android_java" />
    </if>
  </outputs>
  <translations>
    <file path="resources/generated_resources_am.xtb" lang="am" />
    <file path="resources/generated_resources_ar.xtb" lang="ar" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../third_party/launchpad_translations/generated_resources_ast.xtb" lang="ast" />
    </if>
    <file path="resources/generated_resources_bg.xtb" lang="bg" />
    <file path="resources/generated_resources_bn.xtb" lang="bn" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../third_party/launchpad_translations/generated_resources_bs.xtb" lang="bs" />
    </if>
    <file path="resources/generated_resources_ca.xtb" lang="ca" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../third_party/launchpad_translations/generated_resources_ca-valencia.xtb" lang="ca@valencia" />
    </if>
    <file path="resources/generated_resources_cs.xtb" lang="cs" />
    <file path="resources/generated_resources_da.xtb" lang="da" />
    <file path="resources/generated_resources_de.xtb" lang="de" />
    <file path="resources/generated_resources_el.xtb" lang="el" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../third_party/launchpad_translations/generated_resources_en-AU.xtb" lang="en-AU" />
    </if>
    <file path="resources/generated_resources_en-GB.xtb" lang="en-GB" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../third_party/launchpad_translations/generated_resources_eo.xtb" lang="eo" />
    </if>
    <file path="resources/generated_resources_es.xtb" lang="es" />
    <file path="resources/generated_resources_es-419.xtb" lang="es-419" />
    <file path="resources/generated_resources_et.xtb" lang="et" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../third_party/launchpad_translations/generated_resources_eu.xtb" lang="eu" />
    </if>
    <file path="resources/generated_resources_fa.xtb" lang="fa" />
    <file path="resources/generated_resources_fi.xtb" lang="fi" />
    <file path="resources/generated_resources_fil.xtb" lang="fil" />
    <file path="resources/generated_resources_fr.xtb" lang="fr" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../third_party/launchpad_translations/generated_resources_gl.xtb" lang="gl" />
    </if>
    <file path="resources/generated_resources_gu.xtb" lang="gu" />
    <file path="resources/generated_resources_hi.xtb" lang="hi" />
    <file path="resources/generated_resources_hr.xtb" lang="hr" />
    <file path="resources/generated_resources_hu.xtb" lang="hu" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../third_party/launchpad_translations/generated_resources_hy.xtb" lang="hy" />
      <file path="../../third_party/launchpad_translations/generated_resources_ia.xtb" lang="ia" />
    </if>
    <file path="resources/generated_resources_id.xtb" lang="id" />
    <file path="resources/generated_resources_it.xtb" lang="it" />
    <!-- The translation console uses 'iw' for Hebrew, but we use 'he'. -->
    <file path="resources/generated_resources_iw.xtb" lang="he" />
    <file path="resources/generated_resources_ja.xtb" lang="ja" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../third_party/launchpad_translations/generated_resources_ka.xtb" lang="ka" />
    </if>
    <file path="resources/generated_resources_kn.xtb" lang="kn" />
    <file path="resources/generated_resources_ko.xtb" lang="ko" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../third_party/launchpad_translations/generated_resources_ku.xtb" lang="ku" />
      <file path="../../third_party/launchpad_translations/generated_resources_kw.xtb" lang="kw" />
    </if>
    <file path="resources/generated_resources_lt.xtb" lang="lt" />
    <file path="resources/generated_resources_lv.xtb" lang="lv" />
    <file path="resources/generated_resources_ml.xtb" lang="ml" />
    <file path="resources/generated_resources_mr.xtb" lang="mr" />
    <file path="resources/generated_resources_ms.xtb" lang="ms" />
    <file path="resources/generated_resources_nl.xtb" lang="nl" />
    <file path="resources/generated_resources_no.xtb" lang="no" />
    <file path="resources/generated_resources_pl.xtb" lang="pl" />
    <file path="resources/generated_resources_pt-BR.xtb" lang="pt-BR" />
    <file path="resources/generated_resources_pt-PT.xtb" lang="pt-PT" />
    <file path="resources/generated_resources_ro.xtb" lang="ro" />
    <file path="resources/generated_resources_ru.xtb" lang="ru" />
    <file path="resources/generated_resources_sk.xtb" lang="sk" />
    <file path="resources/generated_resources_sl.xtb" lang="sl" />
    <file path="resources/generated_resources_sr.xtb" lang="sr" />
    <file path="resources/generated_resources_sv.xtb" lang="sv" />
    <file path="resources/generated_resources_sw.xtb" lang="sw" />
    <file path="resources/generated_resources_ta.xtb" lang="ta" />
    <file path="resources/generated_resources_te.xtb" lang="te" />
    <file path="resources/generated_resources_th.xtb" lang="th" />
    <file path="resources/generated_resources_tr.xtb" lang="tr" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../third_party/launchpad_translations/generated_resources_ug.xtb" lang="ug" />
    </if>
    <file path="resources/generated_resources_uk.xtb" lang="uk" />
    <file path="resources/generated_resources_vi.xtb" lang="vi" />
    <file path="resources/generated_resources_zh-CN.xtb" lang="zh-CN" />
    <file path="resources/generated_resources_zh-TW.xtb" lang="zh-TW" />
  </translations>
  <release seq="1" allow_pseudo="false">
    <messages fallback_to_english="true">
      <!-- Bookmarks specific strings -->
      <part file="bookmarks_strings.grdp" />

      <!-- 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_BACKGROUND_APP_INSTALLED_BALLOON_TITLE" desc="The title of the balloon that is displayed when a background app is installed">
        New background app added
      </message>
      <message name="IDS_BACKGROUND_APP_INSTALLED_BALLOON_BODY" desc="The contents of the balloon that is displayed when a background app is installed">
        <ph name="APP_NAME">$1<ex>Background App</ex></ph> will launch at system startup and continue to run in the background even once you've closed all other <ph name="PRODUCT_NAME">$2<ex>Google Chrome</ex></ph> windows.
      </message>
      <message name="IDS_BACKGROUND_CRASHED_APP_BALLOON_MESSAGE" desc="The contents of the balloon that is displayed when a background app crashes">
        <ph name="APP_NAME">$1<ex>Background App</ex></ph> has crashed. Click this balloon to restart the app.
      </message>
      <message name="IDS_BACKGROUND_CRASHED_EXTENSION_BALLOON_MESSAGE" desc="The contents of the balloon that is displayed when an extension crashes">
        <ph name="APP_NAME">$1<ex>Extension</ex></ph> has crashed. Click this balloon to reload the extension.
      </message>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_BACKGROUND_APP_NOT_INSTALLED" desc="In Title Case: Label displayed in the status icon context menu when a profile does not have any background apps running.">
          No Background Apps Running
        </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_BACKGROUND_APP_NOT_INSTALLED" desc="Label displayed in the status icon context menu when a profile does not have any background apps running.">
          No background apps running
        </message>
      </if>

      <!-- Website Settings UI -->
      <message name="IDS_WEBSITE_SETTINGS_INFOBAR_TEXT" desc="The string shown in the infobar after the user has changed site permissions settings, reminding them to reload the page in order for the new settings to take effect.">
        New site permissions settings will take effect after reloading the page.
      </message>
      <message name="IDS_WEBSITE_SETTINGS_INFOBAR_BUTTON" desc="The string used in the infobar button allowing the user to reload the page directly from the infobar.">
        Reload
      </message>
      <message name="IDS_WEBSITE_SETTINGS_BUTTON_TEXT_ALLOWED_BY_POLICY" desc="The Website Settings popup contains several buttons for opening dropdown menus and changing site permissions. This is the text of such a button if the permission controlled by the button is set to allow and managed by policy.">
        Allowed by policy
      </message>
      <message name="IDS_WEBSITE_SETTINGS_BUTTON_TEXT_BLOCKED_BY_POLICY" desc="The Website Settings popup contains several buttons for opening dropdown menus and changing site permissions. This is the text of such a button if the permission controlled by the button is set to block and managed by policy.">
        Blocked by policy
      </message>
      <message name="IDS_WEBSITE_SETTINGS_BUTTON_TEXT_ALLOWED_BY_EXTENSION" desc="The Website Settings popup contains several buttons for opening dropdown menus and changing site permissions. This is the text of such a button if the permission controlled by the button is set to allow and managed by an extension.">
        Allowed by extension
      </message>
      <message name="IDS_WEBSITE_SETTINGS_BUTTON_TEXT_BLOCKED_BY_EXTENSION" desc="The Website Settings popup contains several buttons for opening dropdown menus and changing site permissions. This is the text of such a button if the permission controlled by the button is set to block and managed by an extension.">
        Blocked by extension
      </message>
      <message name="IDS_WEBSITE_SETTINGS_BUTTON_TEXT_ALLOWED_BY_USER" desc="The Website Settings popup contains several buttons for opening dropdown menus and changing site permissions. This is the text of such a button if the permission controlled by the button was explicitly set to allow by the user.">
        Allowed by you
      </message>
      <message name="IDS_WEBSITE_SETTINGS_BUTTON_TEXT_BLOCKED_BY_USER" desc="The Website Settings popup contains several buttons for opening dropdown menus and changing site permissions. This is the text of such a button if the permission controlled by the button was explicitly set to block by the user.">
        Blocked by you
      </message>
      <message name="IDS_WEBSITE_SETTINGS_BUTTON_TEXT_ALLOWED_BY_DEFAULT" desc="The Website Settings popup contains several buttons for opening dropdown menus and changing site permissions. This is the text of such a button if the permission controlled by the button is set to the default setting and the default settings is allow.">
        Allowed by default
      </message>
      <message name="IDS_WEBSITE_SETTINGS_BUTTON_TEXT_BLOCKED_BY_DEFAULT" desc="The Website Settings popup contains several buttons for opening dropdown menus and changing site permissions. This is the text of such a button if the permission controlled by the button is set to the default setting and the default settings is block.">
        Blocked by default
      </message>
      <message name="IDS_WEBSITE_SETTINGS_BUTTON_TEXT_ASK_BY_DEFAULT" desc="The Website Settings popup contains several buttons for opening dropdown menus and changing site permissions. This is the text of such a button if the permission controlled by the button is set to the default setting and the default settings is ask.">
        Ask by default
      </message>
      <message name="IDS_WEBSITE_SETTINGS_TITLE_SITE_PERMISSIONS" desc="Title of the permissions section of the website settings popup.">
        Permissions
      </message>
      <message name="IDS_WEBSITE_SETTINGS_TITLE_SITE_DATA" desc="Title of the site data section of the website settings popup.">
        Cookies and site data
      </message>
      <message name="IDS_WEBSITE_SETTINGS_PERMISSION_ALLOW" desc="The label used in the permissions dropdowns for the option that grants a permissions.">
        allow
      </message>
      <message name="IDS_WEBSITE_SETTINGS_PERMISSION_BLOCK" desc="The label used in the permissions dropdowns for the option that denies a permissions. ">
        block
      </message>
      <message name="IDS_WEBSITE_SETTINGS_PERMISSION_ASK" desc="The label used in the permissions dropdowns for the option that makes the browser asks for permission. ">
        ask
      </message>
      <message name="IDS_WEBSITE_SETTINGS_TYPE_IMAGES" desc="The label used for images permission controls in the Website Settings popup.">
        Images
      </message>
      <message name="IDS_WEBSITE_SETTINGS_TYPE_JAVASCRIPT" desc="The label used for JavaScript permission controls in the Website Settings popup.">
        JavaScript
      </message>
      <message name="IDS_WEBSITE_SETTINGS_TYPE_POPUPS" desc="The label used for popups permission controls in the Website Settings popup.">
        Popups
      </message>
      <message name="IDS_WEBSITE_SETTINGS_TYPE_PLUGINS" desc="The label used for plugin permissions in the Website Settings popup.">
        Plugins
      </message>
      <message name="IDS_WEBSITE_SETTINGS_TYPE_LOCATION" desc="The label used for location permission controls in the Website Settings popup.">
        Location
      </message>
      <message name="IDS_WEBSITE_SETTINGS_TYPE_NOTIFICATIONS" desc="The label used for notifications permission controls in the Website Settings popup.">
        Notifications
      </message>
      <message name="IDS_WEBSITE_SETTINGS_TYPE_FULLSCREEN" desc="The label used for fullscreen permission controls in the Website Settings popup.">
        Fullscreen
      </message>
      <message name="IDS_WEBSITE_SETTINGS_TYPE_MOUSELOCK" desc="The label used for mouse lock permission controls in the Website Settings popup.">
        Mouse Lock
      </message>
      <message name="IDS_WEBSITE_SETTINGS_TYPE_MEDIASTREAM" desc="The label used for media stream permission controls in the Website Settings popup.">
        Media
      </message>
      <message name="IDS_WEBSITE_SETTINGS_TYPE_MIDI_SYSEX" desc="The label used for MIDI system exclusive message permission controls in the Website Settings popup.">
        MIDI full control
      </message>
      <message name="IDS_WEBSITE_SETTINGS_SHOW_SITE_DATA" desc="The label of the Show Cookies and Site Data link in the site data section of the Website Settings popup.">
        Show cookies and site data
      </message>
      <message name="IDS_WEBSITE_SETTINGS_TAB_LABEL_CONNECTION" desc="The label of the connection tab of the Website Settings popup.">
        Connection
      </message>
      <message name="IDS_WEBSITE_SETTINGS_TAB_LABEL_PERMISSIONS" desc="The label of the permissions tab of the Website Settings popup.">
        Permissions
      </message>
      <message name="IDS_WEBSITE_SETTINGS_IDENTITY_VERIFIED" desc="Text that is displayed in the header of the Website Settings popup if the identity of a website is verified.">
        Identity verified
      </message>
      <message name="IDS_WEBSITE_SETTINGS_IDENTITY_NOT_VERIFIED" desc="Text that is displayed in the header of the Website Settings popup if the identity of a website is not verified.">
        Identity not verified
      </message>
      <message name="IDS_WEBSITE_SETTINGS_THIRD_PARTY_SITE_DATA" desc="The label of the counts for allowed and blocked third party cookies and site data.">
        Others
      </message>
      <message name="IDS_WEBSITE_SETTINGS_SITE_DATA_STATS_LINE" desc="The label text with the number of allowed and blocked cookies and site data objects.">
        <ph name="DATA_SOURCE">$1<ex>foo.bar.org</ex></ph> (<ph name="ALLOWED_COUNT">$2<ex>6</ex></ph> allowed / <ph name="BLOCKED_COUNT">$3<ex>0</ex></ph> blocked)
      </message>
      <message name="IDS_WEBSITE_SETTINGS_MENU_ITEM_DEFAULT_ALLOW" desc="The text of the menu item of a permissions menu on the Website Settings UI that resets the setting to the default setting which is allow.">
        Use global default (Allow)
      </message>
      <message name="IDS_WEBSITE_SETTINGS_MENU_ITEM_DEFAULT_BLOCK" desc="The text of the menu item of a permissions menu on the Website Settings UI that resets the setting to the default setting which is block.">
        Use global default (Block)
      </message>
      <message name="IDS_WEBSITE_SETTINGS_MENU_ITEM_DEFAULT_ASK" desc="The text of the menu item of a permissions menu on the Website Settings UI that reset the setting to the default setting which is ask.">
        Use global default (Ask)
      </message>
      <message name="IDS_WEBSITE_SETTINGS_MENU_ITEM_ALLOW" desc="The text of the menu item of a permissions menu on the Website Settings UI that sets the setting to allow.">
        Always allow on this site
      </message>
      <message name="IDS_WEBSITE_SETTINGS_MENU_ITEM_BLOCK" desc="The text of the menu item of a permissions menu on the Website Settings UI that sets the setting to allow.">
        Always block on this site
      </message>
      <message name="IDS_WEBSITE_SETTINGS_DEFAULT_PERMISSION_LABEL" desc="The label for the global default setting that is used in a permissions dropdown.">
        Use global default (<ph name="PERMISSION_VALUE">$1<ex>allow</ex></ph>)
      </message>
      <message name="IDS_WEBSITE_SETTINGS_PERMISSION_TYPE" desc="The label that is used to display permission types in the Website Settings popup. ">
        <ph name="PERMISSION_TYPE_LABEL">$1<ex>Plugins</ex></ph>:
      </message>

      <message name="IDS_SHOWFULLHISTORY_LINK" desc="The label of the Show Full History link at the bottom of the back/forward menu.">
        Show Full History
      </message>

      <message name="IDS_ALTERNATE_NAV_URL_VIEW_LABEL" desc="Label displayed in an infobar when a user searches for a term he may have meant to navigate to.">
        Did you mean to go to <ph name="SITE">$1<ex>http://intranetsite/</ex></ph>?
      </message>

      <message name="IDS_HISTORY_TITLE" desc="Title for the history tab.">
        History
      </message>
      <message name="IDS_DOWNLOAD_TITLE" desc="Title for the downloads tab.">
        Downloads
      </message>
      <message name="IDS_DEFAULT_TAB_TITLE" desc="The default title in a tab.">
        Untitled
      </message>
      <message name="IDS_TAB_LOADING_TITLE" desc="The text to be displayed in the title of a tab before a title is discovered.">
        Loading...
      </message>

      <message name="IDS_HISTORY_REMOVE_SELECTED_ITEMS" desc="Title of the button that allows the user to remove the selected history items">
        Remove selected items
      </message>
      <message name="IDS_HISTORY_FILTER_ALLOW_ITEMS" desc="Title of the button that allows the user to allow the selected history items">
        Allow items
      </message>
      <message name="IDS_HISTORY_FILTER_BLOCK_ITEMS" desc="Title of the button that allows the user to block the selected history items">
        Block items
      </message>
      <message name="IDS_HISTORY_OPEN_CLEAR_BROWSING_DATA_DIALOG" desc="Title of the button that will open the clear browsing data dialog.">
        Clear browsing data...
      </message>
      <message name="IDS_HISTORY_DELETE_PRIOR_VISITS_CONFIRM_BUTTON" desc="Text for the button used to confirm the dialog asking if they would like to proceed with deletion.">
        Remove
      </message>
      <message name="IDS_HISTORY_DELETE_PRIOR_VISITS_WARNING" desc="Warning shown before deleting">
        Are you sure you want to delete these pages from your history?

Psst! Incognito mode <ph name="SHORTCUT_KEY">$1<ex>(Ctrl+Shift+N)</ex></ph> may come in handy next time.
      </message>

      <!-- History HTML UI -->
      <message name="IDS_HISTORY_LOADING" desc="Text shown when we're loading the user's history">
        Loading...
      </message>
      <message name="IDS_HISTORY_DATE_WITH_RELATIVE_TIME" desc="In the history view, some dates are formatted as 'Today - Wednesday, Nov 7, 2007">
        <ph name="RELATIVE_DATE">$1<ex>Today</ex></ph> - <ph name="FULL_DATE">$2<ex>Wednesday, Nov 7, 2007</ex></ph>
      </message>
      <message name="IDS_HISTORY_INTERVAL" desc="A history interval shown in the title. The dates are already localized strings.">
        <ph name="START_DATE">$1<ex>Wednesday, Aug. 1, 2012</ex></ph> to <ph name="END_DATE">$2<ex>Thursday, Aug. 30, 2012</ex></ph>
      </message>
      <message name="IDS_HISTORY_NO_SEARCH_RESULTS" desc="Text shown when no history search results have been found">
        No search results found.
      </message>
      <message name="IDS_HISTORY_NO_RESULTS" desc="Text shown when no history entries are found.">
        No history entries found.
      </message>
      <message name="IDS_HISTORY_SEARCH_BUTTON" desc="Title of the button in the history page that triggers a search">
        Search history
      </message>
      <message name="IDS_HISTORY_NEWEST" desc="HTML text shown as page navigation tool to take the user to the top of their history">
        Newest
      </message>
      <message name="IDS_HISTORY_NEWER" desc="HTML text shown as page navigation tool to take the user back to the more recent page">
        Newer
      </message>
      <message name="IDS_HISTORY_OLDER" desc="HTML text shown as page navigation tool to take the user forward to their older history">
        Older
      </message>
      <message name="IDS_HISTORY_SEARCHRESULTSFOR" desc="Format string for search results">
        Search results for '<ph name="SEARCH_STRING">$1</ph>'
      </message>
      <message name="IDS_HISTORY_BROWSERESULTS" desc="Title of browsing results page">
        History
      </message>
      <message name="IDS_HISTORY_CONTINUED" desc="Shown after the date if the data is continued from the previous page">
        (Cont.)
      </message>
      <message name="IDS_HISTORY_ACTION_MENU_DESCRIPTION" desc="Text used to identify the history entry drop-down menu for screen readers">
        Actions
      </message>
      <message name="IDS_HISTORY_REMOVE_PAGE" desc="Command in the history entry drop-down menu. Removes a page from the history.">
        Remove from history
      </message>
      <message name="IDS_HISTORY_MORE_FROM_SITE" desc="Command in the history entry drop-down menu. Shows more history entries from the same site.">
        More from this site
      </message>
      <message name="IDS_GROUP_BY_DOMAIN_LABEL" desc="Label for the checkbox that toggles the mode to group history visits by domain.">
        Group domains
      </message>
      <message name="IDS_HISTORY_RANGE_LABEL" desc="Label for the combo box that selects the time range.">
        Show
      </message>
      <message name="IDS_HISTORY_RANGE_ALL_TIME" desc="Option in the history range button group. Shows results a page at a time, without grouping them by domain.">
        All
      </message>
      <message name="IDS_HISTORY_RANGE_WEEK" desc="Option in the history range button group. Shows results grouped by week.">
        Week
      </message>
      <message name="IDS_HISTORY_RANGE_MONTH" desc="Option in the history range button group. Shows results grouped by month.">
        Month
      </message>
      <message name="IDS_HISTORY_RANGE_TODAY" desc="The text on the button that sets the current time range back to today.">
        Today
      </message>
      <message name="IDS_HISTORY_RANGE_NEXT" desc="The alt text on the button that moves the current time range forward.">
        Next
      </message>
      <message name="IDS_HISTORY_RANGE_PREVIOUS" desc="The alt text on the button that moves the current time range backwards.">
        Previous
      </message>
      <message name="IDS_HISTORY_NUMBER_VISITS" desc="Format string for the number of visits of a site.">
        (<ph name="NUMBER_VISITS">$1<ex>3</ex></ph>)
      </message>
      <message name="IDS_HISTORY_FILTER_ALLOWED" desc="Text that shows that an entry is allowed.">
        Allowed
      </message>
      <message name="IDS_HISTORY_FILTER_BLOCKED" desc="Text that shows that an entry is blocked.">
        Blocked
      </message>
      <message name="IDS_HISTORY_IN_CONTENT_PACK" desc="Text that shows that an entry is in a content pack.">
        In content pack
      </message>
      <message name="IDS_HISTORY_UNLOCK_BUTTON" desc="The text on the button that is used by a managed user to unlock the controls.">
        Unlock
      </message>
      <message name="IDS_HISTORY_LOCK_BUTTON" desc="The text on the button that is used by a managed user to lock the controls.">
        Lock
      </message>
      <message name="IDS_HISTORY_BLOCKED_VISIT_TEXT" desc="Text that describes an attempted visit.">
        Blocked attempt <ph name="BEGIN_LINK">&lt;a target="_top" href="$1" id="$2"&gt;</ph> to visit a page on <ph name="DOMAIN">$3<ex>google.com</ex></ph><ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>.
      </message>
      <message name="IDS_HISTORY_HAS_SYNCED_RESULTS" desc="The notification at the top of the history page indicating that it is showing visits synced from other devices.">
        Showing history from your signed-in devices. <ph name="BEGIN_LINK">&lt;a href="http://support.google.com/chrome/bin/answer.py?answer=95589"&amp;hl=[GRITLANGCODE]"&gt;</ph>Learn more<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>
      </message>
      <message name="IDS_HISTORY_NO_SYNCED_RESULTS" desc="The notification at the top of the history page indicating that it does not include visits from other devices.">
        Showing history from this device. <ph name="BEGIN_LINK">&lt;a href="http://support.google.com/chrome/bin/answer.py?answer=95589"&amp;hl=[GRITLANGCODE]"&gt;</ph>Learn more<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>
      </message>
      <message name="IDS_HISTORY_UNKNOWN_DEVICE" desc="On the dropdown menu for a history entry, the text that is shown instead of a device name, when the device name is not known.">
        Unknown device
      </message>

      <!-- Generic terms -->
      <message name="IDS_OK" desc="Used for OK on buttons">
        OK
      </message>
      <message name="IDS_CANCEL" desc="Used for Cancel on buttons" formatter_data="android_java">
        Cancel
      </message>
      <message name="IDS_ADD" desc="Used for Add on buttons">
        Add
      </message>
      <message name="IDS_UNDO_DELETE" desc="Description for a command to undo a delete command.">
        Undo Delete
      </message>
      <message name="IDS_EDIT" desc="Edit menu item">
        &amp;Edit
      </message>
      <message name="IDS_LEARN_MORE" desc="Learn more text">
        Learn more
      </message>
      <message name="IDS_CLOSE" desc="A generic term for Close on buttons and menus.">
        Close
      </message>
      <message name="IDS_DONE" desc="A generic term for Done on buttons and menus.">
        Done
      </message>
      <message name="IDS_SKIP" desc="A generic term for Skip on buttons and menus.">
        Skip
      </message>
      <message name="IDS_ACCNAME_TAB" desc="A generic description of a tab button's role">
        Tab
      </message>
      <message name="IDS_SAVE" desc="Used on a button to save information you are editing.">
        Save
      </message>
      <message name="IDS_DISABLE" desc="Used for Disable on buttons">
        Disable
      </message>
      <message name="IDS_CONTENT_CONTEXT_WRITING_DIRECTION_MENU" desc="The name of the Writing Direction submenu in the content area context menu.  To translate, launch /Applications/TextEdit.app in an appropriately localized version of OS X, right-click on the text entry area and use the translation from there.">
        Writing Direction
      </message>
      <message name="IDS_CONTENT_CONTEXT_WRITING_DIRECTION_DEFAULT" desc="The name of the 'default' item from the Writing Direction submenu in the content area context menu.  To translate, launch /Applications/TextEdit.app in an appropriately localized version of OS X, right-click on the text entry area and use the translation from there.">
        Default
      </message>
      <message name="IDS_CONTENT_CONTEXT_WRITING_DIRECTION_LTR" desc="The name of the 'Left to Right' item from the Writing Direction submenu in the content area context menu.  To translate, launch /Applications/TextEdit.app in an appropriately localized version of OS X, right-click on the text entry area and use the translation from there.">
        Left to Right
      </message>
      <message name="IDS_CONTENT_CONTEXT_WRITING_DIRECTION_RTL" desc="The name of the 'Right to Left' item from the Writing Direction submenu in the content area context menu.  To translate, launch /Applications/TextEdit.app in an appropriately localized version of OS X, right-click on the text entry area and use the translation from there.">
        Right to Left
      </message>

      <!-- content area context menus -->
      <if expr="is_macosx or is_linux">
          <message name="IDS_CONTENT_CONTEXT_LOOK_UP_IN_DICTIONARY" desc="The name of the 'Look Up in Dictionary' item in the content area context menu.  To translate, launch /Applications/TextEdit.app in an appropriately localized version of OS X, right-click on the text entry area and use the translation from there.">
            Look Up in Dictionary
          </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_CONTENT_CONTEXT_BACK" desc="The name of the Back command in the content area context menu">
          &amp;Back
        </message>
        <message name="IDS_CONTENT_CONTEXT_FORWARD" desc="The name of the Forward command in the content area context menu">
          &amp;Forward
        </message>
        <message name="IDS_CONTENT_CONTEXT_SAVEPAGEAS" desc="The name of the Save Page As command in the content area context menu">
          Save &amp;as...
        </message>
        <message name="IDS_CONTENT_CONTEXT_PRINT" desc="The name of the Print... command in the content area context menu. Brings a dialog to select the print options">
          P&amp;rint...
        </message>
        <message name="IDS_CONTENT_CONTEXT_VIEWPAGESOURCE" desc="The name of the View Page Source command in the content area context menu">
          &amp;View page source
        </message>
        <message name="IDS_CONTENT_CONTEXT_OPENLINKWITH" desc="The name of the Open Link With... command in the content area context menu">
          Open link with...
        </message>
        <message name="IDS_CONTENT_CONTEXT_OPENLINKWITH_CONFIGURE" desc="In Title Case: The name of the command to configure what handlers are available for the Open Link With... command">
          Configure...
        </message>
        <message name="IDS_CONTENT_CONTEXT_VIEWPAGEINFO" desc="The name of the View Page Info command in the content area context menu">
          View page &amp;info
        </message>
        <message name="IDS_CONTENT_CONTEXT_INSPECTELEMENT" desc="The name of the Inspect Element command in the content area context menu">
          I&amp;nspect element
        </message>
        <message name="IDS_CONTENT_CONTEXT_INSPECTBACKGROUNDPAGE" desc="The name of the Inspect Background Page command in the packaged app content area context menu">
          Inspect &amp;background page
        </message>
        <message name="IDS_CONTENT_CONTEXT_RELOAD" desc="The name of the Reload command in the content area context menu">
          Re&amp;load
        </message>
        <message name="IDS_CONTENT_CONTEXT_RESTART_APP" desc="The name of the Restart Packaged App command in the packaged app context menu.">
          Simulate browser restart
        </message>
        <message name="IDS_CONTENT_CONTEXT_RELOAD_PACKAGED_APP" desc="The name of the Reload Packaged App command in the packaged app content area context menu">
          Re&amp;load app
        </message>
        <message name="IDS_CONTENT_CONTEXT_TRANSLATE" desc="The name of the Translate command in the content area context menu">
          &amp;Translate to <ph name="LANGUAGE">$1<ex>English</ex></ph>
        </message>

        <message name="IDS_CONTENT_CONTEXT_RELOADFRAME" desc="The name of the Reload Frame command in the content area context menu">
          Reload frame
        </message>
        <message name="IDS_CONTENT_CONTEXT_SAVEFRAMEAS" desc="The name of the Save Frame As command in the content area context menu">
          Save &amp;frame as...
        </message>
        <message name="IDS_CONTENT_CONTEXT_PRINTFRAME" desc="The name of the Print Frame command in the content area context menu">
          P&amp;rint frame...
        </message>
        <message name="IDS_CONTENT_CONTEXT_VIEWFRAMESOURCE" desc="The name of the View Frame Source command in the content area context menu">
          &amp;View frame source
        </message>
        <message name="IDS_CONTENT_CONTEXT_VIEWFRAMEINFO" desc="The name of the View Frame Info command in the content area context menu">
          View frame &amp;info
        </message>

        <message name="IDS_CONTENT_CONTEXT_OPENLINKNEWTAB" desc="The name of the Open Link in New Tab command in the content area context menu">
          Open link in new &amp;tab
        </message>
        <message name="IDS_CONTENT_CONTEXT_OPENLINKNEWWINDOW" desc="The name of the Open Link in New Window command in the content area context menu">
          Open link in new &amp;window
        </message>
        <message name="IDS_CONTENT_CONTEXT_OPENLINKOFFTHERECORD" desc="The name of the open a link in incognito window command">
          Open link in inco&amp;gnito window
        </message>

        <message name="IDS_CONTENT_CONTEXT_SAVELINKAS" desc="The name of the Save Link As command in the content area context menu">
          Save lin&amp;k as...
        </message>
        <message name="IDS_CONTENT_CONTEXT_COPYLINKLOCATION" desc="The name of the Copy Link Location command in the content area context menu">
          Copy link addr&amp;ess
        </message>

        <message name="IDS_CONTENT_CONTEXT_COPYEMAILADDRESS" desc="The name of the Copy Email Address command in the content area context menu">
          Copy &amp;email address
        </message>

        <message name="IDS_CONTENT_CONTEXT_SAVEIMAGEAS" desc="The name of the Save Image As command in the content area context menu">
          Sa&amp;ve image as...
        </message>
        <message name="IDS_CONTENT_CONTEXT_COPYIMAGELOCATION" desc="The name of the Copy Image Location command in the content area context menu">
          C&amp;opy image URL
        </message>
        <message name="IDS_CONTENT_CONTEXT_COPYIMAGE" desc="The name of the Copy Image command in the content area context menu">
          Cop&amp;y image
        </message>
        <message name="IDS_CONTENT_CONTEXT_OPENIMAGENEWTAB" desc="The name of the Open Image in New Tab command in the content area context menu">
          Open &amp;image in new tab
        </message>

        <message name="IDS_CONTENT_CONTEXT_LOOP" desc="The name of the Loop command for audio and video playback in the content area context menu">
          &amp;Loop
        </message>
        <message name="IDS_CONTENT_CONTEXT_PLAY" desc="The name of the Play command for audio and video playback in the content area context menu">
          &amp;Play
        </message>
        <message name="IDS_CONTENT_CONTEXT_PAUSE" desc="The name of the Pause command for audio and video playback in the content area context menu">
          &amp;Pause
        </message>
        <message name="IDS_CONTENT_CONTEXT_MUTE" desc="The name of the Mute command for audio and video playback in the content area context menu">
          &amp;Mute
        </message>
        <message name="IDS_CONTENT_CONTEXT_UNMUTE" desc="The name of the Unmute command for audio and video playback in the content area context menu">
          Un&amp;mute
        </message>
        <message name="IDS_CONTENT_CONTEXT_CONTROLS" desc="The name of the Show Controls command for audio and video playback in the content area context menu">
          Show &amp;controls
        </message>
        <message name="IDS_CONTENT_CONTEXT_ROTATECW" desc="The name of the Rotate clockwise command for plugins in the content area context menu">
          Rotate &amp;clockwise
        </message>
        <message name="IDS_CONTENT_CONTEXT_ROTATECCW" desc="The name of the Rotate counterclockwise command for plugins in the content area context menu">
          Rotate c&amp;ounterclockwise
        </message>

        <message name="IDS_CONTENT_CONTEXT_SAVEVIDEOAS" desc="The name of the Save Video As command in the content area context menu">
          Sa&amp;ve video as...
        </message>
        <message name="IDS_CONTENT_CONTEXT_COPYVIDEOLOCATION" desc="The name of the Copy Video Location command in the content area context menu">
          C&amp;opy video URL
        </message>
        <message name="IDS_CONTENT_CONTEXT_OPENVIDEONEWTAB" desc="The name of the Open Video in New Tab command in the content area context menu">
          &amp;Open video in new tab
        </message>

        <message name="IDS_CONTENT_CONTEXT_SAVEAUDIOAS" desc="The name of the Save Audio As command in the content area context menu">
          Sa&amp;ve audio as...
        </message>
        <message name="IDS_CONTENT_CONTEXT_COPYAUDIOLOCATION" desc="The name of the Copy Audio Location command in the content area context menu">
          C&amp;opy audio URL
        </message>
        <message name="IDS_CONTENT_CONTEXT_OPENAUDIONEWTAB" desc="The name of the Open Audio in New Tab command in the content area context menu">
          &amp;Open audio in new tab
        </message>

        <message name="IDS_CONTENT_CONTEXT_UNDO" desc="The name of the Undo command in the content area context menu">
          &amp;Undo
        </message>
        <message name="IDS_CONTENT_CONTEXT_REDO" desc="The name of the Redo command in the content area context menu">
          &amp;Redo
        </message>
        <message name="IDS_CONTENT_CONTEXT_CUT" desc="The name of the Cut command in the content area context menu">
          Cu&amp;t
        </message>
        <message name="IDS_CONTENT_CONTEXT_COPY" desc="The name of the Copy command in the content area context menu">
          &amp;Copy
        </message>
        <message name="IDS_CONTENT_CONTEXT_PASTE" desc="The name of the Paste command in the content area context menu" meaning="'Paste' menu command in sentence case">
          &amp;Paste
        </message>
        <message name="IDS_CONTENT_CONTEXT_DELETE" desc="The name of the Delete command in the content area context menu">
          &amp;Delete
        </message>
        <message name="IDS_CONTENT_CONTEXT_ADD_TO_DICTIONARY" desc="The name of the Add to dictionary command in the content area context menu">
          &amp;Add to dictionary
        </message>
        <message name="IDS_CONTENT_CONTEXT_NO_SPELLING_SUGGESTIONS" desc="The name of the No Spelling Suggestions display in the content area context menu">
          &amp;No spelling suggestions
        </message>
        <message name="IDS_CONTENT_CONTEXT_SPELLING_ASK_GOOGLE" desc="The context-menu item that asks whether to integrate the spelling service of Google to Chrome. This text is also used as the title of a bubble which confirms it.">
          Ask Google for suggestions
        </message>
        <message name="IDS_CONTENT_CONTEXT_SPELLING_BUBBLE_ENABLE" desc="The button text that allows integrating the spelling service of Google.">
          Enable
        </message>
        <message name="IDS_CONTENT_CONTEXT_SPELLING_BUBBLE_DISABLE" desc="The button text that disallows integrating the spelling service of Google.">
          No thanks
        </message>
        <message name="IDS_CONTENT_CONTEXT_SPELLING_CHECKING" desc="The place-holder message shown while the Spelling service is checking text">
          Loading suggestion
        </message>
        <message name="IDS_CONTENT_CONTEXT_SPELLING_NO_SUGGESTIONS_FROM_GOOGLE" desc="The message shown when we cannot get any more suggestions from the Spelling service">
          No more suggestions from Google
        </message>
        <message name="IDS_CONTENT_CONTEXT_SPELLING_AUTOCORRECT" desc="The context-menu item that asks whether to use Google to automatically correct spelling in Chrome.">
          Automatically correct spelling
        </message>
        <message name="IDS_CONTENT_CONTEXT_SELECTALL" desc="The name of the Select All command in the content area context menu">
          Select &amp;all
        </message>
        <message name="IDS_CONTENT_CONTEXT_SEARCHWEBFOR" desc="The name of the Search the Web for 'string' command in the content area context menu">
          &amp;Search <ph name="SEARCH_ENGINE">$1<ex>Google</ex></ph> for '<ph name="SEARCH_TERMS">$2<ex>flowers</ex></ph>'
        </message>
        <message name="IDS_CONTENT_CONTEXT_SEARCHWEBFORIMAGE" desc="The name of the Search For Image command in the content area context menu">
          &amp;Search <ph name="SEARCH_ENGINE">$1<ex>Google</ex></ph> for this image
        </message>
        <message name="IDS_CONTENT_CONTEXT_GOTOURL" desc="The name of the Go to 'url' command in the content area context menu">
          &amp;Go to <ph name="URL">$1<ex>http://www.google.com/</ex></ph>
        </message>
        <message name="IDS_CONTENT_CONTEXT_ADDSEARCHENGINE" desc="The name of the Add as Search Engine command in the content area context menu">
          Add as search en&amp;gine...
        </message>
        <message name="IDS_CONTENT_CONTEXT_INPUT_METHODS_MENU" desc="The name of the input method submenu in the content area context menu">
          Input &amp;methods
        </message>
        <message name="IDS_CONTENT_CONTEXT_PLUGIN_RUN" desc="The name of the Run command on the blocked plugin context menu">
          Run this plug-in
        </message>
        <message name="IDS_CONTENT_CONTEXT_PLUGIN_HIDE" desc="The name of the Hide command on the blocked plugin context menu">
          Hide this plug-in
        </message>
        <message name="IDS_CONTENT_CONTEXT_SPEECH_INPUT_MENU" desc="The name of the Speech input options submenu in the content area context menu">
          Voice recognition options
        </message>
        <message name="IDS_CONTENT_CONTEXT_SPEECH_INPUT_FILTER_PROFANITIES" desc="The name of the offensive word filtering command in the content area context menu">
          Block offensive words
        </message>
        <message name="IDS_CONTENT_CONTEXT_SPEECH_INPUT_ABOUT" desc="The name of the Speech input About command in the content area context menu">
          About voice recognition
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_CONTENT_CONTEXT_BACK" desc="In Title Case: The name of the Back command in the content area context menu">
          &amp;Back
        </message>
        <message name="IDS_CONTENT_CONTEXT_FORWARD" desc="In Title Case: The name of the Forward command in the content area context menu">
          &amp;Forward
        </message>
        <message name="IDS_CONTENT_CONTEXT_SAVEPAGEAS" desc="In Title Case: The name of the Save Page As command in the content area context menu">
          Save &amp;As...
        </message>
        <message name="IDS_CONTENT_CONTEXT_PRINT" desc="In Title Case: The name of the Print... command in the content area context menu. Brings a dialog to select the print options">
          P&amp;rint...
        </message>
        <message name="IDS_CONTENT_CONTEXT_VIEWPAGESOURCE" desc="In Title Case: The name of the View Page Source command in the content area context menu">
          &amp;View Page Source
        </message>
        <message name="IDS_CONTENT_CONTEXT_OPENLINKWITH" desc="In Title Case: The name of the Open Link With... command in the content area context menu">
          Open Link With...
        </message>
        <message name="IDS_CONTENT_CONTEXT_OPENLINKWITH_CONFIGURE" desc="In Title Case: The name of the command to configure what handlers are available for the Open Link With... command">
          Configure...
        </message>
        <message name="IDS_CONTENT_CONTEXT_VIEWPAGEINFO" desc="In Title Case: The name of the View Page Info command in the content area context menu">
          View Page &amp;Info
        </message>
        <message name="IDS_CONTENT_CONTEXT_INSPECTELEMENT" desc="In Title Case: The name of the Inspect Element command in the content area context menu">
          I&amp;nspect Element
        </message>
        <message name="IDS_CONTENT_CONTEXT_INSPECTBACKGROUNDPAGE" desc="In Title Case: The name of the Inspect Background Page command in the packaged app content area context menu">
          Inspect &amp;Background Page
        </message>
        <message name="IDS_CONTENT_CONTEXT_RELOAD" desc="In Title Case: The name of the Reload command in the content area context menu">
          Re&amp;load
        </message>
        <message name="IDS_CONTENT_CONTEXT_RESTART_APP" desc="In Title Case: The name of the Restart Packaged App command in the packaged app context menu.">
          Simulate Browser Restart
        </message>
        <message name="IDS_CONTENT_CONTEXT_RELOAD_PACKAGED_APP" desc="In Title Case: The name of the Reload Packaged App command in the packaged app content area context menu">
          Re&amp;load App
        </message>
        <message name="IDS_CONTENT_CONTEXT_TRANSLATE" desc="In Title Case: The name of the Translate command in the content area context menu">
          &amp;Translate to <ph name="LANGUAGE">$1<ex>English</ex></ph>
        </message>

        <message name="IDS_CONTENT_CONTEXT_RELOADFRAME" desc="In Title Case: The name of the Reload Frame command in the content area context menu">
          Reload Frame
        </message>
        <message name="IDS_CONTENT_CONTEXT_SAVEFRAMEAS" desc="In Title Case: The name of the Save Frame As command in the content area context menu">
          Save &amp;Frame As...
        </message>
        <message name="IDS_CONTENT_CONTEXT_PRINTFRAME" desc="In Title Case: The name of the Print Frame command in the content area context menu">
          P&amp;rint Frame...
        </message>
        <message name="IDS_CONTENT_CONTEXT_VIEWFRAMESOURCE" desc="In Title Case: The name of the View Frame Source command in the content area context menu">
          &amp;View Frame Source
        </message>
        <message name="IDS_CONTENT_CONTEXT_VIEWFRAMEINFO" desc="In Title Case: The name of the View Frame Info command in the content area context menu">
          View Frame &amp;Info
        </message>

        <message name="IDS_CONTENT_CONTEXT_OPENLINKNEWTAB" desc="In Title Case: The name of the Open Link in New Tab command in the content area context menu">
          Open Link in New &amp;Tab
        </message>
        <message name="IDS_CONTENT_CONTEXT_OPENLINKNEWWINDOW" desc="In Title Case: The name of the Open Link in New Window command in the content area context menu">
          Open Link in New &amp;Window
        </message>
        <message name="IDS_CONTENT_CONTEXT_OPENLINKOFFTHERECORD" desc="In Title Case: The name of the open a link in incognito window command">
          Open Link in Inco&amp;gnito Window
        </message>

        <message name="IDS_CONTENT_CONTEXT_SAVELINKAS" desc="In Title Case: The name of the Save Link As command in the content area context menu">
          Save Lin&amp;k As...
        </message>
        <message name="IDS_CONTENT_CONTEXT_COPYLINKLOCATION" desc="In Title Case: The name of the Copy Link Location command in the content area context menu">
          Copy Link Addr&amp;ess
        </message>

        <message name="IDS_CONTENT_CONTEXT_COPYEMAILADDRESS" desc="In Title Case: The name of the Copy Email Address command in the content area context menu">
          Copy &amp;Email Address
        </message>

        <message name="IDS_CONTENT_CONTEXT_SAVEIMAGEAS" desc="In Title Case: The name of the Save Image As command in the content area context menu">
          Sa&amp;ve Image As...
        </message>
        <message name="IDS_CONTENT_CONTEXT_COPYIMAGELOCATION" desc="In Title Case: The name of the Copy Image Location command in the content area context menu">
          C&amp;opy Image URL
        </message>
        <message name="IDS_CONTENT_CONTEXT_COPYIMAGE" desc="In Title Case: The name of the Copy Image command in the content area context menu">
          Cop&amp;y Image
        </message>
        <message name="IDS_CONTENT_CONTEXT_OPENIMAGENEWTAB" desc="In Title Case: The name of the Open Image in New Tab command in the content area context menu">
          Open &amp;Image in New Tab
        </message>

        <message name="IDS_CONTENT_CONTEXT_LOOP" desc="In Title Case: The name of the Loop command for audio and video playback in the content area context menu">
          &amp;Loop
        </message>
        <message name="IDS_CONTENT_CONTEXT_PLAY" desc="In Title Case: The name of the Play command for audio and video playback in the content area context menu">
          &amp;Play
        </message>
        <message name="IDS_CONTENT_CONTEXT_PAUSE" desc="In Title Case: The name of the Pause command for audio and video playback in the content area context menu">
          &amp;Pause
        </message>
        <message name="IDS_CONTENT_CONTEXT_MUTE" desc="In Title Case: The name of the Mute command for audio and video playback in the content area context menu">
          &amp;Mute
        </message>
        <message name="IDS_CONTENT_CONTEXT_UNMUTE" desc="In Title Case: The name of the Unmute command for audio and video playback in the content area context menu">
          Un&amp;mute
        </message>
        <message name="IDS_CONTENT_CONTEXT_CONTROLS" desc="In Title Case: The name of the Show Controls command for audio and video playback in the content area context menu">
          Show &amp;Controls
        </message>
        <message name="IDS_CONTENT_CONTEXT_ROTATECW" desc="In Title Case: The name of the Rotate Clockwise command for plugins in the content area context menu">
          Rotate &amp;Clockwise
        </message>
        <message name="IDS_CONTENT_CONTEXT_ROTATECCW" desc="In Title Case: The name of the Rotate Counterclockwise command for plugins in the content area context menu">
          Rotate C&amp;ounterclockwise
        </message>

        <message name="IDS_CONTENT_CONTEXT_SAVEVIDEOAS" desc="In Title Case: The name of the Save Video As command in the content area context menu">
         Sa&amp;ve Video As...
        </message>
        <message name="IDS_CONTENT_CONTEXT_COPYVIDEOLOCATION" desc="In Title Case: The name of the Copy Video Location command in the content area context menu">
          C&amp;opy Video URL
        </message>
        <message name="IDS_CONTENT_CONTEXT_OPENVIDEONEWTAB" desc="In Title Case: The name of the Open Video in New Tab command in the content area context menu">
          &amp;Open Video in New Tab
        </message>

        <message name="IDS_CONTENT_CONTEXT_SAVEAUDIOAS" desc="In Title Case: The name of the Save Audio As command in the content area context menu">
          Sa&amp;ve Audio As...
        </message>
        <message name="IDS_CONTENT_CONTEXT_COPYAUDIOLOCATION" desc="In Title Case: The name of the Copy Audio Location command in the content area context menu">
          C&amp;opy Audio URL
        </message>
        <message name="IDS_CONTENT_CONTEXT_OPENAUDIONEWTAB" desc="In Title Case: The name of the Open Audio in New Tab command in the content area context menu">
          &amp;Open Audio in New Tab
        </message>

        <message name="IDS_CONTENT_CONTEXT_UNDO" desc="In Title Case: The name of the Undo command in the content area context menu">
          &amp;Undo
        </message>
        <message name="IDS_CONTENT_CONTEXT_REDO" desc="In Title Case: The name of the Redo command in the content area context menu">
          &amp;Redo
        </message>
        <message name="IDS_CONTENT_CONTEXT_CUT" desc="In Title Case: The name of the Cut command in the content area context menu">
          Cu&amp;t
        </message>
        <message name="IDS_CONTENT_CONTEXT_COPY" desc="In Title Case: The name of the Copy command in the content area context menu">
          &amp;Copy
        </message>
        <message name="IDS_CONTENT_CONTEXT_DELETE" desc="In Title Case: The name of the Delete command in the content area context menu">
          &amp;Delete
        </message>
        <message name="IDS_CONTENT_CONTEXT_ADD_TO_DICTIONARY" desc="In Title Case: The name of the Add to dictionary command in the content area context menu">
          &amp;Add to Dictionary
        </message>
        <message name="IDS_CONTENT_CONTEXT_NO_SPELLING_SUGGESTIONS" desc="In Title Case: The name of the No Spelling Suggestions display in the content area context menu">
          &amp;No Spelling Suggestions
        </message>
        <message name="IDS_CONTENT_CONTEXT_SPELLING_ASK_GOOGLE" desc="In Title Case: The context-menu item that asks whether to integrate the spelling service of Google to Chrome. This text is also used as the title of a bubble which confirms it.">
          Ask Google for Suggestions
        </message>
        <message name="IDS_CONTENT_CONTEXT_SPELLING_BUBBLE_ENABLE" desc="In Title Case: The button text that allows integrating the spelling service of Google.">
          Enable
        </message>
        <message name="IDS_CONTENT_CONTEXT_SPELLING_BUBBLE_DISABLE" desc="In Title Case: The button text that disallows integrating the spelling service of Google.">
          No Thanks
        </message>
        <message name="IDS_CONTENT_CONTEXT_SPELLING_CHECKING" desc="The place-holder message shown while the Spelling service is checking text">
          Loading suggestion
        </message>
        <message name="IDS_CONTENT_CONTEXT_SPELLING_NO_SUGGESTIONS_FROM_GOOGLE" desc="The message shown when we cannot get any more suggestions from the Spelling service">
          No more suggestions from Google
        </message>
        <message name="IDS_CONTENT_CONTEXT_SPELLING_AUTOCORRECT" desc="In Title Case: The context-menu item that asks whether to use Google to automatically correct spelling in Chrome.">
          Automatically Correct Spelling
        </message>
        <message name="IDS_CONTENT_CONTEXT_SELECTALL" desc="In Title Case: The name of the Select All command in the content area context menu">
          Select &amp;All
        </message>
        <message name="IDS_CONTENT_CONTEXT_SEARCHWEBFOR" desc="In Title Case: The name of the Search the Web for 'string' command in the content area context menu">
          &amp;Search <ph name="SEARCH_ENGINE">$1<ex>Google</ex></ph> for '<ph name="SEARCH_TERMS">$2<ex>flowers</ex></ph>'
        </message>
        <message name="IDS_CONTENT_CONTEXT_SEARCHWEBFORIMAGE" desc="In Title Case: The name of the Search For Image command in the content area context menu">
          &amp;Search <ph name="SEARCH_ENGINE">$1<ex>Google</ex></ph> for this Image
        </message>
        <message name="IDS_CONTENT_CONTEXT_GOTOURL" desc="In Title Case: The name of the Go to url for 'string' command in the content area context menu">
          &amp;Go to <ph name="URL">$1<ex>http://www.google.com/</ex></ph>
        </message>
        <message name="IDS_CONTENT_CONTEXT_ADDSEARCHENGINE" desc="In Title Case: The name of the Add as Search Engine command in the content area context menu">
          Add As Search En&amp;gine...
        </message>
        <message name="IDS_CONTENT_CONTEXT_INPUT_METHODS_MENU" desc="In Title Case: The name of the input method submenu in the content area context menu">
          Input &amp;Methods
        </message>
        <message name="IDS_CONTENT_CONTEXT_PLUGIN_RUN" desc="In Title Case: The name of the Run command on the blocked plugin context menu">
          Run This Plug-in
        </message>
        <message name="IDS_CONTENT_CONTEXT_PLUGIN_HIDE" desc="In Title Case: The name of the Hide command on the blocked plugin context menu">
          Hide This Plug-in
        </message>
        <message name="IDS_CONTENT_CONTEXT_SPEECH_INPUT_MENU" desc="In Title Case: The name of the Speech input options submenu in the content area context menu">
          Voice Recognition Options
        </message>
        <message name="IDS_CONTENT_CONTEXT_SPEECH_INPUT_FILTER_PROFANITIES" desc="In Title Case: The name of the offensive word filtering command in the content area context menu">
          Block Offensive Words
        </message>
        <message name="IDS_CONTENT_CONTEXT_SPEECH_INPUT_ABOUT" desc="In Title Case: The name of the Speech input About command in the content area context menu">
          About Voice Recognition
        </message>
      </if>
      <if expr="is_macosx">
        <message name="IDS_CONTENT_CONTEXT_PASTE" desc="Mac/In Title Case: The name of the Paste command in the content area context menu" meaning="'Paste' menu command for Mac">
          &amp;Paste
        </message>
      </if>
      <if expr="not is_macosx and pp_ifdef('use_titlecase')">
        <message name="IDS_CONTENT_CONTEXT_PASTE" desc="In Title Case: The name of the Paste command in the content area context menu" meaning="'Paste' menu command in title case">
          &amp;Paste
        </message>
      </if>
      <message name="IDS_CONTENT_CONTEXT_SPELLING_BUBBLE_TEXT" desc="The text of a bubble that confirms users allows integrating the spelling service of Google to Chrome.">
        Google Chrome can provide smarter spell-checking by sending what you type in the browser to Google servers, allowing you to use the same spell-checking technology used by Google search.
      </message>

      <!-- Spelling submenu -->
      <if expr="is_macosx">
        <message name="IDS_CONTENT_CONTEXT_SPELLCHECK_MENU" desc="In Title Case: The name of the Spellcheck Options submenu in the spelling context menu">
          Spelling and Grammar
        </message>
        <message name="IDS_CONTENT_CONTEXT_CHECK_SPELLING_WHILE_TYPING" desc="The name of the Check Spelling while Typing field command in the spelling context menu">
          Check Spelling While Typing
        </message>
        <message name="IDS_CONTENT_CONTEXT_SHOW_SPELLING_PANEL" desc="The name of the Show Spelling Panel command in the spelling context menu">
          Show Spelling and Grammar
        </message>
        <message name="IDS_CONTENT_CONTEXT_HIDE_SPELLING_PANEL" desc="The name of the Hide Spelling Panel command in the spelling context menu">
          Hide Spelling and Grammar
        </message>
      </if>
      <if expr="not is_macosx">
        <if expr="not pp_ifdef('use_titlecase')">
          <message name="IDS_CONTENT_CONTEXT_SPELLCHECK_MENU" desc="The name of the Spellcheck Options submenu in the content area context menu">
            &amp;Spell-checker options
          </message>
          <message name="IDS_CONTENT_CONTEXT_LANGUAGE_SETTINGS" desc="The name of the Language Settings command in the content area context menu">
            &amp;Language settings...
          </message>
          <message name="IDS_CONTENT_CONTEXT_SHOW_SPELLING_PANEL" desc="The name of the Show Spelling Panel command in the content area context menu">
            &amp;Show spelling panel
          </message>
          <message name="IDS_CONTENT_CONTEXT_HIDE_SPELLING_PANEL" desc="The name of the Hide Spelling Panel command in the content area context menu">
            &amp;Hide spelling panel
          </message>
        </if>
        <if expr="pp_ifdef('use_titlecase')">
          <message name="IDS_CONTENT_CONTEXT_SPELLCHECK_MENU" desc="In Title Case: The name of the Spellcheck Options submenu in the content area context menu">
            &amp;Spell-checker Options
          </message>
          <message name="IDS_CONTENT_CONTEXT_LANGUAGE_SETTINGS" desc="In Title Case: The name of the Language Settings command in the content area context menu">
            &amp;Language Settings...
          </message>
          <message name="IDS_CONTENT_CONTEXT_SHOW_SPELLING_PANEL" desc="In Title Case: The name of the Show Spelling Panel command in the content area context menu">
            &amp;Show Spelling Panel
          </message>
          <message name="IDS_CONTENT_CONTEXT_HIDE_SPELLING_PANEL" desc="In Title Case: The name of the Hide Spelling Panel command in the content area context menu">
            &amp;Hide Spelling Panel
          </message>
        </if>
        <message name="IDS_CONTENT_CONTEXT_CHECK_SPELLING_WHILE_TYPING" desc="The name of the Check Spelling while Typing field command in the spelling context menu">
          Check the spelling of text fields
        </message>
      </if>

      <!-- Paste and Match Style / Paste as Plain Text -->
      <if expr="is_macosx">
        <message name="IDS_CONTENT_CONTEXT_PASTE_AND_MATCH_STYLE" desc="Mac/In Title Case: The name of the 'Paste and Match Style' command in the content area context menu">
          Paste and Match Style
        </message>
      </if>
      <if expr="not is_macosx and pp_ifdef('use_titlecase')">
        <message name="IDS_CONTENT_CONTEXT_PASTE_AND_MATCH_STYLE" desc="In Title Case: The name of the 'Paste as plain text' command in the content area context menu">
          Paste As Plain Text
        </message>
      </if>
      <if expr="not is_macosx and not pp_ifdef('use_titlecase')">
        <message name="IDS_CONTENT_CONTEXT_PASTE_AND_MATCH_STYLE" desc="The name of the 'Paste as plain text' command in the content area context menu">
          Paste as plain text
        </message>
      </if>

      <!-- Page menu -->
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_NEW_TAB" desc="The text label of the New Tab menu item">
          New &amp;tab
        </message>
        <message name="IDS_SHOW_AS_TAB" desc="The text label for the Show As tab menu item">
          &amp;Show as tab
        </message>
        <message name="IDS_NEW_WINDOW" desc="The text label of the New Window menu item">
          &amp;New window
        </message>
        <message name="IDS_NEW_INCOGNITO_WINDOW" desc="The text label of the New incognito window menu item">
          New &amp;incognito window
        </message>
        <message name="IDS_PIN_TO_START_SCREEN" desc="The text label of the Pin to start screen menu item">
          Pin this page to Start screen...
        </message>
        <message name="IDS_UNPIN_FROM_START_SCREEN" desc="The text label of the unpin from start screen menu item">
          Unpin this page from Start screen...
        </message>
        <message name="IDS_EDIT2" desc="The text label before the cut/copy/paste buttons in the merged menu">
          Edit
        </message>
        <message name="IDS_UNDO" desc="The text label of the Undo menu item">
          &amp;Undo
        </message>
        <message name="IDS_CUT" desc="The text label of the Cut menu item">
          Cu&amp;t
        </message>
        <message name="IDS_COPY" desc="The text label of the Copy menu item">
          &amp;Copy
        </message>
        <message name="IDS_PASTE" desc="The text label of the Paste menu item" meaning="'Paste' menu command in sentence case">
          &amp;Paste
        </message>
        <message name="IDS_DELETE" desc="The text label of the Delete menu item (which deletes selected text without copying to clipboard)">
          &amp;Delete
        </message>
        <message name="IDS_SELECT_ALL" desc="The text label of the Select All menu item">
          Select &amp;all
        </message>
        <message name="IDS_FIND" desc="The text label of the Find... menu item">
          &amp;Find...
        </message>
        <message name="IDS_SAVE_PAGE" desc="The text label of the Save Page As menu item">
          Save page &amp;as...
        </message>
        <message name="IDS_PRINT" desc="The text label of the Print... menu item. Opens a dialog box to select print settings">
          &amp;Print...
        </message>
        <message name="IDS_TOOLS_MENU" desc="The text label of the Tools submenu">
          Too&amp;ls
        </message>
        <message name="IDS_MORE_TOOLS_MENU" desc="The text label of the Tools submenu for touch">
          More too&amp;ls
        </message>
        <message name="IDS_ZOOM_MENU" desc="The text label of the Zoom submenu">
          &amp;Zoom
        </message>
        <message name="IDS_ZOOM_MENU2" desc="The text label of the Zoom menu in the merged menu">
          Zoom
        </message>
        <message name="IDS_ZOOM_PLUS" desc="The text label of the Make Text Larger menu item">
          &amp;Larger
        </message>
        <message name="IDS_ZOOM_PLUS2" desc="The text label of the Make Text Larger menu item in the merged menu">
          +
        </message>
        <message name="IDS_ZOOM_NORMAL" desc="The text label of the Make Text Normal Size menu item">
          &amp;Normal
        </message>
        <message name="IDS_ZOOM_MINUS" desc="The text label of the Make Text Smaller menu item">
          &amp;Smaller
        </message>
        <message name="IDS_ZOOM_MINUS2" desc="The text label of the Make Text Smaller menu item in the merged menu">
          &#8722;
        </message>
        <message name="IDS_ZOOM_PERCENT" desc="Current pages zoom factor; shown in merged menu">
          <ph name="VALUE">$1<ex>100</ex></ph>%
        </message>
        <message name="IDS_ENCODING_MENU" desc="The text label of the Encoding submenu">
          &amp;Encoding
        </message>
        <message name="IDS_ENCODING_AUTO_DETECT" desc="The text label of the Auto Detect submenu">
          Auto detect
        </message>
        <message name="IDS_VISIT_DESKTOP_OF_LRU_USER" desc="The text label of the menu item which allows the user to move a window from one users desktop to another.">
          Move window to <ph name="USER_NAME">$1<ex>User name</ex></ph>
        </message>
      </if>
      <message name="IDS_ACCNAME_ZOOM_PLUS2" desc="The accessible description of the Make Text Larger menu item in the merged menu">
        Make Text Larger
      </message>
      <message name="IDS_ACCNAME_ZOOM_MINUS2" desc="The accessible description of the Make Text Smaller menu item in the merged menu">
        Make Text Smaller
      </message>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_NEW_TAB" desc="In Title Case: The text label of the New Tab menu item">
          New &amp;Tab
        </message>
        <message name="IDS_SHOW_AS_TAB" desc="In Title Case: The text label for the Show As tab menu item">
          &amp;Show As Tab
        </message>
        <message name="IDS_NEW_WINDOW" desc="In Title Case: The text label of the New Window menu item">
          &amp;New Window
        </message>
        <message name="IDS_NEW_INCOGNITO_WINDOW" desc="In Title Case: The text label of the New incognito window menu item">
          New &amp;Incognito Window
        </message>
        <message name="IDS_PIN_TO_START_SCREEN" desc="In Title Case: The text label of the Pin to start screen menu item">
          Pin this page to Start Screen...
        </message>
        <message name="IDS_UNPIN_FROM_START_SCREEN" desc="In Title Case: The text label of the Unpin from start screen menu item">
          Unpin this page from Start Screen...
        </message>
        <message name="IDS_UNDO" desc="In Title Case: The text label of the Undo menu item">
          &amp;Undo
        </message>
        <message name="IDS_CUT" desc="In Title Case: The text label of the Cut menu item">
          Cu&amp;t
        </message>
        <message name="IDS_COPY" desc="In Title Case: The text label of the Copy menu item">
          &amp;Copy
        </message>
        <message name="IDS_DELETE" desc="In Title Case: The text label of the Delete menu item (which deletes selected text without copying to clipboard)">
          &amp;Delete
        </message>
        <message name="IDS_SELECT_ALL" desc="In Title Case: The text label of the Select All menu item">
          Select &amp;All
        </message>
        <message name="IDS_FIND" desc="In Title Case: The text label of the Find... menu item">
          &amp;Find...
        </message>
        <message name="IDS_SAVE_PAGE" desc="In Title Case: The text label of the Save Page As menu item">
          Save Page &amp;As...
        </message>
        <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>
        <message name="IDS_TOOLS_MENU" desc="The text label of the Tools submenu">
          Too&amp;ls
        </message>
        <message name="IDS_MORE_TOOLS_MENU" desc="The text label of the Tools submenu for touch">
          More too&amp;ls
        </message>
        <message name="IDS_ZOOM_MENU" desc="In Title Case: The text label of the Zoom submenu">
          &amp;Zoom
        </message>
        <message name="IDS_ZOOM_PLUS" desc="In Title Case: The text label of the Make Text Larger menu item">
          &amp;Larger
        </message>
        <message name="IDS_ZOOM_PLUS2" desc="The text label of the Make Text Larger menu item in the merged menu">
          +
        </message>
        <message name="IDS_ZOOM_NORMAL" desc="In Title Case: The text label of the Make Text Normal Size menu item">
          &amp;Normal
        </message>
        <message name="IDS_ZOOM_MINUS" desc="In Title Case: The text label of the Make Text Smaller menu item">
          &amp;Smaller
        </message>
        <message name="IDS_ZOOM_MINUS2" desc="The text label of the Make Text Smaller menu item in the merged menu">
          &#8722;
        </message>
        <message name="IDS_ZOOM_PERCENT" desc="Current pages zoom factor; shown in merged menu">
        <ph name="VALUE">$1<ex>100</ex></ph>%
        </message>
        <message name="IDS_ENCODING_MENU" desc="In Title Case: The text label of the Encoding submenu">
          &amp;Encoding
        </message>
        <message name="IDS_ENCODING_AUTO_DETECT" desc="In Title Case: The text label of the Auto Detect submenu">
          Auto Detect
        </message>
      </if>
      <if expr="is_macosx">
        <message name="IDS_PASTE" desc="Mac/In Title Case: The text label of the Paste menu item" meaning="'Paste' menu command for Mac">
          &amp;Paste
        </message>
      </if>
      <if expr="not is_macosx and pp_ifdef('use_titlecase')">
        <message name="IDS_PASTE" desc="In Title Case: The text label of the Paste menu item" meaning="'Paste' menu command in title case">
          &amp;Paste
        </message>
      </if>
      <message name="IDS_ENCODING_DISPLAY_TEMPLATE" desc="The format of encodings in the encoding menu. Encoding categories are Unicode, Western, Turkish, Cyrillic, Chinese Simplified, Thai, Arabic, Hebrew and so forth. Encoding names are UTF-8, ISO-8859-1, Windows-1251, GB2312, etc.">
        <ph name="ENCODING_CATEGORY">$1<ex>Japanese</ex></ph> (<ph name="ENCODING_NAME">$2<ex>Shift_JIS</ex></ph>)
      </message>
      <message name="IDS_ENCODING_UNICODE" desc="The text label of Unicode encodings">
        Unicode
      </message>
      <message name="IDS_ENCODING_WESTERN" desc="The text label of West European character encoding">
        Western
      </message>
      <message name="IDS_ENCODING_SIMP_CHINESE" desc="The text label of Simplified Chinese encodings">
        Chinese Simplified
      </message>
      <message name="IDS_ENCODING_TRAD_CHINESE" desc="The text label of Traditional Chinese encodings">
        Chinese Traditional
      </message>
      <message name="IDS_ENCODING_KOREAN" desc="The text label of Korean encoding">
        Korean
      </message>
      <message name="IDS_ENCODING_JAPANESE" desc="The text label of Japanese encodings">
        Japanese
      </message>
      <message name="IDS_ENCODING_THAI" desc="The text label of encoding thai language">
        Thai
      </message>
      <message name="IDS_ENCODING_CENTRAL_EUROPEAN" desc="The text label of encoding Central European">
        Central European
      </message>
      <message name="IDS_ENCODING_CYRILLIC" desc="The text label of Cyrillic encodings">
        Cyrillic
      </message>
      <message name="IDS_ENCODING_GREEK" desc="The text label of Greek encodings">
        Greek
      </message>
      <message name="IDS_ENCODING_BALTIC" desc="The text label of Baltic encodings">
        Baltic
      </message>
      <message name="IDS_ENCODING_SOUTH_EUROPEAN" desc="The text label of South European encodings">
        South European
      </message>
      <message name="IDS_ENCODING_NORDIC" desc="The text label of Nordic encoding">
        Nordic
      </message>
      <message name="IDS_ENCODING_CELTIC" desc="The text label of Celtic encodings">
        Celtic
      </message>
      <message name="IDS_ENCODING_ROMANIAN" desc="The text label of Romanian encoding">
        Romanian
      </message>
      <message name="IDS_ENCODING_TURKISH" desc="The text label of Turkish encodings">
        Turkish
      </message>
      <message name="IDS_ENCODING_ARABIC" desc="The text label of Arabic encodings">
        Arabic
      </message>
      <message name="IDS_ENCODING_HEBREW" desc="The text label of Hebrew encodings">
        Hebrew
      </message>
      <message name="IDS_ENCODING_VIETNAMESE" desc="The text label of Vietnamese encoding">
        Vietnamese
      </message>

      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_VIEW_SOURCE" desc="The text label of the View Page Source menu item">
          View s&amp;ource
        </message>
        <message name="IDS_FEEDBACK" desc="The text label of the Report Bug menu item">
          &amp;Report an issue...
        </message>
        <message name="IDS_DEV_TOOLS" desc="The text label of the Developer Tools menu item">
          &amp;Developer tools
        </message>
        <message name="IDS_DEV_TOOLS_CONSOLE" desc="The text label of the JavaScript console menu item">
          &amp;JavaScript console
        </message>
        <message name="IDS_DEV_TOOLS_DEVICES" desc="The text label of the Inspect Devices menu item">
          &amp;Inspect devices
        </message>
        <message name="IDS_TASK_MANAGER" desc="The text label of the Task Manager menu item">
          &amp;Task manager
        </message>
        <message name="IDS_RESTORE_TAB" desc="The text label of the Restore Tab menu item">
          R&amp;eopen closed tab
        </message>
        <message name="IDS_RESTORE_WINDOW" desc="The text label of the Restore Window menu item">
          R&amp;eopen closed window
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_VIEW_SOURCE" desc="In Title Case: The text label of the View Page Source menu item">
          View S&amp;ource
        </message>
        <message name="IDS_FEEDBACK" desc="In Title Case: The text label of the Report Bug menu item">
          &amp;Report an Issue...
        </message>
        <message name="IDS_DEV_TOOLS" desc="In Title Case: The text label of the Developer Tools menu item">
          &amp;Developer Tools
        </message>
        <message name="IDS_DEV_TOOLS_CONSOLE" desc="In Title Case: The text label of the JavaScript console menu item">
          &amp;JavaScript Console
        </message>
        <message name="IDS_DEV_TOOLS_DEVICES" desc="The text label of the Inspect Devices menu item">
          &amp;Inspect Devices
        </message>
        <message name="IDS_TASK_MANAGER" desc="In Title Case: The text label of the Task Manager menu item">
          &amp;Task Manager
        </message>
        <message name="IDS_RESTORE_TAB" desc="In Title Case: The text label of the Restore Tab menu item">
          R&amp;eopen Closed Tab
        </message>
        <message name="IDS_RESTORE_WINDOW" desc="In Title Case: The text label of the Restore Window menu item">
          R&amp;eopen Closed Window
        </message>
      </if>

      <!-- XPFrame buttons tooltips -->
      <message name="IDS_XPFRAME_MINIMIZE_TOOLTIP" desc="The tooltip used for the minimize button">
        Minimize
      </message>
      <message name="IDS_XPFRAME_RESTORE_TOOLTIP" desc="The tooltip used for the restore button">
        Restore
      </message>
      <message name="IDS_XPFRAME_MAXIMIZE_TOOLTIP" desc="The tooltip used for the maximize button">
        Maximize
      </message>
      <message name="IDS_XPFRAME_CLOSE_TOOLTIP" desc="The tooltip used for the close button">
        Close
      </message>

      <if expr="is_macosx">
        <message name="IDS_PREFERENCES" desc="The Mac menu item to open the preferences window in the app menu.">
          Preferences...
        </message>
      </if>
      <if expr="is_posix and not is_macosx">
        <message name="IDS_PREFERENCES" desc="The text label of the Preferences menu item.">
          Preferences
        </message>
      </if>

      <!-- App menu -->
      <message name="IDS_TOGGLE_REQUEST_TABLET_SITE" desc="The toggle to request tablet site on a touch dev.">
        Request tablet site
      </message>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_SHOW_HISTORY" desc="The show history menu in the app menu">
          &amp;History
        </message>
        <message name="IDS_IMPORT_SETTINGS_MENU_LABEL" desc="In sentence case: The app menu label to import bookmarks and settings.">
          Import bookmarks and settings...
        </message>
        <message name="IDS_PROFILING_ENABLED" desc="The toggle to turn profiling on / off">
          &amp;Profiling enabled
        </message>
        <message name="IDS_FULLSCREEN" desc="Switches into fullscreen mode">
          &amp;Full screen
        </message>
        <message name="IDS_ACCNAME_FULLSCREEN" desc="The accessible name of the fullscreen button in the new merged menu">
          Full screen
        </message>
        <message name="IDS_CLEAR_BROWSING_DATA" desc="The text label for the menu item for clearing of browsing data">
          &amp;Clear browsing data...
        </message>
        <message name="IDS_SHOW_DOWNLOADS" desc="The show downloads menu in the app menu">
          &amp;Downloads
        </message>
        <message name="IDS_SHOW_EXTENSIONS" desc="The show extensions menu in the app menu">
          &amp;Extensions
        </message>
        <message name="IDS_SETTINGS" desc="The text label of the Settings menu item">
          &amp;Settings
        </message>
        <message name="IDS_OPTIONS" desc="The text label of the Options menu item">
          &amp;Options
        </message>
        <message name="IDS_HELP_PAGE" desc="The text label of the Help menu item">
          H&amp;elp
        </message>
        <message name="IDS_VIEW_INCOMPATIBILITIES" desc="The text label of the View incompatibilities menu item">
          Software incompatibility: Learn more
        </message>
        <message name="IDS_EXIT" desc="The text label of the Exit menu item">
          E&amp;xit
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_SHOW_HISTORY" desc="In Title Case: The show history menu in the app menu">
          &amp;History
        </message>
        <message name="IDS_IMPORT_SETTINGS_MENU_LABEL" desc="In Title Case: The app menu label to import bookmarks and settings.">
          Import Bookmarks and Settings...
        </message>
        <message name="IDS_PROFILING_ENABLED" desc="In Title Case: The toggle to turn profiling on / off">
          &amp;Profiling Enabled
        </message>
        <message name="IDS_FULLSCREEN" desc="In Title Case: Switches into fullscreen mode">
          &amp;Full Screen
        </message>
        <message name="IDS_CLEAR_BROWSING_DATA" desc="In Title Case: The text label for the menu item for clearing of browsing data">
          &amp;Clear Browsing Data...
        </message>
        <message name="IDS_SHOW_DOWNLOADS" desc="In Title Case: The show downloads menu in the app menu">
          &amp;Downloads
        </message>
        <message name="IDS_SHOW_EXTENSIONS" desc="In Title Case: The show extensions menu in the app menu">
          &amp;Extensions
        </message>
        <message name="IDS_SETTINGS" desc="In Title Case: The text label of the Settings menu item">
          &amp;Settings
        </message>
        <message name="IDS_OPTIONS" desc="In Title Case: The text label of the Options menu item">
          &amp;Options
        </message>
        <message name="IDS_HELP_PAGE" desc="In Title Case: The text label of the Help menu item">
          H&amp;elp
        </message>
        <message name="IDS_VIEW_INCOMPATIBILITIES" desc="The text label of the View incompatibilities menu item">
          Software Incompatibility: Learn More
        </message>
        <message name="IDS_EXIT" desc="In Title Case: The text label of the Exit menu item">
          E&amp;xit
        </message>
      </if>

      <!-- Keywords -->
      <message name="IDS_AUTOCOMPLETE_MATCH_DESCRIPTION_SEPARATOR" desc="The separator between a result in the autocomplete popup and its description.">
        ''' - '''
      </message>
      <message name="IDS_AUTOCOMPLETE_SEARCH_DESCRIPTION" desc="Description for the default search match.">
        <ph name="ENGINE">$1<ex>Google</ex></ph> Search
      </message>
      <message name="IDS_KEYWORD_SEARCH" desc="The description for a chrome keyword search match in the Omnibox dropdown">
        Search <ph name="SITE_NAME">$1<ex>www.google.com</ex></ph> for <ph name="SEARCH_TERMS">$2<ex>flowers</ex></ph>
      </message>
      <message name="IDS_EXTENSION_KEYWORD_COMMAND" desc="The description for an extension keyword command match in the Omnibox dropdown">
        Run <ph name="EXTENSION_NAME">$1<ex>Google Talk</ex></ph> command: <ph name="SEARCH_TERMS">$2<ex>mpcomplete@chromium.org</ex></ph>
      </message>
      <message name="IDS_EMPTY_KEYWORD_VALUE"
               desc="Shown in the location bar drop down when the user enters a string that matches a chrome keyword, but they haven't entered any text following the chrome keyword">
        &lt;enter query&gt;
      </message>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_EDIT_SEARCH_ENGINES"
                 desc="Title of the popup menu item for editing search engines">
          &amp;Edit search engines...
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_EDIT_SEARCH_ENGINES"
                 desc="In Title Case: Title of the popup menu item for editing search engines">
          &amp;Edit Search Engines...
        </message>
      </if>

      <!-- Search Engine Settings -->
      <message name="IDS_SEARCH_ENGINES_EDITOR_WINDOW_TITLE"
               desc="Title of the search engines window">
        Search engines
      </message>
      <message name="IDS_SEARCH_ENGINES_EDITOR_KEYWORD_COLUMN"
               desc="Title of the keyword column in the search engines editor">
        Keyword
      </message>
      <message name="IDS_SEARCH_ENGINES_EDITOR_DESCRIPTION_COLUMN"
               desc="Title of the description column in the search engines editor">
        Name
      </message>
      <message name="IDS_SEARCH_ENGINES_EDITOR_DESCRIPTION_LABEL"
               desc="Prefix before the search engine description text field">
        Name:
      </message>
      <message name="IDS_SEARCH_ENGINES_EDITOR_KEYWORD_LABEL"
               desc="Prefix before the search engine keyword text field">
        Keyword:
      </message>
      <message name="IDS_SEARCH_ENGINES_EDITOR_URL_LABEL"
               desc="Prefix before the URL text field">
        URL:
      </message>
      <message name="IDS_SEARCH_ENGINES_EDITOR_URL_DESCRIPTION_LABEL"
               desc="Describes how to escape the url">
        Insert <ph name="SEARCH_TERMS_LITERAL">%s</ph> in the URL where the search terms should appear.
      </message>
      <message name="IDS_SEARCH_ENGINES_EDITOR_MAKE_DEFAULT_BUTTON"
               desc="Text of the button that makes the selected endint the default search engine">
        Make default
      </message>
      <message name="IDS_SEARCH_ENGINES_EDITOR_EDIT_WINDOW_TITLE"
               desc="Text of the window title when editing a search engine">
        Edit Search Engine
      </message>
      <message name="IDS_SEARCH_ENGINES_EDITOR_NEW_WINDOW_TITLE"
               desc="Text of the window title when adding a search engine">
        Add Search Engine
      </message>
      <message name="IDS_SEARCH_ENGINES_INVALID_TITLE_TT"
               desc="Text of tooltip shown in the keyword editor when the title is invalid">
        Title must contain at least one character
      </message>
      <message name="IDS_SEARCH_ENGINES_INVALID_URL_TT"
               desc="Text of tooltip shown in the keyword editor when the url is invalid">
        Must be a valid URL
      </message>
      <message name="IDS_SEARCH_ENGINES_INVALID_KEYWORD_TT"
               desc="Text of tooltip shown in the keyword editor when the keyword is invalid">
        Keyword must be empty or unique
      </message>
      <message name="IDS_SEARCH_ENGINES_EDITOR_MAIN_SEPARATOR"
               desc="Title above the set of keywords the user has modified and or explicitly created">
        Default search settings
      </message>
      <message name="IDS_SEARCH_ENGINES_EDITOR_OTHER_SEPARATOR"
               desc="Title above the set of keywords Chrome automatically created as the user browses">
        Other search engines
      </message>
      <message name="IDS_SEARCH_ENGINES_EDITOR_EXTENSIONS_SEPARATOR"
               desc="Title above the set of keywords installed by active extensions">
        Search engines added by extensions
      </message>

      <message name="IDS_SEARCH_ENGINES_EDITOR_DEFAULT_ENGINE"
               desc="Engine name displayed for the engine in the list that is currently marked as default">
        <ph name="ENGINE_NAME">$1<ex>Google</ex></ph> (Default)
      </message>

      <!-- Download Shelf-->
      <if expr="is_macosx">
        <message name="IDS_SHOW_ALL"
                 desc="In Title Case: Button text on a button that opens the downloads page">
          Show All
        </message>
      </if>
      <message name="IDS_SHOW_ALL_DOWNLOADS"
               desc="Link label shown at the corner of the download shelf">
        Show all downloads...
      </message>
      <!-- Download Error Messages-->
      <!-- *_STATUS_*: Short message in the download on the shelf.-->
      <!-- *_DESCRIPTION_*: Corresponding more descriptive message on the download page.-->
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS"
               desc="The download experienced an error and was interrupted, size downloaded/total.">
        Download error
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS_ACCESS_DENIED"
               desc="Cannot write to the directory/file due to insufficient permissions. Please select another directory.">
        Insufficient permissions
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_ACCESS_DENIED"
               desc="Download page message: Access Denied.">
        Cannot save due to insufficient permissions. Please save to another location.
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS_PATH_TOO_LONG"
               desc="The file path name is too long.  Please select another location or name.">
        Path too long
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_PATH_TOO_LONG"
               desc="Download page message: Path Too Long.">
        The file path or name is too long.  Please save with a shorter name or to another location.
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS_DISK_FULL"
               desc="There is not enough room on the disk to download this file.  Please choose another disk or delete files to make more room.">
        Disk full
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_DISK_FULL"
               desc="Download page message: Disk Full.">
        Your hard disk is full.  Please save to another location or make more room on the hard disk.
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS_FILE_TOO_LARGE"
               desc="The file is too large for the file system.">
        File too large
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_FILE_TOO_LARGE"
               desc="Download page message: File too large.">
        The file is too large for your computer to handle. Sorry.
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS_TEMPORARY_PROBLEM"
               desc="There was a problem saving the file.  Please try again later.">
        System busy
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_TEMPORARY_PROBLEM"
               desc="Download page message: Temporary problem.">
        Your computer is doing too many things right now.  Try again later.
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS_VIRUS"
               desc="This file contains a virus.  We recommend not downloading it.">
        Virus detected
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_VIRUS"
               desc="Download page message: Virus.">
        Anti-virus software detected a virus.
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS_BLOCKED"
               desc="The download was blocked due to security policy.">
        Blocked
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_BLOCKED"
               desc="Download page message: The download was blocked due to security policy on this machine.">
        Security settings on your computer blocked this file.
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS_SECURITY_CHECK_FAILED"
               desc="The security check performed on this download failed unexpectedly">
        Virus scan failed
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_SECURITY_CHECK_FAILED"
               desc="Download page message: The security check performed on this download failed unexpectedly">
        Anti-virus software failed unexpectedly while scanning this file.
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS_FILE_TOO_SHORT"
              desc="A download resumption was attempted, but the file didn't exist or wasn't as large as expected">
       File truncated
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_FILE_TOO_SHORT"
              desc="Download page message: A download resumption was attempted, but the file didn't exist or wasn't as large as expected">
       Destination file was truncated or removed since last download.
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS_NETWORK_TIMEOUT"
               desc="Network Timeout.">
        Network timeout
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_NETWORK_TIMEOUT"
               desc="Download page message: Network Timeout.">
        The download was taking too long and was stopped by the network.
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS_NETWORK_DISCONNECTED"
               desc="Network Disconnected.">
        Network disconnected
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_NETWORK_DISCONNECTED"
               desc="Download page message: Network Disconnected.">
        Internet disconnected. Please check your internet connection and try again.
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS_SERVER_DOWN"
               desc="The server is down.">
        Server unavailable
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_SERVER_DOWN"
               desc="Download page message: The server is down.">
        Server unavailable.
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS_NETWORK_ERROR"
               desc="Network error.">
        Network error
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_NETWORK_ERROR"
               desc="Download page message: Network error.">
        Unknown network error.
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS_NO_FILE"
               desc="File not found on server.">
        No file
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_NO_FILE"
               desc="Download page message: File not found on server.">
        The server could not find the file.
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS_SERVER_PROBLEM"
               desc="Server problem.">
        Server problem
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_SERVER_PROBLEM"
               desc="Download page message: Server problem.">
        Unknown server error. Please try again, or contact the server administrator.
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS_SHUTDOWN"
               desc="Shutdown.">
        Shutdown
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_SHUTDOWN"
               desc="Download page message: Shutdown.">
        The browser was shut down before the download completed.
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS_CRASH"
               desc="Browser Crash.">
        Crash
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_CRASH"
               desc="Download page message: Browser Crash.">
        The browser crashed before the download completed.
      </message>

      <!-- Download Shelf Items -->
      <message name="IDS_DOWNLOAD_STATUS_STARTING"
               desc="When starting a download, let the user know we're starting the download.">
        Starting...
      </message>
      <message name="IDS_DOWNLOAD_STATUS_IN_PROGRESS"
               desc="Size and units downloaded, time remaining.">
        <ph name="DOWNLOAD_RECEIVED">$1<ex>54/154 MB</ex></ph>, <ph name="TIME_LEFT">$2<ex>5s</ex></ph>
      </message>
      <message name="IDS_DOWNLOAD_STATUS_SIZES"
               desc="Size and units downloaded.">
        <ph name="DOWNLOAD_RECEIVED">$1<ex>54kB</ex></ph>/<ph name="DOWNLOAD_TOTAL">$2<ex>154MB</ex></ph>
      </message>
      <message name="IDS_DOWNLOAD_STATUS_OPEN_IN"
               desc="Time left until the file download completes and the file is opened.">
        Opening in <ph name="TIME_REMAINING">$1<ex>5 sec</ex></ph>...
      </message>
      <message name="IDS_DOWNLOAD_STATUS_OPEN_WHEN_COMPLETE"
         desc="Status that the file download will be opened when the download completes.">
        Opening when complete
      </message>
      <message name="IDS_DOWNLOAD_STATUS_OPENING"
               desc="Temporary status shown when a user has clicked to open a downloaded file.">
        Opening <ph name="FILE">$1<ex>image.jpg</ex></ph>...
      </message>
      <message name="IDS_DOWNLOAD_STATUS_CANCELLED" desc="Text that appears under the downloaded files that have been cancelled.">
        Cancelled
      </message>
      <message name="IDS_DOWNLOAD_STATUS_REMOVED" desc="Text that appears under the downloaded files that have been removed.">
        Removed
      </message>
      <message name="IDS_DOWNLOAD_STATUS_INTERRUPTED" desc="Status text for a download item that was interrupted.">
        Failed - <ph name="INTERRUPT_REASON">$1<ex>Disk full</ex></ph>
      </message>
      <message name="IDS_DOWNLOAD_UNCONFIRMED_PREFIX" desc="The prefix used in the unconfirmed download file.">
        Unconfirmed
      </message>
      <if expr="is_android">
        <message name="IDS_PROMPT_DANGEROUS_DOWNLOAD"
                 desc="Mobile: Message shown to the user to validate the download of a dangerous file.">
          This type of file can harm your device. Do you want to keep <ph name="FILE_NAME">$1<ex>malware.exe</ex></ph> anyway?
        </message>
        <message name="IDS_PROMPT_DANGEROUS_DOWNLOAD_EXTENSION"
           desc="Mobile: Message shown to the user to validate the download of an extension file.">
          Extensions, apps, and themes can harm your device. Are you sure you want to continue?
        </message>
      </if>
      <if expr="not is_android">
        <message name="IDS_PROMPT_DANGEROUS_DOWNLOAD"
                 desc="Message shown to the user to validate the download of a dangerous file.">
          This type of file can harm your computer. Do you want to keep <ph name="FILE_NAME">$1<ex>malware.exe</ex></ph> anyway?
        </message>
        <message name="IDS_PROMPT_DANGEROUS_DOWNLOAD_EXTENSION"
           desc="Message shown to the user to validate the download of an extension file.">
          Extensions, apps, and themes can harm your computer. Are you sure you want to continue?
        </message>
      </if>
      <message name="IDS_PROMPT_UNCOMMON_DOWNLOAD_CONTENT"
         desc="Message shown to the user to validate the download when the download content is classified as uncommon by safebrowsing.">
        <ph name="FILE_NAME">$1<ex>bla.exe</ex></ph> is not commonly downloaded and could be dangerous.
      </message>
      <message name="IDS_CONFIRM_KEEP_DANGEROUS_DOWNLOAD_TITLE"
               desc="Title for the confirmation dialog asking whether the user really meant to keep a dangerous download">
        Confirm Download
      </message>
      <message name="IDS_RESTORE_KEEP_DANGEROUS_DOWNLOAD_TITLE"
               desc="Title for the confirmation dialog asking whether the user really meant to keep a dangerous download">
        Recover malware?
      </message>
      <message name="IDS_PROMPT_CONFIRM_KEEP_DANGEROUS_DOWNLOAD"
               desc="Prompt text for the confirmation dialog asking whether the user really meant to keep a dangerous download">
        This might hurt. Don't say we didn't warn you...
      </message>
      <message name="IDS_PROMPT_CONFIRM_KEEP_MALICIOUS_DOWNLOAD_LEAD"
               desc="Lead prompt text for the confirmation dialog asking whether the user really meant to keep a malicious download">
        This file will harm your computer.
      </message>
      <message name="IDS_PROMPT_CONFIRM_KEEP_MALICIOUS_DOWNLOAD_BODY"
               desc="Body prompt text for the confirmation dialog asking whether the user really meant to keep a malicious download">
Even if you have downloaded files from this website before, the website might have been hacked. Instead of recovering this file, you can retry the download later.
      </message>
      <message name="IDS_CONFIRM_DOWNLOAD_AGAIN"
               desc="Text for the button used to confirm the dialog asking whether the user really meant to keep dangerous download.">
        Keep anyway
      </message>
      <message name="IDS_CONFIRM_DOWNLOAD_AGAIN_MALICIOUS"
               desc="The text for the button used to confirm that the user DOES want to keep malware. Don't translate the English string literally; for translations, translate 'Recover anyway'">
        Hurt me plenty
      </message>
      <message name="IDS_CONFIRM_CANCEL_AGAIN_MALICIOUS"
               desc="Text for the button used to indicate that the user does NOT want to restore a malicious download.">
        Be safe
      </message>
      <message name="IDS_CONFIRM_DOWNLOAD"
               desc="Text for the button used to validate the downloading of a dangerous download.">
        Keep
      </message>
      <message name="IDS_CONFIRM_DOWNLOAD_RESTORE"
               desc="Text for the button used to validate the downloading of a dangerous download.">
        Recover malicious file
      </message>
      <message name="IDS_CONTINUE_EXTENSION_DOWNLOAD"
               desc="Text for the button used to validate the installation of an extension.">
        Continue
      </message>
      <message name="IDS_DISCARD_DOWNLOAD"
               desc="Text for the button used to stop a dangerous download.">
        Discard
      </message>
      <message name="IDS_DISMISS_DOWNLOAD"
               desc="Text for the button used to dismiss a malicious download notification.">
        Dismiss
      </message>
      <message name="IDS_REPORT_AND_DISCARD_DOWNLOAD"
               desc="Text for the button used to upload a malicious file to Google for analysis and then discard it.">
        Report &amp; Discard
      </message>
      <message name="IDS_REPORT_AND_DISMISS_DOWNLOAD"
               desc="Text for the button used to dismiss a malicious download notification and upload the file to Google for analysis.">
        Report &amp; Dismiss
      </message>

      <!-- Download Tab Items -->
      <message name="IDS_DOWNLOAD_LINK_PAUSE"
               desc="In the download view, 'Pause' link text">
        Pause
      </message>
      <message name="IDS_DOWNLOAD_SEARCH_BUTTON" desc="Title of the button in the download page that triggers a search">
        Search downloads
      </message>
      <message name="IDS_DOWNLOAD_SEARCHRESULTSFOR" desc="Format string for search results">
        Search results for '<ph name="SEARCH_STRING">$1</ph>'
      </message>
      <message name="IDS_DOWNLOAD_LINK_RESUME"
               desc="In the download view, 'Resume' link text">
        Resume
      </message>
      <message name="IDS_DOWNLOAD_LINK_REMOVE"
               desc="In the download view, 'Remove from list' link text">
        Remove from list
      </message>
      <message name="IDS_DOWNLOAD_LINK_CANCEL"
               desc="In the download view, 'Cancel' link text">
        Cancel
      </message>
      <message name="IDS_DOWNLOAD_LINK_RETRY"
               desc="In the download view, 'Retry download' link text">
        Retry download
      </message>
      <if expr="not is_macosx">
        <message name="IDS_DOWNLOAD_LINK_SHOW"
                 desc="In the download view, 'Show in folder' link text">
          Show in folder
        </message>
      </if>
      <if expr="is_macosx">
        <message name="IDS_DOWNLOAD_LINK_SHOW"
                 desc="Mac: In the download view, 'Show in Finder' link text">
          Show in Finder
        </message>
      </if>
      <message name="IDS_DOWNLOAD_TAB_CANCELLED"
               desc="Text that appears next to the downloaded files that have been cancelled">
        Cancelled
      </message>
      <message name="IDS_DOWNLOAD_FILE_REMOVED"
               desc="Text that appears next to the downloaded files that have been removed">
        Removed
      </message>
      <message name="IDS_DOWNLOAD_TAB_PROGRESS_STATUS_TIME_UNKNOWN"
               desc="The status text for a download in progress in the download manager. This includes information such as speed and received byte counts and is used when we do not know the remaining time">
        <ph name="SPEED">$1<ex>10kB/s</ex></ph> - <ph name="RECEIVED_AMOUNT">$2<ex>40kB</ex></ph>
      </message>
      <message name="IDS_DOWNLOAD_TAB_PROGRESS_STATUS"
               desc="The status text for a download in progress in the download manager. This includes information such as speed, received byte counts as well as remaining time">
        <ph name="SPEED">$1<ex>10kB/s</ex></ph> - <ph name="RECEIVED_AMOUNT">$2<ex>40kB</ex></ph>, <ph name="TIME_REMAINING">$3<ex>42 mins left</ex></ph>
      </message>
      <message name="IDS_DOWNLOAD_TAB_PROGRESS_SIZE"
               desc="Speed and received byte counts (with total)">
        <ph name="RECEIVED_AMOUNT">$1<ex>40kB</ex></ph> of <ph name="TOTAL_SIZE">$2<ex>250kB</ex></ph>
      </message>
      <message name="IDS_DOWNLOAD_PROGRESS_PAUSED"
               desc="Indicate the download is in progress but paused">
        Paused
      </message>
      <message name="IDS_DOWNLOAD_LINK_CLEAR_ALL"
         desc="Clear all downloads link">
        Clear all
      </message>
      <message name="IDS_DOWNLOAD_LINK_OPEN_DOWNLOADS_FOLDER"
               desc="Open downloads folder link">
        Open downloads folder
      </message>
      <message name="IDS_DOWNLOAD_BY_EXTENSION"
               desc="Indicates which extension downloaded this file.">
        Downloaded by <ph name="EXTENSION">$1<ex>The Best Chrome Extension Ever</ex></ph>
      </message>

      <!-- Download Context Menu Items -->
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_DOWNLOAD_MENU_OPEN_WHEN_COMPLETE"
                 desc="Download context menu: Open when download is finished">
          Open when &amp;done
        </message>
        <message name="IDS_DOWNLOAD_MENU_OPEN"
                 desc="Download context menu: Open download">
          &amp;Open
        </message>
        <message name="IDS_DOWNLOAD_MENU_ALWAYS_OPEN_TYPE"
                 desc="Download context menu: Open when download is finished">
          &amp;Always open files of this type
        </message>
        <message name="IDS_DOWNLOAD_MENU_PLATFORM_OPEN"
        desc="Download context menu: Open the download using the default handler for the platform.">
          Open with system viewer
        </message>
        <message name="IDS_DOWNLOAD_MENU_CANCEL"
                 desc="Download context menu: Cancel">
          &amp;Cancel
        </message>
        <message name="IDS_DOWNLOAD_MENU_PAUSE_ITEM"
                 desc="Download context menu: Pause download">
          &amp;Pause
        </message>
        <message name="IDS_DOWNLOAD_MENU_RESUME_ITEM"
                 desc="Download context menu: Resume download">
          &amp;Resume
        </message>
        <message name="IDS_DOWNLOAD_MENU_DISCARD"
                 desc="Download context menu: Discard malicious download">
          &amp;Discard
        </message>
        <message name="IDS_DOWNLOAD_MENU_REPORT"
                 desc="Download context menu: option to upload a malicious file to Google for analysis">
          &amp;Report to Google
        </message>
        <message name="IDS_DOWNLOAD_MENU_KEEP"
                 desc="Download context menu: Keep malicious download">
          &amp;Keep
        </message>
        <message name="IDS_DOWNLOAD_MENU_LEARN_MORE_SCANNING"
                 desc="Download context menu: Show information about download scanning">
          &amp;Learn more
        </message>
        <message name="IDS_DOWNLOAD_MENU_LEARN_MORE_INTERRUPTED"
                 desc="Download context menu: Show information about interrupted downloads">
          &amp;More information
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_DOWNLOAD_MENU_OPEN_WHEN_COMPLETE"
                 desc="In Title Case: Download context menu: Open when download is finished">
          Open When &amp;Done
        </message>
        <message name="IDS_DOWNLOAD_MENU_OPEN"
                 desc="In Title Case: Download context menu: Open download">
          &amp;Open
        </message>
        <message name="IDS_DOWNLOAD_MENU_ALWAYS_OPEN_TYPE"
                 desc="In Title Case: Download context menu: Open when download is finished">
          &amp;Always Open Files of This Type
        </message>
        <message name="IDS_DOWNLOAD_MENU_PLATFORM_OPEN"
                 desc="In Title Case: Download context menu: Open the download using the default handler for the platform.">
          Open With System Viewer
        </message>
        <message name="IDS_DOWNLOAD_MENU_CANCEL"
                 desc="In Title Case: Download context menu: Cancel">
          &amp;Cancel
        </message>
        <message name="IDS_DOWNLOAD_MENU_PAUSE_ITEM"
                 desc="In Title Case: Download context menu: Pause download">
          &amp;Pause
        </message>
        <message name="IDS_DOWNLOAD_MENU_RESUME_ITEM"
                 desc="In Title Case: Download context menu: Resume download">
          &amp;Resume
        </message>
        <message name="IDS_DOWNLOAD_MENU_DISCARD"
                 desc="In Title Case: Download context menu: Discard malicious download">
          &amp;Discard
        </message>
        <message name="IDS_DOWNLOAD_MENU_KEEP"
                 desc="In Title Case: Download context menu: Keep malicious download">
          &amp;Keep
        </message>
        <message name="IDS_DOWNLOAD_MENU_REPORT"
                 desc="In Title Case: Download context menu: option to upload a malicious file to Google for analysis">
          &amp;Report to Google
        </message>
        <message name="IDS_DOWNLOAD_MENU_LEARN_MORE_SCANNING"
                 desc="In Title Case: Download context menu: Show information about download scanning">
          &amp;Learn More
        </message>
        <message name="IDS_DOWNLOAD_MENU_LEARN_MORE_INTERRUPTED"
                 desc="In Title Case: Download context menu: Show information about interrupted downloads">
          &amp;More Information
        </message>
      </if>
      <!-- GRIT doesn't support nesting <if>...</if> blocks, so these can't -->
      <!-- go within the above titlecase checks, instead markup must use    -->
      <!-- combined tests for all cases.                                    -->
      <!-- NOTE: the last two (OSX cases) are the same English values,      -->
      <!--       but two strings are needed in case some other language     -->
      <!--       needs a difference for Title Case support.                 -->
      <if expr="not is_macosx and not pp_ifdef('use_titlecase')">
        <!-- !Mac & Sentence case -->
        <message name="IDS_DOWNLOAD_MENU_SHOW"
                 desc="Show the file in file explorer, 'Show in folder' item"
              meaning="'show in folder' on non Mac in Sentence case">
          &amp;Show in folder
        </message>
      </if>
      <if expr="not is_macosx and pp_ifdef('use_titlecase')">
        <!-- !Mac & Title Case -->
        <message name="IDS_DOWNLOAD_MENU_SHOW"
                 desc="In Title Case: Show the file in file explorer, 'Show in folder' item"
              meaning="'show in folder' on non Mac in Title Case">
          &amp;Show in Folder
        </message>
      </if>
      <if expr="is_macosx and not pp_ifdef('use_titlecase')">
        <!-- Mac & Sentence case -->
        <message name="IDS_DOWNLOAD_MENU_SHOW"
                 desc="Mac: Show the file in the Finder, 'Show in Finder' item"
              meaning="'show in Finder' on Mac in Sentence case">
          &amp;Show in Finder
        </message>
      </if>
      <if expr="is_macosx and pp_ifdef('use_titlecase')">
        <!-- Mac & Title Case -->
        <message name="IDS_DOWNLOAD_MENU_SHOW"
                 desc="In Title Case: Mac: Show the file in the Finder, 'Show in Finder' item"
              meaning="'show in Finder' on Mac in Title Case">
          &amp;Show in Finder
        </message>
      </if>

      <!-- Remove in-progress downloads confirmation dialog -->
      <message name="IDS_SINGLE_DOWNLOAD_REMOVE_CONFIRM_TITLE" desc="Title of the dialog asking for user confirmation to close the browser when one download is in progress.">
        Download in progress
      </message>
      <message name="IDS_MULTIPLE_DOWNLOADS_REMOVE_CONFIRM_TITLE" desc="Title of the dialog asking for user confirmation to close the browser when multiple downloads are in progress.">
        Downloads in progress
      </message>
      <message name="IDS_SINGLE_INCOGNITO_DOWNLOAD_REMOVE_CONFIRM_TITLE" desc="Title of the dialog asking for user confirmation to close the last incognito window when one incognito download is in progress.">
        Incognito download in progress
      </message>
      <message name="IDS_MULTIPLE_INCOGNITO_DOWNLOADS_REMOVE_CONFIRM_TITLE" desc="Title of the dialog asking for user confirmation to close the last incognito window when multiple incognito downloads are in progress.">
        Incognito downloads in progress
      </message>
      <message name="IDS_SINGLE_INCOGNITO_DOWNLOAD_REMOVE_CONFIRM_EXPLANATION" desc="Explanation of the dialog asking for user confirmation to close the last incognito window when one incognito download is in progress.">
        An incognito download is currently in progress. Do you want to exit incognito mode and cancel the download?
      </message>
      <message name="IDS_MULTIPLE_INCOGNITO_DOWNLOADS_REMOVE_CONFIRM_EXPLANATION" desc="Explanation of the dialog asking for user confirmation to close the last incognito window when multiple incognito downloads are in progress.">
        Incognito downloads are currently in progress. Do you want to exit incognito mode and cancel the downloads?
      </message>
      <message name="IDS_INCOGNITO_DOWNLOAD_REMOVE_CONFIRM_OK_BUTTON_LABEL" desc="Button text for OKing to close the last incognito window when one or more incognito downloads are in progress.">
        Yes, exit incognito mode
      </message>
      <message name="IDS_DOWNLOAD_REMOVE_CONFIRM_CANCEL_BUTTON_LABEL" desc="Button text for canceling the closing of the browser or the last incognito window when one or more downloads are in progress.">
        No
      </message>

      <!-- "Create application shortcuts" menu item -->
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_CREATE_SHORTCUTS" desc="Default installation menu label">
          Create application &amp;shortcuts...
        </message>
        <message name="IDS_CREATE_HOSTED_APP" desc="Button text for creating a hosted app from the current website">
          Create app from this website...
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_CREATE_SHORTCUTS" desc="In Title Case: Default installation menu label">
          Create Application &amp;Shortcuts...
        </message>
        <message name="IDS_CREATE_HOSTED_APP" desc="In Title Case: Button text for creating a hosted app from the current website">
          Create App from this Website...
        </message>
      </if>

      <!-- "Create application shortcuts" dialog -->
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_CREATE_SHORTCUTS_TITLE" desc="Title of the dialog to create application shortcuts for current page.">
          Create application shortcuts
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_CREATE_SHORTCUTS_TITLE" desc="In Title Case: title of the dialog to create application shortcuts for current page.">
          Create Application Shortcuts
        </message>
      </if>
      <message name="IDS_CREATE_SHORTCUTS_LABEL" desc="Contents of the main label in the create application shortcuts dialog explaining the dialog.">
        Create application shortcuts in the following places:
      </message>
      <message name="IDS_CREATE_SHORTCUTS_DESKTOP_CHKBOX" desc="Label of the checkbox to create an application shortcut on the desktop.">
        Desktop
      </message>
      <message name="IDS_CREATE_SHORTCUTS_MENU_CHKBOX" desc="Label of the checkbox to create an application shortcut in the system's applications menu.">
        Applications menu
      </message>
      <message name="IDS_CREATE_SHORTCUTS_START_MENU_CHKBOX" desc="Label of the checkbox to create an application shortcut in the start menu.">
        Start menu
      </message>
      <message name="IDS_CREATE_SHORTCUTS_QUICK_LAUNCH_BAR_CHKBOX" desc="Label of the checkbox to create an application shortcut in quick launch bar.">
        Quick launch bar
      </message>
      <if expr="is_posix and not is_macosx">
        <message name="IDS_CREATE_SHORTCUTS_ERROR_TITLE" desc="Title of the error dialog box when creating an application shortcut failed.">
          Failed to Create Application Shortcut
        </message>
      </if>
      <message name="IDS_PIN_TO_TASKBAR_CHKBOX" desc="Label of the checkbox to pin an application shortcut to taskbar.">
        Pin to Taskbar
      </message>
      <message name="IDS_CREATE_SHORTCUTS_COMMIT" desc="Title of the button to actually create the shortcuts.">
        Create
      </message>

      <!-- Content blocking strings -->
      <message name="IDS_AUTOMATIC_DOWNLOADS_TAB_LABEL" desc="Header for multiple automatic downloads page on Content Settings dialog">
        Automatic Downloads
      </message>
      <message name="IDS_AUTOMATIC_DOWNLOADS_ALLOW_RADIO" desc="A radio button in Content Settings dialog to allow all sites to download multiple files automatically.">
        Allow all sites to download multiple files automatically
      </message>
      <message name="IDS_AUTOMATIC_DOWNLOADS_ASK_RADIO" desc="A radio button in Content Settings dialog to configure multiple automatic downloads per-site.">
        Ask me when a site tries to download files automatically after the first file (recommended)
      </message>
      <message name="IDS_AUTOMATIC_DOWNLOADS_BLOCK_RADIO" desc="A radio button in Content Settings dialog to deny all sites to download multiple files automatically.">
        Do not allow any site to download multiple files automatically
      </message>
      <message name="IDS_BLOCKED_DOWNLOAD_NO_ACTION" desc="Radio button to keep blocking automatic downloads">
        Continue blocking automatic downloads of multiple files
      </message>
      <message name="IDS_BLOCKED_DOWNLOAD_UNBLOCK" desc="Radio button to unblock automatic downloads">
        Always allow <ph name="HOST">$1<ex>example.com</ex></ph> to download multiple files
      </message>
      <message name="IDS_BLOCKED_DOWNLOADS_LINK" desc="Link to downloads section of content blocking management dialog, displayed in bubble when a page tries to download files automatically.">
        Manage download settings...
      </message>
      <message name="IDS_BLOCKED_DOWNLOAD_TITLE" desc="Title for the page action when an automatic download was blocked">
        This site attempted to download multiple files automatically.
      </message>
      <message name="IDS_BLOCKED_DOWNLOADS_EXPLANATION" desc="Explanatory animated text that appears (and then disappears) in the address line when a download is blocked">
        Download blocked
      </message>
      <message name="IDS_ALLOWED_DOWNLOAD_TITLE" desc="Title for the page action when automatic downloads were allowed">
        This site downloaded multiple files automatically.
      </message>
      <message name="IDS_ALLOWED_DOWNLOAD_NO_ACTION" desc="Radio button to keep allowing automatic downloads">
        Continue allowing automatic downloads of multiple files
      </message>
      <message name="IDS_ALLOWED_DOWNLOAD_BLOCK" desc="Radio button to block automatic downloads">
        Always block multiple automatic downloads on <ph name="HOST">$1<ex>example.com</ex></ph>
      </message>

      <message name="IDS_BLOCKED_COOKIES_TITLE" desc="Tooltip and bubble info header text when a page is not allowed to write cookies or other site data.">
        This page was prevented from setting cookies.
      </message>
      <message name="IDS_ACCESSED_COOKIES_TITLE" desc="Tooltip and bubble info header text when a page wrote cookies or other site data.">
        This page set cookies.
      </message>
      <message name="IDS_BLOCKED_COOKIES_LINK" desc="Link to cookie section of content blocking management dialog, displayed in bubble when a page tries to write cookies or other site data.">
        Manage cookie blocking...
      </message>
      <message name="IDS_BLOCKED_COOKIES_INFO" desc="Info link to a dialog showing the blocked/allowed cookies, displayed in bubble when a page tries to write cookies or other site data.">
        Show cookies and other site data...
      </message>
      <message name="IDS_BLOCKED_IMAGES_TITLE" desc="Tooltip and bubble info header text when a page is not allowed to display images.">
        Images were blocked on this page.
      </message>
      <message name="IDS_BLOCKED_COOKIES_UNBLOCK" desc="Radio button choice to unblock a site from setting cookies, displayed in bubble when a page tries to set cookies.">
        Always allow <ph name="HOST">$1<ex>mail.google.com</ex></ph> to set cookies
      </message>
      <message name="IDS_BLOCKED_IMAGES_UNBLOCK" desc="Radio button choice to unblock a site from showing images, displayed in bubble when a page tries to display images.">
        Always allow <ph name="HOST">$1<ex>mail.google.com</ex></ph> to show images
      </message>
      <message name="IDS_BLOCKED_COOKIES_NO_ACTION" desc="Radio button choice to continue blocking a site from setting cookies, displayed in bubble when a page tries to set cookies.">
        Continue blocking cookies
      </message>
      <message name="IDS_BLOCKED_IMAGES_NO_ACTION" desc="Radio button choice to continue blocking a site from showing images, displayed in bubble when a page tries to display images.">
        Continue blocking images
      </message>
      <message name="IDS_BLOCKED_IMAGES_LINK" desc="Link to images section of content blocking management dialog, displayed in bubble when a page tries to display images.">
        Manage image blocking...
      </message>
      <message name="IDS_BLOCKED_POPUPS_TOOLTIP" desc="Tooltip text when a page is not allowed to display popups.">
        Pop-ups were blocked on this page.
      </message>
      <message name="IDS_BLOCKED_POPUPS_TITLE" desc="Bubble info header text when a page is not allowed to display popups.  This appears above a list of popup titles.">
        The following pop-ups were blocked on this page:
      </message>
      <message name="IDS_BLOCKED_POPUPS_UNBLOCK" desc="Radio button choice to unblock a site from showing popups, displayed in bubble when a page tries to display popups.">
        Always allow pop-ups from <ph name="HOST">$1<ex>mail.google.com</ex></ph>
      </message>
      <message name="IDS_BLOCKED_POPUPS_NO_ACTION" desc="Radio button choice to continue blocking a site from showing popups, displayed in bubble when a page tries to display popups.">
        Continue blocking pop-ups
      </message>
      <message name="IDS_BLOCKED_POPUPS_LINK" desc="Link to popups section of content blocking management dialog, displayed in bubble when a page tries to display popups.">
        Manage pop-up blocking...
      </message>
      <message name="IDS_BLOCKED_MEDIASTREAM_MIC_AND_CAMERA_ALLOW" desc="Radio button choice to allow a site to access microphone and camera, displayed in bubble when a page tries to access microphone and camera.">
        Always allow <ph name="HOST">$1<ex>mail.google.com</ex></ph> to access your camera and microphone
      </message>
      <message name="IDS_BLOCKED_MEDIASTREAM_MIC_ALLOW" desc="Radio button choice to allow a site to access microphone, displayed in bubble when a page tries to access microphone.">
        Always allow <ph name="HOST">$1<ex>mail.google.com</ex></ph> to access your microphone
      </message>
      <message name="IDS_BLOCKED_MEDIASTREAM_CAMERA_ALLOW" desc="Radio button choice to allow a site to access camera, displayed in bubble when a page tries to access camera.">
        Always allow <ph name="HOST">$1<ex>mail.google.com</ex></ph> to access your camera
      </message>
      <message name="IDS_BLOCKED_MEDIASTREAM_MIC_AND_CAMERA_ASK" desc="Radio button choice to ask the user for permission when a site tries to access microphone and camera, displayed in bubble when a page was blocked from accessing microphone and camera.">
        Ask if <ph name="HOST">$1<ex>mail.google.com</ex></ph> wants to access your camera and microphone
      </message>
      <message name="IDS_BLOCKED_MEDIASTREAM_MIC_ASK" desc="Radio button choice to ask the user for permission when a site tries to access microphone, displayed in bubble when a page was blocked from accessing microphone.">
        Ask if <ph name="HOST">$1<ex>mail.google.com</ex></ph> wants to access your microphone
      </message>
      <message name="IDS_BLOCKED_MEDIASTREAM_CAMERA_ASK" desc="Radio button choice to ask the user for permission when a site tries to access camera, displayed in bubble when a page was blocked from accessing camera.">
        Ask if <ph name="HOST">$1<ex>mail.google.com</ex></ph> wants to access your camera
      </message>
      <message name="IDS_ALLOWED_MEDIASTREAM_MIC_AND_CAMERA_BLOCK" desc="Radio button choice to block a site to access microphone and camera, displayed in bubble when a page is accessing microphone and camera.">
        Always block camera and microphone access
      </message>
      <message name="IDS_ALLOWED_MEDIASTREAM_MIC_BLOCK" desc="Radio button choice to block a site to access microphone, displayed in bubble when a page is accessing microphone.">
        Always block microphone access
      </message>
      <message name="IDS_ALLOWED_MEDIASTREAM_CAMERA_BLOCK" desc="Radio button choice to block a site to access camera, displayed in bubble when a page is accessing camera.">
        Always block camera access
      </message>
      <message name="IDS_BLOCKED_MEDIASTREAM_MIC_AND_CAMERA_NO_ACTION" desc="Radio button choice to block a site to access microphone and camera, displayed in bubble when a page was blocked from accesssing microphone and camera.">
        Continue blocking camera and microphone access
      </message>
      <message name="IDS_BLOCKED_MEDIASTREAM_MIC_NO_ACTION" desc="Radio button choice to block a site to access microphone, displayed in bubble when a page was blocked from accesssing microphone.">
        Continue blocking microphone access
      </message>
      <message name="IDS_BLOCKED_MEDIASTREAM_CAMERA_NO_ACTION" desc="Radio button choice to block a site to access camera, displayed in bubble when a page was blocked from accesssing camera.">
        Continue blocking camera access
      </message>
      <message name="IDS_ALLOWED_MEDIASTREAM_MIC_AND_CAMERA_NO_ACTION" desc="Radio button choice to allow a site to access microphone and camera, displayed in bubble when a page is accessing microphone and camera.">
        Continue allowing <ph name="HOST">$1<ex>mail.google.com</ex></ph> to access your camera and microphone
      </message>
      <message name="IDS_ALLOWED_MEDIASTREAM_MIC_NO_ACTION" desc="Radio button choice to allow a site to access microphone, displayed in bubble when a page is accessing microphone.">
        Continue allowing <ph name="HOST">$1<ex>mail.google.com</ex></ph> to access your microphone
      </message>
      <message name="IDS_ALLOWED_MEDIASTREAM_CAMERA_NO_ACTION" desc="Radio button choice to allow a site to access camera, displayed in bubble when a page is accessing camera.">
        Continue allowing <ph name="HOST">$1<ex>mail.google.com</ex></ph> to access your camera
      </message>
      <message name="IDS_BLOCKED_POPUPS_EXPLANATORY_TEXT" desc="Explanatory animated text that appears (and then disappears) in the address line when popup is blocked">
        Pop-up blocked
      </message>
      <message name="IDS_BLOCKED_JAVASCRIPT_TITLE" desc="Tooltip and bubble info header text when a page is not allowed to run JavaScript.">
        JavaScript was blocked on this page.
      </message>
      <message name="IDS_BLOCKED_JAVASCRIPT_UNBLOCK" desc="Radio button choice to unblock a site from running JavaScript, displayed in bubble when a page tries to run JavaScript.">
        Always allow JavaScript on <ph name="HOST">$1<ex>mail.google.com</ex></ph>
      </message>
      <message name="IDS_BLOCKED_JAVASCRIPT_NO_ACTION" desc="Radio button choice to continue blocking a site from running JavaScript, displayed in bubble when a page tries to run JavaScript.">
        Continue blocking JavaScript
      </message>
      <message name="IDS_BLOCKED_JAVASCRIPT_LINK" desc="Link to JavaScript section of content blocking management dialog, displayed in bubble when a page tries to run JavaScript.">
        Manage JavaScript blocking...
      </message>
      <message name="IDS_BLOCKED_PLUGINS_TITLE" desc="Bubble info header text when a page is not allowed to display plug-ins.">
        The following plug-ins were blocked on this page:
      </message>
      <message name="IDS_BLOCKED_PLUGINS_MESSAGE" desc="Tooltip and message when a page is not allowed to display plug-ins.">
        Plug-ins were blocked on this page.
      </message>
      <message name="IDS_BLOCKED_PLUGINS_UNBLOCK_ALL" desc="Radio button choice to unblock a site from using plug-ins, displayed in bubble when a page tries to use plug-ins.">
        Always allow plug-ins on <ph name="HOST">$1<ex>mail.google.com</ex></ph>
      </message>
      <message name="IDS_BLOCKED_PLUGINS_UNBLOCK" desc="Radio button choice to unblock a site from using *a specific set* of plug-ins, displayed in bubble when a page tries to use plug-ins.">
        Always allow these plug-ins on <ph name="HOST">$1<ex>mail.google.com</ex></ph>
      </message>
      <message name="IDS_BLOCKED_PLUGINS_NO_ACTION" desc="Radio button choice to continue blocking a site from using plug-ins, displayed in bubble when a page tries to use plug-ins.">
        Continue blocking plug-ins
      </message>
      <message name="IDS_BLOCKED_PLUGINS_LINK" desc="Link to plug-ins section of content blocking management dialog, displayed in bubble when a page tries to display plug-ins.">
        Manage plug-in blocking...
      </message>
      <message name="IDS_BLOCKED_PLUGINS_LOAD_ALL" desc="Button to load all blocked plugins on a page, displayed in bubble when a page tries to display plug-ins.">
        Run all plug-ins this time
      </message>

      <!-- Certificate error strings -->
      <message name="IDS_CERT_ERROR_EXTRA_INFO_TITLE" desc="The title for the extra information section displayed when a page contains a certificate error">
        Help me understand
      </message>
      <if expr="is_android or is_ios">
        <message name="IDS_CERT_ERROR_EXTRA_INFO_1" desc="Mobile: 1st paragraph of extra information for any certificate error">
          When you connect to a secure website, the server hosting that site presents your browser with something called a "certificate" to verify its identity. This certificate contains identity information, such as the address of the website, which is verified by a third party that your device trusts. By checking that the address in the certificate matches the address of the website, it is possible to verify that you are securely communicating with the website you intended, and not a third party (such as an attacker on your network).
        </message>
      </if>
      <if expr="not is_android and not is_ios">
        <message name="IDS_CERT_ERROR_EXTRA_INFO_1" desc="1st paragraph of extra information for any certificate error">
          When you connect to a secure website, the server hosting that site presents your browser with something called a "certificate" to verify its identity. This certificate contains identity information, such as the address of the website, which is verified by a third party that your computer trusts. By checking that the address in the certificate matches the address of the website, it is possible to verify that you are securely communicating with the website you intended, and not a third party (such as an attacker on your network).
        </message>
      </if>
      <message name="IDS_CERT_ERROR_COMMON_NAME_INVALID_TITLE" desc="Title for an unsafe common name in an X509 certificate">
        This is probably not the site you are looking for!
      </message>
      <message name="IDS_CERT_ERROR_COMMON_NAME_INVALID_DETAILS" desc="Details for an unsafe common name in an X509 certificate">
        You attempted to reach <ph name="DOMAIN">&lt;strong&gt;$1<ex>paypal.com</ex>&lt;/strong&gt;</ph>, but instead you actually reached a server identifying itself as <ph name="DOMAIN2">&lt;strong&gt;$2<ex>fakepaypal.com</ex>&lt;/strong&gt;</ph>. This may be caused by a misconfiguration on the server or by something more serious. An attacker on your network could be trying to get you to visit a fake (and potentially harmful) version of <ph name="DOMAIN3">&lt;strong&gt;$3<ex>paypal.com</ex>&lt;/strong&gt;</ph>.
      </message>
      <message name="IDS_CERT_ERROR_COMMON_NAME_INVALID_DESCRIPTION" desc="Description for an unsafe common name in an X509 certificate">
        Server's certificate does not match the URL.
      </message>

      <message name="IDS_CERT_ERROR_EXPIRED_TITLE" desc="Title for an expired X509 certificate">
        The site's security certificate has expired!
      </message>
      <message name="IDS_CERT_ERROR_EXPIRED_DETAILS_EXTRA_INFO_2" desc="2nd paragraph of extra information for an expired X509 certificate">
        For a certificate which has not expired, the issuer of that certificate is responsible for maintaining something called a "revocation list". If a certificate is ever compromised, the issuer can revoke it by adding it to the revocation list, and then this certificate will no longer be trusted by your browser. Revocation status is not required to be maintained for expired certificates, so while this certificate used to be valid for the website you're visiting, at this point it is not possible to determine whether the certificate was compromised and subsequently revoked, or whether it remains secure. As such it is impossible to tell whether you're communicating with the legitimate website, or whether the certificate was compromised and is now in the possession of an attacker with whom you are communicating.
      </message>
      <message name="IDS_CERT_ERROR_EXPIRED_DESCRIPTION" desc="Description for an expired X509 certificate">
        Server's certificate has expired.
      </message>

      <message name="IDS_CERT_ERROR_NOT_YET_VALID_TITLE" desc="Title for an X509 certificate that is not yet valid">
        The server's security certificate is not yet valid!
      </message>
      <message name="IDS_CERT_ERROR_NOT_YET_VALID_DETAILS_EXTRA_INFO_2" desc="2nd paragraph of extra information for a X509 certificate that is not yet valid">
        Certificates have a validity period, much like any identity document (such as a passport) that you may have. The certificate presented to your browser is not yet valid. When a certificate is outside of its validity period, certain information about the status of the certificate (whether it has been revoked and should no longer be trusted) is not required to be maintained. As such, it is not possible to verify that this certificate is trustworthy. You should not proceed.
      </message>
      <message name="IDS_CERT_ERROR_NOT_YET_VALID_DESCRIPTION" desc="Description for an X509 certificate that is not yet valid">
        Server's certificate is not yet valid.
      </message>

      <message name="IDS_CERT_ERROR_AUTHORITY_INVALID_TITLE" desc="Title for an X509 certificate with an invalid authority">
        The site's security certificate is not trusted!
      </message>
      <if expr="is_android or is_ios">
        <message name="IDS_CERT_ERROR_AUTHORITY_INVALID_EXTRA_INFO_2" desc="Mobile: 2nd paragraph of extra information for a X509 certificate with an invalid authority">
          In this case, the certificate has not been verified by a third party that your device trusts. Anyone can create a certificate claiming to be whatever website they choose, which is why it must be verified by a trusted third party. Without that verification, the identity information in the certificate is meaningless. It is therefore not possible to verify that you are communicating with <ph name="DOMAIN">&lt;strong&gt;$1<ex>paypal.com</ex>&lt;/strong&gt;</ph> instead of an attacker who generated his own certificate claiming to be <ph name="DOMAIN2">&lt;strong&gt;$2<ex>paypal.com</ex>&lt;/strong&gt;</ph>. You should not proceed past this point.
        </message>
      </if>
      <if expr="is_android">
        <message name="IDS_CERT_ERROR_AUTHORITY_INVALID_EXTRA_INFO_3" desc="Mobile: 3rd paragraph of extra information for a X509 certificate with an invalid authority">
          If, however, you work in an organization that generates its own certificates, and you are trying to connect to an internal website of that organization using such a certificate, you may be able to solve this problem securely. You can import your organization's root certificate as a "root certificate", and then certificates issued or verified by your organization will be trusted and you will not see this error next time you try to connect to an internal website. Contact your organization's help staff for assistance in adding a new root certificate to your device.
        </message>
      </if>
      <if expr="not is_android and not is_ios">
        <message name="IDS_CERT_ERROR_AUTHORITY_INVALID_EXTRA_INFO_2" desc="2nd paragraph of extra information for a X509 certificate with an invalid authority">
          In this case, the certificate has not been verified by a third party that your computer trusts. Anyone can create a certificate claiming to be whatever website they choose, which is why it must be verified by a trusted third party. Without that verification, the identity information in the certificate is meaningless. It is therefore not possible to verify that you are communicating with <ph name="DOMAIN">&lt;strong&gt;$1<ex>paypal.com</ex>&lt;/strong&gt;</ph> instead of an attacker who generated his own certificate claiming to be <ph name="DOMAIN2">&lt;strong&gt;$2<ex>paypal.com</ex>&lt;/strong&gt;</ph>. You should not proceed past this point.
        </message>
        <message name="IDS_CERT_ERROR_AUTHORITY_INVALID_EXTRA_INFO_3" desc="3rd paragraph of extra information for a X509 certificate with an invalid authority">
          If, however, you work in an organization that generates its own certificates, and you are trying to connect to an internal website of that organization using such a certificate, you may be able to solve this problem securely. You can import your organization's root certificate as a "root certificate", and then certificates issued or verified by your organization will be trusted and you will not see this error next time you try to connect to an internal website. Contact your organization's help staff for assistance in adding a new root certificate to your computer.
        </message>
      </if>
      <message name="IDS_CERT_ERROR_AUTHORITY_INVALID_DESCRIPTION" desc="Description for an X509 certificate with an invalid authority">
        Server's certificate is not trusted.
      </message>

      <message name="IDS_CERT_ERROR_CONTAINS_ERRORS_TITLE" desc="Title of the error page for an X509 certificate that contains errors">
        The server's security certificate has errors!
      </message>
      <message name="IDS_CERT_ERROR_CONTAINS_ERRORS_EXTRA_INFO_2" desc="2nd paragraph of extra information for a X509 certificate that contains errors">
        In this case, the certificate presented to your browser has errors and cannot be understood. This may mean that we cannot understand the identity information within the certificate, or certain other information in the certificate used to secure the connection. You should not proceed.
      </message>
      <message name="IDS_CERT_ERROR_CONTAINS_ERRORS_DESCRIPTION" desc="Description of the error page for an X509 certificate that contains errors">
        Server's certificate contains errors.
      </message>

      <message name="IDS_CERT_ERROR_UNABLE_TO_CHECK_REVOCATION_TITLE" desc="Title for being unable to check revocation status of an X509 certificate">
        Failed to check revocation.
      </message>
      <message name="IDS_CERT_ERROR_UNABLE_TO_CHECK_REVOCATION_DETAILS" desc="Details for being unable to check revocation status of an X509 certificate">
        Unable to check whether the server's certificate was revoked.
      </message>
      <message name="IDS_CERT_ERROR_UNABLE_TO_CHECK_REVOCATION_DESCRIPTION" desc="Description for being unable to check revocation status of an X509 certificate">
        Server's certificate cannot be checked.
      </message>

      <message name="IDS_CERT_ERROR_NO_REVOCATION_MECHANISM_TITLE" desc="Title for not finding a revocation mechanism in an X509 certificate">
        No revocation mechanism found.
      </message>
      <message name="IDS_CERT_ERROR_NO_REVOCATION_MECHANISM_DETAILS" desc="Details for not finding a revocation mechanism in an X509 certificate">
        No revocation mechanism found in the server's certificate.
      </message>
      <message name="IDS_CERT_ERROR_NO_REVOCATION_MECHANISM_DESCRIPTION" desc="Description for not finding a revocation mechanism in an X509 certificate">
        No revocation mechanism found.
      </message>

      <message name="IDS_CERT_ERROR_REVOKED_CERT_TITLE" desc="Title of the error page for a revoked certificate">
        The server's security certificate is revoked!
      </message>
      <message name="IDS_CERT_ERROR_REVOKED_CERT_DETAILS" desc="Details of the error page for a revoked certificate">
        You attempted to reach <ph name="DOMAIN">&lt;strong&gt;$1<ex>paypal.com</ex>&lt;/strong&gt;</ph>, but the certificate that the server presented has been revoked by its issuer. This means that the security credentials the server presented absolutely should not be trusted. You may be communicating with an attacker.
      </message>
      <message name="IDS_CERT_ERROR_REVOKED_CERT_EXTRA_INFO_2" desc="2nd paragraph of extra information for a revoked X509 certificate">
        In this case, the certificate presented to your browser has been revoked by its issuer. This usually means that the integrity of this certificate has been compromised, and that the certificate should not be trusted.
      </message>
      <message name="IDS_CERT_ERROR_REVOKED_CERT_DESCRIPTION" desc="Description of the error page for a revoked certificate">
        Server's certificate has been revoked.
      </message>

      <message name="IDS_CERT_ERROR_INVALID_CERT_TITLE" desc="Title of the error page for an X509 certificate that is invalid">
        Invalid Server Certificate
      </message>
      <message name="IDS_CERT_ERROR_INVALID_CERT_DETAILS" desc="Details of the error page for an X509 certificate that is invalid">
        You attempted to reach <ph name="DOMAIN">&lt;strong&gt;$1<ex>paypal.com</ex>&lt;/strong&gt;</ph>, but the server presented an invalid certificate.
      </message>
      <message name="IDS_CERT_ERROR_INVALID_CERT_EXTRA_INFO_2" desc="2nd paragraph of extra information for an X509 certificate that is invalid">
        In this case, the server certificate or an intermediate CA certificate presented to your browser is invalid. This may mean that the certificate is malformed, contains invalid fields, or is not supported.
      </message>
      <message name="IDS_CERT_ERROR_INVALID_CERT_DESCRIPTION" desc="Description of the error page for an X509 certificate that is invalid">
        Server's certificate is invalid.
      </message>

      <message name="IDS_CERT_ERROR_WEAK_SIGNATURE_ALGORITHM_TITLE" desc="Title of the error page for a certificate signed using a weak signature algorithm">
        The site's security certificate is signed using a weak signature algorithm!
      </message>
      <message name="IDS_CERT_ERROR_WEAK_SIGNATURE_ALGORITHM_DETAILS" desc="Details of the error page for a certificate signed using a weak signature algorithm">
        You attempted to reach <ph name="DOMAIN">&lt;strong&gt;$1<ex>paypal.com</ex>&lt;/strong&gt;</ph>, but the server presented a certificate signed using a weak signature algorithm. This means that the security credentials the server presented could have been forged, and the server may not be the server you expected (you may be communicating with an attacker).
      </message>
      <message name="IDS_CERT_ERROR_WEAK_SIGNATURE_ALGORITHM_EXTRA_INFO_2" desc="2nd paragraph of extra information for a X509 certificate signed using a weak signature algorithm">
        In this case, the server certificate or an intermediate CA certificate presented to your browser is signed using a weak signature algorithm such as RSA-MD2. Recent research by computer scientists showed the signature algorithm is weaker than previously believed, and the signature algorithm is rarely used by trustworthy websites today. This certificate could have been forged.
      </message>
      <message name="IDS_CERT_ERROR_WEAK_SIGNATURE_ALGORITHM_DESCRIPTION" desc="Description of the error page for a certificate signed using a weak signature algorithm">
        Server's certificate is signed using a weak signature algorithm.
      </message>

      <message name="IDS_CERT_ERROR_WEAK_KEY_TITLE" desc="Title of the error page for a certificate containing a weak key">
        The server certificate contains a weak cryptographic key!
      </message>
      <message name="IDS_CERT_ERROR_WEAK_KEY_DETAILS" desc="Details of the error page for a certificate containing a weak key">
        You attempted to reach <ph name="DOMAIN">&lt;strong&gt;$1<ex>paypal.com</ex>&lt;/strong&gt;</ph>, but the server presented a certificate containing a weak key. An attacker could have broken the private key, and the server may not be the server you expected (you may be communicating with an attacker).
      </message>
      <message name="IDS_CERT_ERROR_WEAK_KEY_EXTRA_INFO_2" desc="2nd paragraph of extra information for a X509 certificate that contains a weak key">
        In this case, the server certificate or an intermediate CA certificate presented to your browser contains a weak key, such as an RSA key of less than 1024 bits. Because it is relatively easy to derive the corresponding private key for a weak public key, an attacker could forge the identity of the true server.
      </message>
      <message name="IDS_CERT_ERROR_WEAK_KEY_DESCRIPTION" desc="Description of the error page for a certificate containing a weak key">
        The server certificate contains a weak cryptographic key.
      </message>

      <message name="IDS_CERT_ERROR_NAME_CONSTRAINT_VIOLATION_TITLE" desc="Title of the error page for a certificate that contains a name outside of its scope">
        The server certificate contains a domain name that shouldn't be there.
      </message>
      <message name="IDS_CERT_ERROR_NAME_CONSTRAINT_VIOLATION_DETAILS" desc="Details of the error page for a certificate that contains a name outside of its scope">
        You attempted to reach <ph name="DOMAIN">&lt;strong&gt;$1<ex>paypal.com</ex>&lt;/strong&gt;</ph>, but the server presented an invalid certificate. The authority who created the certificate is not allowed to speak on behalf of some websites. One of those websites is mentioned in the certificate, even though it shouldn't be.
      </message>
      <message name="IDS_CERT_ERROR_NAME_CONSTRAINT_VIOLATION_DESCRIPTION" desc="Description of the error page for a certificate that contains a name outside of its scope">
        Server's certificate violates name constraints.
      </message>

      <message name="IDS_CERT_ERROR_UNKNOWN_ERROR_TITLE" desc="Title of the error page for an unknown ssl error">
        Unknown server certificate error
      </message>
      <message name="IDS_CERT_ERROR_UNKNOWN_ERROR_DETAILS" desc="Details of the error page for an unknown ssl error">
        An unknown error has occurred.
      </message>
      <message name="IDS_CERT_ERROR_UNKNOWN_ERROR_DESCRIPTION" desc="Description of the error page for an unknown ssl error">
        Unknown server certificate error.
      </message>

      <!-- Administrator-provided certificate notifications -->
      <message name="IDS_CERT_POLICY_PROVIDED_CERT_HEADER" desc="Text that is displayed in the header of the Website Settings popup when using an administrator-provided certificate">
        Using an administrator-provided certificate
      </message>
      <message name="IDS_CERT_POLICY_PROVIDED_CERT_MESSAGE" desc="Text that is displayed in the Website Settings popup when using an administrator-provided certificate">
        You have accessed content using an administrator-provided certificate. Data you provide to <ph name="DOMAIN">$1<ex>www.google.com</ex></ph> can be intercepted by your administrator.
      </message>

      <!-- Win certificate selector dialog strings.  -->
      <message name="IDS_CERT_SELECTOR_TABLE_CERT_FORMAT" desc="Format for a certificate row in the certificate selector table.">
        <ph name="SUBJECT">$1<ex>FOAF ME Cert http://foaf.me/test</ex></ph> (<ph name="ISSUER">$2<ex>FOAF.ME</ex></ph>)
      </message>


      <!-- Certificate selector dialog strings.  These are only used on platforms that don't have a native certificate selection dialog, such as Linux. -->
      <message name="IDS_CERT_SELECTOR_SITE_DESCRIPTION_LABEL" desc="Text in the certificate selection dialog before the site">
        This site has requested that you identify yourself with a certificate:
      </message>
      <message name="IDS_CERT_SELECTOR_CHOOSE_DESCRIPTION_LABEL" desc="Text in the certificate selection dialog describing the certificate selector combobox and certificate details">
        Choose a certificate to present as identification:
      </message>
      <message name="IDS_CERT_SELECTOR_DETAILS_DESCRIPTION_LABEL" desc="Text in the certificate selection dialog in the 'choose a certificate' section describing the certificate details">
        Details of selected certificate:
      </message>
      <message name="IDS_CERT_SELECTOR_CERT_EXPIRED" desc="In the certificate selection dialog's combobox for choosing certificates, this text will be appended to any of the user's certs which are expired.">
        (expired)
      </message>
      <message name="IDS_CERT_SELECTOR_CERT_NOT_YET_VALID" desc="In the certificate selection dialog's combobox for choosing certificates, this text will be appended to any of the user's certs which are not yet valid.">
        (not yet valid)
      </message>
      <message name="IDS_CERT_SUBJECTNAME_FORMAT" desc="Format for detailed certificate subject in certificate details">
        Issued to: <ph name="NAME">$1<ex>CN=VeriSign Browser Certificate,OU=Device Identifier - r1923847</ex></ph>
      </message>
      <message name="IDS_CERT_ISSUERNAME_FORMAT" desc="Format for detailed certificate issuer in certificate details">
        Issued by: <ph name="NAME">$1<ex>CN=VeriSign Device CA,O="VeriSign, Inc.",C=US</ex></ph>
      </message>
      <message name="IDS_CERT_VALIDITY_RANGE_FORMAT" desc="Format for showing the range of dates a certificate is valid in the certificate details">
        Valid from <ph name="START_DATE_TIME">$1<ex>7/2/09 7:18:34 PM</ex></ph> to <ph name="END_DATE_TIME">$2<ex>7/2/10 7:28:34 PM</ex></ph>
      </message>
      <message name="IDS_CERT_X509_EXTENDED_KEY_USAGE_FORMAT" desc="Format for showing the usages a certificate is valid for in the certificate details">
        Purposes: <ph name="USAGES">$1<ex>SSL Client Certificate,Email Signer Certificate</ex></ph>
      </message>
      <message name="IDS_CERT_X509_KEY_USAGE_FORMAT" desc="Format for showing the key usages a certificate is valid for in the certificate details">
        Certificate Key Usage: <ph name="USAGES">$1<ex>Signing,Key Encipherment</ex></ph>
      </message>
      <message name="IDS_CERT_EMAIL_ADDRESSES_FORMAT" desc="Format for showing the email address(es) a certificate is associated with in the certificate details">
        Email: <ph name="EMAIL_ADDRESSES">$1<ex>foo@example.com</ex></ph>
      </message>
      <message name="IDS_CERT_TOKEN_FORMAT" desc="Format for showing the location a certificate is stored">
        Stored in: <ph name="CERT_LOCATION">$1<ex>NSS Certificate Database</ex></ph>
      </message>


      <!-- Certificate viewer dialog strings.  These are only used on platforms that don't have a native certificate info dialog, such as Linux. -->
      <message name="IDS_CERT_INFO_DIALOG_TITLE" desc="Title of dialog displaying info about a certificate">
        Certificate Viewer: <ph name="CERTIFICATE_NAME">$1<ex>www.google.com</ex></ph>
      </message>
      <message name="IDS_CERT_INFO_GENERAL_TAB_LABEL" desc="Title of the notebook page displaying the basic info about the certificate">
        &amp;General
      </message>
      <message name="IDS_CERT_INFO_DETAILS_TAB_LABEL" desc="Title of the notebook page displaying the details about the certificate">
        &amp;Details
      </message>
      <message name="IDS_CERT_INFO_VERIFIED_USAGES_GROUP" desc="The label of the group in the general page of the certificate info dialog which lists the usages that the certificate is verified for">
        This certificate has been verified for the following usages:
      </message>
      <message name="IDS_CERT_USAGE_SSL_CLIENT" desc="The description of a certificate that is verified for use as an SSL client">
        SSL Client Certificate
      </message>
      <message name="IDS_CERT_USAGE_SSL_SERVER" desc="The description of a certificate that is verified for use as an SSL server">
        SSL Server Certificate
      </message>
      <message name="IDS_CERT_USAGE_SSL_SERVER_WITH_STEPUP" desc="The description of a certificate that is verified for use as an SSL server with step up">
        SSL Server with Step-up
      </message>
      <message name="IDS_CERT_USAGE_EMAIL_SIGNER" desc="The description of a certificate that is verified for signing emails">
        Email Signer Certificate
      </message>
      <message name="IDS_CERT_USAGE_EMAIL_RECEIVER" desc="The description of a
        certificate that is verified for encrypting email">
        Email Encryption Certificate
      </message>
      <message name="IDS_CERT_USAGE_OBJECT_SIGNER" desc="The description of a certificate that is verified for signing executable code">
        Code Signer
      </message>
      <message name="IDS_CERT_USAGE_SSL_CA" desc="The description of a certificate that is verified for use by an SSL certification authority">
        SSL Certification Authority
      </message>
      <message name="IDS_CERT_USAGE_STATUS_RESPONDER" desc="The description of a certificate that is verified for use as a status responder">
        Status Responder Certificate
      </message>
      <message name="IDS_CERT_INFO_SUBJECT_GROUP" desc="The label of the Issued To group in the general page of the certificate info dialog">
        Issued To
      </message>
      <message name="IDS_CERT_INFO_ISSUER_GROUP" desc="The label of the Issued By group in the general page of the certificate info dialog">
        Issued By
      </message>
      <message name="IDS_CERT_INFO_COMMON_NAME_LABEL" desc="The label of the Common Name field in the general page of the certificate info dialog.  (CN) is the name of this field in the standard">
        Common Name (CN)
      </message>
      <message name="IDS_CERT_INFO_IDN_VALUE_FORMAT" desc="The format of values for Common Name and SubjectAltName fields in the certificate info dialog when a name is an Internationalized Domain Name (eg, παράδειγμα.δοκιμή).">
        <ph name="ASCII_NAME">$1<ex>xn--hxajbheg2az3al.xn--jxalpdlp</ex></ph> (<ph name="UNICODE_NAME">$2<ex>see desc; only ASCII allowed in ph.</ex></ph>)
      </message>
      <message name="IDS_CERT_INFO_ORGANIZATION_LABEL" desc="The label of the Organization field in the general page of the certificate info dialog.  (O) is the name of this field in the standard">
        Organization (O)
      </message>
      <message name="IDS_CERT_INFO_ORGANIZATIONAL_UNIT_LABEL" desc="The label of the Organizational Unit field in the general page of the certificate info dialog.  (OU) is the name of this field in the standard">
        Organizational Unit (OU)
      </message>
      <message name="IDS_CERT_INFO_SERIAL_NUMBER_LABEL" desc="The label of the Serial Number field in the general page of the certificate info dialog.">
        Serial Number
      </message>
      <message name="IDS_CERT_INFO_VALIDITY_GROUP" desc="The label of the group showing the validity (issued and expired dates) in the general page of the certificate info dialog">
        Validity Period
      </message>
      <message name="IDS_CERT_INFO_ISSUED_ON_LABEL" desc="The label of the Issued On field in the general page of the certificate info dialog">
        Issued On
      </message>
      <message name="IDS_CERT_INFO_EXPIRES_ON_LABEL" desc="The label of the Issued On field in the general page of the certificate info dialog">
        Expires On
      </message>
      <message name="IDS_CERT_INFO_FINGERPRINTS_GROUP" desc="The label of the group showing the certificate fingerprints in the general page of the certificate info dialog">
        Fingerprints
      </message>
      <message name="IDS_CERT_INFO_SHA256_FINGERPRINT_LABEL" desc="The label of the SHA-256 Fingerprint field in the general page of the certificate info dialog">
        SHA-256 Fingerprint
      </message>
      <message name="IDS_CERT_INFO_SHA1_FINGERPRINT_LABEL" desc="The label of the SHA-1 Fingerprint field in the general page of the certificate info dialog">
        SHA-1 Fingerprint
      </message>
      <message name="IDS_CERT_INFO_FIELD_NOT_PRESENT" desc="The text displayed in the certificate info dialog for a given field when the certificate does not contain that field">
        &lt;Not Part Of Certificate&gt;
      </message>

      <message name="IDS_CERT_DETAILS_CERTIFICATE_HIERARCHY_LABEL" desc="The label of the Certificate Hierarchy tree in the details page of the certificate info dialog.">
        Certificate Hierarchy
      </message>
      <message name="IDS_CERT_DETAILS_CERTIFICATE_FIELDS_LABEL" desc="The label of the Certificate Fields tree in the details page of the certificate info dialog.">
        Certificate Fields
      </message>
      <message name="IDS_CERT_DETAILS_CERTIFICATE_FIELD_VALUE_LABEL" desc="The label of the Certificate Field Value text in the details page of the certificate info dialog.">
        Field Value
      </message>
      <message name="IDS_CERT_DETAILS_CERTIFICATE" desc="The label of the Certificate element in the details page of the certificate info dialog.">
        Certificate
      </message>
      <message name="IDS_CERT_DETAILS_VERSION" desc="The label of the Version element in the details page of the certificate info dialog.">
        Version
      </message>
      <message name="IDS_CERT_DETAILS_VERSION_FORMAT" desc="The format of the Version field value in the details page of the certificate info dialog.">
        Version <ph name="NUMBER">$1<ex>3</ex></ph>
      </message>
      <message name="IDS_CERT_DETAILS_SERIAL_NUMBER" desc="The label of the Serial Number element in the details page of the certificate info dialog.">
        Serial Number
      </message>
      <message name="IDS_CERT_DETAILS_CERTIFICATE_SIG_ALG" desc="The label of the Certificate Signature Algorithm element in the details page of the certificate info dialog.">
        Certificate Signature Algorithm
      </message>
      <message name="IDS_CERT_DETAILS_ISSUER" desc="The label of the Issuer element in the details page of the certificate info dialog.">
        Issuer
      </message>
      <message name="IDS_CERT_DETAILS_VALIDITY" desc="The label of the Validity element in the details page of the certificate info dialog.">
        Validity
      </message>
      <message name="IDS_CERT_DETAILS_NOT_BEFORE" desc="The label of the Validity->Not Before element in the details page of the certificate info dialog.">
        Not Before
      </message>
      <message name="IDS_CERT_DETAILS_NOT_AFTER" desc="The label of the Validity->Not After element in the details page of the certificate info dialog.">
        Not After
      </message>
      <message name="IDS_CERT_DETAILS_SUBJECT" desc="The label of the Subject element in the details page of the certificate info dialog. (In this case, subject refers to the entity the certificate was issued to.)">
        Subject
      </message>
      <message name="IDS_CERT_DETAILS_SUBJECT_KEY_INFO" desc="The label of the Subject Public Key Info element in the details page of the certificate info dialog. (In this case, subject refers to the entity the certificate was issued to.)">
        Subject Public Key Info
      </message>
      <message name="IDS_CERT_DETAILS_SUBJECT_KEY_ALG" desc="The label of the Subject Public Key Algorithm element in the details page of the certificate info dialog. (In this case, subject refers to the entity the certificate was issued to.)">
        Subject Public Key Algorithm
      </message>
      <message name="IDS_CERT_DETAILS_SUBJECT_KEY" desc="The label of the Subject's Public Key element in the details page of the certificate info dialog. (In this case, subject refers to the entity the certificate was issued to.)">
        Subject's Public Key
      </message>
      <message name="IDS_CERT_RSA_PUBLIC_KEY_DUMP_FORMAT" desc="Format for displaying a textual dump of an RSA public key.">
Modulus (<ph name="MODULUS_NUM_BITS">$1<ex>1024</ex></ph> bits):
<ph name="MODULUS_HEX_DUMP">$2<ex>00 0A 38 CF ...</ex></ph>

Public Exponent (<ph name="PUBLIC_EXPONENT_NUM_BITS">$3<ex>24</ex></ph> bits):
<ph name="EXPONENT_HEX_DUMP">$4<ex>01 00 01</ex></ph>
      </message>
      <message name="IDS_CERT_DETAILS_EXTENSIONS" desc="The label of the Extensions element in the details page of the certificate info dialog.">
        Extensions
      </message>
      <message name="IDS_CERT_DETAILS_CERTIFICATE_SIG_VALUE" desc="The label of the Certificate Signature Value element in the details page of the certificate info dialog.">
        Certificate Signature Value
      </message>
      <message name="IDS_CERT_DETAILS_EXPORT_CERTIFICATE" desc="The label of the button to export the selected certificate">
        E&amp;xport...
      </message>
      <message name="IDS_CERT_EXPORT_TYPE_BASE64" desc="The description of saving a single certificate in base64 encoding.">
        Base64-encoded ASCII, single certificate
      </message>
      <message name="IDS_CERT_EXPORT_TYPE_BASE64_CHAIN" desc="The description of saving a certificate chain in base64 encoding.">
        Base64-encoded ASCII, certificate chain
      </message>
      <message name="IDS_CERT_EXPORT_TYPE_DER" desc="The description of saving a single certificate in DER encoding.">
        DER-encoded binary, single certificate
      </message>
      <message name="IDS_CERT_EXPORT_TYPE_PKCS7" desc="The description of saving a single certificate in PKCS #7 encoding.">
        PKCS #7, single certificate
      </message>
      <message name="IDS_CERT_EXPORT_TYPE_PKCS7_CHAIN" desc="The description of saving a single certificate in PKCS #7 encoding.">
        PKCS #7, certificate chain
      </message>

      <message translateable="false" name="IDS_CERT_OID_AVA_COMMON_NAME" desc="">
        CN
      </message>
      <message translateable="false" name="IDS_CERT_OID_AVA_STATE_OR_PROVINCE" desc="">
        ST
      </message>
      <message translateable="false" name="IDS_CERT_OID_AVA_ORGANIZATION_NAME" desc="">
        O
      </message>
      <message translateable="false" name="IDS_CERT_OID_AVA_ORGANIZATIONAL_UNIT_NAME" desc="">
        OU
      </message>
      <message translateable="false" name="IDS_CERT_OID_AVA_DN_QUALIFIER" desc="">
        dnQualifier
      </message>
      <message translateable="false" name="IDS_CERT_OID_AVA_COUNTRY_NAME" desc="">
        C
      </message>
      <message translateable="false" name="IDS_CERT_OID_AVA_SERIAL_NUMBER" desc="">
        serialNumber
      </message>
      <message translateable="false" name="IDS_CERT_OID_AVA_LOCALITY" desc="">
        L
      </message>
      <message translateable="false" name="IDS_CERT_OID_AVA_DC" desc="">
        DC
      </message>
      <message translateable="false" name="IDS_CERT_OID_RFC1274_MAIL" desc="">
        MAIL
      </message>
      <message translateable="false" name="IDS_CERT_OID_RFC1274_UID" desc="">
        UID
      </message>
      <message translateable="false" name="IDS_CERT_OID_PKCS9_EMAIL_ADDRESS" desc="">
        E
      </message>
      <message translateable="false" name="IDS_CERT_OID_BUSINESS_CATEGORY" desc="">
        businessCategory
      </message>
      <message translateable="false" name="IDS_CERT_OID_EV_INCORPORATION_COUNTRY" desc="">
        incorporationCountry
      </message>

      <message name="IDS_CERT_OID_PKCS1_RSA_ENCRYPTION" desc="description of public key algorithm SEC_OID_PKCS1_RSA_ENCRYPTION">
        PKCS #1 RSA Encryption
      </message>
      <message name="IDS_CERT_OID_PKCS1_MD2_WITH_RSA_ENCRYPTION" desc="description of public key algorithm SEC_OID_PKCS1_MD2_WITH_RSA_ENCRYPTION">
        PKCS #1 MD2 With RSA Encryption
      </message>
      <message name="IDS_CERT_OID_PKCS1_MD4_WITH_RSA_ENCRYPTION" desc="description of public key algorithm SEC_OID_PKCS1_MD4_WITH_RSA_ENCRYPTION">
        PKCS #1 MD4 With RSA Encryption
      </message>
      <message name="IDS_CERT_OID_PKCS1_MD5_WITH_RSA_ENCRYPTION" desc="description of public key algorithm SEC_OID_PKCS1_MD5_WITH_RSA_ENCRYPTION">
        PKCS #1 MD5 With RSA Encryption
      </message>
      <message name="IDS_CERT_OID_PKCS1_SHA1_WITH_RSA_ENCRYPTION" desc="description of public key algorithm SEC_OID_PKCS1_SHA1_WITH_RSA_ENCRYPTION">
        PKCS #1 SHA-1 With RSA Encryption
      </message>
      <message name="IDS_CERT_OID_PKCS1_SHA256_WITH_RSA_ENCRYPTION" desc="description of public key algorithm SEC_OID_PKCS1_SHA256_WITH_RSA_ENCRYPTION">
        PKCS #1 SHA-256 With RSA Encryption
      </message>
      <message name="IDS_CERT_OID_PKCS1_SHA384_WITH_RSA_ENCRYPTION" desc="description of public key algorithm SEC_OID_PKCS1_SHA384_WITH_RSA_ENCRYPTION">
        PKCS #1 SHA-384 With RSA Encryption
      </message>
      <message name="IDS_CERT_OID_PKCS1_SHA512_WITH_RSA_ENCRYPTION" desc="description of public key algorithm SEC_OID_PKCS1_SHA512_WITH_RSA_ENCRYPTION">
        PKCS #1 SHA-512 With RSA Encryption
      </message>

      <message name="IDS_CERT_EXT_NS_CERT_TYPE" desc="description of extension Netscape Certificate Type">
        Netscape Certificate Type
      </message>
      <message name="IDS_CERT_EXT_NS_CERT_TYPE_EMAIL" desc="description of a certificate type for email">
        Email Certificate
      </message>
      <message name="IDS_CERT_EXT_NS_CERT_TYPE_EMAIL_CA" desc="description of a certificate type for email certification authority">
        Email Certification Authority
      </message>
      <message name="IDS_CERT_EXT_NS_CERT_BASE_URL" desc="description of extension Netscape Certificate Base URL">
        Netscape Certificate Base URL
      </message>
      <message name="IDS_CERT_EXT_NS_CERT_REVOCATION_URL" desc="description of extension Netscape Certificate Revocation URL">
        Netscape Certificate Revocation URL
      </message>
      <message name="IDS_CERT_EXT_NS_CA_REVOCATION_URL" desc="description of extension Netscape Certification Authority Revocation URL">
        Netscape Certification Authority Revocation URL
      </message>
      <message name="IDS_CERT_EXT_NS_CERT_RENEWAL_URL" desc="description of extension Netscape Certificate Renewal URL">
        Netscape Certificate Renewal URL
      </message>
      <message name="IDS_CERT_EXT_NS_CA_POLICY_URL" desc="description of extension Netscape Certification Authority Policy URL">
        Netscape Certification Authority Policy URL
      </message>
      <message name="IDS_CERT_EXT_NS_SSL_SERVER_NAME" desc="description of extension Netscape Certificate SSL Server Name">
        Netscape Certificate SSL Server Name
      </message>
      <message name="IDS_CERT_EXT_NS_COMMENT" desc="description of extension Netscape Certificate Comment">
        Netscape Certificate Comment
      </message>
      <message name="IDS_CERT_EXT_NS_LOST_PASSWORD_URL" desc="description of extension Netscape Lost Password URL">
        Netscape Lost Password URL
      </message>
      <message name="IDS_CERT_EXT_NS_CERT_RENEWAL_TIME" desc="description of extension Netscape Certificate Renewal Time">
        Netscape Certificate Renewal Time
      </message>
      <message name="IDS_CERT_X509_SUBJECT_DIRECTORY_ATTR" desc="description of extension Certificate Subject Directory Attributes">
        Certificate Subject Directory Attributes
      </message>
      <message name="IDS_CERT_X509_SUBJECT_KEYID" desc="description of extension Certificate Subject Key ID">
        Certificate Subject Key ID
      </message>
      <message name="IDS_CERT_KEYID_FORMAT" desc="format for key id in certificate extensions details">
        Key ID: <ph name="KEY_ID">$1<ex>19 EB 8E 93</ex></ph>
      </message>
      <message name="IDS_CERT_ISSUER_FORMAT" desc="format for issuer in certificate extensions details">
        Issuer: <ph name="CERTIFICATE_AUTHORITY">$1<ex>VeriSign</ex></ph>
      </message>
      <message name="IDS_CERT_SERIAL_NUMBER_FORMAT" desc="format for serial number in certificate extensions details">
        Serial Number: <ph name="SERIAL_NUMBER">$1<ex>19 EB 8E 93</ex></ph>
      </message>
      <message name="IDS_CERT_X509_KEY_USAGE" desc="description of extension Certificate Key Usage">
        Certificate Key Usage
      </message>
      <message name="IDS_CERT_X509_SUBJECT_ALT_NAME" desc="description of extension Certificate Subject Alternative Name">
        Certificate Subject Alternative Name
      </message>
      <message name="IDS_CERT_X509_ISSUER_ALT_NAME" desc="description of extension Certificate Issuer Alternative Name">
        Certificate Issuer Alternative Name
      </message>
      <message name="IDS_CERT_X509_BASIC_CONSTRAINTS" desc="description of extension Certificate Basic Constraints">
        Certificate Basic Constraints
      </message>
      <message name="IDS_CERT_X509_NAME_CONSTRAINTS" desc="description of extension Certificate Name Constraints">
        Certificate Name Constraints
      </message>
      <message name="IDS_CERT_X509_CRL_DIST_POINTS" desc="description of extension CRL Distribution Points">
        CRL Distribution Points
      </message>
      <message name="IDS_CERT_X509_CERT_POLICIES" desc="description of extension Certificate Policies">
        Certificate Policies
      </message>
      <message name="IDS_CERT_X509_POLICY_MAPPINGS" desc="description of extension Certificate Policy Mappings">
        Certificate Policy Mappings
      </message>
      <message name="IDS_CERT_X509_POLICY_CONSTRAINTS" desc="description of extension Certificate Policy Constraints">
        Certificate Policy Constraints
      </message>
      <message name="IDS_CERT_X509_AUTH_KEYID" desc="description of extension Certification Authority Key Identifier">
        Certification Authority Key ID
      </message>
      <message name="IDS_CERT_X509_EXT_KEY_USAGE" desc="description of extension Extended Key Usage">
        Extended Key Usage
      </message>
      <message name="IDS_CERT_X509_AUTH_INFO_ACCESS" desc="description of extension Authority Information Access">
        Authority Information Access
      </message>
      <message name="IDS_CERT_X509_KEY_USAGE_SIGNING" desc="description of certificate usage Signing">
        Signing
      </message>
      <message name="IDS_CERT_X509_KEY_USAGE_NONREP" desc="description of certificate usage Non-repudiation">
        Non-repudiation
      </message>
      <message name="IDS_CERT_X509_KEY_USAGE_ENCIPHERMENT" desc="description of certificate usage Key Encipherment">
        Key Encipherment
      </message>
      <message name="IDS_CERT_X509_KEY_USAGE_DATA_ENCIPHERMENT" desc="description of certificate usage Data Encipherment">
        Data Encipherment
      </message>
      <message name="IDS_CERT_X509_KEY_USAGE_KEY_AGREEMENT" desc="description of certificate usage Key Agreement">
        Key Agreement
      </message>
      <message name="IDS_CERT_X509_KEY_USAGE_CERT_SIGNER" desc="description of certificate usage Certificate Signer">
        Certificate Signer
      </message>
      <message name="IDS_CERT_X509_KEY_USAGE_CRL_SIGNER" desc="description of certificate usage CRL Signer">
        CRL Signer
      </message>
      <message name="IDS_CERT_X509_KEY_USAGE_ENCIPHER_ONLY" desc="description of certificate usage Encipher Only">
        Encipher Only
      </message>
      <message name="IDS_CERT_X509_BASIC_CONSTRAINT_IS_CA" desc="description of certificate constraint Is a Certification Authority">
        Is a Certification Authority
      </message>
      <message name="IDS_CERT_X509_BASIC_CONSTRAINT_IS_NOT_CA" desc="description of certificate constraint Is not a Certification Authority">
        Is not a Certification Authority
      </message>
      <message name="IDS_CERT_X509_BASIC_CONSTRAINT_PATH_LEN" desc="description of certificate constraint Maximum number of intermediate CAs: %S">
        Maximum number of intermediate CAs: <ph name="NUM_INTERMEDIATE_CA">$1<ex>5</ex></ph>
      </message>
      <message name="IDS_CERT_X509_BASIC_CONSTRAINT_PATH_LEN_UNLIMITED" desc="value NUM_INTERMEDIATE_CA when there is no limit">
        unlimited
      </message>
      <message name="IDS_CERT_PKIX_CPS_POINTER_QUALIFIER" desc="description of pointer (URI) to Certification Practice Statement published by Certification Authority">
        Certification Practice Statement Pointer
      </message>
      <message name="IDS_CERT_PKIX_USER_NOTICE_QUALIFIER" desc="description of User Notice certificate policy qualifier">
        User Notice
      </message>
      <message name="IDS_CERT_REVOCATION_REASON_UNUSED" desc="description of certificate revocation for reason Unused">
        Unused
      </message>
      <message name="IDS_CERT_REVOCATION_REASON_KEY_COMPROMISE" desc="description of certificate revocation for reason Key Compromise">
        Key Compromise
      </message>
      <message name="IDS_CERT_REVOCATION_REASON_CA_COMPROMISE" desc="description of certificate revocation for reason CA Compromise">
        CA Compromise
      </message>
      <message name="IDS_CERT_REVOCATION_REASON_AFFILIATION_CHANGED" desc="description of certificate revocation for reason Affiliation Changed">
        Affiliation Changed
      </message>
      <message name="IDS_CERT_REVOCATION_REASON_SUPERSEDED" desc="description of certificate revocation for reason Superseded">
        Superseded
      </message>
      <message name="IDS_CERT_REVOCATION_REASON_CESSATION_OF_OPERATION" desc="description of certificate revocation for reason Cessation of Operation">
        Cessation of Operation
      </message>
      <message name="IDS_CERT_REVOCATION_REASON_CERTIFICATE_HOLD" desc="description of certificate revocation for reason Certificate Hold">
        Certificate on Hold
      </message>
      <message name="IDS_CERT_OCSP_RESPONDER_FORMAT" desc="format for info about OCSP responder">
        OCSP Responder: <ph name="LOCATION">$1<ex>Foo</ex></ph>
      </message>
      <message name="IDS_CERT_CA_ISSUERS_FORMAT" desc="format for info about CA Issuers">
        CA Issuers: <ph name="LOCATION">$1<ex>Foo</ex></ph>
      </message>
      <message name="IDS_CERT_UNKNOWN_OID_INFO_FORMAT" desc="format for info about an OID we don't have a specific format for">
        <ph name="OID">$1<ex>OID.1.23.45.6</ex></ph>: <ph name="INFO">$2<ex>Foo</ex></ph>
      </message>
      <message name="IDS_CERT_EXT_KEY_USAGE_FORMAT" desc="format for description of an extended key usage, with its object identifier (OID).">
        <ph name="USAGE">$1<ex>TLS Web Server Authentication</ex></ph> (<ph name="OID">$2<ex>OID.1.3.6.1.5.5.7.3.1</ex></ph>)
      </message>
      <message name="IDS_CERT_MULTILINE_INFO_START_FORMAT" desc="format for header line where further info will appear on the following lines">
        <ph name="OID">$1<ex>OID.1.23.45.6</ex></ph>:
      </message>
      <message name="IDS_CERT_GENERAL_NAME_RFC822_NAME" desc="label for the certRFC822Name general name type">
        Email Address
      </message>
      <message name="IDS_CERT_GENERAL_NAME_DNS_NAME" desc="label for the certDNSName general name type">
        DNS Name
      </message>
      <message name="IDS_CERT_GENERAL_NAME_X400_ADDRESS" desc="label for the certX400Address general name type">
        X.400 Address
      </message>
      <message name="IDS_CERT_GENERAL_NAME_DIRECTORY_NAME" desc="label for the certDirectoryName general name type">
        X.500 Name
      </message>
      <message name="IDS_CERT_GENERAL_NAME_EDI_PARTY_NAME" desc="label for the certEDIPartyName general name type">
        EDI Party Name
      </message>
      <message name="IDS_CERT_GENERAL_NAME_URI" desc="label for the certURI general name type">
        URI
      </message>
      <message name="IDS_CERT_GENERAL_NAME_IP_ADDRESS" desc="label for the certIPAddress general name type">
        IP Address
      </message>
      <message name="IDS_CERT_GENERAL_NAME_REGISTERED_ID" desc="label for the certRegisteredID general name type">
        Registered OID
      </message>
      <message name="IDS_CERT_EXT_MS_CERT_TYPE" desc="description of extension Microsoft Certificate Template Name">
        Microsoft Certificate Template Name
      </message>
      <message name="IDS_CERT_EXT_MS_CA_VERSION" desc="description of extension Microsoft CA Version">
        Microsoft CA Version
      </message>
      <message name="IDS_CERT_EXT_MS_NT_PRINCIPAL_NAME" desc="description of extension Microsoft Principal Name">
        Microsoft Principal Name
      </message>
      <message name="IDS_CERT_EXT_MS_NTDS_REPLICATION" desc="description of extension Microsoft Domain GUID">
        Microsoft Domain GUID
      </message>
      <message name="IDS_CERT_EKU_TLS_WEB_SERVER_AUTHENTICATION" desc="description of extended key usage TLS WWW Server Authentication">
        TLS WWW Server Authentication
      </message>
      <message name="IDS_CERT_EKU_TLS_WEB_CLIENT_AUTHENTICATION" desc="description of extended key usage TLS WWW Client Authentication">
        TLS WWW Client Authentication
      </message>
      <message name="IDS_CERT_EKU_CODE_SIGNING" desc="description of extended key usage Code Signing">
        Code Signing
      </message>
      <message name="IDS_CERT_EKU_EMAIL_PROTECTION" desc="description of extended key usage E-mail Protection">
        Email Protection
      </message>
      <message name="IDS_CERT_EKU_TIME_STAMPING" desc="description of extended key usage Time Stamping">
        Time Stamping
      </message>
      <message name="IDS_CERT_EKU_OCSP_SIGNING" desc="description of extended key usage Signing OCSP Responses">
        Signing OCSP Responses
      </message>
      <message name="IDS_CERT_EKU_MS_INDIVIDUAL_CODE_SIGNING" desc="description of extended key usage Microsoft Individual Code Signing">
        Microsoft Individual Code Signing
      </message>
      <message name="IDS_CERT_EKU_MS_COMMERCIAL_CODE_SIGNING" desc="description of extended key usage Microsoft Commercial Code Signing">
        Microsoft Commercial Code Signing
      </message>
      <message name="IDS_CERT_EKU_MS_TRUST_LIST_SIGNING" desc="description of extended key usage Microsoft Trust List Signing">
        Microsoft Trust List Signing
      </message>
      <message name="IDS_CERT_EKU_MS_TIME_STAMPING" desc="description of extended key usage Microsoft Time Stamping">
        Microsoft Time Stamping
      </message>
      <message name="IDS_CERT_EKU_MS_SERVER_GATED_CRYPTO" desc="description of extended key usage Microsoft Server Gated Crypto">
        Microsoft Server Gated Cryptography
      </message>
      <message name="IDS_CERT_EKU_MS_ENCRYPTING_FILE_SYSTEM" desc="description of extended key usage Microsoft Encrypting File System">
        Microsoft Encrypting File System
      </message>
      <message name="IDS_CERT_EKU_MS_FILE_RECOVERY" desc="description of extended key usage Microsoft File Recovery">
        Microsoft File Recovery
      </message>
      <message name="IDS_CERT_EKU_MS_WINDOWS_HARDWARE_DRIVER_VERIFICATION" desc="description of extended key usage Microsoft Windows Hardware Driver Verification">
        Microsoft Windows Hardware Driver Verification
      </message>
      <message name="IDS_CERT_EKU_MS_QUALIFIED_SUBORDINATION" desc="description of extended key usage Microsoft Qualified Subordination">
        Microsoft Qualified Subordination
      </message>
      <message name="IDS_CERT_EKU_MS_KEY_RECOVERY" desc="description of extended key usage Microsoft Key Recovery">
        Microsoft Key Recovery
      </message>
      <message name="IDS_CERT_EKU_MS_DOCUMENT_SIGNING" desc="description of extended key usage Microsoft Document Signing">
        Microsoft Document Signing
      </message>
      <message name="IDS_CERT_EKU_MS_LIFETIME_SIGNING" desc="description of extended key usage Microsoft Lifetime Signing">
        Microsoft Lifetime Signing
      </message>
      <message name="IDS_CERT_EKU_MS_SMART_CARD_LOGON" desc="description of extended key usage Microsoft Smart Card Logon">
        Microsoft Smart Card Logon
      </message>
      <message name="IDS_CERT_EKU_MS_KEY_RECOVERY_AGENT" desc="description of extended key usage Microsoft Key Recovery Agent">
        Microsoft Key Recovery Agent
      </message>
      <message name="IDS_CERT_EKU_NETSCAPE_INTERNATIONAL_STEP_UP" desc="description of extended key usage Netscape International Step-Up">
        Netscape International Step-Up
      </message>
      <message name="IDS_CERT_EXTENSION_CRITICAL" desc="The text displayed in the certificate details dialog for a given extension which is critical">
        Critical
      </message>
      <message name="IDS_CERT_EXTENSION_NON_CRITICAL" desc="The text displayed in the certificate details dialog for a given extension which is not critical">
        Not Critical
      </message>
      <message name="IDS_CERT_EXTENSION_DUMP_ERROR" desc="The text displayed in the certificate details dialog for a given extension which could not be decoded">
        Error: Unable to decode extension
      </message>

      <!-- Certificate manager dialog strings.  These are only used on platforms that don't have a native certificate manager dialog, such as Linux. -->
      <message name="IDS_CERTIFICATE_MANAGER_TITLE" desc="String to be displayed in the title bar of the certificate manager dialog">
        Certificate manager
      </message>
      <message name="IDS_CERT_MANAGER_PERSONAL_CERTS_TAB_LABEL" desc="Title of the notebook page displaying the user's own certificates">
        Your Certificates
      </message>
      <message name="IDS_CERT_MANAGER_SERVER_CERTS_TAB_LABEL" desc="Title of the notebook page displaying server certificates">
        Servers
      </message>
      <message name="IDS_CERT_MANAGER_CERT_AUTHORITIES_TAB_LABEL" desc="Title of the notebook page displaying certificate authorities">
        Authorities
      </message>
      <message name="IDS_CERT_MANAGER_OTHER_TAB_LABEL" desc="Title of the notebook page displaying certificates that don't fall under any of the other categories">
        Others
      </message>
      <message name="IDS_CERT_MANAGER_USER_TREE_DESCRIPTION" desc="Description label above the tree showing the user's own certificates">
        You have certificates from these organizations that identify you:
      </message>
      <message name="IDS_CERT_MANAGER_SERVER_TREE_DESCRIPTION" desc="Description label above the tree showing server certificates">
        You have certificates on file that identify these servers:
      </message>
      <message name="IDS_CERT_MANAGER_AUTHORITIES_TREE_DESCRIPTION" desc="Description label above the Certificate Authorities tree">
        You have certificates on file that identify these certificate authorities:
      </message>
      <message name="IDS_CERT_MANAGER_OTHER_TREE_DESCRIPTION" desc="Description label above the tree showing certificates that don't fall under any of the other categories">
        You have certificates on file that do not fit in any of the other categories:
      </message>
      <message name="IDS_CERT_MANAGER_VIEW_CERT_BUTTON" desc="Label for the button in the certificate manager which launches the certificate viewer for the selected certificate">
        View...
      </message>
      <message name="IDS_CERT_MANAGER_IMPORT_BUTTON" desc="Label for the button in the certificate manager which allows you to import certificates">
        Import...
      </message>
      <message name="IDS_CERT_MANAGER_EXPORT_BUTTON" desc="Label for the button in the certificate manager which allows you to export certificates">
        Export...
      </message>
      <message name="IDS_CERT_MANAGER_EDIT_BUTTON" desc="Label for the button in the certificate manager which allows you to edit certificate trust">
        Edit...
      </message>
      <message name="IDS_CERT_MANAGER_DELETE_BUTTON" desc="Label for the button in the certificate manager which allows you to delete certificates">
        Delete...
      </message>
      <message name="IDS_CERT_MANAGER_DELETE_USER_FORMAT" desc="Confirmation in certificate manager dialog for deleting a user certificate">
        Delete certificate "<ph name="CERTIFICATE_NAME">$1<ex>VeriSign Browser Certificate</ex></ph>"?
      </message>
      <message name="IDS_CERT_MANAGER_DELETE_USER_DESCRIPTION" desc="Description of impact of deleting a user certificate">
        If you delete one of your own certificates, you can no longer use it to identify yourself.
      </message>
      <message name="IDS_CERT_MANAGER_DELETE_SERVER_FORMAT" desc="Confirmation in certificate manager dialog for deleting a server certificate">
        Delete server certificate "<ph name="CERTIFICATE_NAME">$1<ex>www.example.com</ex></ph>"?
      </message>
      <message name="IDS_CERT_MANAGER_DELETE_SERVER_DESCRIPTION" desc="Description of impact of deleting a server certificate">
        If you delete a server certificate, you restore the usual security checks for that server and require it uses a valid certificate.
      </message>
      <message name="IDS_CERT_MANAGER_DELETE_CA_FORMAT" desc="Confirmation in certificate manager dialog for deleting a certification authority certificate">
        Delete CA certificate "<ph name="CERTIFICATE_NAME">$1<ex>Verisign Class 1 Public Primary Certification Authority</ex></ph>"?
      </message>
      <message name="IDS_CERT_MANAGER_DELETE_CA_DESCRIPTION" desc="Description of impact of deleting a certification authority certificate">
        If you delete a Certification Authority (CA) certificate, your browser will no longer trust any certificates issued by that CA.
      </message>
      <message name="IDS_CERT_MANAGER_DELETE_OTHER_FORMAT" desc="Confirmation in certificate manager dialog for deleting a certificate of other type">
        Delete certificate "<ph name="CERTIFICATE_NAME">$1<ex>Example Certificate</ex></ph>"?
      </message>
      <message name="IDS_CERT_MANAGER_EXPORT_PASSWORD_DESC" desc="Description of password prompt in certificate manager for exporting a personal certificate">
        Please enter a password to encrypt this certificate file.
      </message>
      <message name="IDS_CERT_MANAGER_EXPORT_PASSWORD_HELP" desc="Text in password prompt of certificate manager for exporting a personal certificate, reminding user that if they forget the password they're screwed.">
        The password you choose will be required to restore this file later.  Please record it in a safe location.
      </message>
      <message name="IDS_CERT_MANAGER_RESTORE_PASSWORD_DESC" desc="Description of password prompt in certificate manager for restoring a personal certificate">
        Please enter the password that was used to encrypt this certificate file.
      </message>
      <message name="IDS_CERT_MANAGER_PASSWORD_LABEL" desc="The label of the password field in the certificate manager for restoring or exporting a personal certificate">
        Password:
      </message>
      <message name="IDS_CERT_MANAGER_CONFIRM_PASSWORD_LABEL" desc="The label of the field in the certificate manager for re-entering the password when creating a export.">
        Confirm Password:
      </message>
      <message name="IDS_CERT_MANAGER_PKCS12_FILES" desc="The label in the file selector dialog for PKCS #12 file type.">
        PKCS #12 Files
      </message>
      <message name="IDS_CERT_MANAGER_PKCS12_EXPORT_ERROR_TITLE" desc="The title in the error dialog for PKCS #12 file export errors.">
        PKCS #12 Export Error
      </message>
      <message name="IDS_CERT_MANAGER_WRITE_ERROR_FORMAT" desc="The text in the error dialog for PKCS #12 file write errors.">
        There was an error while trying to write the file: <ph name="ERROR_TEXT">$1<ex>Permission denied.</ex></ph>.
      </message>
      <message name="IDS_CERT_MANAGER_UNTRUSTED" desc="This text is displayed next to untrusted certificates in a red box. Untrusted certificates are sometimes added in order to explicitly distrust them. Thus, they will be listed but it's important that the user note that they serve a different purpose from the rest.">
        Untrusted
      </message>
      <message name="IDS_CERT_MANAGER_POLICY_INSTALLED" desc="The text of the popup bubble shown when the user clicks the controlled setting indicator next to a certificate entry.">
        This certificate has been installed by your system administrator.
      </message>
      <message name="IDS_CERT_MANAGER_PKCS12_IMPORT_ERROR_TITLE" desc="The title in the error dialog for PKCS #12 file import errors.">
        PKCS #12 Import Error
      </message>
      <message name="IDS_CERT_MANAGER_PKCS12_IMPORT_INVALID_MAC" desc="The message in the error dialog for PKCS #12 files with invalid MAC.">
        Incorrect password or corrupt file.
      </message>
      <message name="IDS_CERT_MANAGER_PKCS12_IMPORT_INVALID_FILE" desc="The message in the error dialog for corrupt PKCS #12 files.">
        Invalid or corrupt file.
      </message>
      <message name="IDS_CERT_MANAGER_PKCS12_IMPORT_UNSUPPORTED" desc="The message in the error dialog for unsupported PKCS #12 files.">
        File uses unsupported features.
      </message>
      <message name="IDS_CERT_MANAGER_READ_ERROR_FORMAT" desc="The text in the error dialog for PKCS #12 file read errors.">
        There was an error while trying to read the file: <ph name="ERROR_TEXT">$1<ex>File not found.</ex></ph>.
      </message>
      <message name="IDS_CERT_MANAGER_BAD_PASSWORD" desc="The text in the error dialog for entering an incorrect password when importing an encrypted certificate file.">
        Incorrect password.
      </message>
      <message name="IDS_CERT_MANAGER_CERT_PARSE_ERROR" desc="The message in the certificate manager error dialog for importing invalid certificate files.">
        Unable to parse file.
      </message>
      <message name="IDS_CERT_MANAGER_UNKNOWN_ERROR" desc="The text in the error dialog when an unknown error occurs during an operation on the certificate database.">
        Unknown error.
      </message>
      <message name="IDS_CERT_MANAGER_ERROR_NOT_CA" desc="The error message when trying to import certificate authorities and a certificate is not a certification authority">
        Not a Certification Authority.
      </message>
      <message name="IDS_CERT_MANAGER_ERROR_CERT_ALREADY_EXISTS" desc="The error message when trying to import certificate which already exists.">
        Certificate already exists.
      </message>
      <message name="IDS_CERT_MANAGER_DELETE_CERT_ERROR_TITLE" desc="The title in the error dialog for certificate delete errors.">
        Certificate Deletion Error
      </message>
      <message name="IDS_CERT_MANAGER_EDIT_CA_TITLE" desc="Title of the certificate manager edit trust dialog">
        Certificate authority
      </message>
      <message name="IDS_CERT_MANAGER_EDIT_TRUST_LABEL" desc="Line displayed in certificate manager edit trust dialog before the checkboxes for setting certificate trust flags">
        Edit trust settings:
      </message>
      <message name="IDS_CERT_MANAGER_EDIT_CA_TRUST_DESCRIPTION_FORMAT" desc="Description in dialog for editing Certification Authority trust flags">
        The certificate "<ph name="CERTIFICATE_NAME">$1<ex>Verisign Class 1 Public Primary Certification Authority</ex></ph>" represents a Certification Authority.
      </message>
      <message name="IDS_CERT_MANAGER_EDIT_CA_TRUST_SSL_LABEL" desc="Description in Certification Authority trust dialog for the SSL trust checkbox.">
        Trust this certificate for identifying websites.
      </message>
      <message name="IDS_CERT_MANAGER_EDIT_CA_TRUST_EMAIL_LABEL" desc="Description in Certification Authority trust dialog for the Email trust checkbox.">
        Trust this certificate for identifying email users.
      </message>
      <message name="IDS_CERT_MANAGER_EDIT_CA_TRUST_OBJSIGN_LABEL" desc="Description in Certification Authority trust dialog for the Code Signing trust checkbox.">
        Trust this certificate for identifying software makers.
      </message>
      <message name="IDS_CERT_MANAGER_SET_TRUST_ERROR_TITLE" desc="The title in the error dialog for certificate trust editing errors.">
        Error Setting Certificate Trust
      </message>
      <message name="IDS_CERT_MANAGER_IMPORT_CA_DESCRIPTION_FORMAT" desc="Description in dialog for importing a Certification Authority and setting its trust flags">
        Do you want to trust "<ph name="CERTIFICATE_NAME">$1<ex>Verisign Class 1 Public Primary Certification Authority</ex></ph>" as a Certification Authority?
      </message>
      <message name="IDS_CERT_MANAGER_CA_IMPORT_ERROR_TITLE" desc="The title in the error dialog for Certification Authority file import errors.">
        Certification Authority Import Error
      </message>
      <message name="IDS_CERT_MANAGER_IMPORT_ERROR_FORMAT" desc="The format of per-certificate error messages in import failure dialog">
        <ph name="CERTIFICATE_NAME">$1<ex>www.example.com</ex></ph>: <ph name="ERROR">$2<ex>Not a Certification Authority</ex></ph>
      </message>
      <message name="IDS_CERT_MANAGER_IMPORT_SINGLE_NOT_IMPORTED" desc="The header in certificate manager error dialog for single certificates that could not be imported.">
        The file contained one certificate, which was not imported:
      </message>
      <message name="IDS_CERT_MANAGER_IMPORT_ALL_NOT_IMPORTED" desc="The header in certificate manager error dialog for list of certificates that could not be imported, when none were successfully imported.">
        The file contained multiple certificates, none of which were imported:
      </message>
      <message name="IDS_CERT_MANAGER_IMPORT_SOME_NOT_IMPORTED" desc="The header in certificate manager error dialog for list of certificates that could not be imported, even though others were.">
        The file contained multiple certificates, some of which were not imported:
      </message>
      <message name="IDS_CERT_MANAGER_SERVER_IMPORT_ERROR_TITLE" desc="The title in the error dialog for Certification Authority file import errors.">
        Server Certificate Import Error
      </message>
      <message name="IDS_CERT_MANAGER_HARDWARE_BACKED_KEY_FORMAT" desc="A format used to create label for hardware-backed keys.">
        <ph name="KEY_NAME">$1<ex>John Doe</ex></ph> (<ph name="DEVICE">$2<ex>hardware-backed</ex></ph>)
      </message>
      <message name="IDS_CERT_MANAGER_HARDWARE_BACKED" desc="A device name to be used for hardware-backed keys.">
        hardware-backed
      </message>
      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_CERT_MANAGER_IMPORT_AND_BIND_BUTTON" desc="Label for the button in the certificate manager which allows you to import certificates and bind to your device.">
          Import and Bind to Device...
        </message>
        <message name="IDS_CERT_MANAGER_KEY_FORMAT_LONG" desc="A longer format for keys in the wifi / vpn config dialogs.">
          <ph name="ISSUED_BY">$1<ex>Google Inc</ex></ph> [<ph name="ISSUED_TO">$2<ex>John Doe</ex></ph>]
        </message>
        <message name="IDS_CERT_MANAGER_HARDWARE_BACKED_KEY_FORMAT_LONG" desc="A longer format for hardware-backed keys in the wifi / vpn config dialogs.">
          <ph name="ISSUED_BY">$1<ex>Google Inc</ex></ph> [<ph name="ISSUED_TO">$2<ex>John Doe</ex></ph>] (<ph name="DEVICE">$3<ex>hardware-backed</ex></ph>)
        </message>
      </if>

      <!-- Add Client Certificate Dialog -->
      <message name="IDS_ADD_CERT_DIALOG_ADD" desc="Title of the button that adds the certificate in the Add Client Certificate dialog">
        Add Certificate
      </message>
      <message name="IDS_ADD_CERT_ERR_INVALID_CERT" desc="Error message when the server returns an invalid client certificate after key generation">
        The server returned an invalid client certificate. Error <ph name="ERROR_number">$1<ex>207</ex></ph> (<ph name="ERROR_NAME">$2<ex>net::ERR_CERT_INVALID</ex></ph>).
      </message>
      <message name="IDS_ADD_CERT_ERR_FAILED" desc="Generic error message for a failure to add the generated certificate to the cert store/keychain">
        There was an error while trying to store the client certificate. Error <ph name="ERROR_number">$1<ex>207</ex></ph> (<ph name="ERROR_NAME">$2<ex>net::ERR_CERT_INVALID</ex></ph>).
      </message>

      <!-- Certificate success infobar -->
      <message name="IDS_ADD_CERT_SUCCESS_INFOBAR_LABEL" desc="Label displayed in an infobar when the browser successfully imports a certificate">
        Successfully stored client certificate issued by <ph name="ISSUER">$1<ex>VeriSign</ex></ph>.
      </message>
      <message name="IDS_ADD_CERT_SUCCESS_INFOBAR_BUTTON" desc="The label of the 'view' button on the infobar after a client certificate import; clicking opens a certificate viewer for the new certificate">
        View
      </message>

      <!-- Autolaunch infobar -->
      <message name="IDS_AUTO_LAUNCH_OK" desc="Label for OK button on Autolaunch confirmation infobar.">
        OK
      </message>
      <message name="IDS_AUTO_LAUNCH_REVERT" desc="Label for button (on Autolaunch confirmation infobar) that disables autolaunching.">
        Cut it out!
      </message>

      <!-- DevTools attached infobar -->
      <message name="IDS_DEV_TOOLS_INFOBAR_LABEL" desc="Label displayed in an infobar when external debugger is attached to the page">
        "<ph name="CLIENT_NAME">$1<ex>Extension Foo</ex></ph>" is debugging this tab.
      </message>

      <!-- DevTools file system access -->
      <message name="IDS_DEV_TOOLS_CONFIRM_ADD_FILE_SYSTEM_MESSAGE" desc="Message displayed in DevTools infobar when user attempts to add file system to DevTools.">
        DevTools requests full access to $1.
Make sure you do not expose any sensitive information.
      </message>

      <!-- DevTools confirm infobar button labels -->
      <message name="IDS_DEV_TOOLS_CONFIRM_ALLOW_BUTTON" desc="Used as an 'Allow' button label.">
        Allow
      </message>
      <message name="IDS_DEV_TOOLS_CONFIRM_DENY_BUTTON" desc="Used as an 'Deny' button label.">
        Deny
      </message>

      <!-- Advanced reload button menu -->
      <message name="IDS_RELOAD_MENU_NORMAL_RELOAD_ITEM" desc="Menu item displayed in the Reload dropdown menu when in dev mode">
        Normal Reload
      </message>
      <message name="IDS_RELOAD_MENU_HARD_RELOAD_ITEM" desc="Menu item displayed in the Reload dropdown menu when in dev mode">
        Hard Reload
      </message>
      <message name="IDS_RELOAD_MENU_EMPTY_AND_HARD_RELOAD_ITEM" desc="Menu item displayed in the Reload dropdown menu when in dev mode">
        Empty Cache and Hard Reload
      </message>

      <!-- Basic Auth Dialog -->
      <message name="IDS_LOGIN_DIALOG_TITLE" desc="String to be displayed in the title bar of the login prompt dialog">
        Authentication Required
      </message>
      <message name="IDS_LOGIN_DIALOG_DESCRIPTION" desc="String to be displayed in the login prompt dialog to explain what the user needs to do">
        The server <ph name="DOMAIN">$1<ex>google.com</ex></ph> requires a username and password. The server says: <ph name="REALM">$2<ex>opaque string</ex></ph>.
      </message>
      <message name="IDS_LOGIN_DIALOG_DESCRIPTION_NO_REALM" desc="String to be displayed in the login prompt dialog to explain what the user needs to do">
        The server <ph name="DOMAIN">$1<ex>google.com</ex></ph> requires a username and password.
      </message>
      <message name="IDS_LOGIN_DIALOG_USERNAME_FIELD" desc="The label of the username field in the login prompt dialog">
        User Name:
      </message>
      <message name="IDS_LOGIN_DIALOG_PASSWORD_FIELD" desc="The label of the password field in the login prompt dialog">
        Password:
      </message>
      <message name="IDS_LOGIN_DIALOG_OK_BUTTON_LABEL" desc="The label of the 'Log In' button on the login prompt dialog">
        Log In
      </message>
      <!-- User Image Selection Dialog -->
      <message name="IDS_USER_IMAGE_SCREEN_TITLE" desc="String to be displayed in the title bar of the user image selection dialog">
        Smile! Take a picture of yourself and set it as your account picture.
      </message>
      <!-- OOBE progress bar labels -->
      <message name="IDS_OOBE_PICTURE" desc="The label of OOBE progress bar step, must be short">
        Choose your account picture
      </message>

      <!-- User Image default image accessible descriptions -->
      <message name="IDS_LOGIN_DEFAULT_USER_DESC_19" desc="Description of the default user icon with a picture of a bicycle">
        Bicycle
      </message>
      <message name="IDS_LOGIN_DEFAULT_USER_DESC_20" desc="Description of the default user icon with a picture of a Bokeh (an out-of focus effect in photography)">
        Bokeh
      </message>
      <message name="IDS_LOGIN_DEFAULT_USER_DESC_21" desc="Description of the default user icon with a picture of a game of chess">
        Chess
      </message>
      <message name="IDS_LOGIN_DEFAULT_USER_DESC_22" desc="Description of the default user icon with a picture of a cup of coffee">
        Coffee
      </message>
      <message name="IDS_LOGIN_DEFAULT_USER_DESC_23" desc="Description of the default user icon with a picture of a dragonfly">
        Dragonfly
      </message>
      <message name="IDS_LOGIN_DEFAULT_USER_DESC_24" desc="Description of the default user icon with a picture of a frog">
        Frog
      </message>
      <message name="IDS_LOGIN_DEFAULT_USER_DESC_25" desc="Description of the default user icon with a picture of a Ganzania (a kind of flower - okay to translate as just flower or some similar flower name)">
        Ganzania Flower
      </message>
      <message name="IDS_LOGIN_DEFAULT_USER_DESC_26" desc="Description of the default user icon with a picture of a Jack Russell Terrir (a kind of dog - okay to translate as just dog)">
        Jack Russell Terrier
      </message>
      <message name="IDS_LOGIN_DEFAULT_USER_DESC_27" desc="Description of the default user icon with a picture of a jellyfish">
        Jellyfish
      </message>
      <message name="IDS_LOGIN_DEFAULT_USER_DESC_28" desc="Description of the default user icon with a picture of a kiwi (fruit)">
        Kiwi
      </message>
      <message name="IDS_LOGIN_DEFAULT_USER_DESC_29" desc="Description of the default user icon with a picture of a penguin">
        Penguin
      </message>
      <message name="IDS_LOGIN_DEFAULT_USER_DESC_30" desc="Description of the default user icon with a picture of a rainbowfish (a kind of fish)">
        Rainbowfish
      </message>
      <message name="IDS_LOGIN_DEFAULT_USER_DESC_31" desc="Description of the default user icon with a picture of a record player (phonograph)">
        Record player
      </message>
      <message name="IDS_LOGIN_DEFAULT_USER_DESC_32" desc="Description of the default user icon with a picture of a butterfly upside-down on a flower; the name of the photo is Upside-Down.">
        Upside Down
      </message>

      <!-- FindInPage strings -->
      <message name="IDS_FIND_IN_PAGE_COUNT" desc="How many matches found and what item we are showing">
        <ph name="ACTIVE_MATCH">$1<ex>1</ex></ph> of <ph name="TOTAL_MATCHCOUNT">$2<ex>5</ex></ph>
      </message>
      <message name="IDS_FIND_IN_PAGE_PREVIOUS_TOOLTIP" desc="The tooltip for the previous button">
        Previous
      </message>
      <message name="IDS_FIND_IN_PAGE_NEXT_TOOLTIP" desc="The tooltip for the next button">
        Next
      </message>
      <message name="IDS_FIND_IN_PAGE_CLOSE_TOOLTIP" desc="The tooltip for the close button">
        Close find bar
      </message>


      <!-- Fullscreen mode -->
      <message name="IDS_EXIT_FULLSCREEN_MODE" desc="Clickable message displayed on entering full screen mode. Clicking on the link exits full screen mode.">
        Exit full screen
      </message>
      <if expr="not pp_ifdef('chromeos')">
        <message name="IDS_EXIT_FULLSCREEN_MODE_ACCELERATOR" desc="Accelerator description shown next to a link showing 'Exit full screen' e.g. 'Exit full screen (Esc)', where 'Exit full screen' is a link.">
          (<ph name="ACCELERATOR">$1<ex>Esc</ex></ph>)
        </message>
      </if>

      <!-- Task Manager Window -->
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_TASK_MANAGER_KILL" desc="The caption of the Task Manager kill button">
          End process
        </message>
        <message name="IDS_TASK_MANAGER_PURGE_MEMORY" desc="The caption of the Task Manager purge memory button">
          Purge memory
        </message>
        <message name="IDS_TASK_MANAGER_PROCESS_ID_COLUMN" desc="The title for Task Manager process ID column.">
          Process ID
        </message>
        <message name="IDS_TASK_MANAGER_GDI_HANDLES_COLUMN" desc="The title for Task Manager GDI handles column.">
          GDI Handles
        </message>
        <message name="IDS_TASK_MANAGER_USER_HANDLES_COLUMN" desc="The title for Task Manager USER handles column.">
          USER Handles
        </message>
        <message name="IDS_TASK_MANAGER_TASK_COLUMN" desc="The text of the task column">
          Task
        </message>
        <message name="IDS_TASK_MANAGER_NET_COLUMN" desc="The text of the network usage column">
          Network
        </message>
        <message name="IDS_TASK_MANAGER_CPU_COLUMN" desc="The text of the CPU usage column">
          CPU
        </message>
        <message name="IDS_TASK_MANAGER_PHYSICAL_MEM_COLUMN" desc="Task manager process memory column. This is the similar to the process 'working set' reported by the Windows Task Manager">
          Memory
        </message>
        <message name="IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN" desc="Task manager process private memory column. This is the allocated size that cannot be shared with other processes">
          Private memory
        </message>
        <message name="IDS_TASK_MANAGER_SHARED_MEM_COLUMN" desc="Task manager process shared memory column. Shows the size of the memory used by the process which is shared with other processes">
          Shared memory
        </message>
        <message name="IDS_TASK_MANAGER_PROFILE_NAME_COLUMN" desc="The name of the column with the name of the profile in which the page is running, if any.">
          Profile
        </message>
        <message name="IDS_TASK_MANAGER_GOATS_TELEPORTED_COLUMN" desc="The goats teleported column">
          Goats teleported
        </message>
        <message name="IDS_TASK_MANAGER_WEBCORE_IMAGE_CACHE_COLUMN" desc="Task manager WebCore image cache size column.">
          Image cache
        </message>
        <message name="IDS_TASK_MANAGER_WEBCORE_SCRIPTS_CACHE_COLUMN" desc="Task manager WebCore scripts cache size column.">
          Script cache
        </message>
        <message name="IDS_TASK_MANAGER_WEBCORE_CSS_CACHE_COLUMN" desc="Task manager WebCore CSS cache size column.">
          CSS cache
        </message>
        <message name="IDS_TASK_MANAGER_VIDEO_MEMORY_COLUMN" desc="The text of the video memory usage column">
          GPU Memory
        </message>
        <message name="IDS_TASK_MANAGER_FPS_COLUMN" desc="The text of the FPS column">
          FPS
        </message>
        <message name="IDS_TASK_MANAGER_SQLITE_MEMORY_USED_COLUMN" desc="Amount of memory used by SQLite.">
          SQLite memory
        </message>
        <message name="IDS_TASK_MANAGER_JAVASCRIPT_MEMORY_ALLOCATED_COLUMN" desc="Task manager JavaScript memory allocated column.  Shows the amount of memory used by JavaScript within a process">
          JavaScript memory
        </message>
        <message name="IDS_TASK_MANAGER_INSPECT" desc="Menu item initiating resource inspection">
          Inspect
        </message>
        <message name="IDS_TASK_MANAGER_ACTIVATE" desc="Menu item initiating page activation">
          Activate
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_TASK_MANAGER_KILL" desc="The caption of the Task Manager kill button">
          End Process
        </message>
        <message name="IDS_TASK_MANAGER_PURGE_MEMORY" desc="The caption of the Task Manager purge memory button">
          Purge Memory
        </message>
        <message name="IDS_TASK_MANAGER_PROCESS_ID_COLUMN" desc="The title for Task Manager process ID column.">
          Process ID
        </message>
        <message name="IDS_TASK_MANAGER_GDI_HANDLES_COLUMN" desc="The title for Task Manager GDI handles column.">
          GDI Handles
        </message>
        <message name="IDS_TASK_MANAGER_USER_HANDLES_COLUMN" desc="The title for Task Manager USER handles column.">
          USER Handles
        </message>
        <message name="IDS_TASK_MANAGER_TASK_COLUMN" desc="The text of the task column">
          Task
        </message>
        <message name="IDS_TASK_MANAGER_NET_COLUMN" desc="The text of the network usage column">
          Network
        </message>
        <message name="IDS_TASK_MANAGER_CPU_COLUMN" desc="The text of the CPU usage column">
          CPU
        </message>
        <message name="IDS_TASK_MANAGER_PHYSICAL_MEM_COLUMN" desc="Task manager process memory column. This is the similar to the process 'working set' reported by the Windows Task Manager">
          Memory
        </message>
        <message name="IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN" desc="Task manager process private memory column. This is the allocated size that cannot be shared with other processes">
          Private Memory
        </message>
        <message name="IDS_TASK_MANAGER_SHARED_MEM_COLUMN" desc="Task manager process shared memory column. Shows the size of the memory used by the process which is shared with other processes">
          Shared Memory
        </message>
        <message name="IDS_TASK_MANAGER_PROFILE_NAME_COLUMN" desc="The name of the column with the name of the profile in which the page is running, if any.">
          Profile
        </message>
        <message name="IDS_TASK_MANAGER_GOATS_TELEPORTED_COLUMN" desc="The goats teleported column">
          Goats Teleported
        </message>
        <message name="IDS_TASK_MANAGER_WEBCORE_IMAGE_CACHE_COLUMN" desc="Task manager WebCore image cache size column.">
          Image Cache
        </message>
        <message name="IDS_TASK_MANAGER_WEBCORE_SCRIPTS_CACHE_COLUMN" desc="Task manager WebCore scripts cache size column.">
          Script Cache
        </message>
        <message name="IDS_TASK_MANAGER_WEBCORE_CSS_CACHE_COLUMN" desc="Task manager WebCore CSS cache size column.">
          CSS Cache
        </message>
        <message name="IDS_TASK_MANAGER_VIDEO_MEMORY_COLUMN" desc="The text of the video memory usage column">
          GPU Memory
        </message>
        <message name="IDS_TASK_MANAGER_FPS_COLUMN" desc="The text of the FPS column">
          FPS
        </message>
        <message name="IDS_TASK_MANAGER_SQLITE_MEMORY_USED_COLUMN" desc="Amount of memory used by SQLite.">
          SQLite Memory
        </message>
        <message name="IDS_TASK_MANAGER_JAVASCRIPT_MEMORY_ALLOCATED_COLUMN" desc="Task manager JavaScript memory allocated column.  Shows the amount of memory used by JavaScript within a process">
          JavaScript Memory
        </message>
        <message name="IDS_TASK_MANAGER_INSPECT" desc="Menu item initiating resource inspection">
          Inspect
        </message>
        <message name="IDS_TASK_MANAGER_ACTIVATE" desc="Menu item initiating page activation">
          Activate
        </message>
      </if>
      <message name="IDS_TASK_MANAGER_ABOUT_MEMORY_LINK" desc="The caption of the Task Manager link to about:memory">
        Stats for nerds
      </message>
      <message name="IDS_TASK_MANAGER_MEM_CELL_TEXT" desc="The value displayed in the memory usage cells.">
        <ph name="NUM_KILOBYTES">$1<ex>5,000</ex></ph>K
      </message>
      <message name="IDS_TASK_MANAGER_CACHE_SIZE_CELL_TEXT" desc="The value displayed in the cache size cells.">
        <ph name="NUM_KILOBYTES">$1<ex>5,000</ex></ph>K (<ph name="NUM_KILOBYTES_LIVE">$2<ex>5,000</ex></ph>K live)
      </message>
      <message name="IDS_TASK_MANAGER_NA_CELL_TEXT" desc="The value displayed for network / webcache usage when the information is not available (Not Applicable).">
        N/A
      </message>
      <message name="IDS_TASK_MANAGER_HANDLES_CELL_TEXT" desc="The value displayed in the user/gdi cells.">
        <ph name="NUM_HANDLES">$1<ex>300</ex></ph> (<ph name="NUM_KILOBYTES_LIVE">$2<ex>500</ex></ph> peak)
      </message>
      <message name="IDS_TASK_MANAGER_WEB_BROWSER_CELL_TEXT" desc="The text of the web browser process row">
        Browser
      </message>
      <message name="IDS_TASK_MANAGER_EXTENSION_PREFIX" desc="The prefix for a Task Manager extension row (always visible if the extension has a view)">
        Extension: <ph name="EXTENSION_NAME">$1<ex>Sample Extension</ex></ph>
      </message>
      <message name="IDS_TASK_MANAGER_EXTENSION_INCOGNITO_PREFIX" desc="The prefix for a Task Manager incognito extension row (may not be visible if incognito is not open)">
        Incognito Extension: <ph name="EXTENSION_NAME">$1<ex>Sample Extension</ex></ph>
      </message>
      <message name="IDS_TASK_MANAGER_APP_PREFIX" desc="The prefix for a Task Manager app row (always visible if the app has a view)">
        App: <ph name="APP_NAME">$1<ex>Sample App</ex></ph>
      </message>
      <message name="IDS_TASK_MANAGER_APP_INCOGNITO_PREFIX" desc="The prefix for a Task Manager incognito app row (may not be visible if the app is not open in incognito)">
        Incognito App: <ph name="APP_NAME">$1<ex>Sample App</ex></ph>
      </message>
      <message name="IDS_TASK_MANAGER_TAB_PREFIX" desc="The prefix for a Task Manager Tab row">
        Tab: <ph name="TAB_NAME">$1<ex>Google</ex></ph>
      </message>
      <message name="IDS_TASK_MANAGER_TAB_INCOGNITO_PREFIX" desc="The prefix for a Task Manager incognito Tab row (may not be visible if incognito is not open)">
        Incognito Tab: <ph name="TAB_NAME">$1<ex>Google</ex></ph>
      </message>
      <message name="IDS_TASK_MANAGER_BACKGROUND_PREFIX" desc="The prefix for a Task Manager background page row">
        Background Page: <ph name="BACKGROUND_PAGE_URL">$1<ex>http://www.google.com</ex></ph>
      </message>
      <message name="IDS_TASK_MANAGER_PLUGIN_PREFIX" desc="The prefix for a Task Manager plugin row">
        Plug-in: <ph name="PLUGIN_NAME">$1<ex>Unknown Plug-in</ex></ph>
      </message>
      <message name="IDS_TASK_MANAGER_PLUGIN_BROKER_PREFIX" desc="Task Manager row for PPAPI plugin broker, which provides additional access for PPAPI plugins">
        Plug-in Broker: <ph name="PLUGIN_NAME">$1<ex>Unknown Plug-in</ex></ph>
      </message>
      <message name="IDS_TASK_MANAGER_PRERENDER_PREFIX" desc="The prefix for a Task Manager prerender row">
        Prerender: <ph name="PRERENDER_CONTENTS_NAME">$1<ex>http://www.google.com</ex></ph>
      </message>
      <message name="IDS_TASK_MANAGER_UNKNOWN_PLUGIN_NAME" desc="The prefix for a Task Manager plugin row">
        Unknown plug-in
      </message>
      <message name="IDS_TASK_MANAGER_WORKER_PREFIX" desc="The prefix for a Task Manager HTML5 Web Worker process row">
        Web Worker: <ph name="WORKER_NAME">$1<ex>http://www.domain.com</ex></ph>
      </message>
      <message name="IDS_TASK_MANAGER_UTILITY_PREFIX" desc="The prefix for a utility process row">
        Utility:
      </message>
      <message name="IDS_TASK_MANAGER_NACL_PREFIX" desc="The prefix for a Task Manager Native Client module row">
        Native Client module: <ph name="NEXE_NAME">$1<ex>Unknown Native Client module</ex></ph>
      </message>
      <message name="IDS_TASK_MANAGER_NACL_BROKER_PREFIX" desc="Task Manager row for Native Client broker, which acts as the sanbox manager for NaCl processes">
        Native Client security manager
      </message>
      <message name="IDS_TASK_MANAGER_GPU_PREFIX" desc="Task Manager row for the GPU process, which is the process doing all accelerated graphics rendering">
        GPU Process
      </message>
      <message name="IDS_TASK_MANAGER_NOTIFICATION_PREFIX" desc="The prefix for a Desktop Notification in the Task Manager">
        Notification: <ph name="NOTIFICATION_NAME">$1<ex>http://www.domain.com</ex></ph>
      </message>
      <message name="IDS_TASK_MANAGER_INSTANT_OVERLAY_PREFIX" desc="The prefix for an Instant overlay in the Task Manager">
        Instant: <ph name="INSTANT_OVERLAY_NAME">$1<ex>http://www.google.com/</ex></ph>
      </message>
      <message name="IDS_TASK_MANAGER_WEBVIEW_TAG_PREFIX" desc="The prefix for a guest page loaded in webview tag in the Task Manager">
        Webview: <ph name="WEBVIEW_TAG_NAME">$1<ex>Google</ex></ph>
      </message>

      <!-- Performance Monitor page -->
      <message name="IDS_PERFORMANCE_MONITOR_TITLE" desc="Title for the Performance tab.">
        Performance
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_FLAG_NOT_ENABLED_WARNING" desc="The warning which indicates that the kPerformanceMonitorGathering flag has not been enabled.">
        Warning: You do not have the performance monitoring flag enabled! Data displayed will be limited to any data which were gathered previously.
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_ENABLE_FLAG" desc="The text displayed for the link to enable the performance monitor flag.">
        Enable
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_NO_AGGREGATION_WARNING" desc="The warning which indicates that the page may be slow because the data are not being aggregated.">
        Warning: The data are not being aggregated! This may cause the page to be slow!
      </message>
      <!-- Time Range-Related -->
      <message name="IDS_PERFORMANCE_MONITOR_TIME_RANGE_SECTION" desc="Text displayed for the header of the section which allows the user to choose the window of time for which to display data.">
        Time Range
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_TIME_RESOLUTION_CATEGORY" desc="Text displayed for the category of different time resolutions, allowing the user to choose the granularity of the data.">
        Time Resolution
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_TIME_LAST_FIFTEEN_MINUTES" desc="Text displayed for the time option to display data for the most recent fifteen minutes.">
        Last 15 Minutes
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_TIME_LAST_HOUR" desc="Text displayed for the time option to display data for the most recent hour.">
        Last Hour
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_TIME_LAST_DAY" desc="Text displayed for the time option to display data for the most recent day.">
        Last Day
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_TIME_LAST_WEEK" desc="Text displayed for the time option to display data for the most recent week.">
        Last Week
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_TIME_LAST_MONTH" desc="Text displayed for the time option to display data for the most recent month.">
        Last Month
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_TIME_LAST_QUARTER" desc="Text displayed for the time option to display data for the most recent quarter-year.">
        Last Quarter
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_TIME_RANGE_BUTTON_HEADING" desc="Text displayed above the buttons to adjust the time range.">
        Shift Time Window
      </message>
      <!-- Aggregation-Related -->
      <message name="IDS_PERFORMANCE_MONITOR_AGGREGATION_CATEGORY" desc="Text displayed for the Aggregation category title.">
        Aggregation Method
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_AGGREGATION_NONE_NAME" desc="Text displayed for the None aggregation strategy title.">
        None
      </message>
      <message name = "IDS_PERFORMANCE_MONITOR_AGGREGATION_NONE_DESCRIPTION" desc="Text displayed on mouseover of the None aggregation strategy title.">
        Do not aggregate the data - this may be slow!
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_AGGREGATION_MEDIAN_NAME" desc="Text displayed for the Median aggregation strategy title.">
        Median
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_AGGREGATION_MEDIAN_DESCRIPTION" desc="Text displayed on mouseover of the Median aggregation strategy title.">
        Use medians, minimizing outlier effect in performance data
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_AGGREGATION_MEAN_NAME" desc="Text displayed for the Mean aggregation strategy title.">
        Mean
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_AGGREGATION_MEAN_DESCRIPTION" desc="Text displayed on mouseover of the Mean aggregation strategy title.">
        Weight all values equally in performance data
      </message>
      <!-- Event-Related -->
      <message name="IDS_PERFORMANCE_MONITOR_EVENTS_SECTION" desc="Text displayed for the header of the Events section.">
        Events to Display
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_EXTENSIONS_EVENT_CATEGORY" desc="Text displayed for the Extensions events category title.">
        Extensions
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_EXTENSIONS_EVENT_CATEGORY_DESCRIPTION" desc="Text displayed on mouseover of the Extension event category.">
        Events that are related to any extensions that are (or have been) installed in <ph name="SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph>
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_EXTENSION_INSTALL_EVENT" desc="Text displayed for the Extension Install event title.">
        Installs
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_EXTENSION_INSTALL_EVENT_DESCRIPTION" desc="Text displayed on mouseover of the Extension Install event checkbox.">
        Occurrences when an extension was installed
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_EXTENSION_INSTALL_EVENT_MOUSEOVER" desc="Text displayed on mouseover of an Extension Install event.">
        Extension Installed
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_EXTENSION_UNINSTALL_EVENT" desc="Text displayed for the Extension Uninstall event title.">
        Uninstalls
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_EXTENSION_UNINSTALL_EVENT_DESCRIPTION" desc="Text displayed on mouseover of the Extension Uninstall event checkbox.">
        Occurrences when an extension was uninstalled
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_EXTENSION_UNINSTALL_EVENT_MOUSEOVER" desc="Text displayed on mouseover of an Extension Uninstall event.">
        Extension Uninstalled
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_EXTENSION_UPDATE_EVENT" desc="Text displayed for the Extension Update event title.">
        Updates
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_EXTENSION_UPDATE_EVENT_DESCRIPTION" desc="Text displayed on mouseover of the Extension Update event checkbox.">
        Occurrences when an extension was updated
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_EXTENSION_UPDATE_EVENT_MOUSEOVER" desc="Text displayed on mouseover of an Extension Update event.">
        Extension Updated
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_EXTENSION_ENABLE_EVENT" desc="Text displayed for the Extension Enable event title.">
        Enables
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_EXTENSION_ENABLE_EVENT_DESCRIPTION" desc="Text displayed on mouseover of the Extension Enable event checkbox.">
        Occurrences when an extension was enabled
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_EXTENSION_ENABLE_EVENT_MOUSEOVER" desc="Text displayed on mouseover of an Extension Enable event.">
        Extension Enabled
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_EXTENSION_DISABLE_EVENT" desc="Text displayed for the Extension Disable event title.">
        Disables
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_EXTENSION_DISABLE_EVENT_DESCRIPTION" desc="Text displayed on mouseover of the Extension Disable event checkbox.">
        Occurrences when an extension was disabled
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_EXTENSION_DISABLE_EVENT_MOUSEOVER" desc="Text displayed on mouseover of an Extension Disable event.">
        Extension Disabled
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_CHROME_EVENT_CATEGORY_DESCRIPTION" desc="Text displayed on mouseover of the Chrome event category.">
        Events that are related to the <ph name="SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph> system.
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_CHROME_UPDATE_EVENT" desc="Text displayed for the Chrome Update event title.">
        Updates
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_CHROME_UPDATE_EVENT_DESCRIPTION" desc="Text displayed on mouseover of the Chrome Update event checkbox.">
        Occurrences when the version of <ph name="SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph> changed
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_CHROME_UPDATE_EVENT_MOUSEOVER" desc="Text displayed on mouseover of a Chrome Update event.">
        <ph name="SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph> Updated
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_EXCEPTIONS_EVENT_CATEGORY" desc="Text displayed for the Exceptions events' category title">
        Exceptions
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_EXCEPTIONS_EVENT_CATEGORY_DESCRIPTION" desc="Text displayed on mouseover of the Exceptions event category.">
        Events relating to <ph name="SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph> crashes and failures
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_RENDERER_HANG_EVENT" desc="Text displayed for the Renderer Freeze event title.">
        Renderer Freezes
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_RENDERER_HANG_EVENT_DESCRIPTION" desc="Text displayed on mouseover of the Renderer Freeze event checkbox.">
        Occurrences when a tab became unresponsive
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_RENDERER_HANG_EVENT_MOUSEOVER" desc="Text displayed on mouseover of a Renderer Freeze event.">
        Renderer Froze
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_RENDERER_CRASH_EVENT" desc="Text displayed for the Renderer Crash event title.">
        Renderer Crashes
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_RENDERER_CRASH_EVENT_DESCRIPTION" desc="Text displayed on mouseover of the Renderer Crash event checkbox.">
        Occurrences when a tab crashed ("<ph name="IDS_SAD_TAB_TITLE">$1<ex>Aw, Snap!</ex></ph>")
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_RENDERER_CRASH_EVENT_MOUSEOVER" desc="Text dispalyed on mouseover of a Renderer Crash event.">
        Renderer Crashed
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_RENDERER_KILLED_EVENT" desc="Text displayed for the Killed By OS Crash event title.">
        Process Kills
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_RENDERER_KILLED_EVENT_DESCRIPTION" desc="Text displayed on mouseover of the Killed By OS Crash event checkbox.">
        Occurrences when the OS killed a tab's process ("<ph name="IDS_KILLED_TAB_TITLE">$1<ex>He's dead, Jim!</ex></ph>")
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_RENDERER_KILLED_EVENT_MOUSEOVER" desc="Text displayed on mouseover of a Killed By OS Crash event.">
        Process Killed
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_UNCLEAN_EXIT_EVENT" desc="Text displayed for the Unclean Exit event title.">
        Unclean Exits
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_UNCLEAN_EXIT_EVENT_DESCRIPTION" desc="Text displayed on mouseover of the Unclean Exit event checkbox.">
        Occurrences when <ph name="SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph> did not shut down correctly
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_UNCLEAN_EXIT_EVENT_MOUSEOVER" desc="Text displayed on mouseover of an Unclean Exit event.">
        Unclean Exit
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_EVENT_TIME_MOUSEOVER" desc="Text displayed for the Time field of an event mouseover.">
        Time
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_EXTENSION_ID_MOUSEOVER" desc="Text displayed for the Extension ID field of an event mouseover.">
        Extension ID
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_EXTENSION_NAME_MOUSEOVER" desc="Text displayed for the Extension Name field of an event mouseover.">
        Extension Name
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_EXTENSION_URL_MOUSEOVER" desc="Text displayed for the Extension URL field of an event mouseover.">
        Extension URL
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_EXTENSION_LOCATION_MOUSEOVER" desc="Text displayed for the Extension Location field of an event mouseover.">
        Extension Location
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_EXTENSION_VERSION_MOUSEOVER" desc="Text displayed for the Extension Version field of an event mouseover.">
        Extension Version
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_EXTENSION_DESCRIPTION_MOUSEOVER" desc="Text displayed for the Extension Description field of an event mouseover.">
        Extension Description
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_PREVIOUS_VERSION_MOUSEOVER" desc="Text displayed for the Previous Version field of an event mouseover.">
        Previous Version
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_CURRENT_VERSION_MOUSEOVER" desc="Text displayed for the Current Version field of an event mouseover.">
        Current Version
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_URL_MOUSEOVER" desc="Text displayed for the URL field of an event mouseover.">
        URL
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_PROFILE_NAME_MOUSEOVER" desc="Text displayed for the Profile Name field of an event mouseover.">
        Profile Name
      </message>
      <!--- Metric-Related -->
      <message name="IDS_PERFORMANCE_MONITOR_METRICS_SECTION" desc="Text displayed for header of the Metrics section.">
        Metrics to Display
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_CPU_METRIC_CATEGORY" desc="Text displayed for the CPU metrics' category title">
        CPU
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_CPU_METRIC_CATEGORY_DESCRIPTION" desc="Text displayed on mouseover of the CPU metric category.">
        Metrics relating to the effect of <ph name="SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph> on the system's CPU
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_CPU_USAGE_METRIC" desc="Text displayed for the CPU Usage metric title.">
        CPU Usage
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_CPU_USAGE_METRIC_DESCRIPTION" desc="Text displayed for mouseover of the CPU Usage metric.">
        The combined CPU usage of all processes related to <ph name="SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph>
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_MEMORY_METRIC_CATEGORY" desc="Text displayed for the Memory metrics' category title">
        Memory
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_MEMORY_METRIC_CATEGORY_DESCRIPTION" desc = "Text displayed on mouseover of the Memory metric category.">
        Metrics relating to the effect of <ph name="SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph> on the system's memory
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_PRIVATE_MEMORY_USAGE_METRIC" desc="Text displayed for the Private Memory Usage metric title.">
        Private Memory Usage
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_PRIVATE_MEMORY_USAGE_METRIC_DESCRIPTION" desc="Text displayed on mouseover of the Private Memory Usage metric.">
        The combined private memory usage of all processes related to <ph name="SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph>
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_SHARED_MEMORY_USAGE_METRIC" desc="Text displayed for the Shared Memory Usage metric title.">
        Shared Memory Usage
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_SHARED_MEMORY_USAGE_METRIC_DESCRIPTION" desc="Text displayed on mouseover of the Shared Memory Usage metric.">
        The combined shared memory usage of all processes related to <ph name="SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph>
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_TIMING_METRIC_CATEGORY" desc="Text displayed for the Timing metrics' category title">
        Timing
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_TIMING_METRIC_CATEGORY_DESCRIPTION" desc="Text displayed on mouseover of the Timing metric category.">
        Metrics relating to the speed with which <ph name="SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph> performs requested actions
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_STARTUP_TIME_METRIC" desc="Text displayed for the Startup Time metric title.">
        Startups
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_STARTUP_TIME_METRIC_DESCRIPTION" desc="Text displayed on mouseover of the Startup Time metric.">
        The time it takes to fully start <ph name="SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph>
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_TEST_STARTUP_TIME_METRIC" desc="Text displayed for the Test Startup Time metric title.">
        Test Startups
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_TEST_STARTUP_TIME_METRIC_DESCRIPTION" desc="Text displayed on mouseover of the Test Startup Time metric.">
        The time it takes to fully start <ph name="SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph> in a testing environment
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_SESSION_RESTORE_TIME_METRIC" desc="Text displayed for the Session Restore Time metric title.">
        Session Restores
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_SESSION_RESTORE_TIME_METRIC_DESCRIPTION" desc="Text dispalyed on mouseover of the Session Restore Time metric.">
        The time it takes to restore a previous browsing session
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_PAGE_LOAD_TIME_METRIC" desc="Text displayed for the Page Load Time metric title.">
        Page Loads
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_PAGE_LOAD_TIME_METRIC_DESCRIPTION" desc="Text displayed on mouseover of the Page Load Time metric.">
        The time it takes to load a web page
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_NETWORK_METRIC_CATEGORY" desc="Text displayed for the Network metrics' category title.">
        Network
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_NETWORK_METRIC_CATEGORY_DESCRIPTION" desc="Text displayed on mouseover of the Network metric category.">
        Metrics related to the network usage of <ph name="SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph>
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_NETWORK_BYTES_READ_METRIC" desc="Text displayed for the Network Bytes Read metric title.">
        Bytes Read
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_NETWORK_BYTES_READ_METRIC_DESCRIPTION" desc="Text displayed on mouseover of the Network Bytes Read metric.">
        The number of bytes read across the network
      </message>
      <!-- Units -->
      <message name="IDS_PERFORMANCE_MONITOR_BYTES_UNIT" desc="Text displayed for when a unit is in bytes.">
        Bytes
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_KILOBYTES_UNIT" desc="Text displayed for when a unit is in kilobytes.">
        Kilobytes
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_MEGABYTES_UNIT" desc="Text displayed for when a unit is in megabytes.">
        Megabytes
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_GIGABYTES_UNIT" desc="Text displayed for when a unit is in gigabytes.">
        Gigabytes
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_TERABYTES_UNIT" desc="Text displayed for when a unit is in terabytes.">
        Terabytes
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_MICROSECONDS_UNIT" desc="Text displayed for when a unit is in microseconds.">
        Microseconds
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_MILLISECONDS_UNIT" desc="Text displayed for when a unit is in milliseconds.">
        Milliseconds
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_SECONDS_UNIT" desc="Text displayed for when a unit is in seconds.">
        Seconds
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_MINUTES_UNIT" desc="Text displayed for when a unit is in minutes.">
        Minutes
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_HOURS_UNIT" desc="Text displayed for when a unit is in hours.">
        Hours
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_DAYS_UNIT" desc="Text displayed for when a unit is in days.">
        Days
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_WEEKS_UNIT" desc="Text displayed for when a unit is in weeks.">
        Weeks
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_MONTHS_UNIT" desc="Text displayed for when a unit is in months.">
        Months
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_YEARS_UNIT" desc="Text displayed for when a unit is in years.">
        Years
      </message>
      <message name="IDS_PERFORMANCE_MONITOR_PERCENT_UNIT" desc="Text displayed for when a unit is in percent.">
        Percent
      </message>

      <!-- Theme preview info bar -->
      <message name="IDS_THEME_INSTALL_INFOBAR_LABEL" desc="Text displayed on an infobar when a theme has been installed.">
        Installed theme "<ph name="THEME_NAME">$1<ex>Snowflake Theme</ex></ph>".
      </message>
      <message name="IDS_THEME_INSTALL_INFOBAR_UNDO_BUTTON" desc="Text displayed on the button to undo a theme installation and go back to the previous theme.">
        Undo
      </message>

      <!-- Extension/App disabled notification -->
      <message name="IDS_EXTENSION_DISABLED_ERROR_LABEL" desc="Text displayed when an extension was disabled due to a new upgrade requiring an explicit permission check from the user.">
        The newest version of the extension "<ph name="EXTENSION_NAME">$1<ex>Flashblock</ex></ph>" requires more permissions, so it has been disabled.
      </message>
      <message name="IDS_APP_DISABLED_ERROR_LABEL" desc="Text displayed when an app was disabled due to a new upgrade requiring an explicit permission check from the user.">
        The newest version of the app "<ph name="APP_NAME">$1<ex>Pandora</ex></ph>" requires more permissions, so it has been disabled.
      </message>
      <message name="IDS_EXTENSION_DISABLED_ERROR_TITLE" desc="Title of the notification that an extension or app was disabled due to a new upgrade requiring an explicit permission check from the user.">
        <ph name="EXTENSION_NAME">$1<ex>Adblock</ex></ph> requires new permissions
      </message>
      <message name="IDS_EXTENSION_IS_BLACKLISTED" desc="Text displayed in an infobar when an extension is blacklisted and prevented from being installed.">
        Google has flagged "<ph name="EXTENSION_NAME">$1<ex>Google Talk</ex></ph>" as malicious and installation has been prevented.
      </message>

      <!-- Extension install prompt -->
      <message name="IDS_EXTENSION_INSTALL_PROMPT_TITLE" desc="Titlebar of the extension or app installation prompt window">
        Confirm Installation
      </message>
      <message name="IDS_EXTENSION_INSTALL_APP_PROMPT_TITLE" desc="Titlebar of the app installation prompt window">
        Confirm New App
      </message>
      <message name="IDS_EXTENSION_INSTALL_EXTENSION_PROMPT_TITLE" desc="Titlebar of the extension installation prompt window">
        Confirm New Extension
      </message>
      <message name="IDS_EXTENSION_INSTALL_THEME_PROMPT_TITLE" desc="Titlebar of the theme installation prompt window">
        Confirm New Theme
      </message>
      <message name="IDS_EXTENSION_UNINSTALL_PROMPT_TITLE" desc="Titlebar of the extension or app uninstallation prompt window">
        Confirm Removal
      </message>
      <message name="IDS_EXTENSION_RE_ENABLE_PROMPT_TITLE" desc="Titlebar of the extension or app prompt window when re-enabling an extension that requires additional permissions">
        Confirm Re-enable
      </message>
      <message name="IDS_EXTENSION_PERMISSIONS_PROMPT_TITLE" desc="Titlebar of the extension or app permissions prompt window">
        Confirm Permissions
      </message>
      <message name="IDS_EXTENSION_POST_INSTALL_PERMISSIONS_PROMPT_TITLE" desc="Titlebar of the extension or app permissions review window">
        Current Permissions
      </message>
      <message name="IDS_EXTENSION_LAUNCH_APP_PROMPT_TITLE" desc="Titlebar of the app launch prompt window">
        Confirm Launch App
      </message>
      <message name="IDS_EXTENSION_INSTALL_PROMPT_HEADING" desc="First bold line in the content area of the extension or app installation prompt. Asks the user if they want to install a particular extension or app.">
        Add "<ph name="EXTENSION_NAME">$1<ex>Gmail Checker</ex></ph>"?
      </message>
      <message name="IDS_EXTENSION_BUNDLE_INSTALL_PROMPT_HEADING_EXTENSIONS" desc="First bold line in the content area of the extension bundle installation prompt. Asks the user if they want to install the set of extensions.">
        Install these extensions?
      </message>
      <message name="IDS_EXTENSION_BUNDLE_INSTALL_PROMPT_HEADING_APPS" desc="First bold line in the content area of the app bundle installation prompt. Asks the user if they want to install the set of apps.">
        Install these apps?
      </message>
      <message name="IDS_EXTENSION_BUNDLE_INSTALL_PROMPT_HEADING_EXTENSION_APPS" desc="First bold line in the content area of the extension and app bundle installation prompt. Asks the user if they want to install the set of apps and extensions.">
        Install these apps and extensions?
      </message>
      <message name="IDS_EXTENSION_UNINSTALL_PROMPT_HEADING" desc="First bold line in the content area of the extension or app uninstallation prompt. Asks the user if they want to uninstall a particular extension or app.">
        Remove "<ph name="EXTENSION_NAME">$1<ex>Gmail Checker</ex></ph>"?
      </message>
      <message name="IDS_EXTENSION_RE_ENABLE_PROMPT_HEADING" desc="First bold line in the content area of the extension or app installation prompt. Asks the user if they want to re-enable a particular extension or app.">
        The newest version of "<ph name="EXTENSION_NAME">$1<ex>Gmail Checker</ex></ph>" has been disabled because it requires more permissions.
      </message>
      <message name="IDS_EXTENSION_PERMISSIONS_PROMPT_HEADING" desc="First bold line in the content area of the extension or app permissions prompt. Asks the user if they want to grant the permissions to the particular extension or app.">
        "<ph name="EXTENSION_NAME">$1<ex>Gmail Checker</ex></ph>" has requested additional permissions.
      </message>
      <message name="IDS_EXTENSION_POST_INSTALL_PERMISSIONS_PROMPT_HEADING" desc="First bold line in the content area of the extension or app permissions prompt. Shows the user the permissions a particular extension or app has.">
        <ph name="EXTENSION_NAME">$1<ex>Gmail Checker</ex></ph>
      </message>
      <message name="IDS_EXTENSION_LAUNCH_APP_PROMPT_HEADING" desc="First bold line in the content area of the app launch prompt. Asks the user if they want to launch a particular app.">
        Launch "<ph name="EXTENSION_NAME">$1<ex>Gmail Checker</ex></ph>"?
      </message>

      <!-- Extension alerts. -->
      <message name="IDS_EXTENSION_ALERT_TITLE" desc="Titlebar of the extension notification alert">
        Confirm Changes
      </message>
      <message name="IDS_EXTENSION_ALERT_ITEM_EXTERNAL" desc="A statement that an external extension has been newly installed. End users have no idea what an 'external' extension is, so we simply call them extensions.">
        The extension "<ph name="EXTENSION_NAME">$1<ex>Gmail Checker</ex></ph>" has been added.
      </message>
      <message name="IDS_EXTENSION_ALERT_ITEM_BLACKLISTED" desc="A statement that an extension has been newly blacklisted. http://www.google.com/support/chrome/bin/answer.py?hl=en&amp;answer=1210215 contains the language on which we're basing the phrasing.">
        The extension "<ph name="EXTENSION_NAME">$1<ex>Gmail Checker</ex></ph>" was automatically removed.
      </message>
      <message name="IDS_APP_ALERT_ITEM_EXTERNAL" desc="A statement that an external packaged app has been newly installed. End users have no idea what an 'external' app is, so we simply call them apps.">
        The app "<ph name="EXTENSION_NAME">$1<ex>Gmail</ex></ph>" has been added.
      </message>
      <message name="IDS_APP_ALERT_ITEM_BLACKLISTED" desc="A statement that a packaged app has been newly blacklisted. http://www.google.com/support/chrome/bin/answer.py?hl=en&amp;answer=1210215 contains the language on which we're basing the phrasing.">
        The app "<ph name="EXTENSION_NAME">$1<ex>Gmail</ex></ph>" was automatically removed.
      </message>
      <message name="IDS_EXTENSION_ALERT_ITEM_OK" desc="The title of the default button acknowledging the information presented.">
        OK
      </message>
      <message name="IDS_EXTENSION_ALERT_ITEM_DETAILS" desc="The title of the button asking for more information.">
        Details
      </message>

      <!-- Extension/App install dialog strings -->
      <message name="IDS_EXTENSION_PROMPT_APP_CONNECT_FROM_INCOGNITO" desc="Shown when a website tries to connect to an app from incognito mode, prompting the user to allow or deny the request.">
        Allow <ph name="ORIGIN">$1<ex>http://www.google.com</ex></ph> to communicate with the app "<ph name="EXTENSION_NAME">$2<ex>Gmail</ex></ph>"?
      </message>
      <message name="IDS_EXTENSION_PROMPT_EXTENSION_CONNECT_FROM_INCOGNITO" desc="Shown when a website tries to connect to an extension from incognito mode, prompting the user to allow or deny the request.">
        Allow <ph name="ORIGIN">$1<ex>http://www.google.com</ex></ph> to communicate with the extension "<ph name="EXTENSION_NAME">$2<ex>Gmail Checker</ex></ph>"?
      </message>
      <message name="IDS_EXTENSION_PROMPT_WILL_HAVE_ACCESS_TO" desc="Second line in the content area of the extension or app installation prompt. Note that the exact wording is important. This should mean that the extension or app _can_ access the listed privileges, but not necessarily that it will or needs to.">
        It can:
      </message>
      <message name="IDS_EXTENSION_PROMPT_WILL_NOW_HAVE_ACCESS_TO" desc="Second line in the content area of the extension or app re-enable prompt. Note that the exact wording is important. This should mean that the extension _can now_ access the listed privileges, but not necessarily that it will or needs to. This message appeared because the user must approve new permissions of the extension or app.">
        It can now:
      </message>
      <message name="IDS_EXTENSION_PROMPT_THESE_WILL_HAVE_ACCESS_TO" desc="Header for the permissions area of the bundled extension or app installation prompt. Note that the exact wording is important. This means that the extensions or apps _can_ access the listed privileges, but not necessarily that it will or needs to.">
        They can:
      </message>
      <message name="IDS_EXTENSION_PROMPT_WANTS_ACCESS_TO" desc="Second line in the content area of the extension or app permissions prompt. Note that the exact wording is important. This should mean that the extension _wants to_ access the listed privileges, but not necessarily that it will or needs to. This message appeared because the user must approve new permissions of the extension or app.">
        It could:
      </message>
      <message name="IDS_EXTENSION_PROMPT_CAN_ACCESS" desc="Second line in the content area of the extension or app permissions view dialog. Note that the exact wording is important. This should mean that the extension _can now_ access the listed privileges, because it has already been installed. This message appeared because the user must approve new permissions of the extension or app.">
        It can:
      </message>
      <message name="IDS_EXTENSION_NO_SPECIAL_PERMISSIONS" desc="Shown when the app/extension requires no special permission">
        Has no special permissions.
      </message>

      <message name="IDS_EXTENSION_PERMISSION_LINE" desc="Template for item in list of privileges that an extension or app has">
        • <ph name="PERMISSION">$1<ex>Access your data on all websites</ex></ph>
      </message>
      <message name="IDS_EXTENSION_RATING_COUNT" desc="Number of ratings an app or extensions has (displayed after star icons)">
        (<ph name="RATING_COUNT">$1<ex>46</ex></ph>)
      </message>
      <message name="IDS_EXTENSION_USER_COUNT" desc="Number of users an app or extension has">
        <ph name="USER_COUNT">$1<ex>10,479</ex></ph> users
      </message>
      <message name="IDS_EXTENSION_PROMPT_STORE_LINK" desc="Anchor text for link to Chrome Web Store in app or extension installation dialog">
        View details
      </message>
      <message name="IDS_EXTENSION_PROMPT_OAUTH_HEADER" desc="A line of explanatory text that precedes all GAIA account permissions that an extension requests. This is shown during installation.">
        On your <ph name="ACCOUNT_EMAIL">$1<ex>user@example.com</ex></ph> account, it can:
      </message>
      <message name="IDS_EXTENSION_PROMPT_OAUTH_REENABLE_HEADER" desc="A line of explanatory text that precedes all GAIA account permissions that an extension requests. This is shown when an app is being re-enabled after new permissions have been requested.">
        On your <ph name="ACCOUNT_EMAIL">$1<ex>user@example.com</ex></ph> account, it can now:
      </message>
      <message name="IDS_EXTENSION_PROMPT_OAUTH_PERMISSIONS_HEADER" desc="A line of explanatory text that precedes all GAIA account permissions that an extension might request. This is shown when an app requests permissions which are optional.">
        On your <ph name="ACCOUNT_EMAIL">$1<ex>user@example.com</ex></ph> account, it could:
      </message>
      <message name="IDS_EXTENSION_PROMPT_RETAINED_FILES_DEFAULT" desc="A line of explanatory text that precedes the list of files the app has permanent access to, showing how the number of files. This is shown when an app has persistent access to files. This is necessary for every language. This is the default for all the numbers NOT covered by special cases (singular, dual/two, few, many) some languages need. For CJK, Vietnamese, Turkish and Kannada, this is the only string necessary. For languages with singular-plural distinction, this is the generic plural. For Lithuanian, NUMBER_OF_FILES is 11 .. 19.">
        It has permanent access to <ph name="NUMBER_OF_FILES">#<ex>5</ex></ph> files.
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_EXTENSION_PROMPT_RETAINED_FILE_SINGULAR" desc="A line of explanatory text that precedes the list of files the app has permanent access to, showing how the number of files. This is shown when an app has persistent access to files. NUMBER_OF_FILES is one or one-like numbers : 1 (many European and most Indian languages), 1 and 0 (French, Brazilian Portuguese and Hindi), 1,21,31, .. (Russian, Ukrainian, Croatian, Serbian, Latvian, Lithuanian), or 1, 101, 201, .. (Slovenian). Do NOT translate this for CJK, Vietnamese, Turkish and Kannada">
        It has permanent access to <ph name="NUMBER_OF_FILES">#<ex>1</ex></ph> file.
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_EXTENSION_PROMPT_RETAINED_FILE_SINGULAR" desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_EXTENSION_PROMPT_RETAINED_FILES_ZERO" desc="A line of explanatory text that precedes the list of files the app has permanent access to, showing how the number of files. This is shown when an app has persistent access to files. NUMBER_OF_FILES is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        It has permanent access to <ph name="NUMBER_OF_FILES">#<ex>0</ex></ph> files.
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_EXTENSION_PROMPT_RETAINED_FILES_ZERO" desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_EXTENSION_PROMPT_RETAINED_FILES_TWO" desc="A line of explanatory text that precedes the list of files the app has permanent access to, showing how the number of files. This is shown when an app has persistent access to files. NUMBER_OF_FILES is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        It has permanent access to <ph name="NUMBER_OF_FILES">#<ex>2</ex></ph> files.
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_EXTENSION_PROMPT_RETAINED_FILES_TWO" desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_EXTENSION_PROMPT_RETAINED_FILES_FEW" desc="A line of explanatory text that precedes the list of files the app has permanent access to, showing how the number of files. This is shown when an app has persistent access to files. NUMBER_OF_FILES is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        It has permanent access to <ph name="NUMBER_OF_FILES">#<ex>3</ex></ph> files.
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_EXTENSION_PROMPT_RETAINED_FILES_FEW" desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_EXTENSION_PROMPT_RETAINED_FILES_MANY" desc="A line of explanatory text that precedes the list of files the app has permanent access to, showing how the number of files. This is shown when an app has persistent access to files. NUMBER_OF_FILES is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        It has permanent access to <ph name="NUMBER_OF_FILES">#<ex>23</ex></ph> files.
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_EXTENSION_PROMPT_RETAINED_FILES_MANY" desc="">
        NA
      </message>
      </if>

      <if expr="is_android">
        <message name="IDS_EXTENSION_PROMPT_WARNING_FULL_ACCESS" desc="Mobile: Permission string for full access to the device and all websites.">
          Access all data on your device and the websites you visit
        </message>
      </if>
      <if expr="not is_android">
        <message name="IDS_EXTENSION_PROMPT_WARNING_FULL_ACCESS" desc="Permission string for full access to the computer and all websites.">
          Access all data on your computer and the websites you visit
        </message>
      </if>
      <message name="IDS_EXTENSION_PROMPT_WARNING_ALL_HOSTS" desc="Permission string for access to data on all websites.">
        Access your data on all websites
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_1_HOST" desc="Permission string for access to data on one website.">
        Access your data on <ph name="WEBSITE_1">$1<ex>www.google.com</ex></ph>
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_2_HOSTS" desc="Permission string for access to data on two websites.">
        Access your data on <ph name="WEBSITE_1">$1<ex>www.google.com</ex></ph> and <ph name="WEBSITE_2">$2<ex>www.reddit.com</ex></ph>
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_3_HOSTS" desc="Permission string for access to data on three websites.">
        Access your data on <ph name="WEBSITE_1">$1<ex>www.google.com</ex></ph>, <ph name="WEBSITE_2">$2<ex>www.reddit.com</ex></ph>, and <ph name="WEBSITE_3">$3<ex>news.ycombinator.com</ex></ph>
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_DEFAULT" desc="Permission string for access to data on four or more websites. This is necessary for every language. This is the default for all the numbers NOT covered by special cases (singular, dual/two, few, many) some languages need. For CJK, Vietnamese, Turkish and Kannada, this is the only string necessary. For languages with singular-plural distinction, this is the generic plural. For Lithuanian, NUMBER_OF_WEBSITES is 11 .. 19.">
        Access your data on <ph name="NUMBER_OF_WEBSITES">#<ex>5</ex></ph> websites
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_EXTENSION_PROMPT_WARNING_HOST_SINGULAR" desc="Permission string for access to data on four or more websites. NUMBER_OF_WEBSITES is one or one-like numbers : 1 (many European and most Indian languages), 1 and 0 (French, Brazilian Portuguese and Hindi), 1,21,31, .. (Russian, Ukrainian, Croatian, Serbian, Latvian, Lithuanian), or 1, 101, 201, .. (Slovenian). Do NOT translate this for CJK, Vietnamese, Turkish and Kannada">
        Access your data on <ph name="NUMBER_OF_WEBSITES">#<ex>1</ex></ph> websites
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_EXTENSION_PROMPT_WARNING_HOST_SINGULAR" desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_ZERO" desc="Permission string for access to data on four or more websites. NUMBER_OF_WEBSITES is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        Access your data on <ph name="NUMBER_OF_WEBSITES">#<ex>0</ex></ph> websites
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_ZERO" desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_TWO" desc="Permission string for access to data on four or more websites. NUMBER_OF_WEBSITES is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        Access your data on <ph name="NUMBER_OF_WEBSITES">#<ex>2</ex></ph> websites
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_TWO" desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_FEW" desc="Permission string for access to data on four or more websites. NUMBER_OF_WEBSITES is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        Access your data on <ph name="NUMBER_OF_WEBSITES">#<ex>3</ex></ph> websites
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_FEW" desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_MANY" desc="Permission string for access to data on four or more websites. NUMBER_OF_WEBSITES is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        Access your data on <ph name="NUMBER_OF_WEBSITES">#<ex>23</ex></ph> websites
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_MANY" desc="">
        NA
      </message>
      </if>
      <message name="IDS_EXTENSION_PROMPT_WARNING_HOST_LIST" desc="Permission string (heading) for a list of websites.">
        Access your data on the following websites:
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_HOST_LIST_ENTRY" desc="Single entry in a list of websites.">
        - <ph name="WEBSITE_1">$1<ex>www.google.com</ex></ph>
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_FAVICON" desc="Permission string for access to favicons.">
        Access the icons of the websites you visit.
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_INPUT" desc="Permission string for access to input.">
        Access anything you type.
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_BOOKMARKS" desc="Permission string for access to bookmarks.">
        Read and modify your bookmarks
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_BROWSING_HISTORY" desc="Permission string for access to browsing history.">
        Read and modify your browsing history
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_GEOLOCATION" desc="Permisson string for access to geolocation.">
        Detect your physical location
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_MANAGEMENT" desc="Permisson string for access to extension management.">
        Manage your apps, extensions, and themes
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_TABS" desc="Permission string for access to tabs.">
        Access your tabs and browsing activity
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_DEBUGGER" desc="Permission string for access to debugger.">
        Access the page debugger backend
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_CLIPBOARD" desc="Permission string for access to clipboard.">
        Access data you copy and paste
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_TTS_ENGINE" desc="Permission string for access to text-to-speech.">
        Access all text spoken using synthesized speech
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_CONTENT_SETTINGS" desc="Permission string for access to content settings.">
        Manipulate settings that control websites' access to cookies, JavaScript, and plug-ins
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_PRIVACY" desc="Permission string for access to privacy settings.">
        Manipulate privacy-related settings
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_SIGNED_IN_DEVICES" desc="Permission string for access to privacy settings.">
        Access the list of your signed-in devices
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_USB" desc="Permission string for access to USB devices.">
        Access USB devices
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_BLUETOOTH" desc="Permission string for general access to the Bluetooth API.">
        Access information about Bluetooth devices paired with your system.
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_BLUETOOTH_DEVICES" desc="Permission string for implementing Bluetooth profiles.">
        Access Bluetooth devices paired with your system.
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_USB_DEVICE" desc="Permission string for access to a specific USB device.">
        Access the USB device <ph name="PRODUCT_NAME">$1<ex>SoundKnob</ex></ph> from <ph name="VENDOR_NAME">$2<ex>Griffin Technology</ex></ph>.
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_USB_DEVICE_MISSING_VENDOR" desc="Permission string for access to a specific USB device when a vendor name cannot be established for a USB device.">
        Access the USB device.
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_USB_DEVICE_MISSING_PRODUCT" desc="Permission string for access to a specific USB device when a product name cannot be established for a USB device.">
        Access the USB device from <ph name="VENDOR_NAME">$1<ex>Griffin Technology</ex></ph>.
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_AUDIO_CAPTURE" desc="Permission string for access to audio capture devices.">
        Use your microphone
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_VIDEO_CAPTURE" desc="Permission string for access to video capture devices.">
        Use your camera
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_AUDIO_AND_VIDEO_CAPTURE" desc="Permission string for access to both audio and video capture devices.">
        Use your microphone and camera
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_DOWNLOADS" desc="Permission string for access to downloads.">
        Manage your downloads
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_DOWNLOADS_OPEN" desc="Permission string for access to downloads.">
        Open downloaded files
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_WALLPAPER" desc="Permission string for access to wallpaper.">
        Change your wallpaper
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_FILE_SYSTEM_DIRECTORY" desc="Permission string for read access to directories and their contents.">
        Read folders that you open in the application
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_FILE_SYSTEM_WRITE" desc="Permission string for write access to the file system.">
        Write to files that you open in the application
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_FILE_SYSTEM_WRITE_DIRECTORY" desc="Permission string for write access to directories and their contents.">
        Write to files and folders that you open in the application
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_MEDIA_GALLERIES_READ_WRITE" desc="Permission string for access to read and write to all of the user's media galleries.">
        Access and change photos, music, and other media from your computer.
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_MEDIA_GALLERIES_READ_DELETE" desc="Permission string for access to read and delete all of the user's media galleries.">
        Access and delete photos, music, and other media from your computer.
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_MEDIA_GALLERIES_READ" desc="Permission string for access to read all of the user's media galleries.">
        Access photos, music, and other media from your computer.
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_SERIAL" desc="Permission string for access to serial devices.">
        Use serial devices attached to your computer
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_SOCKET_ANY_HOST" desc="Permission string for access to any computer on the local network or internet.">
        Exchange data with any computer on the local network or internet
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_SOCKET_HOSTS_IN_DOMAIN" desc="Permission string for access to any computer within a single domains on the local network or internet.">
        Exchange data with any computer in the domain <ph name="DOMAIN">$1<ex>example.com</ex></ph>
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_SOCKET_HOSTS_IN_DOMAINS" desc="Permission string for access to any computer within multiple domains on the local network or internet.">
        Exchange data with any computer in the domains: <ph name="DOMAINS">$1<ex>example.com example.org</ex></ph>
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_SOCKET_SPECIFIC_HOST" desc="Permission string for access to a single specific computers on the local network or internet.">
        Exchange data with the computer named <ph name="HOSTNAME">$1<ex>foo.example.com</ex></ph>
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_SOCKET_SPECIFIC_HOSTS" desc="Permission string for access to multiple specific computers on the local network or internet.">
        Exchange data with the computers named: <ph name="HOSTNAMES">$1<ex>foo.example.com bar.example.com</ex></ph>
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_SYSTEM_INDICATOR" desc="Permission string for access to an icon in the system indicator area, such as the taskbar or system tray.">
        Display and manage an icon in the system indicator area.
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_SYNCFILESYSTEM" desc="Permission string for synchronizing files to the user's Google Drive">
        Store data in your Google Drive account
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_MUSIC_MANAGER_PRIVATE" desc="Permission string for accessing a unique device identifier">
        Access a unique identifier for this computer
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_NATIVE_MESSAGING" desc="Permission string for Native Messaging API.">
        Communicate with cooperating native applications
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_WEB_CONNECTABLE" desc="Permission string for allowing websites to connect to extensions.">
        Communicate with cooperating websites
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_SCREENLOCK_PRIVATE" desc="Permission string for locking an unlocking the screen.">
        Lock and unlock the screen
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_HIDE_BOOKMARK_STAR" desc="Permission string for hiding the bookmark star button.">
        Hide the bookmark star
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_ACTIVITY_LOG_PRIVATE" desc="Permission string for the observing other extensions' API calls">
        Monitor the behavior of other extensions, including visited URLs
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_NETWORKING_PRIVATE" desc="Permission string for Networking Private API.">
        Manage network connections
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_DESKTOP_CAPTURE" desc="Permission string for Desktop Capture API.">
        Capture content of your screen
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_DECLARATIVE_WEB_REQUEST" desc="Permission string for Declarative Web Request API.">
        Block parts of web pages
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_NETWORK_STATE" desc="Permission string for network list access.">
        Access list of network connections
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_SEARCH_SETTINGS_OVERRIDE" desc="Permission string for search settings override.">
        Change your search settings to: <ph name="SEARCH_HOST">$1<ex>url.search.com</ex></ph>
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_HOME_PAGE_SETTING_OVERRIDE" desc="Permission string for home page override.">
        Change your home page to: <ph name="HOME_PAGE">$1<ex>home.page.com/home.html</ex></ph>
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_START_PAGE_SETTING_OVERRIDE" desc="Permission string for start page override.">
        Change your start page to: <ph name="START_PAGE">$1<ex>start.page.com/start.html</ex></ph>
      </message>

      <!-- Extension/App error messages -->
      <message name="IDS_EXTENSION_CANT_GET_ABSOLUTE_PATH" desc="Warning displayed in pack dialog when the absolute path to the extension directory can not be found.">
        Can't find the absolute path to the directory to pack.
      </message>
      <message name="IDS_EXTENSION_DIRECTORY_NO_EXISTS" desc="Warning displayed in pack dialog when the extension directory does not exist.">
        Input directory must exist.
      </message>
      <message name="IDS_EXTENSION_DISALLOW_NON_DOWNLOADED_GALLERY_INSTALLS" desc="Error displayed when an app or extension that has an update URL used by the gallery is installed when not directly downloaded from the gallery.">
        This can only be added from the <ph name="CHROME_WEB_STORE">$1<ex>Web Store</ex></ph>.
      </message>
      <message name="IDS_EXTENSION_PRIVATE_KEY_INVALID_PATH" desc="Warning displayed in pack dialog when the private key must be a valid path.">
        Input value for private key must be a valid path.
      </message>
      <message name="IDS_EXTENSION_PRIVATE_KEY_EXISTS" desc="Warning displayed in pack dialog when the private key for the extension already exists.">
        A private key for specified extension already exists. Reuse that key or delete it first.
      </message>
      <message name="IDS_EXTENSION_PRIVATE_KEY_NO_EXISTS" desc="Warning displayed in pack dialog when the private key for the extension does not exist.">
        Input value for private key must exist.
      </message>
      <message name="IDS_EXTENSION_PACK_WARNING_TITLE" desc="Warning title message for pack extension">
        Pack Extension Warning
      </message>
      <message name="IDS_EXTENSION_PACK_ERROR_TITLE" desc="Error title message for pack extension">
        Pack Extension Error
      </message>
      <message name="IDS_EXTENSION_CRX_EXISTS" desc="Warning displayed in pack dialog when the crx file already exists.">
        There is already a CRX file present with this name.
      </message>
      <message name="IDS_EXTENSION_PROCEED_ANYWAY" desc="Button to continue with operation in extension packing">
        Proceed anyway
      </message>
      <message name="IDS_EXTENSION_PRIVATE_KEY_FAILED_TO_READ" desc="Warning displayed in pack dialog when was not possible to read the private key of the extension.">
        Failed to read private key.
      </message>
      <message name="IDS_EXTENSION_PRIVATE_KEY_INVALID" desc="Warning displayed in pack dialog when the private key of extensions is invalid.">
        Invalid private key.
      </message>
      <message name="IDS_EXTENSION_PRIVATE_KEY_FAILED_TO_GENERATE" desc="Warning displayed in pack dialog when generating a random RSA private key failed.">
        Yikes! Failed to generate random RSA private key.
      </message>
      <message name="IDS_EXTENSION_PRIVATE_KEY_FAILED_TO_EXPORT" desc="Warning displayed in pack dialog when exporting a private key failed.">
        Failed to export private key.
      </message>
      <message name="IDS_EXTENSION_PRIVATE_KEY_FAILED_TO_OUTPUT" desc="Warning displayed in pack dialog when outputing a private key failed.">
        Failed to output private key.
      </message>
      <message name="IDS_EXTENSION_FAILED_DURING_PACKAGING" desc="Warning displayed in pack dialog when was not possible to create a zip file.">
        Failed to create temporary zip file during packaging.
      </message>
      <message name="IDS_EXTENSION_ERROR_WHILE_SIGNING" desc="Warning displayed in pack dialog when occurred an error while signing an extension.">
        Error while signing extension.
      </message>
      <message name="IDS_EXTENSION_SHARING_VIOLATION" desc="Warning displayed in pack dialog when a sharing violation is found during creation of the crx.">
        Failed to replace crx file. Check to see if the file is in use.
      </message>
      <message name="IDS_EXTENSION_PUBLIC_KEY_FAILED_TO_EXPORT" desc="Warning displayed in pack dialog when exporting a public key failed.">
        Failed to export public key.
      </message>
      <message name="IDS_EXTENSION_CANT_DOWNGRADE_VERSION" desc="Error message when a user tries to install an extension with a lower version than a version that it already installed.">
        Attempted to downgrade extension.
      </message>
      <message name="IDS_APP_CANT_DOWNGRADE_VERSION" desc="Error message when a user tries to install an app with a lower version than a version that it already installed.">
        Attempted to downgrade app.
      </message>
      <message name="IDS_EXTENSION_WEBGL_NOT_SUPPORTED" desc="Error message when an extension has a requirement for WebGL that the system does not support.">
        WebGL is not supported.
      </message>
      <message name="IDS_EXTENSION_CSS3D_NOT_SUPPORTED" desc="Error message when an extension has a requirement for CSS3d that the system does not support.">
        CSS3d is not supported.
      </message>
      <message name="IDS_EXTENSION_NPAPI_NOT_SUPPORTED" desc="Error message when an extension has a requirement for plugins that the system does not support.">
        NPAPI plugins are not supported.
      </message>
      <message name="IDS_EXTENSION_CANT_INSTALL_POLICY_BLOCKED" desc="Error message when a user tries to install an extension that is blocked by administrator policy.">
        <ph name="EXTENSION_NAME">$1<ex>Google Talk</ex></ph> (extension ID "<ph name="EXTENSION_ID">$2<ex>nckgahadagoaajjgafhacjanaoiihapd</ex></ph>") is blocked by the administrator.
      </message>
      <message name="IDS_EXTENSION_CANT_INSTALL_IN_DEVICE_LOCAL_ACCOUNT" desc="Error message when a user tries to install or the administrator tries to force-install through policy an extension that is not allowed in a device-local account.">
        <ph name="EXTENSION_NAME">$1<ex>Google Talk</ex></ph> (extension ID "<ph name="EXTENSION_ID">$2<ex>nckgahadagoaajjgafhacjanaoiihapd</ex></ph>") is not allowed in this type of session.
      </message>
      <message name="IDS_EXTENSION_CANT_MODIFY_POLICY_REQUIRED" desc="Error message when a user tries to remove or change an extension that is required by administrator policy.">
        The administrator of this machine requires <ph name="EXTENSION_NAME">$1<ex>Google Talk</ex></ph> to be installed. It cannot be removed or modified.
      </message>
      <message name="IDS_EXTENSION_MOVE_DIRECTORY_TO_PROFILE_FAILED" desc="">
        Could not move extension directory into profile.
      </message>
      <message name="IDS_EXTENSION_MANIFEST_UNREADABLE" desc="">
        Manifest file is missing or unreadable.
      </message>
      <message name="IDS_EXTENSION_MANIFEST_INVALID" desc="">
        Manifest file is invalid.
      </message>
      <message name="IDS_EXTENSION_INSTALL_NOT_ENABLED" desc="Error displayed during installation of apps or extensions when installation is not enabled.">
        Installation is not enabled.
      </message>
      <message name="IDS_EXTENSION_INSTALL_INCORRECT_APP_CONTENT_TYPE" desc="Error displayed during installation of apps when the app is not served with the correct content-type.">
        Apps must be served with content-type "<ph name="CONTENT_TYPE">$1<ex>application/x-chrome-extension</ex></ph>".
      </message>
      <message name="IDS_EXTENSION_INSTALL_INCORRECT_INSTALL_HOST" desc="Error displayed during installation of apps when the app is served from a different host than it affects.">
        Apps must be served from the host they affect.
      </message>
      <message name="IDS_EXTENSION_INSTALL_UNEXPECTED_ID" desc="Error displayed during installation of a side-loaded app, extension, or theme when the ID of the referenced extension does not match the ID the developer declared during registration.">
        Expected ID "<ph name="EXPECTED_ID">$1<ex>bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</ex></ph>", but ID was "<ph name="NEW_ID">$2<ex>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</ex></ph>".
      </message>
      <message name="IDS_EXTENSION_INSTALL_DISALLOWED_ON_SITE" desc="Error displayed during installation of an extension when installation is not allowed from the current site.">
        Apps, extensions, and user scripts cannot be added from this website.
      </message>
      <message name="IDS_EXTENSION_INSTALL_UNEXPECTED_VERSION" desc="Error displayed during installation of a side-loaded app, extension, or theme when the version of the referenced extension does not match the version the developer declared during registration.">
        Expected version "<ph name="EXPECTED_VERSION">$1<ex>2.0</ex></ph>", but version was "<ph name="NEW_ID">$2<ex>1.0</ex></ph>".
      </message>
      <message name="IDS_EXTENSION_INSTALL_DEPENDENCY_NOT_FOUND" desc="Error displayed during installation of an extension when an import dependency is not found.">
        Required extension with ID "<ph name="IMPORT_ID">$1<ex>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</ex></ph>" and minimum version "<ph name="IMPORT_VERSION">$2<ex>1.0</ex></ph>" not found.
      </message>
      <message name="IDS_EXTENSION_INSTALL_DEPENDENCY_NOT_SHARED_MODULE" desc="Error displayed during installation of an extension which tries to imports resources from an extension which is not a shared module.">
        Unable to import extension with ID "<ph name="IMPORT_ID">$1<ex>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</ex></ph>" because it is not a shared module.
      </message>
      <message name="IDS_EXTENSION_INSTALL_KIOSK_MODE_ONLY" desc="Error displayed during installation of an app with 'kiosk_only' attribute but user is not in ChromeOS kiosk mode.">
        App with 'kiosk_only' manifest attribute must be installed in ChromeOS kiosk mode.
      </message>
      <message name="IDS_EXTENSION_OVERLAPPING_WEB_EXTENT" desc="Error message when a user tries to install an app with a web extent that overlaps another installed app.">
        Could not add application because it conflicts with "<ph name="APP_NAME">$1<ex>Google Mail</ex></ph>".
      </message>
      <message name="IDS_EXTENSION_LOCALES_NO_DEFAULT_LOCALE_SPECIFIED" desc="">
        Localization used, but default_locale wasn't specified in the manifest.
      </message>
      <message name="IDS_EXTENSION_INVALID_IMAGE_PATH" desc="">
        Could not load '<ph name="IMAGE_PATH">$1<ex>/path/to/file</ex></ph>' for theme.
      </message>
      <message name="IDS_EXTENSION_LOAD_ICON_FAILED" desc="">
        Could not load extension icon '<ph name="ICON">$1<ex>icon.png</ex></ph>'.
      </message>
      <message name="IDS_EXTENSION_LOAD_JAVASCRIPT_FAILED" desc="">
        Could not load javascript '<ph name="RELATIVE_PATH">$1<ex>javas.js</ex></ph>' for content script.
      </message>
      <message name="IDS_EXTENSION_LOAD_CSS_FAILED" desc="">
        Could not load css '<ph name="RELATIVE_PATH">$1<ex>file.css</ex></ph>' for content script.
      </message>
      <message name="IDS_EXTENSION_BAD_FILE_ENCODING" desc="">
        Could not load file '<ph name="RELATIVE_PATH">$1<ex>file.js</ex></ph>' for content script. It isn't UTF-8 encoded.
      </message>
      <message name="IDS_EXTENSION_LOAD_PLUGIN_PATH_FAILED" desc="">
        Could not load '<ph name="PLUGIN_PATH">$1<ex>/path/to/file</ex></ph>' for plugin.
      </message>
      <message name="IDS_EXTENSION_LOAD_ICON_FOR_PAGE_ACTION_FAILED" desc="">
        Could not load icon '<ph name="ICON">$1<ex>icon.png</ex></ph>' for page action.
      </message>
      <message name="IDS_EXTENSION_LOAD_ICON_FOR_BROWSER_ACTION_FAILED" desc="">
        Could not load icon '<ph name="ICON">$1<ex>icon.png</ex></ph>' for browser action.
      </message>
      <message name="IDS_EXTENSION_LOAD_BACKGROUND_SCRIPT_FAILED" desc="">
        Could not load background script '<ph name="BACKGROUND_SCRIPT">$1<ex>script.js</ex></ph>'.
      </message>
      <message name="IDS_EXTENSION_LOAD_BACKGROUND_PAGE_FAILED" desc="">
        Could not load background page '<ph name="BACKGROUND_PAGE">$1<ex>page.html</ex></ph>'.
      </message>
      <message name="IDS_EXTENSION_LOAD_OPTIONS_PAGE_FAILED" desc="">
        Could not load options page '<ph name="OPTIONS_PAGE">$1<ex>page.html</ex></ph>'.
      </message>
      <message name="IDS_EXTENSION_LOAD_INPUT_VIEW_FAILED" desc="">
        Could not load input view '<ph name="INPUT_VIEW">$1<ex>page.html</ex></ph>'.
      </message>
      <if expr="is_win">
        <message name="IDS_EXTENSION_UNPACK_FAILED" desc="On windows, it is possible to mount a disk without the root of that disk having a drive letter.  The sandbox does not support this. See crbug/49530 .">
          Can not unpack extension.  To safely unpack an extension, there must be a path to your profile directory that starts with a drive letter and does not contain a junction, mount point, or symlink.  No such path exists for your profile.
        </message>
      </if>
      <if expr="not is_win">
        <message name="IDS_EXTENSION_UNPACK_FAILED" desc="">
          Can not unpack extension.  To safely unpack an extension, there must be a path to your profile directory that does not contain a symlink.  No such path exists for your profile.
        </message>
      </if>
      <message name="IDS_EXTENSION_PACKAGE_ERROR_MESSAGE" desc="The cases where we get an error message string back from some other component. The message might be in English, but these are typically developer errors, and the extension SDK is English.">
        Package is invalid. Details: '<ph name="ERROR_MESSAGE">$1<ex>error</ex></ph>'.
      </message>
      <message name="IDS_EXTENSION_PACKAGE_ERROR_CODE" desc="Error message in cases where we fail to install the extension because the crx file is invalid. For example, because the crx header or signature is invalid.">
        Package is invalid: '<ph name="ERROR_CODE">$1<ex>error</ex></ph>'.
      </message>
      <message name="IDS_EXTENSION_PACKAGE_INSTALL_ERROR" desc="Error message in case package fails to install because of some problem with the filesystem.">
        Could not install package: '<ph name="ERROR_CODE">$1<ex>error</ex></ph>'
      </message>
      <message name="IDS_EXTENSION_CONTAINS_PRIVATE_KEY" desc="Error message when an extension includes a file containing a private key.">
        This extension includes the key file '<ph name="KEY_PATH">$1<ex>relative/path/to/file.pem</ex></ph>'. You probably don't want to do that.
      </message>
      <message name="IDS_EXTENSION_PACKAGE_DIRECTORY_ERROR" desc="Message for when an error occurs while trying to create the temporary directory needed to unzip a packaged extension or app.">
        Could not create directory for unzipping: '<ph name="DIRECTORY_PATH">$1<ex>profile/Extensions/CRX_INSTALL</ex></ph>'
      </message>
      <message name="IDS_EXTENSION_PACKAGE_UNZIP_ERROR" desc="Message for when an error occurs while unzipping a packaged extension or app.">
        Could not unzip extension
      </message>
      <message name="IDS_EXTENSION_PACKAGE_IMAGE_PATH_ERROR" desc="Error message for when a packaged extension or app contains a reference to an image that could be outside the package.">
        Illegal path (absolute or relative with '..'): '<ph name="IMAGE_PATH">$1<ex>../image.png</ex></ph>'
      </message>
      <message name="IDS_EXTENSION_PACKAGE_IMAGE_ERROR" desc="Message for when an error occurs while trying to decode an image found within a packaged extension or app.">
        Could not decode image: '<ph name="IMAGE_NAME">$1<ex>image.png</ex></ph>'
      </message>

      <!-- Extension installed bubble -->
      <message name="IDS_EXTENSION_BUNDLE_INSTALLED_HEADING_EXTENSIONS" desc="First line in the content area of the extension bundle installed bubble. Instructs which extensions were installed.">
        The following extensions are now installed:
      </message>
      <message name="IDS_EXTENSION_BUNDLE_INSTALLED_HEADING_APPS" desc="First line in the content area of the extension bundle installed bubble. Instructs which apps were installed.">
        The following apps are now installed:
      </message>
      <message name="IDS_EXTENSION_BUNDLE_INSTALLED_HEADING_EXTENSION_APPS" desc="First line in the content area of the extension bundle installed bubble. Instructs which apps and extensions were installed.">
        The following apps and extensions were added:
      </message>
      <message name="IDS_EXTENSION_BUNDLE_ERROR_HEADING" desc="Text displayed in the extension bundle installed bubble when some extensions or apps failed to install. Instructs which extensions did not install.">
        We were unable to install:
      </message>
      <message name="IDS_EXTENSION_INSTALLED_APP_INFO" desc="Text displayed inside a link when an app is installed. Clicking this link opens up the New Tab Page to show the app's icon.">
        Show me
      </message>
      <message name="IDS_EXTENSION_INSTALLED_PAGE_ACTION_INFO" desc="Text displayed in the InfoBubble which explains that the UI of this extension is a Page Action icon which may appear for some pages.">
        This icon will be visible when the extension can act on the current page.
      </message>
      <message name="IDS_EXTENSION_INSTALLED_PAGE_ACTION_INFO_WITH_SHORTCUT" desc="Text displayed in the InfoBubble which explains that the UI of this extension is a Page Action icon which may appear for some pages. Also has a sentence describing how to activate it.">
        This icon will be visible when the extension can act on the current page. Use this extension by clicking on the icon or by pressing <ph name="EXTENSION_SHORTCUT">$1<ex>Ctrl+E</ex></ph>.
      </message>
      <message name="IDS_EXTENSION_INSTALLED_BROWSER_ACTION_INFO" desc="Text displayed in the InfoBubble which explains that the UI of this extension is a Browser Action icon.">
        Use this extension by clicking on this icon.
      </message>
      <message name="IDS_EXTENSION_INSTALLED_BROWSER_ACTION_INFO_WITH_SHORTCUT" desc="Text displayed in the InfoBubble which explains that the UI of this extension is a Browser Action icon. Also has a sentence describing how to activate it.">
        Use this extension by clicking on this icon or by pressing <ph name="EXTENSION_SHORTCUT">$1<ex>Ctrl+E</ex></ph>.
      </message>
      <message name="IDS_EXTENSION_INSTALLED_OMNIBOX_KEYWORD_INFO" desc="Text displayed in the InfoBubble which explains that this extension has an keyword that can be used with the omnibox.">
        To use this extension, type "<ph name="EXTENSION_KEYWORD">$1<ex>search</ex></ph>", then TAB, then your command or search.
      </message>

      <message name="IDS_EXTENSION_INSTALLED_MANAGE_INFO" desc="Text displayed in the InfoBubble with instructions on how to find the chrome://extensions/ management page">
        Manage your extensions by clicking Extensions in the Tools menu.
      </message>
      <message name="IDS_EXTENSION_INSTALLED_MANAGE_INFO_CHROMEOS" desc="Text displayed in the InfoBubble with instructions on how to find the chrome://extensions/ management page on ChromeOS">
        Manage your extensions by clicking Extensions in the "More tools" menu.
      </message>
      <message name="IDS_EXTENSION_INSTALLED_MANAGE_INFO_MAC" desc="Text displayed in the InfoBubble with instructions on how to find the chrome://extensions/ management page on MAC OS X">
        Manage your extensions by clicking Extensions in the Window menu.
      </message>
      <message name="IDS_EXTENSION_INSTALLED_MANAGE_SHORTCUTS" desc="Text for the link in the InfoBubble that opens the chrome://extensions page with the Configure Commands UI visible.">
        Manage shortcuts
      </message>
      <message name="IDS_EXTENSION_INSTALLED_SIGNIN_PROMO_LINK" desc="The first part of the sign-in promo paragraph. This part will be converted to a link and will get more text appended to it (see IDS_EXTENSION_INSTALLED_SIGNIN_PROMO). Keep this text short.">
        Sign in to <ph name="SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph>
      </message>
      <message name="IDS_EXTENSION_INSTALLED_SIGNIN_PROMO" desc="The remaining text of the sign-in promo paragraph. Will be appended as a label to the string above. The triple single quotes are needed to preserve the space before the word 'to' (which is handy when the language (Chrome is being translated to) uses space as word separator).">
        ''' to get this extension, your history, and other Chrome settings on all your devices.'''
      </message>
      <message name="IDS_ACCNAME_INFOBAR_CONTAINER" desc="The accessible name for the infobar container.">
        Infobar Container
      </message>
      <message name="IDS_ACCNAME_INFOBAR_WARNING" desc="The accessible name for the warning infobar type.">
        Warning
      </message>
      <message name="IDS_ACCNAME_INFOBAR_PAGE_ACTION" desc="The accessible name for page action infobar type.">
        Page Action
      </message>

      <!-- Directory access confirmation dialog -->
      <message name="IDS_EXTENSIONS_DIRECTORY_CONFIRMATION_DIALOG_TITLE" desc="Text of the title of the directory access confirmation dialog.">
        Confirm Access
      </message>
      <message name="IDS_EXTENSIONS_DIRECTORY_CONFIRMATION_DIALOG_MESSAGE_READ_ONLY" desc="Text of the message of the directory access confirmation dialog if the app does not have write access.">
        The folder you selected contains sensitive files. Are you sure you want to grant "$1" permanent read access to this folder?
      </message>
      <message name="IDS_EXTENSIONS_DIRECTORY_CONFIRMATION_DIALOG_MESSAGE_WRITABLE" desc="Text of the message of the directory access confirmation dialog if the app has write access.">
        The folder you selected contains sensitive files. Are you sure you want to grant "$1" permanent write access to this folder?
      </message>

      <!-- chrome://settings/extensions page -->
      <message name="IDS_EXTENSIONS_DEVELOPER_MODE_LINK" desc="Text of the link for developer mode.">
        Developer mode
      </message>
      <message name="IDS_EXTENSIONS_LOAD_UNPACKED_BUTTON" desc="Text of the 'Load Extension' button.">
        Load unpacked extension...
      </message>
      <message name="IDS_EXTENSIONS_PACK_BUTTON" desc="Text for the 'Pack Extension' button.">
        Pack extension...
      </message>
      <message name="IDS_EXTENSIONS_UPDATE_BUTTON" desc="Text for the 'Update extensions' button.">
        Update extensions now
      </message>
      <message name="IDS_EXTENSIONS_NONE_INSTALLED" desc="Text that lets the user know that no extensions are installed.">
        Boo... You have no extensions :-(
      </message>
      <message name="IDS_EXTENSIONS_PERMISSIONS_HEADING" desc="Heading for permissions dialog in apps_devtools">
        It can:
      </message>
      <message name="IDS_EXTENSIONS_PERMISSIONS_CLOSE" desc="Close button for permissions dialog in apps_devtools">
        Close
      </message>
      <message name="IDS_APPS_DEVTOOL_LOAD_UNPACKED_BUTTON" desc="Text of the 'Load app/extension' button.">
        Load unpacked...
      </message>
      <message name="IDS_APPS_DEVTOOL_PACK_BUTTON" desc="Text for the 'Pack app/extension' button.">
        Pack...
      </message>
      <message name="IDS_APPS_DEVTOOL_UPDATE_BUTTON" desc="Text for the 'Update app/extensions' button.">
        Update
      </message>
      <message name="IDS_APPS_DEVTOOL_SEARCH" desc="Placeholder text that appears inside the search box until the user inputs data.">
        search
      </message>
      <message name="IDS_APPS_DEVTOOL_APPS_INSTALLED" desc="Text for the word 'Apps'.">
        Apps
      </message>
      <message name="IDS_APPS_DEVTOOL_EXTENSIONS_INSTALLED" desc="Text for the word 'Extensions'.">
        Extensions
      </message>
      <message name="IDS_APPS_DEVTOOL_NO_PACKED_APPS" desc="Text that lets the user know that no packed apps are installed.">
        No installed applications.
      </message>
      <message name="IDS_APPS_DEVTOOL_NO_UNPACKED_APPS" desc="Text that lets the user know that no unpacked apps are installed.">
        No unpacked applications.
      </message>
      <message name="IDS_APPS_DEVTOOL_NO_PACKED_EXTENSIONS" desc="Text that lets the user know that no packed extensions are installed.">
        No installed extensions.
      </message>
      <message name="IDS_APPS_DEVTOOL_NO_UNPACKED_EXTENSIONS" desc="Text that lets the user know that no unpacked extensions are installed.">
        No unpacked extensions.
      </message>
      <message name="IDS_APPS_DEVTOOL_UNPACKED_INSTALLED" desc="Text for the word 'Unpacked' (unpacked app or extension).">
        Unpacked
      </message>
      <message name="IDS_APPS_DEVTOOL_INSTALLED" desc="Text for the word 'Installed' (installed app or extension).">
        Installed
      </message>
      <message name="IDS_APPS_DEVTOOL_UPDATING" desc="Text for the word 'Updating...' when the user clicks on 'Update'.">
        Updating...
      </message>
      <message name="IDS_APPS_DEVTOOL_DELETE_CONFIRMATION_BUTTON" desc="Text of  the delete button in the apps/extension delete confirmation dialog.">
        Delete
      </message>
      <message name="IDS_APPS_DEVTOOL_DELETE_CONFIRMATION_TITLE" desc="Text of the title of the apps/extension delete confirmation dialog.">
        Delete
      </message>
      <message name="IDS_APPS_DEVTOOL_DELETE_CONFIRMATION_MESSAGE_APP" desc="Text of the message of the apps/extension delete confirmation dialog in case the user is deleting an app.">
        Do you really want to delete this application?
      </message>
      <message name="IDS_APPS_DEVTOOL_DELETE_CONFIRMATION_MESSAGE_EXTENSION" desc="Text of the message of the apps/extension delete confirmation dialog in case the user is deleting an extension.">
        Do you really want to delete this extension?
      </message>
      <message name="IDS_APPS_DEVTOOL_MANAGED_PROFILE_DIALOG_CLOSE_BUTTON" desc="Title of the button to close the dialog for managed profile.">
        Close
      </message>
      <message name="IDS_APPS_DEVTOOL_MANAGED_PROFILE_DIALOG_TITLE" desc="Title of the dialog for managed profile.">
        This user is supervised.
      </message>
      <message name="IDS_APPS_DEVTOOL_MANAGED_PROFILE_DIALOG_DESCRIPTION" desc="Content of the dialog for managed profile. It's informing a supervised user that extensions cannot be changed.">
        Applications and extensions cannot be modified by supervised users. Apps Developer Tools will be closed.
      </message>
      <message name="IDS_EXTENSIONS_NONE_INSTALLED_SUGGEST_GALLERY" desc="Text on next line after IDS_EXTENSIONS_NONE_INSTALLED that suggests the user look in the gallery for extensions to install.">
        Want to <ph name="BEGIN_LINK">&lt;a target="_blank" href="$1"&gt;</ph>browse the gallery<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph> instead?
      </message>
      <message name="IDS_EXTENSIONS_INSTALL_DROP_TARGET" desc="Text on drop target for installing extensions.">
        Drop to install
      </message>
      <message name="IDS_EXTENSIONS_CRASHED_EXTENSION" desc="Text that signifies that the extension process was terminated, usually because it has crashed.">
        (Crashed)
      </message>
      <message name="IDS_EXTENSIONS_IN_DEVELOPMENT" desc="Text that signifies that the extension is currently in development.">
        (Unpacked)
      </message>
      <message name="IDS_EXTENSIONS_VIEW_INCOGNITO" desc="Text that signifies that the extension view is in an incognito process.">
        (Incognito)
      </message>
      <message name="IDS_EXTENSIONS_VIEW_INACTIVE" desc="Text that signifies that the extension view is an inactive transient page.">
        (Inactive)
      </message>
      <message name="IDS_EXTENSIONS_BACKGROUND_PAGE" desc="Display name for an autogenerated background page.">
        background page
      </message>
      <message name="IDS_EXTENSIONS_ID" desc="The ID label in front of the extension ID.">
        ID:
      </message>
      <message name="IDS_EXTENSIONS_PATH" desc="The label in front of the extension load path.">
        Loaded from:
      </message>
      <message name="IDS_EXTENSIONS_INSPECT_VIEWS" desc="The text for the label in front of the links to inspect views (some of which may not be loaded yet).">
        Inspect views:
      </message>
      <message name="IDS_EXTENSIONS_INSTALL_WARNINGS" desc="The text which says that an extension has warnings when it was installed.">
        There were warnings when trying to install this extension:
      </message>
      <message name="IDS_EXTENSIONS_ERRORS_MANIFEST_ERRORS" desc="The text which says that errors were found in an extension's manifest during installation.">
        Manifest Errors:
      </message>
      <message name="IDS_EXTENSIONS_ERRORS_RUNTIME_ERRORS" desc="The text which says that an extension has experienced runtime errors.">
        Runtime Errors:
      </message>
      <message name="IDS_EXTENSIONS_ERRORS_SHOW_MORE" desc="The text which allows the user to display more errors for a given extension.">
        Show more...
      </message>
      <message name="IDS_EXTENSIONS_ERRORS_SHOW_FEWER" desc="The text which allows the user to display fewer errors for a given extension.">
        Show fewer...
      </message>
      <message name="IDS_EXTENSIONS_ERROR_VIEW_SOURCE" desc="The link to view the source code for a file relating to an extension error.">
        View source
      </message>
      <message name="IDS_EXTENSIONS_ERROR_INSPECT" desc="The link to open the inspector (developer tools) for the location of a particular error.">
        Inspect
      </message>
      <message name="IDS_EXTENSIONS_ERROR_CONTEXT" desc="The label for the context of an extension's error.">
        Context:
      </message>
      <message name="IDS_EXTENSIONS_ERROR_STACK_TRACE" desc="The label for the stack trace of an extension's error.">
        Stack Trace
      </message>
      <message name="IDS_EXTENSIONS_ERROR_ANONYMOUS_FUNCTION" desc="The label indicating that an error was caused within an anonymous function in the code.">
        anonymous function
      </message>
      <message name="IDS_EXTENSIONS_ENABLE" desc="The link for enabling extensions.">
        Enable
      </message>
      <message name="IDS_EXTENSIONS_ENABLED" desc="The label for an enabled extension.">
        Enabled
      </message>
      <message name="IDS_EXTENSIONS_REMOVE" desc="The label for uninstalling an extension.">
        Remove
      </message>
      <message name="IDS_EXTENSIONS_ENABLE_INCOGNITO" desc="The checkbox for enabling an extension in incognito.">
        Allow in incognito
      </message>
      <message name="IDS_EXTENSIONS_ALLOW_FILE_ACCESS" desc="The checkbox for allowing an extension access to run scripts on file URLs.">
        Allow access to file URLs
      </message>
      <message name="IDS_EXTENSIONS_VISIT_WEBSITE" desc="The link for visiting the extension's homepage.">
        Visit website
      </message>
      <message name="IDS_EXTENSIONS_VISIT_WEBSTORE" desc="The link for visiting the extension's gallery page.">
        View in Web Store
      </message>
      <message name="IDS_EXTENSIONS_RELOAD_TERMINATED" desc="The link for reloading extensions.">
        Reload
      </message>
      <message name="IDS_EXTENSIONS_LAUNCH" desc="The link for launching apps.">
        Launch
      </message>
      <if expr="is_macosx">
        <message name="IDS_EXTENSIONS_RELOAD_UNPACKED" desc="The link for reloading unpacked extensions.">
          Reload (⌘R)
        </message>
      </if>
      <if expr="not is_macosx">
        <message name="IDS_EXTENSIONS_RELOAD_UNPACKED" desc="The link for reloading unpacked extensions.">
          Reload (Ctrl+R)
        </message>
      </if>
      <if expr="is_macosx">
        <message name="IDS_APPS_DEV_TOOLS_RELOAD_UNPACKED" desc="The link for reloading unpacked apps/extensions.">
          Reload
        </message>
      </if>
      <if expr="not is_macosx">
        <message name="IDS_APPS_DEV_TOOLS_RELOAD_UNPACKED" desc="The link for reloading unpacked apps/extensions.">
          Reload
        </message>
      </if>
      <message name="IDS_EXTENSIONS_OPTIONS_LINK" desc="The link text for the Options link.">
        Options
      </message>
      <message name="IDS_EXTENSIONS_PERMISSIONS_LINK" desc="The link text for the Permissions link.">
        Permissions
      </message>
      <message name="IDS_EXTENSIONS_SHOW_BUTTON" desc="The text for the Show link.">
        Show button
      </message>

      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_EXTENSIONS_OPTIONS_MENU_ITEM" desc="The text for the options menu item in context menus (sentence case).">
          Options
        </message>
        <message name="IDS_EXTENSIONS_DISABLE" desc="The link for disabling an extension (sentence case).">
          Disable
        </message>
        <message name="IDS_EXTENSIONS_HIDE_BUTTON" desc="The text for the Hide context menu item (sentence case).">
          Hide button
        </message>
        <message name="IDS_MANAGE_EXTENSION" desc="The 'Manage' text in the context menu for when right-clicking on extension icons (sentence case).">
          Manage
        </message>
        <message name="IDS_EXTENSION_ACTION_INSPECT_POPUP" desc="The text for the right-click menu of page and browser actions which shows the popup and opens the developer tools (sentence case).">
          Inspect popup
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_EXTENSIONS_OPTIONS_MENU_ITEM" desc="The text for the options menu item in context menus (title case).">
          Options
        </message>
        <message name="IDS_EXTENSIONS_DISABLE" desc="The link for disabling an extension (title case).">
          Disable
        </message>
        <message name="IDS_EXTENSIONS_HIDE_BUTTON" desc="The text for the Hide context menu item (title case).">
          Hide Button
        </message>
        <message name="IDS_MANAGE_EXTENSION" desc="The 'Manage' text in the context menu for when right-clicking on extension icons (title case).">
          Manage
        </message>
        <message name="IDS_EXTENSION_ACTION_INSPECT_POPUP" desc="The text for the right-click menu of page and browser actions which shows the popup and opens the developer tools (title case).">
          Inspect Popup
        </message>
      </if>

      <message name="IDS_EXTENSIONS_POLICY_CONTROLLED" desc="The text in the extensions UI informing the user that an extension is policy controlled">
        (This extension is managed and cannot be removed or disabled.)
      </message>
      <message name="IDS_EXTENSIONS_LOCKED_MANAGED_USER" desc="The error message (either shown in the extensions UI or logged) informing a supervised user that extensions cannot be changed.">
        Applications and extensions cannot be modified by supervised users.
      </message>
      <message name="IDS_EXTENSIONS_USE_APPS_DEV_TOOLS" desc="The message in the banner to invite people to use Apps Developer Tools.">
        The new Apps Developer Tools makes it easier than ever to manage and debug your apps and extensions. It's now available in the Chrome App Launcher.
      </message>
      <message name="IDS_EXTENSIONS_OPEN_APPS_DEV_TOOLS" desc="The text of the button to open Apps Developer Tools in the banner to invite people to use Apps Developer Tools.">
        Open
      </message>
      <message name="IDS_GET_MORE_EXTENSIONS" desc="The text for getting more extensions. Displayed at bottom of extension management page when there is at least one extension installed.">
        Get more extensions
      </message>
      <message name="IDS_EXTENSION_LOAD_FROM_DIRECTORY" desc="Title of directory browse dialog when user wants to load an extension from a directory.">
        Select the extension directory.
      </message>
      <message name="IDS_EXTENSIONS_COMMANDS_CONFIGURE" desc="Text for the 'Keyboard shortcuts' link to configure extension keyboard shortcuts.">
        Keyboard shortcuts
      </message>
      <message name="IDS_EXTENSION_COMMANDS_DIALOG_TITLE" desc="Title of extension commands dialog">
        Keyboard Shortcuts for Extensions and Apps
      </message>
      <message name="IDS_EXTENSION_COMMANDS_EMPTY" desc="The heading of the extension commands dialog when there are no commands to show.">
        No extensions have keyboard shortcuts assigned.
      </message>
      <message name="IDS_EXTENSION_COMMANDS_INACTIVE" desc="The text shown instead of the shortcut text (Ctrl+F) if the shortcut is inactive.">
        Not set
      </message>
      <message name="IDS_EXTENSION_TYPE_SHORTCUT" desc="The text shown in a text box to instruct the user to start typing (to capture which shortcut to use for the extension command).">
        Type a shortcut
      </message>
      <message name="IDS_EXTENSION_DELETE_SHORTCUT" desc="The text shown when you hover over the X inside the input text field.">
        Delete shortcut
      </message>
      <message name="IDS_EXTENSION_COMMANDS_GENERIC_ACTIVATE" desc="The generic 'activate extension' text used as description for some commands.">
        Activate the extension
      </message>
      <message name="IDS_EXTENSION_COMMANDS_GLOBAL" desc="The text in the select box for commands that are global in nature (the shortcut works when Chrome does not have focus).">
        Global
      </message>
      <message name="IDS_EXTENSION_COMMANDS_NOT_GLOBAL" desc="The text in the select box for commands that are not global in nature (the shortcut works only when Chrome has focus).">
        In Chrome
      </message>

      <message name="IDS_EXTENSION_PACK_DIALOG_TITLE" desc="Title of pack extension dialog">
        Pack Extension
      </message>
      <message name="IDS_EXTENSION_PACK_APP_DIALOG_TITLE" desc="Title of pack application dialog">
        Pack Application
      </message>
      <message name="IDS_EXTENSION_PACK_BUTTON" desc="Text of the pack extension button">
        Pack Extension
      </message>
      <message name="IDS_EXTENSION_ADT_PACK_BUTTON" desc="Text of the pack button in apps developer tool.">
        Pack
      </message>
      <message name="IDS_EXTENSION_PACK_DIALOG_HEADING" desc="The heading of the pack extension dialog.">
        Select the root directory of the extension to pack. To update an extension, also select the private key file to reuse.
      </message>
      <message name="IDS_EXTENSION_ADT_PACK_DIALOG_HEADING" desc="The heading of the pack extension dialog in the Apps Developer Tool.">
        The packed extension and the private key will be written in the parent directory of the root directory of the extension to pack. To update an extension, select the private key file to reuse.
      </message>
      <message name="IDS_EXTENSION_ADT_PACK_APP_DIALOG_HEADING" desc="The heading of the pack application dialog in the Apps Developer Tool.">
        The packed application and the private key will be written in the parent directory of the root directory of the application to pack. To update an application, select the private key file to reuse.
      </message>
      <message name="IDS_EXTENSION_PACK_DIALOG_ROOT_DIRECTORY_LABEL" desc="Label in the pack extension dialog for the control that lets the user select the extension to pack.">
        Extension root directory:
      </message>
      <message name="IDS_EXTENSION_PACK_DIALOG_PRIVATE_KEY_LABEL" desc="Label in the pack extension dialog for the control that lets the user select the private key to use to pack the extension. The label should indicate that the input is not required to be filled in.">
        Private key file (optional):
      </message>
      <message name="IDS_EXTENSION_PACK_DIALOG_BROWSE" desc="Text on buttons in the pack extension dialog that open up file browsing UI to pick the extension to pack.">
        Browse...
      </message>
      <message name="IDS_EXTENSION_PACK_DIALOG_SELECT_KEY" desc="Heading in file browse dialog instructing user to select a private key.">
        Select private key file.
      </message>
      <message name="IDS_EXTENSION_PACK_DIALOG_KEY_FILE_TYPE_DESCRIPTION" desc="Displayed in the file browse dialog. Associates the file extension 'pem' is for Private Keys.">
        Private key
      </message>
      <message name="IDS_EXTENSION_PACK_DIALOG_ERROR_ROOT_REQUIRED" desc="Error message in pack extension dialog when the user does not specify a root directory.">
        Extension root directory is required.
      </message>
      <message name="IDS_EXTENSION_PACK_DIALOG_ERROR_ROOT_INVALID" desc="Error message in pack extension dialog when the user speciifes an invalid root directory.">
        Extension root directory is invalid.
      </message>
      <message name="IDS_EXTENSION_PACK_DIALOG_ERROR_KEY_INVALID" desc="Error message in pack extension dialog when the user speciifes an invalid key file.">
        Private key file is invalid.
      </message>
      <message name="IDS_EXTENSION_PACK_DIALOG_SUCCESS_BODY_NEW" desc="Message shown on successful packing of a new extension.">
        Created the following files:

Extension: <ph name="EXTENSION_FILE">$1<ex>c:\users\aa\myextension.crx</ex></ph>
Key File: <ph name="KEY_FILE">$2<ex>c:\users\aa\myextension.pem</ex></ph>

Keep your key file in a safe place. You will need it to create new versions of your extension.
      </message>
      <message name="IDS_EXTENSION_PACK_DIALOG_SUCCESS_BODY_UPDATE" desc="Message shown on successful packing of an updated extension.">
        Created the extension:

<ph name="EXTENSION_FILE">$1<ex>c:\users\aa\myextension.crx</ex></ph>
      </message>

      <message name="IDS_EXTENSION_PROMPT_INSTALL_BUTTON" desc="Text for the install button on the extension install prompt">
        Add
      </message>
      <message name="IDS_EXTENSION_PROMPT_LAUNCH_BUTTON" desc="Text for the launch button on the extension install prompt">
        Launch
      </message>
      <message name="IDS_EXTENSION_PROMPT_UNINSTALL_BUTTON" desc="Text for the uninstall button on the extension uninstall prompt">
        Remove
      </message>
      <message name="IDS_EXTENSION_PROMPT_RE_ENABLE_BUTTON" desc="Text for the enable button on the extension re-enable prompt">
        Re-enable
      </message>
      <message name="IDS_EXTENSION_PROMPT_PERMISSIONS_BUTTON" desc="Text for the allow button on the extension permissions prompt">
        Allow
      </message>
      <message name="IDS_EXTENSION_PROMPT_PERMISSIONS_ABORT_BUTTON" desc="Text for the deny button on the extension permissions prompt">
        Deny
      </message>
      <message name="IDS_EXTENSION_PROMPT_PERMISSIONS_CLEAR_RETAINED_FILES_BUTTON" desc="Text for the Revoke File Access button on the extension permissions prompt">
        Revoke File Access
      </message>
      <message name="IDS_EXTENSION_WEB_STORE_TITLE" desc="Text for the Chrome Web Store">
        Chrome Web Store
      </message>
      <message name="IDS_EXTENSION_WEB_STORE_TITLE_SHORT" desc="Text for the Chrome Web Store">
        Web Store
      </message>
      <message name="IDS_EXTENSIONS_SHOW_DETAILS" desc="Tooltip for the button next to an extension that shows more details">
        Show Details
      </message>
      <message name="IDS_EXTENSIONS_HIDE_DETAILS" desc="Tooltip for the button next to an extension that hides details">
        Hide Details
      </message>
      <message name="IDS_EXTENSIONS_DETAILS" desc="Tooltip for the button next to an extension that toggles showing details">
        Details
      </message>

      <!-- chrome://extension-info bubble -->
      <message name="IDS_EXTENSION_SCRIPT_POPUP_IS_RUNNING" desc="The label in the extension info bubble that indicates the extension is running scripts on this page">
        <ph name="EXTENSION_NAME">$1<ex>AdBlock</ex></ph> is running on this page.
      </message>
      <message name="IDS_EXTENSION_SCRIPT_POPUP_LAST_UPDATED" desc="The label in the extension info bubble indicating the last time an extension was updated.">
        Last updated:
      </message>

      <!-- Global error messages for extensions -->
      <message name="IDS_EXTENSION_WARNINGS_WRENCH_MENU_ITEM" desc="The wrench menu item indicating that extensions caused problems.">
        Extension error
      </message>
      <message name="IDS_EXTENSION_WARNINGS_TITLE" desc="The title of a section in chrome://extensions which contains the warning(s) that relates to one particular extension">
        Warning:
      </message>
      <message name="IDS_EXTENSION_WARNINGS_NETWORK_DELAY" desc="Warning message indicating that an extension caused excessive network delays for web requests">
        This extension is slowing down <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>. You should disable it to restore <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>'s performance.
      </message>
      <message name="IDS_EXTENSION_WARNINGS_NETWORK_CONFLICT" desc="Warning message which indicates that two or more extensions tried to modify a network request in a conflicting way and the modification of this extension was ignored">
        This extension failed to modify a network request because the modification conflicted with another extension.
      </message>
      <message name="IDS_EXTENSION_WARNINGS_REDIRECT_CONFLICT" desc="Warning message indicating that two extensions tried to redirect to different destinations">
        This extension failed to redirect a network request to <ph name="ATTEMPTED_REDIRECT_DESTINATION">$1<ex>http://www.google.com</ex></ph> because another extension (<ph name="EXTENSION_NAME">$2<ex>My Cool Extension</ex></ph>) redirected it to <ph name="ACTUAL_REDIRECT_DESTINATION">$3<ex>https://www.google.com</ex></ph>.
      </message>
      <message name="IDS_EXTENSION_WARNINGS_REQUEST_HEADER_CONFLICT" desc="Warning message which indicates that two or more extensions tried to modify a network request in a conflicting way and the modification of this extension was ignored">
        This extension failed to modify the request header "<ph name="HEADER_NAME">$1<ex>User-Agent</ex></ph>" of a network request because the modification conflicted with another extension (<ph name="EXTENSION_NAME">$2<ex>My Cool Extension</ex></ph>).
      </message>
      <message name="IDS_EXTENSION_WARNINGS_RESPONSE_HEADER_CONFLICT" desc="Warning message which indicates that two or more extensions tried to modify a network request in a conflicting way and the modification of this extension was ignored">
        This extension failed to modify the response header "<ph name="HEADER_NAME">$1<ex>User-Agents</ex></ph>" of a network request because the modification conflicted with another extension (<ph name="EXTENSION_NAME">$2<ex>My Cool Extension</ex></ph>).
      </message>
      <message name="IDS_EXTENSION_WARNINGS_CREDENTIALS_CONFLICT" desc="Warning message which indicates that two or more extensions tried to modify a network request in a conflicting way and the modification of this extension was ignored">
        This extension failed to provide credentials to a network request because another extension (<ph name="EXTENSION_NAME">$1<ex>My Cool Extension</ex></ph>) provided different credentials.
      </message>
      <message name="IDS_EXTENSION_WARNINGS_DOWNLOAD_FILENAME_CONFLICT" desc="Warning message which indicates that two or more extensions tried to determine the filename of a downloaded file in a conflicting way and the modification of this extension was ignored">
        This extension failed to name the download "<ph name="ATTEMPTED_FILENAME">$1<ex>apple.png</ex></ph>" because another extension (<ph name="EXTENSION_NAME">$2<ex>My Cool Extension</ex></ph>) determined a different filename "<ph name="ACTUAL_FILENAME">$3<ex>banana.png</ex></ph>".
      </message>

      <!-- External extension install alerts -->
      <!-- TODO(mpcomplete): We may need to change Chrome to
           PRODUCT_NAME. Leaving it as-is until we finalize
           these strings. -->
      <message name="IDS_EXTENSION_EXTERNAL_INSTALL_ALERT_EXTENSION" desc="The wrench menu item indicating that a new external extension was installed.">
        New extension added (<ph name="EXTENSION_NAME">$1<ex>Babylon Toolbar</ex></ph>)
      </message>
      <message name="IDS_EXTENSION_EXTERNAL_INSTALL_ALERT_APP" desc="The wrench menu item indicating that a new external extension was installed.">
        New app added (<ph name="EXTENSION_NAME">$1<ex>Babylon Toolbar</ex></ph>)
      </message>
      <message name="IDS_EXTENSION_EXTERNAL_INSTALL_ALERT_THEME" desc="The wrench menu item indicating that a new external extension was installed.">
        New theme added (<ph name="EXTENSION_NAME">$1<ex>Babylon Toolbar</ex></ph>)
      </message>
      <message name="IDS_EXTENSION_EXTERNAL_INSTALL_PROMPT_TITLE" desc="Titlebar of the prompt window for an externally installed extension or app">
        "<ph name="EXTENSION_NAME">$1<ex>Babylon Toolbar</ex></ph>" added
      </message>
      <message name="IDS_EXTENSION_EXTERNAL_INSTALL_PROMPT_HEADING_EXTENSION" desc="First bold line of the prompt window for an externally installed extension or app.">
        Another program on your computer added an extension that may change the way Chrome works.
      </message>
      <message name="IDS_EXTENSION_EXTERNAL_INSTALL_PROMPT_HEADING_APP" desc="First bold line of the prompt window for an externally installed extension or app.">
        Another program on your computer added an app that may change the way Chrome works.
      </message>
      <message name="IDS_EXTENSION_EXTERNAL_INSTALL_PROMPT_HEADING_THEME" desc="First bold line of the prompt window for an externally installed extension or app.">
        Another program on your computer added a theme that may change the way Chrome works.
      </message>
      <message name="IDS_EXTENSION_EXTERNAL_INSTALL_PROMPT_ACCEPT_BUTTON_EXTENSION" desc="Button on the external install prompt to enable an extension installed by a third party.">
        Enable extension
      </message>
      <message name="IDS_EXTENSION_EXTERNAL_INSTALL_PROMPT_ACCEPT_BUTTON_APP" desc="Button on the external install prompt to enable an extension installed by a third party.">
        Enable app
      </message>
      <message name="IDS_EXTENSION_EXTERNAL_INSTALL_PROMPT_ACCEPT_BUTTON_THEME" desc="Button on the external install prompt to enable an extension installed by a third party.">
        Enable theme
      </message>
      <message name="IDS_EXTENSION_EXTERNAL_INSTALL_PROMPT_ABORT_BUTTON" desc="Button on the external install prompt to remove an extension installed by a third party.">
        Remove from Chrome
      </message>
      <message name="IDS_EXTENSIONS_DISABLED" desc="(Disabled) label next to the application name when the application is disabled.">
        (Disabled)
      </message>
      <message name="IDS_EXTENSIONS_SHOW_LOGS" desc="Text for the link to show logs.">
        Show Logs
      </message>
      <message name="IDS_EXTENSIONS_MORE_DETAILS" desc="Text for the link to show more details about the extension / app.">
        More Details
      </message>
      <message name="IDS_EXTENSIONS_VERSION" desc="The Version label in front of the version number of the extension / app.">
        Version
      </message>
      <message name="IDS_EXTENSIONS_DELETE" desc="Text for the link to delete the extension / app.">
        Delete
      </message>
      <message name="IDS_EXTENSIONS_ADT_DELETE" desc="Text for the link to uninstall the extension / app.">
        Uninstall
      </message>
      <message name="IDS_EXTENSIONS_PACK" desc="Text for the link to pack the extension / app.">
        Pack
      </message>

      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_EXTENSIONS_SUSPICIOUS_DISABLED_TITLE" desc="In Title Case: Title of the dialog shown when suspicious extensions have been disabled">
          Suspicious Extensions Disabled
        </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_EXTENSIONS_SUSPICIOUS_DISABLED_TITLE" desc="Title of the dialog shown when suspicious extensions have been disabled">
          Suspicious extensions disabled
        </message>
      </if>
      <message name="IDS_EXTENSIONS_SUSPICIOUS_DISABLED_AND_N_MORE" desc="Used for a count of additional items in the IDS_EXTENSIONS_SUSPICIOUS_DISABLED_BODY dialog shown when suspicious extensions have been disabled, if we could not fit them all in the dialog">
        and <ph name="NUMBER_ADDITIONAL_DISABLED">$1<ex>5</ex></ph> more
      </message>
      <message name="IDS_EXTENSIONS_SUSPICIOUS_DISABLED_BUTTON" desc="Text of the button on the dialog shown when suspicious extensions have been disabled">
      OK, got it
      </message>
      <message name="IDS_EXTENSIONS_ADDED_WITHOUT_KNOWLEDGE" desc="Text shown in the extensions settings for items that might have been forcefully added to chrome without the user's knowledge">
        This extension is not listed in the <ph name="IDS_EXTENSION_WEB_STORE_TITLE">$1<ex>Chrome Web Store</ex></ph> and may have been added without your knowledge.
      </message>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_EXTENSIONS_DISABLE_DEVELOPER_MODE_TITLE" desc="In Title Case: Title of a dialog warning users they have development mode extensions running">
          Disable Developer Mode Extensions
        </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_EXTENSIONS_DISABLE_DEVELOPER_MODE_TITLE" desc="Title of a dialog warning users they have development mode extensions running">
          Disable developer mode extensions
        </message>
      </if>
      <message name="IDS_EXTENSIONS_DISABLE_DEVELOPER_MODE_BODY" desc="Body of a dialog warning users they have development mode extensions running">
        Extensions running in developer mode can harm your computer. If you're not a developer, you should disable these extensions running in developer mode to stay safe.
      </message>

      <!-- chrome://settings-frame/options_settings_app.html for the App Launcher Settings App -->
      <if expr="pp_ifdef('enable_settings_app')">
        <message name="IDS_SETTINGS_APP_LAUNCHER_PRODUCT_NAME" desc="Product name to use when referring to applications running in the App Launcher inside the non-browser Settings App">
          App Launcher
        </message>
        <message name="IDS_SETTINGS_APP_PROFILES_SWITCH_BUTTON_LABEL" desc="The label that appears on the profile switch user button in the Settings App to allow a user to switch the app launcher profile to the current selection.">
          Switch user
        </message>
        <message name="IDS_SETTINGS_APP_SYNC_OVERVIEW" desc="The message that appears in the non-browser Settings App when sync has not been set up by the user.">
          Sign in with your Google Account to allow apps to synchronize settings and provide other customized services.
        </message>
      </if>

      <!-- Packaged Apps -->
      <message name="IDS_APP_LAUNCH_NOT_SIGNED_IN_LINK" desc="Launching app when not signed in link.">
        https://chrome.google.com/webstore/signin-helper/<ph name="EXTENSION_ID">$1<ex>nckgahadagoaajjgafhacjanaoiihapd</ex></ph>
      </message>

      <!-- Components -->
      <message name="IDS_COMPONENTS_TITLE" desc="Title for the chrome://components page.">
        Components
      </message>
      <message name="IDS_COMPONENTS_VERSION" desc="The label in front of a component version number.">
        Version:
      </message>
      <message name="IDS_COMPONENTS_NONE_INSTALLED" desc="Text that lets the user know that no components are installed.">
        No components installed.
      </message>
      <message name="IDS_COMPONENTS_NO_COMPONENTS" desc="Text that indicates that no components are installed">
        No components are installed
      </message>
      <message name="IDS_COMPONENTS_CHECK_FOR_UPDATE" desc="The button label for triggering update check.">
        Check for update
      </message>

      <!-- Plugins -->
      <message name="IDS_PLUGINS_TITLE" desc="Title for the chrome://plugins page.">
        Plug-ins
      </message>
      <message name="IDS_PLUGINS_DETAILS_MODE_LINK" desc="Text of the link for details mode.">
        Details
      </message>
      <message name="IDS_PLUGINS_NONE_INSTALLED" desc="Text that lets the user know that no plug-ins are installed.">
        No plug-ins installed.
      </message>
      <message name="IDS_PLUGINS_DISABLED_PLUGIN" desc="Text that signifies that the plug-in is currently disabled.">
        (Disabled)
      </message>
      <message name="IDS_PLUGINS_DISABLED_BY_POLICY_PLUGIN" desc="Text that signifies that the plug-in is currently disabled by enterprise policy.">
        (Disabled by enterprise policy)
      </message>
      <message name="IDS_PLUGINS_ENABLED_BY_POLICY_PLUGIN" desc="Text that signifies that the plug-in is currently enabled by enterprise policy.">
        (Enabled by enterprise policy)
      </message>
      <message name="IDS_PLUGINS_GROUP_MANAGED_BY_POLICY" desc="Text that signifies that the plug-in group is currently managed by enterprise policy.">
        (Managed by enterprise policy)
      </message>
      <message name="IDS_PLUGINS_VERSION" desc="The label in front of a plug-in version number.">
        Version:
      </message>
      <message name="IDS_PLUGINS_DESCRIPTION" desc="The label in front of a plug-in description.">
        Description:
      </message>
      <message name="IDS_PLUGINS_PATH" desc="The label in front of a plug-in path (file/location on disk).">
        Location:
      </message>
      <message name="IDS_PLUGINS_TYPE" desc="The label in front of a plug-in type (NPAPI, PPAPI, etc.).">
        Type:
      </message>
      <message name="IDS_PLUGINS_MIME_TYPES" desc="The label in front of a plug-in's MIME types table.">
        MIME types:
      </message>
      <message name="IDS_PLUGINS_MIME_TYPES_MIME_TYPE" desc="The label over the MIME type column in a plug-in's MIME types table.">
        MIME type
      </message>
      <message name="IDS_PLUGINS_MIME_TYPES_DESCRIPTION" desc="The label over the description column in a plug-in's MIME types table.">
        Description
      </message>
      <message name="IDS_PLUGINS_MIME_TYPES_FILE_EXTENSIONS" desc="The label over the file extensions column in a plug-in's MIME types table.">
        File extensions
      </message>
      <message name="IDS_PLUGINS_DISABLE" desc="The link for disabling a plug-in.">
        Disable
      </message>
      <message name="IDS_PLUGINS_ENABLE" desc="The link for enabling a plug-in.">
        Enable
      </message>
      <message name="IDS_PLUGINS_ALWAYS_ALLOWED" desc="The checkbox label for whitelisting a plug-in for content settings.">
        Always allowed
      </message>
      <message name="IDS_PLUGINS_DOWNLOAD" desc="The link label to download the latest version of this plug-in">
        Download Critical Security Update
      </message>
      <message name="IDS_PLUGINS_NAME" desc="The label for the name of this plug-in">
        Name:
      </message>
      <message name="IDS_PLUGINS_NO_PLUGINS" desc="Text that indicates that no plugins are installed">
        No plugins are installed
      </message>
      <message name="IDS_PLUGINS_NPAPI" desc="Text that indicates the plugin is an NPAPI plugin.">
        NPAPI
      </message>
      <message name="IDS_PLUGINS_PPAPI_IN_PROCESS" desc="Text that indicates the plugin is an in-process PPAPI plugin.">
        PPAPI (in-process)
      </message>
      <message name="IDS_PLUGINS_PPAPI_OUT_OF_PROCESS" desc="Text that indicates the plugin is an out-of-process PPAPI plugin.">
        PPAPI (out-of-process)
      </message>
      <message name="IDS_PLUGINS_PPAPI_UNSANDBOXED" desc="Text that indicates the plugin is an unsandboxed out-of-process PPAPI plugin.">
        PPAPI (unsandboxed)
      </message>

      <!-- about:flags -->
      <message name="IDS_FLAGS_LONG_TITLE" desc="Long version of the title for the about:flags page.">
        Careful, these experiments may bite
      </message>
      <message name="IDS_FLAGS_TABLE_TITLE" desc="Title for the experiments table on the about:flags page.">
        Experiments
      </message>
      <message name="IDS_FLAGS_WARNING_HEADER" desc="Text right before the warning body text.">
        WARNING
      </message>
      <message name="IDS_FLAGS_WARNING_TEXT" desc="Text at the top of the about:flags page, warning users that the about:flags contents are volatile.">
        These experimental features may change, break, or disappear at any time. We make absolutely no guarantees about what may happen if you turn one of these experiments on, and your browser may even spontaneously combust. Jokes aside, your browser may delete all your data, or your security and privacy could be compromised in unexpected ways. Any experiments you enable will be enabled for all users of this browser. Please proceed with caution.
      </message>
      <message name="IDS_FLAGS_PROMOTE_BETA_CHANNEL" desc="Shown on the about:flags page when we want to promote the Chrome beta channel">
        Interested in cool new Chrome features? Try our beta channel at chrome.com/beta.
      </message>
      <message name="IDS_FLAGS_PROMOTE_DEV_CHANNEL" desc="Shown on the about:flags page when we want to promote the Chrome developer channel">
        Interested in cool new Chrome features? Try our dev channel at chrome.com/dev.
      </message>

      <message name="IDS_FLAGS_NO_EXPERIMENTS_AVAILABLE" desc="Shown if no experiments are available">
        Aww, it looks like there are currently no experiments available.
      </message>
      <message name="IDS_FLAGS_UNSUPPORTED_TABLE_TITLE" desc="Title for the unsupported experiments table on the about:flags page. It lists all experiments that are not available on the current platform.">
        Unavailable Experiments
      </message>
      <message name="IDS_FLAGS_NO_UNSUPPORTED_EXPERIMENTS" desc="Show if there are no unavailable experiments.">
        All experiments are available on your platform!
      </message>
      <message name="IDS_FLAGS_NOT_AVAILABLE" desc="Shown instead of the Enable/Disable link, to let the user know that an experiment is not available on the current platform.">
        Sorry, this experiment is not available on your platform.
      </message>
      <if expr="not pp_ifdef('chromeos')">
        <message name="IDS_FLAGS_RELAUNCH_BUTTON" desc="Text on a button that relaunches chrome when clicked. ">
          Relaunch Now
        </message>
      </if>
      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_FLAGS_ALTERNATE_SHELF_LAYOUT_NAME">
          Alternative shelf layout
        </message>
        <message name="IDS_FLAGS_ALTERNATE_SHELF_LAYOUT_DESCRIPTION">
          Use the alternative shelf layout.
        </message>
        <message name="IDS_FLAGS_DRAG_OFF_SHELF_NAME">
          Dragging off items from shelf to unpin
        </message>
        <message name="IDS_FLAGS_DRAG_OFF_SHELF_DESCRIPTION">
          Disable to disallow items to be dragged off the shelf to unpin them.
        </message>
        <message name="IDS_FLAGS_RELAUNCH_BUTTON" desc="Text on a button that restarts Chrome OS when clicked. ">
          Restart Now
        </message>
        <message name="IDS_SYSTEM_FLAGS_OWNER_ONLY" desc="A warning that flags that apply system-wide can only be set by the owner.">
          Flags that apply system-wide can only be set by the owner: <ph name="OWNER_EMAIL">$1<ex>owner@example.com</ex></ph>.
        </message>
      </if>
      <message name="IDS_FLAGS_RESET_ALL_BUTTON" desc="Text on a button that resets all experiments to their default state when clicked.">
        Reset all to default
      </message>
      <message name="IDS_FLAGS_DISABLE" desc="The link for disabling a labs experiment.">
        Disable
      </message>
      <message name="IDS_FLAGS_ENABLE" desc="The link for enabling a labs experiment.">
        Enable
      </message>
      <message name="IDS_FLAGS_TABPOSE_NAME" desc="Name of the 'Tab Overview' lab.">
        Tab Overview
      </message>
      <message name="IDS_FLAGS_TABPOSE_DESCRIPTION" desc="Description of the 'Tab Overview' lab.">
        Swipe down with three fingers on your trackpad while holding the option key to see an overview of all your tabs. Click on a thumbnail to select it. Works great in fullscreen mode.
      </message>
      <message name="IDS_FLAGS_STACKED_TAB_STRIP_NAME" desc="Name of the 'Stacked Tabs' lab.">
        Stacked Tabs
      </message>
      <message name="IDS_FLAGS_STACKED_TAB_STRIP_DESCRIPTION" desc="Description of the 'Stacked Tabs' lab.">
        Tabs never shrink, instead they stack on top of each other when there is not enough space.
      </message>
      <message name="IDS_FLAGS_ENABLE_NACL_NAME" desc="Name of the 'Enable Native Client' lab.">
        Native Client
      </message>
      <if expr="is_android">
        <message name="IDS_FLAGS_ENABLE_NACL_DESCRIPTION" desc="Mobile: Description of the 'Enable Native Client' lab.">
          Enable support for Native Client.
        </message>
      </if>
      <if expr="not is_android">
        <message name="IDS_FLAGS_ENABLE_NACL_DESCRIPTION" desc="Description of the 'Enable Native Client' lab.">
          Enable Native Client for all web applications, even those that were not installed from the Chrome Web Store.
        </message>
      </if>
      <message name="IDS_FLAGS_ENABLE_NACL_DEBUG_NAME" desc="Name of the 'NaCl GDB debug stub' lab.">
        Native Client GDB-based debugging
      </message>
      <message name="IDS_FLAGS_ENABLE_NACL_DEBUG_DESCRIPTION" desc="Description of the 'NaCl GDB debug stub' lab.">
        Enable GDB debug stub. This will stop a Native Client application on startup and wait for nacl-gdb (from the NaCl SDK) to attach to it.
      </message>
      <message name="IDS_FLAGS_NACL_DEBUG_MASK_NAME" desc="Name of the 'Restrict NaCl GDB debugging' lab.">
        Restrict Native Client GDB-based debugging by pattern
      </message>
      <message name="IDS_FLAGS_NACL_DEBUG_MASK_DESCRIPTION" desc="Description of the 'Restrict NaCl GDB debugging' lab.">
        Restricts Native Client application GDB-based debugging by URL of manifest file. Native Client GDB-based debugging must be enabled for this option to work.
      </message>
      <message name="IDS_NACL_DEBUG_MASK_CHOICE_INCLUDE_DEBUG">
        Debug only if manifest URL ends with debug.nmf
      </message>
      <message name="IDS_NACL_DEBUG_MASK_CHOICE_EXCLUDE_UTILS">
        Debug everything except secure shell
      </message>
      <message name="IDS_FLAGS_DISABLE_PNACL_NAME" desc="Name of the 'Disable Portable Native Client' lab.">
        Disable Portable Native Client.
      </message>
      <message name="IDS_FLAGS_DISABLE_PNACL_DESCRIPTION" desc="Description of the 'Disable Portable Native Client' lab.">
        Disable support for Portable Native Client (PNaCl).
      </message>
      <message name="IDS_FLAGS_SAVE_PAGE_AS_MHTML_NAME" desc="Name of the 'Save Page as MHTML' lab.">
        Save Page as MHTML
      </message>
      <message name="IDS_FLAGS_SAVE_PAGE_AS_MHTML_DESCRIPTION" desc="Description of the 'Save Page as MHTML' lab.">
        Disables saving pages as HTML-only or HTML Complete; enables saving pages only as MHTML: a single text file containing HTML and all sub-resources.
      </message>
      <message name="IDS_FLAGS_DISABLE_DEVICE_DISCOVERY_NAME" desc="Title of the 'disable device discovery' flag.">
        Disable Device Discovery
      </message>
      <message name="IDS_FLAGS_DISABLE_DEVICE_DISCOVERY_DESCRIPTION" desc="Description of the 'disable device discovery' flag.">
        Disable device discovery on local network.
      </message>
      <message name="IDS_FLAGS_DEVICE_DISCOVERY_NOTIFICATIONS_NAME" desc="Title of the 'device discovery notificatios' flag.">
        Device Discovery Notifications
      </message>
      <message name="IDS_FLAGS_DEVICE_DISCOVERY_NOTIFICATIONS_DESCRIPTION" desc="Description of the 'device discovery notifications' flag.">
        Device discovery notifications on local network.
      </message>
      <message name="IDS_FLAGS_DISABLE_PRIVET_LOCAL_PRINTING_NAME">
        Disable Privet local printing
      </message>
      <message name="IDS_FLAGS_DISABLE_PRIVET_LOCAL_PRINTING_DESCRIPTION">
        Disable printing to printers on the local network using the Privet protocol.
      </message>
      <message name="IDS_FLAGS_ENABLE_PRINT_PREVIEW_REGISTER_PROMOS_NAME">
        Enable Print Preview Registration Promos
      </message>
      <message name="IDS_FLAGS_ENABLE_PRINT_PREVIEW_REGISTER_PROMOS_DESCRIPTION">
        Enable registering unregistered cloud printers from print preview.
      </message>
      <message name="IDS_FLAGS_TOUCH_OPTIMIZED_UI_NAME" desc="Title of the touch-optimized UI flag." >
        Touch Optimized UI
      </message>
      <message name="IDS_FLAGS_TOUCH_OPTIMIZED_UI_DESCRIPTION" desc="Description of the touch-optimized UI flag.">
        Enables experimental layout refinements to improve user experience with touch screens.
      </message>
      <message name="IDS_FLAGS_ENABLE_SCROLL_PREDICTION_NAME" desc="Title of the flag which enables scroll prediction.">
        Enable scroll prediction
      </message>
      <message name="IDS_FLAGS_ENABLE_SCROLL_PREDICTION_DESCRIPTION" desc="Description of the flag to enable scroll prediction.">
        Predicts the finger's future position during scrolls allowing time to render the frame before the finger is there.
      </message>
      <if expr="is_android">
        <message name="IDS_FLAGS_ENABLE_ACCESSIBILITY_TAB_SWITCHER_NAME" desc="Name of the flag to enable the accessibility tab switcher.">
          Enable Accessibility Tab Switcher.
        </message>
        <message name="IDS_FLAGS_ENABLE_ACCESSIBILITY_TAB_SWITCHER_DESCRIPTION" desc="Description of the flag to enable the accessibility tab switcher.">
          Enable the accessibility tab switcher for Android.
        </message>
        <message name="IDS_FLAGS_DISABLE_ACCESSIBILITY_SCRIPT_INJECTION_NAME" desc="Name of the flag to disable script injection for accessibility.">
          Disable Script Injection For Accessibility.
        </message>
        <message name="IDS_FLAGS_DISABLE_ACCESSIBILITY_SCRIPT_INJECTION_DESCRIPTION" desc="Description of the flag to disable script injection for accessibility.">
          Disable script injection, enabling native Android accessibility instead.
        </message>
      </if>
      <message name="IDS_FLAGS_ENABLE_ADD_TO_HOMESCREEN_NAME" desc="Name of the flag to enable the add to homescreen menu item.">
        Enable Add to Homescreen
      </message>
      <message name="IDS_FLAGS_ENABLE_ADD_TO_HOMESCREEN_DESCRIPTION" desc="Description of the flag to enable the add to homescreen menu item.">
        Enable the add to homescreen menu item.
      </message>
      <message name="IDS_TOUCH_EVENTS_NAME" desc="Title of the touch-events flag." >
        Enable touch events
      </message>
      <message name="IDS_TOUCH_EVENTS_DESCRIPTION" desc="Description of the touch-events flag.">
        Force touchscreen support to always be enabled or disabled, or to be enabled when a touchscreen is detected on startup (Automatic, the default).
      </message>
      <message name="IDS_DISABLE_TOUCH_ADJUSTMENT_NAME" desc="Title of the disable touch adjustment flag.">
        Disable touch adjustment.
      </message>
      <message name="IDS_DISABLE_TOUCH_ADJUSTMENT_DESCRIPTION" desc="Description of the disable touch adjustment flag.">
        Disables touch adjustment support.  Touch adjustment is the process of refining the position of a touch gesture in order to compensate for touches having poor resolution compared to a mouse.
      </message>
      <message name="IDS_FLAGS_DISABLE_COMPOSITOR_TOUCH_HIT_TESTING_NAME" desc="Title of the disable compositor touch hit testing flag.">
        Disable compositor touch hit testing.
      </message>
      <message name="IDS_FLAGS_DISABLE_COMPOSITOR_TOUCH_HIT_TESTING_DESCRIPTION" desc="Description of the disable compositor touch hit testing flags.">
        Disables an optimization intended to improve touch scrolling responsiveness.  Forces all touch events to go to the blink main thread to look for handlers, instead of potentially short-circuiting from the compositor thread.
      </message>
      <message name="IDS_ENABLE_BACKLOADER_NAME" desc="Title of the enable background loader flag." >
        Enable background loader component for hosted applications
      </message>
      <message name="IDS_ENABLE_BACKLOADER_DESCRIPTION" desc="Description of the enable background loader flag.">
        Enable background loader component for hosted applications.
      </message>
      <message name="IDS_FLAGS_CONFLICTS_CHECK_NAME" desc="Title of the run conflicts check flag">
        Check for known conflicts with 3rd party modules.
      </message>
      <message name="IDS_FLAGS_CONFLICTS_CHECK_DESCRIPTION" desc="Description of the conflicts check flag">
        Enables a background check that warns you when a software incompatibility is detected (ie. 3rd party modules that crash the browser).
      </message>
      <message name="IDS_FLAGS_COMPOSITED_LAYER_BORDERS" desc="Name of the 'Composited layer borders' lab.">
        Composited render layer borders
      </message>
      <message name="IDS_FLAGS_COMPOSITED_LAYER_BORDERS_DESCRIPTION" desc="Description of the 'Composited layer borders' lab.">
        Renders a border around composited Render Layers to help debug and study layer compositing.
      </message>
      <message name="IDS_FLAGS_SHOW_FPS_COUNTER" desc="Name of the 'Show FPS counter' lab.">
        FPS counter
      </message>
      <message name="IDS_FLAGS_SHOW_FPS_COUNTER_DESCRIPTION" desc="Description of the 'Show FPS counter' lab.">
        Shows a page's actual frame rate, in frames per second, when hardware acceleration is active.
      </message>
      <message name="IDS_FLAGS_ACCELERATED_FILTERS" desc="Name of the 'Accelerated SVG Filters' lab.">
        GPU Accelerated SVG Filters
      </message>
      <message name="IDS_FLAGS_ACCELERATED_FILTERS_DESCRIPTION" desc="Description of the 'Accelerated SVG Filters' lab.">
        Use the GPU to accelerate rendering of SVG filters.
      </message>
      <message name="IDS_FLAGS_DEBUG_SHORTCUTS_NAME" desc="Name of the 'Debugging keyboard shortcuts' lab.">
        Debugging keyboard shortcuts
      </message>
      <message name="IDS_FLAGS_DEBUG_SHORTCUTS_DESCRIPTION" desc="Description of the 'Debugging keyboard shortcuts' lab.">
        Enables additional keyboard shortcuts that are useful for debugging Chromium.
      </message>
      <message name="IDS_FLAGS_FORCE_COMPOSITING_MODE_NAME" desc="Name of the 'Force compositing mode' lab.">
        GPU compositing on all pages
      </message>
      <message name="IDS_FLAGS_FORCE_COMPOSITING_MODE_DESCRIPTION" desc="Description of the 'Force compositing mode' lab.">
        Uses GPU accelerated compositing on all pages, not just those that include GPU-accelerated layers.
      </message>
      <message name="IDS_FLAGS_PRESENT_WITH_GDI_NAME" desc="Name of the 'First Present With GDI' experiment.">
        Do SHOW Presents with GDI.
      </message>
      <message name="IDS_FLAGS_PRESENT_WITH_GDI_DESCRIPTION" desc="Description of the 'First Present With GDI' experiment.">
        Speculative fix for http://crbug.com/169848
      </message>
      <message name="IDS_FLAGS_PRESENT_WITH_GDI_FIRST_SHOW" desc="Description of the 'First Show Present With GDI' experiment.">
        First
      </message>
      <message name="IDS_FLAGS_PRESENT_WITH_GDI_ALL_SHOW" desc="Description of the 'All Show Present With GDI' experiment.">
        All
      </message>
      <message name="IDS_FLAGS_FORCE_HIGH_DPI_NAME" desc="Name of the 'Force high DPI mode' lab.">
        Force high DPI mode
      </message>
      <message name="IDS_FLAGS_FORCE_HIGH_DPI_DESCRIPTION" desc="Description of the 'Force high DPI mode' lab.">
        Overrides the device display density to force the use of high DPI mode and assets.
      </message>
      <message name="IDS_FLAGS_IGNORE_GPU_BLACKLIST_NAME" desc="Name of the 'Ignore GPU blacklist' lab.">
        Override software rendering list
      </message>
      <message name="IDS_FLAGS_IGNORE_GPU_BLACKLIST_DESCRIPTION" desc="Description of the 'Ignore GPU blacklist' lab.">
        Overrides the built-in software rendering list and enables GPU-acceleration on unsupported system configurations.
      </message>
      <message name="IDS_FLAGS_DISABLE_GPU_VSYNC_NAME" desc="Name of the 'Disable GPU VSync' lab.">
        Disable GPU VSync
      </message>
      <message name="IDS_FLAGS_DISABLE_GPU_VSYNC_DESCRIPTION" desc="Description of the 'Disable GPU VSync' lab.">
        Disables synchronization with the display's vertical refresh rate when GPU rendering. This allows frame rates to exceed
        60 hertz. While useful for benchmarking purposes, this also results in visual tearing during rapid screen updates.
      </message>
      <message name="IDS_FLAGS_THREADED_COMPOSITING_MODE_NAME" desc="Name of the 'Threaded compositing mode' lab.">
        Threaded compositing
      </message>
      <message name="IDS_FLAGS_THREADED_COMPOSITING_MODE_DESCRIPTION" desc="Description of the 'Threaded compositing mode' lab.">
        Uses a secondary thread to perform web page compositing. This allows smooth scrolling, even when the main thread is unresponsive.
      </message>
      <message name="IDS_FLAGS_FORCE_ACCELERATED_OVERFLOW_SCROLL_MODE_NAME" desc="Name of the 'Accelerated overflow scroll mode' lab.">
        Accelerated overflow scroll
      </message>
      <message name="IDS_FLAGS_FORCE_ACCELERATED_OVERFLOW_SCROLL_MODE_DESCRIPTION" desc="Description of the 'Accelerated overflow scroll mode' lab.">
        When possible, puts the scrolling contents of an overflow scrolling element onto a composited layer for faster scrolling.
      </message>
      <message name="IDS_FLAGS_FORCE_UNIVERSAL_ACCELERATED_OVERFLOW_SCROLL_MODE_NAME" desc="Name of the 'Universal accelerated overflow scroll mode' lab.">
        Universal accelerated overflow scroll
      </message>
      <message name="IDS_FLAGS_FORCE_UNIVERSAL_ACCELERATED_OVERFLOW_SCROLL_MODE_DESCRIPTION" desc="Description of the 'Universal accelerated overflow scroll mode' lab.">
        Puts scrolling content in composited layers, even in those cases where promoting the overflow scrolling element to a stacking context and a containing block would have broken stacking or clipping.
      </message>
      <message name="IDS_FLAGS_ENABLE_DIRECT_WRITE_NAME" desc="Name of the 'Enable DirectWrite' lab.">
        Enable DirectWrite
      </message>
      <message name="IDS_FLAGS_ENABLE_DIRECT_WRITE_DESCRIPTION" desc="Description of the 'Enable DirectWrite' lab.">
        Enables the use of experimental DirectWrite font rendering system.
      </message>
      <message name="IDS_FLAGS_ENABLE_EXPERIMENTAL_CANVAS_FEATURES_NAME" desc="Name of the 'Enable experimental canvas features' lab.">
        Enable experimental canvas features
      </message>
      <message name="IDS_FLAGS_ENABLE_EXPERIMENTAL_CANVAS_FEATURES_DESCRIPTION" desc="Description of the 'Enable experimental canvas features' lab.">
        Enables the use of experimental canvas features which are still in development.
      </message>
      <message name="IDS_FLAGS_DISABLE_ACCELERATED_2D_CANVAS_NAME" desc="Name of the 'Disable accelerated 2D canvas' lab.">
        Disable accelerated 2D canvas
      </message>
      <message name="IDS_FLAGS_DISABLE_ACCELERATED_2D_CANVAS_DESCRIPTION" desc="Description of the 'Disable accelerated 2D canvas' lab.">
        Disables the use of the GPU to perform 2d canvas rendering and instead uses software rendering.
      </message>
      <message name="IDS_FLAGS_DISABLE_DEFERRED_2D_CANVAS_NAME" desc="Name of the 'Disable deferred 2D canvas' lab.">
        Disable deferred 2D canvas
      </message>
      <message name="IDS_FLAGS_DISABLE_DEFERRED_2D_CANVAS_DESCRIPTION" desc="Description of the 'Disable deferred 2D canvas' lab.">
        Disables the deferral of 2d canvas rendering, causing draw operations to be completed immediately, before running the next javascript command.
      </message>
      <message name="IDS_FLAGS_DISABLE_THREADED_ANIMATION_NAME" desc="Name of the 'Disable accelerated CSS animations' lab.">
        Disable accelerated CSS animations
      </message>
      <message name="IDS_FLAGS_DISABLE_THREADED_ANIMATION_DESCRIPTION" desc="Description of the 'Disable accelerated CSS animations' lab.">
        When threaded compositing is enabled, accelerated CSS animations run on the compositing thread. However, there may be performance gains running with accelerated CSS animations, even without the compositor thread.
      </message>
      <message name="IDS_FLAGS_EXPERIMENTAL_EXTENSION_APIS_NAME" desc="Name of the 'Experimental Extension APIs' lab.">
        Experimental Extension APIs
      </message>
      <message name="IDS_FLAGS_EXPERIMENTAL_EXTENSION_APIS_DESCRIPTION" desc="Description of the 'Experimental Extension APIs' lab.">
        Enables experimental extension APIs. Note that the extension gallery doesn't allow you to upload extensions that use experimental APIs.
      </message>
      <message name="IDS_FLAGS_EXTENSIONS_ON_CHROME_URLS_NAME" desc="Name of the 'Extensions on chrome:// URLs' lab">
        Extensions on chrome:// URLs
      </message>
      <message name="IDS_FLAGS_EXTENSIONS_ON_CHROME_URLS_DESCRIPTION" desc="Description of the 'Extensions on chrome:// URLs' lab">
        Enables running extensions on chrome:// URLs, where extensions explicitly request this permission.
      </message>
      <message name="IDS_FLAGS_ENABLE_FAST_UNLOAD_DESCRIPTION" desc="Description of the 'Fast Unload' lab.">
        Enables fast tab/window closing - runs a tab's onunload js handler independently of the GUI.
      </message>
      <message name="IDS_FLAGS_ENABLE_FAST_UNLOAD_NAME" desc="Name of the 'Extensions on chrome:// URLs' lab">
        Enable fast tab/window close
      </message>
      <message name="IDS_FLAGS_ENABLE_ADVIEW_NAME" desc="Name of the 'Enable 'adview' element' lab.">
        Enable 'adview' element
      </message>
      <message name="IDS_FLAGS_ENABLE_ADVIEW_DESCRIPTION" desc="Description of the 'Enable 'adview' element' lab.">
        Enables using 'adview' HTML elements in packaged apps.
      </message>
      <message name="IDS_FLAGS_ENABLE_ADVIEW_SRC_ATTRIBUTE_NAME" desc="Name of the 'Enable specifying 'src' attribute on 'adview' elements' lab.">
        Enable specifying 'src' attribute on 'adview' elements
      </message>
      <message name="IDS_FLAGS_ENABLE_ADVIEW_SRC_ATTRIBUTE_DESCRIPTION" desc="Description of the 'Enable specifying 'src' attribute on 'adview' elements' element' lab.">
        Enables specifying 'src' attribute on 'adview' elements, as well as arbitrary 'ad-network' names.
      </message>
      <message name="IDS_FLAGS_ENABLE_APP_WINDOW_CONTROLS_NAME" desc="Name of the 'Enable 'window-controls' element' lab.">
        Enable 'window-controls' element
      </message>
      <message name="IDS_FLAGS_ENABLE_APP_WINDOW_CONTROLS_DESCRIPTION" desc="Description of the 'Enable 'window-controls' element' lab.">
        Enables using 'window-controls' HTML elements in packaged apps.
      </message>
      <message name="IDS_FLAGS_SCRIPT_BADGES_NAME" desc="Name of the 'Script Badges' lab.">
        Script badges
      </message>
      <message name="IDS_FLAGS_SCRIPT_BADGES_DESCRIPTION" desc="Description of the 'Script Badges' lab.">
        Shows extension "script badges" in the location bar rather than page actions.
      </message>
      <message name="IDS_FLAGS_SCRIPT_BUBBLE_NAME" desc="Name of the 'Script Bubble' lab.">
        Script Bubble
      </message>
      <message name="IDS_FLAGS_SCRIPT_BUBBLE_DESCRIPTION" desc="Description of the 'Script Bubble' lab.">
        Enable or disable the "Script Bubble" experimental toolbar UI.
      </message>
      <message name="IDS_FLAGS_APPS_NEW_INSTALL_BUBBLE_NAME" desc="Name of the 'New Apps Install Bubble' lab">
        New Apps Install Bubble
      </message>
      <message name="IDS_FLAGS_APPS_NEW_INSTALL_BUBBLE_DESCRIPTION" desc="Description of the 'New Apps Install Bubble' lab">
        When installing an app, always show a bubble pointing at the new tab page button on the tabstrip instead of opening a new tab page.
      </message>
      <message name="IDS_FLAGS_DISABLE_HYPERLINK_AUDITING_NAME" desc="Name of the 'Disable hyperlink auditing' lab.">
        Disable hyperlink auditing
      </message>
      <message name="IDS_FLAGS_DISABLE_HYPERLINK_AUDITING_DESCRIPTION" desc="Description of the 'Disable hyperlink auditing' lab.">
        Disable sending hyperlink auditing pings.
      </message>
      <message name="IDS_FLAGS_EXPERIMENTAL_LOCATION_FEATURES_NAME" desc="Name of the 'Enable experimental location features' lab.">
        Experimental location features
      </message>
      <if expr="is_android">
        <message name="IDS_FLAGS_EXPERIMENTAL_LOCATION_FEATURES_DESCRIPTION" desc="Mobile: Description of the 'Enable experimental location features' lab.">
          Enables experimental extensions to the geolocation feature. Includes using operating system location APIs (where available), and sending additional local network configuration data to the Google location service to provide higher accuracy positioning.
        </message>
      </if>
      <if expr="not is_android">
        <message name="IDS_FLAGS_EXPERIMENTAL_LOCATION_FEATURES_DESCRIPTION" desc="Description of the 'Enable experimental location features' lab.">
          Enables experimental extensions to the geolocation feature to use operating system location APIs (where available).
        </message>
      </if>
      <message name="IDS_FLAGS_STATIC_IP_CONFIG_NAME" desc="Name of the static ip config lab.">
        Experimental static ip configuration
      </message>
      <message name="IDS_FLAGS_STATIC_IP_CONFIG_DESCRIPTION" desc="Description of the static ip config lab.">
        Enables static ip configuration. May not work.
      </message>
      <message name="IDS_FLAGS_TAB_GROUPS_CONTEXT_MENU_NAME" desc="Name of the context menu for enabling tab grouping in the context menu">
        Add grouping to tab context menu
      </message>
      <message name="IDS_FLAGS_TAB_GROUPS_CONTEXT_MENU_DESCRIPTION" desc="Description of the context menu for enabling tab grouping in the context menu lab.">
        Adds items to the tab context menu for grouping tabs.
      </message>
      <message name="IDS_FLAGS_NTP_SUGGESTIONS_PAGE_NAME" desc="Name of the 'Enable suggestions page' lab.">
        NTP Suggestions page
      </message>
      <message name="IDS_FLAGS_NTP_SUGGESTIONS_PAGE_DESCRIPTION" desc="Description of the 'Enable suggestions page' lab.">
        Add 'Suggestions' card to the new tab page, which suggests the pages to be opened.
      </message>
      <message name="IDS_FLAGS_DISABLE_IME_MODE_INDICATOR" desc="Title for the flag to disable the new indicator for the active keyboard input mode.">
        Disable the new indicator for the active keyboard input method
      </message>
      <message name="IDS_FLAGS_DISABLE_IME_MODE_INDICATOR_DESCRIPTION" desc="Description for the flag to disable the new indicator for the active keyboard input method.">
        Disable the input method indicator shown near the caret when switching between keyboard input methods.
      </message>
      <message name="IDS_FLAGS_ENABLE_INSTANT_EXTENDED_API" desc="Title for the flag to enable the Instant extended API.">
        Enable Instant Extended API
      </message>
      <message name="IDS_FLAGS_ENABLE_INSTANT_EXTENDED_API_DESCRIPTION" desc="Description for the flag to enable the Instant extended API.">
        Enables the Instant Extended API which provides a deeper integration with your default search provider, including a renovated New Tab Page, extracting search query terms in the omnibox, a spruced-up omnibox dropdown and Instant previews of search results as you type in the omnibox.
      </message>
      <message name="IDS_FLAGS_ENABLE_NEW_NTP" desc="Title for the flag to enable the new NTP.">
        Enable the new NTP.
      </message>
      <message name="IDS_FLAGS_ENABLE_NEW_NTP_DESCRIPTION" desc="Description for the flag to enable the new NTP.">
        Whether or not the new style New Tab Page is enabled.
      </message>
      <message name="IDS_FLAGS_ENABLE_NO_TOUCH_TO_RENDERER_WHILE_SCROLLING_NAME" desc="Name of the flag that enables not sending touch events to renderer while scrolling.">
        Enable not sending touch events to renderer while scrolling
      </message>
      <message name="IDS_FLAGS_ENABLE_NO_TOUCH_TO_RENDERER_WHILE_SCROLLING_DESCRIPTION" desc="Description of the flag to enable not sending touch events to renderer while scrolling.">
        Enable not sending touch events to renderer while scrolling.
      </message>
      <message name="IDS_FLAGS_ENABLE_GESTURE_TAP_HIGHLIGHTING_NAME" desc="Title for the flag to turn on gesture tap highlighting">
        Gesture Tap Highlighting
      </message>
      <message name="IDS_FLAGS_ENABLE_GESTURE_TAP_HIGHLIGHTING_DESCRIPTION" desc="Description for the flag to turn on gesture tap highlighting">
        Enable the experimental gesture tap highlight implementation.
      </message>
      <message name="IDS_FLAGS_ENABLE_SMOOTH_SCROLLING_NAME" desc="Title for the flag to turn on smooth scrolling">
        Smooth Scrolling
      </message>
      <message name="IDS_FLAGS_ENABLE_SMOOTH_SCROLLING_DESCRIPTION" desc="Description for the flag to turn on smooth scrolling">
        Enable the experimental smooth scrolling implementation.
      </message>
      <message name="IDS_FLAGS_ENABLE_OVERLAY_SCROLLBARS_NAME" desc="Title for the flag to turn on overlay scrollbars">
        Overlay Scrollbars
      </message>
      <message name="IDS_FLAGS_ENABLE_OVERLAY_SCROLLBARS_DESCRIPTION" desc="Description for the flag to turn on overlay scrollbars">
        Enable the experimental overlay scrollbars implementation. You must also enable threaded compositing to have the scrollbars animate.
      </message>
      <message name="IDS_FLAGS_ENABLE_AUTOLOGIN_NAME" desc="Title for the flag to auto-login the user">
        Enable auto-login
      </message>
      <message desc="Message to display when auto-login fails. [CHAR-LIMIT=64]" name="IDS_AUTO_LOGIN_FAILED">
        Automatic sign in failed
      </message>
      <message name="IDS_FLAGS_ENABLE_AUTOLOGIN_DESCRIPTION" desc="Description for the flag to pre-login the user">
        When enabled, visiting a Google account login page will trigger an infobar allowing easy sign in with the Google account connected to the profile.
        Auto-login is always disabled if the profile is not connected to an account, regardless of this flag.
      </message>
      <message name="IDS_FLAGS_SHOW_AUTOFILL_TYPE_PREDICTIONS_NAME" desc="Title for the flag to show Autofill field type predictions for all forms">
        Show Autofill predictions
      </message>
      <message name="IDS_FLAGS_SHOW_AUTOFILL_TYPE_PREDICTIONS_DESCRIPTION" desc="Description for the flag to show Autofill field type predictions for all forms">
        Annotates web forms with Autofill field type predictions as placeholder text.
      </message>
      <message name="IDS_FLAGS_DISABLE_NATIVE_AUTOFILL_UI_NAME" desc="Title for the flag to disable the native Autofill UI">
        Disable native Autofill UI
      </message>
      <message name="IDS_FLAGS_DISABLE_NATIVE_AUTOFILL_UI_DESCRIPTION" desc="Description for the flag to disable the native Autofill UI">
        The native Autofill popup UI is implemented in the browser process rather than in the renderer process.
      </message>
      <message name="IDS_FLAGS_ENABLE_INTERACTIVE_AUTOCOMPLETE_NAME" desc="Name of the flag that enables an interactive autocomplete UI.">
        Enable interactive autocomplete
      </message>
      <message name="IDS_FLAGS_ENABLE_INTERACTIVE_AUTOCOMPLETE_DESCRIPTION" desc="Description of the flag to enable an interactive autocomplete UI.">
        Enable an interactive autocomplete UI that can be invoked by calling HTMLFormElement#requestAutocomplete.
      </message>
      <message name="IDS_FLAGS_ENABLE_TCP_FAST_OPEN_NAME" desc="Name of the flag that enables TCP Fast Open.">
        Enable TCP Fast Open
      </message>
      <message name="IDS_FLAGS_ENABLE_TCP_FAST_OPEN_DESCRIPTION" desc="Description of the flag that enables TCP Fast Open.">
        Enable the option to send extra authentication information in the initial SYN packet for a previously connected client, allowing faster data send start.
      </message>
      <message name="IDS_FLAGS_ENABLE_TOUCH_SIDE_BEZELS_NAME" desc="Name of the flag that enables touch events on the side bezels.">
        Enable touch events on the side bezels.
      </message>
      <message name="IDS_FLAGS_ENABLE_TOUCH_SIDE_BEZELS_DESCRIPTION" desc="Description of the flag to enable touch events on the side bezels.">
        Touch events from the side bezels are processed rather than thrown away.
      </message>
      <message name="IDS_FLAGS_ENABLE_TOUCH_DRAG_DROP_NAME" desc="Name of the flag that enables touch initiated drag drop.">
        Enable touch initiated drag and drop
      </message>
      <message name="IDS_FLAGS_ENABLE_TOUCH_DRAG_DROP_DESCRIPTION" desc="Description of the flag to enable touch initiated drag drop.">
        Touch drag and drop can be initiated through long press on a draggable element.
      </message>
      <message name="IDS_FLAGS_ENABLE_TOUCH_EDITING_NAME" desc="Name of the flag that enables touch based text editing.">
        Enable touch based text editing
      </message>
      <message name="IDS_FLAGS_ENABLE_TOUCH_EDITING_DESCRIPTION" desc="Description of the flag to enable touch based text editing.">
        Touch editing can be initiated by tapping on a textfield or a selected text.
      </message>
      <message name="IDS_FLAGS_ENABLE_EXPERIMENTAL_FORM_FILLING_NAME" desc="Title for the flag to enable experimental form filling">
        Enable experimental form filling
      </message>
      <message name="IDS_FLAGS_ENABLE_EXPERIMENTAL_FORM_FILLING_DESCRIPTION" desc="Description for the flag to enable experimantal form filling feature">
        Enable experimental form filling. Enables a collection of experimental features that make form filling easier.
      </message>
      <message name="IDS_FLAGS_ENABLE_EXPERIMENTAL_WEBSOCKET_NAME" desc="Name of the flag that enables experimental WebSocket implementation in chrome/net">
        Enable experimental WebSocket implementation
      </message>
      <message name="IDS_FLAGS_ENABLE_EXPERIMENTAL_WEBSOCKET_DESCRIPTION" desc="Description for the flag to enable experimental WebSocket implementation in chrome/net">
        Use the explemental WebSocket implementation.
      </message>
      <message name="IDS_FLAGS_WALLET_SERVICE_USE_SANDBOX_NAME" desc="Title for the flag to use the Online Wallet sandbox servers (instead of production).">
        Use Wallet sandbox servers
      </message>
      <message name="IDS_FLAGS_WALLET_SERVICE_USE_SANDBOX_DESCRIPTION" desc="Description of the flag to use the Online Wallet sandbox servers.">
        For developers: use the sandbox service for Wallet API calls for requestAutocomplete().
      </message>
      <message name="IDS_FLAGS_OVERSCROLL_HISTORY_NAVIGATION_NAME" desc="Title for the flag for history navigation from horizontal overscroll.">
        Overscroll history navigation
      </message>
      <message name="IDS_FLAGS_OVERSCROLL_HISTORY_NAVIGATION_DESCRIPTION" desc="Description for the flag to disable history navigation from horizontal overscroll.">
        Experimental history navigation in response to horizontal overscroll.
      </message>
      <message name="IDS_FLAGS_OVERVIEW_MODE_NAME" desc="Title for the flag to enable window overview mode.">
        Enable overview mode.
      </message>
      <message name="IDS_FLAGS_OVERVIEW_MODE_DESCRIPTION" desc="Description for the flag to enable window overview mode.">
        Enable overview mode, activated by pushing the switch window button.
      </message>
      <message name="IDS_FLAGS_DISABLE_OVERVIEW_MODE_NAME" desc="Title for the flag to disable window overview mode.">
        Disable overview mode.
      </message>
      <message name="IDS_FLAGS_DISABLE_OVERVIEW_MODE_DESCRIPTION" desc="Description for the flag to disable window overview mode.">
        Disable overview mode, activated by pushing the switch window button.
      </message>
      <message name="IDS_FLAGS_OVERVIEW_DELAY_NAME" desc="Title for the delay before engaging overview on alt+tab.">
        Delay before engaging overview when cycling.
      </message>
      <message name="IDS_FLAGS_OVERVIEW_DELAY_DESCRIPTION" desc="Description for what the delay before engaging overview means.">
        The time from the last alt+tab press before engaging overview mode when cycling through windows.
      </message>
      <message name="IDS_FLAGS_OVERVIEW_DELAY_INSTANT" desc="The choice to have overview engage immediately on alt+tab.">
        Instant
      </message>
      <message name="IDS_FLAGS_OVERVIEW_DELAY_SHORT" desc="The choice to have overview engage almost immediately on alt+tab.">
        Very short
      </message>
      <message name="IDS_FLAGS_OVERVIEW_DELAY_LONG" desc="The choice to have overview engage after a fairly long delay.">
        Long
      </message>
      <message name="IDS_FLAGS_OVERVIEW_DELAY_NEVER" desc="The choice to have overview not engage on alt+tab.">
        Never
      </message>
      <message name="IDS_FLAGS_SCROLL_END_EFFECT_NAME" desc="Title for the flag for scroll end effect from vertical overscroll.">
        Scroll end effect
      </message>
      <message name="IDS_FLAGS_SCROLL_END_EFFECT_DESCRIPTION" desc="Description for the flag that controls scroll end effect from vertical overscroll.">
        Experimental scroll end effect in response to vertical overscroll.
      </message>
      <message name="IDS_FLAGS_ENABLE_SYNC_FAVICONS_NAME" desc="Title for the flag to enable the favicon sync datatype">
        Enable favicon sync.
      </message>
      <message name="IDS_FLAGS_ENABLE_SYNC_FAVICONS_DESCRIPTION" desc="Description for the flag to enable the favicon sync datatype">
        Enable syncing the set of recent favicons.
      </message>
      <message name="IDS_FLAGS_SYNC_KEYSTORE_ENCRYPTION_NAME" desc="Title for the flag to enable sync's keystore encryption options">
        Enable sync keystore encryption.
      </message>
      <message name="IDS_FLAGS_SYNC_KEYSTORE_ENCRYPTION_DESCRIPTION" desc="Description for the flag to enable sync's keystore encryption options">
        Switch to sync's new server supported encryption schema. Warning: this will modify your sync data, possibly making it unreadable to other clients.
      </message>
      <if expr="is_android">
        <message name="IDS_FLAGS_SYNC_TYPED_URLS_NAME" desc="Mobile: Title for the flag to enable syncing the TypedUrl datatype">
          Enable syncing typed URLs
        </message>
        <message name="IDS_FLAGS_SYNC_TYPED_URLS_DESCRIPTION" desc="Mobile: Description for the flag to enable syncing the TypedURL datatype">
          Enable typed URLs in the sync settings. This allows syncing your typed URL history to other clients to assist in omnibox auto-completion.
        </message>
      </if>
      <if expr="not is_android">
        <message name="IDS_FLAGS_SYNC_TYPED_URLS_NAME" desc="Title for the flag to enable syncing the TypedUrl datatype">
          Enable syncing History
        </message>
        <message name="IDS_FLAGS_SYNC_TYPED_URLS_DESCRIPTION" desc="Description for the flag to enable syncing the TypedURL datatype">
          Enable History in the sync settings. This allows syncing your typed URL history and navigation history to other clients to assist in omnibox auto-completion and the history UI.
        </message>
      </if>
      <message name="IDS_FLAGS_OMNIBOX_HISTORY_QUICK_PROVIDER_REORDER_FOR_INLINING_NAME" desc="Title for the flag for omnibox to reorder suggestions in HistoryQuickProvider to make an inlineable appear first">
        Reorder results for inlining in HistoryQuickProvider
      </message>
      <message name="IDS_FLAGS_OMNIBOX_HISTORY_QUICK_PROVIDER_REORDER_FOR_INLINING_DESCRIPTION" desc="Description for the flag for omnibox to reorder suggestions in HistoryQuickProvider to make an inlineable appear first">
        In omnibox autocomplete, reorder suggestions in HistoryQuickProvider to make an inlineable one appear first.
      </message>
      <message name="IDS_FLAGS_OMNIBOX_HISTORY_QUICK_PROVIDER_REORDER_FOR_INLINING_AUTOMATIC" desc="Option name for automatic selection of whether to allow HistoryQuickProvider to reorder suggestions to make an inlineable one appear first">
        Automatic
      </message>
      <message name="IDS_FLAGS_OMNIBOX_HISTORY_QUICK_PROVIDER_REORDER_FOR_INLINING_ENABLED" desc="Option name to allow HistoryQuickProvider to reorder suggestions to make an inlineable one appear first">
        Reorder
      </message>
      <message name="IDS_FLAGS_OMNIBOX_HISTORY_QUICK_PROVIDER_REORDER_FOR_INLINING_DISABLED" desc="Option name to disallow HistoryQuickProvider to reorder suggestions to make an inlineable one appear first">
        Don't Reorder
      </message>
      <message name="IDS_FLAGS_OMNIBOX_INLINE_HISTORY_QUICK_PROVIDER_NAME" desc="Title for the flag for omnibox to prohibit the HistoryQuickProvider from inlining suggestions">
        Inline HistoryQuickProvider suggestions
      </message>
      <message name="IDS_FLAGS_OMNIBOX_INLINE_HISTORY_QUICK_PROVIDER_DESCRIPTION" desc="Description for the flag for omnibox to prohibit the HistoryQuickProvider from inlining suggestions">
        In omnibox autocomplete, allow inlining of matches coming from the HistoryQuickProvider.
      </message>
      <message name="IDS_FLAGS_OMNIBOX_INLINE_HISTORY_QUICK_PROVIDER_AUTOMATIC" desc="Option name for automatic selection of whether omnibox HistoryQuickProvider can inline suggestions.">
        Automatic
      </message>
      <message name="IDS_FLAGS_OMNIBOX_INLINE_HISTORY_QUICK_PROVIDER_ALLOWED" desc="Option name to allow the omnibox HistoryQuickProvider to inline suggestions if it wants to.">
        Allowed
      </message>
      <message name="IDS_FLAGS_OMNIBOX_INLINE_HISTORY_QUICK_PROVIDER_PROHIBITED" desc="Option name to prohibit omnibox HistoryQuickProvider from inlining suggestions ever.">
        Prohibited
      </message>
      <message name="IDS_FLAGS_ENABLE_PANELS_NAME" desc="Name of the 'Enable Panels' lab.">
        Enable Panels
      </message>
      <message name="IDS_FLAGS_ENABLE_PANELS_DESCRIPTION" desc="Description for the flag to enable Panel windows.">
        Enable Panel windows that open outside of the browser frame. Attempts to open a Panel will open a popup instead if not enabled. Panels are always enabled on the dev and canary channels.
      </message>
      <message name="IDS_FLAGS_ENABLE_HTML_IMPORTS_NAME" desc="Enable HTML Imports.">
        Enable HTML Imports
      </message>
      <message name="IDS_FLAGS_ENABLE_HTML_IMPORTS_DESCRIPTION" desc="Description of 'Enable HTML Imports' flag.">
        Enabling this option allows web applications to load HTML Imports.
      </message>
      <message name="IDS_FLAGS_ENABLE_WEBGL_NAME" desc="Name of the 'Enable WebGL' lab.">
        Enable WebGL
      </message>
      <message name="IDS_FLAGS_ENABLE_WEBGL_DESCRIPTION" desc="Description for the flag to enable WebGL.">
        Enabling this option allows web applications to access the WebGL API.
      </message>
      <message name="IDS_FLAGS_ENABLE_D3D11_NAME" desc="Name of the 'Enable D3D11' lab.">
        Enable D3D11
      </message>
      <message name="IDS_FLAGS_ENABLE_D3D11_DESCRIPTION" desc="Description for the flag to enable D3D11.">
        Enabling this option allows the use of Direct3D 11 on configurations that support it.
      </message>
      <message name="IDS_FLAGS_ENABLE_WEBGL_DRAFT_EXTENSIONS_NAME" desc="Name of the 'Enable WebGL Draft Extensions' flag.">
        Enable WebGL Draft Extensions
      </message>
      <message name="IDS_FLAGS_ENABLE_WEBGL_DRAFT_EXTENSIONS_DESCRIPTION" desc="Description for the flag to enable WebGL Draft Extensions.">
        Enabling this option allows web applications to access the WebGL Extensions that are still in draft status.
      </message>
      <message name="IDS_FLAGS_DISABLE_WEBGL_NAME" desc="Name of the 'Disable WebGL' lab.">
        Disable WebGL
      </message>
      <message name="IDS_FLAGS_DISABLE_WEBGL_DESCRIPTION" desc="Description for the flag to disable WebGL.">
        Enabling this option prevents web applications from accessing the WebGL API.
      </message>
      <message name="IDS_FLAGS_DISABLE_WEBRTC_NAME" desc="Name of the 'Disable WebRTC' lab.">
        Disable WebRTC
      </message>
      <message name="IDS_FLAGS_DISABLE_WEBRTC_DESCRIPTION" desc="Description for the flag to disable WebRTC.">
        Enabling this option prevents web applications from accessing the WebRTC API.
      </message>
      <message name="IDS_FLAGS_DISABLE_DEVICE_ENUMERATION_NAME" desc="Name of about:flags option to turn off WebRTC device enumeration support.">
        Disable WebRTC device enumeration.
      </message>
      <message name="IDS_FLAGS_DISABLE_DEVICE_ENUMERATION_DESCRIPTION" desc="Description of chrome:flags option to turn off WebRTC device enumeration support">
        Disable support for MediaStreamTrack.getSources().
      </message>
      <message name="IDS_FLAGS_DISABLE_SCTP_DATA_CHANNELS_NAME" desc="Name of about:flags option to turn off SCTP data channels support">
        Disable SCTP Data Channels
      </message>
      <message name="IDS_FLAGS_DISABLE_SCTP_DATA_CHANNELS_DESCRIPTION" desc="Description of about:flags option to turn ooff SCTP data channels support">
        When enabled, DataChannels created by WebRTC will not use the SCTP wire protocol.
      </message>
      <message name="IDS_FLAGS_DISABLE_WEBRTC_HW_DECODING_NAME" desc="Name of chrome:flags option to turn off WebRTC hardware video decoding support.">
        Disable support for WebRTC hardware video decoding.
      </message>
      <message name="IDS_FLAGS_DISABLE_WEBRTC_HW_DECODING_DESCRIPTION" desc="Description of chrome:flags option to turn off WebRTC hardware video decoding support.">
        This option disables support in WebRTC for decoding video streams using platform hardware.
      </message>
      <message name="IDS_FLAGS_DISABLE_WEBRTC_HW_ENCODING_NAME" desc="Name of chrome:flags option to turn off WebRTC hardware video encoding support.">
        Disable support for WebRTC hardware video encoding.
      </message>
      <message name="IDS_FLAGS_DISABLE_WEBRTC_HW_ENCODING_DESCRIPTION" desc="Description of chrome:flags option to turn off WebRTC hardware video encoding support.">
        This option disables support in WebRTC for encoding video streams using platform hardware.
      </message>
      <if expr="not pp_ifdef('use_webaudio_enable_message')">
        <message name="IDS_FLAGS_DISABLE_WEBAUDIO_NAME" desc="Name of the 'Disable WebAudio' lab.">
          Disable WebAudio
        </message>
        <message name="IDS_FLAGS_DISABLE_WEBAUDIO_DESCRIPTION" desc="Description for the flag to disable WebAudio.">
          Enabling this option prevents web sites from accessing the WebAudio API.
        </message>
      </if>
      <if expr="pp_ifdef('use_webaudio_enable_message')">
        <message name="IDS_FLAGS_ENABLE_WEBAUDIO_NAME" desc="Name of the 'Enable WebAudio' lab.">
          Enable WebAudio
        </message>
        <message name="IDS_FLAGS_ENABLE_WEBAUDIO_DESCRIPTION" desc="Description for the flag to enable WebAudio.">
          Enabling this option allows web sites to access the WebAudio API.
        </message>
      </if>
      <message name="IDS_FLAGS_FIXED_POSITION_CREATES_STACKING_CONTEXT_NAME" desc="Name of the 'Fixed position creates stacking context' lab.">
        Fixed position elements create stacking contexts.
      </message>
      <message name="IDS_FLAGS_FIXED_POSITION_CREATES_STACKING_CONTEXT_DESCRIPTION" desc="Description for the flag to make fixed position elements create stacking contexts.">
        Enabling this option makes all fixed position elements create new CSS stacking contexts.
      </message>
      <message name="IDS_FLAGS_COMPOSITING_FOR_FIXED_POSITION_NAME" desc="Name of the 'Compositing for fixed position elements' lab.">
        Compositing for fixed position elements.
      </message>
      <message name="IDS_FLAGS_COMPOSITING_FOR_FIXED_POSITION_DESCRIPTION" desc="Description for the flag to make fixed position elements become composited layers.">
        Enabling this option will make fixed position elements have their own composited layers. Note that fixed position elements must also create stacking contexts for this to work.
      </message>
      <message name="IDS_FLAGS_COMPOSITING_FOR_FIXED_POSITION_HIGH_DPI" desc="Description of the 'Compositing for fixed position elements on high DPI' experiment.">
        Enabled only for high-DPI displays
      </message>
      <message name="IDS_FLAGS_COMPOSITING_FOR_TRANSITION_NAME" desc="Name of the 'Compositing for RenderLayers with transitions' lab.">
        Compositing for RenderLayers with transitions.
      </message>
      <message name="IDS_FLAGS_COMPOSITING_FOR_TRANSITION_DESCRIPTION" desc="Description for the flag to make RenderLayers with transitions become composited layers.">
        Enabling this option will make RenderLayers with a transition on opacity, transform, or filter have their own composited layer.
      </message>
      <message name="IDS_FLAGS_ACCELERATED_FIXED_ROOT_BACKGROUND_NAME" desc="Name of the 'Accelerated fixed root background' lab.">
        Compositing for fixed root backgrounds.
      </message>
      <message name="IDS_FLAGS_ACCELERATED_FIXED_ROOT_BACKGROUND_DESCRIPTION" desc="Description for the flag to all fixed root backgrounds to be put in separate, composited layers.">
        If this option is enabled, and if the body is styled with background-attachment:fixed, the background will have its own compositied layer.
      </message>
      <message name="IDS_FLAGS_ENABLE_DEFERRED_IMAGE_DECODING_NAME" desc="Name of the 'Enable deferred image decoding' lab.">
        Enable deferred image decoding.
      </message>
      <message name="IDS_FLAGS_ENABLE_DEFERRED_IMAGE_DECODING_DESCRIPTION" desc="Description for the flag to defer image decoding in WebKit.">
        Defer image decoding operations in WebKit until painting.
      </message>
      <message name="IDS_FLAGS_ENABLE_QUIC_NAME" desc="Title for the flag to enable QUIC.">
        Experimental QUIC protocol.
      </message>
      <message name="IDS_FLAGS_ENABLE_QUIC_DESCRIPTION" desc="Description for the flag to enable QUIC.">
        Enable experimental QUIC protocol support.
      </message>
      <message name="IDS_FLAGS_ENABLE_QUIC_HTTPS_NAME" desc="Title for the flag to enable HTTPS over QUIC.">
        HTTPS over experimental QUIC protocol.
      </message>
      <message name="IDS_FLAGS_ENABLE_QUIC_HTTPS_DESCRIPTION" desc="Description for the flag to enable HTTPS over QUIC.">
        Enables QUIC over an Authenticated Encrypted channel (can replace HTTPS transactions). Without this flag, only HTTP requests are supported over QUIC. This only has an effect if QUIC protocol is enabled.
      </message>
      <message name="IDS_FLAGS_ENABLE_SPDY4A2_NAME" desc="Title for the flag to enable SPDY/4 alpha 2">
        Enable SPDY/4 alpha 2
      </message>
      <message name="IDS_FLAGS_ENABLE_SPDY4A2_DESCRIPTION" desc="Description for the flag to enable SPDY/4 alpha 2.">
        Enable experimental SPDY/4 alpha 2.
      </message>
      <message name="IDS_FLAGS_ENABLE_HTTP2_DRAFT_04_NAME" desc="Title for the flag to enable HTTP/2 draft 04">
        Enable HTTP/2 draft 04.
      </message>
      <message name="IDS_FLAGS_ENABLE_HTTP2_DRAFT_04_DESCRIPTION" desc="Description for the flag to enable HTTP/2 draft 04.">
        Enable experimental HTTP/2 draft 04.
      </message>
      <message name="IDS_FLAGS_ENABLE_ASYNC_DNS_NAME" desc="Title for the flag to enable asynchronous DNS client.">
        Built-in Asynchronous DNS
      </message>
      <message name="IDS_FLAGS_ENABLE_ASYNC_DNS_DESCRIPTION" desc="Description for the flag to enable asynchronous DNS client.">
        Enable experimental asynchronous DNS client.
      </message>
      <message name="IDS_FLAGS_DISABLE_WEBKIT_MEDIA_SOURCE_NAME" desc="Title for the flag to disable the prefixed Media Source API.">
        Disable prefixed Media Source API.
      </message>
      <message name="IDS_FLAGS_DISABLE_WEBKIT_MEDIA_SOURCE_DESCRIPTION" desc="Description for the flag to disable the prefixed Media Source API.">
        Disable the experimental WebKitMediaSource object. This object allows JavaScript to send media data directly to a video element.
      </message>
      <message name="IDS_FLAGS_DISABLE_UNPREFIXED_MEDIA_SOURCE_NAME" desc="Title for the flag to disable the unprefixed Media Source API.">
        Disable unprefixed Media Source API.
      </message>
      <message name="IDS_FLAGS_DISABLE_UNPREFIXED_MEDIA_SOURCE_DESCRIPTION" desc="Description for the flag to disable the unprefixed Media Source API.">
        Disable the unprefixed MediaSource object. This object allows JavaScript to send media data directly to a video element.
      </message>
      <message name="IDS_FLAGS_ENABLE_ENCRYPTED_MEDIA_NAME" desc="Title for the flag to enable the (unprefixed) Encrypted Media Extensions APIs (e.g. MediaKeys).">
        Enable Encrypted Media Extensions.
      </message>
      <message name="IDS_FLAGS_ENABLE_ENCRYPTED_MEDIA_DESCRIPTION" desc="Description for the flag to enable the (unprefixed) Encrypted Media Extensions APIs (e.g. MediaKeys).">
        Enable Encrypted Media Extensions on video and audio elements. This enables the latest version of the Encrypted Media Extensions.
      </message>
      <message name="IDS_FLAGS_DISABLE_PREFIXED_ENCRYPTED_MEDIA_NAME" desc="Title for the flag to disable the prefixed Encrypted Media Extensions APIs (e.g. webkitGenerateKeyRequest()).">
        Disable prefixed Encrypted Media Extensions.
      </message>
      <message name="IDS_FLAGS_DISABLE_PREFIXED_ENCRYPTED_MEDIA_DESCRIPTION" desc="Description for the flag to disable the prefixed Encrypted Media Extensions APIs (e.g. webkitGenerateKeyRequest()).">
        Disable the experimental version of Encrypted Media Extensions on video and audio elements.
      </message>
      <message name="IDS_FLAGS_ENCRYPTED_MEDIA_CANPLAYTYPE_OVERRIDE_NAME" desc="Title for the flag to override suppressed affirmative responses to canPlayType().">
        Enable suppressed canPlayType() responses.
      </message>
      <message name="IDS_FLAGS_ENCRYPTED_MEDIA_CANPLAYTYPE_OVERRIDE_DESCRIPTION" desc="Description for the flag to override suppressed affirmative responses to canPlayType().">
        Enable appropriate responses to canPlayType() for key systems that return the empty string by default.
      </message>
      <if expr="is_android">
        <message name="IDS_FLAGS_DISABLE_INFOBAR_FOR_PROTECTED_MEDIA_IDENTIFIER_NAME" desc="Title for the flag to disable infobar popup for protected media identifier.">
          Disable infobar popup for protected media.
        </message>
        <message name="IDS_FLAGS_DISABLE_INFOBAR_FOR_PROTECTED_MEDIA_IDENTIFIER_DESCRIPTION" desc="Description for the flag to disable infobar popup for protected media identifier.">
          Disable infobar popup by default when accessing the protected media identifier.
        </message>
        <message name="IDS_FLAGS_MEDIADRM_ENABLE_NON_COMPOSITING_NAME" desc="Title for the flag to enable non-conmpositing decoding in MediaDrm for encrypted content.">
          Enable non-compositing decoding.
        </message>
        <message name="IDS_FLAGS_MEDIADRM_ENABLE_NON_COMPOSITING_DESCRIPTION" desc="Description for the flag to enable non-conmpositing decoding in MediaDrm for encrypted content.">
          Enable non-compositing decoding in MediaDrm by default for Encrypted Media Extensions.
        </message>
      </if>
      <message name="IDS_FLAGS_DISABLE_OPUS_PLAYBACK_NAME" desc="Title for the flag to disable Opus playback in &lt;video&gt; elements.">
        Disable Opus playback in &lt;video&gt; elements.
      </message>
      <message name="IDS_FLAGS_DISABLE_OPUS_PLAYBACK_DESCRIPTION" desc="Description for the flag to disable Opus playback in &lt;video&gt; elements.">
        Disable experimental Opus playback in the video element.
      </message>
      <message name="IDS_FLAGS_DISABLE_VP8_ALPHA_PLAYBACK_NAME" desc="Title for the flag to disable VP8 Alpha playback in &lt;video&gt; elements.">
        Disable VP8 Alpha playback in &lt;video&gt; elements.
      </message>
      <message name="IDS_FLAGS_DISABLE_VP8_ALPHA_PLAYBACK_DESCRIPTION" desc="Description for the flag to disable VP8 Alpha playback in &lt;video&gt; elements.">
        Disable VP8 Alpha playback in the video element.
      </message>
      <message name="IDS_FLAGS_ASH_AUTO_WINDOW_PLACEMENT_NAME" desc="Name for the option to enable/disable the auto window placement functionality.">
        Automatic window placement.
      </message>
      <message name="IDS_FLAGS_ASH_AUTO_WINDOW_PLACEMENT_DESCRIPTION" desc="Description for the option to enable/disable the auto window placement functionality.">
        Disable automatic window placement for one and two browser / app windows.
      </message>
      <message name="IDS_FLAGS_ASH_AUTO_MAXIMIZING_NAME" desc="Name for the option to disable the auto window maximizing functionality.">
        Disable automatic window maximization
      </message>
      <message name="IDS_FLAGS_ASH_AUTO_MAXIMIZING_DESCRIPTION" desc="Description for the option to disable the auto window maximizing functionality.">
        Disable automatic window maximization for browser / app windows if they are started the first time.
      </message>
      <message name="IDS_FLAGS_DISABLE_GESTURE_REQUIREMENT_FOR_MEDIA_PLAYBACK_NAME" desc="Title for the flag to disable gesture requiment for media playback">
        Disable gesture requirement for media playback.
      </message>
      <message name="IDS_FLAGS_DISABLE_GESTURE_REQUIREMENT_FOR_MEDIA_PLAYBACK_DESCRIPTION" desc="Description for the flag to disable gesture requiment for media playback">
        Disable user gesture requirement for playing media elements. Activating this will allow autoplay to work.
      </message>

      <message name="IDS_FLAGS_ENABLE_ADVANCED_GESTURES_NAME" desc="Title for the flag to enable advanced gestures.">
        Enable advanced gestures
      </message>
      <message name="IDS_FLAGS_ENABLE_ADVANCED_GESTURES_DESCRIPTION" desc="Title for the flag to enable advanced gestures.">
        Enables advanced gestures (e.g. 4-finger pinch to minimize window etc.).
      </message>
      <message name="IDS_FLAGS_ASH_FRAME_CAPTION_BUTTON_STYLE_NAME" desc="Title for the flag for the alternate frame caption button style.">
        Alternate frame caption button style
      </message>
      <message name="IDS_FLAGS_ASH_FRAME_CAPTION_BUTTON_STYLE_DESCRIPTION" desc="Description for the flag for the alternate frame caption button style.">
        Enables an experimental visual style for the frame caption buttons (minimize, maximize, close).
      </message>
      <message name="IDS_FLAGS_DND_APPLIST_TO_LAUNCHER_NAME" desc="Title for the flag to disable drag and drop from the app list menu to the launcher.">
        Drag and drop from the app list menu to the shelf.
      </message>
      <message name="IDS_FLAGS_DND_APPLIST_TO_LAUNCHER_DESCRIPTION" desc="Description for the flag to disable drag and drop opertions from the app list menu to the launcher.">
        Disallow drag and drop from the app list menu to the shelf.
      </message>
      <message name="IDS_FLAGS_ENABLE_MEMORY_MONITOR_NAME" desc="Title for the flag to enable advanced gestures.">
        Enable memory monitor
      </message>
      <message name="IDS_FLAGS_ENABLE_MEMORY_MONITOR_DESCRIPTION" desc="Title for the flag to enable advanced gestures.">
        Enables visual memory monitor in status area.
      </message>
      <message name="IDS_FLAGS_ENABLE_FULL_MULTI_PROFILE_MODE" desc="Title for the full multi profile mode flag.">
        Enable side-by-side multi profile mode
      </message>
      <message name="IDS_FLAGS_ENABLE_FULL_MULTI_PROFILE_MODE_DESCRIPTION" desc="Title for the full multi profile mode flag.">
        Enable side-by-side multi profile mode in which all browser and app windows share the same workspace.
      </message>
      <message name="IDS_FLAGS_ENABLE_MULTI_USER_TRAY" desc="Title for the full multi profile tray flag.">
        Enable multi profile tray
      </message>
      <message name="IDS_FLAGS_ENABLE_MULTI_USER_TRAY_DESCRIPTION" desc="Title for showing/hiding the multi profile icons in the system tray.">
        Show in the system tray the icons for all logged in users.
      </message>
      <message name="IDS_FLAGS_ASH_AUDIO_DEVICE_MENU_NAME" desc="Title for a flag for audio switching.">
        Audio input/output menu
      </message>
      <message name="IDS_FLAGS_ASH_AUDIO_DEVICE_MENU_DESCRIPTION" desc="Description for a flag for audio switching.">
        Modifies the volume item in the status tray to add a menu allowing choosing a specific audio input and output device. Requires "Enable new audio handler" flag.
      </message>
      <message name="IDS_FLAGS_ENABLE_LOCALLY_MANAGED_USERS_NAME" desc="Title for the flag to enable supervised users.">
        Enable supervised users
      </message>
      <message name="IDS_FLAGS_ENABLE_LOCALLY_MANAGED_USERS_DESCRIPTION" desc="Description for the flag to enable supervised users.">
        Enables support for user profiles that are managed by another user and can have restrictions applied.
      </message>
      <message name="IDS_FLAGS_ENABLE_NATIVE_FRAMES_FOR_APPS_NAME" desc="Title for the flag to enable native style frames for apps.">
        Native style window frames for packaged apps
      </message>
      <message name="IDS_FLAGS_ENABLE_NATIVE_FRAMES_FOR_APPS_DESCRIPTION" desc="Description for the flag to enable native style frames for apps.">
        Use native-style window decorations for packaged app windows.
      </message>
      <message name="IDS_FLAGS_ENABLE_OMNIBOX_AUTO_COMPLETION_FOR_IME_NAME" desc="Title for the flag to enable omnibox auto-completion for IMEs.">
        Enable omnibox auto-completion when IME is active
      </message>
      <message name="IDS_FLAGS_ENABLE_OMNIBOX_AUTO_COMPLETION_FOR_IME_DESCRIPTION" desc="Description for the flag to enable auto-completion for IMEs.">
        Enables omnibox auto-completion when IME is active.  The auto-completion for IME is shown in the same style as the normal(non-IME) auto-completion.
      </message>

      <message name="IDS_GENERIC_EXPERIMENT_CHOICE_AUTOMATIC" desc="Generic 'Automatic' experiment choice option name.">
        Automatic
      </message>
      <message name="IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT" desc="Generic 'Default' experiment choice option name. E.G. shown in multi value options in about:flags.">
        Default
      </message>
      <message name="IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED" desc="Generic 'Enabled' experiment choice option name. E.G. shown in multi value options in about:flags.">
        Enabled
      </message>
      <message name="IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED" desc="Generic 'Disabled' experiment choice option name. E.G. shown in multi value options in about:flags.">
        Disabled
      </message>
      <message name="IDS_FLAGS_PER_TILE_PAINTING_NAME" desc="Title for the flag to enable per-tile painting">
        Per-tile Painting
      </message>
      <message name="IDS_FLAGS_PER_TILE_PAINTING_DESCRIPTION" desc="Description for the flag to enable per-tile painting">
        Enable per-tile painting of page contents when compositing is enabled.
      </message>
      <message name="IDS_FLAGS_ENABLE_JAVASCRIPT_HARMONY_NAME" desc="Title for the flag to enable JavaScript Harmony features.">
        Enable Experimental JavaScript
      </message>
      <message name="IDS_FLAGS_ENABLE_JAVASCRIPT_HARMONY_DESCRIPTION" desc="Description for the flag to enable JavaScript Harmony features.">
        Enable web pages to use experimental JavaScript features.
      </message>
      <message name="IDS_FLAGS_ENABLE_TAB_BROWSER_DRAGGING_NAME" desc="Title for the flag to enable detached tabs to create a real browser.">
        Enable Tab Browser Dragging
      </message>
      <message name="IDS_FLAGS_ENABLE_TAB_BROWSER_DRAGGING_DESCRIPTION" desc="Description for the flag to enable detached tabs to create a real browser.">
        Enable creating a browser window when dragging tabs.
      </message>
      <message name="IDS_FLAGS_ENABLE_DOWNLOAD_RESUMPTION_NAME" desc="Title for the flag to enable the download resume feature.">
        Enable Download Resumption
      </message>
      <message name="IDS_FLAGS_ENABLE_DOWNLOAD_RESUMPTION_DESCRIPTION" desc="Description for the flag to enable the download resume feature.">
        Allow downloads that have been interrupted to be continued or restarted, using the Resume context menu item.
      </message>
      <message name="IDS_FLAGS_DISABLE_RESTORE_SESSION_STATE_NAME" desc="Title for the flag to disable restoring (more) session state after restarts and crashes.">
        Disable Better session restore
      </message>
      <message name="IDS_FLAGS_DISABLE_RESTORE_SESSION_STATE_DESCRIPTION" desc="Description for the flag to disable restoring (more) session state after restarts and crashes.">
        Disables the Better session restore features which restore more session state (e.g., session cookies) after restarts and crashes.
      </message>
      <message name="IDS_FLAGS_DISABLE_SOFTWARE_RASTERIZER_NAME" desc="Title for the flag to disable using a software rasterizer.">
        Disable 3D software rasterizer
      </message>
      <message name="IDS_FLAGS_DISABLE_SOFTWARE_RASTERIZER_DESCRIPTION" desc="Description for the flag to disable using a software renderer.">
        Don't fall back to a 3D software rasterizer when the GPU cannot be used.
      </message>
      <message name="IDS_FLAGS_EXPERIMENTAL_WEB_PLATFORM_FEATURES_NAME" desc="Name for the flag to enable experimental Web Platform features.">
        Enable experimental Web Platform features.
      </message>
      <message name="IDS_FLAGS_EXPERIMENTAL_WEB_PLATFORM_FEATURES_DESCRIPTION" desc="Description for the flag to enable experimental Web Platform features.">
        Enable experimental Web Platform features that are in development.
      </message>
      <message name="IDS_FLAGS_NTP_OTHER_SESSIONS_MENU_NAME" desc="Name for the flag to disable the 'Other devices' menu on the NTP.">
        Disable NTP 'Other devices' menu.
      </message>
      <message name="IDS_FLAGS_NTP_OTHER_SESSIONS_MENU_DESCRIPTION" desc="Description for the flag to disable the 'Other devices' menu on the NTP.">
        Disable the new tab page menu for accessing tabs on other devices.
      </message>
      <message name="IDS_FLAGS_ENABLE_ASH_OAK_NAME" desc="Name of the flag to enable the oak tree viewer in ash.">
        Enable Oak.
      </message>
      <message name="IDS_FLAGS_ENABLE_ASH_OAK_DESCRIPTION" desc="Description of the flag to enable the oak tree viewer in ash.">
        Enables the Oak tree viewer in ash. Allows inspection of window, layer and view hierarchies and their properties. Press Ctrl+Shift+F1 to access.
      </message>
      <message name="IDS_FLAGS_ENABLE_DEVTOOLS_EXPERIMENTS_NAME" desc="Name for the flag to enable experiments in Developer Tools">
        Enable Developer Tools experiments.
      </message>
      <message name="IDS_FLAGS_ENABLE_DEVTOOLS_EXPERIMENTS_DESCRIPTION" desc="Description for the flag to enable experiments in Developer Tools.">
        Enable Developer Tools experiments. Use Settings panel in Developer Tools to toggle individual experiments.
      </message>
      <message name="IDS_FLAGS_SILENT_DEBUGGER_EXTENSION_API_NAME" desc="Name for the flag to enable silent debugging via chrome.debugger extension API.">
        Enable Silent Debugging.
      </message>
      <message name="IDS_FLAGS_SILENT_DEBUGGER_EXTENSION_API_DESCRIPTION" desc="Description for the flag to enable silent debugging via chrome.debugger extension API.">
        Do not show the infobar when an extension attaches to a page via chrome.debugger API. This flag is required to debug extension background pages.
      </message>
      <message name="IDS_FLAGS_SPELLCHECK_AUTOCORRECT" desc="Title for the flag to turn on text autocorrection.">
        Enable Automatic Spelling Correction
      </message>
      <message name="IDS_FLAGS_SPELLCHECK_AUTOCORRECT_DESCRIPTION" desc="Description for the flag to force synchronous spellchecking.">
        Turn on autocorrection of text while typing. Synchronous spellchecking is not compatible with this feature.
      </message>
      <message name="IDS_FLAGS_DOCKED_WINDOWS_NAME" desc="Name for the flag to enable docked windows feature.">
        Enable docking of windows near screen edges.
      </message>
      <message name="IDS_FLAGS_DOCKED_WINDOWS_DESCRIPTION" desc="Description for the flag to enable docked windows feature.">
        Turns on docking of windows near screen edges, a feature that provides an easier way to interact with panel and other small windows.
      </message>
      <message name="IDS_FLAGS_IMMERSIVE_FULLSCREEN_FOR_ALL_WINDOWS_NAME" desc="Name for the flag to enable immersive fullscreen for all windows.">
        Enable immersive fullscreen for non browser windows.
      </message>
      <message name="IDS_FLAGS_IMMERSIVE_FULLSCREEN_FOR_ALL_WINDOWS_DESCRIPTION" desc="Description for the flag enable immersive fullscreen for all windows.">
        Sets non-browser windows (apps, task manager) to use immersive fullscreen when fullscreened via the F4 key.
      </message>
      <message name="IDS_FLAGS_SHOW_SHELF_ALIGNMENT_MENU_NAME" desc="Name for the flag to show a menu that lets you change the alignment of the shelf.">
        Show shelf alignment menu.
      </message>
      <message name="IDS_FLAGS_SHOW_SHELF_ALIGNMENT_MENU_DESCRIPTION" desc="Description for the flag to show a menu that lets you change the alignment of the shelf.">
        Enables a menu that allows changing the side the shelf is aligned to.
      </message>
      <message name="IDS_FLAGS_DISABLE_MINIMIZE_ON_SECOND_LAUNCHER_ITEM_CLICK_NAME" desc="Name for the flag which allows to minimize a window upon launcher item click under certain conditions.">
        Disallow shelf to minimize-on-click.
      </message>
      <message name="IDS_FLAGS_DISABLE_MINIMIZE_ON_SECOND_LAUNCHER_ITEM_CLICK_DESCRIPTION" desc="Description for the flag which allows to minimize a window upon launcher item click under certain conditions.">
        Disallow the shelf to minimize a window if a shelf item gets clicked which has only a single, already active, window associated with it.
      </message>

      <message name="IDS_FLAGS_SHOW_TOUCH_HUD_NAME" desc="Name for the flag to show a heads-up display for tracking touch-points.">
        Show HUD for touch points
      </message>
      <message name="IDS_FLAGS_SHOW_TOUCH_HUD_DESCRIPTION" desc="Description for the flag to show a heads-up display for tracking touch-points.">
        Enables a heads-up display at the top-left corner of the screen that lists information about the touch-points on the screen.
      </message>
      <message name="IDS_MULTIPLE_SNAP_WINDOW_WIDTHS_NAME" desc="Name for the flag for allowing side maximizing a window to several widths">
        Allow a window to be side maximized to several widths.
      </message>
      <message name="IDS_MULTIPLE_SNAP_WINDOW_WIDTHS_DESCRIPTION" desc="Description for the flag for allowing side maximizing a window to several widths.">
        Allow a window to be side maximized to several widths. The width is selected based on how far beyond the edge of the screen a window is dragged.
      </message>
      <message name="IDS_FLAGS_ALLOW_NACL_SOCKET_API_NAME" desc="Name for the NaCl Socket API feature.">
        NaCl Socket API.
      </message>
      <message name="IDS_FLAGS_ALLOW_NACL_SOCKET_API_DESCRIPTION" desc="Description for the NaCl Socket API feature.">
        Allows applications to use NaCl Socket API. Use only to test NaCl plugins.
      </message>
      <message name="IDS_FLAGS_ENABLE_PINCH_SCALE_NAME" desc="Name of the flag to turn on experiental pinch to scale.">
        Enable pinch scale.
      </message>
      <message name="IDS_FLAGS_ENABLE_PINCH_SCALE_DESCRIPTION" desc="Description of the flag to turn on experiental pinch to scale.">
        Enables experimental support for scale using pinch.
      </message>
      <message name="IDS_FLAGS_ENABLE_PINCH_VIRTUAL_VIEWPORT_NAME" desc="Name of the flag to turn on experimental pinch virtual viewport.">
        Enable pinch virtual viewport.
      </message>
      <message name="IDS_FLAGS_ENABLE_PINCH_VIRTUAL_VIEWPORT_DESCRIPTION" desc="Description of the flag to turn on experimental pinch virtual viewport.">
        When zoomed in, fixed-position elements and scaled scrollbars attach to this viewport.
      </message>
      <message name="IDS_FLAGS_ENABLE_CONTACTS_NAME" desc="Name of the 'Enable contacts' lab.">
        Enable contacts integration.
      </message>
      <message name="IDS_FLAGS_ENABLE_CONTACTS_DESCRIPTION" desc="Description of the 'Enable contacts' lab.">
        Enables downloading Google contacts and displaying them in the App List.
      </message>

      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_FLAGS_ALLOW_TOUCHPAD_THREE_FINGER_CLICK_NAME" desc="Name for the flag to enable touchpad three finger click as middle button.">
          Enable touchpad three-finger-click.
        </message>
        <message name="IDS_FLAGS_ALLOW_TOUCHPAD_THREE_FINGER_CLICK_DESCRIPTION" desc="Description for the flag to enable touchpad three finger click as middle button.">
          Enables touchpad three-finger-click as middle button.
        </message>
        <message name="IDS_FLAGS_DISABLE_BOOT_ANIMATION" desc="Name for the flag to disable wallpaper boot animation (except for OOBE).">
          Disable boot animation.
        </message>
        <message name="IDS_FLAGS_DISABLE_BOOT_ANIMATION_DESCRIPTION" desc="Description for the flag to disable wallpaper boot animation (except for OOBE).">
          Disables wallpaper boot animation (except for OOBE case).
        </message>
        <message name="IDS_FLAGS_ENABLE_STICKY_KEYS_NAME" desc="Name for the flag to enable sticky keys.">
          Enable sticky keys.
        </message>
        <message name="IDS_FLAGS_ENABLE_STICKY_KEYS_DESCRIPTION" desc="Description for the flag to enable sticky keys.">
          StickyKeys allows the user to press and release a modifier key, such as Shift, Ctrl, or Alt, and have it remain active until any other key is pressed.
        </message>
        <message name="IDS_FLAGS_ENABLE_SAML_SIGNIN_NAME" desc="Name for the flag to enable SAML signin support.">
          Enable SAML signin.
        </message>
        <message name="IDS_FLAGS_ENABLE_SAML_SIGNIN_DESCRIPTION" desc="Description for the flag to enable SAML signin support.">
          Enables SAML signin support for ChromeOS login.
        </message>
        <message name="IDS_FLAGS_ENABLE_MULTI_PROFILES_NAME" desc="Name for the flag to enable multi-profile support.">
          Enable multiprofiles mode.
        </message>
        <message name="IDS_FLAGS_ENABLE_MULTI_PROFILES_DESCRIPTION" desc="Description for the flag to enable multi-profile support.">
          This is an unsupported experimental mode, currently limited for testing purposes to devices enrolled on google.com, and with an @google.com account as the primary user. Features may break or change significantly.
        </message>
      </if>
      <message name="IDS_FLAGS_FULL_HISTORY_SYNC_NAME" desc="Name of the flag to disable full history sync.">
        Disable full history sync
      </message>
      <message name="IDS_FLAGS_FULL_HISTORY_SYNC_DESCRIPTION" desc="Description for the flag to disable full history sync.">
        Allows you to see and delete history entries from your signed-in devices at chrome://history.
      </message>
      <message name="IDS_FLAGS_DISABLE_ACCELERATED_VIDEO_DECODE_NAME" desc="Name of the flag to disable accelerated video decode where available.">
        Disable hardware-accelerated video decode.
      </message>
      <message name="IDS_FLAGS_DISABLE_ACCELERATED_VIDEO_DECODE_DESCRIPTION" desc="Description for the flag to disable accelerated video decode where available.">
        Disables hardware-accelerated video decode where available.
      </message>
      <message name="IDS_FLAGS_ENABLE_CARRIER_SWITCHING" desc="Name for the flag to set to enable mobile carrier switching.">
        Enable switching between mobile carriers.
      </message>
      <message name="IDS_FLAGS_ENABLE_CARRIER_SWITCHING_DESCRIPTION" desc="Description for the flag to set to enable carrier switching.">
        Allows the user to switch between mobile carriers from the UI. Warning: The Sprint carrier will ONLY work for users with an existing Sprint plan.
      </message>
      <message name="IDS_FLAGS_ENABLE_REQUEST_TABLET_SITE_NAME" desc="Name for the flag to set to enable Request Tablet Site in the wrench menu.">
        Enables the request tablet site option in the settings menu.
      </message>
      <message name="IDS_FLAGS_ENABLE_REQUEST_TABLET_SITE_DESCRIPTION" desc="Description for the flag to set to enable Request Tablet Site in the wrench menu.">
        Allows the user to request tablet site. Web content is often optimized for tablet devices. When this option is selected the user agent string is changed to indicate a tablet device. Web content optimized for tablets is received there after for the current tab.
      </message>
      <message name="IDS_FLAGS_DEBUG_PACKED_APP_NAME" desc="Name of the flag to enable debugging context menu options for packed apps.">
        Enable debugging for packed apps.
      </message>
      <message name="IDS_FLAGS_DEBUG_PACKED_APP_DESCRIPTION" desc="Description of the flag to enable debugging context menu options for packed apps.">
        Enables debugging context menu options such as Inspect Element for packed applications.
      </message>
      <message name="IDS_FLAGS_ENABLE_PASSWORD_GENERATION_NAME" desc="Name of the flag to enable password generation.">
        Enable password generation.
      </message>
      <message name="IDS_FLAGS_ENABLE_PASSWORD_GENERATION_DESCRIPTION" desc="Description of flag to enable password generation.">
        Allow the user to have Chrome generate passwords when it detects account creation pages.
      </message>
      <message name="IDS_FLAGS_PASSWORD_AUTOFILL_PUBLIC_SUFFIX_DOMAIN_MATCHING_NAME" desc="Name of the flag for public suffix domain matching for autofill of passwords.">
        Public suffix domain matching for autofill of passwords.
      </message>
      <message name="IDS_FLAGS_PASSWORD_AUTOFILL_PUBLIC_SUFFIX_DOMAIN_MATCHING_DESCRIPTION" desc="Description of flag to enable or disable public suffix domain matching for autofill of passwords.">
        Enable or disable a feature which allows the user to select username/password combinations for domains that match the same public suffix registry domain.
      </message>
      <message name="IDS_FLAGS_PASSWORD_MANAGER_REAUTHENTICATION_NAME" desc="Name of the flag for the password manager reauthentication option.">
        Disable Password Manager Reauthentication
      </message>
      <message name="IDS_FLAGS_PASSWORD_MANAGER_REAUTHENTICATION_DESCRIPTION" desc="Description of the flag for the password manager reauthentication option.">
        Disable prompting the user for their OS password before revealing passwords on the passwords page.
      </message>
      <message name="IDS_FLAGS_PERFORMANCE_MONITOR_GATHERING_NAME" desc="Name for the flag to enable Performance Monitor.">
        Enable performance monitoring
      </message>
      <message name="IDS_FLAGS_PERFORMANCE_MONITOR_GATHERING_DESCRIPTION" desc="Description for the flag to enable Performance Monitor.">
        Enable passive gathering of performance-related metrics and events and provide the option to view this data in a graphical fashion. To view data, visit chrome://performance.
      </message>
      <message name="IDS_FLAGS_ENABLE_RICH_NOTIFICATIONS_NAME" desc="Name of the flag to enable rich notifications.">
        Enable Rich Notifications
      </message>
      <message name="IDS_FLAGS_ENABLE_RICH_NOTIFICATIONS_DESCRIPTION" desc="Description for the flag to enable rich notifications.">
        Enable rich templated notifications. Both HTML5 notifications and app notifications will be shown through new Notification Center.
      </message>
      <message name="IDS_FLAGS_ENABLE_EXPERIMENTAL_NOTIFICATION_UI_NAME" desc="Name of the flag to enable experimental UI for notifications.">
        Enable experimental UI for Notifications
      </message>
      <message name="IDS_FLAGS_ENABLE_EXPERIMENTAL_NOTIFICATION_UI_DESCRIPTION" desc="Description for the flag to enable experimental UI for notifications.">
        Used for various Notification Center features under construction/polish that are not yet ready to be shipped.
      </message>
      <message name="IDS_FLAGS_ENABLE_SYNCED_NOTIFICATIONS_NAME" desc="Name of the flag to enable synced notifications.">
        Enable Synced Notifications
      </message>
      <message name="IDS_FLAGS_ENABLE_SYNCED_NOTIFICATIONS_DESCRIPTION" desc="Description for the flag to enable synced notifications.">
        Enable experimental Synchronized Notifications.
      </message>
      <message name="IDS_FLAGS_ENABLE_SCREEN_CAPTURE_NAME" desc="Name of the flag to enable screen capture support.">
        Enable screen capture support in getUserMedia().
      </message>
      <message name="IDS_FLAGS_ENABLE_SCREEN_CAPTURE_DESCRIPTION" desc="Description of flag to enable screen capture.">
        Allow web pages to request access to the screen contents via the getUserMedia() API.
      </message>
      <message name="IDS_FLAGS_ENABLE_APPS_DEVTOOL_APP_NAME" desc="Name of the flag to enable apps-devtools app.">
        Enable apps-devtool app.
      </message>
      <message name="IDS_FLAGS_ENABLE_APPS_DEVTOOL_APP_DESCRIPTION" desc="Description of flag to enable apps-devtools app.">
        An app to develop apps / extensions.
      </message>
      <if expr="is_android">
        <message name="IDS_FLAGS_ENABLE_SPDY_PROXY_AUTH_NAME" desc="Name of the flag to enable data compression proxy.">
          Enable Data Compression Proxy
        </message>
        <message name="IDS_FLAGS_ENABLE_SPDY_PROXY_AUTH_DESCRIPTION" desc="Description of flag to enable data compression proxy.">
          Reduce data consumption by loading optimized web pages via Google proxy servers.
        </message>
      </if>
      <message name="IDS_FLAGS_IMPL_SIDE_PAINTING_NAME" desc="Name of about:flags option for impl-side painting.">
        Impl-side painting
      </message>
      <message name="IDS_FLAGS_IMPL_SIDE_PAINTING_DESCRIPTION" desc="Description of about:flags option for impl-side painting.">
        If enabled, painting is done on a separate thread instead of the main thread.
      </message>
      <message name="IDS_FLAGS_DEADLINE_SCHEDULING_NAME" desc="Name of about:flags option for deadline scheduling.">
        Deadline scheduling.
      </message>
      <message name="IDS_FLAGS_DEADLINE_SCHEDULING_DESCRIPTION" desc="Description of about:flags option for deadline scheduling.">
        If enabled, latency in the Renderer may improve if the various stages of rendering are fast enough to beat a deadline. Requires threaded compositing.
      </message>
      <message name="IDS_FLAGS_UI_DEADLINE_SCHEDULING_NAME" desc="Name of about:flags option for UI deadline scheduling.">
        UI deadline scheduling.
      </message>
      <message name="IDS_FLAGS_UI_DEADLINE_SCHEDULING_DESCRIPTION" desc="Description of about:flags option for UI deadline scheduling.">
        If enabled, latency in the Browser may improve if the various stages of rendering are fast enough to beat a deadline. Requires threaded compositiing.
      </message>
      <message name="IDS_FLAGS_LCD_TEXT_NAME" desc="Name of about:flags option for LCD text.">
        LCD text antialiasing
      </message>
      <message name="IDS_FLAGS_LCD_TEXT_DESCRIPTION" desc="Description of about:flags option for LCD text.">
        If disabled, text is rendered with grayscale antialiasing instead of LCD (subpixel) when doing accelerated compositing.
      </message>
      <message name="IDS_FLAGS_DELEGATED_RENDERER_NAME" desc="Name of about:flags option for delegated renderer.">
        Delegated Renderer (AKA Übercompositor).
      </message>
      <message name="IDS_FLAGS_DELEGATED_RENDERER_DESCRIPTION" desc="Description of about:flags option for delegated renderer.">
        If enabled, the renderer delegates compositing to the browser, merging both compositing passes.
      </message>
      <message name="IDS_FLAGS_MAP_IMAGE_NAME" desc="Name of about:flags option for map-image rasterizer.">
        Map-image rasterizer (AKA Zero-copy)
      </message>
      <message name="IDS_FLAGS_MAP_IMAGE_DESCRIPTION" desc="Description of about:flags option for map-image rasterizer.">
        If enabled, raster threads write directly to GPU memory.
      </message>
      <message name="IDS_FLAGS_TRACK_ACTIVE_VISIT_TIME_NAME" desc="Name of about:flags option for tracking active time on a page.">
        Track time spent on each each page
      </message>
      <message name="IDS_FLAGS_TRACK_ACTIVE_VISIT_TIME_DESCRIPTION" desc="Description of about:flags option for tracking active time on a page.">
        Tracks the amount of time spent on each page for improved most visited scoring.
      </message>
      <message name="IDS_FLAGS_MAX_TILES_FOR_INTEREST_AREA_NAME" desc="Name of about:flags option for maximum tiles for interest area.">
        Maximum tiles for interest area
      </message>
      <message name="IDS_FLAGS_MAX_TILES_FOR_INTEREST_AREA_DESCRIPTION" desc="Description of about:flags option for maximum tiles for interest area.">
        Specify the maximum tiles for interest area.
      </message>
      <message name="IDS_FLAGS_MAX_TILES_FOR_INTEREST_AREA_DEFAULT" desc="">
        Default
      </message>
      <message name="IDS_FLAGS_MAX_TILES_FOR_INTEREST_AREA_SHORT" desc="">
        64
      </message>
      <message name="IDS_FLAGS_MAX_TILES_FOR_INTEREST_AREA_TALL" desc="">
        128
      </message>
      <message name="IDS_FLAGS_MAX_TILES_FOR_INTEREST_AREA_GRANDE" desc="">
        256
      </message>
      <message name="IDS_FLAGS_MAX_TILES_FOR_INTEREST_AREA_VENTI" desc="">
        512
      </message>
      <message name="IDS_FLAGS_TAB_CAPTURE_UPSCALE_QUALITY_NAME" desc="">
        Tab capture upscaling quality.
      </message>
      <message name="IDS_FLAGS_TAB_CAPTURE_UPSCALE_QUALITY_DESCRIPTION" desc="">
        Specifies quality setting for images captured if scaling up.
      </message>
      <message name="IDS_FLAGS_TAB_CAPTURE_DOWNSCALE_QUALITY_NAME" desc="">
        Tab capture downscaling quality.
      </message>
      <message name="IDS_FLAGS_TAB_CAPTURE_DOWNSCALE_QUALITY_DESCRIPTION" desc="">
        Specifies quality setting for images captured if scaling down.
      </message>
      <message name="IDS_FLAGS_TAB_CAPTURE_SCALE_QUALITY_FAST" desc="">
        fast
      </message>
      <message name="IDS_FLAGS_TAB_CAPTURE_SCALE_QUALITY_GOOD" desc="">
        good
      </message>
      <message name="IDS_FLAGS_TAB_CAPTURE_SCALE_QUALITY_BEST" desc="">
        best
      </message>
      <message name="IDS_FLAGS_DEFAULT_TILE_WIDTH_NAME" desc="Name of about:flags option for default tile width.">
        Default tile width
      </message>
      <message name="IDS_FLAGS_DEFAULT_TILE_WIDTH_DESCRIPTION" desc="Description of about:flags option for default tile width.">
        Specify the default tile width.
      </message>
      <message name="IDS_FLAGS_DEFAULT_TILE_WIDTH_DEFAULT" desc="">
        Default
      </message>
      <message name="IDS_FLAGS_DEFAULT_TILE_WIDTH_SHORT" desc="">
        128
      </message>
      <message name="IDS_FLAGS_DEFAULT_TILE_WIDTH_TALL" desc="">
        256
      </message>
      <message name="IDS_FLAGS_DEFAULT_TILE_WIDTH_GRANDE" desc="">
        512
      </message>
      <message name="IDS_FLAGS_DEFAULT_TILE_WIDTH_VENTI" desc="">
        1024
      </message>
      <message name="IDS_FLAGS_DEFAULT_TILE_HEIGHT_NAME" desc="Name of about:flags option for default tile height.">
        Default tile height
      </message>
      <message name="IDS_FLAGS_DEFAULT_TILE_HEIGHT_DESCRIPTION" desc="Description of about:flags option for default tile height.">
        Specify the default tile height.
      </message>
      <message name="IDS_FLAGS_DEFAULT_TILE_HEIGHT_DEFAULT" desc="">
        Default
      </message>
      <message name="IDS_FLAGS_DEFAULT_TILE_HEIGHT_SHORT" desc="">
        128
      </message>
      <message name="IDS_FLAGS_DEFAULT_TILE_HEIGHT_TALL" desc="">
        256
      </message>
      <message name="IDS_FLAGS_DEFAULT_TILE_HEIGHT_GRANDE" desc="">
        512
      </message>
      <message name="IDS_FLAGS_DEFAULT_TILE_HEIGHT_VENTI" desc="">
        1024
      </message>
      <message name="IDS_FLAGS_NUM_RASTER_THREADS_NAME" desc="Name of about:flags option for number of raster threads.">
        Number of raster threads
      </message>
      <message name="IDS_FLAGS_NUM_RASTER_THREADS_DESCRIPTION" desc="Description of about:flags option for number of raster threads.">
        Specify the number of raster threads.
      </message>
      <message name="IDS_FLAGS_NUM_RASTER_THREADS_DEFAULT" desc="">
        Default
      </message>
      <message name="IDS_FLAGS_NUM_RASTER_THREADS_ONE" desc="">
        1
      </message>
      <message name="IDS_FLAGS_NUM_RASTER_THREADS_TWO" desc="">
        2
      </message>
      <message name="IDS_FLAGS_NUM_RASTER_THREADS_THREE" desc="">
        3
      </message>
      <message name="IDS_FLAGS_NUM_RASTER_THREADS_FOUR" desc="">
        4
      </message>
      <message name="IDS_FLAGS_ENABLE_SYNC_DIRECTORY_OPERATION_NAME" desc="Name of the flag to enable syncfs direcory support.">
        Enable Syncfs directory operation.
      </message>
      <message name="IDS_FLAGS_ENABLE_SYNC_DIRECTORY_OPERATION_DESCRIPTION" desc="Description of the flag to enable syncfs directory support.">
        Enables directory support for sync filesystem.
      </message>
      <if expr="is_macosx">
        <message name="IDS_FLAGS_ENABLE_APP_SHIMS_NAME" desc="Title for the flag to enable shortcuts for packaged apps to be added to Applications and to appear in the dock.">
          Enable packaged app shortcuts.
        </message>
        <message name="IDS_FLAGS_ENABLE_APP_SHIMS_DESCRIPTION" desc="Description for the flag to enable packaged apps appearing in the dock in OSX.">
          Enables packaged app shortcuts to be added to Applications and to appear in the dock.
        </message>
        <message name="IDS_FLAGS_ENABLE_SIMPLIFIED_FULLSCREEN_NAME" desc="Title for the flag to enable a simplified Mac fullscreen interface.">
          Enables simplified fullscreen.
        </message>
        <message name="IDS_FLAGS_ENABLE_SIMPLIFIED_FULLSCREEN_DESCRIPTION" desc="Description for the flag to enable a simplified Mac fullscreen interface.">
          Enables a simplified and improved fullscreen experience on Mac.
        </message>
      </if>
      <message name="IDS_FLAGS_ENABLE_TRANSLATE_SETTINGS_NAME" desc="Name of the flag to enable translate setting.">
        Enable Translate settings.
      </message>
      <message name="IDS_FLAGS_ENABLE_TRANSLATE_SETTINGS_DESCRIPTION" desc="Description of the flag to translate setting.">
        Enable Translate settings in chrome://settings/languages where the user can configure which language should be translated.
      </message>
      <message name="IDS_FLAGS_RESET_APP_LIST_INSTALL_STATE_NAME" desc="Name of the flag to reset the app launcher install state.">
        Reset the app launcher install state on every restart.
      </message>
      <message name="IDS_FLAGS_RESET_APP_LIST_INSTALL_STATE_DESCRIPTION" desc="Description of the flag to reset the app launcher install state.">
        Reset the app launcher install state on every restart. While this flag is set, Chrome will forget the launcher has been installed each time it starts. This is used for testing the app launcher install flow.
      </message>
      <if expr="pp_ifdef('enable_app_list')">
        <message name="IDS_FLAGS_ENABLE_APP_LIST_START_PAGE_NAME" desc="Name of the flag to enable the start page of app launcher.">
          Enable the app launcher start page.
        </message>
        <message name="IDS_FLAGS_ENABLE_APP_LIST_START_PAGE_DESCRIPTION" desc="Description of the flag to enable the start page of app launcher.">
          Enable the app launcher start page. If enabled, app launcher will show a start page in addition to the apps grid.
        </message>
        <message name="IDS_FLAGS_ENABLE_APP_LIST_FOLDER" desc="Name of the flag to enable app list folder.">
          Enable the app list folder.
        </message>
        <message name="IDS_FLAGS_ENABLE_APP_LIST_FOLDER_DESCRIPTION" desc="Description of the flag to enable the app list folder.">
          Enable the app list folder. If enabled, user will be able to create app list folder by drag-and-drop.
        </message>
      </if>
      <message name="IDS_FLAGS_DISABLE_USER_IMAGE_SYNC_NAME" desc="Name of the flag to disable sync of user account image.">
        Disable avatar sync.
      </message>
      <message name="IDS_FLAGS_DISABLE_USER_IMAGE_SYNC_DESCRIPTION" desc="Description for the flag to disable sync of user account image.">
        Disables sync of user account image between different ChromeOS devices.
      </message>
      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_FLAGS_DISABLE_FIRST_RUN_UI_NAME" desc="Name of the flag to disable new first-run UI.">
          Disable new first-run UI.
        </message>
        <message name="IDS_FLAGS_DISABLE_FIRST_RUN_UI_DESCRIPTION" desc="Description for the flag to disable new first-run UI.">
          If disabled, overlay tutorial won't be shown after first login.
        </message>
        <message name="IDS_FLAGS_ENABLE_FIRST_RUN_UI_TRANSITIONS_NAME" desc="Name of the flag to enable animated transitions for the first-run tutorial.">
          Enable animated transitions in the first-run tutorial.
        </message>
        <message name="IDS_FLAGS_ENABLE_FIRST_RUN_UI_TRANSITIONS_DESCRIPTION" desc="Description for the flag to enable animated transition in the first-run tutorial.">
          If enabled, transitions during first-run tutorial are animated.
        </message>
      </if>
      <message name="IDS_FLAGS_HIDPI_NAME" desc="Name of flag to enable/disable HiDPI Support.">
        HiDPI Support
      </message>
      <message name="IDS_FLAGS_HIDPI_DESCRIPTION" desc="Description of flag to enable/disable HiDPI Support.">
        If enabled, application size and layout will adapt to the operating system's DPI settings.
      </message>
      <message name="IDS_FLAGS_ENABLE_ACCELERATED_SCROLLABLE_FRAMES_NAME" desc="Name of the flag to enable accelerated scrollable frames.">
        Enable accelerated scrollable frames.
      </message>
      <message name="IDS_FLAGS_ENABLE_ACCELERATED_SCROLLABLE_FRAMES_DESCRIPTION" desc="Description for the flag to enable accelerated scrollable frames.">
        Enables accelerated compositing for scrollable frames.
      </message>
      <message name="IDS_FLAGS_ENABLE_COMPOSITED_SCROLLING_FOR_FRAMES_NAME" desc="Name of the flag to enable composited scrolling for frames.">
        Enable composited scrolling for frames.
      </message>
      <message name="IDS_FLAGS_ENABLE_COMPOSITED_SCROLLING_FOR_FRAMES_DESCRIPTION" desc="Description for the flag to enable composited scrolling for frames.">
        Enable accelerated scrolling by the compositer for frames.
      </message>
      <message name="IDS_FLAGS_ENABLE_STREAMLINED_HOSTED_APPS_NAME" desc="Name of the flag to enable streamlined hosted apps.">
        Enable experimental streamlined hosted apps.
      </message>
      <message name="IDS_FLAGS_ENABLE_STREAMLINED_HOSTED_APPS_DESCRIPTION" desc="Description for the flag to enable streamlined hosted apps.">
        Enables an experimental, more streamlined hosted app experience.
      </message>
      <message name="IDS_FLAGS_ENABLE_EPHEMERAL_APPS_NAME" desc="Name of the flag to enable ephemeral apps.">
        Enable experimental ephemeral apps.
      </message>
      <message name="IDS_FLAGS_ENABLE_EPHEMERAL_APPS_DESCRIPTION" desc="Description for the flag to enable ephemeral apps.">
        Enables experimentation with ephemeral apps, which are launched without installing in Chrome.
      </message>
      <message name="IDS_FLAGS_ENABLE_SERVICE_WORKER_NAME" desc="Name of the flag to enable streamlined ServiceWorker.">
        Enable support for ServiceWorker.
      </message>
      <message name="IDS_FLAGS_ENABLE_SERVICE_WORKER_DESCRIPTION" desc="Description for the flag to enable ServiceWorker.">
        ServiceWorker is a new kind of web worker that can intercept resource requests. See https://github.com/slightlyoff/ServiceWorker for more information.
      </message>
      <if expr="is_android">
        <message name="IDS_FLAGS_DISABLE_CLICK_DELAY_NAME" desc="Name of the flag to disable the click delay.">
          Disable click delay.
        </message>
        <message name="IDS_FLAGS_DISABLE_CLICK_DELAY_DESCRIPTION" desc="Description of the flag to disable the click delay.">
          Always send click events immediate upon a tap, even when it's part of a double-tap gesture.  This speeds up navigation and other tap actions by 300ms on most pages, but means links and buttons must be avoided when double tapping to zoom.
        </message>
      </if>
      <message name="IDS_FLAGS_ENABLE_TRANSLATE_NEW_UX_NAME" desc="Name of the flag to enable the new Translate UX.">
        Enable the new Translate UX.
      </message>
      <message name="IDS_FLAGS_ENABLE_TRANSLATE_NEW_UX_DESCRIPTION" desc="Description for the flag to enable the new Translate UX.">
        Enable the new Translate bubble UX is offered instead of the infobar.
      </message>
    <message name="IDS_FLAGS_DISABLE_VIEWS_RECT_BASED_TARGETING_NAME" desc="Name of about:flags option to disable rect-based targeting in views">
      Disable rect-based targeting in views
    </message>
    <message name="IDS_FLAGS_DISABLE_VIEWS_RECT_BASED_TARGETING_DESCRIPTION" desc="Description of about:flags option to disable rect-based targeting in views">
      Disables rect-based targeting in views. Rect-based targeting uses a heuristic to determine the most probable target of a gesture, where the touch region is represented by a rectangle.
    </message>
      <message name="IDS_FLAGS_ENABLE_APPS_SHOW_ON_FIRST_PAINT_NAME" desc="Name of the flag to enable show-on-first-paint for apps.">
        Enable show-on-first-paint for apps.
      </message>
      <message name="IDS_FLAGS_ENABLE_APPS_SHOW_ON_FIRST_PAINT_DESCRIPTION" desc="Description of flag to enable show-on-first-paint for apps.">
        Show apps windows after the first paint. Windows will be shown significantly later for heavy apps loading resources synchronously but it will be insignificant for apps that load most of their resources asynchronously.
      </message>
      <message name="IDS_FLAGS_ENABLE_ENHANCED_BOOKMARKS_NAME" desc="Name of about:flags option to enable Enhanced Bookmarks extension.">
        Enable Enhanced Bookmarks
      </message>
      <message name="IDS_FLAGS_ENABLE_ENHANCED_BOOKMARKS_DESCRIPTION" desc="Description of about:flags option to enable Enhanced Bookmarks extension.">
        Provides an off switch for enhanced bookmarks experiment
      </message>
      <message name="IDS_FLAGS_ORIGIN_CHIP_NAME" desc="Name of about:flags option to enable the display of the Origin Chip experiment.">
        Enable origin chip
      </message>
      <message name="IDS_FLAGS_ORIGIN_CHIP_DESCRIPTION" desc="Description of about:flags option to enable the display of the Origin Chip experiment.">
        Moves the URL out of the Omnibox and shows the hostname in the origin chip in the toolbar.
      </message>
      <message name="IDS_FLAGS_SEARCH_BUTTON_IN_OMNIBOX_NAME" desc="Name of about:flags option to enable the search button in omnibox experiment.">
        Enable search button in Omnibox
      </message>
      <message name="IDS_FLAGS_SEARCH_BUTTON_IN_OMNIBOX_DESCRIPTION" desc="Description of about:flags option to enable the search button in omnibox experiment.">
        Places a search button in the Omnibox.
      </message>
      <message name="IDS_FLAGS_SEARCH_BUTTON_IN_OMNIBOX_ENABLE_FOR_STR" desc="Option in a drop-down menu to enable the display of the search button in the omnibox on search result pages.">
        Enabled on search result pages
      </message>
      <message name="IDS_FLAGS_SEARCH_BUTTON_IN_OMNIBOX_ENABLE_FOR_STR_OR_IIP" desc="Option in a drop-down menu to enable the display of the search button in the omnibox on search result pages or whenever input is in progress.">
        Enabled on search result pages or when input in progress
      </message>
      <message name="IDS_FLAGS_SEARCH_BUTTON_IN_OMNIBOX_ENABLED" desc="Option in a drop-down menu to enable the display of the search button at all times (on all pages).">
        Enabled on all pages
      </message>

      <!-- Crashes -->
      <message name="IDS_CRASHES_TITLE" desc="Title for the chrome://crashes page.">
        Crashes
      </message>
      <message name="IDS_CRASHES_CRASH_COUNT_BANNER_FORMAT" desc="Format for crash count banner on chrome://crashes">
        Crashes (<ph name="CRASH_COUNT">$1<ex>3</ex></ph>)
      </message>
      <message name="IDS_CRASHES_CRASH_HEADER_FORMAT" desc="Format for crash entry headings on chrome://crashes">
        Crash ID <ph name="CRASH_ID">$1<ex>8fa95dbb6f2ec862</ex></ph>
      </message>
      <message name="IDS_CRASHES_CRASH_TIME_FORMAT" desc="Format for crash entry occurence time on chrome://crashes">
        Occurred <ph name="CRASH_TIME">$1<ex>Tuesday, January 25, 2011 2:58:02 PM</ex></ph>
      </message>
      <message name="IDS_CRASHES_BUG_LINK_LABEL" desc="Link text for filing a crash bug on chrome://crashes">
        File bug
      </message>
      <message name="IDS_CRASHES_NO_CRASHES_MESSAGE" desc="The explanatory message for chrome://crashes when there are no crashes">
        You have no recently reported crashes.  Crashes that occurred when crash reporting was disabled will not appear here.
      </message>
      <message name="IDS_CRASHES_DISABLED_HEADER" desc="The header for chrome://crashes when crash reporting is disabled">
        Crash reporting is disabled.
      </message>

      <!-- WebRTC logs -->
      <message name="IDS_WEBRTC_LOGS_TITLE" desc="Title for the chrome://webrtc-logs page.">
        Uploaded WebRTC logs
      </message>
      <message name="IDS_WEBRTC_LOGS_LOG_COUNT_BANNER_FORMAT" desc="Format for WebRTC log count banner on chrome://webrtc-logs">
        Uploaded WebRTC logs (<ph name="WEBRTC_LOG_COUNT">$1<ex>3</ex></ph>)
      </message>
      <message name="IDS_WEBRTC_LOGS_LOG_HEADER_FORMAT" desc="Format for uploaded log entry headings on chrome://webrtc-logs">
        WebRTC log ID <ph name="WEBRTC_LOG_ID">$1<ex>8fa95dbb6f2ec862</ex></ph>
      </message>
      <message name="IDS_WEBRTC_LOGS_LOG_TIME_FORMAT" desc="Format for uploaded log entry upload time on chrome://webrtc-logs">
        Uploaded <ph name="WEBRTC_LOG_TIME">$1<ex>Tuesday, January 25, 2011 2:58:02 PM</ex></ph>
      </message>
      <message name="IDS_WEBRTC_LOGS_BUG_LINK_LABEL" desc="Link text for filing a bug on chrome://webrtc-logs">
        File bug
      </message>
      <message name="IDS_WEBRTC_LOGS_NO_LOGS_MESSAGE" desc="The explanatory message for chrome://webrtc-logs when there are no uploaded logs">
        You have no recently uploaded WebRTC logs.
      </message>

      <!-- Custom dictionary page -->
      <message name="IDS_LANGUAGE_DICTIONARY_OVERLAY_TITLE" desc="Title for the chrome://settings/editDictionary page, where a user can add and remove words in the dictionary used for spelling">
        Custom spelling dictionary
      </message>
      <message name="IDS_LANGUAGE_DICTIONARY_OVERLAY_ADD_WORD_LABEL" desc="Label for adding a new word to the dictionary on the chrome://settings/editDictionary page">
        Add a new word
      </message>
      <message name="IDS_LANGUAGE_DICTIONARY_OVERLAY_SEARCH_PLACEHOLDER" desc="Text placeholder for an empty search field on the chrome://settings/editDictionary page">
        Search dictionary
      </message>
      <message name="IDS_LANGUAGE_DICTIONARY_OVERLAY_NO_MATCHES" desc="Text description of a search that has no results on the chrome://settings/editDictionary page">
        No matches were found.
      </message>

      <!-- Search -->
      <message name="IDS_SEARCH_PREF_EXPLANATION" desc="Description of the search engine preference">
        Set which search engine is used when searching from the
        <ph name="BEGIN_LINK">&lt;a target="_blank" href="$1"&gt;</ph>omnibox<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>.
      </message>

      <!-- Conflicts page -->
      <message name="IDS_CONFLICTS_CHECK_PAGE_TABLE_TITLE_SUFFIX_ONE" desc="What gets appended after the page title if no conflicts were found.">
        Modules (<ph name="TOTAL_COUNT">$1<ex>50</ex></ph>) - No conflicts detected
      </message>
      <message name="IDS_CONFLICTS_CHECK_PAGE_TABLE_TITLE_SUFFIX_TWO" desc="What gets appended after the page title (number of conflicts found).">
        Modules (<ph name="TOTAL_COUNT">$1<ex>50</ex></ph>) - Known conflicts: <ph name="BAD_COUNT">$2<ex>3</ex></ph>, suspected: <ph name="SUSPICIOUS_COUNT">$3<ex>2</ex></ph>
      </message>
      <message name="IDS_CONFLICTS_EXPLANATION_TEXT" desc="The text blurb explaining what the compatibility page is.">
        This page lists all modules loaded into the main process and modules registered to load at a later point.
      </message>
      <message name="IDS_CONFLICTS_CHECK_INVESTIGATING" desc="A label on the compatibility page saying we are investigating.">
        We are currently investigating this issue.
      </message>
      <message name="IDS_CONFLICTS_CHECK_POSSIBLE_ACTIONS" desc="A label on the compatibility page describing possible resolutions.">
        If you are experiencing frequent problems, you could try the following to resolve the issue with this module:
      </message>
      <message name="IDS_CONFLICTS_CHECK_POSSIBLE_ACTION_UNINSTALL" desc="An uninstall label. 'It' refers to 'a module'.">
        Uninstalling
      </message>
      <message name="IDS_CONFLICTS_CHECK_POSSIBLE_ACTION_UPDATE" desc="An update label. 'It' refers to 'a module'.">
        Updating
      </message>
      <message name="IDS_CONFLICTS_CHECK_POSSIBLE_ACTION_DISABLE" desc="A disable label. 'It' refers to 'a module'.">
        Disabling
      </message>
      <message name="IDS_CONFLICTS_CHECK_POSSIBLE_ACTION_SEPERATOR" desc="The separator separating the words 'Uninstalling it', 'Updating it' and 'Disabling it'">
        /
      </message>
      <message name="IDS_CONFLICTS_NO_MODULES_LOADED" desc="Error message for when no modules were found in the process">
        Unable to detect any modules loaded.
      </message>
      <message name="IDS_CONFLICTS_HEADER_SOFTWARE" desc="The 'Software' header for each module item in the list">
        Software
      </message>
      <message name="IDS_CONFLICTS_HEADER_SIGNED_BY" desc="The 'Signed by' header for each module item in the list">
        Signed by
      </message>
      <message name="IDS_CONFLICTS_HEADER_LOCATION" desc="The 'Location' header for each module item in the list">
        Location
      </message>
      <message name="IDS_CONFLICTS_HEADER_VERSION" desc="The 'Version' header for each module item in the list">
        Version
      </message>
      <message name="IDS_CONFLICTS_HEADER_HELP_TIP" desc="The 'Help tip:' header for each module item in the list">
        Help tip
      </message>
      <message name="IDS_CONFLICTS_LOADING_MESSAGE" desc="Shown while loading until full list of modules is retrieved">
        Loading...
      </message>
      <message name="IDS_CONFLICTS_NOT_LOADED_YET" desc="Shown next to a module that has not been loaded into memory yet">
        Not loaded yet
      </message>
      <message name="IDS_HELP_CENTER_VIEW_CONFLICTS" desc="The url of the Help center article for the View Conflicts page" translateable="false">
        http://support.google.com/chrome/?p=<ph name="NAME">$1<ex>Hash</ex></ph>&amp;l=<ph name="LOCATION">$2<ex>Hash</ex></ph>&amp;d=<ph name="DESC">$3<ex>Hash</ex></ph>&amp;s=<ph name="SIGNER">$4<ex>Hash</ex></ph>
      </message>
      <if expr="pp_ifdef('use_titlecase')">
      <message name="IDS_CONFLICTS_LEARN_MORE" desc="The Learn More button in the conflicting module bubble">
          Learn More
      </message>
      <message name="IDS_CONFLICTS_NOT_NOW" desc="The Not Now button in the conflicting module bubble">
          Not Now
      </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase')">
      <message name="IDS_CONFLICTS_LEARN_MORE" desc="The Learn More button in the conflicting module bubble">
          Learn more
      </message>
      <message name="IDS_CONFLICTS_NOT_NOW" desc="The Not Now button in the conflicting module bubble">
          Not now
      </message>
      </if>

      <!-- Plug-in placeholders -->
      <message name="IDS_PLUGIN_LOAD" desc="The link for loading a blocked plug-in, displayed in the click to play UI.">
        Click to run <ph name="PLUGIN_NAME">$1<ex>Flash</ex></ph>.
      </message>
      <message name="IDS_PLUGIN_HIDE" desc="The tooltip for hiding a blocked plug-in, displayed in the click to play UI.">
        Hide this plug-in
      </message>
      <message name="IDS_PLUGIN_UPDATE" desc="The link for updating an outdated plug-in.">
        Update plug-in...
      </message>
      <message name="IDS_PLUGIN_NOT_SUPPORTED_METRO" desc="The placeholder text for a plug-in that can't run in Windows Metro mode.">
        This plug-in only works on the desktop.
      </message>
      <message name="IDS_PLUGIN_BLOCKED" desc="The placeholder text for a blocked plug-in.">
        <ph name="PLUGIN_NAME">$1<ex>Flash</ex></ph> is not allowed.
      </message>
      <message name="IDS_NACL_PLUGIN_BLOCKED" desc="The placeholder text for a blocked plug-in.">
        This app is not currently supported on this device but the Chrome gnomes are hard at work to make it work soon.
      </message>
      <message name="IDS_PLUGIN_OUTDATED" desc="The placeholder text for an outdated plug-in.">
        <ph name="PLUGIN_NAME">$1<ex>Flash</ex></ph> is out of date.
      </message>
      <message name="IDS_PLUGIN_NOT_AUTHORIZED" desc="The placeholder text for a plug-in that requires user permission to run.">
        <ph name="PLUGIN_NAME">$1<ex>Java</ex></ph> needs your permission to run.
      </message>
      <message name="IDS_PLUGIN_NOT_SUPPORTED" desc="The placeholder text for an unsupported plug-in.">
        This plug-in is not supported.
      </message>
      <message name="IDS_PLUGIN_NOT_FOUND" desc="The placeholder text for an unknown plug-in that is not installed.">
        No plug-in available to display this content.
      </message>
      <message name="IDS_PLUGIN_SEARCHING" desc="The placeholder text when searching for a missing plug-in.">
        Looking for plug-in...
      </message>
      <message name="IDS_PLUGIN_DOWNLOADING" desc="The placeholder text when downloading a missing plug-in.">
        Downloading <ph name="PLUGIN_NAME">$1<ex>Realplayer</ex></ph>...
      </message>
      <message name="IDS_PLUGIN_DOWNLOAD_ERROR" desc="The placeholder text when there was an error download a missing plug-in.">
        There was an error (<ph name="ERROR">$1<ex>net::ERR_TOO_MANY_GOATS</ex></ph>) while downloading the plug-in.
      </message>
      <message name="IDS_PLUGIN_DOWNLOAD_ERROR_SHORT" desc="The placeholder text when there was an error download a missing plug-in.">
        <ph name="PLUGIN_NAME">$1<ex>Realplayer</ex></ph> download failed.
      </message>
      <message name="IDS_PLUGIN_DOWNLOAD_CANCELLED" desc="The placeholder text when the user cancelled downloading the plug-in.">
        <ph name="PLUGIN_NAME">$1<ex>Realplayer</ex></ph> download was cancelled.
      </message>
      <message name="IDS_PLUGIN_INSTALLING" desc="The placeholder text when installing a missing plug-in.">
        When <ph name="PLUGIN_NAME">$1<ex>Realplayer</ex></ph> has finished installing, reload the page to activate it.
      </message>
      <message name="IDS_PLUGIN_UPDATING" desc="The placeholder text when updating an out-of-date plug-in.">
        When <ph name="PLUGIN_NAME">$1<ex>Realplayer</ex></ph> has finished updating, reload the page to activate it.
      </message>
      <message name="IDS_PLUGIN_FOUND" desc="The placeholder text for a known plug-in that is not installed.">
        <ph name="PLUGIN_NAME">$1<ex>Quicktime</ex></ph> is required to display this content.
      </message>
      <message name="IDS_PLUGIN_CONFIRM_INSTALL_DIALOG_TITLE" desc="Title of the plug-in installation confirmation dialog.">
        Install <ph name="PLUGIN_NAME">$1<ex>Realplayer</ex></ph>
      </message>
      <message name="IDS_PLUGIN_CONFIRM_INSTALL_DIALOG_MSG" desc="Message of the plug-in installation confirmation dialog.">
        Are you sure you want to install <ph name="PLUGIN_NAME">$1<ex>Realplayer</ex></ph>? You should only install plug-ins that you trust.
      </message>
      <message name="IDS_PLUGIN_CONFIRM_INSTALL_DIALOG_ACCEPT_BUTTON" desc="Button title to install a missing plug-in.">
        Install
      </message>
      <message name="IDS_PLUGIN_DISABLED" desc="The placeholder text for a disabled plug-in.">
        <ph name="PLUGIN_NAME">$1<ex>Flash</ex></ph> has been disabled. To re-enable it, please go to <ph name="CHROME_PLUGINS_LINK">chrome://plugins</ph>.
      </message>

      <!-- Session Crashed Info Bar-->
      <message name="IDS_SESSION_CRASHED_VIEW_RESTORE_BUTTON" desc="Title of the restore button in the session crashed view.">
        Restore
      </message>

      <!-- Bad Flags Info Bar-->
      <message name="IDS_BAD_FLAGS_WARNING_MESSAGE" desc="Message shown when an unsupported command-line flag is used. [Keep it short so it fits in the infobar.]">
        You are using an unsupported command-line flag: <ph name="BAD_FLAG">$1<ex>--no-sandbox</ex></ph>. Stability and security will suffer.
      </message>

      <!-- Pepper Broker Info bar -->
      <if expr="is_android">
        <message name="IDS_PEPPER_BROKER_MESSAGE" desc="Mobile: Message shown when a pepper plugin wants to launch its broker. This message is followed by a 'Learn more' link.">
          <ph name="PEPPER_PLUGIN_NAME">$1<ex>Shockwave Flash</ex></ph> on <ph name="PEPPER_PLUGIN_DOMAIN">$2<ex>example.com</ex></ph> wants to access your device.
        </message>
      </if>
      <if expr="not is_android">
        <message name="IDS_PEPPER_BROKER_MESSAGE" desc="Message shown when a pepper plugin wants to launch its broker. This message is followed by a 'Learn more' link.">
          <ph name="PEPPER_PLUGIN_NAME">$1<ex>Shockwave Flash</ex></ph> on <ph name="PEPPER_PLUGIN_DOMAIN">$2<ex>example.com</ex></ph> wants to access your computer.
        </message>
      </if>
      <message name="IDS_PEPPER_BROKER_ALLOW_BUTTON" desc="Text for the allow button on the pepper broker launch prompt">
        Allow
      </message>
      <message name="IDS_PEPPER_BROKER_DENY_BUTTON" desc="Text for the deny button on the pepper broker launch prompt">
        Deny
      </message>
      <message name="IDS_BLOCKED_PPAPI_BROKER_TITLE" desc="Title for the page action when Pepper broker access was blocked">
        An unsandboxed plug-in was prevented from running on this page.
      </message>
      <message name="IDS_ALLOWED_PPAPI_BROKER_TITLE" desc="Title for the page action when Pepper broker access was allowed">
        An unsandboxed plug-in was allowed to run running on this page.
      </message>
      <message name="IDS_BLOCKED_PPAPI_BROKER_UNBLOCK" desc="Radio button to unblock the Pepper broker">
        Always allow unsandboxed plug-ins on <ph name="HOST">$1<ex>example.com</ex></ph>
      </message>
      <message name="IDS_BLOCKED_PPAPI_BROKER_NO_ACTION" desc="Radio button to keep blocking the Pepper broker">
        Continue blocking unsandboxed plug-ins
      </message>
      <message name="IDS_ALLOWED_PPAPI_BROKER_NO_ACTION" desc="Radio button to keep allowing the Pepper broker">
        Continue allowing unsandboxed plug-ins
      </message>
      <message name="IDS_ALLOWED_PPAPI_BROKER_BLOCK" desc="Radio button to block the Pepper broker">
        Never allow unsandboxed plug-ins on <ph name="HOST">$1<ex>example.com</ex></ph>
      </message>
      <message name="IDS_PPAPI_BROKER_BUBBLE_MANAGE_LINK" desc="Link title to manage Pepper broker settings">
        Manage unsandboxed plug-in blocking...
      </message>

      <!-- Blocked Displaying/Running Insecure Content info bar -->
      <message name="IDS_BLOCKED_DISPLAYING_INSECURE_CONTENT" desc="Message shown when a website has asked chrome to display mixed content.  The message is followed by a learn more link and an allow button.">
        This page includes script from unauthenticated sources.
      </message>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_ALLOW_INSECURE_CONTENT_BUTTON" desc="Button to allow insecure content to be displayed">
          Load unsafe script
        </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_ALLOW_INSECURE_CONTENT_BUTTON" desc="Button to allow insecure content to be displayed">
          Load unsafe script
        </message>
      </if>
      <if expr="not is_android and pp_ifdef('use_titlecase')">
        <message name="IDS_BLOCK_INSECURE_CONTENT_BUTTON" desc="Button to prevent insecure content from being displayed">
          Don't Load (Recommended)
        </message>
      </if>
      <if expr="not is_android and not pp_ifdef('use_titlecase')">
        <message name="IDS_BLOCK_INSECURE_CONTENT_BUTTON" desc="Button to prevent insecure content from being displayed">
          Don't load (recommended)
        </message>
      </if>
      <if expr="is_android">
        <message name="IDS_BLOCK_INSECURE_CONTENT_BUTTON" desc="Mobile: Button to prevent insecure content from being displayed">
          Don't load
        </message>
      </if>

      <if expr="pp_ifdef('chromeos')">
        <!-- Locale Change Notification-->
        <message name="IDS_LOCALE_CHANGE_MESSAGE" desc="Message shown when locale was changed based on profile content.">
          Chrome's language has changed from "<ph name="FROM_LOCALE">$1<ex>Italian</ex></ph>" to "<ph name="TO_LOCALE">$2<ex>English (United States)</ex></ph>" after syncing your settings.
        </message>
        <message name="IDS_LOCALE_CHANGE_REVERT_MESSAGE" desc="Link to revert a change.">
          Change back to "<ph name="FROM_LOCALE">$1<ex>Italian</ex></ph>" (requires sign out)
        </message>

        <!-- 3G data Notifications -->
        <message name="IDS_3G_NOTIFICATION_MESSAGE" desc="Text of the 3G data notification telling that 3G data is enabled.">
          Google Chrome will use mobile data if you're not connected to another network.
        </message>

        <!-- about:system strings -->
        <message name="IDS_ABOUT_SYS_TITLE" desc="about:system page title">
          About System
        </message>
        <message name="IDS_ABOUT_SYS_DESC" desc="about:system page description">
          System diagnostic data
        </message>
        <message name="IDS_ABOUT_SYS_TABLE_TITLE" desc="Title of a table that contains system details">
          Details
        </message>
        <message name="IDS_ABOUT_SYS_LOG_FILE_TABLE_TITLE" desc="Title of a table that contains details from an uploaded log">
          Details: <ph name="FILE_NAME">$1<ex>Log.txt</ex></ph>
        </message>
        <message name="IDS_ABOUT_SYS_EXPAND_ALL" desc="name of a button that shows (expands) all system details">
          Expand all...
        </message>
        <message name="IDS_ABOUT_SYS_COLLAPSE_ALL" desc="name of a button that hides (collapses) all system details">
          Collapse all...
        </message>
        <message name="IDS_ABOUT_SYS_EXPAND" desc="name of a button that shows (expands) specific system details">
          Expand...
        </message>
        <message name="IDS_ABOUT_SYS_COLLAPSE" desc="name of a button that hides (collapses) specific system details">
          Collapse...
        </message>
        <message name="IDS_ABOUT_SYS_PARSE_ERROR" desc="error message displayed if parsing of custom uploaded log fails">
          Unable to parse file: <ph name="FILE_NAME">$1<ex>Log.txt</ex></ph>
        </message>

        <!-- chrome://mobilesetup strings -->
        <message name="IDS_MOBILE_SETUP_TITLE" desc="ChromeOS mobile device activation page title">
          Mobile data service management
        </message>
        <message name="IDS_MOBILE_CONNECTING_HEADER" desc="Mobile connection page header while connecting to the provider">
          Connecting to <ph name="PROVIDER_NAME">$1<ex>Acme Mobile</ex></ph>
        </message>
        <message name="IDS_MOBILE_ERROR_HEADER" desc="Mobile connection page header when connection error occur">
          Connection error
        </message>
        <message name="IDS_MOBILE_ACTIVATING_HEADER" desc="Message header when data service is being activated">
          Activating your mobile data service
        </message>
        <message name="IDS_MOBILE_COMPLETED_HEADER" desc="Message header when data service is completed">
          Activation complete
        </message>
        <message name="IDS_MOBILE_PLEASE_WAIT" desc="Message user the header displayed while mobile plan is being activated">
          (this might take a few minutes)
        </message>
        <message name="IDS_MOBILE_COMPLETED_TEXT" desc="Message when cellular data service activation or payment is completed">
          Your mobile data service is activated and ready to use
        </message>
        <message name="IDS_MOBILE_CANCEL_ACTIVATION" desc="Message when user attempts to cancel cellular data service activation proces">
          Are you sure you want to cancel mobile data service setup process?
        </message>
        <message name="IDS_MOBILE_NO_CONNECTION_HEADER" desc="Mobile page header when the network portal is not reachable due to no connection">
          Connect to Wi-Fi to begin
        </message>
        <message name="IDS_MOBILE_INVALID_DEVICE_INFO_HEADER" desc="Mobile page header when the user tries to access mobile portal for a device with an invalid MDN">
          Please come back later
        </message>
      </if>

      <!-- chrome://flash strings -->
      <message name="IDS_FLASH_LOADING_MESSAGE" desc="Shown while loading until full list of modules is retrieved">
      Loading...
      </message>
      <message name="IDS_FLASH_TITLE_MESSAGE" desc="Shown while loading until full list of modules is retrieved">
      About Flash
      </message>

      <!-- chrome://nacl strings -->
      <message name="IDS_NACL_LOADING_MESSAGE" desc="Shown while loading until full list of modules is retrieved">
        Loading...
      </message>
      <message name="IDS_NACL_TITLE_MESSAGE" desc="Shown while loading until full list of modules is retrieved">
        About NaCl
      </message>

      <!-- NaCl plugin strings -->
      <message name="IDS_NACL_APP_MISSING_ARCH_MESSAGE" desc="Shown if a Native Client app does not support the current architecture">
        This page uses a Native Client app that doesn't work on your computer.
      </message>

      <!-- about:version strings -->
      <message name="IDS_ABOUT_VERSION_TITLE" desc="Title on the about:version page">
        About Version
      </message>
      <message name="IDS_ABOUT_VERSION_APPLICATION" desc="label for the application on the about:version page">
        Application
      </message>
      <message name="IDS_ABOUT_VERSION_OFFICIAL" desc="official build on the about:version page">
        Official Build
      </message>
      <message name="IDS_ABOUT_VERSION_UNOFFICIAL" desc="unofficial build on the about:version page">
        Developer Build
      </message>
      <message name="IDS_ABOUT_VERSION_OS" desc="label for the OS on the about:version page">
        OS
      </message>
      <message name="IDS_ABOUT_VERSION_USER_AGENT" desc="label for the user agent on the about:version page">
        User Agent
      </message>
      <message name="IDS_ABOUT_VERSION_COMMAND_LINE" desc="label for the command line on the about:version page">
        Command Line
      </message>
      <message name="IDS_ABOUT_VERSION_BUILD_DATE" desc="label for build date on the about:version page">
        Build Date
      </message>
      <message name="IDS_ABOUT_VERSION_EXECUTABLE_PATH" desc="label for the executable path on the about:version page">
        Executable Path
      </message>
      <message name="IDS_ABOUT_VERSION_PROFILE_PATH" desc="label for the profile path on the about:version page">
        Profile Path
      </message>
      <message name="IDS_ABOUT_VERSION_PATH_NOTFOUND" desc="label for the non-existent path on the about:version page">
        No such file or directory
      </message>
      <message name="IDS_ABOUT_VERSION_VARIATIONS" desc="label for the variations list on the about:version page">
        Variations
      </message>
      <message name="IDS_ABOUT_VERSION_BUILD_ID" desc="label for the build identifier on the about:version page">
        Build ID
      </message>

      <!-- JavaScript Dialog Box strings -->
      <message name="IDS_JAVASCRIPT_ALERT_DEFAULT_TITLE" desc="Title for JavaScript alert originating from a webpage if there is no hostname to display">
        JavaScript Alert
      </message>
      <message name="IDS_JAVASCRIPT_MESSAGEBOX_DEFAULT_TITLE" desc="Title for JavaScript prompt and confirm originating from a webpage if there is no hostname to display">
        JavaScript
      </message>
      <message name="IDS_JAVASCRIPT_ALERT_TITLE" desc="Title for JavaScript alert originating from a webpage">
        The page at <ph name="SITE">$1<ex>http://www.google.com</ex></ph> says:
      </message>
      <message name="IDS_JAVASCRIPT_MESSAGEBOX_TITLE" desc="Title for JavaScript prompt and confirm originating from a webpage">
        The page at <ph name="SITE">$1<ex>http://www.google.com</ex></ph> says:
      </message>
      <message name="IDS_JAVASCRIPT_MESSAGEBOX_SUPPRESS_OPTION" desc="Optional UI shown on the message box, in the form of a checkbox, allowing the user to suppress additional message boxes from the page.">
        Prevent this page from creating additional dialogs.
      </message>

      <!-- About box strings -->
      <message name="IDS_ABOUT_BOX_ERROR_DURING_UPDATE_CHECK" desc="The error label for errors that occurred while checking for updates in the About box.">
        An error occurred while checking for updates: <ph name="ERROR">$1<ex>Unable to contact Google Update</ex></ph>
      </message>
      <message name="IDS_ABOUT_BOX_ERROR_UPDATE_CHECK_FAILED" desc="The error message for the specific case when we cannot create the Google Update component">
        Update check failed to start (error code <ph name="ERROR">$1<ex>0x80000005</ex></ph>).
      </message>

      <!-- "Before Unload" Dialog Box strings -->
      <message name="IDS_BEFOREUNLOAD_MESSAGEBOX_TITLE" desc="Title for the 'before unload' dialog.">
        Confirm Navigation
      </message>
      <message name="IDS_BEFOREUNLOAD_MESSAGEBOX_FOOTER" desc="Text shown at the bottom of the dialog, after the message provided by the script.">
        Are you sure you want to leave this page?
      </message>
      <message name="IDS_BEFOREUNLOAD_MESSAGEBOX_OK_BUTTON_LABEL" desc="The text on the button which navigates the user away from the page.">
        Leave this Page
      </message>
      <message name="IDS_BEFOREUNLOAD_MESSAGEBOX_CANCEL_BUTTON_LABEL" desc="The text on the button which cancels the navigation away from the page.">
        Stay on this Page
      </message>

      <!-- "Before Reload" Dialog Box strings (same as "Before Unload" but when reloading rather than unloading the page -->
      <message name="IDS_BEFORERELOAD_MESSAGEBOX_TITLE" desc="Title for the 'before reload' dialog.">
        Confirm Reload
      </message>
      <message name="IDS_BEFORERELOAD_MESSAGEBOX_FOOTER" desc="Text shown at the bottom of the dialog, after the message provided by the script.">
        Are you sure you want to reload this page?
      </message>
      <message name="IDS_BEFORERELOAD_MESSAGEBOX_OK_BUTTON_LABEL" desc="The text on the button which reloads the page.">
        Reload this Page
      </message>
      <message name="IDS_BEFORERELOAD_MESSAGEBOX_CANCEL_BUTTON_LABEL" desc="The text on the button which cancels the page reload.">
        Don't Reload
      </message>

      <!-- Omnibox -->
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_PASTE_AND_GO" desc="The text label of the Paste And Go menu item when the clipboard contains a URL">
          Pa&amp;ste and go
        </message>
        <message name="IDS_PASTE_AND_SEARCH" desc="The text label of the Paste And Go menu item when the clipboard contains a string to search for">
          Pa&amp;ste and search
        </message>
        <message name="IDS_SHOW_URL" desc="The text label of the Show URL item in the omnibox context menu, when the omnibox is showing search terms instead of the underlying search URL.">
          Show URL
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_PASTE_AND_GO" desc="In Title Case: The text label of the Paste And Go menu item when the clipboard contains a URL">
          Pa&amp;ste and Go
        </message>
        <message name="IDS_PASTE_AND_SEARCH" desc="In Title Case: The text label of the Paste And Go menu item when the clipboard contains a string to search for">
          Pa&amp;ste and Search
        </message>
        <message name="IDS_SHOW_URL" desc="In Title Case: The text label of the Show URL item in the omnibox context menu, when the omnibox is showing search terms instead of the underlying search URL.">
          Show URL
        </message>
      </if>
      <message name="IDS_OMNIBOX_KEYWORD_HINT" desc="Shown to the user when the url in the omnibox has a keyword associated with it. $1 is replaced with an image showing the tab key. $2 is replaced with the description of the keyword.">
        Press <ph name="SEARCH_KEY">$1<ex>Tab</ex></ph> to search <ph name="SITE_NAME">$2<ex>google.com</ex></ph>
      </message>
      <message name="IDS_OMNIBOX_EXTENSION_KEYWORD_HINT" desc="Shown to the user when the word(s) in the omnibox has an extension keyword associated with it. $1 is replaced with an image showing the tab key. $2 is replaced with the description of the keyword.">
        Press <ph name="SEARCH_KEY">$1<ex>Tab</ex></ph> to send commands to <ph name="EXTENSION_NAME">$2<ex>Google Talk</ex></ph>
      </message>
      <message name="IDS_OMNIBOX_KEYWORD_TEXT" desc="Text shown in the search button at the front of the omnibox when the user has selected a keyword">
        Search <ph name="SITE_NAME">$1<ex>google.com</ex></ph>:
      </message>
      <message name="IDS_OMNIBOX_EMPTY_HINT" desc="The text displayed in the omnibox when it is empty.">
        Search or type URL
      </message>

      <!-- Native Frame menu -->
      <message name="IDS_ALWAYS_ON_TOP" desc="The optional menu in native frame windows for setting the window to be always on top">
        Always on top
      </message>

      <!--Tooltip strings-->
      <message name="IDS_TOOLTIP_BACK" desc="The tooltip for back button">
        Click to go back, hold to see history
      </message>
      <message name="IDS_ACCNAME_TOOLTIP_BACK" desc="The tooltip for back button suited for non-mouse users">
        Press enter to go back, context menu key to see history
      </message>
      <message name="IDS_TOOLTIP_FORWARD" desc="The tooltip for forward button">
        Click to go forward, hold to see history
      </message>
      <message name="IDS_ACCNAME_TOOLTIP_FORWARD" desc="The tooltip for forward button  suited for non-mouse users">
        Press enter to go forward, context menu key to see history
      </message>
      <message name="IDS_TOOLTIP_HOME" desc="The tooltip for the home button">
        Open the home page
      </message>
      <message name="IDS_TOOLTIP_RELOAD" desc="The tooltip for reload button">
        Reload this page
      </message>
      <message name="IDS_TOOLTIP_RELOAD_WITH_MENU" desc="The tooltip for reload button with menu in DevTools mode">
        Reload this page, hold to see more options
      </message>
      <message name="IDS_TOOLTIP_STOP" desc="The tooltip for the stop button">
        Stop loading this page
      </message>
      <message name="IDS_TOOLTIP_SCRIPT_BUBBLE" desc="The tooltip for script bubble">
        View extensions interacting with page
      </message>
      <message name="IDS_TOOLTIP_CLOSE_TAB" desc="The tooltip for the close tab button">
        Close
      </message>
      <message name="IDS_TOOLTIP_LOCATION_ICON" desc="The tooltip for location icon in the omnibox">
        View site information
      </message>
      <message name="IDS_TOOLTIP_NEW_TAB" desc="The tooltip for the new tab button">
        New tab
      </message>
      <message name="IDS_TOOLTIP_MIC_SEARCH" desc="The tooltip for search-by-voice button">
        Search by voice
      </message>
      <message name="IDS_TOOLTIP_TRANSLATE" desc="The tooltip for translate">
        Translate this page
      </message>
      <message name="IDS_TOOLTIP_ZOOM" desc="The tooltip for zoom icon">
        Zoom: <ph name="VALUE">$1<ex>100</ex></ph>%
      </message>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_ZOOM_SET_DEFAULT" desc="The text label of a button which, when clicked, returns the page to default zoom">
          Reset to default
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_ZOOM_SET_DEFAULT" desc="In Title Case: The text label of a button which, when clicked, returns the page to default zoom">
          Reset to Default
        </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_ZOOM_SET_DEFAULT_SHORT" desc="The short text label of a button which, when clicked, returns the page to default zoom">
          Reset
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_ZOOM_SET_DEFAULT_SHORT" desc="In Title Case: The short text label of a button which, when clicked, returns the page to default zoom">
          Reset
        </message>
      </if>

      <message name="IDS_SITE_CHIP_EV_SSL_LABEL" desc="Formatting for the string displayed in the EV SSL site chip next to the omnibox.">
        <ph name="ORGNAME">$1<ex>Google, Inc. [US]</ex></ph> <ph name="HOSTNAME">$2<ex>google.com</ex></ph>
      </message>

      <!--Script Bubble-->
      <message name="IDS_SCRIPT_BUBBLE_HEADLINE" desc="The headline of the script bubble.">
        Extensions interacting with this page:
      </message>
      <!--Accessible name/action strings-->
      <message name="IDS_ACCESSIBLE_INCOGNITO_WINDOW_TITLE_FORMAT" desc="The format for the accessible title of an incognito window">
        <ph name="WINDOW_TITLE">$1</ph> (Incognito)
      </message>
      <message name="IDS_ACCNAME_APP_UPGRADE_RECOMMENDED" desc="The accessible name for the app menu when software update is available.">
        <ph name="ACCNAME_APP">$1<ex>Chrome</ex></ph> (Update is available)
      </message>
      <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_HOME" desc="The accessible name for the home button">
        Home
      </message>
      <message name="IDS_ACCNAME_RELOAD" desc="The accessible name for the reload/stop button.">
        Reload
      </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_ZOOM" desc="The accessible name for the zoom button.">
        Zoom
      </message>
      <message name="IDS_ACCNAME_OPEN_PDF_IN_READER" desc="The accessible name for the Open PDF in Reader button.">
        Open PDF in Reader
      </message>
      <message name="IDS_ACCNAME_FIND" desc="The accessible name for the find button.">
        Find
      </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_BOOKMARKS" desc="The accessible name for the Bookmarks toolbar.">
        Bookmarks
      </message>
      <message name="IDS_ACCNAME_BOOKMARKS_CHEVRON" desc="The accessible name for the chevron visible if not all the bookmark buttons fit.">
        Menu containing hidden bookmarks
      </message>
      <message name="IDS_ACCNAME_SEPARATOR" desc="The accessible name for a separator.">
        Separator
      </message>
      <message name="IDS_ACCNAME_EXTENSIONS" desc="The accessible name for the Extensions toolbar.">
        Extensions
      </message>
      <message name="IDS_ACCNAME_EXTENSIONS_BROWSER_ACTION" desc="The accessible name for a browser action.">
        Browser Action
      </message>
      <message name="IDS_ACCNAME_EXTENSIONS_CHEVRON" desc="The accessible name for the chevron visible if not all the extension buttons fit.">
        Menu containing hidden extensions
      </message>
      <message name="IDS_ACCNAME_NEWTAB" desc="The accessible name for the New Tab (+) button.">
        New Tab
      </message>
      <message name="IDS_ACCNAME_MINIMIZE" desc="The accessible name for the Minimize button.">
        Minimize
      </message>
      <message name="IDS_ACCNAME_MAXIMIZE" desc="The accessible name for the Maximize button.">
        Maximize
      </message>
      <message name="IDS_ACCNAME_RESTORE" desc="The accessible name for the Restore button.">
        Restore
      </message>
      <message name="IDS_ACCNAME_CLOSE" desc="The accessible name for the Close button.">
        Close
      </message>
      <message name="IDS_ACCNAME_WEB_CONTENTS" desc="The accessible name for the web contents.">
        Web Contents
      </message>
      <if expr="is_ios">
        <message name="IDS_ACCNAME_CLEAR_TEXT" desc="The accessibility label for the clear text button in the location bar [Length: unlimited].">
          Clear Text
        </message>
        <message name="IDS_ACCNAME_VOICE_SEARCH" desc="The accessibility label for the voice search button in the location bar [Length: unlimited]">
          Voice Search
        </message>
      </if>

      <!-- Browser Hung Plugin Detector -->
      <message name="IDS_UNKNOWN_PLUGIN_NAME" desc="Name for a plugin whose name could not be determined">
        Unknown
      </message>

      <message name="IDS_BROWSER_HANGMONITOR_TITLE" desc="Title for the hung plugin message">
        Plug-in Unresponsive
      </message>
      <message name="IDS_BROWSER_HANGMONITOR" desc="A plugin on a page has hung">
The following plug-in is unresponsive: <ph name="PLUGIN_NAME">$1
<ex>Shockwave
</ex></ph>Would you like to stop it?
      </message>
      <message name="IDS_BROWSER_HANGMONITOR_RENDERER_TITLE" desc="The title of the 'A renderer has hung' dialog">
        Page(s) Unresponsive
      </message>
      <message name="IDS_BROWSER_HANGMONITOR_RENDERER" desc="A renderer has hung">
        The following page(s) have become unresponsive. You can wait for them to become responsive or kill them.
      </message>
      <message name="IDS_BROWSER_HANGMONITOR_RENDERER_WAIT" desc="The label of the 'wait' button">
        Wait
      </message>
      <message name="IDS_BROWSER_HANGMONITOR_RENDERER_END" desc="The label of the 'kill' button">
        Kill pages
      </message>
      <message name="IDS_BROWSER_HANGMONITOR_PLUGIN_INFOBAR" desc="The text of the infobar notifying the user that a plugin has hung">
        A plug-in (<ph name="PLUGIN_NAME">$1<ex>Flash</ex></ph>) isn't responding.
      </message>
      <message name="IDS_BROWSER_HANGMONITOR_PLUGIN_INFOBAR_KILLBUTTON" desc="The button on the hung plugin infobar (...PLUGIN_INFOBAR above) to terminate the plugin">
        Stop plug-in
      </message>

      <!-- Passwords and Exceptions Dialog -->
      <message name="IDS_PASSWORDS_EXCEPTIONS_WINDOW_TITLE" desc="Title for 'Passwords and exceptions dialog'">
        Passwords
      </message>
      <message name="IDS_PASSWORDS_SHOW_PASSWORDS_TAB_TITLE" desc="Title for 'Saved passwords' tab">
        Saved passwords
      </message>
      <message name="IDS_PASSWORDS_EXCEPTIONS_TAB_TITLE" desc="Title for 'Never saved' tab">
        Never saved
      </message>
      <message name="IDS_PASSWORDS_PAGE_SEARCH_PASSWORDS" desc="Placeholder text shown in password table search box">
        Search passwords
      </message>
      <message name="IDS_PASSWORDS_PAGE_VIEW_SHOW_BUTTON" desc="Text for passwords page view's button to show a stored password">
        Show
      </message>
      <message name="IDS_PASSWORDS_PAGE_VIEW_HIDE_BUTTON" desc="Text for passwords page view's button to hide a stored password">
        Hide
      </message>
      <message name="IDS_PASSWORDS_PAGE_VIEW_NO_PASSWORDS_DESCRIPTION" desc="Text for passwords page view when there are no passwords to show.">
        Your saved passwords will appear here.
      </message>
      <message name="IDS_PASSWORDS_PAGE_VIEW_NO_EXCEPTIONS_DESCRIPTION" desc="Text for passwords page view when there are no password exceptions to show.">
        Sites which never save passwords will appear here.
      </message>

      <!-- Confirm MessageBox Dialog -->
      <message name="IDS_CONFIRM_MESSAGEBOX_YES_BUTTON_LABEL" desc="Confirm MessageBox Dialog's 'Yes' button text">
        Yes
      </message>
      <message name="IDS_CONFIRM_MESSAGEBOX_NO_BUTTON_LABEL" desc="Confirm MessageBox Dialog's 'No' button text">
        No
      </message>

      <!-- Password Manager -->
      <if expr="not is_android">
        <message name="IDS_PASSWORD_MANAGER_SAVE_BUTTON" desc="Save button text for password manager">
          Save password
        </message>
        <message name="IDS_PASSWORD_MANAGER_BLACKLIST_BUTTON" desc="Button text for the 'Save Password' infobar's 'Never remember for this site' option">
          Never for this site
        </message>
        <message name="IDS_PASSWORD_MANAGER_CANCEL_BUTTON" desc="Text for the 'Manage Passwords' bubble's 'Not now' option">
          Not now
        </message>
        <message name="IDS_PASSWORD_MANAGER_TOOLTIP_SAVE" desc="Text for the 'Manage Passwords' icon's 'password to be saved' state">
          Save your password
        </message>
        <message name="IDS_PASSWORD_MANAGER_TOOLTIP_MANAGE" desc="Text for the 'Manage Passwords' icon's 'saving passwords' state">
          Manage your passwords
        </message>
      </if>
      <if expr="is_android">
        <message name="IDS_PASSWORD_MANAGER_SAVE_BUTTON" desc="Mobile: Button text for the 'Save Password' infobar's 'Remember password' option">
          Yes
        </message>
        <message name="IDS_PASSWORD_MANAGER_BLACKLIST_BUTTON" desc="Mobile: Button text for the 'Save Password' infobar's 'Never remember for this site' option">
          Never
        </message>
      </if>

      <!-- Import Settings Dialog -->
      <message name="IDS_IMPORT_SETTINGS_TITLE" desc="Dialog title for import dialog">
        Import bookmarks and settings
      </message>
      <message name="IDS_IMPORT_FROM_LABEL" desc="Label before profile select combo box">
        From:
      </message>
      <message name="IDS_IMPORT_FROM_IE" desc="browser combo box: Microsoft Internet Explorer">
        Microsoft Internet Explorer
      </message>
      <message name="IDS_IMPORT_FROM_FIREFOX" desc="browser combo box: Mozilla Firefox">
        Mozilla Firefox
      </message>
      <message name="IDS_IMPORT_FROM_ICEWEASEL" desc="browser combo box: Iceweasel">
        Iceweasel
      </message>
      <message name="IDS_IMPORT_FROM_SAFARI" desc="browser combo box: Safari">
        Safari
      </message>
      <message name="IDS_IMPORT_FROM_BOOKMARKS_HTML_FILE" desc="browser combo box: Bookmarks HTML File">
        Bookmarks HTML File
      </message>
      <message name="IDS_IMPORT_ITEMS_LABEL" desc="Label before item select checkboxes">
        Select items to import:
      </message>
      <message name="IDS_IMPORT_HISTORY_CHKBOX" desc="Checkbox for importing browsing history">
        Browsing history
      </message>
      <message name="IDS_IMPORT_FAVORITES_CHKBOX" desc="Checkbox for importing favorites">
        Favorites/Bookmarks
      </message>
      <message name="IDS_IMPORT_PASSWORDS_CHKBOX" desc="Checkbox for importing saved passwords">
        Saved passwords
      </message>
      <message name="IDS_IMPORT_SEARCH_ENGINES_CHKBOX" desc="Checkbox for importing search engines">
        Search engines
      </message>
      <message name="IDS_IMPORT_LOADING_PROFILES" desc="Status text to notify the user that profiles are being loaded">
        Loading...
      </message>
      <message name="IDS_IMPORT_SUCCEEDED" desc="Status text to notify the user that the import succeeded">
        Success!
      </message>

      <message name="IDS_IMPORT_COMMIT" desc="Text for OK button on dialog">
        Import
      </message>
      <message name="IDS_IMPORT_CHOOSE_FILE" desc="Text for the Choose File on dialog">
        Choose File
      </message>

      <message name="IDS_IMPORTER_GOOGLE_LOGIN_TEXT" desc="The message to be displayed on dialog">
        In order to import Toolbar bookmarks into Chrome, you must be signed in to your Google account.  Please sign in and try to import again.
      </message>
      <message name="IDS_IMPORT_NO_PROFILE_FOUND" desc="Message displayed when we do not find any supported browser to import from.">
        No supported browser found
      </message>
      <message name="IDS_IMPORT_PASSWORD_KEYCHAIN_WARNING" desc="Message displayed at the bottom of the Import Dialog for Safari on Mac OS">
        Passwords saved in the Mac OS X Keychain will be used to help you sign in without typing.
      </message>


      <!-- Import progress popup -->
      <message name="IDS_IMPORT_PROGRESS_TITLE" desc="Title for the importing progress dialog">
        Importing
      </message>

      <if expr="is_macosx">
        <message name="IDS_IMPORT_SETTINGS_MENU_MAC" desc="The text label for the Import menu item.">
          Import Bookmarks and Settings...
        </message>
        <message name="IDS_IMPORT_PROGRESS_EXPLANATORY_TEXT_MAC" desc="Text displayed above status items in Import Dialog">
          <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> is now importing the following items from <ph name="IMPORT_BROWSER_NAME">$2<ex>Safari</ex></ph>:
        </message>
        <message name="IDS_IMPORT_IMPORTING_PROGRESS_TEXT_MAC" desc="Status text displayed when an item in the Import Progress Dialog is being imported.">
          Importing...
        </message>
        <message name="IDS_IMPORT_IMPORTING_DONE_TEXT_MAC" desc="Status text displayed when an item in the Import Progress Dialog is done importing.">
          Done
        </message>
      </if>

      <message name="IDS_IMPORT_PROGRESS_STATUS_BOOKMARKS" desc="Import status for bookmarks">
        Favorites/Bookmarks
      </message>
      <message name="IDS_IMPORT_PROGRESS_STATUS_SEARCH" desc="Import status for search engines">
        Search settings
      </message>
      <message name="IDS_IMPORT_PROGRESS_STATUS_PASSWORDS" desc="Import status for passwords">
        Saved passwords
      </message>
      <message name="IDS_IMPORT_PROGRESS_STATUS_HISTORY" desc="Import status for history">
        Browsing history
      </message>
      <message name="IDS_IMPORT_PROGRESS_STATUS_COOKIES" desc="Import status for cookies">
        Cookies
      </message>
      <message name="IDS_IMPORT_PROGRESS_STATUS_CANCEL" desc="Button text for import cancellation">
        Stop import
      </message>

      <!-- Confirm to quit panel -->
      <message name="IDS_CONFIRM_TO_QUIT_DESCRIPTION" desc="Instructions for how the user should confirm quitting.">
        Hold <ph name="KEY_EQUIVALENT">$1<ex>⌘Q</ex></ph> to Quit.
      </message>
      <message name="IDS_CONFIRM_TO_QUIT_OPTION" desc="The label of the checkbox preference that enables the confirm-to-quit feature.">
        Warn Before Quitting (<ph name="KEY_EQUIVALENT">$1<ex>⌘Q</ex></ph>)
      </message>

      <!-- Importer Lock Dialog -->
      <message name="IDS_IMPORTER_LOCK_TITLE" desc="Dialog title for importer lock dialog">
        Close Firefox Before Importing
      </message>
      <message name="IDS_IMPORTER_LOCK_OK" desc="Text for OK button on dialog">
        Continue
      </message>
      <message name="IDS_IMPORTER_LOCK_CANCEL" desc="Text for Cancel button on dialog">
        Skip Import
      </message>

      <!-- Feedback Dialog -->
      <message name="IDS_FEEDBACK_REPORT_PAGE_TITLE" desc="Label showing the title of the page that will be reported">
        Tell us what is happening.
      </message>
      <message name="IDS_FEEDBACK_REPORT_URL_LABEL" desc="Label showing the URL that will be reported">
        URL (optional):
      </message>
      <message name="IDS_FEEDBACK_USER_EMAIL_LABEL" desc="Label showing the e-mail address that will be reported">
        Email (optional):
      </message>
      <message name="IDS_FEEDBACK_SCREENSHOT_LABEL" desc="Label for the screenshot field if current screenshots are being shown">
        Include this screenshot:
      </message>
      <message name="IDS_FEEDBACK_INCLUDE_PERFORMANCE_TRACE_CHECKBOX" desc="Checkbox for including system performance data on the bug report dialog box">
        Send performance trace data
      </message>
      <message name="IDS_FEEDBACK_INCLUDE_SYSTEM_INFORMATION_CHKBOX" desc="Checkbox for including system information on the bug report dialog box">
        Send system information
      </message>
      <message name="IDS_FEEDBACK_INCLUDE_SYSTEM_INFORMATION_AND_METRICS_CHKBOX" desc="Checkbox for including system information and metrics on the bug report dialog box">
        Send <ph name="BEGIN_LINK1">&lt;a href="#" id="sys-info-url"&gt;</ph>system information<ph name="END_LINK1">&lt;/a&gt;</ph> and <ph name="BEGIN_LINK2">&lt;a href="#" id="histograms-url"&gt;</ph>metrics<ph name="END_LINK2">&lt;/a&gt;</ph>
      </message>
      <message name="IDS_FEEDBACK_ATTACH_FILE_NOTE" desc="Text for describing the maximum size for an attached file">
        The attached file is uploaded to Google servers for debugging.
      </message>
      <message name="IDS_FEEDBACK_ATTACH_FILE_LABEL" desc="Text for the label for the attached filename">
        Attach file:
      </message>
      <message name="IDS_FEEDBACK_READING_FILE" desc="Text to display if reading a file when the user clicks the send report button">
        Reading file..
      </message>
      <message name="IDS_FEEDBACK_ATTACH_FILE_TO_BIG" desc="Text to display if the file being attached is too big">
        Selected file is too big (max size: 3mb).
      </message>
      <message name="IDS_FEEDBACK_PRIVACY_NOTE" desc="Text for the privacy note included with Chrome OS">
        Your Chrome and operating system version will be submitted in addition
        to any information you choose to include above. If you include your email
        address, Google may contact you regarding your feedback report. This feedback
        is used to diagnose problems and help improve Chrome. Any personal information
        you submit, whether explicitly or incidentally will be protected in
        accordance with our privacy policies.<ph name="BEGIN_BOLD">&lt;strong&gt;
        </ph> By submitting this feedback, you agree that Google may use feedback
        that you provide to improve any Google product or service.
        <ph name="END_BOLD">&lt;/strong&gt;</ph>
      </message>
      <message name="IDS_FEEDBACK_NO_DESCRIPTION" desc="Message shown when no text is entered before hitting send feedback">
        Please tell us what is happening before sending the feedback.
      </message>
      <message name="IDS_FEEDBACK_SEND_REPORT" desc="Text for OK button of the send feedback dialog">
        Send feedback
      </message>
      <message name="IDS_FEEDBACK_LAUNCHER_TITLE" desc="Dialog title for app launcher feedback dialog">
        Send Feedback.
      </message>
      <message name="IDS_FEEDBACK_LAUNCHER_DESCRIPTION_LABEL" desc="Label for the description field when asking for app launcher feedback">
        Tell us what you think of the App Launcher.
      </message>

      <!-- Clear Browsing Data -->
      <message name="IDS_CLEAR_BROWSING_DATA_TITLE" desc="Dialog title">
        Clear browsing data
      </message>
      <message name="IDS_CLEAR_BROWSING_DATA_INFO_BAR_TEXT" desc="The text of the infobar that is displayed in the clear browsing data dialog. This infobar remindes users that they can use the incognito mode instead of clearing their browsing data.">
        Psst! Incognito mode (<ph name="INCOGNITO_MODE_SHORTCUT">$1<ex>Shift+Ctrl+N</ex></ph>) may come in handy next time.
      </message>
      <message name="IDS_CLEAR_BROWSING_DATA_LABEL" desc="Label at the top of the client area of the dialog, preceding the period combo box">
        Obliterate the following items from:
      </message>
      <message name="IDS_DEL_BROWSING_HISTORY_CHKBOX" desc="Checkbox for deleting Browsing History">
        Browsing history
      </message>
      <message name="IDS_DEL_DOWNLOAD_HISTORY_CHKBOX" desc="Checkbox for deleting Download History">
        Download history
      </message>
      <message name="IDS_DEL_CACHE_CHKBOX" desc="Checkbox for deleting Cache">
        Cached images and files
      </message>
      <message name="IDS_DEL_COOKIES_CHKBOX" desc="Checkbox for deleting Cookies and other site data">
        Cookies and other site data
      </message>
      <message name="IDS_DEL_COOKIES_FLASH_CHKBOX" desc="Checkbox for deleting Cookies and other site data">
        Cookies and other site and plug-in data
      </message>
      <message name="IDS_DEL_PASSWORDS_CHKBOX" desc="Checkbox for deleting Passwords">
        Passwords
      </message>
      <message name="IDS_DEL_FORM_DATA_CHKBOX" desc="Checkbox for deleting form data saved for Autofill">
        Autofill form data
      </message>
      <message name="IDS_DEL_HOSTED_APPS_DATA_CHKBOX" desc="Checkbox for deleting data of hosted apps">
        Hosted app data
      </message>
      <message name="IDS_DEAUTHORIZE_CONTENT_LICENSES_CHKBOX" desc="Checkbox for deauthorizing content licenses (DRM videos, etc.)">
        Content licenses
      </message>
      <message name="IDS_CLEAR_BROWSING_DATA_COMMIT" desc="Title for OK button on dialog">
        Clear browsing data
      </message>
      <message name="IDS_FLASH_STORAGE_SETTINGS" desc="Link for opening Adobe Flash Player storage settings">
        Adobe Flash Player storage settings...
      </message>
      <message name="IDS_CLEAR_DATA_HOUR" desc="deletion period combo box: hour. In English this finishes the sentence that starts with 'Delete the following items from'.">
        the past hour
      </message>
      <message name="IDS_CLEAR_DATA_DAY" desc="deletion period combo box: day. In English this finishes the sentence that starts with 'Delete the following items from'.">
        the past day
      </message>
      <message name="IDS_CLEAR_DATA_WEEK" desc="deletion period combo box: week. In English this finishes the sentence that starts with 'Delete the following items from'.">
        the past week
      </message>
      <message name="IDS_CLEAR_DATA_4WEEKS" desc="deletion period combo box: 4 weeks. In English this finishes the sentence that starts with 'Delete the following items from'.">
        the last 4 weeks
      </message>
      <message name="IDS_CLEAR_DATA_EVERYTHING" desc="deletion period combo box: everything. In English this finishes the sentence that starts with 'Delete the following items from'.">
        the beginning of time
      </message>
      <message name="IDS_CLEAR_BROWSING_DATA_SOME_STUFF_REMAINS" desc="Information that some data may remain even though the user clears their browsing history. The text in '|'s and '#'s will be turned into buttons. The translated text should contain exactly one phrase in '|'s and one in '#'s.">
        Saved |content settings| and #search engines# will not be cleared and may reflect your browsing habits.
      </message>

      <!-- Managed User Avatar Menu -->
      <message name="IDS_MANAGED_USER_INFO" desc="Text which explains that a supervised user is managed by a custodian.">
        Usage and history of this user can be reviewed by the manager (<ph name="CUSTODIAN_EMAIL">$1<ex>Jane.Doe@gmail.com</ex></ph>) on chrome.com.
      </message>
      <message name="IDS_MANAGED_USER_AVATAR_LABEL" desc="A label for the supervised user which is used in the avatar menu and as a label in the titlebar.">
        Supervised user
      </message>

      <!-- Supervised User Block Interstitial data -->
      <message name="IDS_BLOCK_INTERSTITIAL_TITLE" desc="A title for the supervised-user block interstitial page.">
        Page blocked
      </message>
      <message name="IDS_BLOCK_INTERSTITIAL_MESSAGE" desc="A message for the supervised user when they attempt to visit a site that is not permitted by the manager.">
        Oops, looks like you need permission from <ph name="NAME">$1<ex>John Doe</ex></ph> to access this page.
      </message>
      <message name="IDS_BLOCK_INTERSTITIAL_MESSAGE_ACCESS_REQUESTS_DISABLED" desc="A message for the supervised user when they attempt to visit a site that is not permitted by the manager (and they can't ask for permission).">
        Oops, looks like you don't have permission to access this page.
      </message>
      <message name="IDS_BACK_BUTTON" desc="A button for going back to the last safe url after being blocked.">
        Go back
      </message>
      <message name="IDS_BLOCK_INTERSTITIAL_REQUEST_ACCESS_BUTTON" desc="A button for requesting access to blocked sites.">
        Request permission
      </message>
      <message name="IDS_BLOCK_INTERSTITIAL_REQUEST_SENT_MESSAGE" desc="The text that tells the supervised user that a request has been sent.">
        Your request to access this site has been sent to <ph name="NAME">$1<ex>John Doe</ex></ph>.
      </message>

      <!-- Content Settings dialog data -->
      <message name="IDS_CONTENT_SETTINGS_TITLE" desc="Title for content settings dialog">
        Content settings
      </message>
      <message name="IDS_COOKIES_TAB_LABEL" desc="Label for Cookies tab on Content Settings dialog">
        Cookies
      </message>
      <message name="IDS_COOKIES_HEADER" desc="Header for cookie exception management page on Content Settings dialog">
        Cookie and site data exceptions
      </message>
      <message name="IDS_COOKIES_ALLOW_RADIO" desc="A radio button in the Content Settings dialog for allowing cookies and other site data to be stored on your computer.">
        Allow local data to be set (recommended)
      </message>
      <message name="IDS_COOKIES_SESSION_ONLY_RADIO" desc="A radio button in the Content Settings dialog for allowing cookies and other site data for the current session only.">
        Keep local data only until I quit my browser
      </message>
      <message name="IDS_COOKIES_BLOCK_RADIO" desc="A radio button in the Content Settings dialog for blocking cookies and other site data from being stored on your computer.">
        Block sites from setting any data
      </message>
      <message name="IDS_COOKIES_BLOCK_3RDPARTY_CHKBOX" desc="A checkbox in the Content Settings dialog for blocking all 3rd party cookies.">
        Block third-party cookies and site data
      </message>
      <message name="IDS_MEDIA_STREAM_TAB_LABEL" desc="Label for media device tab on Content Settings dialog">
        Media
      </message>
      <message name="IDS_MEDIA_STREAM_HEADER" desc="Header for media device exception management page on Content Settings dialog">
        Media exceptions
      </message>
      <message name="IDS_MEDIA_STREAM_BLOCK_RADIO" desc="A radio button in Content Settings dialog to deny all sites to access any capture device.">
        Do not allow sites to access my camera and microphone
      </message>
      <message name="IDS_MEDIA_STREAM_ASK_RADIO" desc="A radio button in Content Settings dialog to allow site to query the permision to access capture devices.">
        Ask me when a site requires access to my camera and microphone (recommended)
      </message>
      <message name="IDS_MEDIA_STREAM_BLOCK_AUDIO_ONLY_RADIO" desc="A radio button in Content Settings dialog to deny all sites to access audio capture device.">
        Do not allow sites to access my microphone
      </message>
      <message name="IDS_MEDIA_STREAM_ASK_AUDIO_ONLY_RADIO" desc="A radio button in Content Settings dialog to allow site to query the permision to access audio capture devices.">
        Ask me when a site requires access to my microphone (recommended)
      </message>
      <message name="IDS_MEDIA_STREAM_BLOCK_VIDEO_ONLY_RADIO" desc="A radio button in Content Settings dialog to deny all sites to access video capture device.">
        Do not allow sites to access my camera
      </message>
      <message name="IDS_MEDIA_STREAM_ASK_VIDEO_ONLY_RADIO" desc="A radio button in Content Settings dialog to allow site to query the permision to access video capture devices.">
        Ask me when a site requires access to my camera (recommended)
      </message>
      <message name="IDS_MEDIA_STREAM_AUDIO_MANAGED" desc="A notification bubble shown if the access to audio capture devices is controlled through policy.">
        Access to your microphone is controlled by your administrator.
      </message>
      <message name="IDS_MEDIA_STREAM_VIDEO_MANAGED" desc="A notification bubble shown if the access to video capture devices is controlled through policy.">
        Access to your camera is controlled by your administrator.
      </message>
      <message name="IDS_MEDIA_SELECTED_MIC_LABEL" desc="The label of the 'microphone device' select menu">
        Microphone:
      </message>
      <message name="IDS_MEDIA_SELECTED_CAMERA_LABEL" desc="The label of the 'camera device' select menu">
        Camera:
      </message>
      <message name="IDS_MEDIA_MENU_NO_DEVICE_TITLE" desc="The title of the media select menu if there is no microphone or camera available on the machine">
        None available
      </message>
      <message name="IDS_MEDIA_PEPPER_FLASH_DEFAULT_DIVERGED_LABEL" desc="The label in Content Settings dialog informing that Pepper Flash uses different default permission for camera and microphone than the default media permission.">
        Adobe Flash Player camera and microphone settings are different.
      </message>
      <message name="IDS_MEDIA_PEPPER_FLASH_EXCEPTIONS_DIVERGED_LABEL" desc="The label in the media device exception management page informing that Pepper Flash uses different exceptions than the ones listed on the page.">
        Adobe Flash Player camera and microphone exceptions are different.
      </message>
      <message name="IDS_MEDIA_PEPPER_FLASH_CHANGE_LINK" desc="The link to change Pepper Flash camera and microphone settings.">
        Change
      </message>
      <message name="IDS_MEDIA_GALLERY_SECTION_LABEL" desc="The label for the section of content settings that relates to media galleries.">
        Media galleries
      </message>
      <message name="IDS_MEDIA_GALLERY_MANAGE_TITLE" desc="The title of the media gallery manager overlay.">
        Media galleries
      </message>
      <message name="IDS_MEDIA_GALLERY_MANAGE_BUTTON" desc="The text for the button that opens the media gallery manager overlay.">
        Manage galleries
      </message>
      <message name="IDS_MEDIA_GALLERY_ADD_NEW_BUTTON" desc="The text for the button that opens a dialog to select a new media gallery.">
        Add...
      </message>
      <message name="IDS_MEDIA_AUDIO_EXCEPTION_HEADER" desc="A column header for the action column of the media audio exceptions dialog">
        Audio
      </message>
      <message name="IDS_MEDIA_VIDEO_EXCEPTION_HEADER" desc="A column header for the action column of the media video exceptions dialog">
        Video
      </message>
      <message name="IDS_CONTENT_SETTING_CHANGED_INFOBAR_BUTTON" desc="The string used in the infobar button allowing the user to reload the page directly from the infobar.">
        Reload
      </message>

      <!-- Mac and ChromeOS users do not close their browser. Mac users quit it and ChromeOS users log out. -->
      <if expr="not is_macosx and not pp_ifdef('chromeos')">
        <message name="IDS_COOKIES_CLEAR_WHEN_CLOSE_CHKBOX" desc="A checkbox in the Content Settings dialog for removing all cookies on when browser is closed.">
          Clear cookies and other site data when I close my browser
        </message>
        <message name="IDS_COOKIES_LSO_CLEAR_WHEN_CLOSE_CHKBOX" desc="A checkbox in the Content Settings dialog for removing all cookies on when browser is closed.">
          Clear cookies and other site and plug-in data when I close my browser
        </message>
      </if>
      <if expr="is_macosx">
        <message name="IDS_COOKIES_CLEAR_WHEN_CLOSE_CHKBOX" desc="A checkbox in the Content Settings dialog for removing all cookies on when browser is quit (Mac).">
          Clear cookies and other site data when I quit my browser
        </message>
        <message name="IDS_COOKIES_LSO_CLEAR_WHEN_CLOSE_CHKBOX" desc="A checkbox in the Content Settings dialog for removing all cookies on when browser is quit (Mac).">
          Clear cookies and other site and plug-in data when I quit my browser
        </message>
      </if>
      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_COOKIES_CLEAR_WHEN_CLOSE_CHKBOX" desc="A checkbox in the Content Settings dialog for removing all cookies on when browser is closed.">
          Clear cookies and other site data when I log out
        </message>
        <message name="IDS_COOKIES_LSO_CLEAR_WHEN_CLOSE_CHKBOX" desc="A checkbox in the Content Settings dialog for removing all cookies on when browser is closed.">
          Clear cookies and other site and plug-in data when I log out
        </message>
      </if>

      <message name="IDS_IMAGES_TAB_LABEL" desc="Label for Images tab on Content Settings dialog">
        Images
      </message>
      <message name="IDS_IMAGES_HEADER" desc="Header for image exception management page on Content Settings dialog">
        Image exceptions
      </message>
      <message name="IDS_IMAGES_LOAD_RADIO" desc="A radio button in the Content Settings dialog for allowing all images to be loaded.">
        Show all images (recommended)
      </message>
      <message name="IDS_IMAGES_NOLOAD_RADIO" desc="A radio button in the Content Settings dialog for preventing loading any image.">
        Do not show any images
      </message>
      <message name="IDS_POPUP_TAB_LABEL" desc="Label for Pop-up Windows tab on Content Settings dialog">
        Pop-ups
      </message>
      <message name="IDS_POPUP_HEADER" desc="Header for popup exception management page on Content Settings dialog">
        Pop-up exceptions
      </message>
      <message name="IDS_POPUP_ALLOW_RADIO" desc="A radio button in the Content Settings dialog for allowing pop-up windows in the browser.">
        Allow all sites to show pop-ups
      </message>
      <message name="IDS_POPUP_BLOCK_RADIO" desc="A radio button in the Content Settings dialog for preventing showing pop-up windows on any sites.">
        Do not allow any site to show pop-ups (recommended)
      </message>
      <message name="IDS_POPUPS_BLOCKED_INFOBAR_BUTTON_SHOW" desc="Pop-up Blocking Show Button [CHAR-LIMIT=32]">
        Always show
      </message>
      <message name="IDS_POPUPS_BLOCKED_INFOBAR_TEXT" desc="Pop-up Blocking Title [CHAR-LIMIT=32]">
        Pop-ups blocked (<ph name="POP_UP_COUNT">$1<ex>3</ex></ph>)
      </message>
      <message name="IDS_PLUGIN_TAB_LABEL" desc="Label for Plug-ins tab on Content Settings dialog">
        Plug-ins
      </message>
      <message name="IDS_PLUGIN_HEADER" desc="Header for plugin exception management page on Content Settings dialog">
        Plug-in exceptions
      </message>
      <message name="IDS_PLUGIN_LOAD_RADIO" desc="A radio button in the Content Settings dialog for allowing plug-ins use on any site.">
        Run automatically (recommended)
      </message>
      <message name="IDS_PLUGIN_ASK_RADIO" desc="A radio button in the Content Settings dialog for allowing plug-ins use on any site.">
        Click to play
      </message>
      <message name="IDS_PLUGIN_NOLOAD_RADIO" desc="A radio button in the Content Settings dialog for preventing plug-ins use on any site.">
        Block all
      </message>
      <message name="IDS_PLUGIN_SELECTIVE_DISABLE" desc="Link to selectively disable plug-ins">
        Disable individual plug-ins...
      </message>
      <message name="IDS_JAVASCRIPT_TAB_LABEL" desc="Label for JavaScript tab on Content Settings dialog">
        JavaScript
      </message>
      <message name="IDS_JAVASCRIPT_HEADER" desc="Label for JavaScript exception management page on Content Settings dialog">
        JavaScript exceptions
      </message>
      <message name="IDS_JS_ALLOW_RADIO" desc="A radio button in the Content Settings dialog for allowing JavaScript use on any site.">
        Allow all sites to run JavaScript (recommended)
      </message>
      <message name="IDS_JS_DONOTALLOW_RADIO" desc="A radio button in the Content Settings dialog for preventing JavaScript use on any site.">
        Do not allow any site to run JavaScript
      </message>
      <message name="IDS_HANDLERS_TAB_LABEL" desc="Label for Handlers tab on Content Settings dialog">
        Handlers
      </message>
      <message name="IDS_HANDLERS_ALLOW_RADIO" desc="A radio button in the Content Settings dialog for allowing sites to register themselves as handlers for protocols.">
        Allow sites to ask to become default handlers for protocols (recommended)
      </message>
      <message name="IDS_HANDLERS_DONOTALLOW_RADIO" desc="A radio button in the Content Settings dialog for preventing sites from registering themselves as handlers for protocols.">
        Do not allow any site to handle protocols
      </message>
    <message name="IDS_HANDLERS_BUBBLE_MANAGE_LINK" desc="Link on the register protocol handler bubble that opens up the Content Settings management dialog.">
      Manage handler settings...
    </message>
    <message name="IDS_HANDLERS_TYPE_COLUMN_HEADER" desc="Header on the settings page for the column showing handler protocols.">
        Type
    </message>
    <message name="IDS_HANDLERS_SITE_COLUMN_HEADER" desc="Header on the settings page for the column showing handler sites.">
        Site
    </message>
    <message name="IDS_HANDLERS_REMOVE_HANDLER_LINK" desc="Text on the link that removes a registered protocol handler from a user's settings.">
        remove this site
    </message>
    <message name="IDS_HANDLERS_NONE_HANDLER" desc="Text in the dropdown for handlers for a given protocol that indicates that the protocol shouldn't be handled.">
        (none)
    </message>
    <message name="IDS_HANDLERS_ACTIVE_HEADING" desc="Header for the section of the handlers settings page that lists handlers that are active, that is, can be used to handle links.">
        Active protocol handlers
    </message>
    <message name="IDS_HANDLERS_IGNORED_HEADING" desc="Header for the section of the handlers settings page that lists handlers that are ignored.">
        Ignored protocol handlers
    </message>

    <message name="IDS_HANDLER_OPTIONS_WINDOW_TITLE" desc="The title of the window that lets a user change what handlers they have registered for various protocols / mimetypes.">
      Protocol handlers
    </message>
      <message name="IDS_GEOLOCATION_TAB_LABEL" desc="Label for Geolocation tab on Content Settings dialog">
        Location
      </message>
      <message name="IDS_GEOLOCATION_HEADER" desc="Label for Geolocation exception management page on Content Settings dialog">
        Geolocation exceptions
      </message>
      <message name="IDS_GEOLOCATION_ALLOW_RADIO" desc="A radio button in the Content Settings dialog for allowing all sites access to geolocation data.">
        Allow all sites to track my physical location
      </message>
      <message name="IDS_GEOLOCATION_ASK_RADIO" desc="A radio button in the Content Settings dialog for asking before allowing sites access to gelocation data.">
        Ask me when a site tries to track my physical location (recommended)
      </message>
      <message name="IDS_GEOLOCATION_BLOCK_RADIO" desc="A radio button in the Content Settings dialog for blocking sites from accessing geolocation data.">
        Do not allow any site to track my physical location
      </message>
      <message name="IDS_GEOLOCATION_GOOGLE_ACCESS_ENABLE_CHKBOX" desc="The label of the 'Allow Google services to access your location' checkbox">
        Allow Google services to access your location
      </message>
      <message name="IDS_GEOLOCATION_SET_BY_HOVER" desc="Hover text for URL in a list of exceptions, preceding the name of the granting hosted app.">
        Set by app:
      </message>
      <message name="IDS_NOTIFICATIONS_TAB_LABEL" desc="Label for Notifications tab on Content Settings dialog">
        Notifications
      </message>
      <message name="IDS_NOTIFICATIONS_HEADER" desc="Label for Notifications exception management page on Content Settings dialog">
        Notifications exceptions
      </message>
      <message name="IDS_NOTIFICATIONS_SETTINGS_BUTTON" desc="Label for the Settings button for Notifications tab of Content Settings dialog.">
        Settings...
      </message>
      <message name="IDS_NOTIFICATIONS_ALLOW_RADIO" desc="A radio button in Content Settings dialog to allow all sites to show notifications.">
        Allow all sites to show desktop notifications
      </message>
      <message name="IDS_NOTIFICATIONS_BLOCK_RADIO" desc="A radio button in Content Settings dialog to deny all sites to show notifications.">
        Do not allow any site to show desktop notifications
      </message>
      <message name="IDS_NOTIFICATIONS_ASK_RADIO" desc="A radio button in Content Settings dialog to configure notifications per-site.">
        Ask me when a site wants to show desktop notifications (recommended)
      </message>
      <message name="IDS_FULLSCREEN_TAB_LABEL" desc="Label for Fullscreen tab on Content Settings dialog">
        Fullscreen
      </message>
      <message name="IDS_FULLSCREEN_HEADER" desc="Header for fullscreen exception management page on Content Settings dialog">
        Fullscreen exceptions
      </message>
      <message name="IDS_EXCEPTIONS_PATTERN_HEADER" desc="A column header for the pattern column of the cookie/image/javascript/plugins exceptions dialog">
        Hostname pattern
      </message>
      <message name="IDS_EXCEPTIONS_ACTION_HEADER" desc="A column header for the action column of the cookie/image/javascript/plugins exceptions dialog">
        Behavior
      </message>
      <message name="IDS_EXCEPTIONS_ALLOW_BUTTON" desc="A label to display in the exception page's action column when a site's content setting is allowed for a given domain">
        Allow
      </message>
      <message name="IDS_EXCEPTIONS_ASK_BUTTON" desc="A label to display in the exception page's action column when a site's content setting is set to promt for a given domain.">
        Ask
      </message>
      <message name="IDS_EXCEPTIONS_SESSION_ONLY_BUTTON" desc="A label to display in the exception page's action column when a site's content setting is allow but only for the duration of the session for a given domain.">
        Clear on exit
      </message>
      <message name="IDS_EXCEPTIONS_BLOCK_BUTTON" desc="A label to display in the exception page's action column when a site's content setting is blocked for a given domain.">
        Block
      </message>
      <message name="IDS_EXCEPTIONS_OTR_LABEL" desc="A label informing the user that the table below the label shows incognito-only exceptions">
        Exceptions below only apply to the current incognito session.
      </message>
      <message name="IDS_EXCEPTIONS_ADD_NEW_INSTRUCTIONS" desc="Placeholder text before the user adds a new exception" >
        [*.]example.com
      </message>
      <message name="IDS_EXCEPTIONS_GEOLOCATION_EMBEDDED_ON_HOST" desc="Template text for a child row in the Geolocation Exceptions page view. Controls the permission setting for the parent page when embedded on the specified site.">
        embedded on <ph name="URL">$1<ex>www.google.com</ex></ph>
      </message>
      <message name="IDS_MOUSE_LOCK_TAB_LABEL" desc="Label for Mouse Lock tab on Content Settings dialog">
        Mouse cursor
      </message>
      <message name="IDS_MOUSE_LOCK_HEADER" desc="Label for Mouse Lock exception management page on Content Settings dialog">
        Mouse cursor exceptions
      </message>
      <message name="IDS_MOUSE_LOCK_ALLOW_RADIO" desc="A radio button in the Content Settings dialog for allowing all sites ability to disable the mouse cursor.">
        Allow all sites to disable the mouse cursor
      </message>
      <message name="IDS_MOUSE_LOCK_ASK_RADIO" desc="A radio button in the Content Settings dialog for asking before allowing sites to disable the mouse cursor.">
        Ask me when a site tries to disable the mouse cursor (recommended)
      </message>
      <message name="IDS_MOUSE_LOCK_BLOCK_RADIO" desc="A radio button in the Content Settings dialog for blocking all sites ability to disable the mouse cursor.">
        Do not allow any site to disable the mouse cursor
      </message>
      <if expr="pp_ifdef('chromeos') or is_win">
        <message name="IDS_PROTECTED_CONTENT_TAB_LABEL" desc="Label for the Protected Content tab on the Content Settings dialog.">
          Protected content
        </message>
        <message name="IDS_PROTECTED_CONTENT_INFO" desc="Text that is displayed on the Protected Content tab of the Content Settings dialog. This text explains that enabling protected content may require using a uniquely identifiable machine identifier.">
          Some content services use machine identifiers to uniquely identify you for the purposes of authorizing access to protected content.
        </message>
        <message name="IDS_PROTECTED_CONTENT_ENABLE" desc="The label of the checkbox for enabling protected content.">
          Allow identifiers for protected content (computer restart may be required)
        </message>
        <message name="IDS_PROTECTED_CONTENT_HEADER" desc="Text label for the managing exceptions of Protected Content.">
          Protected content exceptions
        </message>
      </if>
      <message name="IDS_PPAPI_BROKER_TAB_LABEL" desc="Label for PPAPI broker tab on Content Settings dialog">
        Unsandboxed plug-in access
      </message>
      <message name="IDS_PPAPI_BROKER_ALLOW_RADIO" desc="A radio button in Content Settings dialog to allow all sites to access the PPAPI broker.">
        Allow all sites to use a plug-in to access my computer
      </message>
      <message name="IDS_PPAPI_BROKER_BLOCK_RADIO" desc="A radio button in Content Settings dialog to deny all sites to access the PPAPI broker.">
        Do not allow any sites to use a plug-in to access my computer
      </message>
      <message name="IDS_PPAPI_BROKER_ASK_RADIO" desc="A radio button in Content Settings dialog to allow site to query the permision to access the PPAPI broker.">
        Ask me when a site wants to use a plug-in to access my computer (recommended)
      </message>

      <message name="IDS_EXCEPTIONS_MANAGE" desc="The label on the button that launches the exceptions management page for a given content type">
        Manage exceptions...
      </message>
      <message name="IDS_COOKIES_SHOW_COOKIES_BUTTON" desc="A button in the Content Settings dialog for showing cookies and other stored site data.">
        All cookies and site data...
      </message>
      <message name="IDS_HANDLERS_MANAGE" desc="The label on the button that launches the exceptions management page for a given content type">
        Manage handlers...
      </message>

      <!-- Automatic updates -->
      <if expr="is_macosx">
        <message name="IDS_PROMOTE_INFOBAR_TEXT" desc="The text to show in the automatic update setup info bar.  Mac-only.">
          <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> may not be able to keep itself updated.
        </message>
        <message name="IDS_PROMOTE_INFOBAR_PROMOTE_BUTTON" desc="The 'Set up automatic updates' button in the automatic update setup info bar.  Mac-only.">
          Set up automatic updates
        </message>
        <message name="IDS_PROMOTE_INFOBAR_DONT_ASK_BUTTON" desc="The 'Don't ask again' button in the automatic update setup info bar.  Mac-only.">
          Don't ask again
        </message>
        <message name="IDS_PROMOTE_AUTHENTICATION_PROMPT" desc="The prompt displayed in the authentication dialog when setting up automatic updates for all users.  The system will add a sentence asking for an administrator's name and password.  Mac-only.">
          <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will set up automatic updates for all users of this computer.
        </message>
      </if>

      <!-- About Chrome View -->
      <if expr="is_macosx">
        <message name="IDS_ABOUT_CHROME_PROMOTE_UPDATER" desc="The 'Set Up Automatic Updates for All Users' button in the About window.  Mac-only.">
          Set Up Automatic Updates for All Users
        </message>
      </if>
      <message name="IDS_UPGRADE_CHECK_STARTED" desc="Status label: About to start checking for updates">
        Checking for updates...
      </message>
      <message name="IDS_UPGRADE_ERROR" desc="Status label: Error occurred during upgrade">
        Update failed (error: <ph name="ERROR_NUMBER">$1<ex>1</ex></ph>)
      </message>
      <message name="IDS_UPGRADE_DISABLED_BY_POLICY" desc="Status label: Upgrades disabled by policy">
        Updates are disabled by the administrator
      </message>
      <message name="IDS_UPGRADE_DISABLED_BY_POLICY_MANUAL" desc="Status label: Manual upgrades disabled by policy, automatic upgrades ok">
        Manual updates are disabled by the administrator.  Automatic updates are enabled.
      </message>
      <message name="IDS_REPORT_AN_ISSUE" desc="Text of the button which allows the user to report an issue with Chrome.">
        Report an issue
      </message>

      <!-- settings reset bubble messages -->
      <message name="IDS_RESETTING" desc="Text for the button, once the user clicked to reset settings.">
        Resetting...
      </message>
      <message name="IDS_NO_THANKS" desc="Text for the button the user clicks to refuse settings reset.">
        No thanks
      </message>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_RESET_SETTINGS_MENU_ITEM" desc="In Title Case: Text for the Chrome menu option replacing Update required.">
          Reset Altered <ph name="IDS_SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph> Settings
        </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_RESET_SETTINGS_MENU_ITEM" desc="Text for the Chrome menu option replacing Update required.">
          Reset altered <ph name="IDS_SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph> settings
        </message>
      </if>
      <message name="IDS_RESET_BUBBLE_TITLE" desc="Text for the title of the settings reset bubble view.">
        Reset altered <ph name="IDS_SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph> settings?
      </message>
      <message name="IDS_RESET_BUBBLE_TEXT" desc="Text for the settings reset bubble view full description.">
        <ph name="IDS_SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph> detected that your browser settings may have been changed without your knowledge. Would you like to reset them to their original defaults?
      </message>
      <message name="IDS_REPORT_BUBBLE_TEXT" desc="Text for the settings reset bubble reporting checkbox.">
        Help make Google Chrome better by reporting the current settings
      </message>

      <!-- Upgrade bubble messages -->
      <message name="IDS_REINSTALL_APP" desc="Text for the button the user clicks to reinstall the app.">
        Reinstall <ph name="IDS_SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph>
      </message>
      <message name="IDS_LATER" desc="Text for the button the user clicks to be reminded of reinstalling the app later.">
        Later
      </message>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_UPGRADE_BUBBLE_MENU_ITEM" desc="In Title Case: Text for the Chrome menu option replacing Update required.">
          <ph name="IDS_SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph> is Out of Date
        </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_UPGRADE_BUBBLE_MENU_ITEM" desc="Text for the Chrome menu option replacing Update required.">
          <ph name="IDS_SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph> is out of date
        </message>
      </if>
      <message name="IDS_UPGRADE_BUBBLE_TITLE" desc="Text for the title of the upgrade bubble view.">
        <ph name="IDS_SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph> is out of date
      </message>
      <message name="IDS_UPGRADE_BUBBLE_TEXT" desc="Text for the upgrade bubble view full description.">
        <ph name="IDS_SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph> could not update itself to the latest version, so you are missing out on awesome new features and security fixes. You need to manually reinstall <ph name="IDS_SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph>.
      </message>

      <!-- Print -->
      <message name="IDS_DEFAULT_PRINT_DOCUMENT_TITLE" desc="Default title for a print document">
        Untitled Document
      </message>
      <message name="IDS_PRINT_SPOOL_FAILED_TITLE_TEXT" desc="Title of a message box when printing fails because of printer issues.">
        Print Failed
      </message>
      <message name="IDS_PRINT_SPOOL_FAILED_ERROR_TEXT" desc="Text in a messagebox when printing fails because of printer issues.">
        Something went wrong when trying to print.  Please check your printer and try again.
      </message>

      <!-- Cloud Print proxy strings -->
      <message name="IDS_CLOUD_PRINT_CHROMEOS_OPTION_LABEL" desc="Label for the cloud print section of the Chrome OS advanced options dialog.">
        Set up or manage printers in <ph name="CLOUD_PRINT_NAME">$1<ex>Google Cloud Print</ex></ph>.
      </message>
      <message name="IDS_CLOUD_PRINT_CHROMEOS_OPTION_BUTTON" desc="Text on a button to go to the cloud print home page from the Chrome OS advanced options dialog.">
        Open <ph name="CLOUD_PRINT_NAME">$1<ex>Google Cloud Print</ex></ph>
      </message>
      <message name="IDS_CLOUD_PRINT_REGISTER_PRINTER_FAILED" desc="Status message to be sent to the server when we failed to retrieve information about a printer to register.">
        An error occurred while retrieving printer capabilities for printer <ph name="PRINTER_NAME">$1<ex>HP Laserjet 7900</ex></ph>. This printer could not be registered with <ph name="CLOUD_PRINT_NAME">$2<ex>Google Cloud Print</ex></ph>.
      </message>
      <message name="IDS_CLOUD_PRINT_ZOMBIE_PRINTER" desc="Status message to be sent to the server when we get a notification for a printer that we can't find locally.">
        Received a notification for an unknown printer.
      </message>
      <message name="IDS_CLOUD_PRINT_XPS_UNAVAILABLE" desc="Status message to be sent to the Cloud Print server when the XPS framework is missing.">
        The <ph name="CLOUD_PRINT_NAME">$1<ex>Google Cloud Print</ex></ph> connector requires that the Microsoft XML Paper Specification Essentials Pack be installed.
      </message>
      <message name="IDS_CLOUD_PRINT_ENUM_FAILED" desc="Status message to be sent to the Cloud Print server when enumerating printers failed.">
        There was a problem listing printers. Some of your printers may not have registered successfully with <ph name="CLOUD_PRINT_NAME">$1<ex>Google Cloud Print</ex></ph>.
      </message>
      <message name="IDS_SERVICE_CRASH_RECOVERY_CONTENT" desc="Text content telling the user the service process has crashed.">
        The <ph name="CLOUD_PRINT_NAME">$1<ex>Google Cloud Print</ex></ph> connector process has crashed. Restart?
      </message>

      <!-- Print Preview -->
      <message name="IDS_PRINT_PREVIEW_TITLE" desc="Fallback title for print preview page.">
        Print
      </message>
      <message name="IDS_PRINT_PREVIEW_GOOGLE_CLOUD_PRINT_TITLE" desc="Fallback title for print preview page on Chrome OS.">
        Google Cloud Print
      </message>
      <message name="IDS_PRINT_PREVIEW_LOADING" desc="Message to display while the print preview is still loading.">
        Loading preview
      </message>
      <message name="IDS_PRINT_PREVIEW_FAILED" desc="Message to display when print preview fails.">
        Print preview failed.
      </message>
      <message name="IDS_PRINT_PREVIEW_INVALID_PRINTER_SETTINGS" desc="Message to display when selected printer is not reachable or its settings are invalid.">
        The selected printer is not available or not installed correctly.  Check your printer or try selecting another printer.
      </message>
      <message name="IDS_PRINT_PREVIEW_PRINT_BUTTON" desc="Print button.">
        Print
      </message>
      <message name="IDS_PRINT_PREVIEW_SAVE_BUTTON" desc="Save button.">
        Save
      </message>
      <message name="IDS_PRINT_PREVIEW_PRINTING" desc="Text shown after the user clicks on the print button and before the print preview tab is closed to let him know that printing is in progress.">
        Printing...
      </message>
      <message name="IDS_PRINT_PREVIEW_PRINTING_TO_PDF_IN_PROGRESS" desc="Text shown after the user clicks on the print/save button while Save To PDF is selected, but the PDF file is not ready yet.">
        Saving to PDF in progress
      </message>
      <if expr="is_macosx">
        <message name="IDS_PRINT_PREVIEW_OPENING_PDF_IN_PREVIEW" desc="Text shown after the user clicks on the open pdf in preview button while the pdf file is not ready yet.">
        Opening PDF in Preview
        </message>
      </if>
      <message name="IDS_PRINT_PREVIEW_CANCEL_BUTTON" desc="Cancel button.">
        Cancel
      </message>
      <message name="IDS_PRINT_PREVIEW_OPTION_ALL_PAGES" desc="Option to print all pages.">
        All
      </message>
      <message name="IDS_PRINT_PREVIEW_DESTINATION_LABEL" desc="Destination option label. It is displayed right on top of the available printers list.">
        Destination
      </message>
      <message name="IDS_PRINT_PREVIEW_OPTION_BW" desc="Option to print in black and white.">
        Black and white
      </message>
      <message name="IDS_PRINT_PREVIEW_OPTION_COLLATE" desc="Option to collate multiple copies.">
        Collate
      </message>
      <message name="IDS_PRINT_PREVIEW_OPTION_COLOR" desc="Option to print in color.">
        Color
      </message>
      <message name="IDS_PRINT_PREVIEW_OPTION_LANDSCAPE" desc="Option to print in landscape mode.">
        Landscape
      </message>
      <message name="IDS_PRINT_PREVIEW_OPTION_PORTRAIT" desc="Option to print in portrait mode.">
        Portrait
      </message>
      <message name="IDS_PRINT_PREVIEW_OPTION_TWO_SIDED" desc="Option to do two-sided (duplex) printing.">
        Two-sided
      </message>
      <message name="IDS_PRINT_PREVIEW_PAGES_LABEL" desc="Page range option label.">
        Pages
      </message>
      <message name="IDS_PRINT_PREVIEW_LAYOUT_LABEL" desc="Layout option label.">
        Layout
      </message>
      <message name="IDS_PRINT_PREVIEW_COPIES_LABEL" desc="Copies option label.">
        Copies
      </message>
      <message name="IDS_PRINT_PREVIEW_EXAMPLE_PAGE_RANGE_TEXT" desc="Example page range text.">
        e.g. 1-5, 8, 11-13
      </message>
      <message name="IDS_PRINT_PREVIEW_PAGE_RANGE_TEXT" desc="Aria-label page range text.">
        page range text box
      </message>
      <message name="IDS_PRINT_PREVIEW_PAGE_RANGE_RADIO" desc="Aria-label page range radio.">
        page range radio button
      </message>
      <message name="IDS_PRINT_PREVIEW_PRINT_TO_PDF"
               desc="Option shown on printer drop-down list for saving previewed document as a PDF.">
        Save as PDF
      </message>
      <message name="IDS_PRINT_PREVIEW_PRINT_WITH_CLOUD_PRINT_WAIT"
          desc="Message shown in the print preview page after choosing cloud print before the dialog displays">
        Loading <ph name="CLOUD_PRINT_NAME">$1<ex>Google Cloud Print</ex></ph>
      </message>
      <message name="IDS_PRINT_PREVIEW_SUMMARY_FORMAT_LONG" desc="Print summary, explaining to the user how many pages will be printed.">
        Total: <ph name="NUMBER_OF_SHEETS">$1<ex>10</ex></ph> <ph name="SHEETS_LABEL">$2<ex>sheets of paper</ex></ph> (<ph name="NUMBER_OF_PAGES">$3<ex>4</ex></ph> <ph name="PAGE_OR_PAGES_LABEL">$4<ex>Pages</ex></ph>)
      </message>
      <message name="IDS_PRINT_PREVIEW_SUMMARY_FORMAT_SHORT" desc="Print summary, explaining to the user how many pages will be printed.">
        Total: <ph name="NUMBER_OF_SHEETS">$1<ex>10</ex></ph> <ph name="SHEETS_LABEL">$2<ex>sheets of paper</ex></ph>
      </message>
      <message name="IDS_PRINT_PREVIEW_SHEETS_LABEL_PLURAL" desc="Label shown in the print preview summary.">
        sheets of paper
      </message>
      <message name="IDS_PRINT_PREVIEW_SHEETS_LABEL_SINGULAR" desc="Label shown in the print preview summary.">
        sheet of paper
      </message>
      <message name="IDS_PRINT_PREVIEW_PAGE_LABEL_SINGULAR" desc="Label shown in the print preview summary.">
        page
      </message>
      <message name="IDS_PRINT_PREVIEW_PAGE_LABEL_PLURAL" desc="Label shown in the print preview summary.">
        pages
      </message>
      <if expr="is_macosx">
        <message name="IDS_PRINT_PREVIEW_OPEN_PDF_IN_PREVIEW_APP" desc="Option allowing the user to open the pdf in native preview app">
        Open PDF in Preview
        </message>
      </if>
      <message name="IDS_PRINT_PREVIEW_SYSTEM_DIALOG_OPTION" desc="Option allowing the user to access advanced printer settings using the native print system dialog instead of printing through the print preview mechanism. Shortcut key is not translated">
        Print using system dialog... <ph name="SHORTCUT_KEY">$1<ex>(Shift+Ctrl+P)</ex></ph>
      </message>
      <message name="IDS_PRINT_PREVIEW_CLOUD_DIALOG_OPTION" desc="Option allowing the user to access advanced printer settings using the cloud print dialog instead of printing through the print preview mechanism.">
        Print using <ph name="CLOUD_PRINT_NAME">$1<ex>Google Cloud Print</ex></ph> dialog... <ph name="SHORTCUT_KEY">$2<ex>(Shift+Ctrl+P)</ex></ph>
      </message>
      <message name="IDS_PRINT_PREVIEW_CLOUD_DIALOG_OPTION_NO_SHORTCUT" desc="Option allowing the user to access advanced printer settings using the cloud print dialog instead of printing through the print preview mechanism without a shortcut key.">
        Print using <ph name="CLOUD_PRINT_NAME">$1<ex>Google Cloud Print</ex></ph> dialog...
      </message>
      <message name="IDS_PRINT_PREVIEW_PAGE_RANGE_INSTRUCTION" desc="Instruction shown when the user enters an invalid page range.">
        Invalid page range, use <ph name="EXAMPLE_PAGE_RANGE">$1<ex>e.g. 1-5, 8, 11-13</ex></ph>
      </message>
      <message name="IDS_PRINT_PREVIEW_COPIES_INSTRUCTION" desc="Instruction shown when the user enters an invalid number of copies.">
        Use a number to indicate how many copies to print (1 or more).
      </message>
      <message name="IDS_PRINT_PREVIEW_INCREMENT_TITLE" desc="Title shown when the user hovers mouse over the increment button. Also added for improved accessibility">
        Increment
      </message>
      <message name="IDS_PRINT_PREVIEW_DECREMENT_TITLE" desc="Title shown when the user hovers mouse over the decrement button. Also added for improved accessibility">
        Decrement
      </message>
      <message name="IDS_PRINT_PREVIEW_PRINT_PAGES_LABEL" desc="ARIA label used by screen reader to explain the purpose of the page selection textbox">
        Print Specific Pages
      </message>
      <message name="IDS_PRINT_PREVIEW_OPTIONS_LABEL" desc="Options label currently providing the choice to print headers and footers.">
        Options
      </message>
      <message name="IDS_PRINT_PREVIEW_OPTION_HEADER_FOOTER" desc="Checkbox label that provides a choice to print the headers and footers.">
        Headers and footers
      </message>
      <message name="IDS_PRINT_PREVIEW_OPTION_FIT_TO_PAGE" desc="Checkbox label shown in print preview page to auto fit the PDF page.">
        Fit to page
      </message>
      <message name="IDS_PRINT_PREVIEW_OPTION_BACKGROUND_COLORS_AND_IMAGES" desc="Checkbox label shown in print preview page to print webpage backgrounds.">
        Background colors and images
      </message>
      <message name="IDS_PRINT_PREVIEW_OPTION_SELECTION_ONLY" desc="Checkbox label shown in print preview page to print only selected content.">
        Selection only
      </message>
      <message name="IDS_PRINT_PREVIEW_MARGINS_LABEL" desc="Margins option label. Provides user the option to change the margins of the printed page.">
        Margins
      </message>
      <message name="IDS_PRINT_PREVIEW_DEFAULT_MARGINS" desc="Option that specifies the page be printed with default margins.">
        Default
      </message>
      <message name="IDS_PRINT_PREVIEW_NO_MARGINS" desc="Option that specifies the page be printed with no margins.">
        None
      </message>
      <message name="IDS_PRINT_PREVIEW_CUSTOM_MARGINS" desc="Option that specifies the page be printed with user-specified custom margins.">
        Custom
      </message>
      <message name="IDS_PRINT_PREVIEW_MINIMUM_MARGINS" desc="Option that specifies the page be printed with the minimum allowed margins by the printer.">
        Minimum
      </message>
      <message name="IDS_PRINT_PREVIEW_TOP_MARGIN_LABEL" desc="ARIA label used by screen reader to explain the purpose of the top margin textbox.">
        Top margin
      </message>
      <message name="IDS_PRINT_PREVIEW_BOTTOM_MARGIN_LABEL" desc="ARIA label used by screen reader to explain the purpose of the bottom margin textbox.">
        Bottom margin
      </message>
      <message name="IDS_PRINT_PREVIEW_LEFT_MARGIN_LABEL" desc="ARIA label used by screen reader to explain the purpose of the left margin textbox.">
        Left margin
      </message>
      <message name="IDS_PRINT_PREVIEW_RIGHT_MARGIN_LABEL" desc="ARIA label used by screen reader to explain the purpose of the right margin textbox.">
        Right margin
      </message>
      <message name="IDS_PRINT_PREVIEW_NATIVE_DIALOG" desc="Option offering the user to open the native print dialog, displayed when the PDF viewer is missing or when print preview fails.">
        Print using system dialog…
      </message>
      <message name="IDS_PRINT_PREVIEW_DESTINATION_SEARCH_TITLE" desc="Title of the destination search UI component.">
        Select a destination
      </message>
      <message name="IDS_PRINT_PREVIEW_USER_INFO" desc="Message describing which user's destinations are being shown.">
        Showing destinations for <ph name="EMAIL">$1<ex>testing@gmail.com</ex></ph>
      </message>
      <message name="IDS_PRINT_PREVIEW_CLOUD_PRINT_PROMOTION" desc="Message describing features of Google Cloud Print.">
        Print to Google Docs and other cloud destinations. <ph name="BEGIN_LINK">$1<ex>&lt;span&gt;</ex></ph>Sign in<ph name="END_LINK">$2<ex>&lt;/span&gt;</ex></ph> to print to Google Cloud Print.
      </message>
      <message name="IDS_PRINT_PREVIEW_SEARCH_BOX_PLACEHOLDER" desc="Text to put in a search box when user has not entered a search query.">
        Search destinations
      </message>
      <message name="IDS_PRINT_PREVIEW_NO_DESTINATIONS_MESSAGE" desc="Message to show when no destinations were found.">
        No destinations found
      </message>
      <message name="IDS_PRINT_PREVIEW_SHOW_ALL_BUTTON_TEXT" desc="Label on a button to show all print destinations.">
        Show All...
      </message>
      <message name="IDS_PRINT_PREVIEW_DESTINATION_COUNT" desc="Message to show how many print destinations the user has.">
        (<ph name="COUNT">$1<ex>154</ex></ph> total)
      </message>
      <message name="IDS_PRINT_PREVIEW_RECENT_DESTINATIONS_TITLE" desc="Title of the section of recently used print destinations.">
        Recent Destinations
      </message>
      <message name="IDS_PRINT_PREVIEW_LOCAL_DESTINATIONS_TITLE" desc="Title of the section of local print destinations.">
        Local Destinations
      </message>
      <message name="IDS_PRINT_PREVIEW_CLOUD_DESTINATIONS_TITLE" desc="Title of the section of cloud print destinations.">
        Google Cloud Print
      </message>
      <message name="IDS_PRINT_PREVIEW_MANAGE" desc="Text of link to manage printers.">
        Manage...
      </message>
      <message name="IDS_PRINT_PREVIEW_SETUP_CLOUD_PRINTERS" desc="Text of link to setup cloud printers.">
        Setup...
      </message>
      <message name="IDS_PRINT_PREVIEW_CHANGE_DESTINATION" desc="Label on button to change print destination.">
        Change...
      </message>
      <message name="IDS_PRINT_PREVIEW_OFFLINE_FOR_YEAR" desc="Shown when printer has been offline for more than a year.">
        Offline for more than a year
      </message>
      <message name="IDS_PRINT_PREVIEW_OFFLINE_FOR_MONTH" desc="Shown when printer has been offline for more than a month.">
        Offline for more than a month
      </message>
      <message name="IDS_PRINT_PREVIEW_OFFLINE_FOR_WEEK" desc="Shown when printer has been offline for more than a week.">
        Offline for more than a week
      </message>
      <message name="IDS_PRINT_PREVIEW_OFFLINE" desc="Shown when printer is currently offline.">
        Currently offline
      </message>
      <message name="IDS_PRINT_PREVIEW_FEDEX_TOS" desc="Terms-of-service for using the FedEx Office printer.">
        By printing to FedEx Office, you accept their <ph name="START_LINK">$1</ph>terms of use<ph name="END_LINK">$2</ph>.
      </message>
      <message name="IDS_PRINT_PREVIEW_TOS_CHECKBOX_LABEL" desc="Label of the terms-of-service agreement checkbox.">
        I agree
      </message>
      <message name="IDS_PRINT_PREVIEW_NO_DESTS_PROMO_TITLE" desc="Title of promotion shown when user has no Google Cloud Print printers.">
        Add Printers
      </message>
      <message name="IDS_PRINT_PREVIEW_NO_DESTS_PROMO_BODY" desc="Main body of promotion shown when user has no Google Cloud Print printers.">
        You can add printers to your computer by clicking the "Add a printer"
        button below. If you have no printers to add, you'll still be able to save
        a PDF or save to Google Drive.
      </message>
      <message name="IDS_PRINT_PREVIEW_NO_DESTS_GCP_DESC" desc="A description of the Google Cloud Print service.">
        Adding your printers to Google Cloud Print allows you to print from
        anywhere, to anywhere. Share your printers with whoever you choose and
        print to them from Chrome, your phone, tablet, PC, or any other
        web-connected device.
      </message>
      <message name="IDS_PRINT_PREVIEW_NO_DESTS_PROMO_ADD_PRINTER_BUTTON_LABEL" desc="Label of button to setup Google Cloud Print printers.">
        Add a printer
      </message>
      <message name="IDS_PRINT_PREVIEW_NO_DESTS_PROMO_NOT_NOW_BUTTON_LABEL" desc="Label of button to cancel the Google Cloud Print promotion.">
        Not now
      </message>
      <message name="IDS_PRINT_PREVIEW_COULD_NOT_PRINT" desc="Error message when printing fails in the print preview">
        Printing failed. Please check your printer and try again.
      </message>
      <message name="IDS_PRINT_PREVIEW_REGISTER_PROMO_BUTTON_TEXT">
        Register
      </message>

      <!-- Load State -->
      <message name="IDS_LOAD_STATE_WAITING_FOR_SOCKET_SLOT" desc="Status text when Chrome is at its connection limit, and is waiting for a URL request to complete to free up a connection.">
        Waiting for available socket...
      </message>
      <message name="IDS_LOAD_STATE_WAITING_FOR_DELEGATE">
        Waiting for <ph name="LOAD_STATE_PARAMETER">$1<ex>extension Adblock</ex></ph>...
      </message>
      <message name="IDS_LOAD_STATE_PARAMETER_EXTENSION" desc="Parameter to IDS_LOAD_STATE_WAITING_FOR_DELEGATE when we are waiting for an extension. The variable is the extension name.">
        extension <ph name="EXTENSION_NAME">$1<ex>Adblock</ex></ph>
      </message>
      <message name="IDS_LOAD_STATE_WAITING_FOR_DELEGATE_GENERIC" desc="Generic status text when network is waiting on some local processing to occur.">
        Processing request...
      </message>
      <message name="IDS_LOAD_STATE_WAITING_FOR_CACHE">
        Waiting for cache...
      </message>
      <message name="IDS_LOAD_STATE_WAITING_FOR_APPCACHE">
        Waiting for AppCache...
      </message>
      <message name="IDS_LOAD_STATE_ESTABLISHING_PROXY_TUNNEL">
        Waiting for proxy tunnel...
      </message>
      <message name="IDS_LOAD_STATE_RESOLVING_PROXY_FOR_URL">
        Resolving proxy...
      </message>
      <message name="IDS_LOAD_STATE_RESOLVING_HOST_IN_PROXY_SCRIPT">
        Resolving host in proxy script...
      </message>
      <message name="IDS_LOAD_STATE_DOWNLOADING_PROXY_SCRIPT">
        Downloading proxy script...
      </message>
      <message name="IDS_LOAD_STATE_RESOLVING_HOST">
        Resolving host...
      </message>
      <message name="IDS_LOAD_STATE_CONNECTING">
        Connecting...
      </message>
      <message name="IDS_LOAD_STATE_SSL_HANDSHAKE">
        Establishing secure connection...
      </message>
      <message name="IDS_LOAD_STATE_SENDING_REQUEST">
        Sending request...
      </message>
      <message name="IDS_LOAD_STATE_SENDING_REQUEST_WITH_PROGRESS">
        Uploading (<ph name="PROGRESS_PERCENT">$1<ex>27</ex></ph>%)...
      </message>
      <message name="IDS_LOAD_STATE_WAITING_FOR_RESPONSE">
        Waiting for <ph name="HOST_NAME">$1<ex>www.google.com</ex></ph>...
      </message>

      <!-- Tab Context Menu -->
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_TAB_CXMENU_NEWTAB" desc="The label of the 'New Tab' Tab context menu item.">
          New tab
        </message>
        <message name="IDS_TAB_CXMENU_RELOAD" desc="The label of the 'Reload' Tab context menu item.">
          Reload
        </message>
        <message name="IDS_TAB_CXMENU_DUPLICATE" desc="The label of the 'Duplicate' Tab context menu item.">
          Duplicate
        </message>
        <message name="IDS_TAB_CXMENU_CLOSETAB" desc="The label of the 'Close Tab' Tab context menu item. Used when closing a single tab.">
          Close tab
        </message>
        <message name="IDS_TAB_CXMENU_CLOSETABS" desc="The label of the 'Close Tab' Tab context menu item. Used when closing more than one tab.">
          Close tabs
        </message>
        <message name="IDS_TAB_CXMENU_CLOSEOTHERTABS" desc="The label of the 'Close Other Tabs' Tab context menu item.">
          Close other tabs
        </message>
        <message name="IDS_TAB_CXMENU_CLOSETABSTORIGHT" desc="The label of the 'Close Tabs to the Right' Tab context menu item.">
          Close tabs to the right
        </message>
        <message name="IDS_TAB_CXMENU_PIN_TAB" desc="The label of the tab context menu item for pinning a single tab.">
          Pin tab
        </message>
        <message name="IDS_TAB_CXMENU_PIN_TABS" desc="The label of the tab context menu item for pinning more than one tab.">
          Pin tabs
        </message>
        <message name="IDS_TAB_CXMENU_UNPIN_TAB" desc="The label of the tab context menu item for unpinning a single tab.">
          Unpin tab
        </message>
        <message name="IDS_TAB_CXMENU_UNPIN_TABS" desc="The label of the tab context menu item for unpinning multiple tab.">
          Unpin tabs
        </message>
        <message name="IDS_TAB_CXMENU_BOOKMARK_ALL_TABS" desc="The label of the tab context menu item for creating a bookmark folder containing an entry for each open tab.">
          Bookmark all tabs...
        </message>
        <message name="IDS_TAB_CXMENU_SELECT_BY_DOMAIN" desc="The label of the tab context menu item for selecting tabs with the same domain">
          Select by domain
        </message>
        <message name="IDS_TAB_CXMENU_SELECT_BY_OPENER" desc="The label of the tab context menu item for selecting tabs with the same opener">
          Select by opener
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_TAB_CXMENU_NEWTAB" desc="In Title Case: The label of the 'New Tab' Tab context menu item.">
          New Tab
        </message>
        <message name="IDS_TAB_CXMENU_RELOAD" desc="In Title Case: The label of the 'Reload' Tab context menu item.">
          Reload
        </message>
        <message name="IDS_TAB_CXMENU_DUPLICATE" desc="In Title Case: The label of the 'Duplicate' Tab context menu item.">
          Duplicate
        </message>
        <message name="IDS_TAB_CXMENU_CLOSETAB" desc="In Title Case: The label of the 'Close Tab' Tab context menu item.">
          Close Tab
        </message>
        <message name="IDS_TAB_CXMENU_CLOSETABS" desc="In Title Case: The label of the 'Close Tab' Tab context menu item when more than one tab is selected.">
          Close Tabs
        </message>
        <message name="IDS_TAB_CXMENU_CLOSEOTHERTABS" desc="In Title Case: The label of the 'Close Other Tabs' Tab context menu item.">
          Close Other Tabs
        </message>
        <message name="IDS_TAB_CXMENU_CLOSETABSTORIGHT" desc="In Title Case: The label of the 'Close Tabs to the Right' Tab context menu item.">
          Close Tabs to the Right
        </message>
        <message name="IDS_TAB_CXMENU_PIN_TAB" desc="In Title Case: The label of the tab context menu item for pinning a tab.">
          Pin Tab
        </message>
        <message name="IDS_TAB_CXMENU_PIN_TABS" desc="In Title Case: The label of the tab context menu item for pinning multiple tabs.">
          Pin Tabs
        </message>
        <message name="IDS_TAB_CXMENU_UNPIN_TAB" desc="In Title Case: The label of the tab context menu item for unpinning a tab.">
          Unpin Tab
        </message>
        <message name="IDS_TAB_CXMENU_UNPIN_TABS" desc="In Title Case: The label of the tab context menu item for unpinning multiple tabs.">
          Unpin Tabs
        </message>
        <message name="IDS_TAB_CXMENU_BOOKMARK_ALL_TABS" desc="In Title Case: The label of the tab context menu item for creating a bookmark folder containing an entry for each open tab.">
          Bookmark All Tabs...
        </message>
        <message name="IDS_TAB_CXMENU_SELECT_BY_DOMAIN" desc="The label of the tab context menu item for selecting tabs with the same domain">
          Select by Domain
        </message>
        <message name="IDS_TAB_CXMENU_SELECT_BY_OPENER" desc="The label of the tab context menu item for selecting tabs with the same opener">
          Select by Opener
        </message>
      </if>

      <!-- Application window menu -->
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_APP_MENU_RELOAD" desc="The reload menu in application windows">
          Reload
        </message>
        <message name="IDS_APP_MENU_NEW_WEB_PAGE" desc="The new webpage menu in application windows">
          Open browser window
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_APP_MENU_RELOAD" desc="In Title Case: The reload menu in application windows">
          Reload
        </message>
        <message name="IDS_APP_MENU_NEW_WEB_PAGE" desc="In Title Case: The new webpage menu in application windows">
          Open Browser Window
        </message>
      </if>

      <!-- error page messages -->
      <message name="IDS_ERRORPAGES_BUTTON_MORE" desc="Label for the button that expands the details on an error page">
        More
      </message>
      <message name="IDS_ERRORPAGES_BUTTON_LESS" desc="Label for the button that hides the details on an error page">
        Less
      </message>
      <message name="IDS_ERRORPAGES_BUTTON_RELOAD" desc="Label for the button on an error page to reload the page">
        Reload
      </message>
      <message name="IDS_ERRORPAGES_BUTTON_DIAGNOSE" desc="Label for the button that invokes the connection diagnostic tool on the error page">
        Diagnose errors...
      </message>
      <if expr="is_android">
        <message name="IDS_ERRORPAGES_BUTTON_SETTINGS" desc="Mobile: Label for the button on an error page to launch system settings menu">
          Settings
        </message>
      </if>

      <message name="IDS_ERRORPAGES_SUGGESTION_RELOAD_REPOST_HEADER" desc="When a page fails to load, sometimes we suggest reloading a page.  In the case that reloading the page requires resubmitting data to a website, we use this as a header above a short set of instructions.">
        Reload this webpage.
      </message>
      <message name="IDS_ERRORPAGES_SUGGESTION_RELOAD_REPOST_BODY" desc="When a page fails to load, sometimes we suggest reloading a page.  In the case that reloading the page requires resubmitting data to a website, this is displayed below a short header.">
        Press the reload button to resubmit the data needed to load the page.
      </message>
      <message name="IDS_ERRORPAGES_SUGGESTION_DISABLE_EXTENSION_HEADER" desc="When a page fails to load, we provide a suggestion that the user try disabling an extension that's blocking it.">
        Disable your extensions and then reload this webpage.
      </message>
      <message name="IDS_ERRORPAGES_SUGGESTION_CHECK_CONNECTION_HEADER" desc="When a page fails to load, sometimes we suggest checking the network connections.  This is a header above some details.">
        Check your Internet connection.
      </message>
      <message name="IDS_ERRORPAGES_SUGGESTION_CHECK_CONNECTION_BODY" desc="When a page fails to load, sometimes we suggest checking the network connections.  This contains details below the suggestion.">
        Check any cables and reboot any routers, modems, or other network
        devices you may be using.
      </message>
      <message name="IDS_ERRORPAGES_SUGGESTION_DNS_CONFIG_HEADER" desc="When a page fails to load, sometimes we suggest checking the DNS configuration.  This is a header above above some details.">
        Check your DNS settings.
      </message>
      <message name="IDS_ERRORPAGES_SUGGESTION_DNS_CONFIG_BODY" desc="When a page fails to load, sometimes we suggest checking the DNS configuration.  This contains details below the suggestion.">
        Contact your network administrator if you're not sure what this means.
      </message>
      <message name="IDS_ERRORPAGES_SUGGESTION_NETWORK_PREDICTION_HEADER" desc="When a page fails to load, sometimes we suggest disabling predicting network actions.  This is a header above some details.">
        Try disabling network prediction.
      </message>
      <message name="IDS_ERRORPAGES_SUGGESTION_FIREWALL_CONFIG_BODY" desc="When a webpage fails to load, in some cases we suggest reconfiguring the firewall.  This contains details below the suggestion.">
        If it is already listed as a program allowed to access the network, try
        removing it from the list and adding it again.
      </message>
      <message name="IDS_ERRORPAGES_SUGGESTION_PROXY_CONFIG_HEADER" desc="When a webpage fails to load, in some cases we suggest checking the proxy server configuration, or disabling the proxy server.  This is a header above some details.">
        If you use a proxy server...
      </message>
      <if expr="is_android or is_ios">
        <message name="IDS_ERRORPAGES_SUGGESTION_PROXY_CONFIG_BODY" desc="When a webpage fails to load, in some cases we suggest checking the proxy server configuration, or disabling the proxy server.  These are instructions below a header.">
          Check your proxy settings or contact your network administrator to
          make sure the proxy server is working.
          <ph name="PLATFORM_TEXT">$1<ex>Goto the wrench menu and choose Fix It.</ex></ph>
        </message>
      </if>
      <if expr="not is_android and not is_ios">
        <message name="IDS_ERRORPAGES_SUGGESTION_PROXY_CONFIG_BODY" desc="When a webpage fails to load, in some cases we suggest checking the proxy server configuration, or disabling the proxy server.  These are instructions below a header.">
          Check your proxy settings or contact your network administrator to
          make sure the proxy server is working. If you don't believe you should
          be using a proxy server:
          <ph name="PLATFORM_TEXT">$1<ex>Goto the wrench menu and choose Fix It.</ex></ph>
        </message>
      </if>
      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_ERRORPAGES_SUGGESTION_PROXY_DISABLE_PLATFORM" desc="ChromeOS instructions for disabling use of a proxy server.">
          You can disable any proxies configured for a connection from the settings page.
        </message>
      </if>
      <message name="IDS_ERRORPAGES_SUGGESTION_LEARNMORE_BODY" desc="When a webpage fails to load, we provide a link to the help center to learn more about the failure.">
        <ph name="BEGIN_LINK">&lt;a jsvalues="href:learnMoreUrl"&gt;</ph>Learn more<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph> about this problem.
      </message>
      <message name="IDS_ERRORPAGES_SUGGESTION_VIEW_POLICIES_HEADER" desc="When a webpage fails to load, sometimes we suggest to the user to view the current policies.  This is a header above some instructions.">
        Check your administrator's policies.
      </message>
      <message name="IDS_ERRORPAGES_SUGGESTION_VIEW_POLICIES_BODY" desc="When a webpage fails to load, sometimes we suggest to the user to view the current policies.  These are instructions below a header.">
        Visit &lt;strong&gt;chrome://policy&lt;/strong&gt; to see the list of blacklisted URLs and other policies enforced by your system administrator.
      </message>
      <message name="IDS_ERRORPAGES_SUGGESTION_CONTACT_ADMINISTRATOR_BODY" desc="When a webpage fails to load, sometimes we suggest to the user to contact his system administrator.">
        Contact your system administrator for more information.
      </message>

      <message name="IDS_ERRORPAGES_TITLE_NOT_AVAILABLE" desc="Title of the error page when we can't connect to a site.">
        <ph name="SITE">$1<ex>google.com</ex></ph> is not available
      </message>
      <message name="IDS_ERRORPAGES_TITLE_ACCESS_DENIED" desc="Title in the error page when a server returns a 403.  Also suitable for similar error codes.">
        Access to <ph name="URL">$1<ex>http://www.google.com/foo/bar</ex></ph> denied.
      </message>
      <message name="IDS_ERRORPAGES_TITLE_NOT_FOUND" desc="Title of the error page when the server returns a 404 or 410.">
        <ph name="URL">$1<ex>http://www.google.com/foo/bar</ex></ph> is not found
      </message>
      <message name="IDS_ERRORPAGES_TITLE_LOAD_FAILED" desc="Title of the error page when we can't load a page.">
        <ph name="URL">$1<ex>http://some-unreliable-site.com/</ex></ph> failed to load
      </message>
      <message name="IDS_ERRORPAGES_TITLE_BLOCKED" desc="Title in the error page when a request is blocked (e.g. by an extension).">
        <ph name="URL">$1<ex>http://www.google.com/foo/bar</ex></ph> was blocked
      </message>
      <message name="IDS_ERRORPAGES_HEADING_NOT_AVAILABLE" desc="Heading in the error page when we can't connect to a site.">
        This webpage is not available
      </message>
      <message name="IDS_ERRORPAGES_HEADING_NETWORK_ACCESS_DENIED" desc="Heading of the error page when we're not being allowed to access the network.">
        Unable to access the network
      </message>
      <message name="IDS_ERRORPAGES_HEADING_PROXY_CONNECTION_FAILED" desc="Heading in the error page when the proxy server connection failed.">
        Unable to connect to the proxy server
      </message>
      <if expr="not is_android">
        <message name="IDS_ERRORPAGES_HEADING_INTERNET_DISCONNECTED" desc="Heading of the error page when the network connection failed.">
          Unable to connect to the Internet
        </message>
      </if>
      <if expr="is_android">
        <message name="IDS_ERRORPAGES_HEADING_INTERNET_DISCONNECTED" desc="Mobile: Heading of the error page when the network connection failed.">
          You are offline.
        </message>
      </if>
      <message name="IDS_ERRORPAGES_HEADING_CACHE_MISS" desc="Heading in the error page when we couldn't find a resource in the cache, and cannot fall back to the network.">
        Cache miss
      </message>
      <message name="IDS_ERRORPAGES_HEADING_CACHE_READ_FAILURE" desc="Heading in the error page when we encountered an error reading from the cache.  Generally this happens when the disk cache is corrupted from improper shutdown.">
        Cache read error
      </message>
      <message name="IDS_ERRORPAGES_HEADING_NETWORK_IO_SUSPENDED" desc="Heading in the error page when a page load failed due to the computer entering sleep/suspend mode.">
        Network access suspended
      </message>
      <message name="IDS_ERRORPAGES_HEADING_NOT_FOUND" desc="Heading in the error page when the server returns a 404 or 410.">
        This webpage is not found
      </message>
      <message name="IDS_ERRORPAGES_HEADING_TOO_MANY_REDIRECTS" desc="Heading in the error page when there are too many URL redirects.">
        This webpage has a redirect loop
      </message>
      <message name="IDS_ERRORPAGES_HEADING_EMPTY_RESPONSE" desc="Heading in the error page when no data is received.">
        No data received
      </message>
      <message name="IDS_ERRORPAGES_HEADING_DUPLICATE_HEADERS" desc="Heading in the error page when a response from the server contains duplicate headers.">
        Duplicate headers received from server
      </message>
      <message name="IDS_ERRORPAGES_HEADING_WEAK_SERVER_EPHEMERAL_DH_KEY" desc="Heading of the error page when the server has a weak Diffie-Hellman public key. Diffie-Hellman is a technical term and the conjuction of two names so may be best left untranslated. 'key' here is used as the technical name for a large number with certain mathematical properties that allow it to be used to encrypt and decrypt data. 'weak' here means that the number is too small to resist an exhaustive attempt to find certain mathematical structures in it, the secrecy of which is critical.">
        Server has a weak ephemeral Diffie-Hellman public key
      </message>
      <message name="IDS_ERRORPAGES_HEADING_BLOCKED" desc="Heading of the error page when a request is blocked by an extension.">
        This webpage was blocked by an extension
      </message>
      <message name="IDS_ERRORPAGES_HEADING_BLOCKED_BY_ADMINISTRATOR" desc="Heading of the error page when a request is blocked by the administrator policy.">
        Webpage Blocked
      </message>
      <message name="IDS_ERRORPAGES_SUMMARY_NOT_AVAILABLE" desc="Summary in the error page when we can't connect to a site.">
        The webpage at <ph name="URL">&lt;strong jscontent="failedUrl"&gt;&lt;/strong&gt;</ph> might be temporarily down or it may have moved permanently to a new web address.
      </message>
      <message name="IDS_ERRORPAGES_SUMMARY_TIMED_OUT" desc="Summary in the error page when a page takes too long to load.">
        <ph name="PRODUCT_NAME">&lt;span jscontent="productName"&gt;&lt;/span&gt;<ex>Google Chrome</ex></ph>
        could not load the webpage because
        <ph name="HOST_NAME">&lt;strong jscontent="hostName"&gt;&lt;/strong&gt;<ex>www.whatever.com</ex></ph>
        took too long to respond.  The website may be down, or you may be
        experiencing issues with your Internet connection.
      </message>
      <message name="IDS_ERRORPAGES_SUMMARY_CONNECTION_RESET" desc="Summary in the error page when the connection was reset.">
        The connection to
        <ph name="HOST_NAME">&lt;strong jscontent="hostName"&gt;&lt;/strong&gt;<ex>www.whatever.com</ex></ph>
        was interrupted.
      </message>
      <message name="IDS_ERRORPAGES_SUMMARY_NETWORK_CHANGED" desc="Summary in the error page when the connection failed because the network has changed.">
        The connection to
        <ph name="HOST_NAME">&lt;strong jscontent="hostName"&gt;&lt;/strong&gt;<ex>www.whatever.com</ex></ph>
        was interrupted by a change in the network connection.
      </message>
      <message name="IDS_ERRORPAGES_SUMMARY_CONNECTION_REFUSED" desc="Summary in the error page when we try and connect to a server, but the server doesn't let us.">
        <ph name="PRODUCT_NAME">&lt;span jscontent="productName"&gt;&lt;/span&gt;<ex>Google Chrome</ex></ph>'s
        connection attempt to
        <ph name="HOST_NAME">&lt;strong jscontent="hostName"&gt;&lt;/strong&gt;<ex>www.whatever.com</ex></ph>
        was rejected.  The website may be down, or your network may not be
        properly configured.
      </message>
      <message name="IDS_ERRORPAGES_SUMMARY_NAME_NOT_RESOLVED" desc="Summary in the error page when a dns look up fails.">
        The server at
        <ph name="HOST_NAME">&lt;strong jscontent="hostName"&gt;&lt;/strong&gt;<ex>www.whatever.com</ex></ph>
        can't be found, because the DNS lookup failed.  DNS is the network
        service that translates a website's name to its Internet address.  This
        error is most often caused by having no connection to the Internet or a
        misconfigured network.  It can also be caused by an unresponsive DNS
        server or a firewall preventing
        <ph name="PRODUCT_NAME">&lt;span jscontent="productName"&gt;&lt;/span&gt;<ex>Google Chrome</ex></ph>
        from accessing the network.
      </message>
      <message name="IDS_ERRORPAGES_SUMMARY_ADDRESS_UNREACHABLE" desc="Summary in the error page when we can't reach a site.  This is slightly more specific than just being unable to connect, as it means we can't find a route to the server.">
        <ph name="PRODUCT_NAME">&lt;span jscontent="productName"&gt;&lt;/span&gt;<ex>Google Chrome</ex></ph>
        cannot reach the website.  This is typically caused by network issues,
        but can also be the result of a misconfigured firewall or proxy server.
      </message>
      <message name="IDS_ERRORPAGES_SUMMARY_FILE_ACCESS_DENIED" desc="Summary in the error page when we can't open a file.">
        The file at <ph name="URL">&lt;strong jscontent="failedUrl"&gt;&lt;/strong&gt;<ex>http://www.google.com/</ex></ph> is not readable.  It may have been removed, moved, or file permissions may be preventing access.
      </message>
      <if expr="is_android or is_ios">
        <message name="IDS_ERRORPAGES_SUMMARY_NETWORK_ACCESS_DENIED" desc="Mobile: Summary in the error page when we're not being allowed to access the network.">
          <ph name="PRODUCT_NAME">&lt;span jscontent="productName"&gt;&lt;/span&gt;<ex>Google Chrome</ex></ph>
          is having trouble accessing the network.
          <ph name="LINE_BREAK">&lt;br /&gt;&lt;br /&gt;<ex>&lt;br /&gt;&lt;br /&gt;</ex></ph>
          This may be because your firewall or antivirus software wrongly thinks
          <ph name="PRODUCT_NAME">&lt;span jscontent="productName"&gt;&lt;/span&gt;<ex>Google Chrome</ex></ph>
          is an intruder on your device and is blocking it from connecting to the Internet.
        </message>
        <message name="IDS_ERRORPAGES_SUMMARY_PROXY_CONNECTION_FAILED" desc="Mobile: Summary in the error page when the proxy server connection failed.">
          A proxy server is a server that acts as an intermediary between your device and other servers.  Right now, your system is configured to use a proxy, but
          <ph name="PRODUCT_NAME">&lt;span jscontent="productName"&gt;&lt;/span&gt;<ex>Google Chrome</ex></ph>
          can't connect to it.
        </message>

        <message name="IDS_ERRORPAGES_SUMMARY_INTERNET_DISCONNECTED" desc="Mobile: Summary of the error page when the network connection failed.  May be followed by platform dependent instructions.">
          Wi-Fi and mobile data are turned off.
          <ph name="LINE_BREAK">&lt;br /&gt;&lt;br /&gt;<ex>&lt;br /&gt;&lt;br /&gt;</ex></ph>
          The page can be loaded once you connect to a network.
        </message>
      </if>
      <if expr="not is_android and not is_ios">
        <message name="IDS_ERRORPAGES_SUMMARY_NETWORK_ACCESS_DENIED" desc="Summary in the error page when we're not being allowed to access the network.">
          <ph name="PRODUCT_NAME">&lt;span jscontent="productName"&gt;&lt;/span&gt;<ex>Google Chrome</ex></ph>
          is having trouble accessing the network.
          <ph name="LINE_BREAK">&lt;br /&gt;&lt;br /&gt;<ex>&lt;br /&gt;&lt;br /&gt;</ex></ph>
          This may be because your firewall or antivirus software wrongly thinks
          <ph name="PRODUCT_NAME">&lt;span jscontent="productName"&gt;&lt;/span&gt;<ex>Google Chrome</ex></ph>
          is an intruder on your computer and is blocking it from connecting to the Internet.
        </message>
        <message name="IDS_ERRORPAGES_SUMMARY_PROXY_CONNECTION_FAILED" desc="Summary in the error page when the proxy server connection failed.">
          A proxy server is a server that acts as an intermediary between your computer and other servers.  Right now, your system is configured to use a proxy, but
          <ph name="PRODUCT_NAME">&lt;span jscontent="productName"&gt;&lt;/span&gt;<ex>Google Chrome</ex></ph>
          can't connect to it.
        </message>

        <message name="IDS_ERRORPAGES_SUMMARY_INTERNET_DISCONNECTED" desc="Summary of the error page when the network connection failed.  May be followed by platform dependent instructions.">
          <ph name="PRODUCT_NAME">&lt;span jscontent="productName"&gt;&lt;/span&gt;<ex>Google Chrome</ex></ph>
          can't display the webpage because your computer isn't connected to the Internet.
        </message>
        <message name="IDS_ERRORPAGES_SUMMARY_INTERNET_DISCONNECTED_INSTRUCTIONS_TEMPLATE" desc="Template for the summary of the error page when the network connection failed, on platforms with instructions.">
          <ph name="ERROR_DESCRIPTION_TEXT">
            $1<ex>Google Chrome can't display the webpage because your computer isn't connected to the Internet.</ex>
          </ph>
          <ph name="LINE_BREAK">&lt;br /&gt;&lt;br /&gt;<ex>&lt;br /&gt;&lt;br /&gt;</ex></ph>
          You can try to diagnose the problem by taking the following steps:
          <ph name="LINE_BREAK">&lt;br /&gt;&lt;br /&gt;<ex>&lt;br /&gt;&lt;br /&gt;</ex></ph>
          <ph name="PLATFORM_TEXT">
            $2<ex>Goto the wrench menu and choose Fix It.</ex>
          </ph>
        </message>
      </if>

      <if expr="is_macosx">
        <message name="IDS_ERRORPAGES_SUMMARY_INTERNET_DISCONNECTED_PLATFORM" desc="Summary (platform dependent section) in the error page when the network connection failed.  Describes how to get to the network Diagnostics screen under Mac OSX.">
          Go to
          <ph name="BEGIN_BOLD">&lt;strong&gt;</ph>
          Applications &gt; System Preferences &gt; Network &gt; Assist me
          <ph name="END_BOLD">&lt;/strong&gt;</ph>
          to test your connection.
        </message>
      </if>
      <if expr="is_win">
        <message name="IDS_ERRORPAGES_SUMMARY_INTERNET_DISCONNECTED_PLATFORM" desc="Summary (platform dependent section) in the error page when the network connection failed.  Describes how to get to the network Diagnostics screen under Windows 7 and later.">
          Go to
          <ph name="BEGIN_BOLD">&lt;strong&gt;</ph>
          Start &gt; Control Panel &gt; Network and Internet &gt; Network and Sharing Center &gt; Troubleshoot Problems (at the bottom) &gt; Internet Connections.
          <ph name="END_BOLD">&lt;/strong&gt;</ph>
        </message>
        <message name="IDS_ERRORPAGES_SUMMARY_INTERNET_DISCONNECTED_PLATFORM_VISTA" desc="Summary (platform dependent section) in the error page when the network connection failed.  Describes how to get to the network Diagnostics screen under Windows Vista.">
          Go to
          <ph name="BEGIN_BOLD">&lt;strong&gt;</ph>
          Start &gt; Control Panel &gt; Network Connections &gt; New Connection Wizard
          <ph name="END_BOLD">&lt;/strong&gt;</ph>
          to test your connection.
        </message>
        <message name="IDS_ERRORPAGES_SUMMARY_INTERNET_DISCONNECTED_PLATFORM_XP" desc="Summary (platform dependent section) in the error page when the network connection failed.  Describes how to get to the network Diagnostics screen under Windows XP.">
          Click
          <ph name="BEGIN_BOLD">&lt;strong&gt;</ph>Start<ph name="END_BOLD">&lt;/strong&gt;</ph>,
          click
          <ph name="BEGIN_BOLD">&lt;strong&gt;</ph>Run<ph name="END_BOLD">&lt;/strong&gt;</ph>,
          type
          <ph name="BEGIN_BOLD">&lt;strong&gt;</ph>%windir%\network diagnostic\xpnetdiag.exe<ph name="END_BOLD">&lt;/strong&gt;</ph>,
          and then click
          <ph name="BEGIN_BOLD">&lt;strong&gt;</ph>OK<ph name="END_BOLD">&lt;/strong&gt;</ph>.
        </message>
      </if>

      <message name="IDS_ERRORPAGES_SUMMARY_CACHE_MISS" desc="Summary in the error page when we couldn't find a resource in the cache, and cannot fall back to the network.">
        The webpage was not found in the cache.  Certain resources
        can only be safely loaded from the cache, such as pages generated
        from submitted data.
        <ph name="LINE_BREAK">&lt;br /&gt;&lt;br /&gt;<ex>&lt;br /&gt;&lt;br /&gt;</ex></ph>
        This error can also be caused by cache corruption due to
        an improper shutdown.
        <ph name="LINE_BREAK">&lt;br /&gt;&lt;br /&gt;<ex>&lt;br /&gt;&lt;br /&gt;</ex></ph>
        If the problem persists, try clearing the cache.
      </message>
      <message name="IDS_ERRORPAGES_SUMMARY_CACHE_READ_FAILURE" desc="Summary in the error page when we encountered an error reading from the cache.  Generally this happens when the disk cache is corrupted from improper shutdown.">
        To speed up webpages,
        <ph name="PRODUCT_NAME">&lt;span jscontent="productName"&gt;&lt;/span&gt;<ex>Google Chrome</ex></ph>
        temporarily saves downloaded files to disk. When
        <ph name="PRODUCT_NAME">&lt;span jscontent="productName"&gt;&lt;/span&gt;<ex>Google Chrome</ex></ph>
        is not shut down properly, these files can become corrupted, resulting
        in this error.  Reloading the page should resolve this issue, and
        shutting down properly should prevent it from happening in the future.
        <ph name="LINE_BREAK">&lt;br /&gt;&lt;br /&gt;<ex>&lt;br /&gt;&lt;br /&gt;</ex></ph>
        If the problem persists, try clearing the cache.  In some cases, this
        can also be a symptom of hardware starting to fail.
      </message>
      <if expr="is_android or is_ios">
        <message name="IDS_ERRORPAGES_SUMMARY_NETWORK_IO_SUSPENDED" desc="Mobile: Summary in the error page when a page load failed due to the device entering sleep/suspend mode.">
          Unable to load the webpage because your device entered sleep or
          hibernate mode.  When this happens, network connections are shut
          down and new network requests fail.  Reloading the page should
          resolve this.
        </message>
      </if>
      <if expr="not is_android and not is_ios">
        <message name="IDS_ERRORPAGES_SUMMARY_NETWORK_IO_SUSPENDED" desc="Summary in the error page when a page load failed due to the computer entering sleep/suspend mode.">
          Unable to load the webpage because your computer entered sleep or
          hibernate mode.  When this happens, network connections are shut
          down and new network requests fail.  Reloading the page should
          resolve this.
        </message>
      </if>
      <message name="IDS_ERRORPAGES_SUMMARY_NOT_FOUND" desc="Summary in the error page when the server returns a 404.">
        No webpage was found for the web address: <ph name="URL">&lt;strong jscontent="failedUrl"&gt;&lt;/strong&gt;</ph>
      </message>
      <if expr="is_android or is_ios">
        <message name="IDS_ERRORPAGES_SUMMARY_TOO_MANY_REDIRECTS" desc="Mobile: Summary in the error page when there are too many URL redirects.">
          The webpage at <ph name="URL">&lt;strong jscontent="failedUrl"&gt;&lt;/strong&gt;</ph> has resulted in
          too many redirects.  Clearing your cookies for this site or allowing third-party cookies may fix the problem.  If
          not, it is possibly a server configuration issue and not a problem with your
          device.
        </message>
      </if>
      <if expr="not is_android and not is_ios">
        <message name="IDS_ERRORPAGES_SUMMARY_TOO_MANY_REDIRECTS" desc="Summary in the error page when there are too many URL redirects.">
          The webpage at <ph name="URL">&lt;strong jscontent="failedUrl"&gt;&lt;/strong&gt;</ph> has resulted in
          too many redirects.  Clearing your cookies for this site or allowing third-party cookies may fix the problem.  If
          not, it is possibly a server configuration issue and not a problem with your
          computer.
        </message>
      </if>
      <message name="IDS_ERRORPAGES_SUMMARY_EMPTY_RESPONSE" desc="Summary in the error page when no data is received.">
        Unable to load the webpage because the server sent no data.
      </message>
      <message name="IDS_ERRORPAGES_SUMMARY_DUPLICATE_HEADERS" desc="Summary in the error page when a response from the server contains duplicate headers.">
        The response from the server contained duplicate headers.  This problem
        is generally the result of a misconfigured website or proxy.  Only the
        website or proxy administrator can fix this issue.
      </message>
      <message name="IDS_ERRORPAGES_SUMMARY_WEAK_SERVER_EPHEMERAL_DH_KEY" desc="Summary in the error page when the server has a weak Diffie-Hellman public key">
        This error can occur when connecting to a secure (HTTPS) server. It
        means that the server is trying to set up a secure connection but, due to
        a disastrous misconfiguration, the connection wouldn't be secure at all!
        <ph name="LINE_BREAK">&lt;br /&gt;&lt;br /&gt;<ex>&lt;br /&gt;&lt;br /&gt;</ex></ph> In this case the
        server needs to be fixed.
        <ph name="PRODUCT_NAME">&lt;span jscontent="productName"&gt;&lt;/span&gt;<ex>Google Chrome</ex></ph>
        won't use insecure connections in order to protect your privacy.
      </message>
      <message name="IDS_ERRORPAGES_SUMMARY_DNS_PROBE_RUNNING" desc="Summary in the error page when DNS resolution failed and we are running a probe to figure out why.">
        Unable to look up
        <ph name="HOST_NAME">&lt;strong jscontent="hostName"&gt;&lt;/strong&gt;<ex>www.whatever.com</ex></ph>.
        Trying to diagnose the problem...
      </message>

      <message name="IDS_ERRORPAGES_ERROR_CODE" desc="At the bottom of error pages, a non-internationalized string or numeric code is displayed for debugging purposes">
        Error code: <ph name="ERROR_NAME">$1<ex>ERR_FILE_NOT_FOUND</ex></ph>
      </message>

      <message name="IDS_ERRORPAGES_DETAILS_TIMED_OUT" desc="The error message displayed when a page takes too long to load.">
        The operation timed out.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_CONNECTION_CLOSED" desc="The error message displayed when the server unexpectedly closes a connection.">
        The server unexpectedly closed the connection.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_CONNECTION_RESET" desc="The error message displayed when a connection was reset.">
        The connection was reset.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_CONNECTION_REFUSED" desc="The error message displayed when we try and connect to a server, but the server doesn't let us.">
        The server refused the connection.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_CONNECTION_FAILED" desc="The error message displayed when we can not reach the website.">
        The attempt to connect to the server failed.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_NETWORK_CHANGED" desc="The error message displayed when a connection is interrupted because the network changed.">
        A network change was detected.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_NAME_NOT_RESOLVED" desc="The error message displayed when a dns look up fails.">
        Unable to resolve the server's DNS address.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_ADDRESS_UNREACHABLE" desc="The error message displayed when we can't reach a server.">
        Unable to reach the server.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_NETWORK_ACCESS_DENIED" desc="The error message displayed when we're not being allowed to access the network.">
        Unable to access the network.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_FILE_ACCESS_DENIED" desc="The error message displayed when we're not being allowed to access a file.">
        Unable to access the file.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_PROXY_CONNECTION_FAILED" desc="The error message displayed when the proxy server connection failed.">
        Proxy server connection failed.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_INTERNET_DISCONNECTED" desc="The error message displayed when we have no Internet access.">
        The Internet connection has been lost.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_CACHE_READ_FAILURE" desc="The error message displayed when we encountered an error reading from the cache.  Generally this happens when the disk cache is corrupted from improper shutdown.">
        Error reading data from cache.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_CACHE_MISS" desc="The error message displayed when we couldn't find a resource in the cache, and cannot fall back to the network.">
        The requested entry was not found in the cache.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_NETWORK_IO_SUSPENDED" desc="The error message displayed when a page load failed due to the computer entering sleep/suspend mode.">
        Network IO suspended.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_FILE_NOT_FOUND" desc="The error message displayed when a local file can not be found.">
        The file or directory could not be found.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_TOO_MANY_REDIRECTS" desc="The error message displayed when there are too many redirects.">
        There were too many redirects.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_EMPTY_RESPONSE" desc="The error message displayed when no data is received.">
        The server closed the connection without sending any data.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_RESPONSE_HEADERS_MULTIPLE_CONTENT_LENGTH" desc="The error message displayed when we received multiple 'Content-Length' header fields in an http response.">
        Multiple distinct Content-Length headers received.  This is disallowed
        to protect against HTTP response splitting attacks.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION" desc="The error message displayed when we received multiple 'Content-Disposition' header fields in an http response.">
        Multiple distinct Content-Disposition headers received.  This is disallowed to
        protect against HTTP response splitting attacks.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_RESPONSE_HEADERS_MULTIPLE_LOCATION" desc="The error message displayed when we received multiple 'Location' header fields in an http response.">
        Multiple distinct Location headers received.  This is disallowed to protect
        against HTTP response splitting attacks.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_DNS_PROBE_RUNNING" desc="The error message displayed when we are waiting to see whether we will run a DNS probe.">
        Waiting for DNS probe.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_UNKNOWN" desc="The default error message displayed if we don't have a more specific error message.">
        Unknown error.
      </message>

      <message name="IDS_ERRORPAGES_HEADING_ACCESS_DENIED" desc="Heading in the error page when a server returns a 403.  Also suitable for similar error codes.">
        Access to the webpage was denied
      </message>
      <message name="IDS_ERRORPAGES_HEADING_FILE_ACCESS_DENIED" desc="Heading in the error page when a file is denied access.">
        Access to the file was denied
      </message>
      <message name="IDS_ERRORPAGES_SUMMARY_FORBIDDEN" desc="Summary in the error page when a server returns a 403.">
        You are not authorized to access the webpage at <ph name="URL">&lt;strong jscontent="failedUrl"&gt;&lt;/strong&gt;</ph>.  You may need to sign in.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_FORBIDDEN" desc="Details in the error page when a server returns a 403.">
        The server refused to fulfill the request.
      </message>

      <message name="IDS_ERRORPAGES_SUMMARY_GONE" desc="Summary of the error page when the server returns a 410.">
        The webpage at <ph name="URL">&lt;strong jscontent="failedUrl"&gt;&lt;/strong&gt;</ph> no longer exists.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_GONE" desc="Details in the error page when a server returns a 410.">
        The requested resource no longer exists, and there is no forwarding address.  This is expected to be a permanent condition.
      </message>

      <message name="IDS_ERRORPAGES_HEADING_HTTP_SERVER_ERROR" desc="Heading in the error page for HTTP 5xx errors, which are considered to be server side errors.">
        Server error
      </message>

      <message name="IDS_ERRORPAGES_SUMMARY_INTERNAL_SERVER_ERROR" desc="Summary in the error page when the server returns a 500.">
        The website encountered an error while retrieving <ph name="URL">&lt;strong jscontent="failedUrl"&gt;&lt;/strong&gt;</ph>.
        It may be down for maintenance or configured incorrectly.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_INTERNAL_SERVER_ERROR" desc="The error message displayed when the server returns a 500.">
        An unexpected condition was encountered while the server was attempting to fulfill the request.
      </message>

      <message name="IDS_ERRORPAGES_SUMMARY_WEBSITE_CANNOT_HANDLE" desc="Summary in the error page when the server returns a 501 or 505.">
        The website is unable to handle the request for <ph name="URL">&lt;strong jscontent="failedUrl"&gt;&lt;/strong&gt;</ph>.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_NOT_IMPLEMENTED" desc="The error message displayed when the server returns a 501.">
        The server does not support the functionality required to fulfill the request.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_HTTP_VERSION_NOT_SUPPORTED" desc="The error message displayed when the server returns a 505.">
        The server does not support the HTTP version used in the request.
      </message>

      <message name="IDS_ERRORPAGES_SUMMARY_BAD_GATEWAY" desc="Summary in the error page when the server returns a 502.">
        An invalid response was received while attempting to load <ph name="URL">&lt;strong jscontent="failedUrl"&gt;&lt;/strong&gt;</ph>.
        The server may be down for maintenance or configured incorrectly.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_BAD_GATEWAY" desc="The error message displayed when the server returns a 502.">
        The gateway or proxy server received an invalid response from an upstream server.
      </message>

      <message name="IDS_ERRORPAGES_SUMMARY_SERVICE_UNAVAILABLE" desc="Summary in the error page when the server returns a 503.">
        The webpage at <ph name="URL">&lt;strong jscontent="failedUrl"&gt;&lt;/strong&gt;</ph> is currently unavailable.  It may be overloaded or down for maintenance.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_SERVICE_UNAVAILABLE" desc="The error message displayed when the server returns a 503.">
        The server is currently unable to handle the request.  This code indicates this is a temporary condition, and the server will be up again after a delay.
      </message>

      <message name="IDS_ERRORPAGES_SUMMARY_GATEWAY_TIMEOUT" desc="Summary in the error page when the server returns a 504.">
        The server for <ph name="URL">&lt;strong jscontent="failedUrl"&gt;&lt;/strong&gt;</ph> took too long to respond.  It may be overloaded.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_GATEWAY_TIMEOUT" desc="The error message displayed when the server returns a 504.">
        The gateway or proxy server timed out while waiting for a response from an upstream server.
      </message>

      <message name="IDS_ERRORPAGES_HEADING_SSL_PROTOCOL_ERROR" desc="Heading in the error page for SSL protocol errors.">
        SSL connection error
      </message>
      <message name="IDS_ERRORPAGES_SUMMARY_SSL_PROTOCOL_ERROR" desc="Summary in the error page for SSL protocol errors.">
        Unable to make a secure connection to the server. This may be a problem with the server, or it may be requiring a client authentication certificate that you don't have.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_SSL_PROTOCOL_ERROR" desc="The error message displayed for SSL protocol errors.">
        SSL protocol error.
      </message>

      <message name="IDS_ERRORPAGES_HEADING_PINNING_FAILURE" desc="Title of the error page for a certificate which doesn't match the built-in pins for that name">
        Incorrect certificate for host.
      </message>
      <message name="IDS_ERRORPAGES_SUMMARY_PINNING_FAILURE" desc="Details of the error page for a certificate which doesn't match the built-in pins for that name">
        The server presented a certificate that doesn't match built-in expectations. These expectations are included for certain, high-security websites in order to protect you.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_PINNING_FAILURE" desc="Description of the error page for a certificate which doesn't match the built-in pins for that name">
        The server's certificate appears to be a forgery.
      </message>

      <message name="IDS_ERRORPAGES_DETAILS_SSL_UNSAFE_NEGOTIATION" desc="The error message displayed when the SSL renegotiation extension is missing.">
        The SSL renegotiation extension was missing from the secure handshake. For some sites, which are known to support the renegotiation extension, Chrome requires a more secure handshake to prevent a class of known attacks. The omission of this extension suggests that your connection was intercepted and manipulated in transit.
      </message>

      <message name="IDS_ERRORPAGES_HEADING_BAD_SSL_CLIENT_AUTH_CERT" desc="Heading in the error page for SSL client certificate authentication failure.">
        Certificate-based authentication failed
      </message>
      <message name="IDS_ERRORPAGES_SUMMARY_BAD_SSL_CLIENT_AUTH_CERT" desc="Summary in the error page for SSL client certificate authentication failure.">
        This server requires a certificate for authentication, and didn't accept the one sent by the
        browser. Your certificate may have expired, or the server may not trust its issuer.
        You can try again with a different certificate, if you have one, or you may have to
        obtain a valid certificate from elsewhere.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_BAD_SSL_CLIENT_AUTH_CERT" desc="The error message for SSL client certificate authentication failure.">
        Bad SSL client authentication certificate.
      </message>

      <message name="IDS_ERRORPAGES_SUMMARY_TEMPORARILY_THROTTLED" desc="Summary in the error page when we temporarily stop sending requests to a server in order to avoid DDoS.">
        It is likely that the server hosting the webpage has been overloaded or encountered an error.
        In order to avoid letting extensions cause too much traffic and making the situation worse,
        <ph name="PRODUCT_NAME">&lt;span jscontent="productName"&gt;&lt;/span&gt;<ex>Google Chrome</ex></ph>
        has temporarily stopped allowing requests by extensions to this URL.
        <ph name="LINE_BREAK">&lt;br /&gt;&lt;br /&gt;<ex>&lt;br /&gt;&lt;br /&gt;</ex></ph>
        If you think this behavior is undesirable, for example, you are debugging your own website, please
        visit <ph name="URL_FOR_MORE_INFO">&lt;strong&gt;http://dev.chromium.org/throttling&lt;/strong&gt;<ex>http://dev.chromium.org/throttling</ex></ph>,
        where you can find more information including how to disable the feature.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_TEMPORARILY_THROTTLED" desc="The error message displayed when we temporarily stop sending requests to a server in order to avoid DDoS.">
        Extension requests to this URL have been temporarily throttled.
      </message>

      <message name="IDS_ERRORPAGES_SUMMARY_BLOCKED" desc="Summary in the error page when an extension blocks a request.">
        A third-party extension has blocked access to this webpage.
      </message>
      <message name="IDS_ERRORPAGES_SUMMARY_BLOCKED_BY_ADMINISTRATOR" desc="Summary in the error page when an administrator policy blocks a request.">
        Your &lt;strong&gt;system administrator&lt;/strong&gt; has blocked access to this webpage.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_BLOCKED" desc="The error message displayed when an extension blocks a request.">
        Requests to the server have been blocked by an extension.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_BLOCKED_BY_ADMINISTRATOR" desc="The error message displayed when a policy blocks a request.">
        Requests to the server have been blocked by a policy.
      </message>

      <message name="IDS_ERRORPAGES_HTTP_POST_WARNING" desc="The error message displayed when the user navigates back or forward to a page which would resubmit post data. They can hit reload to send POST data again and load the page.">
        This webpage requires data that you entered earlier in order to be properly displayed. You can send this data again, but by doing so you will repeat any action this page previously performed.
      </message>

      <message name="IDS_ERRORPAGES_APP_WARNING" desc="The error message displayed when the browser can not reach the requested page from an app.">
        The app is currently unreachable.
      </message>

      <message name="IDS_SECURE_CONNECTION_EV" desc="Short text shown in the location bar when the connection is secure with an EV cert.">
        <ph name="ORGANIZATION">$1<ex>Paypal Inc.</ex></ph> [<ph name="COUNTRY">$2<ex>US</ex></ph>]
      </message>

      <!-- iOS specific error page messages -->
      <if expr="is_ios">
        <message name="IDS_ERRORPAGES_HEADING_DOWNLOAD_FILE_TYPE_ERROR" desc="A one-line title for error message to tell user that the requested type of file cannot be downloaded. [Length: 20em]">
          Download Failed
        </message>
        <message name="IDS_ERRORPAGES_SUMMARY_DOWNLOAD_FILE_TYPE_ERROR" desc="A short error message to tell user that the requested type of file cannot be downloaded. [Length: 40em]">
          Chrome cannot download this file.
        </message>
        <message name="IDS_ERRORPAGES_DETAILS_DOWNLOAD_FILE_TYPE_ERROR" desc="A short message to tell user that the file type is unknown. [Length: 20em]">
          Unknown File Type.
        </message>
        <message name="IDS_ERRORPAGES_HEADING_UNSUPPORTED_SCHEME_ERROR" desc="Header error message to tell user that the requested URI Scheme is not supported [Length: 20em]">
          Chrome cannot open this URL.
        </message>
        <message name="IDS_ERRORPAGES_SUMMARY_UNSUPPORTED_SCHEME_ERROR" desc="Summary error message to tell user that the requested URI Scheme is not supported [Length: 40em]">
          The requested URI Scheme is not supported.
        </message>
        <message name="IDS_ERRORPAGES_DETAILS_UNSUPPORTED_SCHEME_ERROR" desc="Details error message to tell user that the requested URI Scheme is not supported [Length: 20em]">
          Unsupported URL.
        </message>
      </if>

      <!-- Page Information Window -->
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_PAGEINFO_CERT_INFO_BUTTON" desc="Text of button in the page info that shows the SSL certificate.">
          Certificate information
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_PAGEINFO_CERT_INFO_BUTTON" desc="In Title Case: Text of button in the page info that shows the SSL certificate.">
          Certificate Information
        </message>
      </if>
      <message name="IDS_PAGE_INFO_HELP_CENTER_LINK" desc="This is the text of the link pointing to the Help Center. This appears at the bottom of the SSL dialog and 'this' refers to the sections within the bubble.">
        What do these mean?
      </message>

      <message name="IDS_PAGE_INFO_SECURITY_TAB_SECURE_IDENTITY_NO_CT" desc="The text of the identity section when the page is secure and no Certificate Transparency information is present.">
        The identity of this website has been verified by <ph name="ISSUER">$1<ex>VeriSign</ex></ph> but does not have public audit records.
      </message>
      <message name="IDS_PAGE_INFO_SECURITY_TAB_SECURE_IDENTITY_CT_VERIFIED" desc="The text of the identity section when the page is secure and a Signed Certificate Timestamp from a known Certificate Transparency log is present and valid.">
        The identity of this website has been verified by <ph name="ISSUER">$1<ex>VeriSign</ex></ph> and is publicly auditable.
      </message>
      <message name="IDS_PAGE_INFO_SECURITY_TAB_SECURE_IDENTITY_CT_UNVERIFIED" desc="The text of the identity section when the page is secure and contains a Signed Certificate Timestamp from an unknown Certificate Transparency log.">
        The identity of this website has been verified by <ph name="ISSUER">$1<ex>VeriSign</ex></ph>, it claims to have public audit records, but the records cannot be verified.
      </message>
      <message name="IDS_PAGE_INFO_SECURITY_TAB_SECURE_IDENTITY_CT_INVALID" desc="The text of the identity section when the page is secure, but it contains a Signed Certificate Timestamp from a known Certificate Transparency log that failed to verify.">
        The identity of this website has been verified by <ph name="ISSUER">$1<ex>VeriSign</ex></ph>, but its public audit records failed verification.
      </message>

      <message name="IDS_PAGEINFO_ADDRESS" desc="Locality as reported in the EV identity text.">
        <ph name="CITY">$1<ex>Mountain View</ex></ph>, <ph name="STATE">$2<ex>California</ex></ph> <ph name="COUNTRY">$3<ex>USA</ex></ph>
      </message>

      <message name="IDS_PAGEINFO_PARTIAL_ADDRESS" desc="Locality with missing state as reported in the EV identity text.">
        <ph name="CITY">$1<ex>Mountain View</ex></ph>, <ph name="COUNTRY">$2<ex>US</ex></ph>
      </message>

      <message name="IDS_PAGE_INFO_SECURITY_TAB_SECURE_IDENTITY_EV_NO_CT" desc="The text of the identity section when the page is secured with an EV cert and no Certificate Transparency information is present.">
        The identity of <ph name="ORGANIZATION">$1<ex>Google</ex></ph> at <ph name="LOCALITY">$2<ex>Mountain View, CA US</ex></ph> has been verified by <ph name="ISSUER">$3<ex>VeriSign</ex></ph> but does not have public audit records.
      </message>
      <message name="IDS_PAGE_INFO_SECURITY_TAB_SECURE_IDENTITY_EV_CT_VERIFIED" desc="The text of the identity section when the page is secured with an EV cert and a Signed Certificate Timestamp from a known Certificate Transparency log is present and valid.">
        The identity of <ph name="ORGANIZATION">$1<ex>Google</ex></ph> at <ph name="LOCALITY">$2<ex>Mountain View, CA US</ex></ph> has been verified by <ph name="ISSUER">$3<ex>VeriSign</ex></ph> and is publicly auditable.
      </message>
      <message name="IDS_PAGE_INFO_SECURITY_TAB_SECURE_IDENTITY_EV_CT_UNVERIFIED" desc="The text of the identity section when the page is secured with an EV cert and contains a Signed Certificate Timestamp from an unknown Certificate Transparency log.">
        The identity of <ph name="ORGANIZATION">$1<ex>Google</ex></ph> at <ph name="LOCALITY">$2<ex>Mountain View, CA US</ex></ph> has been verified by <ph name="ISSUER">$3<ex>VeriSign</ex></ph>, it claims to have public audit records, but the records cannot be verified.
      </message>
      <message name="IDS_PAGE_INFO_SECURITY_TAB_SECURE_IDENTITY_EV_CT_INVALID" desc="The text of the identity section when the page is secured with an EV cert, but it contains a Signed Certificate Timestamp from a known Certificate Transparency log that failed to verify.">
        The identity of <ph name="ORGANIZATION">$1<ex>Google</ex></ph> at <ph name="LOCALITY">$2<ex>Mountain View, CA US</ex></ph> has been verified by <ph name="ISSUER">$3<ex>VeriSign</ex></ph>, but its public audit records failed verification.
      </message>

      <message name="IDS_PAGE_INFO_SECURITY_TAB_UNKNOWN_PARTY" desc="The default name used when we did not find a principal name.">
        unknown name
      </message>
      <message name="IDS_PAGE_INFO_SECURITY_TAB_INSECURE_IDENTITY" desc="The text of the identity section when the page is not secure.">
        The identity of this website has not been verified.
      </message>
      <message name="IDS_PAGE_INFO_SECURITY_TAB_NON_UNIQUE_NAME" desc="The text of the identity section when the host is not unique (such as with Intranet host names).">
        The identity of the server you are connected to cannot be fully validated. You are connected to a server using a name only valid within your network, which an external certificate authority has no way to validate ownership of. As some certificate authorities will issue certificates for these names regardless, there is no way to ensure you are connected to the intended website and not an attacker.
      </message>

      <message name="IDS_PAGE_INFO_SECURITY_TAB_UNABLE_TO_CHECK_REVOCATION" desc="The text of the identity section when we were unable to check if the certificate has been revoked.">
        Unable to check whether the certificate has been revoked.
      </message>
      <message name="IDS_PAGE_INFO_SECURITY_TAB_NO_REVOCATION_MECHANISM" desc="The text of the identity section when there is no certificate revocation mechanism.">
        The certificate does not specify a mechanism to check whether it has been revoked.
      </message>

      <message name="IDS_PAGE_INFO_SECURITY_TAB_ENCRYPTED_CONNECTION_TEXT" desc="The text of the connection section when the connection is encrypted.">
        Your connection to <ph name="DOMAIN">$1<ex>www.google.com</ex></ph> is encrypted with <ph name="BIT_COUNT">$2<ex>128</ex></ph>-bit encryption.
      </message>
      <message name="IDS_PAGE_INFO_SECURITY_TAB_WEAK_ENCRYPTION_CONNECTION_TEXT" desc="The text of the connection section when the connection uses weak encryption.">
        Your connection to <ph name="DOMAIN">$1<ex>www.google.com</ex></ph> is encrypted with weak encryption.
      </message>
      <message name="IDS_PAGE_INFO_SECURITY_TAB_NOT_ENCRYPTED_CONNECTION_TEXT" desc="The text of the connection section when the connection is not encrypted.">
        Your connection to <ph name="DOMAIN">$1<ex>www.google.com</ex></ph> is not encrypted.
      </message>
      <message name="IDS_PAGE_INFO_SECURITY_TAB_ENCRYPTED_INSECURE_CONTENT_WARNING" desc="Some extra text of the connection section when the connection is encrypted and the page contains insecure content which has been displayed (e.g. images, CSS).">
        However, this page includes other resources which are not secure. These resources can be viewed by others while in transit, and can be modified by an attacker to change the look of the page.
      </message>
      <message name="IDS_PAGE_INFO_SECURITY_TAB_ENCRYPTED_INSECURE_CONTENT_ERROR" desc="Some extra text of the connection section when the connection is encrypted and the page contains insecure content which has been run (e.g. script).">
        However, this page includes other resources which are not secure. These resources can be viewed by others while in transit, and can be modified by an attacker to change the behavior of the page.
      </message>
      <message name="IDS_PAGE_INFO_SECURITY_TAB_ENCRYPTED_SENTENCE_LINK" desc="Linking 2 sentences in 1 paragraph.">
        <ph name="SENTENCE1">$1<ex>Your connection is encrypted.</ex></ph> <ph name="SENTENCE2">$2<ex>However, this page includes resources from other pages whose identity cannot be verified.</ex></ph>
      </message>
      <message name="IDS_PAGE_INFO_SECURITY_TAB_SSL_VERSION" desc="This message gives the version of the SSL protocol used to protect the HTTPS connection.">
        The connection uses <ph name="SSL_VERSION">$1<ex>TLS 1.0</ex></ph>.
      </message>
      <message name="IDS_PAGE_INFO_SECURITY_TAB_ENCRYPTION_DETAILS" desc="This message gives details of the cryptographic primitives used to protect the HTTPS connection.">
        The connection is encrypted using <ph name="CIPHER">$1<ex>AES_128</ex></ph>, with <ph name="MAC">$2<ex>SHA1</ex></ph> for message authentication and <ph name="KX">$3<ex>RSA</ex></ph> as the key exchange mechanism.
      </message>
      <message name="IDS_PAGE_INFO_SECURITY_TAB_ENCRYPTION_DETAILS_AEAD" desc="This message gives details of the cryptographic primitives used to protect the HTTPS connection. It should be translated in a similar manner as IDS_PAGE_INFO_SECURITY_TAB_ENCRYPTION_DETAILS">
        The connection is encrypted and authenticated using <ph name="CIPHER">$1<ex>AES_128_GCM</ex></ph> and uses <ph name="KX">$2<ex>RSA</ex></ph> as the key exchange mechanism.
      </message>
      <message name="IDS_PAGE_INFO_SECURITY_TAB_FALLBACK_MESSAGE" desc="This message is displayed when the first secure connection to a site failed and Chrome retried with an older protocol.">
        The connection had to be retried using an older version of the TLS or SSL protocol. This typically means that the server is using very old software and may have other security issues.
      </message>
      <message name="IDS_PAGE_INFO_SECURITY_TAB_RENEGOTIATION_MESSAGE" desc="This message is displayed when the server hasn't been updated to fix a recent security issues. TLS here is an acronym and need not be translated. 'renegotiation' is a technical term describing a process of agreeing on a new set of security parameters and secrets. 'extension' here should be taken to mean 'amendment' rather than elongation.">
        The server does not support the TLS renegotiation extension.
      </message>
      <message name="IDS_PAGE_INFO_SITE_INFO_TITLE" desc="The name of the site information section.">
        Site information
      </message>
      <if expr="is_ios">
        <message name="IDS_PAGE_INFO_SECURITY_BUTTON_ACCESSIBILITY_LABEL" desc="The accessibility text for the page security info button">
          Page Security Info
        </message>
      </if>

      <!-- Critical Notification Bubble -->
      <message name="IDS_CRITICAL_NOTIFICATION_HEADLINE" desc="The headline for the critical notification">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will restart in <ph name="SECONDS">$2<ex>10</ex></ph> seconds.
      </message>
      <message name="IDS_CRITICAL_NOTIFICATION_HEADLINE_ALTERNATE" desc="The headline for the critical notification when the countdown reaches 0 (will only be seen if an onbeforeunload handler on a web page cancels the shutdown sequence.">
        You should restart <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> now.
      </message>
      <message name="IDS_CRITICAL_NOTIFICATION_TEXT" desc="The text of the critical update notification">
        A special security update for <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> was just applied; you should restart now for it to take effect (we'll restore your tabs).
      </message>
      <message name="IDS_CRITICAL_NOTIFICATION_RESTART" desc="The restart button label">
        OK - Restart now
      </message>
      <message name="IDS_CRITICAL_NOTIFICATION_DISMISS" desc="The dismiss button label">
        Don't restart
      </message>

      <!-- Screen Capture strings -->
      <message name="IDS_MEDIA_SCREEN_CAPTURE_CONFIRMATION_TITLE" desc="Title for the prompt shown when screen capturing is requrested by an app.">
        <ph name="APP_NAME">$1<ex>html5rocks.com</ex></ph> Screen Sharing Request
      </message>
      <message name="IDS_MEDIA_SCREEN_CAPTURE_CONFIRMATION_TEXT" desc="Text for the prompt shown when screen capturing is requrested by an app.">
        Do you want <ph name="APP_NAME">$1<ex>html5rocks.com</ex></ph> to share your screen?
      </message>
      <message name="IDS_MEDIA_SCREEN_AND_AUDIO_CAPTURE_CONFIRMATION_TEXT" desc="Text for the prompt shown when screen and audio capturing is requrested by an app.">
        Do you want <ph name="APP_NAME">$1<ex>html5rocks.com</ex></ph> to share your screen and audio output?
      </message>
      <message name="IDS_MEDIA_SCREEN_CAPTURE_NOTIFICATION_TEXT" desc="label used in screen capture notification UI to show the screen sharing status">
        <ph name="APP_NAME">$1<ex>Google Cast</ex></ph> is sharing your screen.
      </message>
      <message name="IDS_MEDIA_SCREEN_CAPTURE_NOTIFICATION_STOP" desc="Text shown on the button that stops screen capture.">
        Stop sharing
      </message>

      <!-- SSL Road Block (Overridable) Page -->
      <message name="IDS_SSL_OVERRIDABLE_PAGE_TITLE" desc="The title of the overridable SSL interstitial.">
        SSL Error
      </message>
      <message name="IDS_SSL_OVERRIDABLE_PAGE_PROCEED" desc="Proceed button text of the overridable SSL interstitial.">
        Proceed anyway
      </message>
      <message name="IDS_SSL_OVERRIDABLE_PAGE_EXIT" desc="'Back' button text of the overridable SSL interstitial.">
        Back to safety
      </message>
      <message name="IDS_SSL_OVERRIDABLE_PAGE_SHOULD_NOT_PROCEED" desc="Message advising the user not to proceed past the SSL interstitial.">
        You should not proceed, &lt;strong&gt;especially&lt;/strong&gt; if you have never seen this warning before for this site.
      </message>

      <!-- SSL Blocking (Non-Overridable) Page -->
      <message name="IDS_SSL_BLOCKING_PAGE_TITLE" desc="The title of the non-overridable SSL error.">
        SSL Error
      </message>
      <message name="IDS_SSL_BLOCKING_PAGE_HEADLINE" desc="Headline of the non-overridable SSL error.">
        Cannot connect to the real <ph name="SITE">$1<ex>google.com</ex></ph>
      </message>
      <message name="IDS_SSL_BLOCKING_PAGE_BODY_TEXT" desc="The main body text of the non-overridable SSL error.">
        &lt;p&gt;Something is currently interfering with your secure connection to <ph name="SITE">$1<ex>google.com</ex></ph>.&lt;/p&gt; &lt;p&gt;<ph name="BEGIN_BOLD">&lt;strong&gt;</ph>Try to reload this page in a few minutes or after switching to a new network.<ph name="END_BOLD">&lt;/strong&gt;</ph> If you have recently connected to a new Wi-Fi network, finish logging in before reloading.&lt;/p&gt; &lt;p&gt;If you were to visit <ph name="SITE">$1<ex>google.com</ex></ph> right now, you might share private information with an attacker. To protect your privacy, Chrome will not load the page until it can establish a secure connection to the real <ph name="SITE">$1<ex>google.com</ex></ph>.&lt;/p&gt;
      </message>
      <message name="IDS_SSL_BLOCKING_PAGE_MORE_TITLE" desc="Headline for the explanation shown if the user clicks the More button.">
        What does this mean?
      </message>
      <message name="IDS_SSL_BLOCKING_PAGE_MORE_TEXT" desc="Body text for the explanation shown if user clicks on the More button.">
        &lt;p&gt;<ph name="SITE">$1<ex>google.com</ex></ph> normally uses encryption (SSL) to protect your information. When Chrome tried to connect to <ph name="SITE">$1<ex>google.com</ex></ph> this time, <ph name="SITE">$1<ex>google.com</ex></ph> returned unusual and incorrect credentials. Either an attacker is trying to pretend to be <ph name="SITE">$1<ex>google.com</ex></ph>, or a Wi-Fi login screen has interrupted the connection. Your information is still secure because Chrome stopped the connection before any data was exchanged.&lt;/p&gt; &lt;p&gt;Network errors and attacks are usually temporary, so this page will probably work later. You can also try switching to another network.&lt;/p&gt;
      </message>
      <message name="IDS_SSL_BLOCKING_PAGE_TECH_TITLE" desc="Headline for the technical details shown if the user clicks the More button.">
        Technical details
      </message>
      <message name="IDS_SSL_BLOCKING_PAGE_HSTS" desc="Description of an HSTS failure.">
        <ph name="SITE">$1<ex>google.com</ex></ph> has asked Chrome to block any certificates with errors, but the certificate that Chrome received during this connection attempt has an error.
      </message>
      <message name="IDS_SSL_BLOCKING_PAGE_REVOKED" desc="Description of a certificate revocation failure.">
        The certificate that Chrome received during this connection attempt has been revoked.
      </message>
      <message name="IDS_SSL_BLOCKING_PAGE_FORMATTED" desc="Description of an invalid certificate error.">
        The certificate that Chrome received during this connection attempt is not formatted correctly, so Chrome cannot use it to protect your information.
      </message>
      <message name="IDS_SSL_BLOCKING_PAGE_PINNING" desc="Description of a certificate pinning failure.">
        <ph name="SITE">$1<ex>google.com</ex></ph> provided Chrome with a list of pre-approved certificate credentials. Chrome did not receive any of the pre-approved credentials during this connection attempt, which indicates that an attacker is trying to impersonate <ph name="SITE">$1<ex>google.com</ex></ph>.
      </message>
      <message name="IDS_SSL_BLOCKING_PAGE_WEAK_DH" desc="Description of an error shown when the server has a weak Diffie-Hellman public key. Diffie-Hellman is a name that should be left untrauslated. 'key' here is used as the technical name for a large number with certain mathematical properties that allow it to be used to encrypt and decrypt data. 'weak means that the number is too small to resist an exhaustive attempt to break the required secrecy.">
        <ph name="SITE">$1<ex>google.com</ex></ph> is using a weak ephemeral Diffie-Hellman public key, which means that Chrome cannot verify the server's identity.
      </message>
      <message name="IDS_SSL_BLOCKING_PAGE_ERROR" desc="This provides the technical term for the type of error that we have encountered.">
        Error type: <ph name="ERROR_TYPE">$1<ex>HSTS failure</ex></ph>
      </message>
      <message name="IDS_SSL_BLOCKING_PAGE_SUBJECT" desc="The 'subject' is who the certificate was issued to.">
        Subject: <ph name="SUBJECT">$1<ex>a248.e.akamai.net</ex></ph>
      </message>
      <message name="IDS_SSL_BLOCKING_PAGE_ISSUER" desc="The 'issuer' is authority who vouches for the certificate.">
        Issuer: <ph name="ISSUER">$1<ex>GTE CyberTrust Global Root</ex></ph>
      </message>
      <message name="IDS_SSL_BLOCKING_PAGE_HASHES" desc="Technical detail of the error.">
        Public key hashes: <ph name="HASHES">$1<ex>9FEE18CC4302340DDE234345345345</ex></ph>
      </message>

      <!-- Misc strings for SSL UI -->
      <message name="IDS_UNSAFE_FRAME_MESSAGE" desc="The text displayed in the content that is subsituted to an unsafe frame.">
        This frame was blocked because it contains some insecure content.
      </message>

      <!-- SSL client authentication certificate selection dialog -->
      <message name="IDS_CLIENT_CERT_DIALOG_TITLE" desc="The title of the dialog that prompts for a certificate when doing SSL client authentication.">
        Select a certificate
      </message>

      <message name="IDS_CLIENT_CERT_DIALOG_TEXT" desc="The text in the dialog that prompts for a certificate when doing SSL client authentication.">
        Select a certificate to authenticate yourself to <ph name="HOST_NAME">$1<ex>www.google.com</ex></ph>
      </message>

      <!-- NSS PKCS #11 password dialog -->
      <message name="IDS_CRYPTO_MODULE_AUTH_DIALOG_TITLE" desc="The title in the dialog that prompts for security device password.">
       Sign in to Security Device
      </message>
      <message name="IDS_CRYPTO_MODULE_AUTH_DIALOG_TEXT_KEYGEN" desc="The text in the dialog that prompts for security device password for key generation.">
       Please sign in to <ph name="TOKEN_NAME">$1<ex>Software Security Device</ex></ph> to generate a key for <ph name="HOST_NAME">$2<ex>www.google.com</ex></ph>.
      </message>
      <message name="IDS_CRYPTO_MODULE_AUTH_DIALOG_TEXT_CERT_ENROLLMENT" desc="The text in the dialog that prompts for security device password for cert enrollment.">
       Please sign in to <ph name="TOKEN_NAME">$1<ex>Software Security Device</ex></ph> to import client certificate from <ph name="HOST_NAME">$2<ex>www.google.com</ex></ph>.
      </message>
      <message name="IDS_CRYPTO_MODULE_AUTH_DIALOG_TEXT_CLIENT_AUTH" desc="The text in the dialog that prompts for security device password when doing key generation.">
       Please sign in to <ph name="TOKEN_NAME">$1<ex>Software Security Device</ex></ph> to authenticate to <ph name="HOST_NAME">$2<ex>www.google.com</ex></ph> with your certificate.
      </message>
      <message name="IDS_CRYPTO_MODULE_AUTH_DIALOG_TEXT_LIST_CERTS" desc="The text in the dialog that prompts for security device password when using the certificate manager without taking a specific action (eg, just loading the cert manager).">
       Please sign in to <ph name="TOKEN_NAME">$1<ex>Software Security Device</ex></ph>.
      </message>
      <message name="IDS_CRYPTO_MODULE_AUTH_DIALOG_TEXT_CERT_IMPORT" desc="The text in the dialog that prompts for security device password when using the certificate manager to import a client certificate.">
       Please sign in to <ph name="TOKEN_NAME">$1<ex>Software Security Device</ex></ph> to import the client certificate.
      </message>
      <message name="IDS_CRYPTO_MODULE_AUTH_DIALOG_TEXT_CERT_EXPORT" desc="The text in the dialog that prompts for security device password when using the certificate manager to export a client certificate.">
       Please sign in to <ph name="TOKEN_NAME">$1<ex>Software Security Device</ex></ph> to export the client certificate.
      </message>
      <message name="IDS_CRYPTO_MODULE_AUTH_DIALOG_PASSWORD_FIELD" desc="Label for password entry in the dialog that prompts for security device password.">
       Password:
      </message>
      <message name="IDS_CRYPTO_MODULE_AUTH_DIALOG_OK_BUTTON_LABEL" desc="Label for OK button in the dialog that prompts for security device password.">
       Unlock
      </message>

      <!-- Extension settings -->
      <message name="IDS_MANAGE_EXTENSIONS_SETTING_WINDOWS_TITLE" desc="Title that appears in the dialogue title bar for manage extensions settings">
        Extensions
      </message>

      <!-- Font settings -->
      <message name="IDS_FONT_LANGUAGE_SETTING_FONT_TAB_TITLE" desc="Title that appears in the Fonts and Encoding subpage">
        Fonts and encoding
      </message>
      <message name="IDS_FONT_LANGUAGE_SETTING_FONT_SELECTOR_STANDARD_LABEL" desc="Label of the Standard font section of the Fonts and Encoding subpage">
        Standard font
      </message>
      <message name="IDS_FONT_LANGUAGE_SETTING_FONT_SELECTOR_SERIF_LABEL" desc="Label of the Serif font section of the Fonts and Encoding subpage">
        Serif font
      </message>
      <message name="IDS_FONT_LANGUAGE_SETTING_FONT_SELECTOR_SANS_SERIF_LABEL" desc="Label of the Sans-serif font section of the Fonts and Encoding subpage">
        Sans-serif font
      </message>
      <message name="IDS_FONT_LANGUAGE_SETTING_FONT_SELECTOR_FIXED_WIDTH_LABEL" desc="Label of the Fixed-width font section of the Fonts and Encoding subpage">
        Fixed-width font
      </message>
      <message name="IDS_FONT_LANGUAGE_SETTING_MINIMUM_FONT_SIZE_TITLE" desc="Label of the Minimum font size section of the Fonts and Encoding subpage">
        Minimum font size
      </message>
      <message name="IDS_FONT_LANGUAGE_SETTING_FONT_SUB_DIALOG_ENCODING_TITLE" desc="Label of the Encoding section of the Fonts and Encoding subpage">
        Encoding
      </message>
      <message name="IDS_FONT_LANGUAGE_SETTING_FONT_SIZE_TINY" desc="Label for the 'Tiny' side of the font size range selector">
        Tiny
      </message>
      <message name="IDS_FONT_LANGUAGE_SETTING_FONT_SIZE_HUGE" desc="Label for the 'Huge' side of the font size range selector">
        Huge
      </message>
      <message name="IDS_FONT_LANGUAGE_SETTING_LOREM_IPSUM" desc="Sample text of 'Lorem ipsum' used to show the selected font/size">
        Lorem ipsum dolor sit amet, consectetur adipiscing elit.
      </message>
      <message name="IDS_FONT_LANGUAGE_SETTING_PLACEHOLDER" desc="Placeholder string for the Fonts and Encodings select menus">
        Loading...
      </message>
      <message name="IDS_FONT_LANGUAGE_SETTING_ADVANCED_FONT_SETTINGS_INSTALL"
               desc="Explanatory message about how to get the Advanced Font Settings extension">
        <ph name="BEGIN_LINK">&lt;a target="_blank" href="$1"&gt;</ph>Advanced font settings<ph name="END_LINK">&lt;/a&gt;</ph> (requires extension)
      </message>
      <message name="IDS_FONT_LANGUAGE_SETTING_ADVANCED_FONT_SETTINGS_OPTIONS"
               desc="Link to the Advanced Font Settings extension's options page">
        Advanced font settings
      </message>

      <!-- Language & spell-checker settings -->
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_DIALOG_TITLE">
        Languages
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_AND_INPUT_DIALOG_TITLE">
        Languages and input
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_LANGUAGES" desc="The label for the list of languages">
        Languages
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_ADD_BUTTON"
               desc="The label for the add button for adding a language">
        Add
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_ADD_LANGUAGE_INSTRUCTIONS"
               desc="Explanatory message about how to add and order languages">
        Add languages and drag to order them based on your preference.
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_CANNOT_BE_DISPLAYED_IN_THIS_LANGUAGE"
               desc="The label for a language that cannot be used for UI">
        <ph name="PRODUCT_NAME">$1<ex>Chrome OS</ex></ph> cannot be displayed in this language
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_IS_DISPLAYED_IN_THIS_LANGUAGE"
               desc="The label for a language that is currently used for UI">
        <ph name="PRODUCT_NAME">$1<ex>Chrome OS</ex></ph> is displayed in this language
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_DISPLAY_IN_THIS_LANGUAGE"
               desc="The label is used for a button that changes the UI
                     language of Chrome OS">
        Display <ph name="PRODUCT_NAME">$1<ex>Chrome OS</ex></ph> in this language
      </message>
      <if expr="not is_macosx">
        <message name="IDS_OPTIONS_SETTINGS_USE_THIS_FOR_SPELL_CHECKING"
                 desc="The label for a language a button that changes the spell check language of Chrome">
          Use this language for spell checking
        </message>
        <message name="IDS_OPTIONS_SETTINGS_CANNOT_BE_USED_FOR_SPELL_CHECKING"
                 desc="The label for a language that cannot be used for spell checking">
          This language cannot be used for spell checking
        </message>
        <message name="IDS_OPTIONS_SETTINGS_IS_USED_FOR_SPELL_CHECKING"
                 desc="The label for a language that is currently used for spell checking">
          This language is used for spell checking
        </message>
      </if>
      <if expr="not pp_ifdef('chromeos')">
        <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_RELAUNCH_BUTTON"
                 desc="The label for the relaunch button for changing UI language">
          Relaunch
        </message>
      </if>
      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_RELAUNCH_BUTTON"
                 desc="The label for the restart button for changing UI language">
          Restart
        </message>
      </if>
      <message name="IDS_OPTIONS_LANGUAGES_ADD_TITLE" desc="The title for the add language dialog.">
        Add language
      </message>
      <message name="IDS_OPTIONS_LANGUAGES_ADD_SELECT_LABEL" desc="The label for the add language select control.">
        Language:
      </message>
      <message name="IDS_OPTIONS_LANGUAGES_OFFER_TO_TRANSLATE_IN_THIS_LANGUAGE" desc="The label for a checkbox which indicates whether or not the language should be translated.">
        Offer to translate pages in this language
      </message>
      <message name="IDS_OPTIONS_LANGUAGES_CANNOT_TRANSLATE_IN_THIS_LANGUAGE" desc="The string displayed to user when the language cannot be translated.">
        This language cannot be translated
      </message>

      <!-- HTTP POST Warning -->
      <message name="IDS_HTTP_POST_WARNING_TITLE" desc="Title for dialog that warns users about a navigation that results in a repost">
        Confirm Form Resubmission
      </message>
      <message name="IDS_HTTP_POST_WARNING" desc="Re-navigation to page that leads to HTTP POST" formatter_data="android_java">
        The page that you're looking for used information that you entered. Returning to that page might cause any action you took to be repeated. Do you want to continue?
      </message>
      <message name="IDS_HTTP_POST_WARNING_RESEND" desc="Resend button for post warning" formatter_data="android_java">
        Continue
      </message>

      <!-- Menus -->
      <message name="IDS_MENU_EMPTY_SUBMENU" desc="Used when a submenu has no entries">
        (empty)
      </message>

      <!-- Mac First-run dialog messages -->
      <if expr="is_macosx">
        <message name="IDS_FIRSTRUN_DLG_MAC_WINDOW_TITLE" desc="Window title of First Run Title on OS X - displayed in Window title bar">
          Welcome to <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>
        </message>
        <message name="IDS_FIRSTRUN_DLG_MAC_COMPLETE_INSTALLATION_LABEL" desc="Label at top of Dialog noting what's going to happen">
          <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> is ready to complete your installation
        </message>
        <message name="IDS_FIRSTRUN_DLG_MAC_SET_DEFAULT_BROWSER_LABEL" desc="Label for checkbox that sets the default browser">
          Set <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> as my default browser
        </message>
        <message name="IDS_FIRSTRUN_DLG_MAC_OPTIONS_SEND_USAGE_STATS_LABEL" desc="Label for checkbox to ask whether to send usage stats to Google">
          Help make <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> better by automatically sending usage statistics and crash reports to Google
        </message>
        <message name="IDS_FIRSTRUN_DLG_MAC_START_CHROME_BUTTON" desc="Button to Start Google Chrome">
          Start <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>
        </message>
      </if>

      <!-- Android First-run messages -->
      <if expr="is_android">
        <message name="IDS_FIRSTRUN_TAKE_TOUR" desc="Button or link to begin a product tour of Chrome">
          Take a tour
        </message>
        <message name="IDS_FIRSTRUN_SETTINGS_LINK" desc="Link to take user to Chrome's settings menu.">
          Settings
        </message>
        <message name="IDS_FIRSTRUN_TOS_EXPLANATION" desc="Message explaining that use of Chrome is governed by Chrome's terms of service.">
          Your use of Chrome is subject to the Chrome <ph name="BEGIN_LINK1">&lt;a href="#" id="tos-link"&gt;</ph>Terms of Service<ph name="END_LINK1">&lt;/a&gt;</ph> and <ph name="BEGIN_LINK2">&lt;a href="$1"&gt;</ph>Privacy Notice<ph name="END_LINK2">&lt;/a&gt;</ph>.
        </message>
        <message name="IDS_FIRSTRUN_SIGNED_IN_TITLE" desc="Message informing the user that they are now signed in." formatter_data="android_java">
          You're now signed in to Chrome.
        </message>
        <message name="IDS_FIRSTRUN_SIGNED_IN_DESCRIPTION" desc="Message informing the user what is being synced." formatter_data="android_java">
          Your open tabs, bookmarks, history, and more are being synced with your Google Account.
        </message>
      </if>

      <!-- First run bubble popup -->
      <message name="IDS_FR_BUBBLE_TITLE" desc="Bubble-like popup dialog title">
        You can search from here with <ph name="SEARCH_ENGINE">$1<ex>Google</ex></ph>
      </message>
      <message name="IDS_FR_BUBBLE_SUBTEXT" desc="Text under the title for the bubble">
        Type to search or enter a URL to navigate - everything just works.
      </message>
      <message name="IDS_FR_BUBBLE_CHANGE" desc="Text for the change button on the bubble">
        Change
      </message>

      <!-- Sad Tab Strings -->
      <message name="IDS_SAD_TAB_TITLE" desc="The title of the sad tab page that is shown when a tab crashes. This is intended to be a humorous exclamation of dismay." formatter_data="android_java">
        Aw, Snap!
      </message>
      <message name="IDS_SAD_TAB_MESSAGE" desc="The message displayed on the sad tab page." formatter_data="android_java">
        Something went wrong while displaying this webpage. To continue, reload or go to another page.
      </message>
      <message name="IDS_SAD_TAB_HELP_MESSAGE" desc="The help message displayed on the sad tab page, with IDS_SAD_TAB_HELP_LINK embedded as a link to help." formatter_data="android_java">
        If you're seeing this frequently, try these <ph name="HELP_LINK">$1<ex>suggestions</ex></ph>.
      </message>
      <message name="IDS_SAD_TAB_HELP_LINK" desc="The link text displayed on the sad tab page pointing the users to a help article." formatter_data="android_java">
        suggestions
      </message>
      <message name="IDS_SAD_TAB_RELOAD_LABEL" desc="Button label in the sad tab page for reloading a page." formatter_data="android_java">
        Reload
      </message>

      <!-- Killed Tab Strings -->
      <!-- TODO(gspencer): These are temporary values until real
           values are supplied by UI team. See http://crosbug.com/10711 -->
      <message name="IDS_KILLED_TAB_TITLE" desc="The title of the killed tab page that is shown when a tab is killed by the OS. This is intended to be a humorous exclamation of dismay.">
        He's dead, Jim!
      </message>
      <message name="IDS_KILLED_TAB_MESSAGE" desc="The message displayed on the killed tab page.">
        Either Chrome ran out of memory or the process for the webpage was terminated for some other reason.  To continue, reload or go to another page.
      </message>
      <message name="IDS_KILLED_TAB_FEEDBACK_LINK" desc="The text for the feedback link on the killed tab page.">
        Send feedback to help improve Chrome
      </message>
      <message name="IDS_KILLED_TAB_FEEDBACK_MESSAGE" desc="The text to auto-populate the feedback page with.">
Chrome ran out of memory.
'''
      </message>

      <!-- Default Browser related messages -->
      <message name="IDS_HIDE_ICONS_NOT_SUPPORTED" desc="Message to explain we only support uninstall and not hide-icons.">
To hide access to this program, you need to uninstall it by using
<ph name="CONTROL_PANEL_APPLET_NAME">$1<ex>Add/Remove Programs</ex></ph> in Control Panel.

Would you like to start <ph name="CONTROL_PANEL_APPLET_NAME">$1<ex>Add/Remove Programs</ex></ph>?
      </message>

      <!-- Settings -->
      <message name="IDS_SETTINGS_TITLE" desc="Title for the settings tab.">
        Settings
      </message>
      <message name="IDS_SETTINGS_HIDE_ADVANCED_SETTINGS" desc="Title for the link to hide advanced settings.">
        Hide advanced settings...
      </message>
      <message name="IDS_SETTINGS_SHOW_ADVANCED_SETTINGS" desc="Title for the link to show advanced settings.">
        Show advanced settings...
      </message>
      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_OPTIONS_INTERNET_TAB_LABEL" desc="The title of the Internet tab">
          Internet
        </message>
        <message name="IDS_OPTIONS_INTERNET_OPTIONS_GROUP_LABEL" desc="The title of the 'Internet connections' group">
          Internet connection
        </message>
        <message name="IDS_OPTIONS_INTERNET_OPTIONS_BUTTON_TITLE" desc="The title of the 'Manage connections...' button">
          Manage connections...
        </message>
        <message name="IDS_OPTIONS_ACCOUNTS_TAB_LABEL" desc="The title of the Accounts tab">
          Users
        </message>
        <message name="IDS_OPTIONS_ACCOUNTS_BUTTON_TITLE" desc="The title of the Manage Accounts button">
          Manage other users...
        </message>
        <message name="IDS_OPTIONS_PROXY_TAB_LABEL" desc="The title of the proxy subtab">
          Proxy
        </message>
      </if>
      <message name="IDS_OPTIONS_TAB_TITLE" desc="The format of the title on the browser tab for an options subpage, e.g. Settings - Basics">
        <ph name="OPTIONS_TITLE">$1<ex>Settings</ex></ph> - <ph name="SUBPAGE_TITLE">$2<ex>Under the Hood</ex></ph>
      </message>

      <!-- chrome://help -->
      <message name="IDS_HELP_TITLE" desc="Label used for title of the help page.">
        Help
      </message>
      <message name="IDS_WEBKIT" desc="The name of the WebKit project; should not require translation.">
        WebKit
      </message>
      <message name="IDS_SHOW_MORE_INFO" desc="The label of the 'More info' link.">
        More info...
      </message>
      <message name="IDS_HIDE_MORE_INFO" desc="The label of the 'Hide info' link.">
        Hide info...
      </message>

      <!-- The About page is now part of options. -->
      <message name="IDS_ABOUT_TAB_TITLE" desc="Label used for tab of about page.">
        About
      </message>
      <if expr="not pp_ifdef('chromeos') and pp_ifdef('use_titlecase')">
        <message name="IDS_RELAUNCH_BUTTON" desc="Titlecase: The label for the relaunch button that relaunches the browser once update is complete">
          Relaunch
        </message>
      </if>
      <if expr="not pp_ifdef('chromeos') and not pp_ifdef('use_titlecase')">
        <message name="IDS_RELAUNCH_BUTTON" desc="The label for the relaunch button that relaunches the browser once update is complete">
          Relaunch
        </message>
      </if>
      <if expr="pp_ifdef('chromeos') and pp_ifdef('use_titlecase')">
        <message name="IDS_RELAUNCH_BUTTON" desc="Titlecase: The label for the relaunch button that relaunches the browser once update is complete">
          Restart
        </message>
        <message name="IDS_RELAUNCH_AND_POWERWASH_BUTTON" desc="Titlecase: The label for the  button that relaunches and powerwashes the browser once update is complete">
          Relaunch and Powerwash
        </message>
      </if>
      <if expr="pp_ifdef('chromeos') and not pp_ifdef('use_titlecase')">
        <message name="IDS_RELAUNCH_BUTTON" desc="The label for the relaunch button that relaunches the browser once update is complete">
          Restart
        </message>
        <message name="IDS_RELAUNCH_AND_POWERWASH_BUTTON" desc="Titlecase: The label for the  button that relaunches and powerwashes the browser once update is complete">
          Relaunch and Powerwash
        </message>
      </if>
      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_ABOUT_PRODUCT_DESCRIPTION" desc="The text label describing Chrome OS">
          The faster, simpler, and more secure computer
        </message>
      </if>
      <if expr="not pp_ifdef('chromeos')">
        <message name="IDS_ABOUT_PRODUCT_DESCRIPTION" desc="The text label describing the Chrome browser">
          A web browser built for speed, simplicity, and security
        </message>
      </if>
      <message name="IDS_ABOUT_PRODUCT_VERSION" desc="The text label describing the version of the browser">
        Version <ph name="PRODUCT_VERSION">$1<ex>15.0.865.0</ex></ph>
      </message>
      <message name="IDS_ABOUT_PAGE_FIRMWARE" desc="Label used for Chrome OS bios firmware version.">
        Firmware
      </message>
      <message name="IDS_PLATFORM_LABEL" desc="Label for Platform">
        Platform
      </message>
      <message name="IDS_ABOUT_PAGE_CHANNEL" desc="The channel label under _More_Info_.">
        Channel
      </message>
      <message name="IDS_ABOUT_PAGE_CHANNEL_STABLE" desc="The stable option in the channel select.">
        Stable
      </message>
      <message name="IDS_ABOUT_PAGE_CHANNEL_BETA" desc="The beta option in the channel select.">
        Beta
      </message>
      <message name="IDS_ABOUT_PAGE_CHANNEL_DEVELOPMENT" desc="The development option in the channel select.">
        Developer - unstable
      </message>
      <message name="IDS_ABOUT_PAGE_CHANNEL_CHANGED" desc="The message to confirm that channel has changed.">
        You have switched to the <ph name="CHANNEL_NAME">$1<ex>Stable</ex></ph> channel.
      </message>
      <message name="IDS_ABOUT_PAGE_CURRENT_CHANNEL_STABLE" desc="The stable label in the message about current channel.">
        stable
      </message>
      <message name="IDS_ABOUT_PAGE_CURRENT_CHANNEL_BETA" desc="The beta label in the message about current channel.">
        beta
      </message>
      <message name="IDS_ABOUT_PAGE_CURRENT_CHANNEL_DEV" desc="The dev label in the message about current channel.">
        dev
      </message>
      <message name="IDS_ABOUT_PAGE_CURRENT_CHANNEL" desc="The message about current channel.">
        Currently on <ph name="CHANNEL_NAME">$1<ex>Stable</ex></ph> channel.
      </message>
      <message name="IDS_ABOUT_PAGE_CHANNEL_CHANGE_BUTTON" desc="The label for the button for channel change.">
        Change channel...
      </message>
      <message name="IDS_ABOUT_PAGE_CHANNEL_CHANGE_PAGE_TITLE" desc="The title of the window for channel change.">
        Change channel
      </message>
      <message name="IDS_ABOUT_PAGE_CHANNEL_CHANGE_DISALLOWED_MESSAGE" desc="The error message that is displayed when non-owner tries to switch channel.">
        This setting is enforced by your administrator.
      </message>
      <message name="IDS_ABOUT_PAGE_CHANNEL_CHANGE_PAGE_POWERWASH_TITLE" desc="The title for the message that warns user about powerwash.">
        Powerwash required on next reboot
      </message>
      <message name="IDS_ABOUT_PAGE_CHANNEL_CHANGE_PAGE_POWERWASH_MESSAGE" desc="Message that warns user about powerwash.">
        This will remove all local users, files, data, and other settings after your next restart. All users will need to sign in again.
      </message>
      <message name="IDS_ABOUT_PAGE_CHANNEL_CHANGE_PAGE_DELAYED_CHANGE_TITLE" desc="The title for the message that notifies user that channel change will be applied later.">
        Channel change will be applied later.
      </message>
      <message name="IDS_ABOUT_PAGE_CHANNEL_CHANGE_PAGE_DELAYED_CHANGE_MESSAGE" desc="Message that notifies user that channel change will be applied later.">
        You are changing to a channel with an older version of <ph name="PRODUCT_NAME">$1<ex>Chrome OS</ex></ph>. The channel change will be applied when the channel version matches the version currently installed on your device.
      </message>
      <message name="IDS_ABOUT_PAGE_CHANNEL_CHANGE_PAGE_UNSTABLE_TITLE" desc="The title for the message that warns user about switching to developer (unstable) channel.">
        Warning: you are switching to developer channel
      </message>
      <message name="IDS_ABOUT_PAGE_CHANNEL_CHANGE_PAGE_UNSTABLE_MESSAGE" desc="Message that warns user about switching to developer (unstable) channel.">
        You are updating to an unstable version of <ph name="PRODUCT_NAME">$1<ex>Chrome OS</ex></ph> which contains features that are in progress. Crashes and unexpected bugs will occur. Please proceed with caution.
      </message>
      <message name="IDS_ABOUT_PAGE_CHANNEL_CHANGE_PAGE_POWERWASH_BUTTON" desc="The label for the button for channel switch and powerwash.">
        Change channel and Powerwash
      </message>
      <message name="IDS_ABOUT_PAGE_CHANNEL_CHANGE_PAGE_CHANGE_BUTTON" desc="The label for the button for channel switch.">
        Change channel
      </message>
      <message name="IDS_ABOUT_PAGE_CHANNEL_CHANGE_PAGE_CANCEL_BUTTON" desc="The label for the button for cancelling channel change.">
        Cancel
      </message>

      <!-- chrome://network -->
      <message name="IDS_ABOUT_AUTO_REFRESH" desc="The message to indicate that the page is auto refreshing.">
        (Auto-refreshing page every <ph name="INTERVAL_SECONDS">$1<ex>10</ex></ph> seconds.)
      </message>
      <message name="IDS_ABOUT_AUTO_REFRESH_INFO" desc="The message to indicate that how to auto refresh the page.">
        (To auto-refresh this page use chrome://<ph name="PAGE_NAME">$1<ex>network</ex></ph>/&amp;lt;secs&amp;gt;)
      </message>
      <message name="IDS_ABOUT_NETWORK_EVENT_LOG" desc="The section title for the event log in the chrome://network page.">
        Event Log (newest first):
      </message>
      <message name="IDS_ABOUT_NETWORK_NETWORKS" desc="The section title for all networks in the chrome://network page.">
        Networks:
      </message>
      <message name="IDS_ABOUT_NETWORK_FAVORITES" desc="The section title for favorite networks in the chrome://network page.">
        Favorites:
      </message>
      <message name="IDS_ABOUT_NETWORK_ETHERNET" desc="The section title for ethernet networks in the chrome://network page.">
        Ethernet Networks:
      </message>
      <message name="IDS_ABOUT_NETWORK_WIFI" desc="The section title for wifi networks in the chrome://network page.">
        Wi-Fi Networks:
      </message>
      <message name="IDS_ABOUT_NETWORK_CELLULAR" desc="The section title for cellular networks in the chrome://network page.">
        Cellular Networks:
      </message>
      <message name="IDS_ABOUT_NETWORK_VIRTUAL" desc="The section title for virtual networks in the chrome://network page.">
        Virtual Networks:
      </message>
      <message name="IDS_ABOUT_NETWORK_REMEMBERED_WIFI" desc="The section title for remembered wifi networks in the chrome://network page.">
        Remembered Wi-Fi Networks:
      </message>

      <message name="IDS_OPTIONS_STARTUP_GROUP_NAME" desc="The title of the startup group">
        On startup
      </message>
      <message name="IDS_OPTIONS_STARTUP_SHOW_NEWTAB" desc="The label of the 'Show home page' startup option radio button">
        Open the New Tab page
      </message>
      <message name="IDS_OPTIONS_STARTUP_RESTORE_LAST_SESSION" desc="The label of the 'Continue where I left off' startup option radio button">
        Continue where I left off
      </message>
      <message name="IDS_OPTIONS_STARTUP_SHOW_PAGES" desc="The label of the 'Show these pages:' startup option radio button">
        Open a specific page or set of pages.
      </message>
      <message name="IDS_OPTIONS_STARTUP_SET_PAGES" desc="The link that is clicked to choose the set of pages that will be shown at startup">
        Set pages
      </message>
      <message name="IDS_OPTIONS_STARTUP_PAGE_TOOLTIP" desc="A tooltip to display for a page in the list of pages to open on startup">
        <ph name="PAGE_TITLE">$1<ex>Google</ex></ph> - <ph name="PAGE_URL">$2<ex>http://www.google.com/</ex></ph>
      </message>
      <message name="IDS_OPTIONS_STARTUP_ADD_LABEL" desc="The text labelling the add row in the custom startup urls list">
        Add a new page
      </message>
      <message name="IDS_OPTIONS_STARTUP_PAGES_PLACEHOLDER" desc="The placeholder text in the custom startup urls dialog" formatter_data="android_java">
        Enter URL...
      </message>
      <message name="IDS_OPTIONS_STARTUP_PAGES_DIALOG_TITLE" desc="The title of the dialog where the user chooses the set of pages that will be shown at startup">
        Startup pages
      </message>
      <message name="IDS_OPTIONS_STARTUP_USE_CURRENT" desc="The label of the 'Use Current' button for the custom startup urls list">
        Use current pages
      </message>
      <message name="IDS_OPTIONS_DEFAULTSEARCH_MANAGE_ENGINES" desc="The label of the 'Manage search engines' button">
        Manage search engines...
      </message>
      <message name="IDS_OPTIONS_HOMEPAGE_NTP" desc="The value displayed on the settings page to indicate that we're using the new tab page as the homepage">
        New Tab page
      </message>
      <message name="IDS_OPTIONS_HOMEPAGE_TITLE" desc="The title of the home page overlay"  formatter_data="android_java">
        Home page
      </message>
      <message name="IDS_OPTIONS_HOMEPAGE_USE_NEWTAB" desc="The title of the 'Use the New Tab page' for the home page radio">
        Use the New Tab page
      </message>
      <message name="IDS_OPTIONS_HOMEPAGE_USE_URL" desc="The title of the 'Use this page' for the home page radio">
        Open this page:
      </message>
      <message name="IDS_OPTIONS_TOOLBAR_SHOW_HOME_BUTTON" desc="The label of the 'Show Home button' checkbox">
        Show Home button
      </message>
      <message name="IDS_OPTIONS_CHANGE_HOME_PAGE" desc="The text of the button that allows the user to change her home page">
        Change
      </message>
      <message name="IDS_OPTIONS_TOOLBAR_SHOW_BOOKMARKS_BAR" desc="The label of the 'Show bookmarks bar' checkbox">
        Always show the bookmarks bar
      </message>
      <message name="IDS_TOOLBAR_INFORM_SET_HOME_PAGE" desc="The confirmation message when dropping a link on the Home toolbar button">
         Your home page has been set.
      </message>
      <message name="IDS_OPTIONS_DEFAULTSEARCH_GROUP_NAME" desc="The title of the default search engine group">
        Search
      </message>
      <message name="IDS_SEARCH_ENGINE_ADD_NEW_NAME_PLACEHOLDER" desc="Placeholder text for name before the user adds a new search engine" >
        Add a new search engine
      </message>
      <message name="IDS_SEARCH_ENGINE_ADD_NEW_KEYWORD_PLACEHOLDER" desc="Placeholder text for keyword before the user adds a new search engine" >
        Keyword
      </message>
      <message name="IDS_SEARCH_ENGINE_ADD_NEW_URL_PLACEHOLDER" desc="Placeholder text for URL before the user adds a new search engine" >
        URL with %s in place of query
      </message>
      <message name="IDS_OPTIONS_DEFAULTBROWSER_GROUP_NAME" desc="The title of the default browser group">
        Default browser
      </message>
      <message name="IDS_OPTIONS_DEFAULTBROWSER_DEFAULT" desc="The text displayed when Chrome is not the default browser">
        The default browser is currently <ph name="BROWSER_NAME">$1<ex>Firefox</ex></ph>.
      </message>
      <message name="IDS_OPTIONS_DEFAULTBROWSER_NOTDEFAULT" desc="The text displayed when Chrome is not the default browser">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> is not currently your default browser.
      </message>
      <message name="IDS_OPTIONS_DEFAULTBROWSER_UNKNOWN" desc="The text displayed when Chrome cannot determine or set the default browser">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> cannot determine or set the default browser.
      </message>
      <message name="IDS_OPTIONS_DEFAULTBROWSER_SXS" desc="The text displayed when Chrome is installed in side-by-side mode, which does not support setting as the default browser.">
        This is a secondary installation of <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>, and cannot be made your default browser.
      </message>
      <if expr="is_android">
        <message name="IDS_AUTOLAUNCH_TEXT" desc="Mobile: The text displayed in settings to explain whether Chrome is set to auto-launch on startup or not.">
          Launch <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> automatically when I start my device
        </message>
      </if>
      <if expr="not is_android">
        <message name="IDS_AUTOLAUNCH_TEXT" desc="The text displayed in settings to explain whether Chrome is set to auto-launch on startup or not.">
          Launch <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> automatically when I start my computer
        </message>
      </if>
      <message name="IDS_OPTIONS_DEFAULTBROWSER_USEASDEFAULT" desc="The label of the 'Use Chrome as default' browser button">
        Make <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> my default browser
      </message>
      <message name="IDS_OPTIONS_DOWNLOADLOCATION_GROUP_NAME" desc="The title of the download location group">
        Downloads
      </message>
      <message name="IDS_OPTIONS_DOWNLOADLOCATION_CHANGE_BUTTON" desc="The label of the 'Change...' button">
        Change...
      </message>
      <message name="IDS_OPTIONS_DOWNLOADLOCATION_BROWSE_TITLE" desc="In the 'Browse For Folder' dialog on Windows, this is the text that appears above the directory selector.">
        Download location:
      </message>
      <message name="IDS_OPTIONS_DOWNLOADLOCATION_ASKFORSAVELOCATION" desc="The 'Ask for save location before downloading' checkbox label">
        Ask where to save each file before downloading
      </message>
      <message name="IDS_OPTIONS_OPEN_FILE_TYPES_AUTOMATICALLY" desc="The information label for the 'Clear auto-opening settings' button">
        You have chosen to open certain file types automatically after downloading.
      </message>
      <message name="IDS_OPTIONS_AUTOOPENFILETYPES_RESETTODEFAULT" desc="The label of the 'Reset always open files' button">
        Clear auto-opening settings
      </message>
      <message name="IDS_OPTIONS_ADVANCED_LANGUAGE_LABEL" desc="The label for the Language section">
        Change how <ph name="APP_NAME">$1<ex>Chrome</ex></ph> handles and displays languages
      </message>
      <message name="IDS_OPTIONS_TRANSLATE_ENABLE_TRANSLATE" desc="The label of the check-box that enables page translate">
        Offer to translate pages that aren't in a language I read.
      </message>
      <message name="IDS_OPTIONS_TRANSLATE_MANAGE_LANGUAGES" desc="The link that is clicked to manage languages for translate">
        Manage languages
      </message>
      <message name="IDS_OPTIONS_PASSWORDS_AND_FORMS_GROUP_NAME" desc="The title of the 'Passwords and forms' group">
        Passwords and forms
      </message>
      <message name="IDS_OPTIONS_PASSWORD_MANAGER_ENABLE" desc="The label of the password manager checkbox">
        Offer to save passwords I enter on the web.
      </message>
      <message name="IDS_OPTIONS_PASSWORDS_MANAGE_PASSWORDS_LINK" desc="The label of the 'Manage saved passwords' link">
        Manage saved passwords
      </message>
      <message name="IDS_OPTIONS_PASSWORDS_MANAGE_PASSWORDS" desc="The label of the 'Manage saved passwords' button">
        Manage saved passwords...
      </message>
      <message name="IDS_OPTIONS_PASSWORDS_AUTOLOGIN" desc="The label of the 'autologinEnabled' checkbox">
        Offer to sign into Google sites automatically with this account
      </message>
      <message name="IDS_OPTIONS_AUTOFILL_ENABLE" desc="The label of the 'Ask me to enable Autofill' radio button">
        Enable Autofill to fill out web forms in a single click.
      </message>
      <message name="IDS_AUTOFILL_CC_INFOBAR_ACCEPT" desc="Text to show for the Autofill credit card request infobar accept button.">
        Save info
      </message>
      <message name="IDS_AUTOFILL_CC_INFOBAR_DENY" desc="Text to show for the Autofill credit card request infobar deny button.">
        Don't save
      </message>
      <message name="IDS_AUTOFILL_EDIT_PROFILE_BUTTON" desc="The label of the button that edits the currently selected Autofill profile.">
        Edit...
      </message>
      <message name="IDS_OPTIONS_MANAGE_AUTOFILL_SETTINGS_LINK" desc="The label of the 'Manage Autofill settings' link">
        Manage Autofill settings
      </message>
      <message name="IDS_AUTOFILL_HELP_LABEL" desc="The label of the Help link in the Autofill settings overlay.">
        About Autofill
      </message>
      <message name="IDS_AUTOFILL_ADD_ADDRESS_BUTTON" desc="The label of the button that adds a new Autofill address.">
        Add new street address...
      </message>
      <message name="IDS_AUTOFILL_ADD_CREDITCARD_BUTTON" desc="The label of the button that adds a new Autofill credit card.">
        Add new credit card...
      </message>
      <message name="IDS_AUTOFILL_OPTIONS_TITLE" desc="The title of the Autofill dialog.">
        Autofill settings
      </message>
      <message name="IDS_AUTOFILL_USE_MAC_ADDRESS_BOOK" desc="Checkbox label to enable Address Book on Mac.">
        Include addresses from my Address Book card
      </message>
      <message name="IDS_AUTOFILL_ADDRESSES_GROUP_NAME" desc="The name of the Addresses group of the Autofill dialog.">
        Addresses
      </message>
      <message name="IDS_AUTOFILL_CREDITCARDS_GROUP_NAME" desc="IThe name of the Credit Cards group of the Autofill dialog.">
        Credit cards
      </message>
      <message name="IDS_AUTOFILL_EDIT_ADDRESS_CAPTION" desc="The caption on the edit Autofill address dialog.">
        Edit address
      </message>
      <message name="IDS_AUTOFILL_ADD_ADDRESS_CAPTION" desc="The caption on the edit Autofill address dialog for the new entry.">
        Add an address
      </message>
      <message name="IDS_AUTOFILL_EDIT_CREDITCARD_CAPTION" desc="The caption on the edit Autofill credit card dialog.">
        Edit credit card
      </message>
      <message name="IDS_AUTOFILL_ADD_CREDITCARD_CAPTION" desc="The caption on the edit Autofill credit card dialog the new entry.">
        Add a credit card
      </message>

      <message name="IDS_AUTOFILL_FIELD_LABEL_FIRST_NAME" desc="The label of the first name entry.">
        First name
      </message>
      <message name="IDS_AUTOFILL_FIELD_LABEL_MIDDLE_NAME" desc="The label of the middle name entry.">
        Middle name(s)
      </message>
      <message name="IDS_AUTOFILL_FIELD_LABEL_LAST_NAME" desc="The label of the last name entry.">
        Last name
      </message>
      <message name="IDS_AUTOFILL_FIELD_LABEL_EMAIL" desc="The label of the Email entry.">
        Email
      </message>
      <message name="IDS_AUTOFILL_FIELD_LABEL_COMPANY_NAME" desc="The label of the Company name entry.">
        Company name
      </message>
      <message name="IDS_AUTOFILL_FIELD_LABEL_ADDRESS_LINE_1" desc="The label of the Address Line 1 entry.">
        Address line 1
      </message>
      <message name="IDS_AUTOFILL_FIELD_LABEL_ADDRESS_LINE_2" desc="The label of the Address Line 2 entry.">
        Address line 2
      </message>
      <message name="IDS_AUTOFILL_FIELD_LABEL_CITY" desc="The label of the City entry.">
        City/Town
      </message>
      <message name="IDS_AUTOFILL_FIELD_LABEL_PHONE" desc="The label of the Phone entry.">
        Phone
      </message>
      <message name="IDS_AUTOFILL_FIELD_LABEL_ADD_FIRST_NAME" desc="The placeholder text of the first name field.">
        Add first name
      </message>
      <message name="IDS_AUTOFILL_FIELD_LABEL_ADD_MIDDLE_NAME" desc="The placeholder text of the middle name field.">
        Add middle name(s)
      </message>
      <message name="IDS_AUTOFILL_FIELD_LABEL_ADD_LAST_NAME" desc="The placeholder text of the last name field.">
        Add last name
      </message>
      <message name="IDS_AUTOFILL_FIELD_LABEL_ADD_PHONE" desc="The placeholder text of the phone field.">
        Add phone number
      </message>
      <message name="IDS_AUTOFILL_FIELD_LABEL_ADD_EMAIL" desc="The placeholder text of the email field.">
        Add email address
      </message>
      <message name="IDS_AUTOFILL_FIELD_LABEL_NAME_ON_CARD" desc="The label of the Name on card entry.">
        Name on card
      </message>
      <message name="IDS_AUTOFILL_FIELD_LABEL_CREDIT_CARD_NUMBER" desc="The label of the Credit card number entry.">
        Credit card number
      </message>
      <message name="IDS_AUTOFILL_FIELD_LABEL_EXPIRATION_DATE" desc="The label of the Expiration date entry.">
        Expiration date
      </message>

      <!-- Autofill dialog: field labels. -->
      <message name="IDS_AUTOFILL_DIALOG_PLACEHOLDER_EMAIL" desc="The placeholder/label text for email in the requestAutocomplete dialog.">
        Email address
      </message>
      <message name="IDS_AUTOFILL_DIALOG_PLACEHOLDER_CARD_NUMBER" desc="The placeholder/label text for credit card number in the requestAutocomplete dialog.">
        Card number
      </message>
      <message name="IDS_AUTOFILL_DIALOG_PLACEHOLDER_EXPIRY_MONTH" desc="The placeholder/label text for credit card expiration month in the requestAutocomplete dialog.">
        Month
      </message>
      <message name="IDS_AUTOFILL_DIALOG_PLACEHOLDER_EXPIRY_YEAR" desc="The placeholder/label text for credit card expiration year in the requestAutocomplete dialog.">
        Year
      </message>
      <message name="IDS_AUTOFILL_DIALOG_PLACEHOLDER_CVC" desc="The placeholder/label text for credit card verification code in the requestAutocomplete dialog.">
        CVC
      </message>
      <message name="IDS_AUTOFILL_DIALOG_PLACEHOLDER_CARDHOLDER_NAME" desc="The placeholder/label text for cardholder full name in the requestAutocomplete dialog.">
        Cardholder name
      </message>
      <message name="IDS_AUTOFILL_DIALOG_PLACEHOLDER_ADDRESSEE_NAME" desc="The placeholder/label text for addressee full name in the requestAutocomplete dialog.">
        Name
      </message>
      <message name="IDS_AUTOFILL_DIALOG_PLACEHOLDER_ADDRESS_LINE_1" desc="The placeholder/label text for address line 1 in the requestAutocomplete dialog.">
        Street address
      </message>
      <message name="IDS_AUTOFILL_DIALOG_PLACEHOLDER_ADDRESS_LINE_2" desc="The placeholder/label text for address line 2 in the requestAutocomplete dialog.">
        Street address (optional)
      </message>
      <message name="IDS_AUTOFILL_DIALOG_PLACEHOLDER_LOCALITY" desc="The placeholder/label text for locality (city) in the requestAutocomplete dialog.">
        City
      </message>
      <message name="IDS_AUTOFILL_DIALOG_PLACEHOLDER_POSTAL_CODE" desc="The placeholder/label text for ZIP/postal code in the requestAutocomplete dialog.">
        ZIP code
      </message>
      <message name="IDS_AUTOFILL_DIALOG_PLACEHOLDER_PHONE_NUMBER" desc="The placeholder/label text for phone number in the requestAutocomplete dialog.">
        Phone number
      </message>
      <message name="IDS_AUTOFILL_DIALOG_TOOLTIP_PHONE_NUMBER" desc="A tooltip explaining why the user must enter a phone number.">
        Merchants often need this in case there are problems shipping your order.
      </message>

      <!-- Autofill dialog: title bar -->
      <message name="IDS_AUTOFILL_DIALOG_TITLE" desc="Title for autofill dialog which asks user to input address + payment info.">
        Pay
      </message>
      <message name="IDS_AUTOFILL_DIALOG_PAY_WITHOUT_WALLET" desc="This text is shown in a payment method chooser as a way for a user to pay with local Chrome Autofill data instead of using Wallet.">
        Disable Google Wallet
      </message>
      <message name="IDS_AUTOFILL_DIALOG_PAYING_WITHOUT_WALLET" desc="This text is shown as the click target for a dormant payment method chooser when using Chrome Autofill data instead of Wallet.">
        Google Wallet disabled
      </message>
      <message name="IDS_AUTOFILL_DIALOG_SIGN_IN" desc="This link text is shown when the user is not signed into a GAIA account.">
        Sign in to pay with Google Wallet
      </message>
      <message name="IDS_AUTOFILL_DIALOG_ADD_ACCOUNT" desc="This text is shown to allow the user to sign into a different GAIA account (for multi-login).">
        Add account
      </message>
      <message name="IDS_AUTOFILL_DIALOG_CANCEL_SIGN_IN" desc="This link text is shown when the user is signing into a GAIA account as a way to cancel sign in.">
        Back
      </message>
      <message name="IDS_AUTOFILL_DIALOG_GOOGLE_WALLET" desc="The menu item that allows a user to select Google Wallet as their payment backend.">
        Google Wallet
      </message>

      <!-- Autofill dialog: notification area -->
      <message name="IDS_AUTOFILL_DIALOG_USE_WALLET" desc="Text that shows on top of the autofill dialog when using data Google Wallet already knows about the user.">
        Protect my payment with Google Wallet.
      </message>
      <message name="IDS_AUTOFILL_DIALOG_USE_WALLET_LINK" desc="Text that shows as a link at the top of the autofill dialog to select to use Google wallet.">
        Use Google Wallet
      </message>
      <message name="IDS_AUTOFILL_DIALOG_SAVE_DETAILS_IN_WALLET" desc="Text that shows on the top of the autofill dialog promoting saving info in Google Wallet.">
        Save and protect my details with Google Wallet.
      </message>
      <message name="IDS_AUTOFILL_DIALOG_SAVE_IN_WALLET_TOOLTIP" desc="Tooltip text that explains how Google Wallet integration works.">
        A Google Wallet Virtual Card will be used for this transacation. A Virtual Card is a new card number so the seller never sees your real credit card number.
      </message>
      <message name="IDS_AUTOFILL_DIALOG_COMPLETE_WITHOUT_WALLET" desc="An error notification shown to users when Google Wallet is found to be unavailable.">
        Oops, <ph name="WALLET_ERROR">$1<ex>Google Wallet is unavailable at this time.</ex></ph> You can complete this transaction without Google Wallet.
      </message>
      <message name="IDS_AUTOFILL_DIALOG_SITE_WARNING" desc="Text that explains that user data will be sent to the site.">
        The following details will be shared with <ph name="SITE">$1<ex>www.shopping.com</ex></ph>
      </message>
      <message name="IDS_AUTOFILL_DIALOG_VERIFY_CVV" desc="Text explaining a user must enter their CVV to continuing submitting for security purposes (while using Google Wallet).">
        For your security, please verify your card details.
      </message>
      <message name="IDS_AUTOFILL_DIALOG_NOT_PROD_WARNING" desc="Text warning the user that they're not using the Online Wallet production server, so their purchases probably wont succeed.">
        Warning: You are not connected to production Wallet servers. Issued cards will be invalid.
      </message>
      <message name="IDS_AUTOFILL_DIALOG_FAILED_TO_SAVE_WALLET_DATA" desc="Text advising the user that there was an unrecoverable validation error on the wallet server.">
        Could not save data to Wallet.
      </message>
      <message name="IDS_AUTOFILL_DIALOG_CHOOSE_DIFFERENT_WALLET_INSTRUMENT" desc="Text asking the user to choose a different payment method or address when using wallet.">
        More information is needed to complete this purchase.
      </message>

      <!--- Autofill dialog: Wallet interstitials -->
      <message name="IDS_AUTOFILL_DIALOG_LOADING" desc="A message to let the users know that Chrome is waiting on a network response. This is followed by an ellipsis, as in 'Loading...'">
        Loading payment details
      </message>
      <message name="IDS_AUTOFILL_DIALOG_CARD_GENERATION_IN_PROGRESS" desc="Text the user sees while waiting for the wallet servers to respond with a generated card number.">
        Generating Google Wallet Virtual Card...
      </message>
      <message name="IDS_AUTOFILL_DIALOG_CARD_GENERATION_DONE" desc="Text the user sees after the wallet servers respond with a generated card number.">
        Your Virtual Card is ready.
      </message>

      <!--- Autofill dialog: Wallet error messages -->
      <message name="IDS_AUTOFILL_WALLET_BUYER_ACCOUNT_ERROR" desc="Text explaining that the user's Wallet account cannot be used.">
        There's something wrong with your Google Wallet account.
      </message>
      <message name="IDS_AUTOFILL_WALLET_BUYER_COUNTRY_NOT_SUPPORTED" desc="Text explaining that the user's Wallet Buyer Legal Address has a country which is unsupported. The text inside the |bars| is link text.">
        Unfortunately, Google Wallet can only be used at this merchant by buyers with a US address. If you are a US resident, please |change your home address with Wallet| or pay without using Google Wallet.
      </message>
      <message name="IDS_AUTOFILL_WALLET_UNVERIFIED_KNOW_YOUR_CUSTOMER_STATUS" desc="Text explaining that Google Wallet failed/pending Know Your Customer (KYC) check. The text inside the |bars| is link text.">
        We were unable to verify your account information. |Fix this problem|
      </message>
      <message name="IDS_AUTOFILL_WALLET_UNSUPPORTED_MERCHANT" desc="Text explaining that the merchant is blacklisted for Google Wallet Chrome Payments due to compliance violation.">
        Google Wallet is not supported with this merchant.
      </message>
      <message name="IDS_AUTOFILL_WALLET_SERVICE_UNAVAILABLE_ERROR" desc="Text explaining that Wallet is currently unavailable.">
        Google Wallet is currently unavailable.
      </message>
      <message name="IDS_AUTOFILL_WALLET_UNKNOWN_ERROR" desc="Text explaining that Wallet encountered an unknown error.">
        Google Wallet has encountered an error.
      </message>
      <message name="IDS_AUTOFILL_WALLET_ERROR_CODE_TOOLTIP" desc="Text shown in a (?) tooltip to explain which error Chrome encountered when trying to communicate with Online Wallet.">
        Error code: <ph name="ERROR_CODE">$1<ex>54</ex></ph>
      </message>

      <!-- Autofill dialog: detail section -->
      <message name="IDS_AUTOFILL_DIALOG_EDIT" desc="Text of link in autofill dialog which allows user to edit address + payment info.">
        Edit
      </message>
      <message name="IDS_AUTOFILL_DIALOG_SECTION_EMAIL" desc="Label for the email section of the autofill dialog.">
        Email address
      </message>
      <message name="IDS_AUTOFILL_DIALOG_SECTION_CC" desc="Label for the credit card section of the autofill dialog.">
        Card details
      </message>
      <message name="IDS_AUTOFILL_DIALOG_SECTION_BILLING" desc="Label for the billing details (credit card + address) section of the autofill dialog.">
        Billing details
      </message>
      <message name="IDS_AUTOFILL_DIALOG_SECTION_SHIPPING" desc="Label for the shipping details section of the autofill dialog.">
        Shipping address
      </message>
      <message name="IDS_AUTOFILL_DIALOG_USING_BILLING_FOR_SHIPPING" desc="Text that is shown when the billing info will also be used for shipping.">
        Same as billing address
      </message>
      <message name="IDS_AUTOFILL_DIALOG_SUBMIT_BUTTON" desc="Button text for confirmation of user details.">
        Continue
      </message>
      <message name="IDS_AUTOFILL_DIALOG_VERIFY_BUTTON" desc="Button text for verifying user details.">
        Verify
      </message>

      <!-- Autofill dialog: combobox menu items -->
      <message name="IDS_AUTOFILL_DIALOG_ADD_CREDIT_CARD" desc="Menu item for adding a new credit card in the autofill dialog.">
        New credit card...
      </message>
      <message name="IDS_AUTOFILL_DIALOG_MANAGE_CREDIT_CARD" desc="Menu item for directing the user to a different UI that can manage credit cards.">
        Manage credit cards...
      </message>
      <message name="IDS_AUTOFILL_DIALOG_ADD_BILLING_ADDRESS" desc="Menu item for adding a new billing address in the autofill dialog.">
        New billing address...
      </message>
      <message name="IDS_AUTOFILL_DIALOG_MANAGE_BILLING_ADDRESS" desc="Menu item for directing the user to a different UI that can manage billing addresses.">
        Manage billing addresses...
      </message>
      <message name="IDS_AUTOFILL_DIALOG_ADD_BILLING_DETAILS" desc="Menu item for adding new billing details (credit card + address) in the autofill dialog.">
        New billing details...
      </message>
      <message name="IDS_AUTOFILL_DIALOG_MANAGE_BILLING_DETAILS" desc="Menu item for directing the user to a different UI that can manage billing details.">
        Manage billing details...
      </message>
      <message name="IDS_AUTOFILL_DIALOG_ADD_SHIPPING_ADDRESS" desc="Menu item for adding new shipping address in the autofill dialog.">
        New shipping address...
      </message>
      <message name="IDS_AUTOFILL_DIALOG_MANAGE_SHIPPING_ADDRESS" desc="Menu item for directing the user to a different UI that can manage shipping addresses.">
        Manage shipping addresses...
      </message>
      <message name="IDS_AUTOFILL_DIALOG_USE_BILLING_FOR_SHIPPING" desc="Menu Item label that asks whether the billing info should also be used for shipping info.">
        Use billing address for shipping
      </message>

      <!-- Autofill dialog: legal documents -->
      <message name="IDS_AUTOFILL_DIALOG_LOCATION_DISCLOSURE" desc="Text at the bottom of the autofill dialog which stands alone to inform the user that they'll be sharing their location with Google Wallet if they choose to proceed.">
        By clicking Continue you agree to use Google Wallet. To protect you from fraud, information about your computer (including its location) will be shared with Google Wallet.
      </message>
      <message name="IDS_AUTOFILL_DIALOG_LOCATION_DISCLOSURE_WITH_LEGAL_DOCS" desc="Text at the bottom of the autofill dialog which informs the user that they'll be sharing their location with Google Wallet if they choose to proceed, appended to a message about accepting other legal documents like Terms of Service.">
        <ph name="LEGAL_DOC_AGREEMENT">$1<ex>By clicking Continue you agree to the Google Wallet Terms of Service and Privacy Policy.</ex></ph> To protect you from fraud, information about your computer (including its location) will be shared with Google Wallet.
      </message>
      <message name="IDS_AUTOFILL_DIALOG_LEGAL_LINKS_2" desc="Label at the bottom of the autofill dialog that is shown when a user needs to accept legal documents (ex: Privacy Policy, Terms Of Service).">
        By clicking Continue you agree to the <ph name="LEGAL_DOC_LINK_TEXT_1">$1<ex>Google Wallet Terms Of Service</ex></ph> and <ph name="LEGAL_DOC_LINK_TEXT_2">$2<ex>Privacy Policy</ex></ph>.
      </message>
      <message name="IDS_AUTOFILL_DIALOG_LEGAL_LINKS_3" desc="Label at the bottom of the autofill dialog that is shown when a user needs to accept legal documents (ex: Privacy Policy, Terms Of Service).">
        By clicking Continue you agree to the <ph name="LEGAL_DOC_LINK_TEXT_1">$1<ex>Google Wallet Terms Of Service</ex></ph>, <ph name="LEGAL_DOC_LINK_TEXT_2">$2<ex>Terms of Use</ex></ph>, and <ph name="LEGAL_DOC_LINK_TEXT_3">$3<ex>Privacy Policy</ex></ph>.
      </message>
      <message name="IDS_AUTOFILL_DIALOG_LEGAL_LINKS_4" desc="Label at the bottom of the autofill dialog that is shown when a user needs to accept legal documents (ex: Privacy Policy, Terms Of Service).">
        By clicking Continue you agree to the <ph name="LEGAL_DOC_LINK_TEXT_1">$1<ex>Google Wallet Terms Of Service</ex></ph>, <ph name="LEGAL_DOC_LINK_TEXT_2">$2<ex>Terms of Use</ex></ph>, <ph name="LEGAL_DOC_LINK_TEXT_3">$3<ex>Further Terms of Use</ex></ph>, and <ph name="LEGAL_DOC_LINK_TEXT_4">$4<ex>Privacy Policy</ex></ph>.
      </message>
      <message name="IDS_AUTOFILL_DIALOG_LEGAL_LINKS_5" desc="Label at the bottom of the autofill dialog that is shown when a user needs to accept legal documents (ex: Privacy Policy, Terms Of Service).">
        By clicking Continue you agree to the <ph name="LEGAL_DOC_LINK_TEXT_1">$1<ex>Google Wallet Terms Of Service</ex></ph>, <ph name="LEGAL_DOC_LINK_TEXT_2">$2<ex>Terms of Use</ex></ph>, <ph name="LEGAL_DOC_LINK_TEXT_3">$3<ex>Further Terms of Use</ex></ph>, <ph name="LEGAL_DOC_LINK_TEXT_4">$4<ex>Further Terms of Use</ex></ph>, and <ph name="LEGAL_DOC_LINK_TEXT_5">$5<ex>Privacy Policy</ex></ph>.
      </message>
      <message name="IDS_AUTOFILL_DIALOG_LEGAL_LINKS_6" desc="Label at the bottom of the autofill dialog that is shown when a user needs to accept legal documents (ex: Privacy Policy, Terms Of Service).">
        By clicking Continue you agree to the <ph name="LEGAL_DOC_LINK_TEXT_1">$1<ex>Google Wallet Terms Of Service</ex></ph>, <ph name="LEGAL_DOC_LINK_TEXT_2">$2<ex>Terms of Use</ex></ph>, <ph name="LEGAL_DOC_LINK_TEXT_3">$3<ex>Further Terms of Use</ex></ph>, <ph name="LEGAL_DOC_LINK_TEXT_4">$4<ex>Further Terms of Use</ex></ph>, <ph name="LEGAL_DOC_LINK_TEXT_5">$5<ex>Further Terms of Use</ex></ph>, and <ph name="LEGAL_DOC_LINK_TEXT_6">$6<ex>Privacy Policy</ex></ph>.
      </message>

      <!-- Autofill dialog: validation messages -->
      <message name="IDS_AUTOFILL_DIALOG_VALIDATION_WALLET_REQUIRES_TWO_NAMES" desc="Message displayed to user when card holder name validation for Wallet fails.">
        Google Wallet requires at least a first and last name.
      </message>
      <message name="IDS_AUTOFILL_DIALOG_VALIDATION_INVALID_EMAIL_ADDRESS" desc="Message displayed to user when email address validation fails.">
        Invalid email address. Please check and try again.
      </message>
      <message name="IDS_AUTOFILL_DIALOG_VALIDATION_INVALID_CREDIT_CARD_NUMBER" desc="Message displayed to user when credit card number validation fails.">
        Invalid card number. Please check and try again.
      </message>
      <message name="IDS_AUTOFILL_DIALOG_VALIDATION_INVALID_CREDIT_CARD_SECURITY_CODE" desc="Message displayed to user when credit card security code validation fails.">
        Invalid CVC code. Please check and try again.
      </message>
      <message name="IDS_AUTOFILL_DIALOG_VALIDATION_INVALID_CREDIT_CARD_EXPIRATION_DATE" desc="Message displayed to user when credit card expiration date validation fails.">
        The card is expired. Please check the date or enter a new card.
      </message>
      <message name="IDS_AUTOFILL_DIALOG_VALIDATION_INVALID_ZIP_CODE" desc="Message displayed to user when ZIP code (postal code) validation fails.">
        Invalid ZIP code. Please check and try again.
      </message>
      <message name="IDS_AUTOFILL_DIALOG_VALIDATION_INVALID_REGION" desc="Message displayed to user when the region (US state) validation fails.">
        Invalid state. Please check and try again.
      </message>
      <message name="IDS_AUTOFILL_DIALOG_VALIDATION_INVALID_PHONE_NUMBER" desc="Message displayed to user when phone number validation fails.">
        Invalid phone number. Please check and try again.
      </message>
      <message name="IDS_AUTOFILL_DIALOG_VALIDATION_MISSING_VALUE" desc="Message displayed to user when one of the required fields is left empty.">
        Field is required
      </message>

      <!-- Autofill dialog post-submit bubbles -->
      <message name="IDS_AUTOFILL_GENERATED_CREDIT_CARD_BUBBLE_TITLE" desc="Title of a bubble shown directly after a new card has been generated via Online Wallet using the Autofill dialog.">
        Google Wallet is protecting your card
      </message>
      <message name="IDS_AUTOFILL_GENERATED_CREDIT_CARD_BUBBLE_CONTENTS" desc="Text in the bubble explaining that a temporary card has been generated for the user's security by Google Wallet.">
        Your card has been protected with the Google Wallet Virtual Card (<ph name="FRONTING_CREDIT_CARD">|$1|<ex>Visa - 1234</ex></ph>) and this number will appear on your receipt. This purchase will still be charged to your <ph name="BACKING_CREDIT_CARD">|$2|<ex>Visa - 5678</ex></ph>.
      </message>
      <message name="IDS_AUTOFILL_NEW_CREDIT_CARD_BUBBLE_LINK" desc="The text of a link at the bottom of the autofill dialog bubble that sends users to a Google Wallet billing/card management page.">
        Manage credit cards
      </message>

      <message name="IDS_APPEARANCE_GROUP_NAME" desc="The title of the appearance group">
        Appearance
      </message>
      <message name="IDS_THEMES_GROUP_NAME" desc="The title of the themes group">
        Themes
      </message>
      <message name="IDS_THEMES_RESET_BUTTON" desc="The button to reset your theme">
        Reset to default theme
      </message>
      <if expr="is_posix and not is_macosx and not is_ios">
        <message name="IDS_THEMES_GTK_BUTTON" desc="The button to choose GTK colors and icons as the current theme.">
          Use GTK+ theme
        </message>
        <message name="IDS_THEMES_SET_CLASSIC" desc="The button to choose the classic windows theme in GTK">
          Use Classic theme
        </message>
        <message name="IDS_SHOW_WINDOW_DECORATIONS" desc="The label of a radio button in the options dialog for using the system title bar and borders.">
          Use system title bar and borders
        </message>
      </if>
      <message name="IDS_THEMES_GALLERY_BUTTON" desc="The button to get more themes">
        Get themes
      </message>

      <if expr="is_android or is_ios">
        <message name="IDS_OPTIONS_SYSTEM_PROXIES_LABEL" desc="Mobile: The info label for the 'Proxy settings' button when managed by the system.">
          <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> is using your device's system proxy settings to connect to the network.
        </message>
      </if>
      <if expr="not is_android and not is_ios">
        <message name="IDS_OPTIONS_SYSTEM_PROXIES_LABEL" desc="The info label for the 'Proxy settings' button when managed by the system.">
          <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> is using your computer's system proxy settings to connect to the network.
        </message>
      </if>
      <message name="IDS_OPTIONS_EXTENSION_PROXIES_LABEL" desc="The info label for the 'Proxy settings' button when managed by an extension.">
        Your network proxy settings are being managed by an extension.
      </message>

      <message name="IDS_GOOGLE_CLOUD_PRINT" desc="The name of the Google Cloud Print product.">
        Google Cloud Print
      </message>
      <message name="IDS_OPTIONS_CURRENT_USER_ONLY" desc="In the multi profiles user list, the tooltip text noticing that only the current user can modify these settings.">
        You can only edit settings for the current user. Switch to this user to edit settings for it.
      </message>
      <if expr="is_android">
        <message name="IDS_OPTIONS_CLOUD_PRINT_CONNECTOR_DISABLED_LABEL" desc="Mobile: The label of the cloud print setup button when it hasn't been set up yet.">
          <ph name="CLOUD_PRINT_NAME">$1<ex>Google Cloud Print</ex></ph> lets you access this device's printers from anywhere. Click to enable.
        </message>
      </if>
      <if expr="not is_android">
        <message name="IDS_OPTIONS_CLOUD_PRINT_CONNECTOR_DISABLED_LABEL" desc="The label of the cloud print setup button when it hasn't been set up yet.">
          <ph name="CLOUD_PRINT_NAME">$1<ex>Google Cloud Print</ex></ph> lets you access this computer's printers from anywhere.
        </message>
      </if>
      <message name="IDS_OPTIONS_CLOUD_PRINT_CONNECTOR_DISABLED_BUTTON" desc="The label of the cloud connector configure button when it hasn't been set up yet.">
        Add printers
      </message>
      <message name="IDS_OPTIONS_CLOUD_PRINT_CONNECTOR_ENABLED_LABEL" desc="The label of the cloud print setup button when it has been set up.">
        You have registered your printers with <ph name="CLOUD_PRINT_NAME">$1<ex>Google Cloud Print</ex></ph> using the account <ph name="EMAIL">$2<ex>foo@bar.com</ex></ph>
      </message>
      <message name="IDS_OPTIONS_CLOUD_PRINT_CONNECTOR_ENABLED_BUTTON" desc="The label of the cloud print connector configure button when it has been set up.">
        Disconnect printers
      </message>
      <message name="IDS_OPTIONS_CLOUD_PRINT_CONNECTOR_ENABLED_MANAGE_BUTTON" desc="The label of the link item for the cloud print management URL.">
        Manage print settings...
      </message>
      <message name="IDS_OPTIONS_CLOUD_PRINT_CONNECTOR_ENABLING_BUTTON" desc="The label of the cloud connector configure button while it is being set up.">
        Enabling...
      </message>
      <message name="IDS_OPTIONS_SAFEBROWSING_ENABLEPROTECTION" desc="The label of the 'Enable phishing and malware protection' checkbox">
        Enable phishing and malware protection
      </message>
      <message name="IDS_OPTIONS_PASSWORD_GENERATION_ENABLED_LABEL" desc="The label of the 'Enable automatic password generation' checkbox">
        Enable automatic password generation
      </message>
      <message name="IDS_OPTIONS_SSL_CHECKREVOCATION" desc="The label of the 'Check for server certificate revocation' checkbox">
        Check for server certificate revocation
      </message>

      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_OPTIONS_FACTORY_RESET" desc="Name of the factory reset option on the chrome settings page">
          Powerwash
        </message>
        <message name="IDS_OPTIONS_FACTORY_RESET_HEADING" desc="Name of the 'Factory reset' window">
          Restart your device
        </message>
        <message name="IDS_OPTIONS_FACTORY_RESET_DESCRIPTION" desc="Description of the factory reset option on the chrome settings page">
          Remove all user accounts and reset your <ph name="IDS_SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph> device to be just like new.
        </message>
        <message name="IDS_OPTIONS_FACTORY_RESET_BUTTON" desc="Name of the button to activate the factory reset option on the chrome settings page">
          Powerwash
        </message>
        <message name="IDS_OPTIONS_FACTORY_RESET_WARNING" desc="Warning text in the 'Factory Reset' window">
          A restart is required before your device can be reset with Powerwash.
        </message>
      </if>

      <message name="IDS_OPTIONS_IMPORT_DATA_BUTTON" desc="Label for the import data button.">
        Import bookmarks and settings...
      </message>

      <message name="IDS_OPTIONS_CONTROLLED_SETTING_POLICY" desc="Text displayed in the controlled settings bubble when a setting's value is enforced by policy.">
        This setting is enforced by your administrator.
      </message>
      <message name="IDS_OPTIONS_CONTROLLED_SETTING_EXTENSION" desc="Text displayed in the controlled settings bubble when a setting's value is enforced by an extension.">
        This setting is enforced by an extension.
      </message>
      <message name="IDS_OPTIONS_CONTROLLED_SETTING_EXTENSION_WITH_NAME" desc="Text displayed in the controlled settings bubble when a setting's value is enforced by an extension. The name of the extension would be displayed on the following line, thus the ending with ':'.">
        This setting is controlled by:
      </message>
      <message name="IDS_OPTIONS_CONTROLLED_SETTING_MANAGE_EXTENSIONS" desc="Text displayed for a link to manage extensions from the controlled settings bubble.">
        Manage extensions
      </message>
      <message name="IDS_OPTIONS_CONTROLLED_SETTING_RECOMMENDED" desc="Text displayed in the controlled settings bubble when a value is recommended for a setting through policy and the user has not overridden this recommendation.">
        You are following the administrator's recommendation for this setting.
      </message>
      <message name="IDS_OPTIONS_CONTROLLED_SETTING_HAS_RECOMMENDATION" desc="Text displayed in the controlled settings bubble when a value is recommended for a setting through policy but is currently overridden by a user-supplied value.">
        Your administrator recommends a specific value for this setting.
      </message>
      <message name="IDS_OPTIONS_CONTROLLED_SETTING_FOLLOW_RECOMMENDATION" desc="Link text displayed in the controlled settings bubble to clear the user-supplied value and start following the recommendation.">
        Follow recommendation
      </message>
      <message name="IDS_OPTIONS_CONTROLLED_SETTINGS_POLICY" desc="Text displayed in the controlled settings bubble when it is shown for a group of settings whose values are enforced by policy.">
        These settings are enforced by your administrator.
      </message>
      <message name="IDS_OPTIONS_CONTROLLED_SETTINGS_EXTENSION" desc="Text displayed in the controlled settings bubble when it is shown for a group of settings whose values are enforced by an extension.">
        These settings are enforced by an extension.
      </message>
      <message name="IDS_OPTIONS_CONTROLLED_SETTINGS_EXTENSION_WITH_NAME" desc="Text displayed in the controlled settings bubble when it is shown for a group of settings whose values are enforced by an extension. The name of the extension would be displayed on the following line, thus the ending with ':'.">
        These settings are controlled by:
      </message>

      <!-- Extension install location strings -->
      <message name="IDS_OPTIONS_INSTALL_LOCATION_UNKNOWN" desc="The text explaining the the installation location is unknown.">
        Not from Chrome Web Store.
      </message>
      <message name="IDS_OPTIONS_INSTALL_LOCATION_3RD_PARTY" desc="The text explaining the the installation came from a 3rd party app.">
        Installed by a third party.
      </message>
      <message name="IDS_OPTIONS_INSTALL_LOCATION_ENTERPRISE" desc="The text explaining the the installation of the extension came from an enterprise policy.">
        Installed by enterprise policy.
      </message>

      <!-- Extension blacklist state -->
      <message name="IDS_OPTIONS_BLACKLISTED_SECURITY_VULNERABILITY" desc="The text explaining the reason for disabling extension or app. The extension in question has a security vulnerability.">
        This extension contains a serious security vulnerability.
      </message>
      <message name="IDS_OPTIONS_BLACKLISTED_CWS_POLICY_VIOLATION" desc="The text explaining the reason for disabling extension or app. The extension in question violates Chrome Web Store policy.">
        This extension violates the Chrome Web Store policy.
      </message>
      <message name="IDS_OPTIONS_BLACKLISTED_POTENTIALLY_UNWANTED" desc="The text explaining the reason for disabling extension or app. The extension in question might have been installed without user consent.">
        This extension may have been added without your knowledge.
      </message>

      <!-- Options search page strings. -->
      <message name="IDS_OPTIONS_SEARCH_PAGE_TITLE" desc="Title of the settings search page.">
        Search results
      </message>
      <message name="IDS_OPTIONS_SEARCH_PAGE_NO_MATCHES" desc="Text description of a search that has no results.">
        No matches were found.
      </message>
      <message name="IDS_OPTIONS_SEARCH_PAGE_HELP_LABEL" desc="Help text for a serach that has no results.">
        Can't find what you're looking for?
      </message>
      <message name="IDS_OPTIONS_SEARCH_PAGE_HELP_TITLE" desc="Help link for a search that has no results.">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> help
      </message>
      <message name="IDS_OPTIONS_SEARCH_PLACEHOLDER" desc="Text placeholder for an empty search field on ChromeOS.">
        Search settings
      </message>

      <!-- Android welcome page strings -->
      <if expr="is_android">
        <message name="IDS_WELCOME_PAGE_SEARCH_BUBBLE" desc="The message displayed on the search bubble on the welcome page">
          Search the web directly
        </message>
        <message name="IDS_WELCOME_PAGE_TABS_BUBBLE" desc="The message displayed on tabs bubble on the welcome page">
          Switch between open tabs
        </message>
        <message name="IDS_WELCOME_PAGE_LEARN_MORE" desc="The text for the info hyperlink on the welcome page">
          Learn more
        </message>
      </if>

      <!-- Misc advanced option description strings. -->
      <message name="IDS_NETWORK_PREDICTION_ENABLED_DESCRIPTION" desc="In the advanced options tab, the text next to the checkbox that enables prediction of network actions.  Actions include DNS prefetching, TCP and SSL preconnection, and prerendering of webpages.">
        Predict network actions to improve page load performance
      </message>

      <!-- Collected cookies window -->
      <message name="IDS_COLLECTED_COOKIES_DIALOG_TITLE" desc="The title of the collect cookies dialog">
        Cookies set by this page
      </message>
      <message name="IDS_COLLECTED_COOKIES_ALLOWED_COOKIES_LABEL" desc="The label used to describe the cookies that were allowed">
        The following cookies were set when you viewed this page:
      </message>
      <message name="IDS_COLLECTED_COOKIES_BLOCKED_COOKIES_LABEL" desc="The label used to describe the cookies that were blocked">
        The following cookies were blocked:
      </message>
      <message name="IDS_COLLECTED_COOKIES_BLOCKED_THIRD_PARTY_BLOCKING_ENABLED" desc="The label used to describe the cookies that were blocked include a note that third-party cookies were blocked without exception.">
        The following cookies were blocked (third-party cookies are being blocked without exception):
      </message>
      <message name="IDS_COLLECTED_COOKIES_ALLOW_BUTTON" desc="A button that lets the use create a content settings exception to allow certain domains.">
        Allow
      </message>
      <message name="IDS_COLLECTED_COOKIES_SESSION_ONLY_BUTTON" desc="A button that lets the use create a content settings exception to allow certain domains for a session only. Please consider that this text will be displayed as a button when translating.">
        Clear on exit
      </message>
      <message name="IDS_COLLECTED_COOKIES_BLOCK_BUTTON" desc="A button that lets the use create a content settings exception to block certain domains.">
        Block
      </message>
      <message name="IDS_COLLECTED_COOKIES_ALLOW_RULE_CREATED" desc="A notification that is displayed when a content exception to allow cookies was created.">
        Cookies from <ph name="DOMAIN">$1<ex>example.com</ex></ph> allowed.
      </message>
      <message name="IDS_COLLECTED_COOKIES_BLOCK_RULE_CREATED" desc="A notification that is displayed when a content exception to block cookies was created.">
        Cookies from <ph name="DOMAIN">$1<ex>example.com</ex></ph> blocked.
      </message>
      <message name="IDS_COLLECTED_COOKIES_SESSION_RULE_CREATED" desc="A notification that is displayed when a content exception to allow cookies for session only was created.">
        Cookies from <ph name="DOMAIN">$1<ex>example.com</ex></ph> will be cleared on exit.
      </message>
      <message name="IDS_COLLECTED_COOKIES_MULTIPLE_ALLOW_RULES_CREATED" desc="A notification that is displayed when multiple content exceptions to allow cookies were created.">
        Cookies from multiple sites allowed.
      </message>
      <message name="IDS_COLLECTED_COOKIES_MULTIPLE_BLOCK_RULES_CREATED" desc="A notification that is displayed when multiple content exceptions to block cookies were created.">
        Cookies from multiple sites blocked.
      </message>
      <message name="IDS_COLLECTED_COOKIES_MULTIPLE_SESSION_RULES_CREATED" desc="A notification that is displayed when multiple content exceptions to allow cookies for session only were created.">
        Cookies from multiple sites will be cleared on exit.
      </message>
      <message name="IDS_COLLECTED_COOKIES_ALLOWED_COOKIES_TAB_LABEL" desc="The label in a tabbed pane that holds the UI controls for the cookies allowed while loading the page.">
        Allowed
      </message>
      <message name="IDS_COLLECTED_COOKIES_BLOCKED_COOKIES_TAB_LABEL" desc="The label in a tabbed pane that holds the UI controls for the cookies blocked while loading the page.">
        Blocked
      </message>
      <message name="IDS_COLLECTED_COOKIES_INFOBAR_MESSAGE" desc="The string shown in the infobar after the user has changed the allowed/blocked state of a cookie, reminding them to reload the page in order for the new cookies to take effect.">
        New cookie settings will take effect after reloading the page.
      </message>
      <message name="IDS_COLLECTED_COOKIES_INFOBAR_BUTTON" desc="The string used in the infobar button allowing the user to reload the page directly from the infobar.">
        Reload
      </message>

      <!-- Auto-login infobar -->
      <if expr="is_ios">
        <message name="IDS_AUTOLOGIN_INFOBAR_MESSAGE" desc="The string shown in the infobar explaining that they can press one button to auto-login instead of entering their user name and password. [length: 60em]">
          Automatic sign-in is available <ph name="EMAIL_ADDRESS">$1</ph>
        </message>
        <message name="IDS_AUTOLOGIN_INFOBAR_OK_BUTTON" desc="The string used in the infobar button that the user presses to perform the auto-login. [length: 10em]">
          Login
        </message>
      </if>
      <if expr="not is_ios">
        <message name="IDS_AUTOLOGIN_INFOBAR_MESSAGE" desc="The string shown in the infobar explaining that they can press one button to auto-login instead of entering their user name and password.">
          Sign in to this site as: <ph name="EMAIL_ADDRESS">$1</ph>
        </message>
        <message name="IDS_AUTOLOGIN_INFOBAR_OK_BUTTON" desc="The string used in the infobar button that the user presses to perform the auto-login.">
          Sign in
        </message>
      </if>
      <if expr="not is_android and not is_ios">
        <message name="IDS_AUTOLOGIN_INFOBAR_CANCEL_BUTTON" desc="The string used in the infobar button that the user presses to never see this infobar again.">
          Never offer to sign me in
        </message>
      </if>
      <if expr="is_android or is_ios">
        <message name="IDS_AUTOLOGIN_INFOBAR_CANCEL_BUTTON" desc="Mobile: The string used in the autologin infobar button that the user presses to close the infobar without logging in.">
          Cancel
        </message>
      </if>

      <message name="IDS_ONE_CLICK_SIGNIN_CONFIRM_EMAIL_DIALOG_OK_BUTTON" desc="The string used in the dialog for the button that means 'create a new profile'.">
        Create a new user
      </message>
      <message name="IDS_ONE_CLICK_SIGNIN_CONFIRM_EMAIL_DIALOG_CANCEL_BUTTON" desc="The string used in the dialog for the button that means 'go ahead and sign in'.">
        Sign in anyway
      </message>

      <!-- One click sign in bubble and dialog -->
      <message name="IDS_ONE_CLICK_BUBBLE_UNDO" desc="The text for the undo button in the one click signin bubble.">
        Undo
      </message>
      <message name="IDS_ONE_CLICK_SIGNIN_DIALOG_OK_BUTTON" desc="The text of the OK button of the one click sign in dialog.">
        OK, got it!
      </message>
      <message name="IDS_ONE_CLICK_SIGNIN_DIALOG_UNDO_BUTTON" desc="The text of the undo button of the one click sign in dialog.">
        Undo
      </message>
      <message name="IDS_ONE_CLICK_SIGNIN_DIALOG_ADVANCED" desc="The advanced link in the one click sign in dialog. Clicking the link will take the user to advanced settings.">
        Advanced
      </message>
      <message name="IDS_ONE_CLICK_SIGNIN_CONFIRM_EMAIL_DIALOG_TITLE" desc="The title of the modal dialog window that opens when the user signs in with a different account.">
        Sign in
      </message>

      <!-- Enterprise sign-in profile linking -->
      <message name="IDS_ENTERPRISE_SIGNIN_PROFILE_LINK_LEARN_MORE" desc="The link to get more information about profile linking after signing into an enterprise account">
        Learn more
      </message>
      <message name="IDS_ENTERPRISE_SIGNIN_CREATE_NEW_PROFILE" desc="Text of the button to create a new profile after enterprise account signin">
        Create a new user
      </message>
      <message name="IDS_ENTERPRISE_SIGNIN_CANCEL" desc="Text of the button to cancel signin">
        Cancel
      </message>

      <!-- Enterprise sign-in profile linking -->
      <!-- TODO(dconnelly): remove "new-style" once the old dialog is gone. -->
      <message name="IDS_ENTERPRISE_SIGNIN_CREATE_NEW_PROFILE_NEW_STYLE" desc="Text of the button to create a new profile after enterprise account signin">
        No, create new profile
      </message>
      <message name="IDS_ENTERPRISE_SIGNIN_CONTINUE_NEW_STYLE" desc="Text of the button to link the current profile with the signed-in enterprise account">
        Yes, link my data
      </message>

      <message name="IDS_ENTERPRISE_SIGNIN_ALERT_NEW_STYLE" desc="The text of the prompt to create a new profile after signing into an enterprise account">
        This account is managed by <ph name="DOMAIN">$1<ex>example.com</ex></ph>
      </message>

      <!-- Cookies Window -->
      <message name="IDS_COOKIES_WEBSITE_PERMISSIONS_WINDOW_TITLE" desc="The title of the redesigned Cookies Window that lets you manage cookies, storage quota for websites and other permissions per-website">
        Cookies and site data
      </message>
      <message name="IDS_COOKIES_SEARCH_COOKIES" desc="Placeholder text shown in the search box in the Cookies Window">
        Search cookies
      </message>
      <message name="IDS_COOKIES_REMOVE_LABEL" desc="The label of the 'Remove' button in the Cookies Window">
        Remove
      </message>
      <message name="IDS_COOKIES_REMOVE_ALL_LABEL" desc="The label of the 'Remove All' button in the Cookies Window">
        Remove all
      </message>
      <message name="IDS_COOKIES_COOKIE_NAME_LABEL" desc="The Cookie Name label">
        Name:
      </message>
      <message name="IDS_COOKIES_COOKIE_CONTENT_LABEL" desc="The Cookie Content label">
        Content:
      </message>
      <message name="IDS_COOKIES_COOKIE_DOMAIN_LABEL" desc="The Cookie Domain label">
        Domain:
      </message>
      <message name="IDS_COOKIES_COOKIE_PATH_LABEL" desc="The Cookie Path label">
        Path:
      </message>
      <message name="IDS_COOKIES_COOKIE_SENDFOR_LABEL" desc="The Cookie Send For label">
        Send for:
      </message>
      <message name="IDS_COOKIES_COOKIE_ACCESSIBLE_TO_SCRIPT_LABEL" desc="The Cookie Accessible to Script label">
        Accessible to script:
      </message>
      <message name="IDS_COOKIES_COOKIE_CREATED_LABEL" desc="The Cookie Created label">
        Created:
      </message>
      <message name="IDS_COOKIES_COOKIE_EXPIRES_LABEL" desc="The Cookie Expires label">
        Expires:
      </message>

      <message name="IDS_COOKIES_COOKIE_EXPIRES_SESSION" desc="The Cookie Expires field value for a session cookie">
        When the browsing session ends
      </message>

      <message name="IDS_COOKIES_COOKIE_SENDFOR_ANY" desc="Send Cookie for any kind of connection">
        Any kind of connection
      </message>
      <message name="IDS_COOKIES_COOKIE_SENDFOR_SECURE" desc="Send Cookie for any kind of connection">
        Secure connections only
      </message>
      <message name="IDS_COOKIES_COOKIE_ACCESSIBLE_TO_SCRIPT_YES" desc="Accessible to Script">
        Yes
      </message>
      <message name="IDS_COOKIES_COOKIE_ACCESSIBLE_TO_SCRIPT_NO" desc="Accessible to Script">
        No (HttpOnly)
      </message>
      <message name="IDS_COOKIES_COOKIE_NONESELECTED" desc="Field value when no cookie is selected">
        &lt;no cookie selected&gt;
      </message>
      <message name="IDS_COOKIES_DOMAIN_COLUMN_HEADER" desc="The label of the Domain header in the Cookies table">
        Site
      </message>
      <message name="IDS_COOKIES_DATA_COLUMN_HEADER" desc="The label of the Locally Stored Data header in the Cookies table">
        Locally stored data
      </message>
      <message name="IDS_COOKIES_SINGLE_COOKIE" desc="The text displayed when there is one cookie in the Cookies table">
        1 cookie
      </message>
      <message name="IDS_COOKIES_PLURAL_COOKIES" desc="The text displayed when there are two or more cookies in the Cookies table">
        <ph name="COOKIES">$1<ex>42</ex></ph> cookies
      </message>
      <message name="IDS_COOKIES_WEB_DATABASE_DESCRIPTION_LABEL" desc="The Database Description label">
        Description:
      </message>
      <message name="IDS_COOKIES_WEB_DATABASE_UNNAMED_NAME" desc="The the name displayed for a Database with an empty name attribute.">
        &lt;unnamed&gt;
      </message>
      <message name="IDS_COOKIES_LOCAL_STORAGE_KEY_LABEL" desc="The label of the Local Storage key being set">
        Key:
      </message>
      <message name="IDS_COOKIES_LOCAL_STORAGE_VALUE_LABEL" desc="The label of the Local Storage value being set">
        Value:
      </message>
      <message name="IDS_COOKIES_LOCAL_STORAGE_ORIGIN_LABEL" desc="The Local Storage Origin label">
        Origin:
      </message>
      <message name="IDS_COOKIES_LOCAL_STORAGE_SIZE_ON_DISK_LABEL" desc="The Local Storage Size on disk label">
        Size on disk:
      </message>
      <message name="IDS_COOKIES_LOCAL_STORAGE_LAST_MODIFIED_LABEL" desc="The Local Storage Last modified label">
        Last modified:
      </message>
      <message name="IDS_COOKIES_COOKIES" desc="Label for folder under which a list of cookies appear">
        Cookies
      </message>
      <message name="IDS_COOKIES_APPLICATION_CACHES" desc="Label for folder under which a list of application caches (name of an HTML standard) are stored">
        Application caches
      </message>
      <message name="IDS_COOKIES_APPLICATION_CACHE" desc="The text shown when there is an Application Cache (name of an HTML standard) in the Cookies table">
        Application cache
      </message>
      <message name="IDS_COOKIES_FLASH_LSO" desc="The text shown when Flash has Local Shared Objects (informally known as 'Flash cookies') stored">
        Flash data
      </message>
      <message name="IDS_COOKIES_APPLICATION_CACHE_MANIFEST_LABEL" desc="The Manifest label (manifest is a URL specified by the application cache)">
        Manifest:
      </message>
      <message name="IDS_COOKIES_SIZE_LABEL" desc="The Size label, to indicate how much space is taken by a database or application cache">
        Size:
      </message>
      <message name="IDS_COOKIES_DATABASE_STORAGE" desc="The text shown when there is either Web Database or Indexed Database Storage (names of HTML standards) in the Cookies table">
        Database storage
      </message>
      <message name="IDS_COOKIES_WEB_DATABASES" desc="Label for the folder under which a list of web databases (name of an HTML standard) are displayed">
        Web databases
      </message>
      <message name="IDS_COOKIES_WEB_DATABASE_NAME" desc="Label for the name of an individual web databases (name of an HTML standard) are displayed">
        Database name:
      </message>
      <message name="IDS_COOKIES_LOCAL_STORAGE" desc="Label for local storage (name of an HTML standard)">
        Local storage
      </message>
      <message name="IDS_COOKIES_SESSION_STORAGE" desc="Label for session storage (name of an HTML standard)">
        Session storage
      </message>
      <message name="IDS_COOKIES_INDEXED_DB" desc="The text shown when there is an Indexed Database (name of an HTML standard) in the Cookies table">
        Indexed database
      </message>
      <message name="IDS_COOKIES_INDEXED_DBS" desc="Label for Indexed Databases (name of an HTML standard)">
        Indexed databases
      </message>
      <message name="IDS_COOKIES_FILE_SYSTEM" desc="The text shown when there is a file system (name of an HTML standard) in the Cookies table">
        File system
      </message>
      <message name="IDS_COOKIES_FILE_SYSTEMS" desc="Label for the folder under which a list of file systems (name of an HTML standard) are displayed">
        File systems
      </message>
      <message name="IDS_COOKIES_FILE_SYSTEM_TEMPORARY_USAGE_LABEL" desc="Label for a temporary file system's disk usage.">
        Temporary storage:
      </message>
      <message name="IDS_COOKIES_FILE_SYSTEM_PERSISTENT_USAGE_LABEL" desc="Label for a persistent file system's disk usage.">
        Persistent storage:
      </message>
      <message name="IDS_COOKIES_FILE_SYSTEM_USAGE_NONE" desc="Value displayed when no file system of a particular type exists.">
        None
      </message>
      <message name="IDS_COOKIES_LAST_ACCESSED_LABEL" desc="The last access date label">
        Last accessed:
      </message>
      <message name="IDS_COOKIES_SERVER_BOUND_CERT" desc="The text shown when there is a channel id in the Cookies table">
        Channel ID
      </message>
      <message name="IDS_COOKIES_SERVER_BOUND_CERTS" desc="Label for the folder under which a list of TLS Channel IDs (name of an internet standard) are displayed">
        Channel IDs
      </message>
      <message name="IDS_COOKIES_SERVER_BOUND_CERT_ORIGIN_LABEL" desc="The channel id label for the server domain">
        Domain:
      </message>
      <message name="IDS_COOKIES_SERVER_BOUND_CERT_TYPE_LABEL" desc="The channel id Type label">
        Certificate Type:
      </message>
      <message name="IDS_COOKIES_SERVER_BOUND_CERT_CREATED_LABEL" desc="The channel id Created label">
        Created:
      </message>
      <message name="IDS_COOKIES_SERVER_BOUND_CERT_EXPIRES_LABEL" desc="The channel id Expires label">
        Expires:
      </message>
      <message name="IDS_CLIENT_CERT_RSA_SIGN" translateable="false" desc="">
        rsa_sign
      </message>
      <message name="IDS_CLIENT_CERT_DSS_SIGN" translateable="false" desc="">
        dss_sign
      </message>
      <message name="IDS_CLIENT_CERT_ECDSA_SIGN" translateable="false" desc="">
        ecdsa_sign
      </message>

      <!-- New Tab -->
      <if expr="is_android">
        <message name="IDS_NEW_TAB_TITLE"
            desc="Mobile: For Android devices. Do not use title case. Title of the new tab page, this is only shown while loading, then the title comes from the page.">
          New tab
        </message>
      </if>
      <if expr="not is_android">
        <message name="IDS_NEW_TAB_TITLE"
            desc="Title of the new tab page, this is only shown while loading, then the title comes from the page">
          New Tab
        </message>
      </if>
      <message name="IDS_NEW_TAB_MOST_VISITED_TITLE"
               desc="The page title for the 'Most Visited' navigation control on the New Tab Page.">
        New Tab - Most Visited
      </message>
      <message name="IDS_NEW_TAB_INCOGNITO_TITLE"
               desc="The page title for the 'Incognito' navigation control on the New Tab Page.">
        New Tab - Incognito
      </message>
      <message name="IDS_NEW_TAB_BOOKMARKS_TITLE"
               desc="The page title for the 'Bookmarks' navigation control on the New Tab Page.">
        New Tab - Bookmarks
      </message>
      <message name="IDS_NEW_TAB_OTHER_SESSIONS_TITLE"
               desc="The page title for the 'Other Sessions' navigation control on the New Tab Page.">
        New Tab - Other Devices
      </message>
      <message name="IDS_NEW_TAB_MOST_VISITED"
               desc="The name for the 'Most Visited' navigation control on the New Tab Page.">
        Most visited
      </message>
      <message name="IDS_NEW_TAB_SUGGESTIONS"
               desc="The name for the 'Suggestions' navigation control on the New Tab Page.">
        Suggested
      </message>
      <message name="IDS_APP_DEFAULT_PAGE_NAME"
               desc="Default name for the first 'Apps' page on the New Tab Page.">
        Apps
      </message>
      <message name="IDS_APP_LAUNCHER_TAB_TITLE"
               desc="Default name for stand alone web page to serve as an App launcher when the new tab doesn't show apps.">
        Apps
      </message>
      <message name="IDS_NEW_TAB_RESTORE_THUMBNAILS_SHORT_LINK"
         desc="The link that restores previously removed thumbnails. Context is 'Thumbnail removed. Undo | Restore all'">
        Restore all
      </message>
      <message name="IDS_NEW_TAB_RECENTLY_CLOSED"
               desc="The name for the 'Recently Closed' menu on the New Tab Page.">
        Recently closed
      </message>
      <message name="IDS_NEW_TAB_OTHER_SESSIONS_LABEL"
               desc="The label for the 'Other Sessions' menu on the New Tab Page, which lists tabs that are open in browsing sessions on other devices.">
        Other devices
      </message>
      <message name="IDS_NEW_TAB_OTHER_SESSIONS_EMPTY"
               desc="The message for the 'Other Sessions' menu on the New Tab Page, when there are no other sessions.">
        Access your open tabs on all of your devices.
      </message>
      <message name="IDS_NEW_TAB_OTHER_SESSIONS_LEARN_MORE_URL" desc="URL of help center page explaining what the 'Other Sessions' menu is.">
        http://support.google.com/chrome/bin/answer.py?answer=185277&amp;hl=[GRITLANGCODE]
      </message>
      <message name="IDS_NEW_TAB_OTHER_SESSIONS_OPEN_ALL"
               desc="In the 'Other Sessions' menu on the New Tab Page, the label for the command to open all tabs and windows from a session.">
        Open all
      </message>
      <message name="IDS_OTHER_DEVICES_X_MORE"
               desc="In the 'Other Sessions' section of the history page, the label for showing that X more tabs are available for a session.">
        <ph name="NUM_TABS_MORE">$1<ex>42</ex></ph> more...
      </message>
      <message name="IDS_NEW_TAB_OTHER_SESSIONS_COLLAPSE_SESSION"
               desc="In the 'Other Sessions' menu on the New Tab Page, the label for the command to collapse (hide) the list of windows and tabs in a session.">
        Collapse list
      </message>
      <message name="IDS_NEW_TAB_OTHER_SESSIONS_EXPAND_SESSION"
               desc="In the 'Other Sessions' menu on the New Tab Page, the label for the command to expand (uncollapse) the list of windows and tabs in a session.">
        Expand list
      </message>
      <if expr="is_android">
        <message name="IDS_NEW_TAB_OTR_MESSAGE_MOBILE"
                 desc="Mobile: Used when a person opens an OTR tab">
          <ph name="BEGIN_BOLD">&lt;strong&gt;</ph>You've gone incognito.<ph name="END_BOLD">&lt;/strong&gt;</ph>
          Pages you view in incognito tabs won't stick around in your browser's history, cookie store, or search history after you've closed <ph name="BEGIN_BOLD">&lt;strong&gt;</ph>all<ph name="END_BOLD">&lt;/strong&gt;</ph> of your incognito tabs. Any files you download or bookmarks you create will be kept.
          <ph name="LINE_BREAK">&lt;br /&gt;&lt;br /&gt;<ex>&lt;br /&gt;&lt;br /&gt;</ex></ph>
          <ph name="BEGIN_BOLD">&lt;strong&gt;</ph>However, you aren't invisible.<ph name="END_BOLD">&lt;/strong&gt;</ph> Going incognito doesn't hide your browsing from your employer, your internet service provider, or the websites you visit.
          <ph name="BEGIN_LINK">&lt;a href="$1"&gt;</ph>Learn more<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph> about incognito browsing.
        </message>
        <message name="IDS_NEW_TAB_OTR_MESSAGE"
                 desc="Mobile: Used when a person opens an OTR tab">
          Pages you view in incognito tabs won't stick around in your browser's history, cookie store, or search history after you've closed <ph name="BEGIN_BOLD">&lt;strong&gt;</ph>all<ph name="END_BOLD">&lt;/strong&gt;</ph> of your incognito tabs. Any files you download or bookmarks you create will be kept.
          <ph name="LINE_BREAK">&lt;br /&gt;&lt;br /&gt;<ex>&lt;br /&gt;&lt;br /&gt;</ex></ph>
          <ph name="BEGIN_BOLD">&lt;strong&gt;</ph>However, you aren't invisible.<ph name="END_BOLD">&lt;/strong&gt;</ph> Going incognito doesn't hide your browsing from your employer, your internet service provider, or the websites you visit.
          <ph name="LINE_BREAK">&lt;br /&gt;&lt;br /&gt;<ex>&lt;br /&gt;&lt;br /&gt;</ex></ph>
          <ph name="BEGIN_LINK">&lt;a href="$1"&gt;</ph>Learn more<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph> about incognito browsing.
        </message>
      </if>
      <if expr="not is_android">
        <message name="IDS_NEW_TAB_OTR_MESSAGE"
                 desc="Used when a person opens an OTR window">
          <ph name="BEGIN_BOLD">&lt;strong&gt;</ph>You've gone incognito.<ph name="END_BOLD">&lt;/strong&gt;</ph>
          Pages you view in incognito tabs won't stick around in your browser's history, cookie store, or search history after you've closed <ph name="BEGIN_BOLD">&lt;strong&gt;</ph>all<ph name="END_BOLD">&lt;/strong&gt;</ph> of your incognito tabs. Any files you download or bookmarks you create will be kept.
          <ph name="LINE_BREAK">&lt;br /&gt;&lt;br /&gt;<ex>&lt;br /&gt;&lt;br /&gt;</ex></ph>
          <ph name="BEGIN_BOLD">&lt;strong&gt;</ph>However, you aren't invisible.<ph name="END_BOLD">&lt;/strong&gt;</ph> Going incognito doesn't hide your browsing from your employer, your internet service provider, or the websites you visit.
          <ph name="LINE_BREAK">&lt;br /&gt;&lt;br /&gt;<ex>&lt;br /&gt;&lt;br /&gt;</ex></ph>
          <ph name="BEGIN_LINK">&lt;a href="$1"&gt;</ph>Learn more<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph> about incognito browsing.
        </message>
      </if>
      <message name="IDS_NEW_TAB_OTR_EXTENSIONS_MESSAGE"
               desc="Explanation in a new OTR window that extensions have been disabled while in OTR.">
        Because <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> does not control how extensions handle your personal data, all extensions have been disabled for incognito windows. You can reenable them individually in the
        <ph name="BEGIN_LINK">&lt;a href="$2"&gt;</ph>extensions manager<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>.
      </message>
      <if expr="is_android">
        <message name="IDS_NEW_TAB_GUEST_SESSION_MESSAGE"
            desc="Mobile: Used when a person enters Guest Session">
            <ph name="BEGIN_BOLD">&lt;strong&gt;</ph>You're browsing as a Guest<ph name="END_BOLD">&lt;/strong&gt;</ph>. Pages you view in this tab won't appear in the browser history or search history, and they won't leave other traces, like cookies, on the device after you sign out. Files you download and bookmarks you create won't be preserved.
          <ph name="LINE_BREAK">&lt;br /&gt;&lt;br /&gt;<ex>&lt;br /&gt;&lt;br /&gt;</ex></ph>
          <ph name="BEGIN_LINK">&lt;a href="$1"&gt;</ph>Learn more<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph> about Guest browsing.
        </message>
      </if>
      <if expr="not is_android">
        <if expr="pp_ifdef('chromeos')">
          <message name="IDS_NEW_TAB_GUEST_SESSION_MESSAGE"
              desc="Used when a person enters Guest Session">
              <ph name="BEGIN_BOLD">&lt;strong&gt;</ph>You're browsing as a Guest<ph name="END_BOLD">&lt;/strong&gt;</ph>. Pages you view in this window won't appear in the browser history and they won't leave other traces, like cookies, on the computer after you sign out. Files you download and bookmarks you create won't be preserved.
            <ph name="LINE_BREAK">&lt;br /&gt;&lt;br /&gt;<ex>&lt;br /&gt;&lt;br /&gt;</ex></ph>
            <ph name="BEGIN_LINK">&lt;a href="$1"&gt;</ph>Learn more<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph> about Guest browsing.
          </message>
        </if>
        <if expr="not pp_ifdef('chromeos')">
          <message name="IDS_NEW_TAB_GUEST_SESSION_MESSAGE"
              desc="Used when a person enters Guest Session">
              <ph name="BEGIN_BOLD">&lt;strong&gt;</ph>You're browsing as a Guest<ph name="END_BOLD">&lt;/strong&gt;</ph>. Pages you view in this window won't appear in the browser history and they won't leave other traces, like cookies, on the computer after you close all open Guest windows. Any files you download will be preserved, however.
            <ph name="LINE_BREAK">&lt;br /&gt;&lt;br /&gt;<ex>&lt;br /&gt;&lt;br /&gt;</ex></ph>
            <ph name="BEGIN_LINK">&lt;a href="$1"&gt;</ph>Learn more<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph> about Guest browsing.
          </message>
        </if>
      </if>
      <message name="IDS_NEW_TAB_RECENTLY_CLOSED_WINDOW_SINGLE"
               desc="Title of recently closed windows in the recently closed section of the new tab page when the window has a single tab">
        1 Tab
      </message>
      <message name="IDS_NEW_TAB_RECENTLY_CLOSED_WINDOW_MULTIPLE"
               desc="Title of recently closed windows in the recently closed section of the new tab page when the window has more than one tab. The % is replaced by the number of tabs">
        <ph name="TAB_COUNT">$1<ex>3</ex></ph> Tabs
      </message>
      <message name="IDS_NEW_TAB_ATTRIBUTION_INTRO"
               desc="Leading sentence above a custom logo that the theme artist has provided">
        Theme created by
      </message>
      <message name="IDS_NEW_TAB_THUMBNAIL_REMOVED_NOTIFICATION"
               desc="Notification text shown when a thumbnail has been removed from the most visited section.">
        Thumbnail removed.
      </message>
      <message name="IDS_NEW_TAB_UNDO_THUMBNAIL_REMOVE"
         desc="Action link text to undo removing a thumbnail from the most visited section.">
        Undo
      </message>
      <message name="IDS_NEW_TAB_REMOVE_THUMBNAIL_TOOLTIP"
         desc="Tooltip text for the button that removes/blacklists the thumbnail. Once removed the thumbnail will not show up on the new tab page again.">
        Don't show on this page
      </message>
      <message name="IDS_NEW_TAB_TILE_GRID_ACCESSIBLE_DESCRIPTION"
         desc="Help message for screenreader users, spoken when navigating to a tile grid for the first time.">
        Use left and right arrow keys to navigate.
      </message>
      <message name="IDS_NEW_TAB_PAGE_SWITCHER_CHANGE_TITLE"
         desc="Title for accessibility of the 'page-switcher-start' or 'page-switcher-end' button when switching from one type (determined based on title) of card to another">
        Go to <ph name="PAGE_TITLE">$1<ex>Apps</ex></ph>
      </message>
      <message name="IDS_NEW_TAB_PAGE_SWITCHER_SAME_TITLE"
         desc="Title for accessibility of the 'page-switcher-start' or 'page-switcher-end' button when switching between pages which have the same title">
        More <ph name="PAGE_TITLE">$1<ex>Apps</ex></ph>
      </message>
      <message name="IDS_NEW_TAB_PAGE_APPS_PROMO_TITLE"
         desc="Title for the app launcher promo box shown on apps pages.">
        Discover the Chrome App Launcher
      </message>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_NEW_TAB_APP_OPTIONS"
                 desc="Text for the context menu item that takes the user to the options of an app. (In sentence case.)">
          Options
        </message>
        <message name="IDS_NEW_TAB_APP_DETAILS"
                 desc="Text for the context menu item that takes the user to the app in Web Store. (In sentence case.)">
          View in Web Store
        </message>
        <if expr="is_macosx">
          <message name="IDS_NEW_TAB_APP_CREATE_SHORTCUT"
                   desc="Text for the context menu item that creates an app shortcut. (In sentence case.)">
            Create shortcut
          </message>
        </if>
        <if expr="not is_macosx">
          <message name="IDS_NEW_TAB_APP_CREATE_SHORTCUT"
                   desc="Text for the context menu item that creates an app shortcut. (In sentence case.)">
            Create shortcuts...
          </message>
        </if>
        <message name="IDS_APP_CONTEXT_MENU_OPEN_PINNED"
                 desc="Text for the button that opens the app in a pinned tab. (In sentence case.)">
          Open as pinned tab
        </message>
        <message name="IDS_APP_CONTEXT_MENU_OPEN_REGULAR"
                 desc="Text for the button that opens the app in a regular tab. (In sentence case.)">
          Open as regular tab
        </message>
        <message name="IDS_APP_CONTEXT_MENU_OPEN_WINDOW"
                 desc="Text for the button that opens the app in an app window. (In sentence case.)">
          Open as window
        </message>
        <message name="IDS_APP_CONTEXT_MENU_OPEN_FULLSCREEN"
                 desc="Text for the button that opens the app full screen. (In sentence case.)">
          Open full screen
        </message>
        <message name="IDS_APP_CONTEXT_MENU_OPEN_MAXIMIZED"
                 desc="Text for the button that opens the app maximized. (In sentence case.)">
          Open maximized
        </message>
        <message name="IDS_APP_CONTEXT_MENU_OPEN_TAB"
                 desc="Text for the button that opens the app in a tab. (In sentence case.)">
          Open in a tab
        </message>
      </if>

      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_NEW_TAB_APP_OPTIONS"
                 desc="Text for the context menu item that takes the user to the options of an app. (In title case.)">
          Options
        </message>
        <message name="IDS_NEW_TAB_APP_DETAILS"
                 desc="Text for the context menu item that takes the user to the app in Web Store. (In title case.)">
          View in Web Store
        </message>
        <if expr="is_macosx">
          <message name="IDS_NEW_TAB_APP_CREATE_SHORTCUT"
                   desc="Text for the context menu item that creates an app shortcut. (In title case.)">
            Create Shortcut
          </message>
        </if>
        <if expr="not is_macosx">
          <message name="IDS_NEW_TAB_APP_CREATE_SHORTCUT"
                   desc="Text for the context menu item that creates an app shortcut. (In title case.)">
            Create Shortcuts...
          </message>
        </if>
        <message name="IDS_APP_CONTEXT_MENU_OPEN_PINNED"
                 desc="Text for the button that opens the app in a pinned tab. (In title case.)">
          Open as Pinned Tab
        </message>
        <message name="IDS_APP_CONTEXT_MENU_OPEN_REGULAR"
                 desc="Text for the button that opens the app in a regular tab. (In title case.)">
          Open as Regular Tab
        </message>
        <message name="IDS_APP_CONTEXT_MENU_OPEN_WINDOW"
                 desc="Text for the button that opens the app in an app window. (In title case.)">
          Open as Window
        </message>
        <message name="IDS_APP_CONTEXT_MENU_OPEN_FULLSCREEN"
                 desc="Text for the button that opens the app full screen. (In title case.)">
          Open Full Screen
        </message>
        <message name="IDS_APP_CONTEXT_MENU_OPEN_MAXIMIZED"
                 desc="Text for the button that opens the app maximized. (In title case.)">
          Open Maximized
        </message>
        <message name="IDS_APP_CONTEXT_MENU_OPEN_TAB"
                 desc="Text for the button that opens the app in a tab. (In title case.)">
          Open in a Tab
        </message>
      </if>

      <if expr="is_android">
        <message name="IDS_EDIT_SIMPLE" desc="Generic word 'edit', as opposed to the menu items which have ampersands">
          Edit
        </message>
        <message name="IDS_REMOVE_SIMPLE" desc="Generic word 'remove', as opposed to the menu items which have ampersands">
          Remove
        </message>
        <message name="IDS_DELETE_SIMPLE" desc="Generic word 'delete', as opposed to the menu items which have ampersands">
          Delete
        </message>
        <message name="IDS_RECEIVED_DOCUMENTS" desc="New tab page section header for received documents">
          Received from other devices
        </message>
        <message name="IDS_NEW_TAB_CONTEXT_MENU_OPEN_IN_NEW_TAB" desc="Context menu description for loading a link in a new tab">
          Open in new tab
        </message>
        <message name="IDS_NEW_TAB_CONTEXT_MENU_OPEN_IN_INCOGNITO_TAB" desc="Context menu description for loading a link in an incognito tab">
          Open in incognito tab
        </message>
        <message name="IDS_NEW_TAB_CONTEXT_MENU_REMOVE" desc="Context menu description for removing the selected item">
          Remove
        </message>
        <message name="IDS_NEW_TAB_CONTEXT_MENU_REMOVE_ALL" desc="Context menu description for removing all items from a list">
          Remove all
        </message>
        <message name="IDS_NEW_TAB_CONTEXT_MENU_EDIT_BOOKMARK" desc="Context menu description for editing the selected bookmark">
          Edit bookmark
        </message>
        <message name="IDS_NEW_TAB_CONTEXT_MENU_DELETE_BOOKMARK" desc="Context menu description for deleting the selected bookmark">
          Delete bookmark
        </message>
        <message name="IDS_NEW_TAB_CONTEXT_MENU_BOOKMARK_SHORTCUT" desc="Context menu description for creating a shortcut to bookmark on home screen">
          Add to home screen
        </message>
        <message name="IDS_SYNC_PROMO_DESKTOP_INSTRUCTIONS" desc="Information about sync displayed on the NTP when the user has signed in on mobile but not on desktop">
          &lt;p&gt;
          Access the tabs you have open on your computer, right here.
          &lt;/p&gt;
          &lt;p&gt;
          Just open Chrome on your computer, go to the menu, and select "Sign In to Chrome..."
          &lt;/p&gt;
        </message>
        <message name="IDS_SYNC_ENABLE_SYNC" desc="Text that displayed on a link or button that allows the user to enable sync.">
          &lt;p&gt;
          Tabs you have opened in Chrome on your other devices will appear here.
          &lt;/p&gt;
          &lt;a href="#enablesync"&gt;
          Enable sync.
          &lt;/p&gt;
        </message>
      </if>

      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_NEW_TAB_CLOSE_MENU_EXPAND" desc="Text for the closed section menu footer that will restore the section.">
          Expand
        </message>
      </if>

      <message name="IDS_NEW_TAB_APP_INSTALL_HINT_LABEL" desc="Text for the plus icon on the NTP that links to the web store.">
        Add more apps
      </message>

      <!-- Multi-profile -->
      <message name="IDS_PROFILES_OPTIONS_GROUP_NAME" desc="The name of the sync group in the options dialog.">
        Users
      </message>
      <message name="IDS_PROFILES_BUBBLE_ACCESSIBLE_NAME" desc="Title of the avatar bubble menu for accessibility">
        Switch Users
      </message>
      <message name="IDS_PROFILES_BUBBLE_ACCESSIBLE_DESCRIPTION" desc="The help text for the avatar bubble.">
        Switch to a different user.
      </message>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_PROFILES_CREATE_NEW_PROFILE_OPTION" desc="Create new profile menu item and button title.">
          Add new user
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_PROFILES_CREATE_NEW_PROFILE_OPTION" desc="In Title Case. Create new profile menu item and button title.">
          Add New User
        </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_PROFILES_SWITCH_PROFILE_LINK" desc="Link in the supervised user bubble view to switch to a different profile.">
          Switch users
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_PROFILES_SWITCH_PROFILE_LINK" desc="In title case. Link in the supervised user bubble view to switch to a different profile.">
          Switch Users
        </message>
      </if>
      <if expr="not pp_ifdef('chromeos')">
        <message name="IDS_PROFILES_CREATE_NEW_PROFILE_LINK" desc="Link in the avatar menu bubble view to create a new profile.">
          New user
        </message>
      </if>
      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_PROFILES_CREATE_NEW_PROFILE_LINK" desc="Link in the avatar menu bubble view to create a new profile.">
          Sign in another account
        </message>
      </if>
      <message name="IDS_PROFILES_MANAGE_PROFILES_BUTTON" desc="Button in the avatar menu bubble view to manage profiles.">
        Manage
      </message>
      <message name="IDS_PROFILES_MANAGE_PROFILES_BUTTON_TIP" desc="Tool-tip text shown for button in the avatar menu bubble view to manage profiles.">
        Create, change, or delete profiles.
      </message>
      <message name="IDS_PROFILES_PROFILE_SIGNOUT_BUTTON" desc="Button in the avatar menu bubble view to sign-out the current profile.">
        Lock
      </message>
      <message name="IDS_PROFILES_PROFILE_SIGNOUT_BUTTON_TIP" desc="Tool-tip text shown for button in the avatar menu bubble view to sign-out the current profile.">
        Sign-out user <ph name="PROFILE_USERNAME">$1<ex>user@gmail.com</ex></ph>.
      </message>
      <message name="IDS_PROFILES_PROFILE_SIGNOUT_BUTTON_TIP_UNAVAILABLE" desc="Tool-tip text shown for button in the avatar menu bubble view to sign-out the current profile when that button is not available because the profile has not been signed-in.">
        Sign-out is possible only when signed in.
      </message>
      <message name="IDS_PROFILES_EDIT_PROFILE_LINK" desc="Link in the avatar menu bubble to edit a profile.">
        edit
      </message>
      <message name="IDS_PROFILES_ADD_PERSON_BUTTON" desc="Button in the avatar menu bubble view for creating a new user.">
        Add person
      </message>
      <message name="IDS_PROFILES_GUEST_BUTTON" desc="Button in the avatar menu bubble view for guest browsing.">
        Browse as guest
      </message>
      <message name="IDS_PROFILES_EXIT_GUEST_BUTTON" desc="Button in the avatar menu bubble view to end guest browsing.">
        End guest session
      </message>
      <message name="IDS_PROFILES_ALL_PEOPLE_BUTTON" desc="Button in the avatar menu bubble view for launching the user manager.">
        View all people
      </message>
      <message name="IDS_PROFILES_PROFILE_ADD_ACCOUNT_BUTTON" desc="Button in the avatar menu bubble view used to add an account to a profile.">
        Add account for <ph name="PROFILE_NAME">$1<ex>John</ex></ph>
      </message>
      <message name="IDS_PROFILES_PROFILE_MANAGE_ACCOUNTS_BUTTON" desc="Button in the avatar menu bubble view used to manage accounts for a profile.">
        Manage accounts
      </message>
      <message name="IDS_PROFILES_PROFILE_CHANGE_PHOTO_BUTTON" desc="Button in the avatar menu bubble view used to change the photo for a profile.">
        Change
      </message>
      <message name="IDS_PROFILES_SWITCH_TO_PROFILE_ACCESSIBLE_NAME" desc="Description of the switch to profile button. This is used for accessibility.">
        Switch to user: <ph name="PROFILE_NAME">$1<ex>First user</ex></ph>
      </message>
      <message name="IDS_PROFILES_GUEST_PROFILE_NAME" desc="Name of the guest profile.">
        Guest
      </message>
      <message name="IDS_DEFAULT_PROFILE_NAME" desc="The default name given to a profile. Displayed in wrench menu and settings UI.">
        First user
      </message>
      <message name="IDS_NUMBERED_PROFILE_NAME" desc="The name given to a newly created profile. Displayed in wrench menu and settings UI.">
        User <ph name="VALUE">$1<ex>1</ex></ph>
      </message>
      <message name="IDS_GUEST_PROFILE_NAME" desc="The name given to the guest
      browsing profile. Displayed in the avatar menu bubble and button UI.">
        Guest
      </message>

      <message name="IDS_DEFAULT_AVATAR_NAME_8" desc="The default name given to a newly created profile with the female spy avatar.">
        Agent X
      </message>
      <message name="IDS_DEFAULT_AVATAR_NAME_9" desc="The default name given to a newly created profile with the male hero avatar.">
        Spandex
      </message>
      <message name="IDS_DEFAULT_AVATAR_NAME_10" desc="The default name given to a newly created profile with the female athlete avatar.">
        Mia
      </message>
      <message name="IDS_DEFAULT_AVATAR_NAME_11" desc="The default name given to a newly created profile with the male businessman avatar.">
        Buttondown
      </message>
      <message name="IDS_DEFAULT_AVATAR_NAME_12" desc="The default name given to a newly created profile with the ninja avatar.">
        Sneaky
      </message>
      <message name="IDS_DEFAULT_AVATAR_NAME_13" desc="The default name given to a newly created profile with the alien avatar.">
        Moonbeam
      </message>
      <message name="IDS_DEFAULT_AVATAR_NAME_14" desc="The default name given to a newly created profile with the awesome face avatar.">
        Awesome
      </message>
      <message name="IDS_DEFAULT_AVATAR_NAME_15" desc="The default name given to a newly created profile with the flower avatar.">
        Petals
      </message>
      <message name="IDS_DEFAULT_AVATAR_NAME_16" desc="The default name given to a newly created profile with the pizza avatar.">
        Slice
      </message>
      <message name="IDS_DEFAULT_AVATAR_NAME_17" desc="The default name given to a newly created profile with the soccer ball avatar.">
        Fritz
      </message>
      <message name="IDS_DEFAULT_AVATAR_NAME_18" desc="The default name given to a newly created profile with the hamburger avatar.">
        Pickles
      </message>
      <message name="IDS_DEFAULT_AVATAR_NAME_19" desc="The default name given to a newly created profile with the cat avatar.">
        Fluffy
      </message>
      <message name="IDS_DEFAULT_AVATAR_NAME_20" desc="The default name given to a newly created profile with the cupcake avatar.">
        Sweetness
      </message>
      <message name="IDS_DEFAULT_AVATAR_NAME_21" desc="The default name given to a newly created profile with the dog avatar.">
        Sparky
      </message>
      <message name="IDS_DEFAULT_AVATAR_NAME_22" desc="The default name given to a newly created profile with the horse avatar.">
        Saratoga
      </message>
      <message name="IDS_DEFAULT_AVATAR_NAME_23" desc="The default name given to a newly created profile with the martini glass avatar.">
        Lemonade
      </message>
      <message name="IDS_DEFAULT_AVATAR_NAME_24" desc="The default name given to a newly created profile with the musical notes avatar.">
        Bluesy
      </message>
      <message name="IDS_DEFAULT_AVATAR_NAME_25" desc="The default name given to a newly created profile with the sun and cloud avatar.">
        Shady
      </message>

      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_PROFILES_CUSTOMIZE_PROFILE" desc="Customize profile menu item and button title.">
          Customize user...
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_PROFILES_CUSTOMIZE_PROFILE" desc="In Title Case. Customize profile menu item.">
          Customize User...
        </message>
      </if>
      <message name="IDS_PROFILES_LOCAL_PROFILE_STATE" desc="This is displayed underneath the profile name for profiles that are not signed into sync.">
        Not signed in
      </message>
      <message name="IDS_PROFILES_CREATE_BUTTON_LABEL" desc="The label that appears on the profile create button in the options dialog to allow a user to create a new profile.">
        Add new user...
      </message>
      <message name="IDS_PROFILES_MANAGE_BUTTON_LABEL" desc="The label that appears on the profile manage button in the options dialog to allow a user to manage their profile.">
        Edit...
      </message>
      <message name="IDS_PROFILES_DELETE_BUTTON_LABEL" desc="The label that appears on the profile delete button in the options dialog to allow a user to delete their profile.">
        Delete...
      </message>
      <message name="IDS_PROFILES_SUPERVISED_USER_DASHBOARD_TIP" desc="A message that appears below the Users section on the Settings page when the current user manages supervised users on the machine, providing a link to the external management dashboard page.">
        Manage your supervised users via the <ph name="BEGIN_LINK">&lt;a target="_blank" href="https://chrome.com/manage"&gt;</ph>Supervised Users Dashboard<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>.
      </message>
      <message name="IDS_PROFILES_DELETE_SINGLE_BUTTON_LABEL" desc="The label that appears on the profile delete button in the options dialog to allow a user with only one profile to delete it.">
        Delete this user
      </message>
      <message name="IDS_PROFILES_DEFAULT_NAME" desc="The name to display for a profile when the user is not signed in.">
        Default
      </message>
      <message name="IDS_SYNC_CUSTOMIZE_LINK_LABEL" desc="The text to display on the link to customize the sync settings.">
        Advanced
      </message>
      <message name="IDS_SYNC_USE_DEFAULT_SETTINGS" desc="The text to display on the link to go back to the default sync settings.">
        Use default settings
      </message>
      <message name="IDS_SYNC_LOGIN_NAME_PROHIBITED" desc="The error message shown when the user tries to sign in to sync using a name that is not allowed by the admin policy">
        Signing in with this username has been disabled by your administrator.
      </message>
      <if expr="is_android">
        <message name="IDS_SYNC_USER_NAME_IN_USE_ERROR" desc="Mobile: An error message shown when a user tries to sign in to sync using a user name that's already in use by another profile.">
          This account is already being used on this device.
        </message>
      </if>
      <if expr="not is_android">
        <message name="IDS_SYNC_USER_NAME_IN_USE_ERROR" desc="An error message shown when a user tries to sign in to sync using a user name that's already in use by another profile.">
          This account is already being used on this computer.
        </message>
      </if>
      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_MULTI_PROFILES_WARNING" desc="A notification message when user signs into a multiprofile session for the first time.">
          You have enabled multiprofiles, an unsupported experimental mode in Chrome OS. Features may change or break.
        </message>
      </if>

     <!-- SafeBrowsing -->
      <message name="IDS_SAFE_BROWSING_MALWARE_TITLE" desc="SafeBrowsing Malware HTML title">
        Malware Detected!
      </message>
      <message name="IDS_SAFE_BROWSING_MALWARE_HEADLINE" desc="SafeBrowsing Malware HTML headline">
        Warning: Something's Not Right Here!
      </message>
      <message name="IDS_SAFE_BROWSING_MALWARE_V2_TITLE" desc="SafeBrowsing Malware HTML v2 title">
        Malware Ahead!
      </message>
      <message name="IDS_SAFE_BROWSING_MALWARE_V2_HEADLINE" desc="SafeBrowsing Malware HTML v2 headline">
        The Website Ahead Contains Malware!
      </message>
      <message name="IDS_SAFE_BROWSING_MALWARE_V2_HEADLINE_SUBRESOURCE" desc="SafeBrowsing Malware HTML v2 headline, when the malware is in a subresource">
        Danger: Malware Ahead!
      </message>
      <message name="IDS_SAFE_BROWSING_MALWARE_V2_DESCRIPTION1" desc="SafeBrowsing Malware HTML v2 description, first line">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> has blocked access to <ph name="HOST_NAME">$2<ex>www.malware.com</ex></ph> for now.
      </message>
      <message name="IDS_SAFE_BROWSING_MALWARE_V2_DESCRIPTION1_SUBRESOURCE" desc="SafeBrowsing Malware HTML v2 description, first line, when the malware is on a subresource of the page">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> has blocked access to this page on <ph name="HOST_NAME">$2<ex>landing.com</ex></ph>.
      </message>
      <if expr="is_android">
        <message name="IDS_SAFE_BROWSING_MALWARE_V2_DESCRIPTION2" desc="Mobile: SafeBrowsing Malware HTML v2 description, second line">
          Even if you have visited this website safely in the past, visiting it now is very likely to infect your device with malware.
        </message>
        <message name="IDS_SAFE_BROWSING_MALWARE_V2_DESCRIPTION2_SUBRESOURCE" desc="Mobile: SafeBrowsing Malware HTML v2 description, second line, when the malware is on a subresource of the page">
          Content from <ph name="ELEMENTS_HOST_NAME">$1<ex>evil.com</ex></ph>, a known malware distributor, has been inserted into this web page. Visiting this page now is very likely to infect your device with malware.
        </message>
      </if>
      <if expr="is_macosx">
        <message name="IDS_SAFE_BROWSING_MALWARE_V2_DESCRIPTION2" desc="Mac: SafeBrowsing Malware HTML v2 description, second line">
          Even if you have visited this website safely in the past, visiting it now is very likely to infect your Mac with malware.
        </message>
        <message name="IDS_SAFE_BROWSING_MALWARE_V2_DESCRIPTION2_SUBRESOURCE" desc="Mac: SafeBrowsing Malware HTML v2 description, second line, when the malware is on a subresource of the page">
          Content from <ph name="ELEMENTS_HOST_NAME">$1<ex>evil.com</ex></ph>, a known malware distributor, has been inserted into this web page. Visiting this page now is very likely to infect your Mac with malware.
        </message>
      </if>
      <if expr="not is_android and not is_macosx">
        <message name="IDS_SAFE_BROWSING_MALWARE_V2_DESCRIPTION2" desc="SafeBrowsing Malware HTML v2 description, second line">
          Even if you have visited this website safely in the past, visiting it now is very likely to infect your computer with malware.
        </message>
        <message name="IDS_SAFE_BROWSING_MALWARE_V2_DESCRIPTION2_SUBRESOURCE" desc="SafeBrowsing Malware HTML v2 description, second line, when the malware is on a subresource of the page">
          Content from <ph name="ELEMENTS_HOST_NAME">$1<ex>evil.com</ex></ph>, a known malware distributor, has been inserted into this web page. Visiting this page now is very likely to infect your computer with malware.
        </message>
      </if>
      <message name="IDS_SAFE_BROWSING_MALWARE_V2_DESCRIPTION3" desc="SafeBrowsing Malware HTML v2 description, last line">
        Malware is malicious software that causes things like identity theft, financial loss, and permanent file deletion.
      </message>
      <message name="IDS_SAFE_BROWSING_MALWARE_V2_PROCEED_LINK" desc="SafeBrowsing Malware HTML v2 description, advanced section proceed link part.">
        Proceed at your own risk
      </message>
      <message name="IDS_SAFE_BROWSING_MALWARE_V2_SEE_MORE" desc="SafeBrowsing Malware HTML v2 advanced section see more text">
        Advanced
      </message>
      <message name="IDS_SAFE_BROWSING_MALWARE_V2_LEARN_MORE" desc="SafeBrowsing Malware HTML v2 learn more link text">
        Learn more
      </message>
      <message name="IDS_SAFE_BROWSING_MALWARE_V2_DETAILS" desc="SafeBrowsing Malware HTML v2 more details link text">
        Details about problems on this website
      </message>
      <message name="IDS_SAFE_BROWSING_MALWARE_V2_DETAILS_SUBRESOURCE" desc="SafeBrowsing Malware HTML v2 more details link text, when the malware is on a subresource of the page">
        Details about <ph name="ELEMENTS_HOST_NAME">$1<ex>evil.com</ex></ph>
      </message>
      <message name="IDS_SAFE_BROWSING_MALWARE_BACK_BUTTON" desc="SafeBrowsing Malware, back button">
        Go back
      </message>
      <message name="IDS_SAFE_BROWSING_MALWARE_DIAGNOSTIC_PAGE" desc="SafeBrowsing Malware diagnostic page">
        Safe Browsing diagnostic page
      </message>
      <message name="IDS_SAFE_BROWSING_PRIVACY_POLICY_PAGE" desc="Label for the link to SafeBrowsing Privacy policy page">
        Safe Browsing privacy policies
      </message>
      <message name="IDS_SAFE_BROWSING_PRIVACY_POLICY_PAGE_V2" desc="Label for the link to SafeBrowsing Privacy policy page v2">
        Privacy policy
      </message>
      <message name="IDS_SAFE_BROWSING_PRIVACY_POLICY_URL" translateable="false">
        http://www.google.com/chrome/intl/[GRITLANGCODE]/privacy.html
      </message>
      <message name="IDS_SAFE_BROWSING_MALWARE_V2_REPORTING_AGREE" desc="SafeBrowsing Malware v2 Details label next to checkbox">
        Improve malware detection by sending additional data to Google when I encounter warnings like this. <ph name="PRIVACY_PAGE_LINK">$1</ph>
      </message>
      <message name="IDS_SAFE_BROWSING_PHISHING_TITLE" desc="SafeBrowsing Phishing HTML title">
        Phishing Detected!
      </message>
      <message name="IDS_SAFE_BROWSING_PHISHING_V2_TITLE" desc="SafeBrowsing Phishing HTML v2 title">
        Phishing Ahead!
      </message>
      <message name="IDS_SAFE_BROWSING_PHISHING_HEADLINE" desc="SafeBrowsing Phishing HTML headline">
        Warning: Suspected phishing site!
      </message>
      <message name="IDS_SAFE_BROWSING_PHISHING_V2_HEADLINE" desc="SafeBrowsing Phishing HTML v2 headline">
        Reported Phishing Website Ahead!
      </message>
      <message name="IDS_SAFE_BROWSING_PHISHING_V2_DESCRIPTION1" desc="SafeBrowsing Phishing HTML v2 description, first line">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> has blocked access to <ph name="HOST_NAME">$2<ex>www.malware.com</ex></ph>.  This website has been reported as a phishing website.
      </message>
      <message name="IDS_SAFE_BROWSING_PHISHING_V2_DESCRIPTION2" desc="SafeBrowsing Phishing HTML v2 description, second line, link to more information.">
        Phishing websites are designed to trick you into disclosing your login, password or other sensitive information by disguising themselves as other websites you may trust.
      </message>
      <message name="IDS_SAFE_BROWSING_PHISHING_REPORT_ERROR" desc="SafeBrowsing Phishing, report error link">
        Report an error
      </message>
      <message name="IDS_SAFE_BROWSING_PHISHING_V2_REPORT_ERROR" desc="SafeBrowsing Phishing v2, report error link">
        Report an incorrect warning
      </message>
      <message name="IDS_SAFE_BROWSING_MULTI_THREAT_TITLE" desc="SafeBrowsing Multi threat HTML title">
        Malware and phishing Detected!
      </message>
      <if expr="is_android">
        <message name="IDS_SAFE_BROWSING_MULTI_THREAT_DESCRIPTION1" desc="Mobile: SafeBrowsing multiple threat HTML description, first line">
          The website at <ph name="HOST_NAME">&lt;strong&gt;$1<ex>www.malware.com</ex>&lt;/strong&gt;</ph> contains elements from sites which appear to host malware – software that can hurt your device or otherwise operate without your consent.  Just visiting a site that hosts malware can infect your device. The website also hosts contents from sites that have been reported as a “phishing” sites.  Phishing sites trick users into disclosing personal or financial information, often by pretending to represent trusted institutions, such as banks.
        </message>
      </if>
      <if expr="not is_android">
        <message name="IDS_SAFE_BROWSING_MULTI_THREAT_DESCRIPTION1" desc="SafeBrowsing multiple threat HTML description, first line">
          The website at <ph name="HOST_NAME">&lt;strong&gt;$1<ex>www.malware.com</ex>&lt;/strong&gt;</ph> contains elements from sites which appear to host malware – software that can hurt your computer or otherwise operate without your consent.  Just visiting a site that hosts malware can infect your computer. The website also hosts contents from sites that have been reported as a “phishing” sites.  Phishing sites trick users into disclosing personal or financial information, often by pretending to represent trusted institutions, such as banks.
        </message>
      </if>
      <message name="IDS_SAFE_BROWSING_MULTI_THREAT_DESCRIPTION2" desc="SafeBrowsing multiple threat HTML description, second line">
        Below is a list of all the unsafe elements for the page. Click on the Diagnostic link for more information on the malware thread for a specific resource. If you know that a resource has been erroneously reported as phishing, click the 'Report error' link.
      </message>
      <if expr="is_android">
        <message name="IDS_SAFE_BROWSING_MULTI_MALWARE_DESCRIPTION1" desc="Mobile: SafeBrowsing Malware HTML description, first line for case of several malicious subresource">
          The website at <ph name="HOST_NAME">&lt;strong&gt;$1<ex>www.goodsite.com</ex>&lt;/strong&gt;</ph> contains elements from sites which appear to host malware – software that can hurt your device or otherwise operate without your consent.  Just visiting a site that contains malware can infect your device.
        </message>
      </if>
      <if expr="not is_android">
        <message name="IDS_SAFE_BROWSING_MULTI_MALWARE_DESCRIPTION1" desc="SafeBrowsing Malware HTML description, first line for case of several malicious subresource">
          The website at <ph name="HOST_NAME">&lt;strong&gt;$1<ex>www.goodsite.com</ex>&lt;/strong&gt;</ph> contains elements from sites which appear to host malware – software that can hurt your computer or otherwise operate without your consent.  Just visiting a site that contains malware can infect your computer.
        </message>
      </if>
      <message name="IDS_SAFE_BROWSING_MULTI_MALWARE_DESCRIPTION2" desc="SafeBrowsing Malware HTML description, second line for case of several malicious subresource">
        Below is a list of all the unsafe elements for the page. Click on the Diagnostic link for more information on the thread for a specific element.
      </message>
      <message name="IDS_SAFE_BROWSING_MULTI_MALWARE_DESCRIPTION3" desc="SafeBrowsing Malware HTML description, third line for case of several malicious subresource">
        Learn more about how to protect yourself from harmful software online.
      </message>
      <message name="IDS_SAFE_BROWSING_MULTI_PHISHING_DESCRIPTION1" desc="SafeBrowsing Phishing HTML description, first line for case of several malicious subresource">
        The website at <ph name="HOST_NAME">&lt;strong&gt;$1<ex>www.malware.com</ex>&lt;/strong&gt;</ph> contains elements from sites which have been reported as “phishing” sites.  Phishing sites trick users into disclosing personal or financial information, often by pretending to represent trusted institutions, such as banks.
      </message>
      <message name="IDS_SAFE_BROWSING_PHISHING_LABEL" desc="SafeBrowsing multiple threats, phishing label in the table showing the reported threats.">
        Phishing
      </message>
      <message name="IDS_SAFE_BROWSING_MALWARE_LABEL" desc="SafeBrowsing multiple threats, malware label in the table showing the reported threats.">
        Malware
      </message>
      <if expr="is_android">
        <message name="IDS_SAFE_BROWSING_MULTI_MALWARE_DESCRIPTION_AGREE" desc="Mobile: SafeBrowsing Malware, agree checkbox text">
          I understand that visiting this site may harm my device.
        </message>
      </if>
      <if expr="not is_android">
        <message name="IDS_SAFE_BROWSING_MULTI_MALWARE_DESCRIPTION_AGREE" desc="SafeBrowsing Malware, agree checkbox text">
          I understand that visiting this site may harm my computer.
        </message>
      </if>
      <message name="IDS_SAFE_BROWSING_MULTI_MALWARE_PROCEED_BUTTON" desc="SafeBrowsing Malware, proceed button">
        Proceed anyway
      </message>

      <!-- Strings for a Safe Browsing field trial. They aren't being internationalized because the experiment is only running in English locales. -->
      <message name="IDS_SAFE_BROWSING_MALWARE_FEAR_HEADLINE" translateable="false" desc="SafeBrowsing Malware headline, condition 7">
        Your computer might get malware if you proceed. Go back!
      </message>
      <message name="IDS_SAFE_BROWSING_PHISHING_FEAR_HEADLINE" translateable="false" desc="SafeBrowsing Malware headline, condition 8">
        You might be the victim of a phishing attack if you proceed. Go back!
      </message>
      <message name="IDS_SAFE_BROWSING_MALWARE_COLLAB_HEADLINE" translateable="false" desc="SafeBrowsing Malware headline, condition 9">
        Help Google stop the spread of malware. Go back!
      </message>
      <message name="IDS_SAFE_BROWSING_PHISHING_COLLAB_HEADLINE" translateable="false" desc="SafeBrowsing Malware headline, condition 10">
        Help Google stop phishing attacks. Go back!
      </message>
      <message name="IDS_SAFE_BROWSING_MALWARE_QUESTION_HEADLINE" translateable="false" desc="SafeBrowsing Malware headline, condition 11">
        Do you want to infect your computer with a virus? If not, go back!
      </message>
      <message name="IDS_SAFE_BROWSING_PHISHING_QUESTION_HEADLINE" translateable="false" desc="SafeBrowsing Malware headline, condition 12">
        Do you want to be the victim of a phishing attack? If not, go back!
      </message>
      <message name="IDS_SAFE_BROWSING_MALWARE_BACK_HEADLINE" translateable="false" desc="SafeBrowsing Malware headline, condition 13">
        The Website Ahead Contains Malware! Go Back!
      </message>
      <message name="IDS_SAFE_BROWSING_PHISHING_BACK_HEADLINE" translateable="false" desc="SafeBrowsing Malware headline, condition 14">
        Reported Phishing Website Ahead! Go Back!
      </message>

      <message name="IDS_PLUGININSTALLER_INSTALLPLUGIN_PROMPT" desc="Info Bar message to prompt installing missing plugin">
        <ph name="PLUGIN_NAME">$1<ex>Quicktime</ex></ph> is required to display some elements on this page.
      </message>
      <message name="IDS_PLUGININSTALLER_INSTALLPLUGIN_BUTTON" desc="Info Bar button to install missing plugin">
        Install plug-in...
      </message>
      <message name="IDS_PLUGININSTALLER_PROBLEMSINSTALLING" desc="Infobar text for link to help center">
        Problems installing?
      </message>
      <message name="IDS_PLUGININSTALLER_PROBLEMSUPDATING" desc="Infobar text for link to help center">
        Problems updating?
      </message>
      <message name="IDS_PLUGIN_OUTDATED_PROMPT" desc="Info Bar message when an outdated plugin was disabled">
        <ph name="PLUGIN_NAME">$1<ex>Flash</ex></ph> was blocked because it is out of date.
      </message>
      <message name="IDS_PLUGIN_ENABLE_TEMPORARILY" desc="Info Bar button to run a blocked outdated plugin">
        Run this time
      </message>
      <message name="IDS_PLUGIN_ENABLE_ALWAYS" desc="Info Bar button to always run blocked plugins for this website">
        Always run on this site
      </message>
      <message name="IDS_PLUGIN_CRASHED_PROMPT" desc="Info Bar message to notify about a crashed plugin">
       <ph name="PLUGIN_NAME">$1<ex>Shockwave</ex> has crashed.</ph>
      </message>
      <message name="IDS_PLUGIN_DISCONNECTED_PROMPT" desc="Info Bar message to notify that the channel connecting to a plugin has encountered an error.">
        <ph name="PLUGIN_NAME">$1<ex>Shockwave</ex> has encountered an error.</ph>
      </message>
      <message name="IDS_PLUGIN_INITIALIZATION_ERROR_PROMPT" desc="Info Bar message to notify that we couldn't load a plugin">
        Could not load <ph name="PLUGIN_NAME">$1<ex>Shockwave</ex>.</ph>
      </message>
      <message name="IDS_WEBWORKER_CRASHED_PROMPT" desc="Info Bar message to notify about a crashed WebWorker">
        A part of this page (HTML WebWorker) has crashed, so it might not function correctly.
      </message>

      <message name="IDS_JS_OUT_OF_MEMORY_PROMPT" desc="Info Bar message to notify JS out of memory">
        Script on the page used too much memory. Reload to enable scripts again.
      </message>

      <message name="IDS_PAGE_INFO_SECURITY_TAB_FIRST_VISITED_TODAY"
               desc="Message in IDS_PAGE_INFO_SECURITY_TAB_PERSONAL_HISTORY_TITLE section displayed when first visited page today">
        You have never visited this site before today.
      </message>
      <message name="IDS_PAGE_INFO_SECURITY_TAB_VISITED_BEFORE_TODAY"
               desc="Message in IDS_PAGE_INFO_SECURITY_TAB_PERSONAL_HISTORY_TITLE section displayed when user has visited page before today">
        You first visited this site on <ph name="VISIT_DATE">$1<ex>Nov 7, 2007</ex></ph>.
      </message>

      <!-- External Protocol Dialog -->
      <message name="IDS_EXTERNAL_PROTOCOL_TITLE" desc="External Protocol Dialog Title">
        External Protocol Request
      </message>
      <if expr="not pp_ifdef('chromeos')">
        <message name="IDS_EXTERNAL_PROTOCOL_OK_BUTTON_TEXT" desc="Button in External Protocol Dialog that launches the application associated with the protocol">
          Launch Application
        </message>
        <message name="IDS_EXTERNAL_PROTOCOL_CANCEL_BUTTON_TEXT" desc="Button in External Protocol Dialog that cancels the application launch">
          Do Nothing
        </message>
        <message name="IDS_EXTERNAL_PROTOCOL_APPLICATION_TO_LAUNCH" desc="Information about the application being launched by the external protocol">
The following application will be launched if you accept this request:

 <ph name="APPLICATION">$1<ex>C:\Program Files\Adobe\Reader 8.0\Reader\AcroRd32.exe /u "%1"</ex></ph>
        </message>
        <message name="IDS_EXTERNAL_PROTOCOL_WARNING" desc="Warn user about external protocols.">
          If you did not initiate this request, it may represent an attempted attack on your system. Unless you took an explicit action to initiate this request, you should press Do Nothing.
        </message>
        <message name="IDS_EXTERNAL_PROTOCOL_CHECKBOX_TEXT" desc="Checkbox to remember users decision.">
          Remember my choice for all links of this type.
        </message>
      </if>
      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_EXTERNAL_PROTOCOL_OK_BUTTON_TEXT" desc="Button in External Protocol Dialog that closes the dialog">
          Close
        </message>
        <message name="IDS_EXTERNAL_PROTOCOL_CHECKBOX_TEXT" desc="Checkbox to remember users decision.">
          Never show the dialog again for all links of this type.
        </message>
      </if>

      <!-- Strings used in local directory listings -->
      <message name="IDS_DIRECTORY_LISTING_HEADER" desc="When viewing a local directory, this is the title of the page.">
        Index of <ph name="LOCATION">LOCATION<ex>c:\Documents and Settings</ex></ph>
      </message>
      <message name="IDS_DIRECTORY_LISTING_PARENT" desc="When viewing a local directory, this is the text for a link to the parent directory.">
        [parent directory]
      </message>
      <message name="IDS_DIRECTORY_LISTING_NAME" desc="When viewing a local directory, this is the text for the column above the filenames.">
        Name
      </message>
      <message name="IDS_DIRECTORY_LISTING_SIZE" desc="When viewing a local directory, this is the text for the column above the file sizes.">
        Size
      </message>
      <message name="IDS_DIRECTORY_LISTING_DATE_MODIFIED" desc="When viewing a local directory, this is the text for the column above the last modified dates.">
        Date Modified
      </message>
      <message name="IDS_DIRECTORY_LISTING_PARSING_ERROR_BOX_TEXT" desc="Text to show in a box when we failed to parse FTP directory listing.">
        Oh, no! This server is sending data <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> can't understand. Please <ph name="BEGIN_LINK">&lt;a href="http://code.google.com/p/chromium/issues/entry"&gt;</ph>report a bug<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>, and include the <ph name="BEGIN2_LINK">&lt;a href="LOCATION"&gt;</ph>raw listing<ph name="END2_LINK">&lt;/a&gt;</ph>.
      </message>

      <!-- Saving Page-->
      <message name="IDS_SAVE_PAGE_DESC_HTML_ONLY" desc="In the Save Page dialog, the description of saving only the HTML of a webpage.">
        Webpage, HTML Only
      </message>
      <message name="IDS_SAVE_PAGE_DESC_COMPLETE" desc="In the Save Page dialog, the description of saving both the HTML and all shown resources.">
        Webpage, Complete
      </message>

      <message name="IDS_OPTIONS_PRIVACY_CONTENT_SETTINGS_BUTTON" desc="Text for content settings button in Privacy options">
        Content settings...
      </message>
      <message name="IDS_OPTIONS_PRIVACY_CLEAR_DATA_BUTTON" desc="Text for clear browsing data dialog in Privacy options">
        Clear browsing data...
      </message>
      <message name="IDS_OPTIONS_FONTSETTINGS_CUSTOMIZE_FONTS_BUTTON" desc="The label of the 'Customize fonts' button">
        Customize fonts...
      </message>
      <message name="IDS_OPTIONS_PROXIES_CONFIGURE_BUTTON" desc="The label of the 'Configure proxy settings' button">
        Change proxy settings...
      </message>
      <message name="IDS_OPTIONS_CERTIFICATES_MANAGE_BUTTON" desc="The label of the 'Manage Certificates' button">
        Manage certificates...
      </message>

      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_OPTIONS_DISABLE_GDATA" desc="The text in the options panel describes that we can disable webdrive on ChromeOS.">
          Disable Google Drive on this device
        </message>
      </if>

      <message name="IDS_OPTIONS_DISABLE_WEB_SERVICES" desc="The text in the options panel describes that we can disable web services.">
        You may optionally disable these services.
      </message>
      <message name="IDS_OPTIONS_LINKDOCTOR_PREF" desc="The documentation string of the 'Use Link Doctor' preference">
        Use a web service to help resolve navigation errors
      </message>

      <message name="IDS_OPTIONS_SUGGEST_PREF" desc="The documentation string of the 'Use Suggest' preference">
        Use a prediction service to help complete searches and URLs typed in the address bar
      </message>
      <message name="IDS_OPTIONS_SPELLING_PREF" desc="The documentation string of the 'Use Spelling' preference">
        Use a web service to help resolve spelling errors
      </message>
      <message name="IDS_OPTIONS_ENABLE_LOGGING" desc="The label of the checkbox to enable/disable crash and user metrics logging">
        Automatically send usage statistics and crash reports to Google
      </message>
      <message name="IDS_OPTIONS_ENABLE_DO_NOT_TRACK" desc="The label of the checkbox to enable/disable sending the 'Do Not track' header">
        Send a ‘Do Not Track’ request with your browsing traffic
      </message>
      <message name="IDS_OPTIONS_ENABLE_DO_NOT_TRACK_BUBBLE_TEXT" desc="The text of a confirmation dialog that confirms that the user want to send the 'Do Not Track' header">
        Enabling ‘Do Not Track’ means that a request will be included with your browsing traffic. Any effect depends on whether a website responds to the request, and how the request is interpreted. For example, some websites may respond to this request by showing you ads that aren't based on other websites you've visited. Many websites will still collect and use your browsing data - for example to improve security, to provide content, services, ads and recommendations on their websites, and to generate reporting statistics.
      </message>
      <message name="IDS_OPTIONS_ENABLE_DO_NOT_TRACK_BUBBLE_TITLE" desc="The title of a confirmation dialog that confirms that the user want to send the 'Do Not Track' header">
        Do Not Track
      </message>
      <message name="IDS_OPTIONS_ENABLE_DO_NOT_TRACK_BUBBLE_ENABLE" desc="The label of a button that enables sending the 'Do Not Track' header">
        OK
      </message>
      <message name="IDS_OPTIONS_ENABLE_DO_NOT_TRACK_BUBBLE_DISABLE" desc="The label of a button that disables sending the 'Do Not Track' header">
        Cancel
      </message>
      <message name="IDS_OPTIONS_TABS_TO_LINKS_PREF" desc="The documentation string of the 'Tabs to Links' preference">
        Pressing Tab on a webpage highlights links, as well as form fields
      </message>

      <message name="IDS_OPTIONS_DEFAULT_ZOOM_LEVEL_LABEL" desc="The label of the 'Default Zoom Level' select menu">
        Page zoom:
      </message>
      <message name="IDS_OPTIONS_DEFAULT_FONT_SIZE_LABEL" desc="The label of the 'Default font size' select menu">
        Font size:
      </message>
      <message name="IDS_OPTIONS_FONT_SIZE_LABEL_VERY_SMALL" desc="The label of the 'Very Small' option">
        Very Small
      </message>
      <message name="IDS_OPTIONS_FONT_SIZE_LABEL_SMALL" desc="The label of the 'Small' option">
        Small
      </message>
      <message name="IDS_OPTIONS_FONT_SIZE_LABEL_MEDIUM" desc="The label of the 'Medium' option">
        Medium
      </message>
      <message name="IDS_OPTIONS_FONT_SIZE_LABEL_LARGE" desc="The label of the 'Large' option">
        Large
      </message>
      <message name="IDS_OPTIONS_FONT_SIZE_LABEL_VERY_LARGE" desc="The label of the 'Very Large' option">
        Very Large
      </message>
      <message name="IDS_OPTIONS_FONT_SIZE_LABEL_CUSTOM" desc="The label of the 'Custom' option">
        Custom
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGE_AND_INPUT_SETTINGS" desc="Button title for invoking the 'Language and input options' panel.">
        Language and input settings...
      </message>
      <if expr="not is_macosx">
        <message name="IDS_OPTIONS_ENABLE_SPELLCHECK" desc="The documentation string of the 'Enable spellcheck' option">
          Enable spell checking
        </message>
        <message name="IDS_OPTIONS_ENABLE_AUTO_SPELL_CORRECTION" desc="The documentation string of the 'Enable auto spell correction' option">
          Enable automatic spell correction
        </message>
        <message name="IDS_OPTIONS_DICTIONARY_DOWNLOADING" desc="The informational message to notify that download of dictionary for spellchecking is in progress.">
          Downloading spell check dictionary...
        </message>
        <message name="IDS_OPTIONS_DICTIONARY_DOWNLOAD_FAILED" desc="The error message to notify that download of dictionary for spellchecking failed.">
          Spell check dictionary download failed.
        </message>
        <message name="IDS_OPTIONS_DICTIONARY_DOWNLOAD_RETRY" desc="The button label to retry downloading the dictionary for spellchecking.">
          Retry
        </message>
        <message name="IDS_OPTIONS_DICTIONARY_DOWNLOAD_FAIL_HELP" desc="The help message to guide the user if download of dictionary for spellchecking failed multiple times.">
          Please check with your network administrator to make sure that the firewall is not blocking downloads from Google servers.
        </message>
      </if>

      <!-- General app failure messages -->
      <message name="IDS_COULDNT_OPEN_PROFILE_ERROR" desc="Error displayed on startup when the profile can not be opened correctly due to problems reading or writing files in it">
Your profile could not be opened correctly.

Some features may be unavailable.  Please check that the profile exists and you have permission to read and write its contents.
      </message>
      <message name="IDS_REFUSE_TO_RUN_AS_ROOT" desc="Short error message in displayed in an error dialog on startup if the user tries to run chrome as root">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> can not be run as root.
      </message>
      <message name="IDS_REFUSE_TO_RUN_AS_ROOT_2" desc="Detailed message in the error dialog when the user tries to start chrome as root">
        Please start <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> as a normal user. To run as root, you must specify an alternate --user-data-dir for storage of profile information.
      </message>
      <message name="IDS_PROFILE_ON_NETWORK_WARNING" desc="Warning shown to the user when she is running Chrome on Windows with a profile located on a network share.">
        Warning: your <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> settings are stored on a network drive. This may result in slowdowns, crashes, or even loss of data.
      </message>

      <!-- Can't write to user data directory dialog -->
      <message name="IDS_CANT_WRITE_USER_DIRECTORY_TITLE" desc="Title of dialog that is displayed when we can't create a directory for this user.">
        Failed To Create Data Directory
      </message>
      <message name="IDS_CANT_WRITE_USER_DIRECTORY_CHOOSE_DIRECTORY_BUTTON" desc="Text on button that opens another dialog to choose a new directory for user data.">
        Choose Another Directory...
      </message>

      <!-- Advanced Section Titles -->
      <message name="IDS_OPTIONS_ADVANCED_SECTION_TITLE_PRIVACY">
        Privacy
      </message>
      <message name="IDS_OPTIONS_ADVANCED_SECTION_TITLE_CONTENT">
        Web content
      </message>
      <message name="IDS_OPTIONS_ADVANCED_SECTION_TITLE_SECURITY">
        HTTPS/SSL
      </message>
      <message name="IDS_OPTIONS_ADVANCED_SECTION_TITLE_NETWORK">
        Network
      </message>
      <message name="IDS_OPTIONS_ADVANCED_SECTION_TITLE_LANGUAGES">
        Languages
      </message>
      <message name="IDS_OPTIONS_ADVANCED_SECTION_TITLE_SYSTEM">
        System
      </message>

      <!-- Multiple download warning-->
      <message name="IDS_MULTI_DOWNLOAD_WARNING" desc="Warning invoked if multiple downloads are attempted without user interaction.">
        This site is attempting to download multiple files. Do you want to allow this?
      </message>
      <message name="IDS_MULTI_DOWNLOAD_WARNING_ALLOW" desc="Text on the allow button in the IDS_MULTI_DOWNLOAD_WARNING dialog">
        Allow
      </message>
      <message name="IDS_MULTI_DOWNLOAD_WARNING_DENY" desc="Text on the deny button in the IDS_MULTI_DOWNLOAD_WARNING dialog">
        Deny
      </message>

      <!-- Wallpaper Manager -->
      <message name="IDS_WALLPAPER_MANAGER_ALL_CATEGORY_LABEL" desc="Wallpaper category label.">
        All
      </message>
      <message name="IDS_WALLPAPER_MANAGER_DELETE_COMMAND_LABEL" desc="Wallpaper delete command label.">
        Delete
      </message>
      <message name="IDS_WALLPAPER_MANAGER_CUSTOM_CATEGORY_LABEL" desc="Wallpaper category label.">
        Custom
      </message>
      <message name="IDS_WALLPAPER_MANAGER_SELECT_CUSTOM_LABEL" desc="Selects custom wallpaper label.">
        Custom Image:
      </message>
      <message name="IDS_WALLPAPER_MANAGER_POSITION_LABEL" desc="Custom wallpaper position label">
        Position:
      </message>
      <message name="IDS_WALLPAPER_MANAGER_COLOR_LABEL" desc="Custom wallpaper color label.">
        Color:
      </message>
      <message name="IDS_WALLPAPER_MANAGER_SHOW_CUSTOM_WALLPAPER_ON_START_WARNING" desc="The string displayed to user when set custom wallpaper">
        Wallpapers appear on the Sign-in Screen.
      </message>
      <message name="IDS_WALLPAPER_MANAGER_SURPRISE_ME_LABEL" desc="Wallpaper surprise me checkbox label. If the checkbox is checked, Chrome will automatically change wallpaper to either a random one available in wallpaper picker or a google pushed wallpaper (surprise factor).">
        Surprise Me
      </message>
      <message name="IDS_WALLPAPER_MANAGER_ACCESS_FAIL" desc="The string displayed to user when access wallpaper server failed.">
        Chrome cannot access wallpapers. Please connect to a network.
      </message>
      <message name="IDS_WALLPAPER_MANAGER_DOWNLOAD_FAIL" desc="The string displayed to user when downloading the wallpaper failed.">
        Chrome cannot download this wallpaper.
      </message>
      <message name="IDS_WALLPAPER_MANAGER_DOWNLOAD_CANCEL" desc="The string displayed to user when downloading the wallpaper canceled.">
        Download was canceled.
      </message>
      <message name="IDS_WALLPAPER_MANAGER_ACCESS_FILE_FAILURE" desc="The string displayed to user when accessing custom wallpaper on disk failed.">
        Chrome cannot access the image.
      </message>
      <message name="IDS_WALLPAPER_MANAGER_INVALID_WALLPAPER" desc="The string displayed to user when user selected wallpaper can not be set as a wallpaper.">
        Chrome cannot set wallpaper.
      </message>

      <!-- File Manager -->
      <message name="IDS_FLAGS_FILE_MANAGER_SHOW_CHECKBOXES_NAME" desc="Name of the about:flag option to show the selecting checkboxes to the Files app.">
        Show selecting checkboxes
      </message>
      <message name="IDS_FLAGS_FILE_MANAGER_SHOW_CHECKBOXES_DESCRIPTION" desc="Description of the about:flag option to show the selecting checkboxes to the Files app.">
        Show selecting checkboxes in the Files.app.
      </message>
      <message name="IDS_FLAGS_FILE_MANAGER_ENABLE_WEBSTORE_INTEGRATION" desc="Name of the about:flag option to enable the webstore integration feature in Files app.">
        Enable the integration of Webstore and Files.app.
      </message>
      <message name="IDS_FLAGS_FILE_MANAGER_ENABLE_WEBSTORE_INTEGRATION_DESCRIPTION" desc="Description of the about:flag option to enable the webstore integration feature in Files app.">
        Enables the webstore integration feature in Files.app.
      </message>
      <message name="IDS_FILE_BROWSER_ARCHIVE_DIRECTORY_LABEL" desc="/archive directory label.">
        Archives
      </message>
      <message name="IDS_FILE_BROWSER_REMOVABLE_DIRECTORY_LABEL" desc="/removable directory label.">
        External Storage
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_DIRECTORY_LABEL" desc="/drive directory label.">
        Google Drive
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_MY_DRIVE_LABEL" desc="A label for the 'My Drive' collection of Google Drive.">
        My Drive
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_SHARED_WITH_ME_COLLECTION_LABEL" desc="A label for the 'shared with me' collection of Google Drive.">
        Shared with me
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_RECENT_COLLECTION_LABEL" desc="A label for the 'Recent' collection of Google Drive.">
        Recent
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_OFFLINE_COLLECTION_LABEL" desc="A label for the 'Offline' collection of Google Drive.">
        Offline
      </message>
      <message name="IDS_FILE_BROWSER_DOWNLOADS_DIRECTORY_LABEL" desc="Downloads local directory label.">
        Downloads
      </message>
      <message name="IDS_FILE_BROWSER_DOWNLOADS_DIRECTORY_WARNING" desc="Warning displayed to user when viewing downloads folder.">
        <ph name="BEGIN_BOLD">&lt;strong&gt;</ph>Caution:<ph name="END_BOLD">&lt;/strong&gt;</ph>  These files are temporary and may be automatically deleted to free up disk space.  <ph name="BEGIN_LINK">&lt;a href="javascript://"&gt;</ph>Learn More<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>
      </message>
      <message name="IDS_FILE_BROWSER_NAME_COLUMN_LABEL" desc="Name column label.">
        Name
      </message>
      <message name="IDS_FILE_BROWSER_SIZE_COLUMN_LABEL" desc="Size column label.">
        Size
      </message>

      <message name="IDS_FILE_BROWSER_SIZE_BYTES" desc="Size in bytes.">
        $1 bytes
      </message>
      <message name="IDS_FILE_BROWSER_SIZE_KB" desc="Size in kilo bytes.">
        $1 KB
      </message>
      <message name="IDS_FILE_BROWSER_SIZE_MB" desc="Size in mega bytes.">
        $1 MB
      </message>
      <message name="IDS_FILE_BROWSER_SIZE_GB" desc="Size in giga bytes.">
        $1 GB
      </message>
      <message name="IDS_FILE_BROWSER_SIZE_TB" desc="Size in tera bytes.">
        $1 TB
      </message>
      <message name="IDS_FILE_BROWSER_SIZE_PB" desc="Size in peta bytes.">
        $1 PB
      </message>

      <message name="IDS_FILE_BROWSER_SHORTCUT_CTRL" desc="[Ctrl] key name to use in shortcuts descriptions. Shouldn't be translated in many languages actually.">
        Ctrl
      </message>
      <message name="IDS_FILE_BROWSER_SHORTCUT_ALT" desc="[Alt] key name to use in shortcuts descriptions. Shouldn't be translated in many languages actually.">
        Alt
      </message>
      <message name="IDS_FILE_BROWSER_SHORTCUT_SHIFT" desc="[Shift] key name to use in shortcuts descriptions. Shouldn't be translated in many languages actually.">
        Shift
      </message>
      <message name="IDS_FILE_BROWSER_SHORTCUT_META" desc="[Meta] key name to use in shortcuts descriptions. Shouldn't be translated in many languages actually.">
        Meta
      </message>
      <message name="IDS_FILE_BROWSER_SHORTCUT_SPACE" desc="[Space] key name to use in shortcuts descriptions. Shouldn't be translated in many languages actually.">
        Space
      </message>
      <message name="IDS_FILE_BROWSER_SHORTCUT_ENTER" desc="[Enter] key name to use in shortcuts descriptions. Shouldn't be translated in many languages actually.">
        Enter
      </message>

      <message name="IDS_FILE_BROWSER_TYPE_COLUMN_LABEL" desc="Type column label.">
        Type
      </message>
      <message name="IDS_FILE_BROWSER_DATE_COLUMN_LABEL" desc="Date column label.">
        Date modified
      </message>
      <message name="IDS_FILE_BROWSER_OFFLINE_COLUMN_LABEL" desc="Available offline column label.">
        Available offline
      </message>
      <message name="IDS_FILE_BROWSER_ERROR_CREATING_FOLDER" desc="Message displayed when we can't create a folder.">
        Unable to create folder "<ph name="FOLDER_NAME">$1<ex>Documents</ex></ph>". <ph name="ERROR_MESSAGE">$2<ex>An error occurred (code: ABORT)</ex></ph>
      </message>
      <message name="IDS_FILE_BROWSER_ERROR_INVALID_CHARACTER" desc="Error message displayed when the user enters an invalid character in a file or directory name.">
        Invalid character: $1
      </message>
      <message name="IDS_FILE_BROWSER_ERROR_RESERVED_NAME" desc="Error message displayed when the user enters a file name which is reserved.">
        This name may not be used as a file of folder name
      </message>
      <message name="IDS_FILE_BROWSER_ERROR_HIDDEN_NAME" desc="Error message displayed when the user tries to rename to or create a file started with dot.">
        Names starting with dot are reserved for the system. Please choose another name.
      </message>
      <message name="IDS_FILE_BROWSER_ERROR_WHITESPACE_NAME" desc="Error message displayed when the user enters a file name consisting of only whitespace characters.">
        Invalid name
      </message>
      <message name="IDS_FILE_BROWSER_ERROR_LONG_NAME" desc="Error message displayed when user trys to enter too long name for a file or a folder.">
        This name is too long
      </message>
      <message name="IDS_FILE_BROWSER_NEW_FOLDER_BUTTON_LABEL" desc="Label on the 'New folder' button.">
        New folder
      </message>
      <message name="IDS_FILE_BROWSER_NEW_WINDOW_BUTTON_LABEL" desc="Label on the 'New window' button.">
        New window
      </message>
      <message name="IDS_FILE_BROWSER_FILENAME_LABEL" desc="Filename text area label.">
        File name
      </message>
      <message name="IDS_FILE_BROWSER_PREPARING_LABEL" desc="Label informing about preparing the file.">
        Preparing
      </message>
      <message name="IDS_FILE_BROWSER_DRAGGING_MULTIPLE_ITEMS" desc="Tooltip message for dragging multiple files.">
        $1 items
      </message>

      <message name="IDS_FILE_BROWSER_ARCHIVE_MOUNT_FAILED" desc="Title of the error dialog when file mount operation failed.">
        Unable to open "$1": $2
      </message>
      <message name="IDS_FILE_BROWSER_UNMOUNT_FAILED" desc="Title of the error dialog when device unmount operation failed.">
       <ph name="BEGIN_BOLD">&lt;b&gt;</ph>Don't remove your device just yet!<ph name="END_BOLD">&lt;/b&gt;</ph>
       <ph name="LINE_BREAKS">&lt;br/&gt;&lt;br/&gt;</ph>
       Removing your device while it is in use may cause data loss.  Please wait until the operation is over, then eject the device using the Files app.
      </message>
      <message name="IDS_FILE_BROWSER_MOUNT_ARCHIVE" desc="Title of the action for mounting an archive file to work with its contents.">
        Open
      </message>
      <message name="IDS_FILE_BROWSER_FORMAT_DEVICE_BUTTON_LABEL" desc="Title of the action for formatting removable device.">
        Format device
      </message>
      <message name="IDS_FILE_BROWSER_UNMOUNT_DEVICE_BUTTON_LABEL" desc="Title of the action for unmounting removable device.">
        Eject device
      </message>
      <message name="IDS_FILE_BROWSER_CLOSE_ARCHIVE_BUTTON_LABEL" desc="Title of the action for closing the archive.">
        Close
      </message>
      <message name="IDS_FILE_BROWSER_ACTION_VIEW" desc="Title of the action to view (no edit) a file.">
        View
      </message>
      <message name="IDS_FILE_BROWSER_ACTION_OPEN" desc="Title of the action to open (and possibly edit) a file.">
        Open
      </message>
      <message name="IDS_FILE_BROWSER_ACTION_OPEN_GDOC" desc="Title of the action to open a Google Docs document.">
        Docs
      </message>
      <message name="IDS_FILE_BROWSER_ACTION_OPEN_GSHEET" desc="Title of the action to open a Google Spreadsheets document.">
        Sheets
      </message>
      <message name="IDS_FILE_BROWSER_ACTION_OPEN_GSLIDES" desc="Title of the action to open a Google Slides document.">
        Slides
      </message>
      <message name="IDS_FILE_BROWSER_ACTION_WATCH" desc="Title of the action to watch a video.">
        Watch
      </message>
      <message name="IDS_FILE_BROWSER_ACTION_LISTEN" desc="Title of the action to play an audio file.">
        Listen
      </message>

      <message name="IDS_FILE_BROWSER_GALLERY_NO_IMAGES" desc="In the Gallery, the message that there are no images in this directory.">
        No images in this directory.
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_ITEMS_SELECTED" desc="In the Gallery, the message showing the selected item count.">
        <ph name="COUNT">$1<ex>3</ex></ph> items selected
      </message>

      <message name="IDS_FILE_BROWSER_GALLERY_MOSAIC" desc="In the Gallery, the title on the button that switches to the mosaic view.">
        Mosaic view
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_SLIDE" desc="In the Gallery, the title on the button that switches to the slide view.">
        Slide view
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_SLIDESHOW" desc="In the Gallery, the title on the button that starts the slide show.">
        Slideshow
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_DELETE" desc="In the Gallery, the title on the button that deletes selected images.">
        Delete
      </message>

      <message name="IDS_FILE_BROWSER_GALLERY_EDIT" desc="In the Gallery, the title on the button shows/hides editing buttons.">
        Edit
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_PRINT" desc="In the Gallery, the title on the button showing the print dialog for the current image or video.">
        Print
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_SHARE" desc="In the Gallery, the title on the button that lets the user share a photo.">
        Share
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_ENTER_WHEN_DONE" desc="In the Gallery, the text in a floating panel that prompts the user to press enter when they are done with the changes to a photo.">
        Press Enter when done
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_AUTOFIX" desc="In the Gallery, the title on the button that applies the Auto-Fix filter to a photo.">
        Auto-fix
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_FIXED" desc="In the Gallery, the text in a floating panel that notifies that the photo has been automatically fixed.">
        Fixed
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_CROP" desc="In the Gallery, the title on the button that cuts out a rectangular fragment from a photo">
        Crop
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_EXPOSURE" desc="In the Gallery, the title on the button that applies the Brightness/Contrast filter to a photo.">
        Brightness
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_BRIGHTNESS" desc="In the Gallery, the text next to the Brightness slider.">
        Brightness
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_CONTRAST" desc="In the Gallery, the text next to the Contrast slider.">
        Contrast
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_ROTATE_LEFT" desc="In the Gallery, the title on the button that rotates the photo 90 degrees to the left (counterclockwise).">
        Left
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_ROTATE_RIGHT" desc="In the Gallery, the title on the button that rotates the photo 90 degrees to the right (clockwise).">
        Right
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_UNDO" desc="In the Gallery, the text on the button that reverts the most recent operation.">
        Undo
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_REDO" desc="In the Gallery, the text on the button that performs again the operation that has been recently reverted.">
        Redo
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_FILE_EXISTS" desc="In the Gallery, the message informing that file already exists when attempting to rename.">
        File already exists
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_SAVED" desc="In the Gallery, the message informing that editing saved successfully.">
        Saved
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_OVERWRITE_ORIGINAL" desc="In the Gallery, text on the button to overwrite original file along with the edited copy.">
        Overwrite original
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_OVERWRITE_BUBBLE" desc="In the Gallery, text in the bubble informing user about saving and overwriting original file.">
        Your edits are saved automatically.<ph name="BREAKS">&lt;br&gt;&lt;br&gt;<ex>&lt;br&gt;&lt;br&gt;</ex></ph>To keep a copy of the original image, uncheck "Overwrite original"
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_UNSAVED_CHANGES" desc="In the Gallery, message informing about unsaved changes, when user tries to close the tab.">
        Changes are not saved yet.
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_READONLY_WARNING" desc="In the Gallery, message informing that directory is readonly, and edited files will be saved to Downloads directory.">
        Cannot save to $1. Edited images will be saved in the Downloads folder.
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_IMAGE_ERROR" desc="In the Gallery, message informing that the image failed to load.">
        This file could not be displayed.
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_IMAGE_TOO_BIG_ERROR" desc="In the Gallery, message informing that the image is too big to be displayed.">
        This file is too large to be opened.
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_VIDEO_ERROR" desc="In the Gallery, message informing that the video could not be played.">
        This file could not be played.
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_VIDEO_DECODING_ERROR" desc="In the Gallery, message informing that an error occured while playing the movie.">
        An error occurred. Click to restart from the beginning.
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_VIDEO_LOOPED_MODE" desc="In the Gallery, message informing that the movie will be played in a loop.">
        This video will keep playing until the cows come home.
      </message>
      <message name="IDS_FILE_BROWSER_AUDIO_ERROR" desc="In the Audio Player, message informing that the file could not be played.">
        This file could not be played.
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_IMAGE_OFFLINE" desc="In the Gallery, message informing that the image could be displayed in the offline mode.">
        This image is not available offline.
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_VIDEO_OFFLINE" desc="In the Gallery, message informing that the video could not be played in the offline mode.">
        This video is not available offline.
      </message>
      <message name="IDS_FILE_BROWSER_AUDIO_OFFLINE" desc="In the Audio Player, message informing that the audio file could not be played in the offline mode.">
        This file is not available offline.
      </message>

      <message name="IDS_FILE_BROWSER_RECOVERED_FILES_FROM_GOOGLE_DRIVE_DIRECTORY_NAME" desc="The name of the direcotry which stores files recovered from Google Drive directory when the locally stored Google Drive data is found to be broken.">
        Recovered files from Google Drive
      </message>

      <message name="IDS_FILE_BROWSER_CONFLICT_DIALOG_MESSAGE" desc="Message of the conflict dialog shown when a file transfer operation is conflicted.">
        A file named "<ph name="FILENAME">$1<ex>photo.jpg</ex></ph>" already exists. What do you want to do?
      </message>
      <message name="IDS_FILE_BROWSER_CONFLICT_DIALOG_KEEP_BOTH" desc="Label of a button to keep both entries after the file transfer operation.">
        Keep both
      </message>
      <message name="IDS_FILE_BROWSER_CONFLICT_DIALOG_REPLACE" desc="Label of a button to replace the old entry with the new entry.">
        Replace
      </message>
      <message name="IDS_FILE_BROWSER_CONFLICT_DIALOG_APPLY_TO_ALL" desc="Label of checkbox in the conflict dialog box to apply the user selection to all entries.">
        Apply to all
      </message>

      <message name="IDS_FILE_BROWSER_CONFIRM_OVERWRITE_FILE" desc="Asks the user if they are sure they want to overwrite an existing file with another one.">
        A file named "$1" already exists. Do you want to replace it?
      </message>
      <message name="IDS_FILE_BROWSER_FILE_ALREADY_EXISTS" desc="Error message displayed when user tries to create a file with an existing name.">
        The file named "$1" already exists. Please choose a different name.
      </message>
      <message name="IDS_FILE_BROWSER_DIRECTORY_ALREADY_EXISTS" desc="Error message displayed when user tries to create a directory with an existing name.">
        The folder named "$1" already exists. Please choose a different name.
      </message>
      <message name="IDS_FILE_BROWSER_ERROR_RENAMING" desc="Error message.">
        Unable to rename "<ph name="FILE_NAME">$1<ex>document.pdf</ex></ph>". <ph name="ERROR_MESSAGE">$2<ex>An error occurred (code: ABORT)</ex></ph>
      </message>
      <message name="IDS_FILE_BROWSER_RENAME_BUTTON_LABEL" desc="Button Label.">
        Rename
      </message>
      <message name="IDS_FILE_BROWSER_DELETE_BUTTON_LABEL" desc="Button Label.">
        Delete
      </message>
      <message name="IDS_FILE_BROWSER_PASTE_BUTTON_LABEL" desc="Button Label.">
        Paste
      </message>
      <message name="IDS_FILE_BROWSER_COPY_BUTTON_LABEL" desc="Button Label.">
        Copy
      </message>
      <message name="IDS_FILE_BROWSER_CUT_BUTTON_LABEL" desc="Button Label.">
        Cut
      </message>
      <message name="IDS_FILE_BROWSER_OPEN_WITH_BUTTON_LABEL" desc="Menu item label, showing dialog to choose application to open selected files.">
        Open with...
      </message>
      <message name="IDS_FILE_BROWSER_ZIP_SELECTION_BUTTON_LABEL" desc="Menu item label, showing dialog to create zip file for selected files.">
        Zip selection
      </message>
      <message name="IDS_FILE_BROWSER_CREATE_FOLDER_SHORTCUT_BUTTON_LABEL" desc="Menu item label, creating a shortcut of the selected folder to the left nav.">
        Create shortcut
      </message>
      <message name="IDS_FILE_BROWSER_REMOVE_FOLDER_SHORTCUT_BUTTON_LABEL" desc="Menu item label, unpinning the selected folder from the left nav.">
        Remove shortcut
      </message>
      <message name="IDS_FILE_BROWSER_SHARE_BUTTON_LABEL" desc="Menu item label, showing dialog to share the selected file.">
        Share
      </message>

      <message name="IDS_FILE_BROWSER_COPY_FILE_NAME" desc="File Manager status message.">
        Copying <ph name="FILE_NAME">$1<ex>movie.avi</ex></ph>...
      </message>
      <message name="IDS_FILE_BROWSER_COPY_ITEMS_REMAINING" desc="File Manager status message. 'Item' is used here as a generic term for file or directory.">
        Copying $1 items...
      </message>
      <message name="IDS_FILE_BROWSER_COPY_TARGET_EXISTS_ERROR" desc="File Manager error message. 'Item' is used here as a generic term for file or directory.">
        Copy operation failed, item exists: "$1"
      </message>
      <message name="IDS_FILE_BROWSER_COPY_FILESYSTEM_ERROR" desc="File Manager error message.">
        Copy operation failed. <ph name="ERROR_MESSAGE">$1<ex>An error occurred (code: ABORT)</ex></ph>
      </message>
      <message name="IDS_FILE_BROWSER_COPY_UNEXPECTED_ERROR" desc="File Manager error message.">
        Copy operation failed, unexpected error: $1
      </message>
      <message name="IDS_FILE_BROWSER_MOVE_FILE_NAME" desc="File Manager status message.">
        Moving <ph name="FILE_NAME">$1<ex>movie.avi</ex></ph>...
      </message>
      <message name="IDS_FILE_BROWSER_MOVE_ITEMS_REMAINING" desc="File Manager status message. 'Item' is used here as a generic term for file or directory.">
        Moving $1 items...
      </message>
      <message name="IDS_FILE_BROWSER_MOVE_TARGET_EXISTS_ERROR" desc="File Manager error message. 'Item' is used here as a generic term for file or directory.">
        Move failed, item exists: "$1"
      </message>
      <message name="IDS_FILE_BROWSER_MOVE_FILESYSTEM_ERROR" desc="File Manager error message.">
        Move failed. <ph name="ERROR_MESSAGE">$1<ex>An error occurred (code: ABORT)</ex></ph>
      </message>
      <message name="IDS_FILE_BROWSER_MOVE_UNEXPECTED_ERROR" desc="File Manager error message.">
        Move failed, unexpected error: $1
      </message>
      <message name="IDS_FILE_BROWSER_ZIP_FILE_NAME" desc="File Manager status message.">
        Zipping <ph name="FILE_NAME">$1<ex>movie.avi</ex></ph>...
      </message>
      <message name="IDS_FILE_BROWSER_ZIP_ITEMS_REMAINING" desc="File Manager status message. 'Item' is used here as a generic term for file or directory.">
        Zipping $1 items...
      </message>
      <message name="IDS_FILE_BROWSER_ZIP_TARGET_EXISTS_ERROR" desc="File Manager error message. 'Item' is used here as a generic term for file or directory.">
        Zipping failed, item exists: "$1"
      </message>
      <message name="IDS_FILE_BROWSER_ZIP_FILESYSTEM_ERROR" desc="File Manager error message.">
        Zipping failed. <ph name="ERROR_MESSAGE">$1<ex>An error occurred (code: ABORT)</ex></ph>
      </message>
      <message name="IDS_FILE_BROWSER_ZIP_UNEXPECTED_ERROR" desc="File Manager error message.">
        Zipping failed, unexpected error: $1
      </message>
      <message name="IDS_FILE_BROWSER_SHARE_ERROR" desc="File Manager error message when sharing a file or a directory on Drive fails because of internet connection problems.">
        Sharing failed. Check your connection and try again later.
      </message>
      <message name="IDS_FILE_BROWSER_DELETE_FILE_NAME" desc="File Manager status message.">
        Deleting "<ph name="FILENAME">$1<ex>photo.jpg</ex></ph>"...
      </message>
      <message name="IDS_FILE_BROWSER_DELETE_ITEMS_REMAINING" desc="File Manager status message. 'Item' is used here as a generic term for file or directory.">
        Deleting <ph name="COUNT">$1<ex>10</ex></ph> items...
      </message>
      <message name="IDS_FILE_BROWSER_DELETE_ERROR" desc="Message informing about error while deleting an item or items.">
        An error occured. Some items may not have been deleted.
      </message>

      <message name="IDS_FILE_BROWSER_COPY_PROGRESS_SUMMARY" desc="Summary message for multiple copying tasks above the progress bar.">
        Copying...
      </message>
      <message name="IDS_FILE_BROWSER_MOVE_PROGRESS_SUMMARY" desc="Summary message for multiple moveing tasks above the progress bar.">
        Moveing...
      </message>
      <message name="IDS_FILE_BROWSER_ZIP_PROGRESS_SUMMARY" desc="Summary message for multiple zipping tasks above the progress bar.">
        Zipping...
      </message>
      <message name="IDS_FILE_BROWSER_DELETE_PROGRESS_SUMMARY" desc="Summary message for multiple deleting tasks above the progress bar.">
        Deleting...
      </message>
      <message name="IDS_FILE_BROWSER_TRANSFER_PROGRESS_SUMMARY" desc="Summary message for mixed operation tasks above the progress bar. 'Transferring' is used here as a generic term for copying, moving, zipping, or deleting.">
        Transferring...
      </message>
      <message name="IDS_FILE_BROWSER_ERROR_PROGRESS_SUMMARY" desc="Summary message for an error above the progress bar. This message may be placed at the next to ohter *_PROGERSS_SUMMARY messages.">
        1 error.
      </message>
      <message name="IDS_FILE_BROWSER_ERROR_PROGRESS_SUMMARY_PLURAL" desc="Summary message for multiple errors above the progress bar. This message may be placed at the next to ohter *_PROGERSS_SUMMARY messages.">
        <ph name="COUNT">$1<ex>10</ex></ph> errors.
      </message>

      <message name="IDS_FILE_BROWSER_CANCEL_LABEL" desc="Cancel label.">
        Cancel
      </message>
      <message name="IDS_FILE_BROWSER_OPEN_LABEL" desc="Open label.">
        Open
      </message>
      <message name="IDS_FILE_BROWSER_SAVE_LABEL" desc="Save label.">
        Save
      </message>
      <message name="IDS_FILE_BROWSER_OK_LABEL" desc="OK label.">
        OK
      </message>
      <message name="IDS_FILE_BROWSER_UPLOAD_LABEL" desc="Upload label.">
        Upload
      </message>
      <message name="IDS_FILE_BROWSER_SEARCH_TEXT_LABEL" desc="Search text field label.">
        Search
      </message>

      <message name="IDS_FILE_BROWSER_DEFAULT_NEW_FOLDER_NAME" desc="The default name for a newly created folder.">
        New Folder
      </message>

     <message name="IDS_FILE_BROWSER_CONFIRM_DELETE_ONE" desc="Asks the user if they are sure they want to delete a single file.">
       Are you sure you want to delete "$1"?
     </message>
     <message name="IDS_FILE_BROWSER_CONFIRM_DELETE_SOME" desc="Asks the user if they are sure they want to delete multiple files/directories.">
       Are you sure you want to delete $1 items?
     </message>

      <message name="IDS_FILE_BROWSER_UNKNOWN_FILESYSTEM_WARNING" desc="Displayed when device contents cannot be read because filesystem is unknown.">
        This device cannot be opened because its filesystem was not recognized.
      </message>
      <message name="IDS_FILE_BROWSER_UNSUPPORTED_FILESYSTEM_WARNING" desc="Displayed when device contents cannot be read because filesystem is unsupported.">
        This device cannot be opened because its filesystem is not supported.
      </message>
      <message name="IDS_FILE_BROWSER_FORMATTING_WARNING" desc="Displayed when you attempt to format device.">
        Formatting the removable media is going to erase all data. Do you wish to continue?
      </message>

      <message name="IDS_FILE_BROWSER_SUGGEST_DIALOG_TITLE" desc="Title of the suggest app dialog, which shows the list of the apps which supports the selected file.">
        Select an app to open this file
      </message>
      <message name="IDS_FILE_BROWSER_SUGGEST_DIALOG_LINK_TO_WEBSTORE" desc="Text of the link to the app list on Chrome Webstore, which shows the more apps than in the suggest app dialog.">
        See more...
      </message>
      <message name="IDS_FILE_BROWSER_SUGGEST_DIALOG_INSTALLATION_FAILED" desc="Error message when the installation of the app from WebStore is failed.">
        Installation failed.
      </message>
      <message name="IDS_FILE_BROWSER_SUGGEST_DIALOG_MESSAGE_FOR_EXECUTABLE" desc="Information message in the suggest app dialog. It is shown when Files.app is suggesting an altanative application from Chrome WebStore becauase the user is trying to open an executable file which doesn't support on ChromeOS.">
        It looks like you're trying to run a classic application. Please try one of these newer web-based apps as an alternative.
      </message>

      <message name="IDS_FILE_BROWSER_SELECT_FOLDER_TITLE" desc="Select folder title.">
        Select a folder to open
      </message>
      <message name="IDS_FILE_BROWSER_SELECT_UPLOAD_FOLDER_TITLE" desc="Select folder title for upload.">
        Select a folder to upload
      </message>
      <message name="IDS_FILE_BROWSER_SELECT_OPEN_FILE_TITLE" desc="Select open file title.">
        Select a file to open
      </message>
      <message name="IDS_FILE_BROWSER_SELECT_OPEN_MULTI_FILE_TITLE" desc="Select open multi file title.">
        Select one or more files
      </message>
      <message name="IDS_FILE_BROWSER_SELECT_SAVEAS_FILE_TITLE" desc="Select saveas file title.">
        Save file as
      </message>

      <message name="IDS_FILE_BROWSER_MANY_FILES_SELECTED" desc="Many files selected.">
        <ph name="SELCTED_FILE_COUNT">$1<ex>13</ex></ph> files selected
      </message>
      <message name="IDS_FILE_BROWSER_MANY_DIRECTORIES_SELECTED" desc="Many directories selected.">
        <ph name="SELCTED_FOLDERS_COUNT">$1<ex>2</ex></ph> folders selected
      </message>
      <message name="IDS_FILE_BROWSER_MANY_ENTRIES_SELECTED" desc="Many items (both files and directories) selected.">
        <ph name="SELCTED_FILES_COUNT">$1<ex>21</ex></ph> items selected
      </message>
      <message name="IDS_FILE_BROWSER_CALCULATING_SIZE" desc="Message informing the user that total items size is being calculated.">
        Calculating size
      </message>
      <message name="IDS_FILE_BROWSER_OFFLINE_HEADER" desc="Message informing the user that the browser is offline.">
        You are offline
      </message>
      <message name="IDS_FILE_BROWSER_OFFLINE_MESSAGE" desc="Message informing the user how to make the selected file available offline.">
        To save this file for offline use, get back online and&lt;br&gt;select the <ph name="OFFLINE_CHECKBOX_NAME">'$1'<ex>'Available offline'</ex></ph> checkbox for this file.
      </message>
      <message name="IDS_FILE_BROWSER_OFFLINE_MESSAGE_PLURAL" desc="Message informing the user how to make multiple selected files available offline.">
        To save these files for offline use, get back online and&lt;br&gt;select the <ph name="OFFLINE_CHECKBOX_NAME">'$1'<ex>'Available offline'</ex></ph> checkbox for these files.
      </message>
      <message name="IDS_FILE_BROWSER_HOSTED_OFFLINE_MESSAGE" desc="Message informing the user that the selected file is only available online.">
        You must be online to access this file.
      </message>
      <message name="IDS_FILE_BROWSER_HOSTED_OFFLINE_MESSAGE_PLURAL" desc="Message informing the user that the selected files are only available online.">
        You must be online to access these files.
      </message>
      <message name="IDS_FILE_BROWSER_CONFIRM_MOBILE_DATA_USE" desc="Message informing the user that opening the file from Google Drive will use mobile data.">
        Fetching this file will use approximately <ph name="FILE_SIZE">$1<ex>44 MB</ex></ph> of mobile data.
      </message>
      <message name="IDS_FILE_BROWSER_CONFIRM_MOBILE_DATA_USE_PLURAL" desc="Message informing the user that opening several files from Google Drive will use mobile data.">
        Fetching these files will use approximately <ph name="FILE_SIZE">$1<ex>44 MB</ex></ph> of mobile data.
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_MOBILE_CONNECTION_OPTION" desc="Option that determines if we will allow Google Drive content sync over mobile connections.">
        Do not use mobile data for sync
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_SHOW_HOSTED_FILES_OPTION" desc="Option that determines if we will show hosted Google Docs files in file browser.">
        Show Google Docs files
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_MENU_HELP" desc="In the Google Drive settings menu, name of the Help item.">
        Help
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_BUY_MORE_SPACE" desc="Menu item, offering user to buy more space on Google Drive">
        Buy more storage...
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_VISIT_DRIVE_GOOGLE_COM" desc="Menu item, redirecting user to drive.google.com">
        Go to drive.google.com...
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_SPACE_AVAILABLE_LONG" desc="Text showing space left on Google Drive">
        Google Drive space left: <ph name="SPACE_AVAILABLE">$1<ex>400 MB</ex></ph>.
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_BUY_MORE_SPACE_LINK" desc="Text on the link, offering user to buy more space on Google Drive">
        Buy more storage
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_OUT_OF_SPACE_HEADER" desc="Message informing the user that there is not enough space to make the selected file(s) available offline.">
        You have run out of space
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_SERVER_OUT_OF_SPACE_HEADER" desc="Message informing the user that there is not enough space on server side to store a new file.">
        You have run out of space in Google Drive
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_LOADING" desc="Message informing the user that we are loading content of Google Drive.">
        Hang with us. We’re fetching your files.
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_CANNOT_REACH" desc="Message informing the user that Google Drive can not be reached at this moment.">
        Google Drive cannot be reached at this time.
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_LEARN_MORE" desc="In the Loading Google Drive page and in the Welcome to Google Drive banner, a text on the Learn More link.">
        Learn more
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_OUT_OF_SPACE_MESSAGE" desc="Message informing the user how to make more space available to save the selected file offline.">
        To save "<ph name="FILE_NAME">$1<ex>document.pdf</ex></ph>" offline you must free up an additional <ph name="TOTAL_FILE_SIZE">$2<ex>3.3 MB</ex></ph> of space:<ph name="MARKUP_1">&lt;br&gt;<ex>&lt;br&gt;</ex></ph>
        <ph name="MARKUP_2">&lt;ul&gt;&lt;li&gt;<ex>&lt;ul&gt;&lt;li&gt;</ex></ph>unpin files that you no longer need to access offline<ph name="MARKUP_3">&lt;/li&gt;<ex>>&lt;/li&gt;</ex></ph>
        <ph name="MARKUP_4">&lt;li&gt;<ex>&lt;li&gt;</ex></ph>delete files from your Downloads folder<ph name="MARKUP_5">&lt;/li&gt;&lt;/ul&gt;<ex>&lt;/li&gt;&lt;/ul&gt;</ex></ph>
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_SERVER_OUT_OF_SPACE_MESSAGE" desc="Message informing the user how to make more space available on Google Drive server side.">
        You do not have enough space in Google Drive to save "<ph name="FILE_NAME">$1<ex>document.pdf</ex></ph>". Please remove files or <ph name="BEGIN_LINK">&lt;a target='_blank' href='$2'&gt;</ph>buy more storage space<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>.
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_NOT_REACHED" desc="Message informing that Drive is unreachable and encuraging user to log out from the device and log back in.">
        Google Drive could not be reached. Please <ph name="BEGIN_LINK">&lt;a href="javascript://"&gt;<ex>&lt;a href="javascript://"&gt;</ex></ph>log out<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph> and log back in.
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_WELCOME_TITLE" desc="In the Welcome to Google Drive banner, title of banner.">
        Welcome to Google Drive!
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_WELCOME_TITLE_ALTERNATIVE" desc="In the Welcome to Google Drive banner, title of the alternative banner offering 100GB free storage.">
        Get 100 GB free with Google Drive
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_WELCOME_TITLE_ALTERNATIVE_1TB" desc="In the Welcome to Google Drive banner, title of the alternative banner offering 1TB free storage.">
        Get 1 TB free with Google Drive
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_WELCOME_TEXT_SHORT" desc="In the Welcome to Google Drive banner, text of the welcome message, short version.">
        All files saved in this folder are backed up online automatically
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_WELCOME_TEXT_LONG" desc="In the Welcome to Google Drive banner, text of the welcome message, long version.">
        <ph name="MARKUP_1">&lt;p&gt;&lt;strong&gt;<ex>&lt;strong&gt;</ex></ph>Access files from everywhere, even offline.<ph name="MARKUP_2">&lt;/strong&gt;<ex>&lt;/strong&gt;</ex></ph>
        Files in Google Drive are up-to-date and available from any device.<ph name="MARKUP_3">&lt;/p&gt;<ex>&lt;/p&gt;</ex></ph>
        <ph name="MARKUP_4">&lt;p&gt;&lt;strong&gt;<ex>&lt;strong&gt;</ex></ph>Keep your files safe.<ph name="MARKUP_5">&lt;/strong&gt;<ex>&lt;/strong&gt;</ex></ph>
        No matter what happens to your device, your files are safely stored in Google Drive.<ph name="MARKUP_6">&lt;/p&gt;<ex>&lt;/p&gt;</ex></ph>
        <ph name="MARKUP_7">&lt;p&gt;&lt;strong&gt;<ex>&lt;strong&gt;</ex></ph>Share, create and collaborate<ph name="MARKUP_8">&lt;/strong&gt;<ex>&lt;/strong&gt;</ex></ph>
        on files with others all in one place.<ph name="MARKUP_9">&lt;/p&gt;<ex>&lt;/p&gt;</ex></ph>
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_WELCOME_CHECK_ELIGIBILITY" desc="In the Welcome to Google Drive banner, a text on the button to check promo eligibility.">
        Check eligibility
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_WELCOME_DISMISS" desc="In the Welcome to Google Drive banner, a text on the button to dismiss the banner.">
        Dismiss
      </message>
      <message name="IDS_FILE_BROWSER_NO_ACTION_FOR_FILE" desc="Message shown when user tries to open file, which we can't handle.">
        This file type is not supported. Please visit the <ph name="BEGIN_LINK">&lt;a target='_blank' href='$1'&gt;<ex>&lt;a target='_blank' href='$1'&gt;</ex></ph>Chrome Web Store<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph> to find an app that can open this type of file.
        <ph name="BEGIN_LINK_HELP">&lt;a target='_blank' href='$2'&gt;<ex>&lt;a target='_blank' href='$2'&gt;</ex></ph>Learn More<ph name="END_LINK_HELP">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>
      </message>
      <message name="IDS_FILE_BROWSER_NO_ACTION_FOR_EXECUTABLE" desc="Message shown when user tries to open a windows executable file, which we can't handle.">
        This file type is not supported. Please visit the <ph name="BEGIN_LINK">&lt;a target='_blank' href='$1'&gt;<ex>&lt;a target='_blank' href='$1'&gt;</ex></ph>Chrome Web Store<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph> to find a similar app.
        <ph name="BEGIN_LINK_HELP">&lt;a target='_blank' href='$2'&gt;<ex>&lt;a target='_blank' href='$2'&gt;</ex></ph>Learn More<ph name="END_LINK_HELP">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>
      </message>
      <message name="IDS_FILE_BROWSER_NO_ACTION_FOR_CRX_TITLE" desc="Message shown when a user tries to open a *.crx file, which we don't handle in Files.app.">
        Wait just a sec
      </message>
      <message name="IDS_FILE_BROWSER_NO_ACTION_FOR_CRX" desc="Message shown when a user tries to open a *.crx file, which we don't handle in Files.app.">
        We're constantly looking for ways to make your browsing safer. Previously, any website could prompt you to add an extension into your browser. In the latest versions of Google Chrome, you must explicitly tell Chrome that you want to install these extensions by adding them through the Extensions page. <ph name="BEGIN_LINK">&lt;a target='_blank' href='https://support.google.com/chrome_webstore/answer/2664769?p=crx_warning&amp;rd=1'&gt;</ph>Lean more<ph name="END_LINK">&lt;/a&gt;</ph>
      </message>

      <message name="IDS_FILE_BROWSER_FOLDER" desc="Folder entry type">
        Folder
      </message>
      <message name="IDS_FILE_BROWSER_GENERIC_FILE_TYPE" desc="An entry type for a file with an extension that the File Manager does not recognize.">
        <ph name="FILE_TYPE">$1<ex>ABC</ex></ph> file
      </message>
      <message name="IDS_FILE_BROWSER_NO_EXTENSION_FILE_TYPE" desc="An entry type for a file without an extension">
        File
      </message>
      <message name="IDS_FILE_BROWSER_IMAGE_FILE_TYPE" desc="Image file type">
        $1 image
      </message>
      <message name="IDS_FILE_BROWSER_VIDEO_FILE_TYPE" desc="Video file type">
        $1 video
      </message>
      <message name="IDS_FILE_BROWSER_AUDIO_FILE_TYPE" desc="Audio file type">
        $1 audio
      </message>
      <message name="IDS_FILE_BROWSER_HTML_DOCUMENT_FILE_TYPE" desc="HTML document file type">
        HTML document
      </message>
      <message name="IDS_FILE_BROWSER_ZIP_ARCHIVE_FILE_TYPE" desc="Zip archive file type">
        Zip archive
      </message>
      <message name="IDS_FILE_BROWSER_RAR_ARCHIVE_FILE_TYPE" desc="RAR archive file type">
        RAR archive
      </message>
      <message name="IDS_FILE_BROWSER_TAR_ARCHIVE_FILE_TYPE" desc="Tar archive file type">
        Tar archive
      </message>
      <message name="IDS_FILE_BROWSER_TAR_BZIP2_ARCHIVE_FILE_TYPE" desc="Bzip2 compressed tar archive file type">
        Bzip2 compressed tar archive
      </message>
      <message name="IDS_FILE_BROWSER_TAR_GZIP_ARCHIVE_FILE_TYPE" desc="Gzip compressed tar archive file type">
        Gzip compressed tar archive
      </message>
      <message name="IDS_FILE_BROWSER_PLAIN_TEXT_FILE_TYPE" desc="Plain text file type">
        Plain text
      </message>
      <message name="IDS_FILE_BROWSER_PDF_DOCUMENT_FILE_TYPE" desc="PDF document file type">
        PDF document
      </message>
      <message name="IDS_FILE_BROWSER_WORD_DOCUMENT_FILE_TYPE" desc="Word document file type">
        Word document
      </message>
      <message name="IDS_FILE_BROWSER_POWERPOINT_PRESENTATION_FILE_TYPE" desc="PowerPoint presentation file type">
        PowerPoint presentation
      </message>
      <message name="IDS_FILE_BROWSER_EXCEL_FILE_TYPE" desc="Excel spreadsheet file type">
        Excel spreadsheet
      </message>

      <message name="IDS_FILE_BROWSER_GDOC_DOCUMENT_FILE_TYPE" desc="Google document file type">
        Google document
      </message>
      <message name="IDS_FILE_BROWSER_GSHEET_DOCUMENT_FILE_TYPE" desc="Google spreadsheet file type">
        Google spreadsheet
      </message>
      <message name="IDS_FILE_BROWSER_GSLIDES_DOCUMENT_FILE_TYPE" desc="Google presentation file type">
        Google presentation
      </message>
      <message name="IDS_FILE_BROWSER_GDRAW_DOCUMENT_FILE_TYPE" desc="Google drawing file type">
        Google drawing
      </message>
      <message name="IDS_FILE_BROWSER_GTABLE_DOCUMENT_FILE_TYPE" desc="Google table file type">
        Google table
      </message>
      <message name="IDS_FILE_BROWSER_GFORM_DOCUMENT_FILE_TYPE" desc="Google form file type">
        Google form
      </message>
      <message name="IDS_FILE_BROWSER_GLINK_DOCUMENT_FILE_TYPE" desc="Google Drive link file type">
        Google Drive link
      </message>

      <message name="IDS_FILE_BROWSER_ERROR_VIEWING_FILE_TITLE" desc="Title of error message propmt when user attempts to open a non-supported file in file browser.">
        <ph name="FILENAME">$1</ph>
      </message>
      <message name="IDS_FILE_BROWSER_ERROR_VIEWING_FILE" desc="Error message when user attempts to open a non-supported file in the Files app via Downloads panel.">
        This file type is not supported. Please visit the Chrome Web Store to find an app that can open this type of file.
      </message>
      <message name="IDS_FILE_BROWSER_AUDIO_PLAYER_TITLE" desc="Title of the Audio Player window.">
        Audio Player
      </message>
      <message name="IDS_FILE_BROWSER_AUDIO_PLAYER_DEFAULT_ARTIST" desc="In the Audio Player window, default artist name used when artist name is unknown.">
        Unknown Artist
      </message>

      <message name="IDS_FILE_BROWSER_FILE_ERROR_GENERIC" desc="In the File Manager, the error message when the file operation failed.">
        An error occurred.
      </message>
      <message name="IDS_FILE_BROWSER_FILE_ERROR_NOT_FOUND" desc="In the File Manager, the error message when the file could not be found.">
        The file could not be found.
      </message>
      <message name="IDS_FILE_BROWSER_FILE_ERROR_SECURITY" desc="In the File Manager, the error message when the file could not be accessed for security reasons.">
        The file could not be accessed for security reasons.
      </message>
      <message name="IDS_FILE_BROWSER_FILE_ERROR_NOT_READABLE" desc="In the File Manager, the error message when the file could not be read.">
        The file could not be read.
      </message>
      <message name="IDS_FILE_BROWSER_FILE_ERROR_NO_MODIFICATION_ALLOWED" desc="In the File Manager, the error message when the file could not be modified.">
        The file could not be modified.
      </message>
      <message name="IDS_FILE_BROWSER_FILE_ERROR_INVALID_STATE" desc="In the File Manager, the error message when the file is not usable.">
        The file or the directory is not usable.
      </message>
      <message name="IDS_FILE_BROWSER_FILE_ERROR_INVALID_MODIFICATION" desc="In the File Manager, the error message when the file could not be modified.">
        The file could not be modified.
      </message>
      <message name="IDS_FILE_BROWSER_FILE_ERROR_PATH_EXISTS" desc="In the File Manager, the error message when the a file or a directory with the same name already exists.">
        A file or a directory with the same name already exists.
      </message>
      <message name="IDS_FILE_BROWSER_FILE_ERROR_QUOTA_EXCEEDED" desc="In the File Manager, the error message when there is not enough space to complete the operation.">
        There is not enough space.
      </message>

      <message name="IDS_FILE_BROWSER_SEARCH_DRIVE_HTML" desc="In the File Manager, the item in the autocomplete suggestion item just under the search box, to continue searching in the list.">
        '&lt;b&gt;<ph name="SEARCH_STRING">$1<ex>abc</ex></ph>&lt;/b&gt;' - &lt;em&gt;search Drive&lt;/em&gt;
      </message>
      <message name="IDS_FILE_BROWSER_SEARCH_NO_MATCHING_FILES_HTML" desc="In the File Manager, the message informing the user that the search did not match any files or directories.">
        No items match &lt;b&gt;"<ph name="SEARCH_STRING">$1<ex>abc</ex></ph>"&lt;/b&gt;
      </message>

      <message name="IDS_FILE_BROWSER_CHANGE_DEFAULT_MENU_ITEM" desc="In the File Manager, the text in the menu item to change the default action for a particular file type.">
        Change default...
      </message>
      <message name="IDS_FILE_BROWSER_CHANGE_DEFAULT_CAPTION" desc="In the File Manager, the caption on the dialog box that chooses the default action for a particular file type.">
        Choose the default app for <ph name="FILE_TYPE">$1<ex>PNG</ex></ph> files:
      </message>
      <message name="IDS_FILE_BROWSER_DEFAULT_ACTION_LABEL" desc="In the File Manager actions menu, the text next to the default action name.">
        (default)
      </message>

      <message name="IDS_FILE_BROWSER_VIEW_TYPE_LABEL" desc="In File Manager, the label for the button menu to switch view types (e.g., list view or thumbnail view)">
        View
      </message>
      <message name="IDS_FILE_BROWSER_DETAIL_VIEW_TOOLTIP" desc="Tooltip for the List View button.">
        List view
      </message>
      <message name="IDS_FILE_BROWSER_THUMBNAIL_VIEW_TOOLTIP" desc="Tooltip for the Thumbnail View button.">
        Thumbnail view
      </message>
      <message name="IDS_FILE_BROWSER_GEAR_BUTTON_TOOLTIP" desc="Tooltip for the gear button in Files.app.">
        Settings
      </message>

      <message name="IDS_FILE_BROWSER_TIME_TODAY" desc="File date and time in case the date is today.">
        Today <ph name="TODAY_DAYTIME">$1<ex>6:19 AM</ex></ph>
      </message>
      <message name="IDS_FILE_BROWSER_TIME_YESTERDAY" desc="File date and time in case the date is yesterday.">
        Yesterday <ph name="YESTERDAY_DAYTIME">$1<ex>4:48 PM</ex></ph>
      </message>

      <message name="IDS_FILE_BROWSER_ALL_FILES_FILTER" desc="All Files filter for Open/Save dialog">
        All files
      </message>

      <message name="IDS_FILE_BROWSER_SPACE_AVAILABLE" desc="Menu item showing space left for storage.">
        <ph name="SPACE_AVAILABLE">$1<ex>4.8 GB</ex></ph> left
      </message>
      <message name="IDS_FILE_BROWSER_WAITING_FOR_SPACE_INFO" desc="Menu item, saying that FileBrowser is waiting for space information for storage. When actual data arrives, this item will be replaced with IDS_FILE_BROWSER_SPACE_AVAILABLE">
        Waiting for space info...
      </message>
      <message name="IDS_FILE_BROWSER_FAILED_SPACE_INFO" desc="Menu item, saying that FileBrowser is failed to retrieve space information.">
        Failed to retrieve space info
      </message>

      <message name="IDS_RECENT_TABS_MENU" desc="The title of the Recent Tabs menu in the wrench menu.">
        Recent Tabs
      </message>

      <message name="IDS_RECENT_TABS_NO_DEVICE_TABS" desc="The label in the Recent Tabs menu in the wrench menu when there's no tabs from other devices.">
        No tabs from other devices
      </message>

      <message name="IDS_RECENT_TABS_MORE" desc="The label in the Recent Tabs menu in the wrench menu to open the other devices and history page.">
        More...
      </message>

      <message name="IDS_DEFAULT_DOWNLOAD_FILENAME" desc="Default name for downloaded files when we have no idea what they could be.">
        download
      </message>
      <message name="IDS_BROWSER_WINDOW_MAC_TAB_UNTITLED" desc="Tabs and windows on MacOS with no title use this string.">
        Untitled
      </message>

      <message name="IDS_SET_AS_DEFAULT_INFOBAR_BUTTON_LABEL" desc="The label of the 'set as default' button on the default browser infobar.">
        Set as default
      </message>
      <message name="IDS_DONT_ASK_AGAIN_INFOBAR_BUTTON_LABEL" desc="The label of the 'don't ask again' button on the default browser infobar.">
        Don't ask again
      </message>

      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_SHOW_WINDOW_DECORATIONS_MENU" desc="The menu entry text in the tab strip context menu.  This toggles the system title bar and window borders (window decorations) on linux.">
          Use system title bar and borders
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_SHOW_WINDOW_DECORATIONS_MENU" desc="In Title Case: The menu entry text in the tab strip context menu.  This toggles the system title bar and window borders (window decorations) on linux.">
          Use System Title Bar and Borders
        </message>
      </if>

      <message name="IDS_USED_EXISTING_BROWSER" desc="Linux-specific message printed to console when the app is ran a second time, causing a new window to show rather than starting up a new browser.">
        Created new window in existing browser session.
      </message>

      <!-- Sync strings -->

      <!-- Sync options dialog strings -->
      <message name="IDS_SYNC_OPTIONS_GROUP_NAME" desc="The name of the sync group in the options dialog.">
        Sign in
      </message>
      <if expr="is_android">
        <message name="IDS_SYNC_OVERVIEW" desc="Mobile: The message that appears in the options dialog when sync has not been set up by the user.">
          Sign in to <ph name="PRODUCT_NAME">$1<ex>Chrome</ex></ph> with your Google Account to save your personalized browser features to the web and access them from <ph name="PRODUCT_NAME">$1<ex>Chrome</ex></ph> on any device. You'll also be automatically signed in to your favorite Google services.
        </message>
      </if>
      <if expr="not is_android and not pp_ifdef('chromeos')">
        <message name="IDS_SYNC_OVERVIEW" desc="The message that appears in the options dialog when sync has not been set up by the user.">
          Sign in to <ph name="PRODUCT_NAME">$1<ex>Chrome</ex></ph> with your Google Account to save your personalized browser features to the web and access them from <ph name="PRODUCT_NAME">$1<ex>Chrome</ex></ph> on any computer. You'll also be automatically signed in to your favorite Google services.
        </message>
      </if>
      <message name="IDS_SYNC_START_SYNC_BUTTON_LABEL" desc="The label that appears on the sync button in the options dialog when sync has not been set up by the user.">
        Sign in to <ph name="PRODUCT_NAME">$1<ex>Chrome</ex></ph>
      </message>
      <message name="IDS_SYNC_SETUP_BUTTON_LABEL" desc="The label that appears on the sync setup button in the options dialog when sync has been disabled by the user.">
        Set up sync...
      </message>
      <message name="IDS_SYNC_SETUP_ERROR" desc="The message displayed when an unspecified but unrecoverable error occurs during sync setup.">
        An error occurred while trying to set up sync.
      </message>
      <message name="IDS_SYNC_SETUP_ABORTED_BY_PENDING_CLEAR" desc="The error message displayed to the user when setup was aborted because the server reported that a pending clear private data operation is in progress">
        The sync server is busy, please try again later.
      </message>
      <message name="IDS_SIGNED_IN_WITH_SYNC_DISABLED" desc="The message that appears in the options dialog indicating that user is signed in with the given email address, but sync is not enabled.">
        Signed in as <ph name="USER_EMAIL_ADDRESS">$1<ex>foo@gmail.com</ex></ph>. Sync is disabled by your administrator.
      </message>
      <message name="IDS_SIGNED_IN_WITH_SYNC_SUPPRESSED" desc="The message that appears in the options dialog indicating that user is signed in with the given email address, but sync has been stopped.">
        Signed in as <ph name="USER_EMAIL_ADDRESS">$1<ex>foo@gmail.com</ex></ph>. Sync has been stopped via the Google Dashboard.
      </message>
      <message name="IDS_SYNC_ACCOUNT_SYNCING_TO_USER" desc="The message that appears in the options dialog indicating that account is syncing to a user with the given email address.">
        Signed in as <ph name="USER_EMAIL_ADDRESS">$1<ex>foo@gmail.com</ex></ph>.
      </message>
      <message name="IDS_SYNC_ACCOUNT_SYNCING_TO_USER_WITH_MANAGE_LINK" desc="The message that appears in the options dialog indicating that account is syncing to a user with the given email address, together with a link to manage their data (where supported, or not possible through the application)">
        Signed in as <ph name="USER_EMAIL_ADDRESS">$1<ex>foo@gmail.com</ex></ph>. Manage your synced data on <ph name="BEGIN_LINK">&lt;a href="$2" target=&quot;_blank&quot;&gt;<ex>&lt;a href="$2" target=&quot;_blank&quot;&gt;</ex></ph>Google Dashboard<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>.
      </message>
      <message name="IDS_SYNC_AUTHENTICATING_LABEL" desc="Label to display while the user is being authenticated to use sync.">
        Authenticating...
      </message>
      <message name="IDS_SYNC_INVALID_USER_CREDENTIALS" desc="Error message to display when the user name or password entered by the user are invalid.">
        Invalid user name or password.
      </message>
      <message name="IDS_SYNC_ERROR_SIGNING_IN" desc="An error was encountered while signing the user in.">
        Error signing in.
      </message>
      <message name="IDS_SYNC_UNRECOVERABLE_ERROR" desc="Message shown when sync setup failed due to an unrecoverable error and can't continue.">
        Oops, Sync has stopped working.
      </message>
      <message name="IDS_SYNC_STATUS_UNRECOVERABLE_ERROR" desc="Message shown on the personal options page when there is an unrecoverable error.">
        Oops, Sync has stopped working. <ph name="BEGIN_LINK">&lt;a href="$1" target="_blank"&gt;<ex>&lt;a href="$1" target="_blank"&gt;</ex></ph>Learn More<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>
      </message>
      <message name="IDS_SYNC_CONFIGURE_ENCRYPTION" desc="Link to configure sync encryption for passwords">
        Please update your sync passphrase.
      </message>
      <message name="IDS_SYNC_PASSWORD_SYNC_ATTENTION" desc="Message indicating password sync needs attention.">
        Please update your sync passphrase.
      </message>
      <message name="IDS_SYNC_UPGRADE_CLIENT" desc="Message indicating client needs to be upgraded to the latest version.">
        Sync Error:  <ph name="PRODUCT_NAME">$1<ex>Chrome</ex></ph> is out of date and needs to be updated.
      </message>
      <message name="IDS_SYNC_CLEAR_USER_DATA" desc="Message indicating user needs to clear user data and setup sync.">
        Sync Error: Please reset Sync via the Google Dashboard.
      </message>
      <message name="IDS_SYNC_STOP_AND_RESTART_SYNC" desc="Message indicating user needs to stop and restart sync.">
        Sync Error: Please stop and restart Sync.
      </message>
      <message name="IDS_SYNC_ENABLE_SYNC_ON_ACCOUNT" desc="Message indicating user needs to ask the administrator to enable sync.">
        Sync Error: Please contact administrator to enable sync.
      </message>

      <message name="IDS_SYNC_PASSPHRASE_MSG_EXPLICIT_PREFIX" desc="Message when explicit passphrase is selected.">
        Only someone with your passphrase can read your encrypted data. The passphrase is not sent to or stored by Google. If you forget your passphrase, you will need to
      </message>
      <message name="IDS_SYNC_PASSPHRASE_MSG_EXPLICIT_POSTFIX" desc="Postfix of the message show when explicit passphrase is selected.">
        reset sync
      </message>
      <message name="IDS_SYNC_LOGIN_INFO_OUT_OF_DATE" desc="The login information for the user is out of date - for example, the user changed their password and therefore signing in again is required.">
        Account sign-in details are out of date.
      </message>
      <message name="IDS_SYNC_SERVER_IS_UNREACHABLE" desc="The message to display in the New Tab Page sync section when the server is unreachable.">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> could not sync your data because it could not connect to the sync server. Retrying...
      </message>
      <if expr="not pp_ifdef('chromeos')">
        <message name="IDS_SYNC_RELOGIN_LINK_LABEL" desc="The text to display on in the hyperlink when the user needs to sign in again to use sync.">
          Sign in again
        </message>
      </if>
      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_SYNC_RELOGIN_LINK_LABEL" desc="The text to display on in the hyperlink when the user needs to sign out and sign in again to use sync on Chrome OS.">
          Sign out then sign in again
        </message>
      </if>
      <message name="IDS_OPTIONS_CUSTOMIZE_SYNC_BUTTON_LABEL" desc="The text to display on the button to customize which data types the user is syncing.">
        Advanced sync settings...
      </message>
      <message name="IDS_SYNC_STOP_SYNCING_BUTTON_LABEL" desc="The text to display on the button to indicate stop syncing functionality.">
        Disconnect your Google Account...
      </message>
      <message name="IDS_SYNC_STOP_SYNCING_CONFIRM_BUTTON_LABEL" desc="The text to display on the button to confirm the user wishes to stop syncing.">
        Disconnect account
      </message>
      <message name="IDS_SYNC_STOP_SYNCING_DIALOG_TITLE" desc="The title of the dialog that explains what 'stop syncing' means.">
        Disconnect your Google Account
      </message>
      <if expr="is_android">
        <message name="IDS_SYNC_STOP_SYNCING_EXPLANATION_LABEL" desc="Mobile: The text to display below the 'Stop syncing this account' button on the options pane, explaining what the button does.">
          By disconnecting your Google Account from <ph name="PRODUCT_NAME">$1<ex>Chrome</ex></ph>, your data will remain on this device but changes will no longer be synced to your Google Account. Data already stored in your Google Account will remain there until you remove it using <ph name="BEGIN_LINK">&lt;a href="$2" target=&quot;_blank&quot;&gt;<ex>&lt;a href="$2" target=&quot;_blank&quot;&gt;</ex></ph>Google Dashboard<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>.
        </message>
      </if>
      <if expr="not is_android">
        <message name="IDS_SYNC_STOP_SYNCING_EXPLANATION_LABEL" desc="The text to display below the 'Stop syncing this account' button on the options pane, explaining what the button does.">
          By disconnecting your Google Account from <ph name="PRODUCT_NAME">$1<ex>Chrome</ex></ph>, your data will remain on this computer but changes will no longer be synced to your Google Account. Data already stored in your Google Account will remain there until you remove it using <ph name="BEGIN_LINK">&lt;a href="$2" target=&quot;_blank&quot;&gt;<ex>&lt;a href="$2" target=&quot;_blank&quot;&gt;</ex></ph>Google Dashboard<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>.
        </message>
      </if>
      <!-- Sync time strings -->
      <message name="IDS_SYNC_TIME_NEVER" desc="Indicates that the first sync has never completed.">
        Never
      </message>
      <message name="IDS_SYNC_TIME_JUST_NOW" desc="Indicates that a sync cycle just finished.">
        Just now
      </message>
      <message name="IDS_SYNC_ADVANCED_OPTIONS" desc="The text in the link that brings up the sync configure screen in the new tab page new data type notification.">
        Advanced settings
      </message>

      <!-- Sync New Tab Page strings -->
      <message name="IDS_SYNC_NTP_SYNC_SECTION_ERROR_TITLE" desc="The title to display in the New Tab Page sync status section in case of an error.">
        Sync failed
      </message>
      <message name="IDS_SYNC_NTP_SYNC_SECTION_PROMO_TITLE" desc="The title to display in the New Tab Page sync status section in case of a promotion.">
        New!
      </message>
      <message name="IDS_SYNC_NTP_PASSWORD_PROMO" desc="The message to display to promote passwords sync now being available.">
        <ph name="PRODUCT_NAME">$1<ex>Chrome</ex></ph> can now sync your passwords.
      </message>
      <message name="IDS_SYNC_NTP_PASSWORD_ENABLE" desc="The link text to present for passwords sync.">
        Enable
      </message>
      <message name="IDS_SYNC_NTP_SETUP_IN_PROGRESS" desc="The message to display in the New Tab Page sync section when the sync setup is underway.">
        Setup in progress...
      </message>
      <message name="IDS_SYNC_NTP_SYNCED_TO" desc="The message to display in the New Tab Page sync section when the user is in sync.">
        Synced as <ph name="USER_EMAIL_ADDRESS">$1<ex>foo@gmail.com</ex></ph>
      </message>
      <if expr="is_android">
        <message name="IDS_SYNC_NTP_OPEN_TABS_LAST_SYNCED" desc="The message to display in front of the time of a last synced foreign tab">
            Last synced
        </message>
      </if>

      <!-- Sync Promo New Tab Page bubble strings -->
      <message name="IDS_SYNC_PROMO_NTP_BUBBLE_MESSAGE" desc="The body of the sync promo NTP bubble.">
        You're now signed in to <ph name="SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph>. Your bookmarks, history, and other settings are being synced with your Google Account.
      </message>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_SYNC_PROMO_NTP_BUBBLE_OK" desc="The ok button in the sync promo NTP bubble. Clicking on the button will dismiss the bubble.">
          OK
        </message>
        <message name="IDS_SYNC_PROMO_NTP_BUBBLE_ADVANCED" desc="The advanced link in the sync promo NTP bubble. Clicking the link will take the user to advanced settings.">
          Advanced...
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_SYNC_PROMO_NTP_BUBBLE_OK" desc="In title case. The ok button in the sync promo NTP bubble. Clicking on the button will dismiss the bubble.">
          OK
        </message>
        <message name="IDS_SYNC_PROMO_NTP_BUBBLE_ADVANCED" desc="In title case. The advanced link in the sync promo NTP bubble. Clicking the link will take the user to advanced settings.">
          Advanced...
        </message>
      </if>

      <!-- Customize Sync dialog -->
      <message name="IDS_SYNC_SETUP_CONFIGURE_TITLE" desc="The title of the Customize page of the sync setup dialog.">
        Advanced sync settings
      </message>
      <message name="IDS_SYNC_CONFIRM_SYNC_PREFERENCES" desc="The title of the 'Confirm Sync Settings' page of the customize sync dialog.">
        Confirm sync settings
      </message>
      <message name="IDS_SYNC_SYNC_EVERYTHING" desc="The text of the OK button of the 'Confirm Sync Settings' page of the customize sync dialog.">
        OK, sync everything
      </message>

      <!-- Spinner dialog for waiting sync backend to start up -->
      <message name="IDS_SYNC_SETUP_SPINNER_TITLE" desc="The title of the sync setup dialog showing spinner.">
        Please wait...
      </message>

      <!-- Notify network connection goes time out -->
      <message name="IDS_SYNC_SETUP_TIME_OUT_TITLE" desc="The title of the 'Timeout' page for sync settings.">
        Failed to start up the sync backend
      </message>
      <message name="IDS_SYNC_SETUP_TIME_OUT_CONTENT" desc="Text explaining what to do if sync times out.">
        Please make sure your network connection is working and if the problem persists, please sign out and sign in again to refresh your credentials.
      </message>

      <!-- Choose data types dialog strings -->
      <message name="IDS_SYNC_CHOOSE_DATATYPES_INSTRUCTIONS" desc="Text explaining the 'Choose Datatypes' dialog.">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> securely syncs your data with your Google account. Keep everything synced or customize synced data types and encryption settings.
      </message>
      <message name="IDS_SYNC_EVERYTHING" desc="A drop-down menu item for users who want to sync all data types.">
        Sync everything
      </message>
      <message name="IDS_SYNC_CHOOSE_DATATYPES" desc="A drop-down menu item for users who want to select some datatypes to sync.">
        Choose what to sync
      </message>
      <message name="IDS_SYNC_NOTHING" desc="A drop-down menu item for users who want to remain signed in to Chrome, but not sync any datatypes.">
        Sync nothing
      </message>
      <message name="IDS_SYNC_ZERO_DATA_TYPES_ERROR" desc="Error message if you try to sync, but uncheck all the data type choices.">
        You must select at least one data type to sync.
      </message>
      <message name="IDS_SYNC_DATATYPE_BOOKMARKS" desc="Bookmarks, one of the data types that we allow syncing.">
        Bookmarks
      </message>
      <message name="IDS_SYNC_DATATYPE_PREFERENCES" desc="Settings, one of the data types that we allow syncing.">
        Settings
      </message>
      <message name="IDS_SYNC_DATATYPE_AUTOFILL" desc="Form Autofill items, one of the data types that we allow syncing.">
        Autofill
      </message>
      <message name="IDS_SYNC_DATATYPE_THEMES" desc="Themes, one of the data types that we allow syncing.">
        Themes
      </message>
      <message name="IDS_SYNC_DATATYPE_EXTENSIONS" desc="Extensions, one of the data types that we allow syncing.">
        Extensions
      </message>
      <message name="IDS_SYNC_DATATYPE_PASSWORDS" desc="Saved passwords, one of the data types that we allow syncing.">
        Passwords
      </message>
      <message name="IDS_SYNC_DATATYPE_TYPED_URLS" desc="History, one of the data types that we allow syncing.">
        History
      </message>
      <message name="IDS_SYNC_DATATYPE_APPS" desc="Apps, one of the data types that we allow syncing.">
        Apps
      </message>
      <message name="IDS_SYNC_DATATYPE_TABS" desc="Open Tabs, one of the data types that we allow syncing.">
        Open Tabs
      </message>

      <!-- Encryption tab of the configure sync dialog -->
      <message name="IDS_SYNC_ENCRYPTION_INSTRUCTIONS" desc="Instructions for the encryption settings tab.">
        <ph name="PRODUCT_NAME">$1<ex>Chrome</ex></ph> requires you to encrypt your data using either your Google password or your own passphrase.
      </message>
      <message name="IDS_SYNC_PASSPHRASE_WARNING" desc="Warning message about using a passphrase for sync.">
        You are currently using a passphrase.  If you have forgotten your passphrase, you can reset sync to clear your data from Google's servers using the Google Dashboard.
      </message>
      <message name="IDS_SYNC_ENCRYPTION_SECTION_TITLE" desc="Title of the section containing sync encryption preferences.">
        Encryption options
      </message>
      <message name="IDS_SYNC_ENCRYPTION_SECTION_MESSAGE" desc="Message explaining that sync data can be encrypted.">
        For added security, <ph name="PRODUCT_NAME">$1<ex>Chrome</ex></ph> will encrypt your data.
      </message>
      <message name="IDS_SYNC_BASIC_ENCRYPTION_DATA" desc="Text of the radio that when selected enables basic encryption.">
        Encrypt synced passwords with your Google credentials
      </message>
      <message name="IDS_SYNC_FULL_ENCRYPTION_DATA" desc="Text of the radio that when selected enables full encryption.">
        Encrypt all synced data with your own sync passphrase
      </message>
      <message name="IDS_SYNC_FULL_ENCRYPTION_BODY_CUSTOM" desc="Text of the radio that when selected enables full encryption.">
        All data is encrypted with your sync passphrase
      </message>
      <message name="IDS_SYNC_FULL_ENCRYPTION_BODY_CUSTOM_WITH_DATE" desc="Text of the radio that when selected enables full encryption.">
        All data was encrypted with your sync passphrase on
        <ph name="TIME">$1<ex>Sept 1, 2012</ex></ph>
      </message>
      <message name="IDS_SYNC_FULL_ENCRYPTION_BODY_GOOGLE_WITH_DATE" desc="Text of the radio that when selected enables full encryption.">
        All data was encrypted with your Google password as of
        <ph name="TIME">$1<ex>Sept 1, 2012</ex></ph>
      </message>

      <!-- Passphrase dialog strings -->
      <message name="IDS_SYNC_ENTER_PASSPHRASE_BODY" desc="Instructions for the dialog where the user enters the passphrase.">
        Your data is encrypted with your sync passphrase. Please enter it below.
      </message>
      <message name="IDS_SYNC_ENTER_GOOGLE_PASSPHRASE_BODY" desc="Instructions for the dialog where the user needs to enter their previous google passphrase.">
        You already have data that is encrypted using a different version of your Google Account password. Please enter it below.
      </message>
      <message name="IDS_SYNC_ENTER_PASSPHRASE_BODY_WITH_DATE" desc="Instructions for the dialog where the user enters the passphrase.">
        Your data was encrypted with your sync passphrase on <ph name="TIME">$1<ex>Sept 1, 2012</ex></ph>. Please enter it below.
      </message>
      <message name="IDS_SYNC_ENTER_GOOGLE_PASSPHRASE_BODY_WITH_DATE" desc="Instructions for the dialog where the user needs to enter their previous google passphrase.">
        Your data was encrypted with your Google password as of <ph name="TIME">$1<ex>Sept 1, 2012</ex></ph>. Please enter it below.
      </message>
      <message name="IDS_SYNC_PASSPHRASE_LABEL" desc="Label for the passphrase field.">
        Passphrase
      </message>
      <message name="IDS_SYNC_CONFIRM_PASSPHRASE_LABEL" desc="Label for the confirm-passphrase field.">
        Confirm passphrase
      </message>
      <message name="IDS_SYNC_EMPTY_PASSPHRASE_ERROR" desc="Error message when the passphrase is empty.">
        Empty passphrase is not allowed.
      </message>
      <message name="IDS_SYNC_PASSPHRASE_MISMATCH_ERROR" desc="Error message when the passphrase and confirmation don't match.">
        You must enter the same passphrase twice.
      </message>
      <message name="IDS_SYNC_INCORRECT_PASSPHRASE" desc="Message when the passphrase is incorrect.">
        The passphrase you entered is incorrect.
      </message>
      <message name="IDS_SYNC_PASSPHRASE_RECOVER" desc="Message about how to recover from a lost passphrase.">
        If you've forgotten your passphrase, stop and reset Sync via <ph name="BEGIN_LINK">&lt;a href="$1" target=&quot;_blank&quot;&gt;<ex>&lt;a href="$1" target=&quot;_blank&quot;&gt;</ex></ph>Google Dashboard<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>.
      </message>

      <message name="IDS_SYNC_PASSPHRASE_CANCEL_YES" desc="String for 'yes' button on passphrase cancel warning dialog.">
        Skip
      </message>
      <message name="IDS_SYNC_PASSPHRASE_CANCEL_NO" desc="String for 'no' button on passphrase cancel warning dialog.">
        Enter passphrase
      </message>

      <!-- Login dialog strings -->
      <if expr="is_android">
        <message name="IDS_SYNC_LOGIN_INTRODUCTION" desc="Mobile: The message to display at the top of the login dialog">
          <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> sync makes it easy to share your data (such as bookmarks and settings) between your computers and other devices.
          <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> synchronizes your data by storing it online with Google when you sign in with your Google Account.
        </message>
      </if>
      <if expr="not is_android">
        <message name="IDS_SYNC_LOGIN_INTRODUCTION" desc="The message to display at the top of the login dialog">
          <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> sync makes it easy to share your data (such as bookmarks and settings) between your computers.
          <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> synchronizes your data by storing it online with Google when you sign in with your Google Account.
        </message>
      </if>
      <message name="IDS_SYNC_SETUP_TITLE" desc="The title of the Sync Setup overlay.">
        Sign in with your Google Account
      </message>
      <message name="IDS_SYNC_LOGIN_SETTING_UP" desc="A progress message">
        Setting up...
      </message>
      <message name="IDS_SYNC_SUCCESS" desc="Operation successful">
        Success!
      </message>
      <message name="IDS_SYNC_SERVICE_UNAVAILABLE" desc="Error message to display when the user domain entered by the user has sync disabled.">
        Sync service is not available for your domain.
      </message>

      <!-- Sync app menu item strings -->
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_SYNC_MENU_PRE_SYNCED_LABEL" desc="The text for the sync app menu item before an account is synced.">
          Sign in to <ph name="SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph>...
        </message>
        <message name="IDS_SYNC_MENU_SYNCED_LABEL" desc="The text for the sync app menu item when bookmark sync has been enabled">
          Signed in as <ph name="USER_NAME">$1<ex>pat@example.com</ex></ph>...
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_SYNC_MENU_PRE_SYNCED_LABEL" desc="The text for the sync app menu item before an account is synced.">
          Sign in to <ph name="SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph>...
        </message>
        <message name="IDS_SYNC_MENU_SYNCED_LABEL" desc="The text for the sync app menu item when bookmark sync has been enabled">
          Signed in as <ph name="USER_NAME">$1<ex>pat@example.com</ex></ph>...
        </message>
      </if>

      <!-- Sync sign in global error message-->
      <message name="IDS_SIGNIN_ERROR_BUBBLE_VIEW_TITLE" desc="Title in the signin error bubble view.">
        Signin Error
      </message>
      <message name="IDS_SYNC_ERROR_BUBBLE_VIEW_TITLE" desc="Title in the sync error bubble view.">
        Sync Error
      </message>
      <message name="IDS_SYNC_PASSPHRASE_ERROR_BUBBLE_VIEW_MESSAGE" desc="Message in the sync error bubble view when the user needs to update their sync passphrase.">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> could not sync your data. Please update your Sync passphrase.
      </message>
      <message name="IDS_SYNC_SIGN_IN_ERROR_BUBBLE_VIEW_MESSAGE" desc="Message in the sync error bubble view when the user's sign in credentials are out of date.">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> could not sync your data because your account sign in details are out of date.
      </message>
      <message name="IDS_SYNC_UNAVAILABLE_ERROR_BUBBLE_VIEW_MESSAGE" desc="Message in the sync error bubble view when sync is not available for their domain.">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> could not sync your data because Sync is not available for your domain.
      </message>
      <message name="IDS_SYNC_OTHER_SIGN_IN_ERROR_BUBBLE_VIEW_MESSAGE" desc="Message in the sync error bubble view when there's an error signing in.">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> could not sync your data due to an error signing in.
      </message>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_SYNC_PASSPHRASE_ERROR_BUBBLE_VIEW_ACCEPT" desc="The accept button in the sync error bubble view when the user needs to update the passphrase.">
          Update...
        </message>
        <message name="IDS_SYNC_UNAVAILABLE_ERROR_BUBBLE_VIEW_ACCEPT" desc="The accept button in the sync error bubble view when sync is not available for their domain.">
          OK...
        </message>
        <message name="IDS_SYNC_PASSPHRASE_ERROR_WRENCH_MENU_ITEM" desc="The sync error wrench menu item when the user needs to update the passphrase.">
          Sync Error: Update Sync passphrase...
        </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase') and not pp_ifdef('chromeos')">
        <message name="IDS_SYNC_SIGN_IN_ERROR_BUBBLE_VIEW_ACCEPT" desc="The accept button in the sync error bubble view when the user needs to sign in again.">
          Sign in again...
        </message>
        <message name="IDS_SYNC_SIGN_IN_ERROR_WRENCH_MENU_ITEM" desc="The sync error wrench menu item when the user needs to sign in again.">
            Sign in again...
        </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase') and pp_ifdef('chromeos')">
        <message name="IDS_SYNC_SIGN_IN_ERROR_BUBBLE_VIEW_ACCEPT" desc="The accept button in the sync error bubble view when the user needs to sign out and sign in again to Chrome OS.">
          Sign out then sign in again...
        </message>
        <message name="IDS_SYNC_SIGN_IN_ERROR_WRENCH_MENU_ITEM" desc="The sync error wrench menu item when the user needs to sign out and sign in again to Chrome OS.">
          Sign out then sign in again...
        </message>
      </if>

      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_SYNC_PASSPHRASE_ERROR_BUBBLE_VIEW_ACCEPT" desc="The accept button in the sync error bubble view when the user needs to update the passphrase.">
          Update...
        </message>
        <message name="IDS_SYNC_UNAVAILABLE_ERROR_BUBBLE_VIEW_ACCEPT" desc="The accept button in the sync error bubble view when sync is not available for their domain.">
          OK...
        </message>
        <message name="IDS_SYNC_PASSPHRASE_ERROR_WRENCH_MENU_ITEM" desc="The sync error wrench menu item when the user needs to update the passphrase.">
          Sync Error: Update Sync Passphrase...
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase') and not pp_ifdef('chromeos')">
        <message name="IDS_SYNC_SIGN_IN_ERROR_BUBBLE_VIEW_ACCEPT" desc="The accept button in the sync error bubble view when the user needs to sign in again.">
          Sign in Again...
        </message>
        <message name="IDS_SYNC_SIGN_IN_ERROR_WRENCH_MENU_ITEM" desc="The sync error wrench menu item when the user needs to sign in again.">
          Sign in Again...
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase') and pp_ifdef('chromeos')">
        <message name="IDS_SYNC_SIGN_IN_ERROR_BUBBLE_VIEW_ACCEPT" desc="The accept button in the sync error bubble view when the user needs to sign out and sign in again on Chrome OS.">
          Sign out then Sign in Again...
        </message>
        <message name="IDS_SYNC_SIGN_IN_ERROR_WRENCH_MENU_ITEM" desc="The sync error wrench menu item when the user needs to sign out and sign in again to Chrome OS.">
          Sign out then Sign in Again...
        </message>
      </if>

      <if expr="pp_ifdef('chromeos')">
        <!-- The URL for the Google mailto service. -->
        <message name="IDS_GOOGLE_MAILTO_HANDLER_URL">
          https:////mail.google.com//mail//?extsrc=mailto&amp;url=%s
        </message>

        <!-- The name for the Google mailto service. -->
        <message name="IDS_GOOGLE_MAILTO_HANDLER_NAME">
          Google.com Mail
        </message>

        <!-- The URL for the Google webcal service. -->
        <message name="IDS_GOOGLE_WEBCAL_HANDLER_URL">
          https:////www.google.com//calendar//render?cid=%s
        </message>

        <!-- The name for the Google webcal service. -->
        <message name="IDS_GOOGLE_WEBCAL_HANDLER_NAME">
          Google Calendar
        </message>
      </if>

      <!-- Sync promo page chrome://signin -->
      <message name="IDS_SYNC_PROMO_TAB_TITLE" desc="The title of the sync promo tab.">
        Sign in
      </message>
      <message name="IDS_SYNC_PROMO_MESSAGE_TITLE_SHORT" desc="A short sync promo message displayed under the title.">
        Sign in to get your bookmarks, history, and settings on all your devices.
      </message>
      <message name="IDS_SYNC_PROMO_SKIP_BUTTON" desc="The link button at the bottom to let the user skip the sync promo.">
        Skip for now
      </message>
      <message name="IDS_SYNC_PROMO_ADVANCED" desc="The link button at the bottom to let the user customize the sync settings.">
        Advanced...
      </message>
      <message name="IDS_SYNC_PROMO_NOT_SIGNED_IN_STATUS_HEADER" desc="The first line of the of the message shown in NTP when a user is not signed into sync.">
        Not signed in to <ph name="SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph>
      </message>
      <message name="IDS_SYNC_PROMO_NOT_SIGNED_IN_STATUS_SUB_HEADER" desc="The second line of the of the message shown in NTP when a user is not signed into sync.">
        (You're missing out&#8212;<ph name="IDS_SYNC_PROMO_NOT_SIGNED_IN_STATUS_LINK">$1<ex>sign in</ex></ph>)
      </message>
      <message name="IDS_SYNC_PROMO_NOT_SIGNED_IN_STATUS_LINK" desc="The linkified portion of the sync sign in promo on the NTP. Clicking this text allows the user to sign in to sync.">
        sign in
      </message>
      <if expr="is_android">
        <message name="IDS_SYNC_PROMO_V_BACKUP_BODY" desc="Mobile: Verbose sync promo. Body of the backup message.">
          All your <ph name="SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph> settings are safe in case anything happens to your device.
        </message>
      </if>

      <!-- Translate Info Bar -->
      <message name="IDS_TRANSLATE_INFOBAR_OPTIONS" desc="Text to show for the translate infobar options menu button">
        Options
      </message>
      <message name="IDS_TRANSLATE_INFOBAR_OPTIONS_NEVER_TRANSLATE_LANG" desc="Text for the menu item to never translate the specified language">
        Never translate <ph name="language">$1<ex>French</ex></ph>
      </message>
      <message name="IDS_TRANSLATE_INFOBAR_OPTIONS_NEVER_TRANSLATE_SITE" desc="Text for the menu item to never translate the current site">
        Never translate this site
      </message>
      <message name="IDS_TRANSLATE_INFOBAR_OPTIONS_ALWAYS" desc="Text for the menu item to always translate from one language to another">
        Always translate <ph name="original_language">$1<ex>French</ex></ph> to <ph name="target_language">$2<ex>German</ex></ph>
      </message>
      <message name="IDS_TRANSLATE_INFOBAR_OPTIONS_REPORT_ERROR" desc="Text for the menu item for reporting the page's language was not correctly detected">
        Not in <ph name="original_language">$1<ex>French</ex></ph>? Report this error
      </message>
      <message name="IDS_TRANSLATE_INFOBAR_OPTIONS_ABOUT" desc="Text for the menu item for information about Google Translate">
        About Google Translate
      </message>
      <message name="IDS_TRANSLATE_INFOBAR_BEFORE_MESSAGE" desc="Message that page is in specified language and ask if should translate">
        This page is in<ph name="original_language">$1<ex>French</ex></ph>Would you like to translate it?
      </message>
      <if expr="is_android or is_ios">
        <message name="IDS_TRANSLATE_INFOBAR_BEFORE_MESSAGE_MOBILE" desc="Mobile: Message that page is in specified language and ask if should translate.">
          Translate from <ph name="original_language">$1<ex>French</ex></ph> to <ph name="target_language">$2<ex>English</ex></ph>?
        </message>
      </if>
      <message name="IDS_TRANSLATE_INFOBAR_ACCEPT" desc="Text to show for the translate infobar button to accept translation.">
        Translate
      </message>
      <message name="IDS_TRANSLATE_INFOBAR_DENY" desc="Text to show for the translate infobar button to deny translation.">
        Nope
      </message>
      <message name="IDS_TRANSLATE_INFOBAR_NEVER_TRANSLATE" desc="Button label shown to never translate a specific language in the translate infobar">
        Never translate <ph name="language">$1<ex>French</ex></ph>
      </message>
      <message name="IDS_TRANSLATE_INFOBAR_ALWAYS_TRANSLATE" desc="Button label shown to always translate a specific language in the translate infobar">
        Always translate <ph name="language">$1<ex>English</ex></ph>
      </message>
      <message name="IDS_TRANSLATE_INFOBAR_TRANSLATING_TO" desc="Text shown when page is currently being translated by servers">
        Translating page to <ph name="language">$1<ex>English</ex></ph>...
      </message>
      <message name="IDS_TRANSLATE_INFOBAR_AFTER_MESSAGE" desc="Message that page has been translated from one language to another">
        This page has been translated from<ph name="original_language">$1<ex>French</ex></ph>to<ph name="language_language">$2<ex>German</ex></ph>
      </message>
      <message name="IDS_TRANSLATE_INFOBAR_AFTER_MESSAGE_AUTODETERMINED_SOURCE_LANGUAGE" desc="Message that page has been translated to another with server side auto language detection">
        This page has been translated to <ph name="target_language">$1<ex>German</ex></ph>
      </message>
      <if expr="is_android or is_ios">
      <message name="IDS_TRANSLATE_INFOBAR_AFTER_MESSAGE_MOBILE" desc="Mobile: Message that page has been translated from one language to another">
        This page has been translated to <ph name="target_language">$1<ex>German</ex></ph>
      </message>
      </if>
      <message name="IDS_TRANSLATE_INFOBAR_REVERT" desc="Text to show for translate infobar to revert translation of translated page">
        Show original
      </message>
      <message name="IDS_TRANSLATE_INFOBAR_RETRY" desc="Text to show for translate infobar to retry translation of page">
        Try again
      </message>
      <message name="IDS_TRANSLATE_INFOBAR_ERROR_CANT_CONNECT" desc="Error message to show for translate infobar when unable to connec to translate server">
        The translation failed because of a problem with the network connection.
      </message>
      <message name="IDS_TRANSLATE_INFOBAR_ERROR_CANT_TRANSLATE" desc="Error message to show for translate infobar when translate server is unable to translate page">
        The translation failed because of a server error.
      </message>
      <message name="IDS_TRANSLATE_INFOBAR_UNKNOWN_PAGE_LANGUAGE" desc="Error message to show for translate infobar when the page language could not be determined.">
        The translation failed because the page's language could not be determined.
      </message>
      <message name="IDS_TRANSLATE_INFOBAR_ERROR_SAME_LANGUAGE" desc="Error message to show for translate infobar when the original and target languages are identical">
        The translation failed because the page is already in <ph name="language">$1<ex>English</ex></ph>.
      </message>
      <message name="IDS_TRANSLATE_INFOBAR_UNSUPPORTED_PAGE_LANGUAGE" desc="Error message shown when the translate server translated the page and returned the page was in a language the browser does not know.">
        This page has been translated from an unknown language to <ph name="language_language">$1<ex>English</ex></ph>
      </message>
      <if expr="is_android or is_ios">
      <message name="IDS_TRANSLATE_INFOBAR_ERROR_MOBILE" desc="Mobile: Translate Error message">
        The translation to <ph name="target_language">$1<ex>German</ex></ph> failed.
      </message>
      </if>

      <!-- Translate Bubble -->
      <message name="IDS_TRANSLATE_BUBBLE_BEFORE_TRANSLATE" desc="Text to show for the translate bubble label when that page is in specified language and ask if should translate.">
        Would you like to translate this page?
      </message>
      <message name="IDS_TRANSLATE_BUBBLE_ADVANCED" desc="Text to show for the translate bubble link label to jump to the advanced panel.">
        Advanced
      </message>
      <message name="IDS_TRANSLATE_BUBBLE_ACCEPT" desc="Text to show for the translate bubble button to accept translation.">
        Translate
      </message>
      <message name="IDS_TRANSLATE_BUBBLE_DENY" desc="Text to show for the translate bubble menu item to deny translation.">
        Nope
      </message>
      <message name="IDS_TRANSLATE_BUBBLE_NEVER_TRANSLATE_LANG" desc="Text to show for the translate bubble menu item to never translate the specified language">
        Never translate <ph name="language">$1<ex>French</ex></ph>
      </message>
      <message name="IDS_TRANSLATE_BUBBLE_NEVER_TRANSLATE_SITE" desc="Text to show for the translate bubble menu item to never translate the current site">
        Never translate this site
      </message>
      <message name="IDS_TRANSLATE_BUBBLE_TRANSLATING" desc="Text to show for the translate bubble label when page is currently being translated by servers">
        This page is being translated ...
      </message>
      <message name="IDS_TRANSLATE_BUBBLE_TRANSLATED" desc="Text to show for the translate bubble label when the page has been translated from one language to another">
        This page has been translated.
      </message>
      <message name="IDS_TRANSLATE_BUBBLE_REVERT" desc="Text to show for the translate bubble button to revert translation of translated page">
        Show original
      </message>
      <message name="IDS_TRANSLATE_BUBBLE_TRY_AGAIN" desc="Text to show for the translate bubble button to try to translate the page again">
        Try again
      </message>
      <message name="IDS_TRANSLATE_BUBBLE_ALWAYS" desc="Text to show for the translate bubble checkbox to always translate from one language to another">
        Always translate
      </message>
      <message name="IDS_TRANSLATE_BUBBLE_COULD_NOT_TRANSLATE" desc="Text to show for the translate bubble label when the page could not be translated.">
        This page could not be translated.
      </message>
      <message name="IDS_TRANSLATE_BUBBLE_PAGE_LANGUAGE" desc="Text to show for the translate bubble label next to the combobox of the page language">
        Page language:
      </message>
      <message name="IDS_TRANSLATE_BUBBLE_TRANSLATION_LANGUAGE" desc="Text to show for the translate bubble label next to the combobox of the target language for Translate">
        Translation language:
      </message>
      <message name="IDS_TRANSLATE_BUBBLE_LEARN_MORE" desc="Text to show for the translate bubble link label next to jump to the help page.">
        Learn more
      </message>

      <!-- Desktop notifications -->
      <message name="IDS_NOTIFICATION_BALLOON_DISMISS_LABEL" desc="Text on the button which dismisses the balloon.">
        Dismiss
      </message>
      <message name="IDS_NOTIFICATION_BALLOON_SOURCE_LABEL" desc="Text which labels the balloon with the source origin.">
        <ph name="SOURCE_ORIGIN">$1</ph>
      </message>
      <message name="IDS_NOTIFICATION_PERMISSIONS" desc="Text requesting permission for desktop notifications.">
        Allow <ph name="site">$1<ex>mail.google.com</ex></ph> to show desktop notifications?
      </message>
      <message name="IDS_NOTIFICATION_PERMISSION_YES" desc="The label of the 'allow' button on the notification permission infobar.">
        Allow
      </message>
      <message name="IDS_NOTIFICATION_PERMISSION_NO" desc="The label of the 'deny' button on the notification permission infobar.">
        Deny
      </message>
      <message name="IDS_NOTIFICATION_OPTIONS_MENU_LABEL" desc="Text for the menu option">
        Options
      </message>
      <message name="IDS_NOTIFICATION_BALLOON_REVOKE_MESSAGE" desc="Text for the menu option to revoke notification permission.">
        Disable notifications from <ph name="site">$1<ex>mail.google.com</ex></ph>
      </message>
      <message name="IDS_NOTIFICATION_BALLOON_ENABLE_MESSAGE" desc="Text for the menu option to enable notification permission.">
        Enable notifications from <ph name="site">$1<ex>mail.google.com</ex></ph>
      </message>
      <message name="IDS_NOTIFICATION_CHOOSE_POSITION" desc="Menu label for position choice submenu.">
        Choose position
      </message>
      <message name="IDS_NOTIFICATION_POSITION_DEFAULT" desc="Menu label for positioning in default location">
        Use default
      </message>
      <message name="IDS_NOTIFICATION_POSITION_LOWER_LEFT" desc="Menu label for positioning in lower left corner">
        Lower left
      </message>
      <message name="IDS_NOTIFICATION_POSITION_LOWER_RIGHT" desc="Menu label for positioning in lower right corner">
        Lower right
      </message>
      <message name="IDS_NOTIFICATION_POSITION_UPPER_LEFT" desc="Menu label for positioning in upper left corner">
        Upper left
      </message>
      <message name="IDS_NOTIFICATION_POSITION_UPPER_RIGHT" desc="Menu label for positioning in upper right corner">
        Upper right
      </message>
      <message name="IDS_NOTIFICATION_WELCOME_BODY" desc="Notification body for the Welcome Notification">
        Stay connected to what you need to know, across all devices.
      </message>
      <message name="IDS_NOTIFICATION_WELCOME_BUTTON_LEARN_MORE" desc="Learn more button text for the Welcome Notification">
        Learn more
      </message>
      <message name="IDS_NOTIFICATION_WELCOME_DISPLAY_SOURCE" desc="Display source for the Welcome Notification">
        Notifications
      </message>
      <message name="IDS_NOTIFICATION_WELCOME_TITLE" desc="Notification title for the Welcome Notification">
        Google Now on your desktop!
      </message>
      <if expr="is_macosx">
        <message name="IDS_MESSAGE_CENTER_FOOTER_WITH_PRODUCT_TITLE" desc="The label in the footer of the message center tray, with the product title.">
          <ph name="product_name">$1<ex>Chrome</ex></ph> Notifications
        </message>
      </if>

      <!-- Mac AppleScript -->
      <if expr="is_macosx">
        <message name="IDS_GET_PROFILE_ERROR_APPLESCRIPT_MAC" desc="Error dialog title to be displayed when profile fails to load.  Mac-only.">
        Could not get profile.
        </message>
        <message name="IDS_BOOKMARK_MODEL_LOAD_ERROR_APPLESCRIPT_MAC" desc="Error dialog title to be displayed when bookmark model fails to load.  Mac-only.">
        Could not load bookmark model.
        </message>
        <message name="IDS_CREATE_BOOKMARK_FOLDER_ERROR_APPLESCRIPT_MAC" desc="Error dialog title to be displayed when bookmark folder cannot be created.  Mac-only.">
        Could not create bookmark folder.
        </message>
        <message name="IDS_CREATE_BOOKMARK_ITEM_ERROR_APPLESCRIPT_MAC" desc="Error dialog title to be displayed when bookmark item cannot be created.  Mac-only.">
                Could not create bookmark item.
        </message>
        <message name="IDS_INVALID_URL_APPLESCRIPT_MAC" desc="Error dialog title to be displayed when invalid URL is entered.  Mac-only.">
                Invalid URL entered.
        </message>
        <message name="IDS_INITIATE_PRINTING_ERROR_APPLESCRIPT_MAC" desc="Error dialog title to be displayed when printing could not be initiated.  Mac-only.">
                Could not initiate printing.
        </message>
        <message name="IDS_INVALID_SAVE_TYPE_ERROR_APPLESCRIPT_MAC" desc="Error dialog title to be displayed when wrong save type is entered.  Mac-only.">
                Invalid save type entered.
        </message>
        <message name="IDS_INVALID_MODE_ERROR_APPLESCRIPT_MAC" desc="Error dialog title to be displayed when wrong save type is entered.  Mac-only.">
                Invalid mode entered.
        </message>
        <message name="IDS_INVALID_TAB_INDEX_APPLESCRIPT_MAC" desc="Error dialog title to be displayed when invalid tab index is entered.  Mac-only.">
                Invalid tab index entered.
        </message>
        <message name="IDS_SET_MODE_APPLESCRIPT_MAC" desc="Error dialog title to be displayed when mode is entered after window is created.  Mac-only.">
                Cannot set mode after window is set.
        </message>
        <message name="IDS_WRONG_INDEX_ERROR_APPLESCRIPT_MAC" desc="Error dialog title to be displayed when ordered index is out of bounds.  Mac-only.">
                Wrong index.
        </message>
      </if> <!-- is_macosx -->


      <!-- Mac Menubar Menus -->
      <if expr="is_macosx or is_ios">
        <!-- Menubar Menu Titles -->
        <!-- NOTE: Some of these exist in context menus with Title Case support, but we use different IDs in case we need slightly different strings in some language due to the different context. -->
        <message name="IDS_FILE_MENU_MAC" desc="The menu title of the Mac file menu.">
          File
        </message>
        <message name="IDS_EDIT_MENU_MAC" desc="The menu title of the Mac edit menu.">
          Edit
        </message>
        <message name="IDS_VIEW_MENU_MAC" desc="The menu title of the Mac view menu.">
          View
        </message>
        <message name="IDS_HISTORY_MENU_MAC" desc="The menu title of the Mac history menu.">
          History
        </message>
        <message name="IDS_WINDOW_MENU_MAC" desc="The menu title of the Mac window menu.">
          Window
        </message>
        <message name="IDS_HELP_MENU_MAC" desc="The menu title of the Mac help menu.">
          Help
        </message>
        <!-- App menu -->
        <message name="IDS_ABOUT_MAC" desc="The Mac menu item to open the about box.">
          About <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>
        </message>
        <message name="IDS_SERVICES_MAC" desc="The Mac menu item for the OS X services submenu (OS fills it in) in the app menu.">
          Services
        </message>
        <message name="IDS_HIDE_APP_MAC" desc="The Mac menu item to hide all browser windows in the app menu.">
          Hide <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>
        </message>
        <message name="IDS_HIDE_OTHERS_MAC" desc="The Mac menu item to hide other applications' windows in the app menu.">
          Hide Others
        </message>
        <message name="IDS_SHOW_ALL_MAC" desc="The Mac menu item to show all browser windows in the app menu.">
          Show All
        </message>
        <message name="IDS_EXIT_MAC" desc="The Mac menu item to quit the browser in the app menu.">
          Quit <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>
        </message>
        <!-- File menu -->
        <message name="IDS_NEW_MAC" desc="The Mac menu item for creating a new file in the file menu.">
          New
        </message>
        <message name="IDS_NEW_TAB_MAC" desc="The Mac menu item for opening a new tab in the file menu.">
          New Tab
        </message>
        <message name="IDS_NEW_WINDOW_MAC" desc="The Mac menu item for opening a new window in the file menu.">
          New Window
        </message>
        <message name="IDS_NEW_INCOGNITO_WINDOW_MAC" desc="The Mac menu item for opening a new incognito window in the file menu.">
          New Incognito Window
        </message>
        <message name="IDS_BACKGROUND_APPS_MAC" desc="The Mac submenu for opening Background Apps.">
          Background Apps
        </message>
        <message name="IDS_REOPEN_CLOSED_TABS_MAC" desc="The Mac menu item reopen recently closed tabs in the file menu.">
          Reopen Closed Tab
        </message>
        <message name="IDS_OPEN_FILE_MAC" desc="The Mac menu item to open a file in the file menu.">
          Open File...
        </message>
        <message name="IDS_OPEN_LOCATION_MAC" desc="The Mac menu item to open a location in the file menu (puts cursor in the url bar).">
          Open Location...
        </message>
        <message name="IDS_CLOSE_WINDOW_MAC" desc="The Mac menu item to close a window in the file menu.">
          Close Window
        </message>
        <message name="IDS_CLOSE_TAB_MAC" desc="The Mac menu item to close a browser tab in the file menu.">
          Close Tab
        </message>
        <message name="IDS_SAVE_PAGE_MAC" desc="The Mac menu item to save a page in the file menu.">
          Save Page As...
        </message>
        <message name="IDS_EMAIL_PAGE_LOCATION_MAC" desc="The Mac menu item to email the page location in the file menu.">
          Email Page Location
        </message>
        <message name="IDS_PRINT_USING_SYSTEM_DIALOG_MAC" desc="The Mac menu item to print using system dialog in the file menu">
          Print Using System Dialog...
        </message>
        <!-- Edit menu -->
        <message name="IDS_EDIT_UNDO_MAC" desc="The Mac menu item undo in the edit menu.">
          Undo
        </message>
        <message name="IDS_EDIT_REDO_MAC" desc="The Mac menu item redo in the edit menu.">
          Redo
        </message>
        <message name="IDS_CUT_MAC" desc="The Mac menu item for cut in the edit menu.">
          Cut
        </message>
        <message name="IDS_COPY_MAC" desc="The Mac menu item for copy in the edit menu.">
          Copy
        </message>
        <message name="IDS_PASTE_MAC" desc="The Mac menu item for paste in the edit menu.">
          Paste
        </message>
        <message name="IDS_PASTE_MATCH_STYLE_MAC" desc="The Mac menu item for paste and match style in the edit menu.">
          Paste and Match Style
        </message>
        <message name="IDS_EDIT_DELETE_MAC" desc="The Mac menu item delete in the edit menu.">
          Delete
        </message>
        <message name="IDS_EDIT_SELECT_ALL_MAC" desc="The Mac menu item select all in the edit menu.">
          Select All
        </message>
        <message name="IDS_SHOW_URL_MAC" desc="The Mac menu item for Show URL in the omnibox context menu, when the omnibox is showing search terms instead of the underlying search URL.">
          Show URL
        </message>
        <!-- Edit::Find submenu -->
        <message name="IDS_EDIT_FIND_SUBMENU_MAC" desc="The Mac menu item for the find submenu in the edit menu.">
          Find
        </message>
        <message name="IDS_EDIT_SEARCH_WEB_MAC" desc="The Mac menu item for search the web (using, e.g., Google or Yahoo! search) in the edit menu.">
          Search the Web...
        </message>
        <message name="IDS_EDIT_FIND_MAC" desc="The Mac menu item for find in the edit menu.">
          Find...
        </message>
        <message name="IDS_EDIT_FIND_NEXT_MAC" desc="The Mac menu item for find next in the edit menu.">
          Find Next
        </message>
        <message name="IDS_EDIT_FIND_PREVIOUS_MAC" desc="The Mac menu item for find previous in the edit menu.">
          Find Previous
        </message>
        <message name="IDS_EDIT_USE_SELECTION_MAC" desc="The Mac menu item for use selection for find in the edit menu.">
          Use Selection for Find
        </message>
        <message name="IDS_EDIT_JUMP_TO_SELECTION_MAC" desc="The Mac menu item for jump to selection in the edit menu.">
          Jump to Selection
        </message>
        <!-- Edit::Spelling and Grammar submenu -->
        <message name="IDS_EDIT_SPELLING_GRAMMAR_MAC" desc="The Mac menu item for spelling and grammar submenu in the edit menu.">
          Spelling and Grammar
        </message>
        <message name="IDS_EDIT_SHOW_SPELLING_GRAMMAR_MAC" desc="The Mac menu item for show spelling and grammar in the edit menu.">
          Show Spelling and Grammar
        </message>
        <message name="IDS_EDIT_CHECK_DOCUMENT_MAC" desc="The Mac menu item for check document in the edit menu.">
          Check Document Now
        </message>
        <message name="IDS_EDIT_CHECK_SPELLING_TYPING_MAC" desc="The Mac menu item for check spelling while typing in the edit menu.">
          Check Spelling While Typing
        </message>
        <message name="IDS_EDIT_CHECK_GRAMMAR_MAC" desc="The Mac menu item for check grammar with spelling in the edit menu.">
          Check Grammar With Spelling
        </message>
        <!-- Edit::Speech submenu -->
        <message name="IDS_SPEECH_MAC" desc="The Mac menu item for the 'Speech' submenu in the edit and context menu. To translate, launch /Applications/TextEdit.app in an appropriately localized version of OS X, open the Edit menu and use the translation from there.">
          Speech
        </message>
        <message name="IDS_SPEECH_START_SPEAKING_MAC" desc="The Mac menu item for the 'Start Speaking' item from the 'Speech' submenu in edit and context menu. To translate, launch /Applications/TextEdit.app in an appropriately localized version of OS X, open the Edit menu and use the translation from there.">
          Start Speaking
        </message>
        <message name="IDS_SPEECH_STOP_SPEAKING_MAC" desc="The Mac menu item for the 'Stop Speaking' item from the 'Speech' submenu in edit and context menu. To translate, launch /Applications/TextEdit.app in an appropriately localized version of OS X, open the Edit menu and use the translation from there.">
          Stop Speaking
        </message>
        <!-- View menu -->
        <message name="IDS_BOOKMARK_BAR_ALWAYS_SHOW_MAC" desc="The Mac menu item for having bookmark bar always visible in the view menu.">
          Always Show Bookmarks Bar
        </message>
        <message name="IDS_STOP_MENU_MAC" desc="The Mac menu item stop in the view menu.">
          Stop
        </message>
        <message name="IDS_RELOAD_MENU_MAC" desc="The Mac menu item to reload the current page in the view menu.">
          Reload This Page
        </message>
        <message name="IDS_RELOAD_IGNORING_CACHE_MENU_MAC" desc="The Mac menu item to force reload the current page (ignoring cache) in the view menu.">
          Force Reload This Page
        </message>
        <message name="IDS_ENTER_FULLSCREEN_MAC" desc="The Mac menu item to go into fullscreen mode in the view menu and also in the app menu.">
          Enter Full Screen
        </message>
        <message name="IDS_EXIT_FULLSCREEN_MAC" desc="The Mac menu item to leave fullscreen mode in the view menu and also in the app menu.">
          Exit Full Screen
        </message>
        <message name="IDS_ENTER_PRESENTATION_MAC" desc="The Mac menu item to go into presentation mode in the view menu.">
          Enter Presentation Mode
        </message>
        <message name="IDS_EXIT_PRESENTATION_MAC" desc="The Mac menu item to leave presentation mode in the view menu.">
          Exit Presentation Mode
        </message>
        <message name="IDS_TEXT_BIGGER_MAC" desc="The Mac menu item to zoom in on the page in the view menu.">
          Zoom In
        </message>
        <message name="IDS_TEXT_DEFAULT_MAC" desc="The Mac menu item to make the page actual size in the view menu.">
          Actual Size
        </message>
        <message name="IDS_TEXT_SMALLER_MAC" desc="The Mac menu item to zoom out on the in the view menu.">
          Zoom Out
        </message>
        <message name="IDS_DEVELOPER_MENU_MAC" desc="The Mac menu item for the developer submenu in the view menu.">
          Developer
        </message>
        <!-- View->Developer menu -->
        <message name="IDS_VIEW_SOURCE_MAC" desc="The Mac menu item for view page source in the developer submenu of the view menu.">
          View Source
        </message>
        <message name="IDS_DEV_TOOLS_MAC" desc="The Mac menu item for the developer tools in the developer submenu of the view menu.">
          Developer Tools
        </message>
        <message name="IDS_DEV_TOOLS_CONSOLE_MAC" desc="The Mac menu item for the JavaScript console in the developer submenu of the view menu.">
          JavaScript Console
        </message>
        <message name="IDS_TASK_MANAGER_MAC" desc="The Mac menu item for task manager in the developer submenu of the view menu.">
          Task Manager
        </message>
        <!-- History menu -->
        <message name="IDS_HISTORY_HOME_MAC" desc="The Mac menu item for home in the history menu.">
          Home
        </message>
        <message name="IDS_HISTORY_BACK_MAC" desc="The Mac menu item for back in the history menu.">
          Back
        </message>
        <message name="IDS_HISTORY_FORWARD_MAC" desc="The Mac menu item for forward in the history menu.">
          Forward
        </message>
        <message name="IDS_HISTORY_VISITED_MAC" desc="The Mac menu item for the header of visited items in the history menu.">
          Recently Visited
        </message>
        <message name="IDS_HISTORY_CLOSED_MAC" desc="The Mac menu item for the header of recently closed items in the history menu.">
          Recently Closed
        </message>
        <message name="IDS_HISTORY_CLOSED_RESTORE_WINDOW_MAC" desc="The Mac menu item for restoring all the tabs of a recently closed window.">
          Restore All Tabs
        </message>
        <!-- Bookmarks menu -->
        <message name="IDS_BOOKMARK_ALL_TABS_MAC" desc="The Mac menu item for bookmarking all tabs in the current window.">
          Bookmark All Tabs...
        </message>
        <!-- Window menu -->
        <message name="IDS_MINIMIZE_WINDOW_MAC"
                 desc="The Mac menu item for minimize the window menu."
                 meaning="Mac Menubar: The Mac menu item for minimize the window menu.">
          Minimize
        </message>
        <message name="IDS_ZOOM_WINDOW_MAC"
                 desc="The Mac menu item for zoom (maximize) in the window menu."
                 meaning="Mac Menubar: The Mac menu item for zoom (maximize) in the window menu.">
          Zoom
        </message>
        <message name="IDS_NEXT_TAB_MAC" desc="The Mac menu item for next tab in the window menu.">
          Select Next Tab
        </message>
        <message name="IDS_PREV_TAB_MAC" desc="The Mac menu item for previous tab in the window menu.">
          Select Previous Tab
        </message>
        <message name="IDS_SHOW_TABPOSE_MAC" desc="The Mac menu item for showing a tab overview. This item is in the window menu.">
          Show Tab Overview...
        </message>
        <message name="IDS_SHOW_DOWNLOADS_MAC" desc="The Mac menu item to show downloads in the window menu.">
          Downloads
        </message>
        <message name="IDS_SHOW_EXTENSIONS_MAC" desc="The Mac menu item to show extensions in the window menu.">
          Extensions
        </message>
        <message name="IDS_ALL_WINDOWS_FRONT_MAC" desc="The Mac menu item for bring all to front the window menu.">
          Bring All to Front
        </message>
        <!-- Help menu -->
        <message name="IDS_FEEDBACK_MAC" desc="The Mac menu item to report a bug in the Help menu.">
          Report an Issue...
        </message>
        <message name="IDS_HELP_MAC" desc="The Mac menu item to show help in the Help menu.">
          <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> Help
        </message>
      </if> <!-- is_macosx -->

      <!-- Linux Global Menubar Menus -->
      <if expr="is_posix and not is_macosx and not is_ios">
        <!-- Unity and some other GNOME configurations now have a permanent,
             Mac-like menu bar that lives outside the window at the top of the
             screen. The following strings should be in Linux style, not Mac
             style (i.e. have ampersand accelerators, be title cased, etc.)

             In general, the Linux UI will try to reuse other menu strings
             since they are otherwise appropriate, but we do need a few
             additional ones with different formatting. -->

        <!-- Menubar Menu Titles -->
        <message name="IDS_FILE_MENU_LINUX" desc="The menu title of the Linux file menu.">
          &amp;File
        </message>
        <message name="IDS_EDIT_MENU_LINUX" desc="The menu title of the Linux edit menu.">
          &amp;Edit
        </message>
        <message name="IDS_VIEW_MENU_LINUX" desc="The menu title of the Linux view menu.">
          &amp;View
        </message>
        <message name="IDS_HISTORY_MENU_LINUX" desc="The menu title of the Linux history menu.">
          Hi&amp;story
        </message>
        <message name="IDS_TOOLS_MENU_LINUX" desc="The menu title of the Linux tools menu.">
          &amp;Tools
        </message>
        <message name="IDS_HELP_MENU_LINUX" desc="The menu title of the Linux help menu.">
          &amp;Help
        </message>

        <!-- File menu items that we can't reuse. -->
        <message name="IDS_REOPEN_CLOSED_TABS_LINUX" desc="The Linux menu item reopen recently closed tabs in the file menu.">
          Reopen Closed Tab
        </message>
        <message name="IDS_OPEN_FILE_LINUX" desc="The Linux menu item to open a file in the file menu.">
          Open &amp;File...
        </message>
        <message name="IDS_OPEN_LOCATION_LINUX" desc="The Linux menu item to open a location in the file menu (puts cursor in the url bar).">
          Open &amp;Location...
        </message>
        <message name="IDS_CLOSE_WINDOW_LINUX" desc="The Linux menu item to close a window in the file menu.">
          Close Win&amp;dow
        </message>
        <message name="IDS_CLOSE_TAB_LINUX" desc="The Linux menu item to close a browser tab in the file menu.">
          &amp;Close Tab
        </message>

        <!-- View menu items that we can't reuse. -->
        <message name="IDS_STOP_MENU_LINUX" desc="The Linux menu item stop in the view menu.">
          &amp;Stop
        </message>
        <message name="IDS_RELOAD_MENU_LINUX" desc="The Linux menu item to reload the current page in the view menu.">
          &amp;Reload This Page
        </message>
        <message name="IDS_TEXT_DEFAULT_LINUX" desc="The Linux menu item to make the page actual size in the view menu.">
          A&amp;ctual Size
        </message>
        <message name="IDS_TEXT_BIGGER_LINUX" desc="The Linux menu item to zoom in on the page in the view menu.">
          Zoom &amp;In
        </message>
        <message name="IDS_TEXT_SMALLER_LINUX" desc="The Linux menu item to zoom out on the in the view menu.">
          Zoom &amp;Out
        </message>

        <!-- History menu -->
        <message name="IDS_HISTORY_HOME_LINUX" desc="The Linux menu item for home in the history menu.">
          Home
        </message>
        <message name="IDS_HISTORY_BACK_LINUX" desc="The Linux menu item for back in the history menu.">
          &amp;Back
        </message>
        <message name="IDS_HISTORY_FORWARD_LINUX" desc="The Linux menu item for forward in the history menu.">
          &amp;Forward
        </message>
        <message name="IDS_HISTORY_VISITED_LINUX" desc="The Linux menu item for the header of most visited items in the history menu.">
          Most Visited
        </message>
        <message name="IDS_HISTORY_CLOSED_LINUX" desc="The Linux menu item for the header of recently closed items in the history menu.">
          Recently Closed
        </message>
        <message name="IDS_HISTORY_CLOSED_RESTORE_WINDOW_LINUX" desc="The Linux menu item for restoring all the tabs of a recently closed window.">
          Restore All Tabs
        </message>

      </if>

    <!-- Color chooser dialog default titles (only used on Linux) -->
    <message name="IDS_SELECT_COLOR_DIALOG_TITLE" desc="The default title for the Select Color color chooser dialog.">
      Select Color
    </message>

    <!-- Geolocation messages -->
    <if expr="not is_android">
      <message name="IDS_GEOLOCATION_INFOBAR_QUESTION" desc="Question asked on the info bar whenever URL wants to access the user's physical location">
        <ph name="URL">
          $1<ex>maps.google.com</ex>
        </ph> wants to use your computer's location.
      </message>
    </if>
    <if expr="is_android">
      <message name="IDS_GEOLOCATION_INFOBAR_QUESTION" desc="Mobile: Question asked on the info bar whenever URL wants to access the user's physical location">
        <ph name="URL">
          $1<ex>maps.google.com</ex>
        </ph> wants to use your device's location.
      </message>
    </if>
    <message name="IDS_GEOLOCATION_ALLOW_BUTTON" desc="A button in geolocation infobar for allowing access to geolocation for a given domain.">
      Allow
    </message>
    <message name="IDS_GEOLOCATION_DENY_BUTTON" desc="A button in geolocation infobar for denying access to geolocation for a given domain.">
      Deny
    </message>
    <message name="IDS_GEOLOCATION_BUBBLE_SECTION_ALLOWED" desc="Heading for a section in the geolocation bubble listing all sites which are currently tracking the user's location.">
      This page contains elements from the following sites that are tracking your location:
    </message>
    <message name="IDS_GEOLOCATION_BUBBLE_SECTION_DENIED" desc="Heading for a section in the geolocation bubble listing all sites which are currently blocked from accessing the user's location.">
      The following sites have been blocked from tracking your location on this page:
    </message>
    <message name="IDS_GEOLOCATION_BUBBLE_REQUIRE_RELOAD_TO_CLEAR" desc="Hint text for the geolocation bubble informing user they must reload the page for the Clear settings command to take effect.">
      Settings will be cleared on next reload.
    </message>
    <message name="IDS_GEOLOCATION_BUBBLE_CLEAR_LINK" desc="Link on the geolocation bubble that resets the list of allowed and blocked sites.">
      Clear these settings for future visits
    </message>
    <message name="IDS_GEOLOCATION_BUBBLE_MANAGE_LINK" desc="Link on the geolocation bubble that opens up the Content Settings management dialog.">
      Manage location settings...
    </message>
    <message name="IDS_GEOLOCATION_ALLOWED_TOOLTIP" desc="Location bar icon tooltip text when a page is allowed to use geolocation.">
      This page is tracking your location.
    </message>
    <message name="IDS_GEOLOCATION_BLOCKED_TOOLTIP" desc="Location bar icon tooltip text when a page is blocked from using geolocation.">
      This page has been blocked from tracking your location.
    </message>

    <!-- Web MIDI messages -->
    <message name="IDS_MIDI_SYSEX_TAB_LABEL" desc="Label for MIDI system exclusive message on Content Settings dialog">
      MIDI full control
    </message>
    <message name="IDS_MIDI_SYSEX_ALLOW_RADIO" desc="A radio button in Content Settings dialog to allow a site to access MIDI devices with system exclusive messages.">
      Allow all sites to use system exclusive messages to access MIDI devices
    </message>
    <message name="IDS_MIDI_SYSEX_BLOCK_RADIO" desc="A radio button in Content Settings dialog to deny a site to access MIDI devices with system exclusive messages.">
      Do not allow any sites to use system exclusive messages to access MIDI devices
    </message>
    <message name="IDS_MIDI_SYSEX_ASK_RADIO" desc="A radio button in Content Settings dialog to allow a site to query the permision to access MIDI devices with system exclusive messages.">
      Ask me when a site wants to use system exclusive messages to access MIDI devices (recommended)
    </message>
    <message name="IDS_MIDI_SYSEX_INFOBAR_QUESTION" desc="Question asked on the info bar whenever URL wants to access MIDI devices with system exclusive messages.">
      <ph name="URL">
        $1<ex>www.google.com</ex>
      </ph> wants to get full control of your MIDI devices.
    </message>
    <message name="IDS_MIDI_SYSEX_ALLOW_BUTTON" desc="A button in MIDI access infobar for allowing full access to MIDI devices for a given domain.">
      Allow
    </message>
    <message name="IDS_MIDI_SYSEX_DENY_BUTTON" desc="A button in MIDI access infobar for denying full access to MIDI devices for a given domain.">
      Deny
    </message>
    <message name="IDS_MIDI_SYSEX_ALLOWED_TOOLTIP" desc="Location bar icon tooltip text when a page is allowed to use MIDI system exclusive messages.">
      This page has full control of MIDI devices.
    </message>
    <message name="IDS_MIDI_SYSEX_BLOCKED_TOOLTIP" desc="Location bar icon tooltip text when a page is blocked from using MIDI system exclusive messages.">
      This page has been blocked from having full control of MIDI devices.
    </message>
    <message name="IDS_MIDI_SYSEX_BUBBLE_ALLOWED" desc="Title of the MIDI bubble where system exclusive messages are allowed.">
      This site has full control of MIDI devices.
    </message>
    <message name="IDS_MIDI_SYSEX_BUBBLE_DENIED" desc="Title of the MIDI bubble where system exclusive messages are blocked.">
      This site has been blocked from having full control of MIDI devices.
    </message>
    <message name="IDS_MIDI_SYSEX_BUBBLE_REQUIRE_RELOAD_TO_CLEAR" desc="Hint text for the MIDI bubble informing user they must reload the page for the Clear settings command to take effect.">
      Settings will be cleared on next reload.
    </message>
    <message name="IDS_MIDI_SYSEX_BUBBLE_CLEAR_LINK" desc="Link on the MIDI bubble that resets the list of allowed and blocked sites.">
      Clear these settings for future visits
    </message>
    <message name="IDS_MIDI_SYSEX_BUBBLE_MANAGE_LINK" desc="Link on the MIDI bubble that opens up the Content Settings management dialog.">
      Manage MIDI settings...
    </message>

    <!-- Protocol Handler -->
    <message name="IDS_REGISTER_PROTOCOL_HANDLER_TOOLTIP" desc="Location bar icon tooltip text when a page wants to use registerProtocolHandler.">
      This page wants to install a service handler.
    </message>

    <!-- Media Stream -->
    <message name="IDS_MEDIASTREAM_BUBBLE_MANAGE_LINK" desc="Link on the media (camera and microphone) bubble that opens up the Content Settings management dialog for media settings.">
      Manage media settings...
    </message>
    <message name="IDS_MICROPHONE_CAMERA_ALLOWED" desc="Status text that is used as location bar icon tooltip text and as media settings bubble status text when a page is allowed to use the camera and microphone.">
      This page is accessing your camera and microphone.
    </message>
    <message name="IDS_MICROPHONE_CAMERA_BLOCKED" desc="Status text that is used as location bar icon tooltip text and as media settings bubble status text when a page is blocked from using the camera and microphone.">
      This page has been blocked from accessing your camera and microphone.
    </message>
    <message name="IDS_MICROPHONE_ACCESSED" desc="Microphone usage status text that is used as tooltip text for the location bar icon and as status text of the media settings bubble when a page is using the microphone (but not the camera).">
      This page is accessing your microphone.
    </message>
    <message name="IDS_CAMERA_ACCESSED" desc="Camera usage status text that is used as tooltip text for the location bar icon and as status text of the media settings bubble when a page is using the camera (but not the microphone).">
      This page is accessing your camera.
    </message>
    <message name="IDS_MICROPHONE_BLOCKED" desc="Microphone usage status text that is used as tooltip text for the location bar icon and as status text of the media settings bubble when a page is blocked from using the microphone.">
      This page has been blocked from accessing your microphone.
    </message>
    <message name="IDS_CAMERA_BLOCKED" desc="Camera usage status text that is used as tooltip text for the location bar icon and as status text of the media settings bubble when a page is blocked from using the camera.">
      This page has been blocked from accessing your camera.
    </message>
    <message name="IDS_MEDIASTREAM_SETTING_CHANGED_INFOBAR_MESSAGE" desc="Infobar message for reloading when media (camera, michrophone) settings was changed by user.">
      New camera and microphone settings will take effect after reloading the page.
    </message>

    <!-- Proteced media identifier permission infobar -->
    <if expr="is_android">
      <message name="IDS_PROTECTED_MEDIA_IDENTIFIER_INFOBAR_QUESTION" desc="Question asked on the infobar whenever URL wants to access protected media identifier. It shows the origin of the URL.">
        <ph name="URL">$1<ex>https://www.youtube.com</ex></ph> needs to uniquely identify your device to play premium content.
      </message>
      <message name="IDS_PROTECTED_MEDIA_IDENTIFIER_ALLOW_BUTTON" desc="A button in the protected media identifier infobar for allowing access to a protected media identifier for a given origin.">
        Allow
      </message>
      <message name="IDS_PROTECTED_MEDIA_IDENTIFIER_DENY_BUTTON" desc="A button in the protected media identifier infobar for denying access to a protected media identifier for a given origin.">
        Deny
      </message>
      <message name="IDS_PROTECTED_MEDIA_IDENTIFIER_SETTINGS_LINK" desc="Link on in the protected media identifier infobar to open up its settings page.">
        Settings
      </message>
    </if>

    <message name="IDS_SAVE_PASSWORD" desc="The status text that is used as tooltip text for the save password icon and as status text of the save password bubble when a password can be saved.">
      Would you like to save this password?
    </message>
    <message name="IDS_MANAGE_PASSWORDS" desc="The title text that is used in the manage passwords bubble when a password is autofilled or after a user has stored a password.">
      Saved passwords for this site:
    </message>
    <message name="IDS_MANAGE_PASSWORDS_NO_PASSWORDS" desc="The text that is used in the manage passwords bubble when all passwords have been deleted.">
      No passwords saved.
    </message>
    <message name="IDS_MANAGE_PASSWORDS_DELETED" desc="The text that is used in the manage passwords bubble when a password is de.">
    Password deleted
    </message>
    <message name="IDS_MANAGE_PASSWORDS_UNDO" desc="The text that is used in the manage passwords bubble when a password is de.">
    Undo
    </message>

    <!-- Update Recommended dialog -->
    <if expr="not pp_ifdef('chromeos')">
      <message name="IDS_UPDATE_RECOMMENDED" desc="The main text of the Update Recommended dialog.">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> is out of date because it hasn't been relaunched in a while. An update is available and will be applied as soon as you relaunch.
      </message>
      <message name="IDS_RELAUNCH_AND_UPDATE" desc="The button label for relaunching and updating Chrome.">
        Relaunch
      </message>
    </if>
    <if expr="pp_ifdef('chromeos')">
      <message name="IDS_UPDATE_RECOMMENDED" desc="The main text of the Update Recommended dialog.">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome OS</ex></ph> needs to be restarted to apply the update.
      </message>
      <message name="IDS_RELAUNCH_AND_UPDATE" desc="The button label for restarting and updating Chrome OS.">
        Restart
      </message>
    </if>
    <if expr="not pp_ifdef('use_titlecase')">
      <message name="IDS_NOT_NOW" desc="The button label for delaying the relaunch and updating Chrome.">
        Not now
      </message>
    </if>
    <if expr="pp_ifdef('use_titlecase')">
      <message name="IDS_NOT_NOW" desc="In Tile Case: The button label for delaying the relaunch and updating Chrome.">
        Not Now
      </message>
    </if>

    <!-- Extra Mac UI Strings -->
    <if expr="is_macosx">
      <message name="IDS_PLEASE_RELAUNCH_BROWSER" desc="Title of the alert when Chrome needs to be relaunched for a change/update to take effect.">
        Please Relaunch <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>
      </message>
      <message name="IDS_SAVE_PAGE_FILE_FORMAT_PROMPT_MAC" desc="The title of the File Format label for saving a page.">
        Format:
      </message>

      <!-- Install from disk image -->
      <message name="IDS_INSTALL_FROM_DMG_TITLE" desc="Title of the dialog asking whether to install from the disk image.  Mac-only.">
        Do you want to install <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>?
      </message>
      <message name="IDS_INSTALL_FROM_DMG_PROMPT" desc="Prompt asking whether to install from the disk image.  Mac-only.">
        You're running <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> from its disk image. Installing it on your computer lets you run it without the disk image, and ensures it will be kept up to date.
      </message>
      <message name="IDS_INSTALL_FROM_DMG_YES" desc="Button to approve installation from the disk image.  Mac-only.">
        Install
      </message>
      <message name="IDS_INSTALL_FROM_DMG_NO" desc="Button to cancel installation from the disk image.  Mac-only.">
        Don't Install
      </message>
      <message name="IDS_INSTALL_FROM_DMG_AUTHENTICATION_PROMPT" desc="The prompt to be displayed in the authentication dialog when installing from the disk image.  The system will add a sentence asking for an administrator's name and password.  Mac-only.">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will be installed.
      </message>
      <message name="IDS_INSTALL_FROM_DMG_ERROR_TITLE" desc="Error dialog title to be displayed when installation from the disk image fails.  Mac-only.">
        Installation failed.
      </message>
      <message name="IDS_INSTALL_FROM_DMG_ERROR" desc="Error dialog message to be displayed when installation from the disk image fails.  Mac-only.">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> couldn't complete installation, but will continue to run from its disk image.
      </message>
    </if>

    <!-- File Selection Dialog Policy - Infobar -->
    <if expr="is_android">
      <message name="IDS_FILE_SELECTION_DIALOG_INFOBAR" desc="Mobile: Infobar message on disallowed file selection dialog.">
        Access to local files on your device is disabled by your administrator.
      </message>
    </if>
    <if expr="not is_android">
      <message name="IDS_FILE_SELECTION_DIALOG_INFOBAR" desc="Infobar message on disallowed file selection dialog.">
        Access to local files on your machine is disabled by your administrator.
      </message>
    </if>

    <!-- ChromeOS-specific strings -->
    <if expr="pp_ifdef('chromeos')">
      <part file="chromeos_strings.grdp" />
    </if>

    <if expr="is_posix and not is_macosx and not is_ios">
      <!-- Linux proxy configuration fallback help -->
      <message name="IDS_ABOUT_LINUX_PROXY_CONFIG_TITLE" desc="Title of HTML page shown on systems where system proxy configuration is unsupported.">
        Proxy Configuration Help
      </message>
      <message name="IDS_ABOUT_LINUX_PROXY_CONFIG_BODY" desc="HTML body of page shown on systems where system proxy configuration is unsupported.">
        &lt;p&gt;When running <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> under a supported desktop environment, the system proxy settings will be used.  However, either your system is not supported or there was a problem launching your system configuration.&lt;/p&gt;

        &lt;p&gt;But you can still configure via the command line.  Please see &lt;code&gt;man <ph name="PRODUCT_BINARY_NAME">$2<ex>google-chrome</ex></ph>&lt;/code&gt; for more information on flags and environment variables.&lt;/p&gt;
      </message>
      <message name="IDS_ABOUT_SANDBOX_TITLE" desc="Title of HTML page which contains the status of the sandbox.">
        Sandbox Status
      </message>
      <message name="IDS_ABOUT_SANDBOX_SUID_SANDBOX" desc="The name of a type of sandbox used by Chrome on UNIX like systems. The name 'SUID' stands for 'Set User ID', however it's a technical term and may be best left untranslated.">
        SUID Sandbox
      </message>
      <message name="IDS_ABOUT_SANDBOX_PID_NAMESPACES" desc="This a technical term for an attribute of the SUID sandbox. PID stands for 'Process ID' but, as a technical term, may be best left untranslated. A namespace is another technical term which refers to set of names for objects which are disjoint from the members of all other namespaces.">
        PID namespaces
      </message>
      <message name="IDS_ABOUT_SANDBOX_NET_NAMESPACES" desc="This a technical term for an attribute of the SUID sandbox. A namespace is a technical term which refers to set of names for objects which are disjoint from the members of all other namespaces.">
        Network namespaces
      </message>
      <message name="IDS_ABOUT_SANDBOX_SECCOMP_BPF_SANDBOX" desc="The name of a type of sandbox used by Chrome on UNIX like systems. 'Seccomp-BPF' is a technical term which should be left untranslated.">
        Seccomp-BPF sandbox
      </message>
      <message name="IDS_ABOUT_SANDBOX_OK" desc="A message telling the user that their sandbox is sufficient.">
        You are adequately sandboxed.
      </message>
      <message name="IDS_ABOUT_SANDBOX_BAD" desc="A message telling the user that their sandbox is insufficient.">
        You are not adequately sandboxed!
      </message>
    </if>

    <!-- GoogleURL tracker info bar -->
    <message name="IDS_GOOGLE_URL_TRACKER_INFOBAR_MESSAGE" desc="Message displayed when the user's current Google TLD doesn't match the default for their location.  This can be shortened in other languages (e.g. by removing 'would you like to') as needed to keep the translated strings from being much longer than English, so the infobar can still display all three IDS_GOOGLE_URL_TRACKER_ strings and a 'Learn more' link.">
       Would you like to search with <ph name="NEW_GOOGLE_HOST">$1<ex>google.de</ex></ph> instead of <ph name="CURRENT_GOOGLE_HOST">$2<ex>google.fr</ex></ph>?
    </message>
    <message name="IDS_GOOGLE_URL_TRACKER_INFOBAR_SWITCH" desc="Button text for button that changes user's default Google TLD to a new TLD.">
       Switch to <ph name="NEW_GOOGLE_HOST">$1<ex>google.de</ex></ph>
    </message>
    <message name="IDS_GOOGLE_URL_TRACKER_INFOBAR_DONT_SWITCH" desc="Button text for button that leaves user's default Google TLD unchanged.">
       Keep using <ph name="CURRENT_GOOGLE_HOST">$1<ex>google.fr</ex></ph>
    </message>

    <message name="IDS_SPEECH_INPUT_BUBBLE_HEADING" desc="First line in the content area of the speech input bubble. Instructs the user that they can start speaking.">
      Speak now
    </message>
    <message name="IDS_SPEECH_INPUT_ABORTED" desc="Message shown when speech recognition is aborted (due to another request).">
      Speech recognition was aborted.
    </message>
    <message name="IDS_SPEECH_INPUT_MIC_ERROR" desc="Message shown when audio recording failed with an error during speech recognition.">
      There was a problem with your microphone.
    </message>
    <message name="IDS_SPEECH_INPUT_NO_MIC" desc="Message shown when speech recognizer could not find a suitable microphone or other audio input device.">
      No microphone found.
    </message>
    <message name="IDS_SPEECH_INPUT_NO_SPEECH" desc="Message shown when speech recognizer detected no speech in the recorded audio.">
      No speech heard.
    </message>
    <message name="IDS_SPEECH_INPUT_NO_RESULTS" desc="Message shown when speech recognizer returned zero results.">
      Speech not recognized.
    </message>
    <message name="IDS_SPEECH_INPUT_TRY_AGAIN" desc="Text shown on a button to retry speech recognition">
      Try again
    </message>
    <message name="IDS_SPEECH_INPUT_NET_ERROR" desc="Message shown when a network error occurred and no results were received from the recognition server.">
      Connection to speech servers failed.
    </message>
    <message name="IDS_SPEECH_INPUT_MIC_SETTINGS" desc="Text displayed on a button or link to open the microphone settings window.">
      Microphone settings
    </message>

    <message name="IDS_IMAGE_FILES" desc="The description of the image file extensions in the select file dialog.">
      Image Files
    </message>
    <message name="IDS_AUDIO_FILES" desc="The description of the audio file extensions in the select file dialog.">
      Audio Files
    </message>
    <message name="IDS_VIDEO_FILES" desc="The description of the video file extensions in the select file dialog.">
      Video Files
    </message>
    <message name="IDS_CUSTOM_FILES" desc="The description of the custom file extensions in the select file dialog.">
      Custom Files
    </message>

    <!-- Strings for the new-style OAuth-based enterprise enrollment page -->
    <if expr="pp_ifdef('chromeos')">
      <message name="IDS_ENTERPRISE_DEVICE_REQUISITION_PROMPT_CANCEL" desc="Cancel button text in the device requisition poup.">
        Cancel
      </message>
      <message name="IDS_ENTERPRISE_DEVICE_REQUISITION_PROMPT_OK" desc="OK button text in the device requisition poup.">
        Restart
      </message>
      <message name="IDS_ENTERPRISE_DEVICE_REQUISITION_PROMPT_TEXT" desc="Prompt shown in the device requisition prompt popup.">
        Use this device requisition when enrolling the device for enterprise management:
      </message>
      <message name="IDS_ENTERPRISE_DEVICE_REQUISITION_REMORA_PROMPT_TITLE" desc="Title for the device requisition remora prompt popup.">
        Set up this device for remora only?
      </message>
      <message name="IDS_ENTERPRISE_DEVICE_REQUISITION_REMORA_PROMPT_TEXT" desc="Prompt shown in the device requisition remora prompt popup.">
        Are you sure you want to continue?
      </message>

      <message name="IDS_ENTERPRISE_ENROLLMENT_STATUS_REGISTRATION_FAILED" desc="Error message shown on the enrollment screen upon failed device registration.">
        Error when registering the device with the server: <ph name="CLIENT_ERROR">$1<ex>Failed to connect to the server</ex></ph>.
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_STATUS_REGISTRATION_BAD_MODE" desc="Error message shown on the enrollment screen upon receiving a bad mode on device registration.">
        The supplied enrollment mode is not supported by this version of the operating system.  Please make sure you are running the newest version and try again.
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_STATUS_POLICY_FETCH_FAILED" desc="Error message shown on the enrollment screen upon a failed policy fetch.">
        Error when fetching policy settings from the server: <ph name="CLIENT_ERROR">$1<ex>Failed to connect to the server</ex></ph>.
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_STATUS_VALIDATION_FAILED" desc="Error message shown on the enrollment screen upon a failure to validate downloaded policy.">
        The policy downloaded from the server is invalid: <ph name="VALIDATION_ERROR">$1<ex>Invalid signature</ex></ph>.
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_ROBOT_AUTH_FETCH_FAILED" desc="Error message shown on the enrollment screen upon failure to fetch the OAuth2 authorization code for device-level API access.">
        Oops!  The system failed to authorize API access for this device.
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_ROBOT_REFRESH_FETCH_FAILED" desc="Error message shown on the enrollment screen upon failure to fetch the OAuth2 refresh token for device-level API access.">
        Oops!  The system failed to attain a long-term API access token for this device.
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_ROBOT_REFRESH_STORE_FAILED" desc="Error message shown on the enrollment screen upon failure to store the OAuth2 refresh token for device-level API access.">
        Oops!  The system failed to store the long-term API access token for this device.
      </message>

      <message name="IDS_ENTERPRISE_ENROLLMENT_STATUS_LOCK_ERROR" desc="Error message shown on the enrollment screen upon failure to lock the device mode.">
        Oops!  The system failed to establish the device installation-time attributes lock.
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_STATUS_LOCK_TIMEOUT" desc="Error message to show when the initialization of the lockbox is taking too long.">
        Oops!  The initialization of the installation-time attributes has timed out.  Please contact your support representative.
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_STATUS_LOCK_WRONG_USER" desc="Error message to show when the user used to re-enroll the device does not belong to the domain that the device was originally enrolled into.">
        This user account does not belong to the domain that the device is enrolled to.  If you want to enroll to a different domain you need to go through device recovery first.
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_STATUS_STORE_ERROR" desc="Error message shown on the enrollment screen when the installation of the policy on the device fails.">
        Failed to install policy settings on the device: <ph name="VALIDATION_ERROR">$1<ex>Policy parsing failed</ex></ph>.
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_AUTH_FATAL_ERROR" desc="Error message to show when there is an unrecoverable error while authenticating with GAIA.">
        Oops!  Something went wrong when trying to authenticate you.  Please double-check your login credentials and try again.
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_AUTH_ACCOUNT_ERROR" desc="Error message to show when there is a problem with the user account.">
        This user account is not eligible for the service.
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_AUTH_NETWORK_ERROR" desc="Error message to show when there is a network problem when authenticating for enrollment.">
        Oops!  A network communication problem occurred during authentication.  Please check your network connection and try again.
      </message>
      <message name="IDS_ENTERPRISE_AUTO_ENROLLMENT_BAD_MODE" desc="Error message to show when auto-enrollment is not supported for the enrollment mode supplied by the DMServer.">
        Oops!  Something went wrong while auto-enrolling this device.  Please try again from the login screen using the Ctrl-Alt-E key combination, or contact your support representative.
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_FATAL_ENROLLMENT_ERROR" desc="Error message to show when there is an unrecoverable error while performing enrollment.">
        Oops!  Something went really wrong while enrolling this device.  Please try again or contact your support representative.
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_ACCOUNT_ERROR" desc="Error message to show when there is a problem with the user account.">
        This user account is not eligible for the service.
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_MISSING_LICENSES_ERROR" desc="Error message to show when the domain the device is trying to enroll into has expired or exhausted licenses.">
        You do not have enough software licenses to enroll this device. Please contact sales to purchase more. If you believe you're seeing this message in error, please contact support.
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_DEPROVISIONED_ERROR" desc="Error message to show when enrollment fails because the administrator has deprovisioned the device on the server side.">
        This device has been placed into a deprovisioned state by the administrator. To enable it for enrollment, please have your administrator place the device into a pending state.
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_SCREEN_TITLE" desc="The title on the enterprise enrollment dialog.">
        Enterprise enrollment
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_RETRY" desc="Label for the retry button on the error step in the enterprise enrollment dialog.">
        Try again
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_CANCEL" desc="Label for the cancel button on the enterprise enrollment dialog.">
        Cancel
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_DONE" desc="Label for the done button on the success screen in the enterprise enrollment dialog.">
        Done
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_SUCCESS" desc="Success message to be shown once enterprise enrollment completes.">
        Your device has successfully been enrolled for enterprise management.
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_WORKING" desc="Status message to show while enterprise enrollment is underway.">
        Enrolling the device. Please wait...
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_RESUMING_LOGIN" desc="Status message to show after enterprise enrollment is complete and the first user login is prepared.">
        Preparing for first enterprise login...
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_EXPLAIN" desc="Explanatory text describing what enterprise enrollment is and guiding the user to sign in with an account from the enterprise domain.">
        Welcome to your managed Chromebook!

        To complete the setup of this Chromebook, you must sign in with a username given to you by your organization.

        Contact your system administrator for more information.

        If this device does not belong to your organization, and is your personal device, you can press Ctrl+Alt+E now to cancel enrollment of the device and go back to the sign in screen.
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_EXPLAIN_LINK" desc="Text on the link to the screen that explain what enterprise enrollment is.">
        Learn more about Enterprise Enrollment
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_EXPLAIN_BUTTON" desc="Text on the button that closes the explanatory dialog and sends to user back to the sign in screen.">
        Sign in now
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_CANCEL_AUTO_REALLY" desc="Message asking the user to confirm if he really wants to cancel auto enrollment.">
        Please confirm that this is not an enterprise device. Enterprise enrollment will be cancelled.
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_CANCEL_AUTO_CONFIRM" desc="Text on the button that confirms opting out of auto enrollment.">
        Cancel enterprise enrollment
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_CANCEL_AUTO_GO_BACK" desc="Text on the button that goes back to enrollment from the confirmation dialog.">
        Back
      </message>
    </if>

    <!-- Fullscreen Strings -->
    <message name="IDS_FULLSCREEN_USER_ENTERED_FULLSCREEN" desc="Message for the user telling them that they have entered fullscreen mode.">
      You have gone full screen.
    </message>
    <message name="IDS_FULLSCREEN_EXTENSION_TRIGGERED_FULLSCREEN" desc="Message for the user telling them that an extension triggered fullscreen mode.">
      "<ph name="EXTENSION_NAME">$1<ex>MyExtension</ex></ph>" triggered full screen.
    </message>
    <message name="IDS_FULLSCREEN_UNKNOWN_EXTENSION_TRIGGERED_FULLSCREEN" desc="Message for the user telling them that an extension whose name is unknown triggered fullscreen mode.">
      An extension triggered full screen.
    </message>
    <message name="IDS_FULLSCREEN_SITE_ENTERED_FULLSCREEN" desc="Text displayed in the bubble when a page has gone fullscreen. (With a domain URL to display)">
      <ph name="FULLSCREEN_ORIGIN">$1<ex>google.com</ex></ph> is now full screen.
    </message>
    <message name="IDS_FULLSCREEN_ENTERED_FULLSCREEN" desc="Text displayed in the bubble when a page has gone fullscreen. (No domain to be shown, e.g. from filesystem page)">
      This page is now full screen.
    </message>
    <message name="IDS_FULLSCREEN_SITE_REQUEST_FULLSCREEN_MOUSELOCK" desc="Text displayed in the bubble that requests permission for staying in fullscreen mode and locking the mouse. (With a domain URL to display)">
      <ph name="FULLSCREEN_ORIGIN">$1<ex>google.com</ex></ph> is now full screen and wants to disable your mouse cursor.
    </message>
    <message name="IDS_FULLSCREEN_REQUEST_FULLSCREEN_MOUSELOCK" desc="Text displayed in the bubble that requests permission for staying in fullscreen mode and locking the mouse. (No domain to be shown, e.g. from filesystem page)">
      This page is now full screen and wants to disable your mouse cursor.
    </message>
    <message name="IDS_FULLSCREEN_SITE_REQUEST_MOUSELOCK" desc="Text displayed in the bubble that requests permission for locking the mouse. (With a domain URL to display)">
      <ph name="FULLSCREEN_ORIGIN">$1<ex>google.com</ex></ph> wants to disable your mouse cursor.
    </message>
    <message name="IDS_FULLSCREEN_REQUEST_MOUSELOCK" desc="Text displayed in the bubble that requests permission for locking the mouse. (No domain to be shown, e.g. from filesystem page)">
      This page wants to disable your mouse cursor.
    </message>
    <message name="IDS_FULLSCREEN_SITE_ENTERED_FULLSCREEN_MOUSELOCK" desc="Text displayed in the bubble to inform the user that the page has gone fullscreen and locked the mouse. (With a domain URL to display)">
      <ph name="FULLSCREEN_ORIGIN">$1<ex>google.com</ex></ph> is now full screen and has disabled your mouse cursor.
    </message>
    <message name="IDS_FULLSCREEN_ENTERED_FULLSCREEN_MOUSELOCK" desc="Text displayed in the bubble to inform the user that the page has gone fullscreen and locked the mouse. (No domain to be shown, e.g. from filesystem page)">
      This page is now full screen and has disabled your mouse cursor.
    </message>
    <message name="IDS_FULLSCREEN_SITE_ENTERED_MOUSELOCK" desc="Text displayed in the bubble to inform the user that the page has locked the mouse. (With a domain URL to display)">
      <ph name="FULLSCREEN_ORIGIN">$1<ex>google.com</ex></ph> has disabled your mouse cursor.
    </message>
    <message name="IDS_FULLSCREEN_ENTERED_MOUSELOCK" desc="Text displayed in the bubble to inform the user that the page has locked the mouse. (No domain to be shown, e.g. from filesystem page)">
      This page has disabled your mouse cursor.
    </message>
    <message name="IDS_FULLSCREEN_PRESS_ESC_TO_EXIT" desc="Text displayed in the bubble to tell users how to return to normal mode">
      Press <ph name="ACCELERATOR">$1<ex>Esc</ex></ph> to exit.
    </message>
    <message name="IDS_FULLSCREEN_ALLOW" desc="Text in the bubble button that grants permission for a site to enter fullscreen and/or lock the mouse.">
      Allow
    </message>
    <if expr="pp_ifdef('use_titlecase')">
      <message name="IDS_FULLSCREEN_EXIT_FULLSCREEN" desc="In Title Case: Text in the bubble button that forces a webpage out of fullscreen mode.">
        Exit Full Screen
      </message>
    </if>
    <if expr="not pp_ifdef('use_titlecase')">
      <message name="IDS_FULLSCREEN_EXIT_FULLSCREEN" desc="Text in the bubble button that forces a webpage out of fullscreen mode.">
        Exit full screen
      </message>
    </if>
    <message name="IDS_FULLSCREEN_EXIT" desc="Text in the bubble button that denies to lock the mouse and forces a webpage out of fullscreen mode.">
      Exit
    </message>
    <message name="IDS_FULLSCREEN_DENY" desc="Text in the bubble button that denies to lock the mouse.">
      Deny
    </message>

    <!-- Register Protocol Handler Strings -->
    <message name="IDS_REGISTER_PROTOCOL_HANDLER_MAILTO_NAME" desc="A more user friendly way of describing mailto: links.">
      email
    </message>
    <message name="IDS_REGISTER_PROTOCOL_HANDLER_WEBCAL_NAME" desc="A more user friendly way of describing webcal: links.">
      web calendar
    </message>
    <message name="IDS_REGISTER_PROTOCOL_HANDLER_CONFIRM" desc="The message to display when asking a user to confirm the registration of a protocol handler.">
      Allow <ph name="HANDLER_TITLE">$1<ex>Google Search</ex></ph> (<ph name="HANDLER_HOSTNAME">$2<ex>google.com</ex></ph>) to open all <ph name="PROTOCOL">$3<ex>search</ex></ph> links?
    </message>
    <message name="IDS_REGISTER_PROTOCOL_HANDLER_CONFIRM_REPLACE" desc="The message to display when asking a user to confirm the registration of a protocol handler.">
      Allow <ph name="HANDLER_TITLE">$1<ex>Google Search</ex></ph> (<ph name="HANDLER_HOSTNAME">$2<ex>google.com</ex></ph>) to open all <ph name="PROTOCOL">$3<ex>search</ex></ph> links instead of <ph name="REPLACED_HANDLER_TITLE">$4<ex>Elgoog Search</ex></ph>?
    </message>
    <message name="IDS_REGISTER_PROTOCOL_HANDLER_ACCEPT" desc="Text to show for the accept button for the register protocol handler request infobar.">
      Use <ph name="HANDLER_TITLE">$1<ex>Google Search</ex></ph>
    </message>
    <message name="IDS_REGISTER_PROTOCOL_HANDLER_DENY" desc="Text to show for the deny button for the register protocol handler request infobar.">
      No
    </message>
    <message name="IDS_REGISTER_PROTOCOL_HANDLER_IGNORE" desc="Text to show for an ignore prompt for a register protocol handler registration request.">
      Ignore
    </message>

    <!-- PDF with unsupported feature bubble -->
    <message name="IDS_PDF_BUBBLE_MESSAGE" desc="Message for the bubble when a user views a PDF with an unsupported feature">
      Parts of this PDF document could not be displayed.
    </message>
    <message name="IDS_PDF_BUBBLE_OPEN_IN_READER_LINK" desc="Title of the link to open a PDF with an unsupported feature in Adobe Reader">
      Open in Adobe Reader
    </message>
    <message name="IDS_PDF_BUBBLE_INSTALL_READER_LINK" desc="Title of the link to open a PDF with an unsupported feature in Adobe Reader">
      Install Adobe Reader
    </message>
    <message name="IDS_PDF_BUBBLE_METRO_MODE_LINK" desc="Title of the link to restart Chrome on Windows 8 in metro mode when viewing a PDF with an unsupported feature.">
      Relaunch Chrome on the desktop
    </message>
    <message name="IDS_PDF_INFOBAR_QUESTION_ALWAYS_USE_READER" desc="Question asked on the info bar when a user opens a PDF with Reader and we want to ask them if they always want to use it for viewing PDF files.">
      Use Adobe Reader as your default PDF viewer?
    </message>
    <message name="IDS_PDF_INFOBAR_ALWAYS_USE_READER_BUTTON" desc="The label of the 'always' button on the infobar that asks the user if they want to set Adobe Reader as default.">
      Always
    </message>
    <message name="IDS_PDF_PASSWORD_DIALOG_TITLE" desc="The title of the dialog requesting a password to open a protected PDF.">
      Password required
    </message>

    <!-- Adobe Reader is out of date Blocking Page -->
    <message name="IDS_READER_OUT_OF_DATE_BLOCKING_PAGE_TITLE" desc="The title of the Adobe Reader out of date blocking page.">
      Adobe Reader Out Of Date
    </message>
    <message name="IDS_READER_OUT_OF_DATE_BLOCKING_PAGE_BODY" desc="The body of the Adobe Reader out of date blocking page.">
      Adobe Reader is out of date and may be insecure.
    </message>
    <message name="IDS_READER_OUT_OF_DATE_BLOCKING_PAGE_UPDATE" desc="The name of the radio button option to go to the Adobe Reader installer website.">
      Update Adobe Reader now
    </message>
    <message name="IDS_READER_OUT_OF_DATE_BLOCKING_PAGE_PROCEED" desc="The name of the radio button to proceed to open the PDF with the out of date Adobe Reader.">
      Proceed without updating Adobe Reader (not recommended)
    </message>
    <message name="IDS_READER_OUT_OF_DATE_BLOCKING_PAGE_OK" desc="OK button text of the Adobe Reader out of date blocking page.">
      OK
    </message>
    <message name="IDS_READER_OUT_OF_DATE_BLOCKING_PAGE_CANCEL" desc="Cancel button text of the Adobe Reader out of date blocking page.">
      Cancel
    </message>

    <!-- Media Capture messages -->
    <message name="IDS_MEDIA_CAPTURE_AUDIO_AND_VIDEO" desc="Question asked on the info bar whenever a web page requests access to the computer's microphone and camera.">
      <ph name="HOST">$1<ex>html5rocks.com</ex></ph> wants to use your camera and microphone.
    </message>
    <message name="IDS_MEDIA_CAPTURE_AUDIO_ONLY" desc="Question asked on the info bar whenever a web page requests access to the computer's microphone.">
      <ph name="HOST">$1<ex>html5rocks.com</ex></ph> wants to use your microphone.
    </message>
    <message name="IDS_MEDIA_CAPTURE_VIDEO_ONLY" desc="Question asked on the info bar whenever a web page requests access to the computer's camera.">
      <ph name="HOST">$1<ex>html5rocks.com</ex></ph> wants to use your camera.
    </message>
    <message name="IDS_MEDIA_CAPTURE_ALLOW" desc="Label for a button that grants access to a web page, so they can use a camera and/or a microphone.">
      Allow
    </message>
    <message name="IDS_MEDIA_CAPTURE_DENY" desc="Label for a button that denies access to a web page, so they can use a camera and/or a microphone.">
      Deny
    </message>

    <!-- Quota messages -->
    <if expr="is_android">
      <message name="IDS_REQUEST_QUOTA_INFOBAR_QUESTION" desc="Mobile: For Android device. Question asked on the info bar whenever webapp requests new (larger) quota to persistently store data on the device (e.g. for persistent-type filesystem).">
        <ph name="URL">
          $1<ex>html5rocks.com</ex>
        </ph> wants to permanently store data on your device.
      </message>
      <message name="IDS_REQUEST_LARGE_QUOTA_INFOBAR_QUESTION" desc="Mobile: For Android device. Question asked on the info bar whenever webapp requests new (larger) quota to persistently store large data on the user's device (e.g. for persistent-type filesystem).">
        <ph name="URL">
          $1<ex>html5rocks.com</ex>
        </ph> wants to permanently store large data on your device.
      </message>
    </if>
    <if expr="not is_android">
      <message name="IDS_REQUEST_QUOTA_INFOBAR_QUESTION" desc="Question asked on the info bar whenever webapp requests new (larger) quota to persistently store data on the user's local computer (e.g. for persistent-type filesystem).">
        <ph name="URL">
          $1<ex>html5rocks.com</ex>
        </ph> wants to permanently store data on your local computer.
      </message>
      <message name="IDS_REQUEST_LARGE_QUOTA_INFOBAR_QUESTION" desc="Question asked on the info bar whenever webapp requests new (larger) quota to persistently store large data on the user's local computer (e.g. for persistent-type filesystem).">
        <ph name="URL">
          $1<ex>html5rocks.com</ex>
        </ph> wants to permanently store large data on your local computer.
      </message>
    </if>

    <!-- Manage Profile Dialog -->
    <message name="IDS_PROFILES_MANAGE_TITLE" desc="Title of the manage profile dialog">
      Edit user
    </message>
    <message name="IDS_PROFILES_MANAGE_NAME_LABEL" desc="Label next to the profile name text field.">
      Name:
    </message>
    <message name="IDS_PROFILES_MANAGE_ICON_LABEL" desc="Label above the profile avatar icon chooser.">
      Choose a picture and name
    </message>
    <message name="IDS_PROFILES_MANAGE_DUPLICATE_NAME_ERROR" desc="error bubble displayed when the user is attempting to rename a profile to a name that is used.">
      Whoops, this name is already in use!
    </message>

    <!-- Delete Profile Dialog -->
    <message name="IDS_PROFILES_DELETE_TITLE" desc="Title of the delete profile dialog">
      Delete user
    </message>
    <message name="IDS_PROFILES_DELETE_OK_BUTTON_LABEL" desc="The text to display on the button to confirm deleting the profile.">
      Delete
    </message>
    <if expr="is_android">
      <message name="IDS_PROFILES_DELETE_MESSAGE" desc="Mobile: Message explaining to the user what will happen if they delete this profile">
        Are you sure you want to delete "<ph name="PROFILE_NAME">$1<ex>New User</ex></ph>" and all the data associated with it from this device? This cannot be undone!
      </message>
    </if>
    <if expr="not is_android">
      <message name="IDS_PROFILES_DELETE_MESSAGE" desc="Message explaining to the user what will happen if they delete this profile">
        Are you sure you want to delete "<ph name="PROFILE_NAME">$1<ex>New User</ex></ph>" and all the data associated with it from this computer? This cannot be undone!
      </message>
    </if>
    <message name="IDS_PROFILES_DELETE_MANAGED_ADDENDUM" desc="Additional message shown in the same dialog following the IDS_PROFILES_DELETE_MESSAGE, explaining to the user what will happen if they delete the profile of a supervised user.">
      Settings and browsing history for this supervised user may still be visible by the manager at <ph name="BEGIN_LINK">&lt;a target="_blank" href="https://www.chrome.com/manage"&gt;</ph>www.chrome.com/manage<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>.
    </message>
    <message name="IDS_PROFILES_LIST_ITEM_CURRENT" desc="Text to display in the multi-profiles list when this profile is the current profile">
      <ph name="PROFILE_NAME">$1<ex>New User</ex></ph> (current)
    </message>
    <message name="IDS_PROFILES_SINGLE_USER_MESSAGE" desc="Text to display in the multi-profiles section when there is only one user">
      You are currently the only <ph name="PRODUCT_NAME">$1<ex>Chrome</ex></ph> user.
    </message>

    <!-- Create Profile Dialog -->
    <message name="IDS_PROFILES_CREATE_TITLE" desc="Title of the create profile dialog">
      Create user
    </message>
    <message name="IDS_PROFILES_CREATE_INSTRUCTIONS" desc="Instructions for the create profile dialog">
      Choose a picture and name
    </message>
    <message name="IDS_PROFILES_CREATE_CONFIRM" desc="Create button confirmation">
      Create
    </message>
    <message name="IDS_PROFILES_CREATE_LOCAL_ERROR" desc="Message shown when a local error (for example, a disk error) occurs during profile creation.">
      Oops! The new user couldn't be created. Please check your hard drive space and permissions and try again.
    </message>
    <message name="IDS_PROFILES_CREATE_REMOTE_ERROR" desc="Message shown when a remote error (for example, a network error) occurs during creation of a new supervised user.">
      Oops! The new supervised user couldn't be created. Please check your network connection and try again later.
    </message>
    <message name="IDS_PROFILES_CREATE_SIGN_IN_ERROR" desc="Message shown when a sign-in error occurs during creation of a new supervised user.">
      Oops! The new supervised user couldn't be created. Please make sure you're signed in properly and try again.
    </message>
    <message name="IDS_PROFILES_CREATE_MANAGED_SIGNED_IN_LABEL" desc="Label for the 'Supervised user' checkbox in the create-profile dialog when the current user is signed in. This will be followed by a 'Learn more' link.">
      This is a supervised user managed by <ph name="CUSTODIAN_EMAIL">$1<ex>user@gmail.com</ex></ph>.
    </message>
    <message name="IDS_PROFILES_CREATE_MANAGED_ACCOUNT_DETAILS_OUT_OF_DATE_LABEL" desc="Label for the 'Supervised user' checkbox in the create-profile dialog when the current user is signed in, but their login information is invalid. This will be followed by a 'Sign in again' link.">
      This is a supervised user managed by <ph name="CUSTODIAN_EMAIL">$1<ex>user@gmail.com</ex></ph>.
Your account sign-in details are out of date.
    </message>
    <message name="IDS_PROFILES_CREATE_MANAGED_JUST_SIGNED_IN" desc="Warning message shown in the create-profile dialog when the custodian signed in recently, sync has not yet finished initializing, and so the creation process is likely to take extra time.">
      Creating your supervised user. This may take a few moments.
    </message>
    <message name="IDS_PROFILES_CREATE_MANAGED_NOT_SIGNED_IN_LABEL" desc="Label for the (disabled) 'Supervised user' checkbox in the create-profile dialog when the current user is not signed in. This will be followed by a 'Sign in now' link.">
      This is a supervised user who will be managed by you.
You need to be signed in to use this feature.
    </message>
    <message name="IDS_PROFILES_CREATE_MANAGED_NOT_SIGNED_IN_LINK" desc="Text for the sign-in promo link, shown after the (disabled) 'Supervised user' checkbox in the create-profile dialog when the current user is not signed in.">
      Sign in now
    </message>
    <message name="IDS_PROFILES_CREATE_MANAGED_ACCOUNT_SIGN_IN_AGAIN_LINK" desc="Text for the sign-in promo link, shown after the message telling the user that their sign-in credentials are out of date in the create supervised user dialog.">
      Sign in again
    </message>
    <message name="IDS_PROFILES_CREATE_SHORTCUT_CHECKBOX" desc="Create Shortcut checkbox when creating a new profile">
      Create a desktop shortcut for this user
    </message>
    <message name="IDS_PROFILES_CREATE_SHORTCUT_BUTTON" desc="Create Shortcut button when editing an existing profile">
      Add desktop shortcut
    </message>
    <message name="IDS_PROFILES_REMOVE_SHORTCUT_BUTTON" desc="Remove Shortcut button when editing an existing profile">
      Remove desktop shortcut
    </message>
    <message name="IDS_PROFILES_IMPORT_EXISTING_MANAGED_USER_LINK" desc="Label for the 'Import an exisiting supervised user' link. During supervised user creation a custodian will have an option to import an existing supervised profile during the user creation flow.">
      Import an existing supervised user
    </message>
    <message name="IDS_PROFILES_IMPORT_MANAGED_USER_NOT_SIGNED_IN" desc="Text displayed instead of the 'Import an existing supervised user' link when the user is not signed in or his credentials are out of date.">
      Sign in to import supervised users
    </message>

    <!-- Supervised-user creation wizard dialogs -->
    <message name="IDS_NEW_MANAGED_USER_LEARN_MORE_TITLE" desc="Title for the 'Learn more' dialog for the supervised user feature.">
      What is a supervised user?
    </message>
    <message name="IDS_NEW_MANAGED_USER_LEARN_MORE_TEXT" desc="Informative text describing the 'supervised user' feature in detail, shown when the 'Learn more' link is clicked in the 'Create User' dialog. The HTML entities at the starts of the lines are a non-breaking space, a bullet, and another non-breaking space.">
      A supervised user can explore the web with your guidance. As the manager of a supervised user in Chrome, you can

&#160;&#8226;&#160;allow or prohibit certain websites,
&#160;&#8226;&#160;review websites the supervised user has visited, and
&#160;&#8226;&#160;manage other settings.

Creating a supervised user does not create a Google Account, and their settings and data will not follow them to other devices with Chrome Sync. Currently, a supervised user applies only to this installation of Chrome, on this device.

After you create a new supervised user, you can manage their settings at any time, from any device, at www.chrome.com/manage. <ph name="BEGIN_LINK">&lt;a target="_blank" href="https://support.google.com/chrome/?p=ui_supervised_users&amp;hl=[GRITLANGCODE]"&gt;</ph>Learn more about supervised users<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>
    </message>
    <message name="IDS_NEW_MANAGED_USER_LEARN_MORE_DONE_BUTTON" desc="Text for the 'OK' button on the 'Learn more' dialog for the supervised user feature.">
      OK, got it!
    </message>
    <message name="IDS_NEW_MANAGED_USER_CREATED_TITLE" desc="Title for the confirmation dialog that appears after a supervised user has been created.">
      <ph name="NEW_PROFILE_NAME">$1<ex>New User</ex></ph> has been created as a supervised user!
    </message>
    <message name="IDS_NEW_MANAGED_USER_CREATED_TEXT" desc="Informative text for the confirmation dialog that appears after a supervised user has been created.">
      A supervised user named <ph name="NEW_PROFILE_NAME">$1<ex>New User</ex></ph> has been created. To set which websites this supervised user can view, you can configure restrictions and settings by visiting <ph name="BEGIN_LINK">&lt;a target="_blank" href="https://www.chrome.com/manage"&gt;</ph>www.chrome.com/manage<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>. If you do not change the default settings, <ph name="NEW_PROFILE_NAME">$1<ex>New User</ex></ph> can browse all sites on the web.

Please check your email at <ph name="ACCOUNT_EMAIL">$2<ex>jane.doe@gmail.com</ex></ph> for these and further instructions.
    </message>
    <message name="IDS_NEW_MANAGED_USER_CREATED_DONE_BUTTON" desc="Text for the button that closes the dialog without making any additional changes, on the supervised user creation confirmation dialog.">
      Got it
    </message>
    <message name="IDS_NEW_MANAGED_USER_CREATED_SWITCH_BUTTON" desc="Text for the button that opens a window for the new supervised user, on the supervised user creation confirmation dialog.">
      Switch to <ph name="NEW_PROFILE_NAME">$1<ex>New User</ex></ph>
    </message>

    <!-- Import existing supervised user dialog -->
    <message name="IDS_IMPORT_EXISTING_MANAGED_USER_TITLE" desc="Title for the dialog used to import existing supervised users. The dialog appears when the custodian clicks on 'Import existing supervised user' during the user creation flow. The dialog displays a list of existing supervised users for the custodian to choose from">
      Import an existing supervised user
    </message>
    <message name="IDS_IMPORT_EXISTING_MANAGED_USER_TEXT" desc="Text that instructs the user to choose one of the displayed supervised users to import to this device.">
      Choose a supervised user to add to this device.
    </message>
    <message name="IDS_CREATE_NEW_USER_LINK" desc="The text for the 'Create a new user' link button. The button takes the user back from the dialog for importing an existing supervised user to the user creation dialog.">
      Create a new user
    </message>
    <message name="IDS_IMPORT_EXISTING_MANAGED_USER_OK" desc="Text on the button to confirm importing an existing supervised user.">
      Import supervised user
    </message>
    <message name="IDS_MANAGED_USER_ALREADY_ON_THIS_DEVICE" desc="Text shown in the list of supervised users beside the name of a supervised user that already exists on the current device.">
      (already on this device)
    </message>
    <message name="IDS_MANAGED_USER_NO_EXISTING_ERROR" desc="Message shown to the custodian when he opens the 'supervised user import' overlay but he has no existing supervised users to import.">
      Oops! Looks like you have no existing supervised users to import. Please create one or more from another device then you can import them here.
    </message>
    <message name="IDS_MANAGED_USER_IMPORT_LOCAL_ERROR" desc="Message shown when a local error (for example, a disk error) occurs during supervised user import.">
      Oops! The supervised user couldn't be imported. Please check your hard drive space and permissions and try again.
    </message>
    <message name="IDS_MANAGED_USER_IMPORT_REMOTE_ERROR" desc="Message shown when a remote error (for example, a network error) occurs during supervised user import.">
      Oops! The supervised user couldn't be imported. Please check your network connection and try again later.
    </message>
    <message name="IDS_MANAGED_USER_IMPORT_SIGN_IN_ERROR" desc="Message shown when a sign in error occurs during supervised user import.">
      Oops! Looks like there's a problem with your credentials. Please make sure you're signed in properly and try again.
    </message>
    <message name="IDS_MANAGED_USER_SELECT_AVATAR_TITLE" desc="Title for the dialog used to select an avatar for a supervised user being imported. The dialog is shown only when the supervised user being imported has no chrome synced avatar.">
      Select an avatar for this supervised user
    </message>
    <message name="IDS_MANAGED_USER_SELECT_AVATAR_TEXT" desc="Text that instructs the user to choose an avatar for the supervised user being imported.">
      Choose an avatar for this supervised user.
    </message>
    <message name="IDS_MANAGED_USER_SELECT_AVATAR_OK" desc="Text on the button to confirm the avatar selection for the supervised user being imported.">
      Ok, import
    </message>

    <if expr="not is_android and not is_ios">
      <!-- User manager web UI -->
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_ADD_USER_BUTTON" desc="Text shown on an add user button on login/locker screen">
          Add User
        </message>
        <message name="IDS_SCREEN_LOCK_SIGN_OUT">
          Sign Out
        </message>
        <message name="IDS_LOGIN_BUTTON">
          Sign In
        </message>
        <message name="IDS_LOGIN_POD_USER_REMOVE_WARNING_BUTTON" desc="Text shown on a button that confirms removal of a user.">
          Remove This User
        </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_ADD_USER_BUTTON" desc="Text shown on an add user button on login/locker screen">
          Add user
        </message>
        <message name="IDS_SCREEN_LOCK_SIGN_OUT">
          Sign out
        </message>
        <message name="IDS_LOGIN_BUTTON">
          Sign in
        </message>
        <message name="IDS_LOGIN_POD_USER_REMOVE_WARNING_BUTTON" desc="Text shown on a button that confirms removal of a user.">
          Remove this user
        </message>
      </if>
      <message name="IDS_USER_MANAGER_SCREEN_TITLE" desc="String to be displayed in the title bar of the user manager page">
        User Manager
      </message>
      <message name="IDS_GO_INCOGNITO_BUTTON" desc="Text shown on Chrome OS login screen button that launches guest session. Should be short.">
        Browse as Guest
      </message>
      <message name="IDS_SCREEN_LOCK_ACTIVE_USER">
        Currently signed in
      </message>
      <message name="IDS_LOGIN_ERROR_AUTHENTICATING" desc="Couldn't sign in because password is invalid">
        Sorry, your password could not be verified. Please try again.
      </message>
      <message name="IDS_LOGIN_POD_EMPTY_PASSWORD_TEXT" desc="Text to display in the password field for user pod when no password has been entered.">
        Enter password
      </message>
      <message name="IDS_LOGIN_POD_PASSWORD_FIELD_ACCESSIBLE_NAME" desc="Text to be spoken when the focus is set to the password field of a user pod on the login screen.">
        Password for <ph name="USER_EMAIL_ADDRESS">$1<ex>john.doe@example.com</ex></ph>
      </message>
      <message name="IDS_LOGIN_POD_MENU_BUTTON_ACCESSIBLE_NAME" desc="Text to be spoken when the focus is set to the menu button of the user pod on the login screen.">
        Options menu for <ph name="USER_EMAIL_ADDRESS">$1<ex>john.doe@example.com</ex></ph>
      </message>
      <message name="IDS_LOGIN_POD_MENU_REMOVE_ITEM_ACCESSIBLE_NAME" desc="Text to be spoken when 'Remove user' item is selected on the pod menu.">
        Remove this user
      </message>
      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_LOGIN_POD_USER_REMOVE_WARNING" desc="Text shown as a warning when attempting to remove supervised user.">
          All files and local data associated with the supervised user will be permanently deleted once this supervised user is removed. Visited websites and settings for this supervised user may still be visible by the manager at <ph name="MANAGEMENT_URL">$1<ex>www.example.com</ex></ph>.
        </message>
      </if>
      <if expr="not pp_ifdef('chromeos')">
        <message name="IDS_LOGIN_POD_USER_REMOVE_WARNING" desc="Text shown as a warning when attempting to remove an user.">
          Are you sure you want to delete this user and all the data associated with it from this computer? This cannot be undone!
        </message>
      </if>
    </if>

    <!-- Aura strings -->
    <if expr="pp_ifdef('use_ash')">
      <message name="IDS_LAUNCHER_CONTEXT_MENU_NEW_TAB" desc="Title text for the 'open new' context menu item of the launcher for apps configured to open in a tab">
        New tab
      </message>
      <message name="IDS_LAUNCHER_CONTEXT_MENU_NEW_WINDOW" desc="Title text for the 'open new' context menu item of the launcher for apps configured to open windowed">
        New window
      </message>
      <message name="IDS_LAUNCHER_CONTEXT_MENU_CLOSE" desc="Title text for the 'close' context menu item of the launcher">
        Close
      </message>
      <message name="IDS_LAUNCHER_CONTEXT_MENU_PIN" desc="Title text for the 'pin' context menu item of the launcher">
        Pin
      </message>
      <message name="IDS_LAUNCHER_CONTEXT_MENU_UNPIN" desc="Title text for the 'unpin' context menu item of the launcher">
        Unpin
      </message>
      <message name="IDS_LAUNCHER_NEW_WINDOW" desc="The text label of the New Window menu item">
        New window
      </message>
      <message name="IDS_LAUNCHER_NEW_INCOGNITO_WINDOW" desc="The text label of the New incognito window menu item">
        New incognito window
      </message>
      <message name="IDS_GTALK_SCREEN_SHARE_DIALOG_MESSAGE" desc="Message to display in the dialog box asking user's permission to share their screen">
        Do you want to start presenting your entire screen in this meeting?
      </message>
      <message name="IDS_GTALK_SCREEN_SHARE_DIALOG_TITLE" desc="Title of the dialog box asking user's permission to share their screen">
        Google Talk Screen Sharing Request
      </message>
      <message name="IDS_GTALK_REMOTING_DIALOG_TITLE" desc="Title of the dialog box asking user's permission to start Hangouts Remote Desktop">
        Google+ Hangouts
      </message>
      <message name="IDS_GTALK_REMOTING_DIALOG_MESSAGE" desc="Message of the dialog box asking user's permission to start Hangouts Remote Desktop">
        A participant in this hangout has offered to help you by controlling your computer. If you accept:

  &#8226; Everyone in this hangout can see your screen
  &#8226; The person helping you will be able to control your mouse and keyboard
  &#8226; You can end at any time

Do you accept?
      </message>
      <message name="IDS_GTALK_REMOTING_CONTINUE_DIALOG_MESSAGE" desc="Message of the dialog box asking user's permission to continue Hangouts Remote Desktop">
        You are being helped. Do you want to continue?
      </message>
      <message name="IDS_OPEN_ASH_DESKTOP" desc="The text label of the Open Ash desktop menu item">
        Open Ash desktop
      </message>
      <message name="IDS_CLOSE_ASH_DESKTOP" desc="The text label of the Close Ash desktop menu item">
        Close Ash desktop
      </message>
    </if>

    <!-- Panel windows -->
    <message name="IDS_PANEL_CLOSE_TOOLTIP"
             desc="Text for the tooltip on panel window close button.">
      Close
    </message>
    <message name="IDS_PANEL_MINIMIZE_TOOLTIP"
             desc="Text for the tooltip on panel window minimize button.">
      Collapse
    </message>
    <message name="IDS_PANEL_RESTORE_TOOLTIP"
           desc="Text for the tooltip on panel window restore button.">
      Expand
    </message>

    <!-- High-contrast mode. -->
    <message name="IDS_HIGH_CONTRAST_NOTIFICATION"
             desc="Text that explains that the user is using Windows High-Contrast mode, so they may be interested in a high-contrast extension or a dark theme. Note to translators: this is the name of a feature in Windows, so please try to find the correct name of that feature in your region.">
      You have High Contrast mode enabled. Would you like to install our High Contrast extension and a dark theme?
    </message>
    <message name="IDS_HIGH_CONTRAST_EXT"
             desc="The title of a link that will open the Chrome Web Store with a High Contrast extension the user can install.">
      High Contrast Extension
    </message>
    <message name="IDS_DARK_THEME"
             desc="The title of a link that will open the Chrome Web Store with a dark theme the user might want to install, if they prefer light text on a dark background.">
      Dark Theme
    </message>

    <message name="IDS_FLAGS_DESKTOP_GUEST_MODE_NAME" desc="Name of about:flags option to turn on desktop guest mode">
      Enable desktop guest mode
    </message>
    <message name="IDS_FLAGS_DESKTOP_GUEST_MODE_DESCRIPTION" desc="Description of about:flags option to turn on desktop guest mode">
      When enabled, a guest user will be available in desktop Chrome.
    </message>
    <message name="IDS_FLAGS_ENABLE_NEW_PROFILE_MANAGEMENT_NAME" desc="Title for the flag to enable the new profile management.">
      Enable new profile management system
    </message>
    <message name="IDS_FLAGS_ENABLE_NEW_PROFILE_MANAGEMENT_DESCRIPTION" desc="Description for the flag to enable the new profile management">
      Enables the new profile management system, including profile sign-out and the new avatar menu UI.
    </message>
    <message name="IDS_FLAGS_ENABLE_INLINE_SIGNIN_NAME" desc="Title for the flag to enable inline signin flows.">
      Enable inline signin flows
    </message>
    <message name="IDS_FLAGS_ENABLE_INLINE_SIGNIN_DESCRIPTION" desc="Description for the flag to enable inline signin flows">
      Enables inline sign flows, still using the existing full-page template for Google signin.
    </message>
    <message name="IDS_FLAGS_ENABLE_GOOGLE_PROFILE_INFO_NAME" desc="Title for the flag to enable the google profile information">
      Enable Google profile name and icon
    </message>
    <message name="IDS_FLAGS_ENABLE_GOOGLE_PROFILE_INFO_DESCRIPTION" desc="Description for the flag to enable the google profile information">
      Enables using Google information to populate the profile name and icon in the avatar menu.
    </message>
    <message name="IDS_FLAGS_ENABLE_GOOGLE_NOW_INTEGRATION_NAME" desc="Name of about:flags option to turn on Google Now integration">
      Google Now
    </message>
    <message name="IDS_FLAGS_ENABLE_GOOGLE_NOW_INTEGRATION_DESCRIPTION" desc="Description of about:flags option to turn on Google Now integration">
      Enable Google Now notifications support.
    </message>
    <message name="IDS_FLAGS_ENABLE_OFFLINE_MODE_NAME" desc="Name of the flag to make reads in offline mode come from the cache even if it's stale">
      Enable Offline Cache Mode
    </message>
    <message name="IDS_FLAGS_ENABLE_OFFLINE_MODE_DESCRIPTION" desc="Description of the flag to make reads in offline mode come from the cache even if it's stale">
      Reads from web resources when the source is unavailable will be satisfied from available stale cache entries.
    </message>

    <message name="IDS_FLAGS_ENABLE_VIRTUAL_KEYBOARD_NAME" desc="Name of about:flags option to turn on the virtual keyboard">
      Virtual Keyboard
    </message>
    <message name="IDS_FLAGS_ENABLE_VIRTUAL_KEYBOARD_DESCRIPTION" desc="Description of about:flags option to turn on the virtual keyboard">
      Enable virtual keyboard support.
    </message>

    <message name="IDS_FLAGS_ENABLE_SWIPE_SELECTION_NAME" desc="Name of about:flags option to turn on swipe selection for the virtual keyboard">
      Swipe Selection
    </message>
    <message name="IDS_FLAGS_ENABLE_SWIPE_SELECTION_DESCRIPTION" desc="Description of about:flags option to turn on swipe selection for the virtual keyboard">
      Enable Swipe Selection support for the virtual keyboard. Unless the virtual keyboard is also enabled, this will do nothing.
    </message>

    <!-- Simple Cache Backend experiment. -->
    <message name="IDS_FLAGS_ENABLE_SIMPLE_CACHE_BACKEND_NAME" desc="Name of about:flags option to turn on the Simple Cache Backend">
      Simple Cache for HTTP.
    </message>
    <message name="IDS_FLAGS_ENABLE_SIMPLE_CACHE_BACKEND_DESCRIPTION" desc="Description of about:flags option to turn on the Simple Cache Backend">
      The Simple Cache for HTTP is a new cache. It relies on the filesystem for disk space allocation.
    </message>

    <!-- Spelling feedback field trial. -->
    <message name="IDS_FLAGS_ENABLE_SPELLING_FEEDBACK_FIELD_TRIAL_NAME" desc="Name of about:flags option to enable the field trial for sending feedback to spelling service.">
      Spelling Feedback Field Trial.
    </message>
    <message name="IDS_FLAGS_ENABLE_SPELLING_FEEDBACK_FIELD_TRIAL_DESCRIPTION" desc="Description of about:flags option to enable the field trial for sending feedback to spelling service.">
      Enable the field trial for sending user feedback to spelling service.
    </message>

    <!-- Web MIDI API. -->
    <message name="IDS_FLAGS_ENABLE_WEB_MIDI_NAME"
             desc="Name of about:flag option to turn on Web MIDI API">
      Enable Web MIDI API
    </message>
    <message name="IDS_FLAGS_ENABLE_WEB_MIDI_DESCRIPTION"
             desc="Description of about:flag option to turn on Web MIDI API">
      Enable Web MIDI API experimental support.
    </message>

    <!-- Toast experiment. -->
    <message name="IDS_TRY_TOAST_SET_DEFAULT" desc="Text of the checkbox to make chrome the default browser">
      Make it my default browser
    </message>

    <!-- Windows 8 Metro mode. -->
    <message name="IDS_METRO_FLOW_TAB_TITLE"
             desc="The dialog window title.">
      Welcome to Chrome
    </message>
    <message name="IDS_METRO_FLOW_TITLE_SHORT"
             desc="The title at the top of the window guiding user through making Chrome default in Metro.">
      Chrome is almost ready.
    </message>
    <message name="IDS_METRO_FLOW_DESCRIPTION"
             desc="Wordy description of what the set-Chrome-as-Metro flow is all about.">
      Click next to choose your default browser.
    </message>
    <message name="IDS_METRO_FLOW_SET_DEFAULT"
             desc="The label of the button invoking Windows8 default app settings window.">
      Next
    </message>
    <message name="IDS_METRO_FLOW_LOGO_STRING_ALT"
             desc="Alt text for the faded chrome logo image.">
        Chrome logo
    </message>
    <message name="IDS_METRO_MISSING_PLUGIN_PROMPT"
             desc="Info Bar message to let user do something about the missing plugin">
      <ph name="PLUGIN_NAME">$1<ex>Quicktime</ex></ph> is required to display some elements on this page.
    </message>
    <message name="IDS_METRO_NPAPI_PLUGIN_PROMPT"
             desc="Infobar message when an NPAPI plugin doesn't run in Metro mode.">
      <ph name="PLUGIN_NAME">$1<ex>Quicktime</ex></ph> only works on the desktop.
    </message>
    <message name="IDS_METRO_DOWNLOAD_COMPLETE_NOTIFICATION"
            desc="Notification displayed when a download request is completed">
      Your download has completed
    </message>
    <message name="IDS_METRO_DOWNLOAD_COMPLETE_NOTIFICATION_TITLE"
            desc="Title for notification displayed when a download request is completed">
      Download complete notification
    </message>
    <message name="IDS_WIN8_DESKTOP_OPEN"
             desc="Text for the infobar button to open Chrome in desktop mode.">
      Open Chrome on the desktop
    </message>
    <message name="IDS_WIN8_DESKTOP_RESTART"
             desc="Text for the menu item to restart chrome in desktop mode. Aplies to Windows 8 only">
      Relaunch Chrome on the desktop
    </message>
    <message name="IDS_WIN8_METRO_RESTART"
             desc="Text for the menu item to restart chrome in metro. Aplies to Windows 8 only">
      Relaunch Chrome in Windows 8 mode
    </message>
    <message name="IDS_WIN8_INFOBAR_DESKTOP_RESTART_TO_LAUNCH_APPS_NO_BUTTON"
             desc="Infobar button 'no' text to cancel prompt to relaunch in deskop mode to use Chrome Apps">
      Not now
    </message>
    <message name="IDS_WIN8_PROMPT_TO_CLOSE_APPS_FOR_METRO"
             desc="Modal message box prompt shown to the user after requesting to relaunch in Windows 8 mode while packaged apps are running, which will require all packaged apps to be closed. Dialog is shown with choices: OK, Cancel.">
      Relaunching in Windows 8 mode will close your Chrome apps.
    </message>
    <message name="IDS_WIN8_PROMPT_TO_CLOSE_APPS_FOR_DESKTOP"
             desc="Modal message box prompt shown to the user after requesting to relaunch in Desktop mode while packaged apps are running, which will require all packaged apps to be closed. Dialog is shown with choices: OK, Cancel.">
      Relaunching in Desktop mode will close your Chrome apps.
    </message>

    <!-- Media Galleries. -->
    <message name="IDS_MEDIA_GALLERIES_DIALOG_HEADER" desc="Header for media gallery permissions dialog.">
      Media-File Permissions for "<ph name="EXTENSION">$1<ex>Photo Editor</ex></ph>"
    </message>
    <message name="IDS_MEDIA_GALLERIES_DIALOG_SUBTEXT_READ_WRITE" desc="Explanatory text for the media gallery access permission. Indicates than the specified (by name) extension has read and write access to the listed folders.">
      "<ph name="EXTENSION">$1<ex>PhotoEditor</ex></ph>" can read and write images, video, and sound files in the checked locations.
    </message>
    <message name="IDS_MEDIA_GALLERIES_DIALOG_SUBTEXT_READ_DELETE" desc="Explanatory text for the media gallery access permission. Indicates than the specified (by name) extension has read and delete access to the listed folders.">
      "<ph name="EXTENSION">$1<ex>PhotoEditor</ex></ph>" can read and delete images, video, and sound files in the checked locations.
    </message>
    <message name="IDS_MEDIA_GALLERIES_DIALOG_SUBTEXT_READ_ONLY" desc="Explanatory text for the media gallery access permission. Indicates than the specified (by name) extension has read-only access to the listed folders.">
      "<ph name="EXTENSION">$1<ex>PhotoEditor</ex></ph>" can read images, video, and sound files in the checked locations.
    </message>
    <message name="IDS_MEDIA_GALLERIES_UNATTACHED_LOCATIONS" desc="Header for media gallery permissions to locations not currently attached, i.e. removable devices which aren't plugged in">
      Unattached locations
    </message>
    <message name="IDS_MEDIA_GALLERIES_UNLABELED_DEVICE" desc="Default name used for a device for which we can't find a better label.">
      Unlabeled device
    </message>
    <message name="IDS_MEDIA_GALLERIES_LAST_ATTACHED" desc="Explanatory text indicating to the user when a particular location was last attached, i.e. a removable device that isn't plugged in. The date presented will be a day in a localized format providing year, month, and day.">
      last attached on <ph name="DATE">$1<ex>1/22/11</ex></ph>
    </message>
    <if expr="pp_ifdef('use_titlecase')">
      <message name="IDS_MEDIA_GALLERIES_DIALOG_ADD_GALLERY" desc="In title case: Button for adding a new gallery by choosing a folder.">
        Add Location...
      </message>
      <message name="IDS_MEDIA_GALLERIES_DIALOG_CANCEL" desc="In title case: The text for the cancel button on the media galleries configuration dialog.">
        Cancel
      </message>
      <message name="IDS_MEDIA_GALLERIES_DIALOG_CONFIRM" desc="In title case: The text for the accept button on the media galleries configuration dialog.">
        Apply
      </message>
    </if>
    <if expr="not pp_ifdef('use_titlecase')">
      <message name="IDS_MEDIA_GALLERIES_DIALOG_ADD_GALLERY" desc="In sentence case: Button for adding a new gallery by choosing a folder."
               meaning="In sentence case: Button for adding a new gallery by choosing a folder.">
        Add location...
      </message>
      <message name="IDS_MEDIA_GALLERIES_DIALOG_CANCEL" desc="In sentence case: The text for the cancel button on the media galleries configuration dialog.">
        Cancel
      </message>
      <message name="IDS_MEDIA_GALLERIES_DIALOG_CONFIRM" desc="In sentence case: The text for the accept button on the media galleries configuration dialog."
               meaning="In sentence case: The text for the accept button on the media galleries configuration dialog.">
        Apply
      </message>
    </if>
    <message name="IDS_MEDIA_GALLERIES_DIALOG_ADD_GALLERY_TITLE" desc="The title of the folder selection dialog for adding a new media gallery.">
      Add Media Gallery by Directory
    </message>
    <message name="IDS_MEDIA_GALLERIES_DIALOG_DEVICE_ATTACHED" desc="Label text to indicate a removable storage device is attached.">
      attached
    </message>
    <message name="IDS_MEDIA_GALLERIES_DIALOG_DEVICE_NOT_ATTACHED" desc="Label text to indicate a removable storage device is not attached.">
      not attached
    </message>
    <message name="IDS_MEDIA_GALLERIES_DIALOG_DELETE" desc="Text label of the menu item which removes selected media gallery access for all apps.">
      Permanently remove access for all apps
    </message>

    <!-- App List. -->
    <message name="IDS_APP_LIST_CONTACT_CHAT_TOOLTIP" desc="Tooltip text for the 'chat' icon displayed next to a contact search result.">
      Chat
    </message>
    <message name="IDS_APP_LIST_CONTACT_EMAIL_TOOLTIP" desc="Tooltip text for the 'email' icon displayed next to a contact search result.">
      Send email
    </message>
    <message name="IDS_APP_LIST_CONTACT_PHONE_TOOLTIP" desc="Tooltip text for the 'phone' icon displayed next to a contact search result.">
      Call phone
    </message>
    <message name="IDS_APP_LIST_CONTACT_VIDEO_TOOLTIP" desc="Tooltip text for the 'video' icon displayed next to a contact search result.">
      Start Hangout
    </message>
    <message name="IDS_APP_LIST_START_SPEECH_RECOGNITION" desc="Tooltip text for the button to start the speech recognition.">
      Start speech recognition
    </message>
    <if expr="not pp_ifdef('use_titlecase')">
      <message name="IDS_APP_LIST_CONTEXT_MENU_NEW_TAB" desc="Title text for the 'open new' context menu item of an app list item configured to open in a tab">
        New tab
      </message>
      <message name="IDS_APP_LIST_CONTEXT_MENU_NEW_WINDOW" desc="Title text for the 'open new' context menu item of an app list item configured to open windowed">
        New window
      </message>
      <message name="IDS_APP_LIST_CONTEXT_MENU_PIN" desc="Title text for the 'pin' context menu item of an app list item.">
        Pin to shelf
      </message>
      <message name="IDS_APP_LIST_CONTEXT_MENU_UNPIN" desc="Title text for the 'unpin' context menu item of an app list item.">
        Unpin from shelf
      </message>
      <message name="IDS_APP_LIST_UNINSTALL_ITEM" desc="Title text for the 'uninstall' context menu item of an app list item.">
        Uninstall
      </message>
      <message name="IDS_SEARCH_BOX_HINT" desc="Hint text for the search box in app list window.">
        Search
      </message>
      <message name="IDS_APP_LIST_SIGNIN_BUTTON" desc="App launcher signin button text.">
        Sign in
      </message>
      <message name="IDS_APP_LIST_SIGNIN_LEARN_MORE_TEXT" desc="App launcher signin learn more link text.">
        Learn more
      </message>
      <message name="IDS_APP_LIST_NEW_WINDOW" desc="The text label of the New Window menu item">
        New window
      </message>
      <message name="IDS_APP_LIST_NEW_INCOGNITO_WINDOW" desc="The text label of the New incognito window menu item">
        New incognito window
      </message>
    </if>
    <if expr="pp_ifdef('use_titlecase')">
      <message name="IDS_APP_LIST_CONTEXT_MENU_NEW_TAB" desc="Title text for the 'open new' context menu item of an app list item configured to open in a tab">
        New Tab
      </message>
      <message name="IDS_APP_LIST_CONTEXT_MENU_NEW_WINDOW" desc="Title text for the 'open new' context menu item of an app list item configured to open windowed">
        New Window
      </message>
      <message name="IDS_APP_LIST_CONTEXT_MENU_PIN" desc="Title text for the 'pin' context menu item of an app list item.">
        Pin to Shelf
      </message>
      <message name="IDS_APP_LIST_CONTEXT_MENU_UNPIN" desc="Title text for the 'unpin' context menu item of an app list item.">
        Unpin from Shelf
      </message>
      <message name="IDS_APP_LIST_UNINSTALL_ITEM" desc="Title text for the 'uninstall' context menu item of an app list item.">
        Uninstall
      </message>
      <message name="IDS_SEARCH_BOX_HINT" desc="Hint text for the search box in app list window.">
        Search
      </message>
      <message name="IDS_APP_LIST_SIGNIN_BUTTON" desc="App launcher signin button text.">
        Sign In
      </message>
      <message name="IDS_APP_LIST_SIGNIN_LEARN_MORE_TEXT" desc="App launcher signin learn more link text.">
        Learn More
      </message>
      <message name="IDS_APP_LIST_NEW_WINDOW" desc="The text label of the New Window menu item">
        New Window
      </message>
      <message name="IDS_APP_LIST_NEW_INCOGNITO_WINDOW" desc="The text label of the New incognito window menu item">
        New Incognito Window
      </message>
    </if>
    <message name="IDS_APP_LIST_SIGNIN_LEARN_MORE_LINK" desc="App launcher signin learn more URL.">
      https://support.google.com/chrome/bin/answer.py?hl=[GRITLANGCODE]&amp;answer=165139&amp;p=settings_sign_in
    </message>
    <message name="IDS_APP_LIST_SIGNIN_SETTINGS_TEXT" desc="App launcher signin settings link text.">
      App Launcher Settings
    </message>

    <!-- iOS Chrome to Device strings-->
    <if expr="is_ios">
      <message name="IDS_CHROME_TO_DEVICE_PRINT_TO_PHONE" desc="The message indicating print-to-phone jobs are now available. [Length: 30em]">
        Your document is ready to view.
      </message>
      <message name="IDS_CHROME_TO_DEVICE_SNAPSHOTS" desc="The message indicating snapshot jobs are now available. [Length: 30em]">
        Your page is available to view.
      </message>
    </if>

      <!-- iOS Net-Export strings -->
      <if expr="is_ios">
        <message name="IDS_NET_EXPORT_NO_EMAIL_ACCOUNTS_ALERT_MESSAGE" desc="The message of the alert informing a user with no email accounts that he or she needs to configure an email account to send net-export data. [Length: 70em]">
          To send net-export data, please configure your email account in System Settings.
        </message>
        <message name="IDS_NET_EXPORT_NO_EMAIL_ACCOUNTS_ALERT_TITLE" desc="The title of the alert informing a user with no email accounts that he or she needs to configure an email account to send net-export data. [Length: 20em]">
          No Email Accounts
        </message>
      </if>

    <!-- Pepper 3D and WebGL (client 3D APIs) infobar strings -->
    <message name="IDS_3D_APIS_BLOCKED_TEXT" desc="Infobar message when 3D graphics APIs are blocked because the graphics processor was reset recently. NOTE that 'rats' here is being used like 'darn'.">
      Rats! <ph name="API_NAME">$1<ex>WebGL</ex></ph> hit a snag.
    </message>
    <message name="IDS_3D_APIS_WEBGL_NAME" desc="Name of the WebGL API.">
      WebGL
    </message>
    <message name="IDS_3D_APIS_PEPPER_3D_NAME" desc="Name of the Pepper 3D API.">
      Pepper 3D
    </message>
    <message name="IDS_3D_APIS_BLOCKED_OK_BUTTON_LABEL" desc="Label for the 'ok' button on the infobar indicating that 3D APIs were blocked. Clicking this button dismisses the infobar with no other action.">
      Ignore
    </message>
    <message name="IDS_3D_APIS_BLOCKED_TRY_AGAIN_BUTTON_LABEL" desc="Label for the 'cancel' button on the infobar indicating that 3D APIs were blocked. Clicking this button unblocks the APIs and reloads the page.">
      Reload
    </message>

    <!-- Supervised User Warning Infobar -->
    <message name="IDS_MANAGED_USER_WARN_INFOBAR_MESSAGE" desc="Infobar message when browsing a site that is not explicitly permitted by a whitelist or manual exception.">
      You're browsing on a site that may not be something you really want to see.
    </message>
    <message name="IDS_MANAGED_USER_WARN_INFOBAR_GO_BACK" desc="Label for the button that goes back to a 'safe' page.">
      Take me back!
    </message>

    <!-- Password generation strings -->
    <message name="IDS_PASSWORD_GENERATION_BUBBLE_TITLE" desc="The title of the bubble asking users if they would like Chrome to generate a password for them on an account creation page.">
      Password Suggestion
    </message>
    <message name="IDS_PASSWORD_GENERATION_BUTTON_TEXT" desc="The text on the button that users click to accept the generated password">
      Try it
    </message>

    <!-- Reset Profile Settings strings -->
    <message name="IDS_RESET_PROFILE_SETTINGS_BANNER_TEXT" desc="The text to show in a banner at the top of the chrome://settings page. The banner is displayed when Chrome detects that the settings might have been changed without the user's knowledge.">
      Some of your settings may have been changed without your knowledge.
    </message>
    <message name="IDS_RESET_PROFILE_SETTINGS_SECTION_TITLE" desc="The title of the section in chrome://settings that allows resetting some settings in a profile">
      Reset browser settings
    </message>
    <message name="IDS_RESET_PROFILE_SETTINGS_DESCRIPTION" desc="A label describing the purpose of the 'reset profile settings' feature">
      Restore browser settings to their original defaults.
    </message>
    <message name="IDS_RESET_PROFILE_SETTINGS_EXPLANATION" desc="A label describing the consequences of the 'reset profile settings' feature">
      Your browser settings will be restored to their original defaults. This will reset your homepage, new tab page and search engine, disable your extensions and unpin all tabs. It will also clear other temporary and cached data, such as cookies, content and site data.
    </message>
    <message name="IDS_RESET_PROFILE_SETTINGS_BUTTON" desc="The text on the button in chrome://settings that allows resetting some settings in a profile">
      Reset browser settings
    </message>
    <message name="IDS_RESET_PROFILE_SETTINGS_TITLE" desc="Dialog title">
      Reset browser settings
    </message>
    <message name="IDS_RESET_PROFILE_SETTINGS_COMMIT_BUTTON" desc="Reset button of the Reset Profile Settings dialog">
      Reset
    </message>
    <message name="IDS_RESET_PROFILE_SETTINGS_FEEDBACK" desc="Feedback label in the Reset Profile Settings dialog">
      Help make Google Chrome better by reporting the current settings
    </message>
    <message name="IDS_RESET_PROFILE_SETTINGS_LOCALE" desc="Locale field in the feedback details of the Reset Profile Settings dialog">
      Locale
    </message>
    <message name="IDS_RESET_PROFILE_SETTINGS_USER_AGENT" desc="User Agent field in the feedback details of the Reset Profile Settings dialog">
      User Agent
    </message>
    <message name="IDS_RESET_PROFILE_SETTINGS_STARTUP_URLS" desc="Startup URLs tag in the feedback details of the Reset Profile Settings dialog">
      Startup URLs
    </message>
    <message name="IDS_RESET_PROFILE_SETTINGS_STARTUP_TYPE" desc="Startup type tag in the feedback details of the Reset Profile Settings dialog">
      Startup type
    </message>
    <message name="IDS_RESET_PROFILE_SETTINGS_HOMEPAGE" desc="Homepage tag in the feedback details of the Reset Profile Settings dialog">
      Homepage
    </message>
    <message name="IDS_RESET_PROFILE_SETTINGS_HOMEPAGE_IS_NTP" desc="Tag in the feedback details of the Reset Profile Settings dialog">
      Homepage is the New Tab page
    </message>
    <message name="IDS_RESET_PROFILE_SETTINGS_HOMEPAGE_IS_NTP_TRUE" desc="Value of HOMEPAGE_IS_NTP in the feedback details of the Reset Profile Settings dialog">
      Yes
    </message>
    <message name="IDS_RESET_PROFILE_SETTINGS_HOMEPAGE_IS_NTP_FALSE" desc="Value of HOMEPAGE_IS_NTP in the feedback details of the Reset Profile Settings dialog">
      No
    </message>
    <message name="IDS_RESET_PROFILE_SETTINGS_DSE" desc="Default search engine in the feedback details of the Reset Profile Settings dialog">
      Default search engine
    </message>
    <message name="IDS_RESET_PROFILE_SETTINGS_EXTENSIONS" desc="Extensions tag in the feedback details of the Reset Profile Settings dialog">
      Extensions
    </message>

    <!-- Identity internals strings -->
    <message name="IDS_IDENTITY_INTERNALS_TOKEN_CACHE_TEXT" desc="The title of the token cache of the Identity API.">
      Identity API Token Cache
    </message>
    <message name="IDS_IDENTITY_INTERNALS_ACCESS_TOKEN" desc="Label of the row containing the access token.">
      Access Token
    </message>
    <message name="IDS_IDENTITY_INTERNALS_EXTENSION_NAME" desc="Label of the row containing a name of an extension related to the identity token.">
      Extension Name
    </message>
    <message name="IDS_IDENTITY_INTERNALS_EXTENSION_ID" desc="Label of the row containing an id of an extension related to the identity token.">
      Extension Id
    </message>
    <message name="IDS_IDENTITY_INTERNALS_TOKEN_STATUS" desc="Label of the row containing a status of identity token.">
      Token Status
    </message>
    <message name="IDS_IDENTITY_INTERNALS_TOKEN_NOT_FOUND" desc="Label of the token status when token is not found.">
      Not Found
    </message>
    <message name="IDS_IDENTITY_INTERNALS_TOKEN_PRESENT" desc="Label of the token status when token is present and valid for use.">
      Token Present
    </message>
    <message name="IDS_IDENTITY_INTERNALS_EXPIRATION_TIME" desc="Label of the row containing expiration time of identity token.">
      Expiration Time
    </message>
    <message name="IDS_IDENTITY_INTERNALS_SCOPES" desc="Label of the row listing scopes of identity token.">
      Scopes
    </message>
    <message name="IDS_IDENTITY_INTERNALS_REVOKE" desc="Label on a revoke token button.">
      Revoke
    </message>

    <!-- WebStore name experiment names -->
    <message name="IDS_WEBSTORE_NAME_STORE" desc="Name for the WebStore app in the app launcher.">
      Store
    </message>
    <message name="IDS_WEBSTORE_NAME_WEBSTORE" desc="Name for the WebStore app in the app launcher.">
      WebStore
    </message>
    <message name="IDS_WEBSTORE_NAME_GET_APPS" desc="Name for the WebStore app in the app launcher.">
      Get Apps
    </message>
    <message name="IDS_WEBSTORE_NAME_ADD_APPS" desc="Name for the WebStore app in the app launcher.">
      Add Apps
    </message>
    <message name="IDS_WEBSTORE_NAME_MORE_APPS" desc="Name for the WebStore app in the app launcher.">
      More Apps
    </message>

    <!-- WebStore search results -->
    <message name="IDS_WEBSTORE_RESULT_INSTALL" desc="Text of button on WebStore search result for installing an extension/app.">
      Add
    </message>
    <message name="IDS_WEBSTORE_RESULT_LAUNCH" desc="Text of button on WebStore search result for launching an ephemeral app.">
      Launch
    </message>
    <message name="IDS_WEBSTORE_RESULT_LAUNCH_APP_TOOLTIP" desc="Tooltip of button on WebStore search result for launching an ephemeral app.">
      Launch app
    </message>

    <!-- Synced Notification display strings -->
    <message name="IDS_FIRST_SYNCED_NOTIFICATION_SERVICE_NAME" desc="The name of the first service source for synced notifications.">
      Google+
    </message>

    <!-- Desktop media picker UI for Desktop Capture API -->
    <message name="IDS_DESKTOP_MEDIA_PICKER_TITLE" desc="Title for the window picker dialog shown when desktop capture is requrested by an app.">
      Desktop sharing - <ph name="APP_NAME">$1<ex>Google Hangouts</ex></ph>
    </message>
    <message name="IDS_DESKTOP_MEDIA_PICKER_TEXT" desc="Text for the window picker dialog shown when desktop capture is requrested by an app.">
      <ph name="APP_NAME">$1<ex>Google Hangouts</ex></ph> requested to share content of your desktop. Please select a window or the whole screen to share.
    </message>
    <message name="IDS_DESKTOP_MEDIA_PICKER_SCREEN_NAME" desc="Name for screens in the desktop media picker UI.">
      Screen
    </message>

    <!-- About network UI display strings -->
    <if expr="pp_ifdef('chromeos')">
      <message name="IDS_NETWORK_TITLE" desc="Title of the page">
        Network
      </message>
      <message name="IDS_NETWORK_AUTO_REFRESH" desc="A instruction of how to auto-refresh the page">
        Add a query param in URL to auto-refresh the page: chrome://network/?refresh=&lt;sec&gt;
      </message>
      <message name="IDS_NETWORK_LOG_REFRESH" desc="Button to refresh network log">
        Refresh
      </message>
      <message name="IDS_NETWORK_LOG_LEVEL_SHOW" desc="'Show' label before logging level checkboxes">
        Show:
      </message>
      <message name="IDS_NETWORK_LOG_LEVEL_ERROR" desc="Error logging level checkbox">
        Error
      </message>
      <message name="IDS_NETWORK_LOG_LEVEL_USER" desc="User logging level checkbox">
        User
      </message>
      <message name="IDS_NETWORK_LOG_LEVEL_EVENT" desc="Event logging level checkbox">
        Event
      </message>
      <message name="IDS_NETWORK_LOG_LEVEL_DEBUG" desc="Debug logging level checkbox">
        Debug
      </message>
      <message name="IDS_NETWORK_LOG_LEVEL_FILEINFO" desc="Debug logging level checkbox">
        File Info
      </message>
      <message name="IDS_NETWORK_LOG_ENTRY" desc="The log entry displayed in network event log table.">
        [<ph name="TIMESTAMP">$1<ex>Timestamp</ex></ph>]
        <ph name="FILE_INFO">$2<ex>file:123</ex></ph>
        <ph name="EVENT_NAME">$3<ex>Event Name</ex></ph>
        <ph name="DESCRIPTION">$4<ex>Description</ex></ph>
      </message>
    </if>

    <!-- Local Device Discovery display strings -->
    <if expr="pp_ifdef('enable_mdns')">
      <message name="IDS_LOCAL_DISCOVERY_SERVICE_REGISTER" desc="Table header for registering a service">
        Register
      </message>
      <message name="IDS_LOCAL_DISOCVERY_NOTIFICATION_TITLE_PRINTER" desc="Title of notification for a new printer showing up on your network">
        New printer on your network
      </message>
      <message name="IDS_LOCAL_DISOCVERY_NOTIFICATION_CONTENTS_PRINTER" desc="Contents of notification for a new printer showing up on your network">
        Add the printer to Google Cloud Print so you can print from anywhere.
      </message>
      <message name="IDS_LOCAL_DISOCVERY_NOTIFICATION_TITLE_PRINTER_MULTIPLE" desc="Title of notification for a new printer showing up on your network">
      New printers on your network
      </message>
      <message name="IDS_LOCAL_DISOCVERY_NOTIFICATION_CONTENTS_PRINTER_MULTIPLE" desc="Contents of notification for a new printer showing up on your network">
        Add the printers to Google Cloud Print so you can print from anywhere.
      </message>
      <message name="IDS_LOCAL_DISOCVERY_SERVICE_NAME_PRINTER" desc="Display name for notification for a new printer showing up on your network">
        Google Cloud Print
      </message>
      <message name="IDS_LOCAL_DISOCVERY_NOTIFICATION_BUTTON_PRINTER" desc="Message on registration button for printer">
        Add to Cloud Print
      </message>
      <message name="IDS_LOCAL_DISCOVERY_DEVICES_PAGE_TITLE" desc="Title for devices page">
        Devices
      </message>
      <message name="IDS_LOCAL_DISCOVERY_REGISTER_CONFIRMATION" desc="Confirmation for registering a printer to Google Cloud Print">
        Do you wish to register the printer <ph name="PRINTER_NAME">$1</ph> to Google Cloud Print?
      </message>
      <message name="IDS_LOCAL_DISCOVERY_REGISTER_USER" desc="Label for user picker in registration dialog">
        User:
      </message>
      <message name="IDS_LOCAL_DISCOVERY_CONFIRM_REGISTRATION" desc="Title for 'confirm registration' page">
        Confirm registration
      </message>
      <message name="IDS_LOCAL_DISCOVERY_ADDING_PRINTER" desc="Title for 'adding printer' page">
        Adding printer...
      </message>
      <message name="IDS_LOCAL_DISCOVERY_ERROR_OCURRED" desc="Title for error page">
        Could not complete registration
      </message>
      <message name="IDS_LOCAL_DISCOVERY_ADDING_PRINTER_MESSAGE1" desc="Message for adding printer number 1">
        You must confirm registration on your printer to finish this process - check it now.
      </message>
      <message name="IDS_LOCAL_DISCOVERY_ADDING_PRINTER_MESSAGE2" desc="Message for adding printer number 2">
        Adding the printer to your account - this may take a moment...
      </message>
      <message name="IDS_LOCAL_DISCOVERY_ERROR_OCURRED_MESSAGE" desc="Message for error page">
        An error has occured. Please check your printer and try again.
      </message>
      <message name="IDS_LOCAL_DISCOVERY_NO_DESCRIPTION" desc="Description for devices with an empty description">
        Printer on Google Cloud Print
      </message>
      <message name="IDS_LOCAL_DISCOVERY_PRINTERS_ON_NETWORK_ZERO" desc="'Zero' case for number indicator for locally discoverable printers">
        No other available devices.
      </message>
      <message name="IDS_LOCAL_DISCOVERY_PRINTERS_ON_NETWORK_ONE" desc="'One' case for number indicator for locally discoverable printers">
        One other available device.
      </message>
      <message name="IDS_LOCAL_DISCOVERY_PRINTERS_ON_NETWORK_MULTIPLE" desc="General case for number indicator for locally discoverable printers">
        <ph name="NUM_PRINTERS">$1</ph> other available devices.
      </message>
      <message name="IDS_LOCAL_DISCOVERY_LOADING" desc="Loading for local discovery screens">
        Loading
      </message>
      <message name="IDS_LOCAL_DISCOVERY_ADD_PRINTERS" desc="Text on button to add printers to cloud print">
        Add Devices
      </message>
      <message name="IDS_LOCAL_DISCOVERY_NO_PRINTERS_ON_NETWORK_EXPLANATION" desc="Explanatory text in case there are no printers to register on the network">
        Looks like there are no devices available to register on the network. If your device is on and connected to the internet, try registering it using instructions in its instruction manual.
      </message>
      <message name="IDS_LOCAL_DISCOVERY_CLOUD_DEVICES_UNAVAILABLE" desc="Explanatory text in case the list of cloud devices can't be retrieved">
        Could not load devices.
      </message>
      <message name="IDS_LOCAL_DISCOVERY_RETRY_LOAD_CLOUD_DEVICES" desc="Text on button to retry loading cloud devices">
        Try again
      </message>
      <message name="IDS_LOCAL_DISCOVERY_CLOUD_DEVICES_NEED_LOGIN" desc="Text on login promo for local discovery page">
        You need to sign in to Chrome to see your devices
      </message>
      <message name="IDS_LOCAL_DISCOVERY_REGISTER_NEED_LOGIN" desc="Text on login promo for local discovery registration">
        You need to sign in to Chrome to register new devices
      </message>
      <message name="IDS_LOCAL_DISCOVERY_CLOUD_DEVICES_LOGIN" desc="Text on login button for local discovery page">
        sign in
      </message>
      <message name="IDS_LOCAL_DISCOVERY_DEVICES_PAGE_BUTTON" desc="Text on button to take user to devices page">
        Manage
      </message>
      <message name="IDS_LOCAL_DISCOVERY_AVAILABLE_DEVICES" desc="Title for 'available devices' section in devices page">
        New devices
      </message>
      <message name="IDS_LOCAL_DISCOVERY_MY_DEVICES" desc="Title for 'my devices' section in devices page">
        My devices
      </message>
      <message name="IDS_LOCAL_DISCOVERY_CLOUD_PRINT_CONNECTOR_DISABLED_LABEL" desc="In local discovery page: The label of the cloud print setup button when it hasn't been set up yet.">
        You can add classic printers connected to your computer to <ph name="CLOUD_PRINT_NAME">$1<ex>Google Cloud Print</ex></ph>.
      </message>
      <message name="IDS_LOCAL_DISCOVERY_CONNECTOR_SECTION" desc="In local discovery page: Title of cloud print connector section.">
        Classic printers
      </message>
      <message name="IDS_LOCAL_DISCOVERY_NOTIFICATIONS_ENABLE_CHECKBOX_LABEL" desc="Label for notificatiosn-enable checkbox">
        Show notifications when new printers are detected on the network
      </message>
      <message name="IDS_LOCAL_DISCOVERY_NOTIFICATIONS_DISABLE_BUTTON_LABEL" desc="Label for button disabling local device notifications">
        Don't show this again
      </message>
    </if>
    <!-- People search strings -->
    <message name="IDS_PEOPLE_SEARCH_ACTION_EMAIL_TOOLTIP" desc="Tooltip text for sending an email to the person in the result">
      Email this person
    </message>
    <message name="IDS_PEOPLE_SEARCH_ACTION_CHAT_TOOLTIP" desc="Tooltip text for starting a chat with the person in the result">
      Chat with this person
    </message>
    <message name="IDS_LOCAL_DISCOVERY_REGISTER_CANCELED_ON_PRINTER" desc="Label for when registration is canceled on the printer side">
      Printer registration has been canceled.
    </message>
    <message name="IDS_LOCAL_DISCOVERY_REGISTER_TIMEOUT_ON_PRINTER" desc="Label for when registration has timed out on the printer side">
      Printer registration has timed out. In order to register a printer, you must confirm registration on the printer.
    </message>

    <!--Tab media indicator tooltip strings-->
    <message name="IDS_TOOLTIP_TAB_MEDIA_STATE_RECORDING" desc="Extra tool tip text, when the tab is recording media.">
      This tab is using your camera or microphone.
    </message>
    <message name="IDS_TOOLTIP_TAB_MEDIA_STATE_CAPTURING" desc="Extra tool tip text, when the tab content is being captured.">
      This tab's content is being shared.
    </message>
    <message name="IDS_TOOLTIP_TAB_MEDIA_STATE_AUDIO_PLAYING" desc="Extra tool tip text, when the tab is playing audio.">
      This tab is playing audio.
    </message>

    <!-- ProcessSingleton -->
    <message name="IDS_PROFILE_IN_USE_LINUX_QUIT" desc="Text of button in profile in use dialog to quit without doing anything.">
      Quit
    </message>
    <message name="IDS_PROFILE_IN_USE_LINUX_RELAUNCH" desc="Text of button in dialog to delete the profile lock file.">
      Unlock Profile and Relaunch
    </message>

    <!-- Accessibility alerts -->
    <message name="IDS_A11Y_ALERT_WINDOW_NEEDED" desc="Alert sent to the accessibility api when the user attempts a keyboard command that requires a window to work.">
      Command unavailable. Press control-N to open a new window.
    </message>

    <!-- Zero suggest experiment flags -->
    <message name="IDS_FLAGS_ZERO_SUGGEST_EXPERIMENT_NAME" desc="An about:flags experiment for zero suggest">
      Zero Suggest
    </message>
    <message name="IDS_FLAGS_ZERO_SUGGEST_EXPERIMENT_DESCRIPTION" desc="Describes about:flags experiment options for zero suggest">
      NOTE: Only works dev and canary channels. Turns on suggestions in the omnibox that are shown on focus before typing.
    </message>
    <message name="IDS_FLAGS_ZERO_SUGGEST_MOST_VISITED" desc="A choice in dropdown dialog on about:flags page for the most visited sites option">
      Most visited
    </message>
    <message name="IDS_FLAGS_ZERO_SUGGEST_ETHER_SERP" desc="A choice in dropdown dialog on about:flags page to show zero suggest on http pages and Google.com">
      Related URLs and Google.com searches
    </message>
    <message name="IDS_FLAGS_ZERO_SUGGEST_ETHER_NO_SERP" desc="A choice in dropdown dialog on about:flags page to show zero suggest on http pages only">
      Related URLs only
    </message>
    <message name="IDS_FLAGS_ENABLE_IGNORE_AUTOCOMPLETE_OFF_NAME" desc="Name of the ignore autocomplete='off' lab">
      Ignore autocomplete='off'
    </message>
    <message name="IDS_FLAGS_ENABLE_IGNORE_AUTOCOMPLETE_OFF_DESCRIPTION" desc="Description of the ignore autocomplete='off' lab">
      Ignore autocomplete='off' for password forms in the password manager.
    </message>
  </messages>

  <structures fallback_to_english="true">
      <!-- Make sure these stay in sync with the structures in generated_resources.grd. -->
      <structure name="IDD_CHROME_FRAME_FIND_DIALOG" file="cf_resources.rc" type="dialog" >
      </structure>
      <structure name="IDD_CHROME_FRAME_READY_PROMPT" file="cf_resources.rc" type="dialog" >
      </structure>
      <structure name="IDD_CHROME_FRAME_TURNDOWN_PROMPT" file="cf_resources.rc" type="dialog" >
      </structure>
    </structures>
  </release>
</grit>
