<?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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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" />

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

      <!-- 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. -->
      <if expr="is_win">
        <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>
      </if>
      <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="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 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_BATTERY" desc="The label used for the battery consumption type in the Manage Sites settings.">
        Battery
      </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_TYPE_STORAGE" desc="The label used for the local storage type in the Manage Sites settings.">
        Storage
      </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_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_PERMISSIONS_BUBBLE_PROMPT" desc="The label that is used to introduce permission request details to the user in a papup.">
        <ph name="SITE_NAME">$1<ex>google.com</ex></ph> would like to use your:
      </message>
      <message name="IDS_PERMISSION_ALLOW" desc="Label on button to allow a permissions request.">
        Allow
      </message>
      <message name="IDS_PERMISSION_DENY" desc="Label on button to deny a permissions request.">
        Block
      </message>
      <message name="IDS_PERMISSION_CUSTOMIZE" desc="Label on text button to allow the user to customize a permissions request.">
        Customize
      </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_REMOVE_BOOKMARK" desc="Tooltip shown when hovered over a history entry's bookmark star. When clicked, removes the bookmark.">
        Remove bookmark
      </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 supervised user to unlock the controls.">
        Unlock
      </message>
      <message name="IDS_HISTORY_LOCK_BUTTON" desc="The text on the button that is used by a supervised 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="https://support.google.com/chrome/answer/2987777?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="https://support.google.com/chrome/answer/2987777?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>
      <message name="IDS_HISTORY_ENTRY_BOOKMARKED" desc="Whether a history entry is bookmarked.">
        Bookmarked
      </message>
      <message name="IDS_HISTORY_ENTRY_SUMMARY" desc="Summary of all the fields in a history entry (time, whether the entry is bookmarked, title, and domain).">
        <ph name="TIME"><ex>3:14</ex>$1</ph> <ph name="BOOKMARKED"><ex>bookmarked</ex>$2</ph> <ph name="TITLE"><ex>PI: The Magical Number</ex>$3</ph> <ph name="DOMAIN"><ex>pi.com</ex>$4</ph>
      </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_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>
      <if expr="is_macosx">
        <message name="IDS_ACCNAME_TAB" desc="A generic description of a tab button's role">
          Tab
        </message>
      </if>
      <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. Android does not use it -->
      <if expr="not is_android">
        <if expr="is_macosx">
            <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 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">
            &amp;Print...
          </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">
            &amp;Reload
          </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">
            &amp;Reload 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">
            &amp;Print 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_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>
          <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>
        </if>
        <if expr="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">
            &amp;Print...
          </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">
            &amp;Reload
          </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">
            &amp;Reload 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">
            &amp;Print 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>
          <!-- Paste and Match Style / Paste as Plain Text -->
          <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>
            <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">
            <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>
            <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>
          <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>
        </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>
      </if>

      <if expr="not use_titlecase">
        <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>
      </if>
      <if expr="use_titlecase">
        <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>
      </if>

      <!-- Ash multi-user warning dialog -->
      <if expr="use_ash">
        <message name="IDS_VISIT_DESKTOP_WARNING_TITLE" desc="The title of the dialog which warns user about oddities which can be seen when a window gets moved to another user desktop.">
          Careful, this feature may bite
        </message>
        <message name="IDS_VISIT_DESKTOP_WARNING_MESSAGE" desc="The message on the dialog which warns user about oddities which can be seen when a window gets moved to another user desktop.">
          Moving windows to another desktop may result in unexpected behaviour.
        </message>
        <message name="IDS_VISIT_DESKTOP_WARNING_EXPLANATION" desc="The explanation message on the dialog which warns user about oddities which can be seen when a window gets moved to another user desktop.">
          Subsequent notifications, windows and dialogs may be split between desktops.
        </message>
        <message name="IDS_VISIT_DESKTOP_WARNING_SHOW_DISMISS" desc="Label for checkbox dismissing show of teleportation warning dialog.">
          Got it, don't show me again.
        </message>
      </if>

      <!-- 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 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>
        </if>
        <if expr="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>
        </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>

      <!-- Page menu. Android has separate strings for its menu -->
      <if expr="not is_android">
        <if expr="not 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>
          <if expr="is_win">
            <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>
          </if>
          <message name="IDS_EDIT2" desc="The text label before the cut/copy/paste buttons in the merged menu">
            Edit
          </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_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_DISTILL_PAGE" desc="The text label of the 'Distill page' menu item">
            Distill page
          </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_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>
        </if>
        <if expr="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_EDIT2" desc="In Title Case: The text label before the cut/copy/paste buttons in the merged menu">
            Edit
          </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_PASTE" desc="In Title Case: The text label of the Paste menu item" meaning="'Paste' menu command for Mac">
            &amp;Paste
          </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_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_DISTILL_PAGE" desc="The text label of the 'Distill Page' menu item">
            Distill Page
          </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_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_MENU2" desc="In Title Case: The text label of the Zoom menu in the merged menu">
            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>

      <if expr="chromeos">
        <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> (<ph name="USER_EMAIL">$2<ex>john@google.com</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>

      <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, Windows-1252, ISO-8859-8, 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 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="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>

      <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 -->
      <if expr="chromeos">
        <message name="IDS_TOGGLE_REQUEST_TABLET_SITE" desc="The toggle to request tablet site on a touch dev.">
          Request tablet site
        </message>
      </if>
      <if expr="not 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_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 Center menu item">
          H&amp;elp center
        </message>
        <message name="IDS_GET_HELP" desc="The text label of the Get Help menu item">
          Get H&amp;elp
        </message>
        <message name="IDS_HELP_MENU" desc="The text label of the Help sub-menu item">
          H&amp;elp
        </message>
        <if expr="is_win">
          <message name="IDS_VIEW_INCOMPATIBILITIES" desc="The text label of the View incompatibilities menu item">
            Software incompatibility: Learn more
          </message>
        </if>
        <message name="IDS_EXIT" desc="The text label of the Exit menu item">
          E&amp;xit
        </message>
      </if>
      <if expr="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="The text label of the Help Center menu item">
          H&amp;elp Center
        </message>
        <message name="IDS_GET_HELP" desc="The text label of the Get Help menu item">
          Get H&amp;elp
        </message>
        <message name="IDS_HELP_MENU" desc="The text label of the Help sub-menu item">
          H&amp;elp
        </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>
      <if expr="not 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="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>
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS_UNAUTHORIZED"
               desc="Not authorized.">
        Needs authorization
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_UNAUTHORIZED"
               desc="Download page message: Not authorized.">
        Server did not authorize you to access this resource.
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS_SERVER_CERT_PROBLEM"
               desc="Server certificate problem.">
        Bad certificate
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_SERVER_CERT_PROBLEM"
               desc="Download page message: Server certificate problem.">
        There was a problem with server's certificate.
      </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 file may be harmful for your computer.
      </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>

      <!-- 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_NO_SEARCH_RESULTS" desc="A message shown for when a search yield no results (no matching downloads).">
        No search results found.
      </message>
      <message name="IDS_DOWNLOAD_NO_DOWNLOADS" desc="A message shown when the user has no downloads to show on chrome://downloads.">
        No downloads found.
      </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 is_android">
        <if expr="not use_titlecase">
          <if expr="is_macosx">
            <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="not is_macosx">
            <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>
          <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_PLATFORM_OPEN_ALWAYS"
          desc="Download context menu: Always open the download using the default handler for the platform.">
            Always 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_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="use_titlecase">
           <if expr="is_macosx">
            <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>
           <if expr="not is_macosx">
            <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>
          <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_PLATFORM_OPEN_ALWAYS"
                   desc="In Title Case: Download context menu: Always open the download using the default handler for the platform.">
            Always 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_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>  <!-- not use_titlecase -->
        <if expr="is_win">
          <message name="IDS_DOWNLOAD_MENU_ALWAYS_OPEN_PDF_IN_READER"
                   desc="Download context menu: Always open PDFs using Adobe Reader">
            Always open in Adobe Reader
          </message>
        </if>
      </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>

      <!-- Dialog that asks whether user wants to participate in Safe Browsing Extended Reporting -->
      <message name="IDS_FEEDBACK_SERVICE_DIALOG_OK_BUTTON_LABEL" desc="Button that elects to upload suspected malicious files for analysis">
        Yes, I want to help
      </message>
      <message name="IDS_FEEDBACK_SERVICE_DIALOG_CANCEL_BUTTON_LABEL" desc="Button that elects not to upload suspected malicious files for analysis (default button)">
        No, thanks
      </message>

      <!-- Bookmark app bubble -->
      <message name="IDS_BOOKMARK_APP_BUBBLE_TITLE" desc="Title of the bubble to add a bookmark app.">
        Add shortcut?
      </message>

      <message name="IDS_BOOKMARK_APP_BUBBLE_OPEN_AS_TAB" desc="Checkbox text for opening the bookmark app as a tab.">
        Open as tab
      </message>

      <!-- Quit all apps confirmation dialog -->
      <if expr="is_macosx">
        <message name="IDS_QUIT_WITH_APPS_NOTIFICATION_DISPLAY_SOURCE" desc="Display source for the notification when quitting with apps open.">
          Quit
        </message>
        <message name="IDS_QUIT_WITH_APPS_EXPLANATION" desc="Text displayed in a notification explaining that Chrome will continue running in the background as long as there are Chrome Apps open.">
          Chrome will keep running while Chrome Apps are open.
        </message>
        <message name="IDS_QUIT_WITH_APPS_QUIT_LABEL" desc="Button text to quit all running Chrome apps.">
          Quit all Chrome Apps
        </message>
        <message name="IDS_QUIT_WITH_APPS_SUPPRESSION_LABEL" desc="Button text to prevent a notification from showing in future.">
          Don't show this again
        </message>
      </if>

      <!-- "Create application shortcuts" menu item -->
      <if expr="not 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">
          Add shortcut to this website...
        </message>
      </if>
      <if expr="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">
          Add Shortcut to this Website...
        </message>
      </if>

      <!-- "Application Information" dialog -->
      <if expr="not use_titlecase">
        <message name="IDS_APPLICATION_INFO_WEB_STORE_LINK" desc="Text for the link that opens the app or extension in the Web Store..">
          View in store
        </message>
        <message name="IDS_APPLICATION_INFO_HOMEPAGE_LINK" desc="Text for the link that opens the app or extension's homepage, as specified by the developer.">
          Developer website
        </message>
        <message name="IDS_APPLICATION_INFO_APP_OVERVIEW_TITLE" desc="Text displayed above the current details for the app or extension.">
          Overview
        </message>
        <message name="IDS_APPLICATION_INFO_APP_PERMISSIONS_TITLE" desc="Text displayed above the current permissions for the app or extension.">
          Permissions
        </message>
        <message name="IDS_APPLICATION_INFO_UNINSTALL_BUTTON_TEXT" desc="Text for the button that removes (uninstalls) the app or extension.">
          Remove
        </message>
        <message name="IDS_APPLICATION_INFO_LICENSES_BUTTON_TEXT" desc="Text for the button that displays the licenses for the app or extension.">
          Licenses
        </message>
        <message name="IDS_APPLICATION_INFO_SIZE_LABEL" desc="Text displayed before the app or extension's size on disk in the details section of the dialog.">
          Size:
        </message>
        <message name="IDS_APPLICATION_INFO_VERSION_LABEL" desc="Text displayed before the app or extension's version in the details section of the dialog.">
          Version:
        </message>
        <message name="IDS_APPLICATION_INFO_CREATE_SHORTCUTS_BUTTON_TEXT" desc="Text for the button that opens the dialog to create shortcuts for the app.">
          Create shortcuts
        </message>
      </if>
      <if expr="use_titlecase">
        <message name="IDS_APPLICATION_INFO_WEB_STORE_LINK" desc="In Title Case: Text for the link that opens the app or extension in the Web Store..">
          View in Store
        </message>
        <message name="IDS_APPLICATION_INFO_HOMEPAGE_LINK" desc="In Title Case: Text for the link that opens the app or extension's homepage, as specified by the developer.">
          Developer Website
        </message>
        <message name="IDS_APPLICATION_INFO_APP_OVERVIEW_TITLE" desc="In Title Case: Text displayed above the current details for the app or extension.">
          Overview
        </message>
        <message name="IDS_APPLICATION_INFO_APP_PERMISSIONS_TITLE" desc="In Title Case: Text displayed above the current permissions for the app or extension.">
          Permissions
        </message>
        <message name="IDS_APPLICATION_INFO_UNINSTALL_BUTTON_TEXT" desc="In Title Case: Text for the button that removes (uninstalls) the app or extension.">
          Remove
        </message>
        <message name="IDS_APPLICATION_INFO_LICENSES_BUTTON_TEXT" desc="In Title Case: Text for the button that displays the licenses for the app or extension.">
          Licenses
        </message>
        <message name="IDS_APPLICATION_INFO_SIZE_LABEL" desc="In Title Case: Text displayed before the app or extension's size on disk in the details section of the dialog.">
          Size:
        </message>
        <message name="IDS_APPLICATION_INFO_VERSION_LABEL" desc="In Title Case: Text displayed before the app or extension's version in the details section of the dialog.">
          Version:
        </message>
        <message name="IDS_APPLICATION_INFO_CREATE_SHORTCUTS_BUTTON_TEXT" desc="In Title Case: Text for the button that opens the dialog to create shortcuts for the app.">
          Create Shortcuts
        </message>
      </if>
      <message name="IDS_APPLICATION_INFO_SIZE_LOADING_LABEL" desc="Text displayed instead of the app or extension's size on disk in the details section of the dialog while the size is being calculated.">
        Calculating...
      </message>
      <message name="IDS_APPLICATION_INFO_SIZE_SMALL_LABEL" desc="Text displayed instead of the app or extension's size for apps and extensions that are less than 1 megabyte in size.">
        &lt; 1 MB
      </message>
      <message name="IDS_APPLICATION_INFO_REVOKE_PERMISSION_ALT_TEXT" desc="Alt text displayed on hover (or in a screen reader) on the icon button that revokes (removes) the permission from this app.">
        Revoke the permission '<ph name="PERMISSION">$1<ex>Access your USB and Bluetooth devices</ex></ph>'
      </message>
      <message name="IDS_APPLICATION_INFO_APP_NO_PERMISSIONS_TEXT" desc="Text displayed in the Permissions area of the dialog if the app has no permissions.">
        This app requires no special permissions.
      </message>
      <message name="IDS_APPLICATION_INFO_EXTENSION_NO_PERMISSIONS_TEXT" desc="Text displayed in the Permissions area of the dialog if the extension has no permissions.">
        This extension requires no special permissions.
      </message>

      <message name="IDS_APPLICATION_INFO_RETAINED_FILES_DEFAULT" desc="A line of explanatory text that precedes the list of files the app has permanent access to, showing 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.">
        Access <ph name="NUMBER_OF_FILES">#<ex>5</ex></ph> files stored on your computer
      </message>
      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
        <message name="IDS_APPLICATION_INFO_RETAINED_FILE_SINGULAR" desc="A line of explanatory text that precedes the list of files the app has permanent access to, showing 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">
          Access <ph name="NUMBER_OF_FILES">#<ex>1</ex></ph> file stored on your computer
        </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
        <message translateable="false" name="IDS_APPLICATION_INFO_RETAINED_FILE_SINGULAR" desc="">
          NA
        </message>
      </if>
      <if expr="lang in ['ar', 'ro', 'lv']">
        <message name="IDS_APPLICATION_INFO_RETAINED_FILES_ZERO" desc="A line of explanatory text that precedes the list of files the app has permanent access to, showing 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.">
          Access <ph name="NUMBER_OF_FILES">#<ex>0</ex></ph> files stored on your computer
        </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
        <message translateable="false" name="IDS_APPLICATION_INFO_RETAINED_FILES_ZERO" desc="">
          NA
        </message>
      </if>
      <if expr="lang in ['ga', 'sl', 'ar']">
        <message name="IDS_APPLICATION_INFO_RETAINED_FILES_TWO" desc="A line of explanatory text that precedes the list of files the app has permanent access to, showing 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.">
          Access <ph name="NUMBER_OF_FILES">#<ex>2</ex></ph> files stored on your computer
        </message>
      </if>
        <if expr="lang not in ['ga', 'sl', 'ar']">
        <message translateable="false" name="IDS_APPLICATION_INFO_RETAINED_FILES_TWO" desc="">
          NA
        </message>
      </if>
      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
        <message name="IDS_APPLICATION_INFO_RETAINED_FILES_FEW" desc="A line of explanatory text that precedes the list of files the app has permanent access to, 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.">
          Access <ph name="NUMBER_OF_FILES">#<ex>3</ex></ph> files stored on your computer
        </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
        <message translateable="false" name="IDS_APPLICATION_INFO_RETAINED_FILES_FEW" desc="">
          NA
        </message>
      </if>
      <if expr="lang == 'ar'">
        <message name="IDS_APPLICATION_INFO_RETAINED_FILES_MANY" desc="A line of explanatory text that precedes the list of files the app has permanent access to, showing 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.">
          Access <ph name="NUMBER_OF_FILES">#<ex>23</ex></ph> files stored on your computer
        </message>
      </if>
      <if expr="lang != 'ar'">
        <message translateable="false" name="IDS_APPLICATION_INFO_RETAINED_FILES_MANY" desc="">
          NA
        </message>
      </if>

      <message name="IDS_APPLICATION_INFO_RETAINED_DEVICES_DEFAULT" desc="A line of explanatory text that precedes the list of USB devices the app has permanent access to, showing the number of USB devices. This is shown when an app has persistent access to USB devices. 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_DEVICES is 11 .. 19.">
        Communicate with <ph name="NUMBER_OF_DEVICES">#<ex>5</ex></ph> USB devices
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_APPLICATION_INFO_RETAINED_DEVICE_SINGULAR" desc="A line of explanatory text that precedes the list of USB devices the app has permanent access to, showing the number of USB devices. This is shown when an app has persistent access to USB devices. NUMBER_OF_DEVICES 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">
        Communicate with <ph name="NUMBER_OF_DEVICES">#<ex>1</ex></ph> USB device
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_APPLICATION_INFO_RETAINED_DEVICE_SINGULAR" desc="">
        NA
      </message>
      </if>
      <if expr="lang in ['ar', 'ro', 'lv']">
        <message name="IDS_APPLICATION_INFO_RETAINED_DEVICES_ZERO" desc="A line of explanatory text that precedes the list of USB devices the app has permanent access to, showing the number of USB devices. This is shown when an app has persistent access to USB devices. NUMBER_OF_DEVICES is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
          Communicate with <ph name="NUMBER_OF_DEVICES">#<ex>0</ex></ph> USB devices
        </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
        <message translateable="false" name="IDS_APPLICATION_INFO_RETAINED_DEVICES_ZERO" desc="">
          NA
        </message>
      </if>
      <if expr="lang in ['ga', 'sl', 'ar']">
        <message name="IDS_APPLICATION_INFO_RETAINED_DEVICES_TWO" desc="A line of explanatory text that precedes the list of USB devices the app has permanent access to, showing the number of USB devices. This is shown when an app has persistent access to USB devices. NUMBER_OF_DEVICES is two or two-like/dual numbers :  2 (Arabic and Irish) or 2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
          Communicate with <ph name="NUMBER_OF_DEVICES">#<ex>2</ex></ph> USB devices
        </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
        <message translateable="false" name="IDS_APPLICATION_INFO_RETAINED_DEVICES_TWO" desc="">
          NA
        </message>
      </if>
      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
        <message name="IDS_APPLICATION_INFO_RETAINED_DEVICES_FEW" desc="A line of explanatory text that precedes the list of USB devices the app has permanent access to, showing the number of USB devices. This is shown when an app has persistent access to USB devices. NUMBER_OF_DEVICES is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
          Communicate with <ph name="NUMBER_OF_DEVICES">#<ex>3</ex></ph> USB devices
        </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
        <message translateable="false" name="IDS_APPLICATION_INFO_RETAINED_DEVICES_FEW" desc="">
          NA
        </message>
      </if>
      <if expr="lang == 'ar'">
        <message name="IDS_APPLICATION_INFO_RETAINED_DEVICES_MANY" desc="A line of explanatory text that precedes the list of USB devices the app has permanent access to, showing the number of USB devices. This is shown when an app has persistent access to USB devices. NUMBER_OF_DEVICES is 11 through 99 in Arabic. For all other languages, do NOT translate.">
          Communicate with <ph name="NUMBER_OF_DEVICES">#<ex>23</ex></ph> USB devices
        </message>
      </if>
      <if expr="lang != 'ar'">
        <message translateable="false" name="IDS_APPLICATION_INFO_RETAINED_DEVICES_MANY" desc="">
          NA
        </message>
      </if>

      <!-- "Create application shortcuts" dialog -->
      <if expr="not 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="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>
      <if expr="is_macosx">
        <message name="IDS_CREATE_SHORTCUTS_APP_FOLDER_CHKBOX" desc="Label of the checkbox to create an application shortcut in the system's applications folder.">
          Applications folder
        </message>
      </if>
      <if expr="is_win">
        <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>
        <message name="IDS_PIN_TO_TASKBAR_CHKBOX" desc="Label of the checkbox to pin an application shortcut to taskbar.">
          Pin to Taskbar
        </message>
      </if>
      <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 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_PLUGIN_EXPLANATORY_TEXT" desc="Explanatory animated text that appears (and then disappears) in the address line when plugin is blocked">
        Plug-in 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>
      <if expr="is_macosx">
        <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>
      </if>
      <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>
      <if expr="is_macosx">
        <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>
      </if>
      <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_COMMON_NAME_INVALID_DETAILS" desc="Details for an unsafe common name in an X509 certificate">
        This server could not prove that it is <ph name="DOMAIN">&lt;strong&gt;$1<ex>paypal.com</ex>&lt;/strong&gt;</ph>; its security certificate is from <ph name="DOMAIN2">&lt;strong&gt;$2<ex>fakepaypal.com</ex>&lt;/strong&gt;</ph>. This may be caused by a misconfiguration or an attacker intercepting your connection.
      </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_DETAILS" desc="Details for an expired X509 certificate">
        This server could not prove that it is <ph name="DOMAIN">&lt;strong&gt;$1<ex>paypal.com</ex>&lt;/strong&gt;</ph>; its security certificate expired <ph name="DAYS">$2<ex>3</ex></ph> day(s) ago. This may be caused by a misconfiguration or an attacker intercepting your connection. Your computer's clock is currently set to <ph name="CURRENT_TIME">$3<ex>July 18, 2012</ex></ph>. Does that look right? If not, you should correct your system's clock and then refresh this page.
      </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_DETAILS" desc="Details for an X509 certificate that is not yet valid">
        This server could not prove that it is <ph name="DOMAIN">&lt;strong&gt;$1<ex>paypal.com</ex>&lt;/strong&gt;</ph>; its security certificate is supposedly from <ph name="DAYS">$2<ex>3</ex></ph> day(s) in the future. This may be caused by a misconfiguration or an attacker intercepting your connection.
      </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_CHAIN_EXPIRED_DETAILS" desc="Details for an expired root or intermediate cert in chain">
        This server could not prove that it is <ph name="DOMAIN">&lt;strong&gt;$1<ex>paypal.com</ex>&lt;/strong&gt;</ph>; its security certificate expired. This may be caused by a misconfiguration or an attacker intercepting your connection. Your computer's clock is currently set to <ph name="CURRENT_TIME">$3<ex>July 18, 2012</ex></ph>. Does that look right? If not, you should correct your system's clock and then refresh this page.
      </message>
      <message name="IDS_CERT_ERROR_CHAIN_EXPIRED_DESCRIPTION" desc="Description for an expired intermediate/root certificate in chain">
        A root or intermediate certificate has expired.
      </message>

      <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_DETAILS" desc="Details of the error page for an X509 certificate that contains errors">
        This server could not prove that it is <ph name="DOMAIN">&lt;strong&gt;$1<ex>paypal.com</ex>&lt;/strong&gt;</ph>; its security certificate contains errors. This may be caused by a misconfiguration or an attacker intercepting your connection.
      </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_NO_REVOCATION_MECHANISM_DETAILS" desc="Details for not finding a revocation mechanism in an X509 certificate">
        This server could not prove that it is <ph name="DOMAIN">&lt;strong&gt;$1<ex>paypal.com</ex>&lt;/strong&gt;</ph>; its security certificate might be revoked. This may be caused by a misconfiguration or an attacker intercepting your connection.
      </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_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_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_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_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_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_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_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_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_DETAILS" desc="Details of the error page for a certificate that contains a name outside of its scope">
        This server could not prove that it is <ph name="DOMAIN">&lt;strong&gt;$1<ex>paypal.com</ex>&lt;/strong&gt;</ph>; its security certificate might have been issued fraudulently. This may be caused by a misconfiguration or an attacker intercepting your connection.
      </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_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.  -->
      <if expr="toolkit_views">
        <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>
      </if>

      <!-- Certificate viewer dialog strings that are shared across all the platforms -->
      <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_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_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>

      <!-- WebUI Certificate viewer dialog strings. Android uses an OS-level certificate manager. -->
      <if expr="not is_android">
        <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_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_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_UTC_TIMEZONE" desc="The string specifying the timezone in the Validity->Not Before and Validity->Not After elements in the details page of the certificate info dialog.">
          (UTC)
        </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 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_KEY_USAGE_DECIPHER_ONLY" desc="description of certificate usage Decipher Only">
          Decipher 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_REVOCATION_REASON_PRIVILEGE_WITHDRAWN" desc="description of certificate revocation for reason Privilege Withdrawn">
          Privilege Withdrawn
        </message>
        <message name="IDS_CERT_REVOCATION_REASON_AA_COMPROMISE" desc="description of certificate revocation for reason AA Compromise">
          AA Compromise
        </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_EDI_PARTY_NAME" desc="format for Electronic Data Identifier (EDI) Party Name">
          Party Name: <ph name="PARTY_NAME">$1<ex>Foo</ex></ph>
        </message>
        <message name="IDS_CERT_EDI_NAME_ASSIGNER" desc="format for Electronic Data Identifier (EDI) Name Assigner">
          Name Assigner: <ph name="NAME_ASSIGNER">$1<ex>Foo</ex></ph>
        </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>

      <!-- Signed Certificate Timestamps (SCTs) viewer. Only used in Views -->
      <if expr="toolkit_views">
        <message name="IDS_SCT_VIEWER_TITLE" desc="Title of Signed Certificate Timestamps viewer window">
          Signed Certificate Timestamps viewer
        </message>
        <message name="IDS_SCT_LOG_DESCRIPTION" desc="Name of the Certificate Transparency Log that issued this signed certificate timestamp">
          Log name
        </message>
        <message name="IDS_SCT_VALIDATION_INFO" desc="Signed Certificate Timestamp validation status">
          Validation status
        </message>
        <message name="IDS_SCT_STATUS_NONE" desc="SCT validation status: No SCT present">
          Not present
        </message>
        <message name="IDS_SCT_STATUS_LOG_UNKNOWN" desc="SCT validation status: SCT from unknown log">
          From an unknown log
        </message>
        <message name="IDS_SCT_STATUS_INVALID" desc="SCT validation status: Invalid">
          Validation failed
        </message>
        <message name="IDS_SCT_STATUS_OK" desc="SCT validation status: Verified OK">
          Verified
        </message>
        <message name="IDS_SCT_ORIGIN" desc="SCT Origin label">
          Origin
        </message>
        <message name="IDS_SCT_ORIGIN_EMBEDDED" desc="SCT is embedded in the certificate">
          Embedded
        </message>
        <message name="IDS_SCT_ORIGIN_TLS_EXTENSION" desc="SCT was provided during the TLS handshake">
          TLS Extension
        </message>
        <message name="IDS_SCT_ORIGIN_OCSP" desc="SCT was extracted from the OCSP response">
          OCSP response
        </message>
        <message name="IDS_SCT_ORIGIN_UNKNOWN" desc="SCT came from an unknown origin">
          Unknown
        </message>
        <message name="IDS_SCT_VERSION_V1" desc="SCT Version 1">
          V1
        </message>
        <message name="IDS_SCT_VERSION_UNKNOWN" desc="SCT with unknown version">
          Unknown
        </message>
        <message name="IDS_SCT_VERSION" desc="Version of SCT">
          Version
        </message>
        <message name="IDS_SCT_TIMESTAMP" desc="Time when the SCT was issued by the log">
          Issued at
        </message>
        <message name="IDS_SCT_LOGID" desc="The ID of the Certificate Transparency log issuing this SCT (hex)">
          Log ID
        </message>
        <message name="IDS_SCT_HASH_ALGORITHM" desc="Hash algorithm used to hash the Precertificate that was signed">
          Hash algorithm
        </message>
        <message name="IDS_SCT_HASH_ALGORITHM_NONE" desc="None / invalid hash algorithm">
          None
        </message>
        <message name="IDS_SCT_HASH_ALGORITHM_MD5" desc="MD5 hash alrogithm">
          MD5
        </message>
        <message name="IDS_SCT_HASH_ALGORITHM_SHA1" desc="SHA1 hash algorithm">
          SHA-1
        </message>
        <message name="IDS_SCT_HASH_ALGORITHM_SHA224" desc="SHA224 hash algorithm">
          SHA-224
        </message>
        <message name="IDS_SCT_HASH_ALGORITHM_SHA256" desc="SHA256 hash algorithm">
          SHA-256
        </message>
        <message name="IDS_SCT_HASH_ALGORITHM_SHA384" desc="SHA384 hash algorithm">
          SHA-384
        </message>
        <message name="IDS_SCT_HASH_ALGORITHM_SHA512" desc="SHA512 hash algorithm">
          SHA-512
        </message>
        <message name="IDS_SCT_SIGNATURE_ALGORITHM" desc="Signature algorithm used to sign over the Precertificate's hash">
          Signature algorithm
        </message>
        <message name="IDS_SCT_SIGNATURE_ALGORITHM_ANONYMOUS" desc="Unknown signature algorithm">
          Anonymous
        </message>
        <message name="IDS_SCT_SIGNATURE_ALGORITHM_RSA" desc="RSA signature algorithm">
          RSA
        </message>
        <message name="IDS_SCT_SIGNATURE_ALGORITHM_DSA" desc="DSA signature algorithm">
          DSA
        </message>
        <message name="IDS_SCT_SIGNATURE_ALGORITHM_ECDSA" desc="ECDSA signature algorithm">
          ECDSA
        </message>
        <message name="IDS_SCT_SIGNATURE_DATA" desc="The signature bytes (hex)">
          Signature data
        </message>
        <message name="IDS_SCT_RAW_DATA_HELP" desc="Instructions on how to get the raw data.">
          The raw data is available through NetLog. See help for more details.
        </message>
        <message name="IDS_SCT_CHOOSER_FORMAT" desc="Format of combobox information layout.">
          <ph name="SCT_INDEX">$1<ex>1</ex></ph>: <ph name="SCT_ORIGIN">$2<ex>Embedded</ex></ph>, <ph name="SCT_STATUS">$3<ex>Verified</ex></ph>
        </message>
      </if>

      <if expr="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>

      <!-- Client certificate enrollment failure infobar -->
      <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>

      <!-- Client certificate enrollment 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 -->
      <if expr="is_win">
        <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>
      </if>

      <!-- 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 <ph name="FOLDER_PATH">$1<ex>C:\Projects\foo\</ex></ph>.
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 -->
      <if expr="chromeos">
        <message name="IDS_USER_IMAGE_SCREEN_TITLE" desc="String to be displayed in the title bar of the user image selection dialog">
          Choose your account picture
        </message>
      </if>

      <!-- 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 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="enable_task_manager">
        <if expr="not 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_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_NACL_DEBUG_STUB_PORT_COLUMN" desc="The text of the NativeClient debug stub port column">
            NaCl debug port
          </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_IDLE_WAKEUPS_COLUMN" desc="Task manager idle processor wakeups column">
            Idle wake ups
          </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_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>
        </if>
        <if expr="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_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_NACL_DEBUG_STUB_PORT_COLUMN" desc="The text of the NativeClient debug stub port column">
            NaCl Debug Port
          </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_IDLE_WAKEUPS_COLUMN" desc="Task manager idle processor wakeups column">
            Idle Wake Ups
          </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_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>
        </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_PRINT_PREFIX" desc="The prefix for a print preview process row in the Task Manager">
          Print: <ph name="PRINT_NAME">$1<ex>Google Maps</ex></ph>
        </message>
        <message name="IDS_TASK_MANAGER_SUBFRAME_PREFIX" desc="The prefix for a out-of-process-iframe row in the Task Manager (these processes are created when site isolation is enabled)">
          Subframe: <ph name="SUBFRAME_SITE">$1<ex>https://youtube.com/</ex></ph>
        </message>
        <message name="IDS_TASK_MANAGER_SUBFRAME_INCOGNITO_PREFIX" desc="The prefix for an Incognito out-of-process-iframe process row in the Task Manager (these processes are created when site isolation is enabled, in incognito mode)">
          Incognito Subframe: <ph name="SUBFRAME_SITE">$1<ex>https://youtube.com/</ex></ph>
        </message>
      </if>

      <if expr="not is_android">
        <!-- 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>
      </if>

      <!-- 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>
      <message name="IDS_EXTENSION_DISABLED_REMOTE_INSTALL_ERROR_LABEL" desc="Text displayed when an extension was disabled due to it being installed server side, requiring an explicit permission check from the user.">
        The extension "<ph name="EXTENSION_NAME">$1<ex>Flashblock</ex></ph>" was installed remotely.
      </message>
      <message name="IDS_APP_DISABLED_REMOTE_INSTALL_ERROR_LABEL" desc="Text displayed when an extension was disabled due to it being installed server side, requiring an explicit permission check from the user.">
        The app "<ph name="EXTENSION_NAME">$1<ex>Flashblock</ex></ph>" was installed remotely.
      </message>
      <message name="IDS_EXTENSION_DISABLED_REMOTE_INSTALL_ERROR_TITLE" desc="Title of the notification that an extension or app was disabled due to it being installed server side, requiring an explicit permission check from the user.">
        <ph name="EXTENSION_NAME">$1<ex>Adblock</ex></ph> was installed remotely
      </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_REPAIR_EXTENSION_PROMPT_TITLE" desc="Titlebar of the reinstall/repair extension prompt window.">
        Repair Extension
      </message>
      <message name="IDS_EXTENSION_REPAIR_APP_PROMPT_TITLE" desc="Titlebar of the reinstall/repair app prompt window.">
        Repair App
      </message>
      <message name="IDS_EXTENSION_REMOTE_INSTALL_APP_PROMPT_TITLE" desc="Titlebar of the app installation prompt window when an app was installed remotely">
        Confirm New App
      </message>
      <message name="IDS_EXTENSION_REMOTE_INSTALL_EXTENSION_PROMPT_TITLE" desc="Titlebar of the extension installation prompt window when an app was installed remotely">
        Confirm New Extension
      </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_PROGRAMMATIC_UNINSTALL_PROMPT_HEADING" desc="First bold line in the content area of the extension or app uninstallation prompt when the uninstallation is programmatically triggered by another extension. Asks the user if they want to uninstall a particular extension or app.">
        "<ph name="TRIGGERING_EXTENSION_NAME">$1<ex>Extension Manager</ex></ph>" would like to remove "<ph name="EXTENSION_NAME">$2<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.">
        Try "<ph name="EXTENSION_NAME">$1<ex>Gmail Checker</ex></ph>"?
      </message>
      <message name="IDS_EXTENSION_REMOTE_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 enable a particular extension or app that was installed remotely.">
        Enable "<ph name="EXTENSION_NAME">$1<ex>Gmail Checker</ex></ph>"?
      </message>
      <message name="IDS_EXTENSION_REPAIR_PROMPT_HEADING" desc="First bold line in the content area of the extension or app installation prompt. Asks the user if they want to update the extension/app.">
        Repair "<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_PROMPT_WITHHELD" desc="Header for withheld permissions warning on extension install.">
        Warning: You've enabled the --scripts-require-action flag on this computer, which limits the capabilities of this extension. However, other devices may not support this flag or have it enabled. On these devices, this extension can also:
      </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>Read and change all your data on the websites you visit</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>

      <message name="IDS_EXTENSION_PROMPT_RETAINED_DEVICES_DEFAULT" desc="A line of explanatory text that precedes the list of devices the app has permanent access to, showing the number of devices. This is shown when an app has persistent access to devices. 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_DEVICES is 11 .. 19.">
        It has permanent access to <ph name="NUMBER_OF_DEVICES">#<ex>5</ex></ph> devices.
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_EXTENSION_PROMPT_RETAINED_DEVICE_SINGULAR" desc="A line of explanatory text that precedes the list of devices the app has permanent access to, showing the number of devices. This is shown when an app has persistent access to devices. NUMBER_OF_DEVICES 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_DEVICES">#<ex>1</ex></ph> device.
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_EXTENSION_PROMPT_RETAINED_DEVICE_SINGULAR" desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_EXTENSION_PROMPT_RETAINED_DEVICES_ZERO" desc="A line of explanatory text that precedes the list of devices the app has permanent access to, showing the number of devices. This is shown when an app has persistent access to devices. NUMBER_OF_DEVICES 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_DEVICES">#<ex>0</ex></ph> devices.
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_EXTENSION_PROMPT_RETAINED_DEVICES_ZERO" desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_EXTENSION_PROMPT_RETAINED_DEVICES_TWO" desc="A line of explanatory text that precedes the list of devices the app has permanent access to, showing the number of devices. This is shown when an app has persistent access to devices. NUMBER_OF_DEVICES 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_DEVICES">#<ex>2</ex></ph> devices.
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_EXTENSION_PROMPT_RETAINED_DEVICES_TWO" desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_EXTENSION_PROMPT_RETAINED_DEVICES_FEW" desc="A line of explanatory text that precedes the list of devices the app has permanent access to, showing the number of devices. This is shown when an app has persistent access to devices. NUMBER_OF_DEVICES 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_DEVICES">#<ex>3</ex></ph> devices.
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_EXTENSION_PROMPT_RETAINED_DEVICES_FEW" desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_EXTENSION_PROMPT_RETAINED_DEVICES_MANY" desc="A line of explanatory text that precedes the list of devices the app has permanent access to, showing the number of devices. This is shown when an app has persistent access to devices. NUMBER_OF_DEVICES is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        It has permanent access to <ph name="NUMBER_OF_DEVICES">#<ex>23</ex></ph> devices.
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_EXTENSION_PROMPT_RETAINED_DEVICES_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.">
          Read and change all your 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.">
          Read and change all your 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.">
        Read and change all your data on the websites you visit
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_ALL_HOSTS_READ_ONLY" desc="Permission string for read-only access to data on all websites.">
        Read all your data on the websites you visit
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_FAVICON" desc="Permission string for access to favicons.">
        Read the icons of the websites you visit
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_INPUT" desc="Permission string for access to input.">
        Read and change anything you type
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_BOOKMARKS" desc="Permission string for access to bookmarks.">
        Read and change your bookmarks
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_COPRESENCE" desc="Permission string for access to bookmarks.">
        Communicate with nearby devices
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_HISTORY_WRITE" desc="Permission string for access to modify browsing history.">
        Read and change your browsing history
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_HISTORY_WRITE_AND_SESSIONS" desc="Permission string for access to modify both browsing history and signed in sessions.">
        Read and change your browsing history on all your signed-in devices
      </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_TOPSITES" desc="Permission string for access to the list of most frequently visited websites.">
        Read a list of your most frequently visited websites
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_HISTORY_READ" desc="Permission string for access to browsing history.">
        Read your browsing history
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_HISTORY_READ_AND_SESSIONS" desc="Permission string for access to both browsing history and signed in sessions.">
        Read your browsing history on all your signed-in devices
      </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.">
        Read data you copy and paste
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_TTS_ENGINE" desc="Permission string for access to text-to-speech.">
        Read all text spoken using synthesized speech
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_CONTENT_SETTINGS" desc="Permission string for access to content settings.">
        Change your 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.">
        Change your privacy-related settings
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_SIGNED_IN_DEVICES" desc="Permission string for access to privacy settings.">
        Read the list of your signed-in devices
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_USB_BLUETOOTH" desc="Permission string for access to USB and Bluetooth devices.">
        Access your USB and Bluetooth devices
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_USB_SERIAL" desc="Permission string for access to USB and serial connected devices.">
        Access your USB and Serial devices
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_BLUETOOTH_SERIAL" desc="Permission string for access to Bluetooth and serial connected devices.">
        Access your Bluetooth and Serial devices
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_ALL_DEVICES" desc="Permission string for access all user's connected devices.">
        Access all your hardware devices
      </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_IDENTITY_EMAIL" desc="Permission string for access to profile email address.">
        Know your email address
      </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_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.">
        Read 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.">
        Read and delete photos, music, and other media from your computer
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_MEDIA_GALLERIES_READ_WRITE_DELETE" desc="Permission string for access to read, write and delete to all of the user's media galleries.">
        Read, change and delete photos, music, and other media from your computer
      </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">
        Read 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_SCREENLOCK_PRIVATE" desc="Permission string for locking an unlocking the screen.">
        Lock and unlock the screen
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_OVERRIDE_BOOKMARKS_UI" desc="Permission string for overriding elements of the bookmarks user interface.">
        Change the bookmarks user interface
      </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_ACCESSIBILITY_FEATURES_MODIFY" desc="Permission string for modifying acccessibility settings via extension API shown when an extension utilizing the API is installed.">
        Change your accessibility settings
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_ACCESSIBILITY_FEATURES_READ" desc="Permission string for modifying acccessibility settings via extension API shown when a extension utilizing the API is installed.">
        Read your accessibility settings
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_ACCESSIBILITY_FEATURES_READ_MODIFY" desc="Permission string for reading and modifying acccessibility settings via extension API shown when an extension utilizing the API is installed.">
        Read and change your accessibility settings
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_EXPERIENCE_SAMPLING_PRIVATE" desc="Permission string for Experience Sampling Private API.">
        Monitor when you take actions in Chrome
      </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_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>
      <if expr="not use_aura">
        <message name="IDS_EXTENSION_WINDOW_SHAPE_NOT_SUPPORTED" desc="Error message when an extension has a requirement for shaped windows that the system does not support.">
          Shaped windows are not supported.
        </message>
      </if>
      <if expr="chromeos">
        <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>
      </if>
      <message name="IDS_EXTENSION_MOVE_DIRECTORY_TO_PROFILE_FAILED" desc="">
        Could not move extension directory into profile.
      </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_OLD_VERSION" desc="Error displayed during installation of an extension when an import dependency is older than the minimum version required.">
        Extension requires "<ph name="IMPORT_NAME">$1<ex>Google Cast API</ex></ph>" with a minimum version "<ph name="IMPORT_VERSION">$2<ex>1.0</ex></ph>", but only version "<ph name="INSTALLED_VERSION">$3<ex>0.9</ex></ph>" is installed.
      </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 "<ph name="IMPORT_NAME">$1<ex>Gmail</ex></ph>" because it is not a shared module.
      </message>
      <message name="IDS_EXTENSION_INSTALL_DEPENDENCY_NOT_WHITELISTED" desc="Error displayed during installation of an extension which tries to imports resources from an extension, but it is not whitelisted to do so.">
        Unable to install "<ph name="APP_NAME">$1<ex>Google Play Movies &amp; TV</ex></ph>" because it is not allowed by "<ph name="IMPORT_NAME">$2<ex>Google Cast API</ex></ph>"
      </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 Chrome OS kiosk mode.">
        App with 'kiosk_only' manifest attribute must be installed in Chrome OS kiosk mode.
      </message>
      <message name="IDS_EXTENSION_INSTALL_DISALLOW_UNTRUSTED_EXTENSION" desc="Error displayed during installation of a side-loaded extension from an untrusted source.">
        Cannot install untrusted extension with ID "<ph name="IMPORT_ID">$1<ex>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</ex></ph>."
      </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_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_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>
      <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_INSTALL_PROCESS_CRASHED" desc="Error message in case package fails to install because a utility process crashed.">
        Could not install package because a utility process crashed. Try restarting Chrome and trying again.
      </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>
      <if expr="enable_extensions">
        <if expr="is_macosx">
          <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>
        </if>
        <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>

        <if expr="not chromeos and not is_macosx">
          <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>
        </if>
        <if expr="chromeos">
          <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>
        </if>
        <if expr="is_macosx">
          <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>
        </if>
        <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" 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>
      </if>

      <!-- 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 -->
      <if expr="enable_extensions">
        <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_APPS_DEV_TOOLS_PROMO_HTML" desc="The text encouraging users to get the Apps Developer Tools.">
          Try the new <ph name="BEGIN_LINK">&lt;a target="_blank" href="$1"&gt;</ph>Chrome Apps &amp; Extensions Developer Tool<ph name="END_LINK">&lt;/a&gt;</ph>.
        </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_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_LOAD_ERROR_HEADING" desc="The title of the section that describes an extension load error.">
          Error Loading Extension
        </message>
        <message name="IDS_EXTENSIONS_LOAD_ERROR_MESSAGE" desc="The message which tells the user that an extension failed to load.">
          Failed to load extension from:
        </message>
        <message name="IDS_EXTENSIONS_LOAD_ERROR_RETRY" desc="The text of the button to retry loading an extension.">
          Retry
        </message>
        <message name="IDS_EXTENSIONS_LOAD_ERROR_GIVE_UP" desc="The text of the button to give up on trying to load an extension.">
          I give up
        </message>
        <message name="IDS_EXTENSIONS_LOAD_COULD_NOT_LOAD_MANIFEST" desc="The text to indicate that the source of the extension's manifest failed to load.">
          Could not load manifest.
        </message>
        <message name="IDS_EXTENSIONS_LOAD_ADDITIONAL_FAILURES" desc="The text displayed above additional extension load failures.">
          Other extensions that failed to load:
        </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_DETAILS" desc="The link to view the details of an extension error.">
          View details
        </message>
        <message name="IDS_EXTENSIONS_ERROR_VIEW_MANIFEST" desc="The link to view the details of an extension error.">
          View manifest.json
        </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_ERROR_LAUNCH_DEVTOOLS" desc="The text for the button to view an extension error in the developer tools.">
          View in Developer Tools
        </message>
        <message name="IDS_EXTENSIONS_ERROR_CONTEXT_UNKNOWN" desc="Text indicating that the context URL for an error is unknown.">
          Unknown
        </message>
        <message name="IDS_EXTENSIONS_ERROR_NO_CODE_TO_DISPLAY" desc="Text indicating that there is no code to be displayed for a given error.">
          Sorry, we can't show the code for this error.
        </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_ENABLE_ERROR_COLLECTION" desc="The checkbox for enabling error collection for an extension.">
          Collect errors
        </message>
        <message name="IDS_EXTENSIONS_ALLOW_ON_ALL_URLS" desc="The checkbox for allowing an extension to run scripts on all websites without explicit permission.">
          Allow on all websites
        </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.">
          Developer website
        </message>
        <message name="IDS_EXTENSIONS_VISIT_WEBSTORE" desc="The link for visiting the extension's gallery page.">
          Details
        </message>
        <message name="IDS_EXTENSIONS_RELOAD_TERMINATED" desc="The link for reloading extensions.">
          Reload
        </message>
        <message name="IDS_EXTENSIONS_REPAIR_CORRUPTED" desc="The link for repairing corrupted extensions.">
          Repair
        </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>
        <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_INFO_LINK" desc="The text for the link that opens the App Info dialog for the extension, displaying permissions and other useful information about the app.">
          Details
        </message>
        <message name="IDS_EXTENSIONS_SHOW_BUTTON" desc="The text for the Show link.">
          Show button
        </message>
        <if expr="not use_titlecase">
          <message name="IDS_EXTENSIONS_ALWAYS_RUN" desc="The text for the 'always run' item in context menus (sentence case).">
            Always run
          </message>
          <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 extensions' text in the context menu for when right-clicking on extension icons (sentence case).">
            Manage extensions
          </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="use_titlecase">
          <message name="IDS_EXTENSIONS_ALWAYS_RUN" desc="The text for the 'always run' item in context menus (title case).">
            Always Run
          </message>
          <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 Extensions' text in the context menu for when right-clicking on extension icons (title case).">
            Manage Extensions
          </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>
      </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_POLICY_RECOMMENDED" desc="The text in the extensions UI informing the user that an extension is recommended installed by policy">
        (This extension is managed and cannot be removed.)
      </message>
      <message name="IDS_EXTENSIONS_DEPENDENT_EXTENSIONS" desc="The text in the extensions UI informing the user that an extension is depended on by on other installed extensions">
        The following extensions depend on this extension:
      </message>
      <message name="IDS_EXTENSIONS_LOCKED_SUPERVISED_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_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_BUTTON" desc="Text of the pack extension button">
        Pack Extension
      </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_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_PROMPT_PERMISSIONS_CLEAR_RETAINED_DEVICES_BUTTON" desc="Text for the Revoke Device Access button on the extension permissions prompt">
        Revoke Device Access
      </message>
      <message name="IDS_EXTENSION_PROMPT_PERMISSIONS_CLEAR_RETAINED_FILES_AND_DEVICES_BUTTON" desc="Text for the Revoke File and Device Access button on the extension permissions prompt">
        Revoke File and Device Access
      </message>
      <message name="IDS_EXTENSION_PROMPT_REMOTE_INSTALL_BUTTON" desc="Text for the install button on the extension install prompt for a remotely installed extension">
        Enable
      </message>
      <message name="IDS_EXTENSION_PROMPT_REPAIR_BUTTON" desc="Text for the install button on the extension reinstall prompt.">
        Repair
      </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>

      <!-- Strings for the extensions permission dialog experiment -->
      <!-- TODO(meacer): Remove these once the experiments are completed. -->
      <message name="IDS_EXTENSION_PROMPT_EXPERIMENT_EXPLANATION1">
        Do you trust this extension to use these privileges safely?
      </message>
      <message name="IDS_EXTENSION_PROMPT_EXPERIMENT_EXPLANATION2">
        Once installed, this extension could potentially use these privileges to do malicious things to your web browsing experience. Are you sure you want to install this extension?
      </message>
      <message name="IDS_EXTENSION_PROMPT_EXPERIMENT_EXPLANATION3">
        Are you sure you want to install this extension given that it requires these privileges?
      </message>
      <message name="IDS_EXTENSION_PROMPT_EXPERIMENT_EXPLANATION4">
        Make sure that these privileges make sense for what you think the extension needs to do. If they do not, click Cancel.
      </message>
      <message name="IDS_EXTENSION_PROMPT_EXPERIMENT_EXPLANATION5">
        Do you trust this extension to perform these actions?
      </message>

      <message name="IDS_EXTENSION_PROMPT_EXPERIMENT_INSTALL_BUTTON_TRUST" desc="Text for the install button on the extension install prompt (for experiment group 1)">
        Yes, I trust this extension!
      </message>
      <message name="IDS_EXTENSION_PROMPT_EXPERIMENT_INSTALL_BUTTON_YES" desc="Text for the install button on the extension install prompt (for experiment group 2)">
        Yes, install
      </message>
      <message name="IDS_EXTENSION_PROMPT_EXPERIMENT_INSTALL_BUTTON_SURE" desc="Text for the install button on the extension install prompt (for experiment group 3)">
        Yes, I'm sure
      </message>
      <message name="IDS_EXTENSION_PROMPT_EXPERIMENT_INSTALL_BUTTON_TRUST2" desc="Text for the install button on the extension install prompt (for experiment group 4)">
        Yes, I trust it
      </message>
      <message name="IDS_EXTENSION_PROMPT_EXPERIMENT_INSTALL_BUTTON_NOPE" desc="Text for the cancel button on the extension install prompt">
        Nope, cancel
      </message>
      <message name="IDS_EXTENSION_PROMPT_EXPERIMENT_SHOW_DETAILS" desc="The label of the button which displays permission info when clicked">
        Show details
      </message>
      <message name="IDS_EXTENSION_PROMPT_EXPERIMENT_SHOW_PERMISSIONS" desc="The label of the button which displays permission list when clicked">
        Show permissions
      </message>
      <message name="IDS_EXTENSION_PROMPT_EXPERIMENT_CHECKBOX_INFO" desc="Text for the label that explains that user should check all checkboxes to process for installation.">
        Please check all boxes to proceed.
      </message>

      <message name="IDS_EXTENSION_PROMPT_WARNING_FULL_ACCESS_EXPLANATION" desc="Extra explanation text for full access permission">
        This extension can read and change all data on your computer and all websites including Google, Facebook, Yahoo, etc.
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_ALL_HOSTS_EXPLANATION" desc="Extra explanation text for all sites permission">
        This extension can read and change your information on all websites including Google, Facebook, Yahoo, etc.
      </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>

      <!-- 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>

      <if expr="use_titlecase">
        <message name="IDS_EXTENSIONS_UNSUPPORTED_DISABLED_TITLE" desc="In Title Case: Title of the dialog shown when unsupported extensions have been disabled">
          Unsupported Extensions Disabled
        </message>
      </if>
      <if expr="not use_titlecase">
        <message name="IDS_EXTENSIONS_UNSUPPORTED_DISABLED_TITLE" desc="Title of the dialog shown when unsupported extensions have been disabled">
          Unsupported extensions disabled
        </message>
      </if>
      <message name="IDS_EXTENSIONS_DISABLED_AND_N_MORE" desc="Used for a count of additional items in the IDS_EXTENSIONS_UNSUPPORTED_DISABLED_BODY dialog shown when unsupported 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_UNSUPPORTED_DISABLED_BUTTON" desc="Text of the button on the dialog shown when unsupported 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="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 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>
      <message name="IDS_EXTENSIONS_CORRUPTED_EXTENSION" desc="The warning for the user that an extension may have been tampered with on disk.">
        This extension may have been corrupted.
      </message>
      <message name="IDS_EXTENSIONS_CORRUPTED_EXTENSION_2" desc="The warning for the user that an extension may have been tampered with on disk.">
        This extension may have been corrupted. Try re-installing.
      </message>
      <message name="IDS_EXTENSIONS_CORRUPTED_EXTENSION_3" desc="The warning for the user that an extension may have been tampered with on disk.">
        This extension may have been incorrectly updated. Try re-installing.
      </message>
      <message name="IDS_EXTENSIONS_CORRUPTED_EXTENSION_4" desc="The warning for the user that an extension may have been tampered with on disk.">
        Extension corrupted. Try re-installing.
      </message>
      <message name="IDS_EXTENSIONS_CORRUPTED_EXTENSION_5" desc="The warning for the user that an extension may have been tampered with on disk.">
        This extension may have been corrupted. Please try uninstalling and reinstalling.
      </message>

      <!-- Settings API bubble -->
      <if expr="use_titlecase">
        <message name="IDS_EXTENSIONS_SETTINGS_API_TITLE_HOME_PAGE_BUBBLE" desc="In Title Case: Title of a bubble warning users that an extension has overridden their home page setting">
         Is This the Home Page You Were Expecting?
        </message>
      </if>
      <if expr="not use_titlecase">
        <message name="IDS_EXTENSIONS_SETTINGS_API_TITLE_HOME_PAGE_BUBBLE" desc="Title of a bubble warning users that an extension has overridden their home page setting">
          Is this the home page you were expecting?
        </message>
      </if>
      <if expr="use_titlecase">
        <message name="IDS_EXTENSIONS_SETTINGS_API_TITLE_STARTUP_PAGES_BUBBLE" desc="In Title Case: Title of a bubble warning users that an extension has overridden their startup pages setting">
          Is This the Startup Page You Were Expecting?
        </message>
      </if>
      <if expr="not use_titlecase">
        <message name="IDS_EXTENSIONS_SETTINGS_API_TITLE_STARTUP_PAGES_BUBBLE" desc="Title of a bubble warning users that an extension has overridden their startup pages setting">
          Is this the startup page you were expecting?
        </message>
      </if>
      <if expr="use_titlecase">
        <message name="IDS_EXTENSIONS_SETTINGS_API_TITLE_SEARCH_ENGINE_BUBBLE" desc="In Title Case: Title of a bubble warning users that an extension has overridden their default search engine setting">
          Is This the Search Page You Were Expecting?
        </message>
      </if>
      <if expr="not use_titlecase">
        <message name="IDS_EXTENSIONS_SETTINGS_API_TITLE_SEARCH_ENGINE_BUBBLE" desc="Title of a bubble warning users that an extension has overridden their default search engine setting">
          Is this the search page you were expecting?
        </message>
      </if>
      <if expr="use_titlecase">
        <message name="IDS_EXTENSIONS_NTP_CONTROLLED_TITLE_HOME_PAGE_BUBBLE" desc="In Title Case: Title of a bubble warning users that an extension has overridden their new tab page setting">
         Is This the New Tab Page You Were Expecting?
        </message>
      </if>
      <if expr="not use_titlecase">
        <message name="IDS_EXTENSIONS_NTP_CONTROLLED_TITLE_HOME_PAGE_BUBBLE" desc="Title of a bubble warning users that an extension has overridden their new tab page setting">
          Is this the new tab page you were expecting?
        </message>
      </if>
      <if expr="use_titlecase">
        <message name="IDS_EXTENSIONS_PROXY_CONTROLLED_TITLE_HOME_PAGE_BUBBLE" desc="In Title Case: Title of a bubble warning users that an extension has overridden their proxy setting">
        Your Internet Connection is Being Controlled
        </message>
      </if>
      <if expr="not use_titlecase">
        <message name="IDS_EXTENSIONS_PROXY_CONTROLLED_TITLE_HOME_PAGE_BUBBLE" desc="Title of a bubble warning users that an extension has overridden their proxy setting">
          Your Internet connection is being controlled
        </message>
      </if>

      <message name="IDS_EXTENSIONS_SETTINGS_API_FIRST_LINE_SEARCH_ENGINE" desc="Text displayed as the first line in the Settings API bubble when an extension has changed the search engine.">
        An extension has changed what page is shown when you search from the Omnibox.
      </message>
      <message name="IDS_EXTENSIONS_SETTINGS_API_FIRST_LINE_HOME_PAGE" desc="Text displayed in the Settings API bubble as first line when an extension has changed the home page.">
        An extension has changed what page is shown when you click the Home button.
      </message>

      <message name="IDS_EXTENSIONS_SETTINGS_API_SECOND_LINE_SEARCH_ENGINE" desc="Second line in the Settings API bubble. Only shown if the secondary change by the extension was just the search engine. The triple single quotes are needed to preserve the space before and after the sentence which is needed when the language (Chrome is being translated to) uses space as word separator. Please preserve them, unless the language being translated to does not use space as word separator.">
        ''' It also controls what page is shown when you search from the Omnibox.'''
      </message>
      <message name="IDS_EXTENSIONS_SETTINGS_API_SECOND_LINE_HOME_PAGE" desc="Second line in the Settings API bubble. Only shown if the secondary change by the extension was the just home page. See IDS_EXTENSIONS_SETTINGS_API_SECOND_LINE_SEARCH_ENGINE for reason for triple quotes.">
        ''' It also controls what page is shown when you click the Home button. '''
      </message>
      <message name="IDS_EXTENSIONS_SETTINGS_API_SECOND_LINE_HOME_AND_SEARCH" desc="Second line in the Settings API bubble. Only shown if the secondary change by the extension was both the home page and the search engine. See IDS_EXTENSIONS_SETTINGS_API_SECOND_LINE_SEARCH_ENGINE for reason for triple quotes.">
        ''' It also controls what page is shown when you click the Home button or search from the Omnibox. '''
      </message>

      <message name="IDS_EXTENSIONS_NTP_CONTROLLED_FIRST_LINE" desc="Text displayed as the first line in the NTP bubble when an extension has changed the new tab page.">
        An extension has changed what page is shown when you open a new tab.
      </message>

      <message name="IDS_EXTENSIONS_PROXY_CONTROLLED_FIRST_LINE" desc="Text displayed as the first line in the proxy bubble when an extension has changed the proxy but we are not pointing at it's icon (because it doesn't have one).">
        An extension has taken control of your proxy settings, which means it can change, break, or eavesdrop on anything you do online. If you aren't sure why this change happened, you probably don't want it.
      </message>
      <message name="IDS_EXTENSIONS_PROXY_CONTROLLED_FIRST_LINE_EXTENSION_SPECIFIC" desc="Text displayed as the first line in the proxy bubble when an extension has changed the proxy and we are pointing at that extension's icon.">
        This extension has taken control of your proxy settings, which means it can change, break, or eavesdrop on anything you do online. If you aren't sure why this change happened, you probably don't want it.
      </message>

      <message name="IDS_EXTENSIONS_SETTINGS_API_THIRD_LINE_CONFIRMATION" desc="Third line in the Settings API bubble, always appended after the first (and optional second) line to make one paragraph. See IDS_EXTENSIONS_SETTINGS_API_SECOND_LINE_SEARCH_ENGINE for reason for triple quotes.">
        ''' If you didn't want these changes, you can restore your previous settings.'''
      </message>

      <message name="IDS_EXTENSION_CONTROLLED_RESTORE_SETTINGS" desc="The button in the extension controlled bubbles that reverts the settings changes made by the extension and restores what the user had before.">
        Restore settings
      </message>
      <message name="IDS_EXTENSION_CONTROLLED_KEEP_CHANGES" desc="The button in the extension controlled bubbles that cancels the bubble without action.">
        Keep changes
      </message>

      <!-- chrome://settings-frame/options_settings_app.html for the App Launcher Settings App -->
      <if expr="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_INSTALL_TITLE" desc="Caption for installing an ephemeral app">
        Install app
      </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>
      <message name="IDS_COMPONENTS_STATUS_LABEL" desc="Status label">
        Status
      </message>
      <message name="IDS_COMPONENTS_CHECKING_LABEL" desc="Checking label">
        Checking for status...
      </message>
      <message name="IDS_COMPONENTS_SVC_STATUS_NEW" desc="Service Status">
        New
      </message>
      <message name="IDS_COMPONENTS_SVC_STATUS_CHECKING" desc="Service Status">
        Checking
      </message>
      <message name="IDS_COMPONENTS_SVC_STATUS_UPDATE" desc="Service Status">
        Update
      </message>
      <message name="IDS_COMPONENTS_SVC_STATUS_DNL_DIFF" desc="Service Status">
        Downloading diff
      </message>
      <message name="IDS_COMPONENTS_SVC_STATUS_DNL" desc="Service Status">
        Downloading
      </message>
      <message name="IDS_COMPONENTS_SVC_STATUS_UPDT_DIFF" desc="Service Status">
        Updating diff
      </message>
      <message name="IDS_COMPONENTS_SVC_STATUS_UPDATING" desc="Service Status">
        Updating
      </message>
      <message name="IDS_COMPONENTS_SVC_STATUS_UPDATED" desc="Service Status">
        Updated
      </message>
      <message name="IDS_COMPONENTS_SVC_STATUS_UPTODATE" desc="Service Status">
        Up-to-date
      </message>
      <message name="IDS_COMPONENTS_SVC_STATUS_NOUPDATE" desc="Service Status">
        No update
      </message>
      <message name="IDS_COMPONENTS_UNKNOWN" desc="Service Status">
        Unknown
      </message>
      <message name="IDS_COMPONENTS_EVT_STATUS_STARTED" desc="Service Status">
        Updater started
      </message>
      <message name="IDS_COMPONENTS_EVT_STATUS_SLEEPING" desc="Service Status">
        Updater sleeping
      </message>
      <message name="IDS_COMPONENTS_EVT_STATUS_FOUND" desc="Service Status">
        Update found
      </message>
      <message name="IDS_COMPONENTS_EVT_STATUS_READY" desc="Service Status">
        Update ready
      </message>
      <message name="IDS_COMPONENTS_EVT_STATUS_UPDATED" desc="Service Status">
        Component updated
      </message>
      <message name="IDS_COMPONENTS_EVT_STATUS_NOTUPDATED" desc="Service Status">
        Component not updated
      </message>
      <message name="IDS_COMPONENTS_EVT_STATUS_DOWNLOADING" desc="Service Status">
        Component downloading
      </message>

      <!-- Plugins -->
      <if expr="enable_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>
        <message name="IDS_PLUGINS_BROWSER_PLUGIN" desc="Text that indicates the plugin is a browser plugin.">
          BROWSER PLUGIN
        </message>
      </if>

      <!-- 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 chromeos">
        <message name="IDS_FLAGS_RELAUNCH_BUTTON" desc="Text on a button that relaunches Chrome when clicked. ">
          Relaunch Now
        </message>
      </if>
      <if expr="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_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_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_DEBUG_ALL">
        Debug everything.
      </message>
      <message name="IDS_NACL_DEBUG_MASK_CHOICE_EXCLUDE_UTILS_PNACL">
        Debug everything except secure shell and the PNaCl translator.
      </message>
      <message name="IDS_NACL_DEBUG_MASK_CHOICE_INCLUDE_DEBUG">
        Debug only if manifest URL ends with debug.nmf.
      </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.">
        Enables saving pages as MHTML: a single text file containing HTML and all sub-resources.
      </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>
      <if expr="is_win">
        <message name="IDS_FLAGS_ENABLE_CLOUD_PRINT_XPS_NAME">
          Enable XPS in Google Cloud Print
        </message>
        <message name="IDS_FLAGS_ENABLE_CLOUD_PRINT_XPS_DESCRIPTION">
          XPS enables advanced options for classic printers connected to the Cloud Print with Chrome. Printers must be re-connected after changing this flag.
        </message>
      </if>
      <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_ENABLE_SAVE_PASSWORD_BUBBLE_NAME">
        Enable Save Password Bubble UI
      </message>
      <message name="IDS_FLAGS_ENABLE_SAVE_PASSWORD_BUBBLE_DESCRIPTION">
        Enable experimental bubble-based UI for saving passwords; replaces the existing infobar.
      </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_ENABLE_ACCESSIBILITY_SCRIPT_INJECTION_NAME" desc="Name of the flag to enable script injection for accessibility.">
          Enable Script Injection For Accessibility.
        </message>
        <message name="IDS_FLAGS_ENABLE_ACCESSIBILITY_SCRIPT_INJECTION_DESCRIPTION" desc="Description of the flag to enable script injection for accessibility.">
          Enable script injection instead of native Android accessibility.
        </message>
        <message name="IDS_FLAGS_DISABLE_CAST_NAME" desc="Name of the flag to disable Chromecast support.">
          Disable experimental Chromecast support
        </message>
        <message name="IDS_FLAGS_DISABLE_CAST_DESCRIPTION" desc="Description of the flag to disable Chromecast support.">
          Disable experimental Chromecast support allowing to play and control videos from the Web on Chromecast devices.
        </message>
      </if>
      <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_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_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_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_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_DISABLE_LAYER_SQUASHING_NAME" desc="Name of the 'Disable layer squashing' lab.">
        Disable layer squashing
      </message>
      <message name="IDS_FLAGS_DISABLE_LAYER_SQUASHING_DESCRIPTION" desc="Description of the 'Disable layer squashing' lab.">
        Prevents the automatic combining of composited layers.
      </message>
      <if expr="is_win">
        <message name="IDS_FLAGS_DISABLE_DIRECT_WRITE_NAME" desc="Name of the 'Disable DirectWrite' lab.">
          Disable DirectWrite
        </message>
        <message name="IDS_FLAGS_DISABLE_DIRECT_WRITE_DESCRIPTION" desc="Description of the 'Disable DirectWrite' lab.">
          Disables the use of experimental DirectWrite font rendering system.
        </message>
      </if>
      <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_ENABLE_DISPLAY_LIST_2D_CANVAS_NAME" desc="Name of the 'Enable display list 2D canvas' lab.">
        Enable display list 2D canvas
      </message>
      <message name="IDS_FLAGS_ENABLE_DISPLAY_LIST_2D_CANVAS_DESCRIPTION" desc="Description of the 'Enable display list 2D canvas' lab.">
        Enables the use of display lists to record 2D canvas commands. This allows 2D canvas rasterization to be performed on separate 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_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_USER_CONSENT_FOR_EXTENSION_SCRIPTS_NAME" desc="Name of the 'User consent for extension scripts' lab.">
        User consent for extension scripts
      </message>
      <message name="IDS_FLAGS_USER_CONSENT_FOR_EXTENSION_SCRIPTS_DESCRIPTION" desc="Description of the 'User consent for extension scripts' lab">
        Require user consent for an extension running a script on the page, if the extension requested permission to run on all urls.
      </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>
      <if expr="is_android">
        <message name="IDS_FLAGS_ENABLE_CONTEXTUAL_SEARCH" desc="Title for the flag to enable Contextual Search.">
          Enable Contextual Search.
        </message>
        <message name="IDS_FLAGS_ENABLE_CONTEXTUAL_SEARCH_DESCRIPTION" desc="Description for the flag to enable Contextual Search.">
          Whether or not Contextual Search is enabled.
        </message>
      </if>
      <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>
      <if expr="is_android">
        <message name="IDS_AUTO_LOGIN_FAILED" desc="Message to display when auto-login fails. [CHAR-LIMIT=64]">
          Automatic sign-in failed
        </message>
      </if>
      <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_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_RENDERER_MOJO_CHANNEL_NAME" desc="Name of the flag that enables Mojo channel to renderers.">
        Enable Mojo based IPC channel for renderers
      </message>
      <message name="IDS_FLAGS_ENABLE_RENDERER_MOJO_CHANNEL_DESCRIPTION" desc="Description of the flag that enables Mojo channel to renderers.">
        Enable Mojo based IPC channel  for communication between browser process and renderer processes.
      </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_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_OVERSCROLL_HISTORY_NAVIGATION_SIMPLE_UI" desc="Description for the simple UI for history navigation from horizontal overscroll.">
        Simple
      </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_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_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_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="is_android">
        <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>
      <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_SPDY4_NAME" desc="Title for the flag to enable SPDY/4">
        Enable SPDY/4
      </message>
      <message name="IDS_FLAGS_ENABLE_SPDY4_DESCRIPTION" desc="Description for the flag to enable SPDY/4.">
        Enable SPDY/4, which is the HTTP/2 standard. Currently experimental.
      </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_MEDIA_SOURCE_NAME" desc="Title for the flag to disable the Media Source API.">
        Disable Media Source API.
      </message>
      <message name="IDS_FLAGS_DISABLE_MEDIA_SOURCE_DESCRIPTION" desc="Description for the flag to disable the Media Source API.">
        Disable the 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>
      <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_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>
      <if expr="use_ash">
        <message name="IDS_FLAGS_ASH_ENABLE_TOUCH_VIEW_TESTING_NAME" desc="Title for the flag which can be used to test the TouchView maximizing mode.">
          Enable TouchView maximizing UI for testing
        </message>
        <message name="IDS_FLAGS_ASH_ENABLE_TOUCH_VIEW_TESTING_DESCRIPTION" desc="Description for the flag to enable the TouchView testing mode.">
          Enable Ctrl+Alt+Shift+8 to toggle the TouchView maximizing mode.
        </message>
        <message name="IDS_FLAGS_ENABLE_TOUCH_FEEDBACK_NAME" desc="Title for the flag to enable additional visual feedback for touch.">
          Enable additional touch feedback on UI components.
        </message>
        <message name="IDS_FLAGS_ENABLE_TOUCH_FEEDBACK_DESCRIPTION" desc="Description for the flag to enable additional visual feedback for touch.">
          Certain UI components will display visual feedback upon touch interactions.
        </message>
        <message name="IDS_FLAGS_ASH_DISABLE_TEXT_FILTERING_IN_OVERVIEW_MODE_NAME" desc="Title for the flag to disable window filtering in overview mode by inputing text">
          Disable text filtering in Overview Mode.
        </message>
        <message name="IDS_FLAGS_ASH_DISABLE_TEXT_FILTERING_IN_OVERVIEW_MODE_DESCRIPTION" desc="Description for the flag to disable window filtering in overview mode by inputing text">
          Disables filtering the windows shown in overview mode by entering text.
        </message>
      </if>

      <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_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_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_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_ENABLE_GPU_RASTERIZATION_NAME" desc="Title for the flag to enable GPU rasterization.">
        Enable GPU rasterization.
      </message>
      <message name="IDS_FLAGS_ENABLE_GPU_RASTERIZATION_DESCRIPTION" desc="Description for the flag to enable GPU rasterizer.">
        Use GPU to rasterize web content. Requires impl-side painting.
      </message>
      <message name="IDS_FLAGS_FORCE_GPU_RASTERIZATION" desc="Description of the 'Force GPU rasterization' experiment">
        Force-enabled for all layers
      </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_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>
      <if expr="use_ash">
        <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>
      </if>

      <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_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>
      <if expr="enable_plugins">
        <message name="IDS_FLAGS_ENABLE_PLUGIN_POWER_SAVER_NAME" desc="Name for the Plugin Power Saver feature.">
          Enable Plugin Power Saver.
        </message>
        <message name="IDS_FLAGS_ENABLE_PLUGIN_POWER_SAVER_DESCRIPTION" desc="Description for the Plugin Power Saver feature.">
          Enables experimental power saver mode for peripheral plugin content.
        </message>
      </if>
      <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_VIEWPORT_META_NAME" desc="Name of the flag to turn on viewport meta tag support.">
        Enable viewport meta tag.
      </message>
      <message name="IDS_FLAGS_ENABLE_VIEWPORT_META_DESCRIPTION" desc="Description of the flag to turn on viewport meta tag support.">
        Enables handling of the viewport meta tag to allow pages to set the layout width and user zoom properties.
      </message>
      <message name="IDS_FLAGS_CREDENTIAL_MANAGER_API_NAME" desc="Name for the flag to enable 'navigator.credentials'.">
        Enable the experimental Credential Manager API.
      </message>
      <message name="IDS_FLAGS_CREDENTIAL_MANAGER_API_DESCRIPTION" desc="Description for the flag to enable 'navigator.credentials'.">
        Enables an experimental implementation of the Credential Manager API. No promises that this won't expose all your passwords to every site on the web; don't enable this unless you know what you're doing.
      </message>

      <if expr="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>
      </if>
      <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_CLOUD_BACKUP" desc="Name for the flag to enable cloud backup feature.">
        Enable cloud backup.
      </message>
      <message name="IDS_FLAGS_ENABLE_CLOUD_BACKUP_DESCRIPTION" desc="Description for the flag to enable cloud backup.">
        Allows the user to easily backup content to the cloud.
      </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_DROP_SYNC_CREDENTIAL_NAME" desc="Name of the flag to enable drop sync credential">
        Drop sync credentials from password manager.
      </message>
      <message name="IDS_FLAGS_ENABLE_DROP_SYNC_CREDENTIAL_DESCRIPTION" desc="Description of the flag to enable drop sync credential">
        If enabled, the password manager will not offer to save the credential used to sync.
      </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_ENABLE_AUTOMATIC_PASSWORD_SAVING_NAME" desc="Name of the flag to automatically save password.">
        Save passwords automatically.
      </message>
      <message name="IDS_FLAGS_ENABLE_AUTOMATIC_PASSWORD_SAVING_DESCRIPTION" desc="Description of the flag to automatically save password.">
        Skip the passwords prompt and save passwords automatically.
      </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_PASSWORD_MANAGER_LINK_NAME" desc="Name of the flag to enable showing a link to account central on password settings page">
        Enable remote password management link
      </message>
      <message name="IDS_FLAGS_PASSWORD_MANAGER_LINK_DESCRIPTION" desc="Description of the flag to enable showing a link to account central on password settings page">
        Show a link in the password manager settings page to manage your synced passwords online.
      </message>
      <message name="IDS_FLAGS_AUTOFILL_SYNC_CREDENTIAL_NAME" desc="Name of the flag specifying how the browser will handle autofilling the users sync credential.">
        Autofill sync credential
      </message>
      <message name="IDS_FLAGS_AUTOFILL_SYNC_CREDENTIAL_DESCRIPTION" desc="Description of the flag specifying how the browser will handle autofilling the users sync credential.">
        How the password manager handles autofill for the sync credential.
      </message>
      <message name="IDS_FLAGS_ENABLE_DATA_REDUCTION_PROXY_ALTERNATIVE_NAME" desc="Name of the flag to enable using an alternative version of the data reduction proxy">
        Alternative data reduction proxy
      </message>
      <message name="IDS_FLAGS_ENABLE_DATA_REDUCTION_PROXY_ALTERNATIVE_DESCRIPTION" desc="Description of the flag to enable using an alternative version of the data reduction proxy">
        Use an experimental version of the data reduction proxy. The proxy must be enabled in settings for this flag to take effect.
      </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_STALE_WHILE_REVALIDATE_NAME" desc="Name of the flag to enable the stale-while-revalidate cache directive.">
        Enable the stale-while-revalidate cache directive
      </message>
      <message name="IDS_FLAGS_ENABLE_STALE_WHILE_REVALIDATE_DESCRIPTION" desc="Description for the flag to enable the stale-while-revalidate cache directive.">
        Enable the experimental implementation of the Cache-Control: stale-while-revalidate directive. This permits servers to specify that some resources may be revalidated in the background to improve latency.
      </message>
      <message name="IDS_FLAGS_ENABLE_SUGGESTIONS_SERVICE_NAME" desc="Name of the flag to enable the suggestions service.">
        Enable the Suggestions Service
      </message>
      <message name="IDS_FLAGS_ENABLE_SUGGESTIONS_SERVICE_DESCRIPTION" desc="Description for the flag to enable suggestions service.">
        Enable the experimental Chrome suggestions service.
      </message>
      <message name="IDS_FLAGS_ENABLE_SUPERVISED_USER_BLACKLIST_NAME" desc="Name of the flag to enable the supervised user host blacklist.">
        Enable the supervised user host blacklist
      </message>
      <message name="IDS_FLAGS_ENABLE_SUPERVISED_USER_BLACKLIST_DESCRIPTION" desc="Description for the flag to enable the supervised user host blacklist.">
        Enable the host blacklist for use by supervised users.
      </message>
      <message name="IDS_FLAGS_ENABLE_SUPERVISED_USER_SAFESITES_NAME" desc="Name of the flag to enable the supervised user SafeSites feature.">
        Enable the supervised user SafeSites filter
      </message>
      <message name="IDS_FLAGS_ENABLE_SUPERVISED_USER_SAFESITES_DESCRIPTION" desc="Description for the flag to enable the supervised user SafeSites feature.">
        Enable SafeSites filtering for supervised users.
      </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_SYNC_APP_LIST_NAME" desc="Name of the flag to enable syncing the app list.">
        Enable App Launcher sync
      </message>
      <message name="IDS_FLAGS_ENABLE_SYNC_APP_LIST_DESCRIPTION" desc="Description for the flag to enable syncing the app list.">
        Enable App Launcher sync. This also enables Folders where available (non OSX).
      </message>
      <message name="IDS_FLAGS_ENABLE_MATERIAL_DESIGN_NTP_NAME" desc="Name of the flag to enable the Material Design New Tab Page (NTP).">
        Enable Material Design NTP.
      </message>
      <message name="IDS_FLAGS_ENABLE_MATERIAL_DESIGN_NTP_DESCRIPTION" desc="Description for the flag to enable the Material Design New Tab Page (NTP).">
        Enable the Material Design New Tab Page.
      </message>
      <if expr="is_macosx">
        <message name="IDS_FLAGS_ENABLE_AVFOUNDATION_NAME" desc="Name of the flag to enable Mac AVFoundation.">
          Enable use of Mac OS X AVFoundation APIs, instead of QTKit.
        </message>
        <message name="IDS_FLAGS_ENABLE_AVFOUNDATION_DESCRIPTION" desc="Description of flag to enable Mac AVFoundation.">
          Enable AVFoundation use for video capture and video device monitoring on OS X >= 10.7. QTKit will be used otherwise.
        </message>
      </if>

      <!-- Data Reduction Proxy -->
      <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>
        <message name="IDS_FLAGS_ENABLE_DATA_REDUCTION_PROXY_DEV_NAME" desc="An about::flags experiment title to enable/disable the development version of the data reduction proxy">
          Enable Experiment Data Reduction Proxy
        </message>
        <message name="IDS_FLAGS_ENABLE_DATA_REDUCTION_PROXY_DEV_DESCRIPTION" desc="Describes an about:flags experiment to enable/disable the development version of the data reduction proxy">
         Enable or disable using the development version of the data reduction proxy.
        </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_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_DISTANCE_FIELD_TEXT_NAME" desc="Name of about:flags option for distance field text.">
        Enable distance field text
      </message>
      <message name="IDS_FLAGS_DISTANCE_FIELD_TEXT_DESCRIPTION" desc="Description of about:flags option for distance field text.">
        If enabled, text is rendered with signed distance fields rather than bitmap alpha masks.
      </message>
      <if expr="is_android or is_macosx">
        <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>
      </if>
      <message name="IDS_FLAGS_ONE_COPY_NAME" desc="Name of about:flags option for one-copy rasterizer.">
        Enable one-copy rasterizer
      </message>
      <message name="IDS_FLAGS_ONE_COPY_DESCRIPTION" desc="Description of about:flags option for one-copy rasterizer.">
        If enabled, raster threads write to GPU memory.
      </message>
      <message name="IDS_FLAGS_ZERO_COPY_NAME" desc="Name of about:flags option for zero-copy rasterizer.">
        Enable zero-copy rasterizer
      </message>
      <message name="IDS_FLAGS_ZERO_COPY_DESCRIPTION" desc="Description of about:flags option for zero-copy rasterizer.">
        If enabled, raster threads write directly to GPU memory associated with tiles.
      </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_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_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_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_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_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="enable_app_list">
        <message name="IDS_FLAGS_ENABLE_APP_LIST_NAME" desc="Name of the flag to enable the app launcher.">
          Enable the App Launcher.
        </message>
        <message name="IDS_FLAGS_ENABLE_APP_LIST_DESCRIPTION" desc="Description of the flag to enable app launcher.">
          Enable the App Launcher. Upon enabling, creates operating system shortcuts to the App Launcher.
        </message>
        <message name="IDS_FLAGS_DISABLE_APP_LIST_VOICE_SEARCH" desc="Name of the flag to disable voice search in the app list.">
          Disable voice search in the App Launcher.
        </message>
        <message name="IDS_FLAGS_DISABLE_APP_LIST_VOICE_SEARCH_DESCRIPTION" desc="Description of the flag to disable voice search in the app list.">
          Disable voice search in the App Launcher. If disabled, the user won't be able to search by speech.
        </message>
        <message name="IDS_FLAGS_DISABLE_APP_INFO_IN_APP_LIST" desc="Name of the flag to disable the app info context menu option in the app list.">
          Disable the app info dialog.
        </message>
        <message name="IDS_FLAGS_DISABLE_APP_INFO_IN_APP_LIST_DESCRIPTION" desc="Description of the flag to disable the app info context menu option in the app list.">
          Disable the app info dialog. If not disabled, the user will be able to select the 'App Info' context menu in the App Launcher to show the app info dialog for the selected app.
       </message>
        <message name="IDS_FLAGS_ENABLE_EXPERIMENTAL_APP_LIST_NAME" desc="Name of the flag to enable the experimental app launcher.">
          Enable the experimental App Launcher.
        </message>
        <message name="IDS_FLAGS_ENABLE_EXPERIMENTAL_APP_LIST_DESCRIPTION" desc="Description of the flag to enable the experimental app launcher.">
          Enable the experimental version of the App Launcher.
        </message>
        <message name="IDS_FLAGS_ENABLE_CENTERED_APP_LIST_NAME" desc="Name of the flag to center the app launcher.">
          Center the App Launcher.
        </message>
        <message name="IDS_FLAGS_ENABLE_CENTERED_APP_LIST_DESCRIPTION" desc="Description of the flag to center the app launcher and make it wide instead of tall.">
          Positions the App Launcher in the center of the screen with a landscape aspect.
        </message>
        <message name="IDS_FLAGS_DISABLE_DRIVE_APPS_IN_APP_LIST_NAME" desc="Name of the flag to disable Drive apps in app launcher.">
          Disable Drive apps in App Launcher.
        </message>
        <message name="IDS_FLAGS_DISABLE_DRIVE_APPS_IN_APP_LIST_DESCRIPTION" desc="Description of the flag to disable Drive apps in app launcher.">
          Do not show Drive apps side by side with Chrome apps in App Launcher.
        </message>
      </if>
      <if expr="chromeos">
        <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>
        <message name="IDS_FLAGS_DISABLE_EASY_SIGNIN_NAME" desc="Name of the disable Easy signin flag.">
          Disable Easy sign-in
        </message>
        <message name="IDS_FLAGS_DISABLE_EASY_SIGNIN_DESCRIPTION" desc="Description of the Enable Easy signin flag.">
          Do not use Easy sign-in, which allows you to sign in your Chromebook when in proximity to your phone.
        </message>
      </if>
      <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_LINKABLE_EPHEMERAL_APPS_NAME" desc="Name of the flag to enable linkable ephemeral apps.">
        Enable experimental linkable ephemeral apps.
      </message>
      <message name="IDS_FLAGS_ENABLE_LINKABLE_EPHEMERAL_APPS_DESCRIPTION" desc="Description for the flag to enable linkable ephemeral apps.">
        Enables experimentation with launching ephemeral apps from hyperlinks. For example, links to Chrome Web Store app detail pages in Google search results will launch the app rather than navigate to the detail page.
      </message>
      <message name="IDS_FLAGS_ENABLE_SERVICE_WORKER_SYNC_NAME" desc="Name of the flag to enable ServiceWorker background synchronization.">
        Enable support for ServiceWorker background sync event.
      </message>
      <message name="IDS_FLAGS_ENABLE_SERVICE_WORKER_SYNC_DESCRIPTION" desc="Description for the flag to enable ServiceWorker background synchronization.">
        ServiceWorker background synchronization lets ServiceWorkers send messages and update resources even when the page is in the background.
      </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>
      <if expr="is_macosx">
        <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>
      </if>
      <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.">
        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.">
        Hides the URL in the Omnibox and instead shows the hostname in a clickable chip.
      </message>
      <message name="IDS_FLAGS_ORIGIN_CHIP_ALWAYS" desc="Option in a drop-down menu to enable the display of the origin chip on all pages.">
        Enabled on all pages
      </message>
      <message name="IDS_FLAGS_ORIGIN_CHIP_ON_SRP" desc="Option in a drop-down menu to enable the display of the origin chip on search result pages only.">
        Enabled on search result pages only
      </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>
      <message name="IDS_FLAGS_ENABLE_PERMISSIONS_BUBBLES_NAME" desc="Title for the flag to enable showing permissions requests in bubbles.">
        Use Bubbles for Permission Requests
      </message>
      <message name="IDS_FLAGS_ENABLE_PERMISSIONS_BUBBLES_DESCRIPTION" desc="Description for the flag to enable showing permissions requests in bubbles.">
        Show content permission requests (e.g. notifications, quota, camera use, microphone use) in bubbles instead of info bars.
      </message>
      <message name="IDS_FLAGS_OUT_OF_PROCESS_PDF_NAME" desc="Title for the flag to enable out of process PDF.">
        Enable out of process PDF.
      </message>
      <message name="IDS_FLAGS_OUT_OF_PROCESS_PDF_DESCRIPTION" desc="Description for the flag to enable out of process PDF.">
        Enable the out of process PDF plugin.
      </message>
      <message name="IDS_FLAGS_TOUCH_SCROLLING_MODE_NAME" desc="Title for the flag to change the touch scrolling mode.">
        Touch scrolling mode.
      </message>
      <message name="IDS_FLAGS_TOUCH_SCROLLING_MODE_DESCRIPTION" desc="Description for the flag to control touch scrolling mode.">
        Change the touch event behavior while scrolling.  "touchcancel" is what Chrome has historically used, and "async-touchmove" is the new preferred mode.
      </message>
      <message name="IDS_FLAGS_TOUCH_SCROLLING_MODE_TOUCHCANCEL" desc="Name for the touchcancel scrolling mode">
        touchcancel
      </message>
      <message name="IDS_FLAGS_TOUCH_SCROLLING_MODE_ASYNC_TOUCHMOVE" desc="Name for the async-touchmove scrolling mode">
        async-touchmove
      </message>
      <message name="IDS_FLAGS_TOUCH_SCROLLING_MODE_SYNC_TOUCHMOVE" desc="Name for the sync-touchmove scrolling mode">
        sync-touchmove
      </message>
      <message name="IDS_FLAGS_DISABLE_THREADED_SCROLLING_NAME" desc="Title for the flag to disable threaded scrolling.">
        Disable threaded scrolling.
      </message>
      <message name="IDS_FLAGS_DISABLE_THREADED_SCROLLING_DESCRIPTION" desc="Description for the flag to disable threaded scrolling.">
        Disabled threaded handling of scroll-related input events, forcing all such scroll events to be handled on the main thread. Note that this can dramatically hurt scrolling performance of most websites and is intended for testing purposes only.
      </message>
      <message name="IDS_FLAGS_DISABLE_EXTENSION_INFO_DIALOG_NAME" desc="Name of the flag to disable the Extensions Info dialog on the chrome://extensions page.">
        Disable the Extensions Info dialog.
      </message>
      <message name="IDS_FLAGS_DISABLE_EXTENSION_INFO_DIALOG_DESCRIPTION" desc="Description for the flag to disable the Extensions Info dialog on the chrome://extensions page.">
        Disables the Extensions Info dialog from being launched from the chrome://extensions page (reverts to the old-style dialog).
      </message>
      <message name="IDS_FLAGS_BLEEDING_RENDERER_NAME" desc="Name of the 'Stacked Tabs' lab.">
        Bleeding Edge Renderer Paths - LIKELY TO CRASH YOUR BROWSER
      </message>
      <message name="IDS_FLAGS_BLEEDING_RENDERER_DESCRIPTION" desc="Description of the 'Bleeding edge' lab.">
        Use bleeding-edge code to make Chrome draw content faster. The changes
        behind this path are very likely to break lots of content.
      </message>
      <message name="IDS_FLAGS_ENABLE_APPS_FILE_ASSOCIATIONS_NAME" desc="Name for file associations for Chrome Apps.">
        Apps file associations.
      </message>
      <message name="IDS_FLAGS_ENABLE_APPS_FILE_ASSOCIATIONS_DESCRIPTION" desc="Description for a flag to enable file associations for Chrome Apps.">
        Enable OS integration of file associations for Chrome Apps.
      </message>
      <message name="IDS_FLAGS_TEXT_INPUT_FOCUS_MANAGER_NAME" desc="Title for the flag to enable the new text input focus manager.">
        Experimental text input focus manager.
      </message>
      <message name="IDS_FLAGS_TEXT_INPUT_FOCUS_MANAGER_DESCRIPTION" desc="Description for the flag to enable the new text input focus manager.">
        Enable an experimental focus manager to track text input clients.
      </message>
      <message name="IDS_FLAGS_HARFBUZZ_RENDERTEXT_NAME" desc="Name of the about:flags HarfBuzz RenderText experiment.">
        HarfBuzz for UI text.
      </message>
      <message name="IDS_FLAGS_HARFBUZZ_RENDERTEXT_DESCRIPTION" desc="Description of the about:flags HarfBuzz RenderText experiment.">
        Cross-platform HarfBuzz engine for UI text. Doesn't affect web content.
      </message>
      <if expr="is_android">
        <message name="IDS_FLAGS_ENABLE_ANSWERS_IN_SUGGEST_NAME" desc="Name of the about:flags Answers in Suggest experiment.">
          Answers in Suggest
        </message>
        <message name="IDS_FLAGS_ENABLE_ANSWERS_IN_SUGGEST_DESCRIPTION" desc="Description of the about:flags Answers in Suggest experiment.">
         If enabled, responses to certain types of queries will appear directly in the Omnibox suggestion list.
        </message>
      </if>
      <message name="IDS_FLAGS_ENABLE_EMBEDDED_EXTENSION_OPTIONS_NAME" desc="Name of the flag that enables embedding extension options in chrome://extensions.">
        Enable embedded extension options.
      </message>
      <message name="IDS_FLAGS_ENABLE_EMBEDDED_EXTENSION_OPTIONS_DESCRIPTION" desc="Description of the flag that enables embedding extension options in chrome://extensions.">
        Display extension options as an embedded element in chrome://extensions rather than opening a new tab.
      </message>
      <message name="IDS_FLAGS_ENABLE_EXTENSION_ACTION_REDESIGN_NAME" desc="Name of the flag to enable the extension toolbar redesign">
        Enable extension toolbar redesign.
      </message>
      <message name="IDS_FLAGS_ENABLE_EXTENSION_ACTION_REDESIGN_DESCRIPTION" desc="Description for the flag to enable the extension toolbar redesign">
        Enables the (in development) new extension toolbar toolbar design.
      </message>
      <message name="IDS_FLAGS_ENABLE_WEBSITE_SETTINGS_NAME" desc="Name of the flag that enables the website settings manager in chrome://settings.">
        Enables the website settings manager.
      </message>
      <message name="IDS_FLAGS_ENABLE_WEBSITE_SETTINGS_DESCRIPTION" desc="Description of the flag that enables the website settings manager in chrome://settings.">
        Enables the website settings manager on the settings page.
      </message>
      <message name="IDS_FLAGS_ENABLE_TAB_AUDIO_MUTING_NAME" desc="Name of the flag that enables the tab audio muting UI experiment in chrome://extensions.">
        Enable tab audio muting UI control.
      </message>
      <message name="IDS_FLAGS_ENABLE_TAB_AUDIO_MUTING_DESCRIPTION" desc="Description of the flag that enables the tab audio muting UI experiment in chrome://extensions.">
        When enabled, the audio indicators in the tab strip double as tab audio mute controls.  This also adds commands in the tab context menu for quickly muting multiple selected tabs.
      </message>
      <message name="IDS_FLAGS_ENABLE_EASY_UNLOCK_PROXIMITY_DETECTION_NAME" desc="Title for the flag to enable Smart Lock to require close proximity between the phone and the Chromebook in order to unlock the Chromebook.">
        Enable Smart Lock proximity detection.
      </message>
      <message name="IDS_FLAGS_ENABLE_EASY_UNLOCK_PROXIMITY_DETECTION_DESCRIPTION" desc="Description for the flag that enables Smart Lock to require close proximity between the phone and the Chromebook in order to unlock the Chromebook.">
        Enables a Smart Lock setting that restricts unlocking to only work when your phone is very close to (roughly, within an arm's length of) the Chrome device.
      </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> (<ph name="CRASH_LOCAL_ID">$2<ex>Chrome</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>
      <message name="IDS_CRASHES_UPLOAD_MESSAGE" desc="Link text for triggering crash uploading on chrome://crashes">
        Start uploading crashes
      </message>

      <!-- WebRTC logs -->
      <message name="IDS_WEBRTC_LOGS_TITLE" desc="Title for the chrome://webrtc-logs page.">
        WebRTC logs
      </message>
      <message name="IDS_WEBRTC_LOGS_LOG_COUNT_BANNER_FORMAT" desc="Format for WebRTC log count banner on chrome://webrtc-logs">
        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 captured <ph name="WEBRTC_LOG_CAPTURE_TIME">$1<ex>Tuesday, January 25, 2011 2:58:02 PM</ex></ph>
      </message>
      <message name="IDS_WEBRTC_LOGS_LOG_LOCAL_FILE_LABEL_FORMAT" desc="Format for local log entry label on chrome://webrtc-logs">
        Local file:
      </message>
      <message name="IDS_WEBRTC_LOGS_LOG_LOCAL_FILE_FORMAT" desc="Format for file in local log entry on chrome://webrtc-logs">
        <ph name="WEBRTC_LOG_LOCAL_FILE">$1<ex>/path/to/file</ex></ph>
      </message>
      <message name="IDS_WEBRTC_LOGS_NO_LOCAL_LOG_FILE_MESSAGE" desc="The explanatory message for chrome://webrtc-logs when there is no local log file">
        No local log file.
      </message>
      <message name="IDS_WEBRTC_LOGS_LOG_UPLOAD_TIME_FORMAT" desc="Format for uploaded log entry upload time on chrome://webrtc-logs">
        Uploaded <ph name="WEBRTC_LOG_UPLOAD_TIME">$1<ex>Tuesday, January 25, 2011 2:58:02 PM</ex></ph>
      </message>
      <message name="IDS_WEBRTC_LOGS_LOG_REPORT_ID_FORMAT" desc="Format for uploaded log entry report ID on chrome://webrtc-logs">
        Report ID <ph name="WEBRTC_LOG_REPORT_ID">$1<ex>8fa95dbb6f2ec862</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_LOG_NOT_UPLOADED_MESSAGE" desc="The explanatory message for chrome://webrtc-logs when the log has not been uploaded">
        Log not uploaded.
      </message>
      <message name="IDS_WEBRTC_LOGS_NO_LOGS_MESSAGE" desc="The explanatory message for chrome://webrtc-logs when there are no captured logs">
        You have no recently captured 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>
      <message name="IDS_HOTWORD_SEARCH_PREF_CHKBOX" desc="A checkbox on the Settings page to allow audio capture devices to initiate searches.">
        Enable "Ok Google" to start a voice search
      </message>
      <message name="IDS_HOTWORD_SEARCH_NO_DSP_DESCRIPTION" desc="Description of the hotword search preference for devices with no DSP.">
        Say "Ok Google" in a new tab, google.com, and the App Launcher
      </message>
      <message name="IDS_HOTWORD_SEARCH_ALWAYS_ON_DESCRIPTION" desc="Description of the hotword-always-on search preference.">
        Say "Ok Google" when the screen is on and unlocked.
      </message>
      <message name="IDS_HOTWORD_RETRAIN_LINK" desc="Link to retrain the hotword voice model.">
        Retrain voice model
      </message>
      <message name="IDS_HOTWORD_SEARCH_PREF_DESCRIPTION" desc="Description of the hotword search preference">
        When you say "Ok Google," Chrome will search for what you say next.
      </message>
      <message name="IDS_HOTWORD_AUDIO_HISTORY_PREF_CHKBOX" desc="A checkbox on the Settings page that allows for sending audio of 'Ok, Google' plus a few seconds before back to Google to improve voice search.">
        Enable audio history
      </message>
      <message name="IDS_HOTWORD_CONFIRM_BUBBLE_TITLE" desc="The title text for the bubble to enable the hotword voice search trigger.">
        Ok Google
      </message>
      <message name="IDS_HOTWORD_CONFIRM_BUBBLE_ENABLE" desc="The button text that allows the hotword voice search trigger.">
        OK
      </message>
      <message name="IDS_HOTWORD_CONFIRM_BUBBLE_DISABLE" desc="The button text that disallows the hotword voice search trigger.">
        Cancel
      </message>
      <message name="IDS_HOTWORD_GENERIC_ERROR_MESSAGE" desc="The default error message text when no additional details are known.">
        This feature is temporarily unavailable. <ph name="BEGIN_LINK">&lt;a target="_blank" href="$1"&gt;</ph>Help<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>
      </message>
      <message name="IDS_HOTWORD_NACL_DISABLED_ERROR_MESSAGE" desc="The error message text when hotwording fails because NaCl is disabled.">
        <ph name="BEGIN_LINK">&lt;a target="_blank" href="chrome://plugins"&gt;</ph>Native Client plug-in<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph> needs to be enabled to use this feature.
      </message>
      <message name="IDS_HOTWORD_MICROPHONE_ERROR_MESSAGE" desc="The error message text when hotwording fails because the microphone isn't working.">
        Microphone is currently unavailable. <ph name="BEGIN_LINK">&lt;a target="_blank" href="chrome://settings/content#media-stream-settings"&gt;</ph>Manage microphone<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>
      </message>
      <message name="IDS_HOTWORD_AUDIO_LOGGING_ENABLE" desc="A checkbox in the hotword confirm dialog that allows for sending audio of 'Ok, Google' plus a few seconds before back to Google to improve voice search.">
        Improve voice search by sending the sound of "Ok Google," and a few seconds before, to Google.
      </message>
      <message name="IDS_HOTWORD_HELP_LINK" desc="Text that provides a link to the help center troubleshooting page.">
        <ph name="BEGIN_LINK">&lt;a target="_blank" href="$1"&gt;</ph>Help<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>
      </message>

      <if expr="is_win">
        <!-- 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_SEPARATOR" 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">
          https://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="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 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> <!-- is_win -->

      <!-- 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>
      <if expr="is_macosx">
        <message name="IDS_PLUGIN_BLOCKED" desc="The placeholder text for a blocked plug-in.">
          Control-click to play <ph name="PLUGIN_NAME">$1<ex>Flash</ex></ph>.
        </message>
      </if>
      <if expr="not is_macosx">
        <message name="IDS_PLUGIN_BLOCKED" desc="The placeholder text for a blocked plug-in.">
          Right-click to play <ph name="PLUGIN_NAME">$1<ex>Flash</ex></ph>.
        </message>
      </if>
      <if expr="chromeos">
        <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>
      </if>
      <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/Bubble-->
      <message name="IDS_SESSION_CRASHED_VIEW_RESTORE_BUTTON" desc="Title of the restore button in the session crashed view.">
        Restore
      </message>
      <message name="IDS_SESSION_CRASHED_BUBBLE_TITLE" desc="Title of the session crashed bubble view.">
        Restore pages?
      </message>
      <message name="IDS_SESSION_CRASHED_BUBBLE_UMA_LINK_TEXT" desc="The text attached to the link that explains UMA optin option">
        usage statistics
      </message>
      <message name="IDS_FLAGS_ENABLE_SESSION_CRASHED_BUBBLE_NAME" desc="Title for the flag to enable showing session restore request in bubbles.">
        Enable session restore bubble UI.
      </message>
      <message name="IDS_FLAGS_ENABLE_SESSION_CRASHED_BUBBLE_DESCRIPTION" desc="Description for the flag to enable showing session restore request in bubbles.">
        If enabled, the session restore UI will be shown in a bubble instead of an info bar.
      </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 is trying to load scripts from unauthenticated sources.
      </message>
      <if expr="use_titlecase">
        <message name="IDS_ALLOW_INSECURE_CONTENT_BUTTON" desc="Button to allow insecure content to be displayed">
          Load unsafe scripts
        </message>
      </if>
      <if expr="not use_titlecase">
        <message name="IDS_ALLOW_INSECURE_CONTENT_BUTTON" desc="Button to allow insecure content to be displayed">
          Load unsafe scripts
        </message>
      </if>
      <if expr="not is_android and 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 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>

      <!-- about:system strings -->
      <if expr="not is_android">
        <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>
      </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_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_REVISION" desc="label for the revision on the about:version page">
        Revision
      </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>
      <if expr="chromeos">
        <message name="IDS_ABOUT_VERSION_BUILD_DATE" desc="label for build date on the about:version page">
          Build Date
        </message>
      </if>
      <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>
      <if expr="is_android">
        <message name="IDS_ABOUT_VERSION_BUILD_ID" desc="label for the build identifier on the about:version page">
          Build ID
        </message>
      </if>

      <!-- chrome://voicesearch strings -->
      <message name="IDS_VOICESEARCH_LOADING_MESSAGE" desc="Shown while loading until full list of modules is retrieved">
        Loading...
      </message>
      <message name="IDS_VOICESEARCH_TITLE_MESSAGE" desc="Shown while loading until full list of modules is retrieved">
        About Voice Search
      </message>

      <!-- About box strings -->
      <if expr="is_win">
        <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>
      </if>

      <!-- Omnibox -->
      <if expr="not 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="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_WITH_DEFAULT_SEARCH_PROVIDER" desc="The text displayed in the omnibox when it is empty, which includes the name of the default search provider.">
        Search <ph name="ENGINE">$1<ex>Google</ex></ph> or type URL
      </message>
      <message name="IDS_OMNIBOX_EMPTY_HINT_NO_DEFAULT_SEARCH_PROVIDER" desc="The text displayed in the omnibox when it is empty, if the default search provider cannot be determined.">
        Type URL
      </message>
      <if expr="is_ios">
        <message name="IDS_OMNIBOX_EMPTY_HINT" desc="The text displayed in the omnibox when it is empty.">
          Search or type URL
        </message>
      </if>

      <!--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>
      <if expr="is_macosx">
        <message name="IDS_TOOLTIP_CLOSE_TAB" desc="The tooltip for the close tab button">
          Close
        </message>
      </if>
      <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 the zoom bubble">
        Zoom: <ph name="VALUE">$1<ex>100</ex></ph>%
      </message>
      <message name="IDS_TOOLTIP_ZOOM_EXTENSION_ICON" desc="The tooltip for the extension icon in the zoom bubble">
        This page was zoomed by the "<ph name="NAME">$1<ex>Google Cast</ex></ph>" extension
      </message>
      <if expr="not 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="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="is_macosx">
        <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>

      <!--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_FULLSCREEN" desc="The accessible name of the fullscreen button in the new merged menu">
        Full screen
      </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_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>
      <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 -->
      <if expr="is_win">
        <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>
      </if>
      <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_UNBLACKLIST_BUTTON" desc="Buton text to re-enable the password manager after blacklisting.">
          Undo
        </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">
          Nope
        </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>
        <message name="IDS_PASSWORD_MANAGER_EMPTY_LOGIN" desc="A placeholder for the 'Manage Passwords' bubble's empty username label">
          (No username)
        </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>

      <!-- Android uses custom UI for Bookmark importing -->
      <if expr="not is_android">
        <!-- 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>
        <if expr="is_win">
          <message name="IDS_IMPORT_FROM_IE" desc="browser combo box: Microsoft Internet Explorer">
            Microsoft Internet Explorer
          </message>
        </if>
        <message name="IDS_IMPORT_FROM_FIREFOX" desc="browser combo box: Mozilla Firefox">
          Mozilla Firefox
        </message>
        <!-- TODO(thestig) Should this be Linux only? Add #ifdefs to external_process_importer_client.cc -->
        <message name="IDS_IMPORT_FROM_ICEWEASEL" desc="browser combo box: Iceweasel">
          Iceweasel
        </message>
        <!-- TODO(thestig) Should this be Mac or Win+Mac only? -->
        <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_AUTOFILL_FORM_DATA_CHKBOX" desc="Checkbox for importing form data for autofill">
          Autofill form data
        </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_IMPORT_NO_PROFILE_FOUND" desc="Message displayed when we do not find any supported browser to import from.">
          No supported browser found
        </message>
        <if expr="is_macosx">
          <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>
        </if>

        <!-- Import progress popup -->
        <if expr="is_macosx">
          <message name="IDS_IMPORT_PROGRESS_TITLE" desc="Title for the importing progress dialog">
            Importing
          </message>
          <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_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>
        </if> <!-- is_macosx -->
      </if> <!-- not is_android -->

      <if expr="is_macosx">
        <!-- 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>

        <!-- Show/Hide notifications menubar extra -->
        <message name="IDS_HIDE_NOTIFICATION_CENTER_OPTION" desc="The label of the checkbox preference that disables the notification center feature.">
          Hide Notifications Icon
        </message>
      </if>

      <!-- 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>

      <if expr="enable_extensions">
        <!-- 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>
        <if expr="not chromeos">
          <message name="IDS_FEEDBACK_INCLUDE_SYSTEM_INFORMATION_CHKBOX" desc="Checkbox for including system information 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>
          </message>
        </if>
        <if expr="chromeos">
          <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>
        </if>
        <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>
      </if>

      <!-- 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>

      <!-- Supervised User Avatar Menu -->
      <message name="IDS_SUPERVISED_USER_INFO" desc="Text which explains that a supervised user is managed by a custodian.">
        Usage and history 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_SUPERVISED_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>
      <message name="IDS_SUPERVISED_USER_NEW_AVATAR_LABEL" desc="Label shown in the new avatar menu for a supervised user.">
        <ph name="PROFILE_DISPLAY_NAME">$1<ex>Markus</ex></ph> (Supervised)
      </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 you quit your 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 your 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 when a site requires access to your 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 your 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 when a site requires access to your 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 your 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 when a site requires access to your 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_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 Chrome OS users do not close their browser. Mac users quit it and Chrome OS users log out. -->
      <if expr="not is_macosx and not 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 you close your 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 you close your 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 you quit your 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 you quit your browser
        </message>
      </if>
      <if expr="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 you 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 you 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>
      <if expr="is_android">
        <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>
      </if>
      <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 gating plug-ins on a mouse click (left button).">
        Click to play
      </message>
      <message name="IDS_PLUGIN_ASK_MENU_RADIO" desc="A radio button in the Content Settings dialog for gating plug-ins on a context menu activation.">
        Block by default (You can manually run a blocked plug-in at any time.)
      </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 your 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 when a site tries to track your 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 your 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_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 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_ZOOM_HEADER" desc="A column header for the exceptions dialog indicating the zoom level of pages (e.g. 110% magnification)">
        Zoom
      </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 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="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_HEADER" desc="Label for PPAPI broker tab exception management page on Content Settings dialog">
        Unsandboxed plug-in access exceptions
      </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 your 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 your 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 when a site wants to use a plug-in to access your 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>

      <message name="IDS_ZOOMLEVELS_HEADER_AND_TAB_LABEL" desc="Label for Zoom Level tab and a header the on Content Settings dialog (zoom levels indicate that a page should be shown for example at 110% magnification).">
        Zoom Levels
      </message>
      <message name="IDS_ZOOMLEVELS_CHROME_ERROR_PAGES_LABEL" desc="Label for zoom level list entry for Chrome error pages.">
        (Chrome error pages)
      </message>
      <message name="IDS_ZOOMLEVELS_MANAGE_BUTTON" desc="Button on the Content Settings dialog that opens a dialog to manage your page zoom levels (zoom levels indicate that a page should be shown for example at 110% magnification).">
        Manage...
      </message>

      <message name="IDS_WEBSITE_SETTINGS_TITLE" desc="Title for Website Settings dialog.">
        Manage sites
      </message>
      <message name="IDS_WEBSITE_SETTINGS_EDIT_TITLE" desc="Title for Website Settings site edit dialog.">
        Site settings
      </message>
      <message name="IDS_WEBSITE_SETTINGS_COOKIES_DESCRIPTION" desc="Label for granting cookies permission on the Website Settings single site view dialog.">
        Stores data
      </message>
      <message name="IDS_WEBSITE_SETTINGS_DOWNLOAD_DESCRIPTION" desc="Label for granting multiple automatic downloads permission on the Website Settings single site view dialog.">
        Automatic downloads
      </message>
      <message name="IDS_WEBSITE_SETTINGS_JAVASCRIPT_DESCRIPTION" desc="Label for granting scripts permission on the Website Settings single site view dialog.">
        Runs scripts
      </message>
      <message name="IDS_WEBSITE_SETTINGS_IMAGES_DESCRIPTION" desc="Label for granting images permission on the Website Settings single site view dialog.">
        Displays images
      </message>
      <message name="IDS_WEBSITE_SETTINGS_LOCATION_DESCRIPTION" desc="Label for granting geolocation permission on the Website Settings single site view dialog.">
        Knows device location
      </message>
      <message name="IDS_WEBSITE_SETTINGS_MANAGE" desc="The label on the button that launches the Websites Settings dialog.">
        Manage...
      </message>
      <message name="IDS_WEBSITE_SETTINGS_MEDIASTREAM_DESCRIPTION" desc="Label for granting mediastream permission on the Website Settings single site view dialog.">
        Uses camera and microphone
      </message>
      <message name="IDS_WEBSITE_SETTINGS_NOTIFICATIONS_DESCRIPTION" desc="Label for granting notifications permission on the Website Settings single site view dialog.">
        Shows notifications
      </message>
      <message name="IDS_WEBSITE_SETTINGS_PLUGINS_DESCRIPTION" desc="Label for granting plugins permission on the Website Settings single site view dialog.">
        Uses plugins
      </message>
      <message name="IDS_WEBSITE_SETTINGS_POPUPS_DESCRIPTION" desc="Label for granting popup permission on the Website Settings single site view dialog.">
        Displays popups
      </message>
      <message name="IDS_WEBSITE_SETTINGS_SEARCH_ORIGINS" desc="Placeholder text shown in the search box in the Website Settings dialog.">
        Search sites
      </message>
      <message name="IDS_WEBSITE_SETTINGS_STORAGE_USED" desc="The status text for how much local storage a website origin is using.">
        <ph name="USAGE">$1<ex>2.0 KB</ex></ph> stored data
      </message>
      <message name="IDS_WEBSITE_SETTINGS_BATTERY_USED" desc="The status text for how much power a website origin is using.">
        <ph name="USAGE">$1<ex>16</ex></ph>% of battery
      </message>
      <message name="IDS_WEBSITE_SETTINGS_STORAGE_CLEAR_BUTTON" desc="The 'Clear' button in the Website Settings single site view dialog.">
        Clear
      </message>
      <message name="IDS_WEBSITE_SETTINGS_BATTERY_STOP_BUTTON" desc="The 'Stop' button in the Website Settings single site view dialog.">
        Stop
      </message>
      <message name="IDS_WEBSITE_SETTINGS_BATTERY_PERCENT" desc="The percent from 1 to 100 of battery consumption from a given origin or app on the Website Settings dialog.">
        <ph name="VALUE">$1<ex>100</ex></ph>%
      </message>
      <message name="IDS_WEBSITE_SETTINGS_BATTERY_ZERO_PERCENT" desc="The percent shown when less than 1% of battery was consumed from a given origin or app on the Website Settings dialog.">
        &lt;1%
      </message>
      <message name="IDS_WEBSITE_SETTINGS_ALLOWED_LIST_TITLE" desc="Label above the list of allowed origins for a given permission on the Website Settings dialog.">
        Allowed
      </message>
      <message name="IDS_WEBSITE_SETTINGS_BLOCKED_LIST_TITLE" desc="Label above the list of blocked origins for a given permission on the Website Settings dialog.">
        Blocked
      </message>
      <message name="IDS_WEBSITE_SETTINGS_CONTENT_SETTING_ENABLED" desc="Label next to the checkbox that enables/disables a content setting.">
        On
      </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>
      <if expr="is_win or is_macosx">
        <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>
      </if>
      <if expr="is_win or chromeos">
        <message name="IDS_UPGRADE_DISABLED_BY_POLICY" desc="Status label: Upgrades disabled by policy">
          Updates are disabled by the administrator
        </message>
      </if>
      <if expr="is_win">
        <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>
      </if>
      <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="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 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>

      <!-- SRT bubble messages -->
      <message name="IDS_SRT_BUBBLE_DOWNLOAD_BUTTON_TEXT" desc="Download button of the software removal tool bubble">
        Get the Software Removal Tool
      </message>

      <!-- Upgrade bubble messages -->
      <message name="IDS_REENABLE_UPDATES" desc="Text for the button the user clicks to re-enable automatic updates.">
        Enable autoupdate
      </message>
      <message name="IDS_LATER" desc="Text for the button the user clicks to be reminded of reinstalling the app later.">
        Later
      </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_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_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 -->
      <if expr="enable_printing">
        <message name="IDS_PRINT_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>
      </if>
      <if expr="enable_print_preview">
        <message name="IDS_PRINT_PREVIEW_TITLE" desc="Fallback title for print preview page.">
          Print
        </message>
        <if expr="chromeos">
          <message name="IDS_PRINT_PREVIEW_GOOGLE_CLOUD_PRINT_TITLE" desc="Fallback title for print preview page on Chrome OS.">
            Google Cloud Print
          </message>
        </if>
        <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_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_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>
        <if expr="not chromeos">
          <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>
        </if>
        <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 graphics
        </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_MEDIA_SIZE_LABEL" desc="Media size option label. Provides user the option to change the size of the printed page.">
          Paper size
        </message>
        <message name="IDS_PRINT_PREVIEW_DPI_LABEL" desc="Print quality option label. Provides user the option to select one of the print quality options defined for the printer.">
          Quality
        </message>
        <message name="IDS_PRINT_PREVIEW_NON_ISOTROPIC_DPI_ITEM_LABEL" desc="Print quality option value text in case horizontal and vertical DPI values differ.">
          <ph name="HORIZONTAL_DPI">$1<ex>200</ex></ph>x<ph name="VERTICAL_DPI">$2<ex>100</ex></ph> dpi
        </message>
        <message name="IDS_PRINT_PREVIEW_DPI_ITEM_LABEL" desc="Print quality option value text.">
          <ph name="DPI">$1<ex>300</ex></ph> dpi
        </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_ACCOUNT_SELECT_TITLE" desc="Title of the user's account selection control, to choose the account destinations are being shown for.">
          Showing destinations for
        </message>
        <message name="IDS_PRINT_PREVIEW_ADD_ACCOUNT_TITLE" desc="Title of the selection control item to let user to sign into another account.">
          Add account...
        </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 set up cloud printers.">
          Set up to add printers…
        </message>
        <message name="IDS_PRINT_PREVIEW_CHANGE_DESTINATION" desc="Label on button to change print destination." meaning="Label text">
          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_MORE_OPTIONS_LABEL" desc="Label of the toggle element to switch between showing more or less printing options in the Print Preview.">
          More settings
        </message>
        <message name="IDS_LESS_OPTIONS_LABEL" desc="Label of the toggle element to switch between showing more or less printing options in the Print Preview.">
          Fewer settings
        </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>
        <message name="IDS_PRINT_PREVIEW_ADVANCED_SETTINGS_SEARCH_BOX_PLACEHOLDER" desc="Text to put in a advanced settings search box when user has not entered a search query.">
          Search settings
        </message>
        <message name="IDS_PRINT_PREVIEW_ADVANCED_SETTINGS_DIALOG_TITLE" desc="Title of the advanced printer settings selection dialog.">
          Advanced settings for <ph name="PRINTING_DESTINATION">$1<ex>Office printer</ex></ph>
        </message>
        <message name="IDS_PRINT_PREVIEW_NO_ADVANCED_SETTINGS_MATCH_SEARCH_HINT" desc="Message to display in the printer advanced settings dialog when no settings match search string entered by the user.">
          No matches were found.
        </message>
        <message name="IDS_PRINT_PREVIEW_ADVANCED_SETTINGS_DIALOG_CONFIRM" desc="In title case: The text for the accept button on the printer advanced settings dialog.">
          Apply
        </message>
        <message name="IDS_PRINT_PREVIEW_ADVANCED_OPTIONS_LABEL" desc="Printer advanced options section label.">
          Advanced
        </message>
        <message name="IDS_PRINT_PREVIEW_SHOW_ADVANCED_OPTIONS" desc="The text for the button to open the printer's advanced settings dialog.">
          Change printer options...
        </message>
        <message name="IDS_PRINT_PREVIEW_ACCEPT_INVITE" desc="Text for the button to accept the printer-sharing invitation.">
          Accept
        </message>
        <message name="IDS_PRINT_PREVIEW_ACCEPT_GROUP_INVITE" desc="Text for the button to accept the printer-sharing invitation for the group of users.">
          Accept for group
        </message>
        <message name="IDS_PRINT_PREVIEW_REJECT_INVITE" desc="Text for the button to reject the printer-sharing invitation.">
          Reject
        </message>
        <message name="IDS_PRINT_PREVIEW_GROUP_INVITE_TEXT" desc="Message to show when the user has pending printer-sharing invitation for the group of users he is a manager of.">
          &lt;strong&gt;<ph name="SENDER">$1</ph>&lt;/strong&gt; wants to share a printer &lt;strong&gt;<ph name="PRINTER_NAME">$2</ph>&lt;/strong&gt; with a group you own: &lt;strong&gt;<ph name="GROUP_NAME">$3</ph>&lt;/strong&gt;. If you accept, all group members will be able to print to the printer.
        </message>
        <message name="IDS_PRINT_PREVIEW_INVITE_TEXT" desc="Message to show when the user has pending printer-sharing invitation.">
          &lt;strong&gt;<ph name="SENDER">$1</ph>&lt;/strong&gt; wants to share a printer &lt;strong&gt;<ph name="PRINTER_NAME">$2</ph>&lt;/strong&gt; with you.
        </message>
      </if>

      <!-- 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_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 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_AUDIO_MUTE_TAB" desc="The label of the tab context menu item for muting a single tab.">
          Mute tab
        </message>
        <message name="IDS_TAB_CXMENU_AUDIO_MUTE_TABS" desc="The label of the tab context menu item for muting more than one tab.">
          Mute tabs
        </message>
        <message name="IDS_TAB_CXMENU_AUDIO_UNMUTE_TAB" desc="The label of the tab context menu item for unmuting a single tab.">
          Unmute tab
        </message>
        <message name="IDS_TAB_CXMENU_AUDIO_UNMUTE_TABS" desc="The label of the tab context menu item for unmuting more than one tab.">
          Unmute 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>
      </if>
      <if expr="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_AUDIO_MUTE_TAB" desc="In Title Case: The label of the tab context menu item for muting a single tab.">
          Mute Tab
        </message>
        <message name="IDS_TAB_CXMENU_AUDIO_MUTE_TABS" desc="In Title Case: The label of the tab context menu item for muting more than one tab.">
          Mute Tabs
        </message>
        <message name="IDS_TAB_CXMENU_AUDIO_UNMUTE_TAB" desc="In Title Case: The label of the tab context menu item for unmuting a single tab.">
          Unmute Tab
        </message>
        <message name="IDS_TAB_CXMENU_AUDIO_UNMUTE_TABS" desc="In Title Case: The label of the tab context menu item for unmuting more than one tab.">
          Unmute 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>
      </if>

      <!-- Application window menu -->
      <if expr="not 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="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_ERRORPAGE_NET_BUTTON_DETAILS" desc="Label for the button that expands the details on a net error page">
        Details
      </message>
      <message name="IDS_ERRORPAGE_NET_BUTTON_HIDE_DETAILS" desc="Label for the button that hides the details on a net error page">
        Hide details
      </message>
      <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_LOAD_STALE" desc="Label for the button on an error page to load a stale entry from the cache">
        Show saved copy
      </message>
      <message name="IDS_ERRORPAGES_BUTTON_LOAD_STALE_HELP" desc="Explanation for the BUTTON_LOAD_STALE button">
        Load a stale (i.e. known to be out of date) copy of this page.
      </message>
      <if expr="chromeos">
        <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>
      <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="chromeos">
        <message name="IDS_ERRORPAGES_SUGGESTION_PROXY_DISABLE_PLATFORM" desc="Chrome OS 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_SUGGESTION_GOOGLE_SEARCH" desc="When a page fails to load, sometimes we suggest a specific Google search.  This appears just above a text input control.">
        Search on Google
      </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_INSTRUCTIONS_TEMPLATE" desc="Template for the summary of the error page when the network connection failed, on platforms with instructions.">
          You can try to diagnose the problem by taking the following steps:
          <ph name="LINE_BREAK">&lt;br /&gt;<ex>&lt;br /&gt;</ex></ph>
          <ph name="PLATFORM_TEXT">
            $1<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_SSL_FALLBACK_BEYOND_MINIMUM_VERSION" desc="Heading in the error page for SSL fallback errors.">
        SSL server probably obsolete.
      </message>
      <message name="IDS_ERRORPAGES_SUMMARY_SSL_FALLBACK_BEYOND_MINIMUM_VERSION" desc="Summary in the error page for SSL fallback errors.">
        Unable to connect securely to the server. This website may have worked previously, but connecting to such sites has now been shown to cause security risks to all users and thus has been disabled for your safety.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_SSL_FALLBACK_BEYOND_MINIMUM_VERSION" desc="The error message displayed for SSL fallback errors.">
        An SSLv3 fallback was able to handshake with the server, but we no longer accept SSLv3 fallbacks due to new attacks against the protocol. The server needs to be updated to support a minimum of TLS 1.0 and preferably TLS 1.2.
      </message>

      <message name="IDS_ERRORPAGES_HEADING_SSL_VERSION_OR_CIPHER_MISMATCH" desc="Heading in the error page for SSL cipher and version errors.">
        This webpage is not available
      </message>
      <message name="IDS_ERRORPAGES_SUMMARY_SSL_VERSION_OR_CIPHER_MISMATCH" desc="Summary in the error page for SSL cipher and version errors.">
        A secure connection cannot be established because this site uses an unsupported protocol.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_SSL_VERSION_OR_CIPHER_MISMATCH" desc="The error message displayed for SSL cipher and version errors.">
        The client and server don't support a common SSL protocol version or cipher suite. This is usually caused when the server needs SSLv3 support, which has been removed.
      </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_SUMMARY_BLOCKED_ENROLLMENT_CHECK_PENDING" desc="Summary in the error page when the user tries to browse before the forced enrollment check has finished.">
        This device has not finished its first run steps.
      </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_DETAILS_BLOCKED_ENROLLMENT_CHECK_PENDING" desc="The error message displayed when the user tries to browse before the forced enrollment check has finished.">
        Browsing the Internet is disabled until the enterprise enrollment verification check has finished.
        You can still use the diagnostic tool presented here to troubleshoot issues with your connectivity.
      </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 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>
        <message name="IDS_PAGEINFO_CERT_TRANSPARENCY_INFO_BUTTON" desc="Text of button in the page info that shows Signed Certificate Timestamps.">
          Transparency information
        </message>
        <message name="IDS_PAGEINFO_RESET_INVALID_CERTIFICATE_DECISIONS_BUTTON" desc="Text of button in the page info that resets allow/deny decisions of invalid certificates.">
          Stop using an invalid certificate
        </message>
      </if>
      <if expr="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>
        <message name="IDS_PAGEINFO_CERT_TRANSPARENCY_INFO_BUTTON" desc="Text of button in the page info that shows Signed Certificate Timestamps.">
          Transparency Information
        </message>
        <message name="IDS_PAGEINFO_RESET_INVALID_CERTIFICATE_DECISIONS_BUTTON" desc="Text of button in the page info that resets allow/deny decisions of invalid certificates.">
          Stop using an invalid certificate
        </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 when the stream is consumed by the same app initiating the window picker">
        <ph name="APP_NAME">$1<ex>Google Cast</ex></ph> is sharing your screen.
      </message>
      <message name="IDS_MEDIA_SCREEN_CAPTURE_NOTIFICATION_TEXT_DELEGATED" desc="label used in screen capture notification UI to show the screen sharing status when the stream is consumed by a tab instead of the app initiating the window picker">
        <ph name="APP_NAME">$1<ex>Google Cast</ex></ph> is sharing your screen with <ph name="TAB_NAME">$2<ex>https://google.com</ex></ph>.
      </message>
      <message name="IDS_MEDIA_SCREEN_CAPTURE_NOTIFICATION_STOP" desc="Text shown on the button that stops screen capture.">
        Stop sharing
      </message>

      <!-- Safe Browsing interstitials V3 (shared phishing & malware) -->
      <message name="IDS_SAFEBROWSING_V3_TITLE" desc="The tab title for the Safe Browsing interstitials.">
        Security error
      </message>
      <message name="IDS_SAFEBROWSING_V3_OPEN_DETAILS_BUTTON" desc="The text for the button that expands the details.">
        Details
      </message>
      <message name="IDS_SAFEBROWSING_V3_CLOSE_DETAILS_BUTTON" desc="The text for the button that hides the details.">
        Hide details
      </message>
      <message name="IDS_SAFEBROWSING_OVERRIDABLE_SAFETY_BUTTON" desc="The text for the button that takes the user back to the previous page.">
        Back to safety
      </message>

      <!-- Malware interstitial V3 -->
      <message name="IDS_MALWARE_V3_HEADING" desc="The large heading at the top of the malware interstitial.">
        The site ahead contains malware
      </message>
      <if expr="is_android or is_ios">
        <message name="IDS_MALWARE_V3_PRIMARY_PARAGRAPH" desc="Mobile: The primary explanatory paragraph for the malware interstitial.">
          Attackers currently on <ph name="BEGIN_BOLD">&lt;strong&gt;</ph><ph name="SITE">$1<ex>example.com</ex></ph><ph name="END_BOLD">&lt;/strong&gt;</ph> might attempt to install dangerous programs on your device that steal or delete your information (for example, photos, passwords, messages, and credit cards).
        </message>
      </if>
      <if expr="is_macosx">
        <message name="IDS_MALWARE_V3_PRIMARY_PARAGRAPH" desc="Mac: The primary explanatory paragraph for the malware interstitial.">
          Attackers currently on <ph name="BEGIN_BOLD">&lt;strong&gt;</ph><ph name="SITE">$1<ex>example.com</ex></ph><ph name="END_BOLD">&lt;/strong&gt;</ph> might attempt to install dangerous programs on your Mac that steal or delete your information (for example, photos, passwords, messages, and credit cards).
        </message>
      </if>
      <if expr="not is_android and not is_macosx and not is_ios">
        <message name="IDS_MALWARE_V3_PRIMARY_PARAGRAPH" desc="The primary explanatory paragraph for the malware interstitial.">
          Attackers currently on <ph name="BEGIN_BOLD">&lt;strong&gt;</ph><ph name="SITE">$1<ex>example.com</ex></ph><ph name="END_BOLD">&lt;/strong&gt;</ph> might attempt to install dangerous programs on your computer that steal or delete your information (for example, photos, passwords, messages, and credit cards).
        </message>
      </if>
      <message name="IDS_MALWARE_V3_EXPLANATION_PARAGRAPH" desc="The explanation of why Safe Browsing has blocked the page.">
        Google Safe Browsing recently <ph name="BEGIN_LINK">&lt;a href="#" id="help-link"&gt;</ph>detected malware<ph name="END_LINK">&lt;/a&gt;</ph> on <ph name="SITE">$1<ex>example.com</ex></ph>. Websites that are normally safe are sometimes infected with malware.
      </message>
      <message name="IDS_MALWARE_V3_EXPLANATION_PARAGRAPH_SUBRESOURCE" desc="The explanation of why Safe Browsing has blocked the page.">
        Google Safe Browsing recently <ph name="BEGIN_LINK">&lt;a href="#" id="help-link"&gt;</ph>detected malware<ph name="END_LINK">&lt;/a&gt;</ph> on <ph name="SITE">$1<ex>example.com</ex></ph>. Websites that are normally safe are sometimes infected with malware. The malicious content comes from <ph name="SUBRESOURCE_HOST">$2<ex>evil.com</ex></ph>, a known malware distributor.
      </message>
      <message name="IDS_MALWARE_V3_ADVICE_HEADING" desc="A header for the IDS_MALWARE_V3_EXPLANATION_PARAGRAPH_ADVICE paragraph.">
        What should you do?
      </message>
      <message name="IDS_MALWARE_V3_EXPLANATION_PARAGRAPH_ADVICE" desc="The explanation of why Safe Browsing has blocked the page, with additional advice.">
        You should come back to this website in a few hours. Google Safe Browsing recently <ph name="BEGIN_LINK">&lt;a href="#" id="help-link"&gt;</ph>detected malware<ph name="END_LINK">&lt;/a&gt;</ph> on <ph name="SITE">$1<ex>example.com</ex></ph>. Websites that are normally safe are sometimes infected with malware.
      </message>
      <message name="IDS_MALWARE_V3_EXPLANATION_PARAGRAPH_SUBRESOURCE_ADVICE" desc="The explanation of why Safe Browsing has blocked the page, with additional advice.">
        Google Safe Browsing recently <ph name="BEGIN_LINK">&lt;a href="#" id="help-link"&gt;</ph>detected malware<ph name="END_LINK">&lt;/a&gt;</ph> on <ph name="SITE">$1<ex>example.com</ex></ph>. Websites that are normally safe are sometimes infected with malware. The malicious content comes from <ph name="SUBRESOURCE_HOST">$2<ex>evil.com</ex></ph>, a known malware distributor. You should come back in a few hours.
      </message>
      <message name="IDS_MALWARE_V3_EXPLANATION_PARAGRAPH_HISTORY" desc="The explanation of why Safe Browsing has blocked the page, with additional text about history.">
        Even if you have visited this website before, it is not safe right now. Google Safe Browsing recently <ph name="BEGIN_LINK">&lt;a href="#" id="help-link"&gt;</ph>detected malware<ph name="END_LINK">&lt;/a&gt;</ph> on <ph name="SITE">$1<ex>example.com</ex></ph>. Websites that are normally safe are sometimes infected with malware.
      </message>
      <message name="IDS_MALWARE_V3_EXPLANATION_PARAGRAPH_SUBRESOURCE_HISTORY" desc="The explanation of why Safe Browsing has blocked the page, with additional text about history.">
        Even if you have visited this website before, it is not safe right now. Google Safe Browsing recently <ph name="BEGIN_LINK">&lt;a href="#" id="help-link"&gt;</ph>detected malware<ph name="END_LINK">&lt;/a&gt;</ph> on <ph name="SITE">$1<ex>example.com</ex></ph>. Websites that are normally safe are sometimes infected with malware. The malicious content comes from <ph name="SUBRESOURCE_HOST">$2<ex>evil.com</ex></ph>, a known malware distributor.
      </message>
      <message name="IDS_MALWARE_V3_PROCEED_PARAGRAPH" desc="The paragraph that lets the user skip the warning.">
        If you understand the risks to your security, you may <ph name="BEGIN_LINK">&lt;a href="#" id="proceed-link"&gt;</ph>visit this unsafe site<ph name="END_LINK">&lt;/a&gt;</ph> before the dangerous programs have been removed.
      </message>
      <message name="IDS_MALWARE_V3_PROCEED_PARAGRAPH_NOT_RECOMMEND" desc="The paragraph that lets the user skip the warning, with the additional anti-recommendation string.">
        If you understand the risks to your security, you may <ph name="BEGIN_LINK">&lt;a href="#" id="proceed-link"&gt;</ph>visit this unsafe site<ph name="END_LINK">&lt;/a&gt;</ph> (not recommended) before the dangerous programs have been removed.
      </message>
      <message name="IDS_MALWARE_V3_PROCEED_PARAGRAPH_SOCIAL" desc="The paragraph that lets the user skip the warning, with the additional anti-recommendation string.">
        More than 80% of people who see this warning go back to safety instead of risking malware. However, if you understand the risks to your security, you may <ph name="BEGIN_LINK">&lt;a href="#" id="proceed-link"&gt;</ph>visit this unsafe site<ph name="END_LINK">&lt;/a&gt;</ph> before the dangerous programs have been removed.
      </message>
      <message name="IDS_SAFE_BROWSING_PRIVACY_POLICY_PAGE" desc="Label for the link to SafeBrowsing Privacy policy page">
        Privacy policy
      </message>
      <message name="IDS_SAFE_BROWSING_PRIVACY_POLICY_URL" translateable="false">
        https://www.google.com/chrome/browser/privacy/whitepaper.html#malware
      </message>
      <message name="IDS_SAFE_BROWSING_MALWARE_REPORTING_AGREE" desc="SafeBrowsing Malware v2 Details label next to checkbox">
        Automatically report details of possible security incidents to Google. <ph name="PRIVACY_PAGE_LINK">$1</ph>
      </message>

      <!-- Harmful download interstitial V3 -->
      <message name="IDS_HARMFUL_V3_HEADING" desc="The large heading at the top of the social engineering interstitial.">
        The site ahead contains harmful programs
      </message>
      <message name="IDS_HARMFUL_V3_PRIMARY_PARAGRAPH" desc="Mobile: The primary explanatory paragraph for the social engineering interstitial.">
        Attackers on <ph name="BEGIN_BOLD">&lt;strong&gt;</ph><ph name="SITE">$1<ex>example.com</ex></ph><ph name="END_BOLD">&lt;/strong&gt;</ph> might attempt to trick you into installing programs that harm your browsing experience (for example, by changing your homepage or showing extra ads on sites you visit).
      </message>
      <message name="IDS_HARMFUL_V3_EXPLANATION_PARAGRAPH" desc="The explanation of why Safe Browsing has blocked the page.">
        Google Safe Browsing recently <ph name="BEGIN_LINK">&lt;a href="#" id="help-link"&gt;</ph>found harmful programs<ph name="END_LINK">&lt;/a&gt;</ph> on <ph name="SITE">$1<ex>example.com</ex></ph>.
      </message>
      <message name="IDS_HARMFUL_V3_PROCEED_PARAGRAPH" desc="The paragraph that lets the user skip the warning.">
        If you understand the risks to your security, you may <ph name="BEGIN_LINK">&lt;a href="#" id="proceed-link"&gt;</ph>visit this site<ph name="END_LINK">&lt;/a&gt;</ph> before the harmful programs have been removed.
      </message>

      <!-- Phishing interstitial V3 -->
      <message name="IDS_PHISHING_V3_HEADING" desc="The large heading at the top of the phishing interstitial.">
        Phishing attack ahead
      </message>
      <message name="IDS_PHISHING_V3_PRIMARY_PARAGRAPH" desc="The primary explanatory paragraph for the malware interstitial.">
        Attackers on <ph name="BEGIN_BOLD">&lt;strong&gt;</ph><ph name="SITE">$1<ex>example.com</ex></ph><ph name="END_BOLD">&lt;/strong&gt;</ph> might try to trick you to steal your information (for example, passwords, messages, or credit cards).
      </message>
      <message name="IDS_PHISHING_V3_EXPLANATION_PARAGRAPH" desc="The explanation of why Safe Browsing has blocked the page.">
      Google Safe Browsing recently detected phishing on <ph name="SITE">$1<ex>example.com</ex></ph>. <ph name="BEGIN_LINK">&lt;a href="#" id="help-link"&gt;</ph>Phishing sites<ph name="END_LINK">&lt;/a&gt;</ph> pretend to be other websites to trick you.
      </message>
      <message name="IDS_PHISHING_V3_PROCEED_PARAGRAPH" desc="The paragraph that lets the user skip the warning.">
        If you understand the risks to your security, you may <ph name="BEGIN_LINK">&lt;a href="#" id="proceed-link"&gt;</ph>visit this infected site<ph name="END_LINK">&lt;/a&gt;</ph>.
      </message>

      <!-- SSL Interstitial V2 -->
      <message name="IDS_SSL_V2_TITLE" desc="The tab title for the SSL interstitial.">
        Privacy error
      </message>
      <message name="IDS_SSL_V2_HEADING" desc="The large heading at the top of the SSL interstitial.">
        Your connection is not private
      </message>
      <message name="IDS_SSL_V2_PRIMARY_PARAGRAPH" desc="The primary explanatory paragraph for the SSL interstitial.">
        Attackers might be trying to steal your information from <ph name="BEGIN_BOLD">&lt;strong&gt;</ph><ph name="SITE">$1<ex>google.com</ex></ph><ph name="END_BOLD">&lt;/strong&gt;</ph> (for example, passwords, messages, or credit cards).
      </message>
      <message name="IDS_SSL_V2_OPEN_DETAILS_BUTTON" desc="The text for the button that expands the details.">
        Advanced
      </message>
      <message name="IDS_SSL_V2_CLOSE_DETAILS_BUTTON" desc="The text for the button that hides the details.">
        Hide advanced
      </message>

      <!-- SSL Interstitial V2: Overridable -->
      <message name="IDS_SSL_OVERRIDABLE_SAFETY_BUTTON" desc="The text for the button that takes the user back to the previous page.">
        Back to safety
      </message>
      <message name="IDS_SSL_OVERRIDABLE_PROCEED_PARAGRAPH" desc="The text for the paragraph at the bottom with the proceed link.">
        <ph name="BEGIN_LINK">&lt;a href="#" id="proceed-link"&gt;</ph>Proceed to <ph name="SITE">$1<ex>example.com</ex></ph> (unsafe)<ph name="END_LINK">&lt;/a&gt;</ph>
      </message>

      <!-- SSL Interstitial V2: Non-overridable -->
      <message name="IDS_SSL_RELOAD" desc="The text for the button that reloads the page.">
        Reload
      </message>
      <message name="IDS_SSL_NONOVERRIDABLE_PINNED" desc="A sentence to explain why the user can't proceed, plus a link to a help page about certificate pinning.">
      You cannot visit <ph name="SITE">$1<ex>google.com</ex></ph> right now because the website <ph name="BEGIN_LINK">&lt;a href="#" id="help-link"&gt;</ph>uses certificate pinning<ph name="END_LINK">&lt;/a&gt;</ph>. Network errors and attacks are usually temporary, so this page will probably work later.
      </message>
      <message name="IDS_SSL_NONOVERRIDABLE_HSTS" desc="A sentence to explain why the user can't proceed, plus a link to a help page about HSTS.">
      You cannot visit <ph name="SITE">$1<ex>google.com</ex></ph> right now because the website <ph name="BEGIN_LINK">&lt;a href="#" id="help-link"&gt;</ph>uses HSTS<ph name="END_LINK">&lt;/a&gt;</ph>. Network errors and attacks are usually temporary, so this page will probably work later.
      </message>
      <message name="IDS_SSL_NONOVERRIDABLE_REVOKED" desc="A sentence to explain why the user can't proceed, plus a link to a help page about certificate revocation.">
      You cannot visit <ph name="SITE">$1<ex>google.com</ex></ph> right now because <ph name="BEGIN_LINK">&lt;a href="#" id="help-link"&gt;</ph>this certificate has been revoked<ph name="END_LINK">&lt;/a&gt;</ph>. Network errors and attacks are usually temporary, so this page will probably work later.
      </message>

      <!-- SSL Interstitial V2: Clock Errors -->
      <message name="IDS_SSL_V2_CLOCK_TITLE" desc="The tab title for the SSL clock interstitial (shown when an SSL error is probably caused by an incorrect clock).">
        Clock error
      </message>

      <message name="IDS_SSL_V2_CLOCK_AHEAD_HEADING" desc="The large heading of the SSL clock interstitial, shown when the clock is too far in the future.">
        Your clock is ahead
      </message>

      <message name="IDS_SSL_V2_CLOCK_BEHIND_HEADING" desc="The large heading of the SSL clock interstitial, shown when the clock is too far in the past.">
        Your clock is behind
      </message>

      <message name="IDS_SSL_V2_CLOCK_UPDATE_DATE_AND_TIME" desc="Text for the button on the SSL clock interstitial page, which takes the user to their operating system panel for setting date and time, if possible.">
        Update date and time
      </message>


      <if expr="not is_android and not is_ios">
        <message name="IDS_SSL_V2_CLOCK_PRIMARY_PARAGRAPH" desc="Paragraph explaining that the SSL clock interstitial is probably caused by an incorrect clock.">
          A private connection to <ph name="BEGIN_BOLD">&lt;strong&gt;</ph><ph name="DOMAIN">$1<ex>paypal.com</ex></ph><ph name="END_BOLD">&lt;/strong&gt;</ph> can't be established because your computer's date and time (<ph name="DATE_AND_TIME">$2<ex>Monday, January 1, 1970 2:44:30 PM</ex></ph>) are incorrect.
        </message>
      </if>
      <if expr="is_android">
        <message name="IDS_SSL_V2_CLOCK_PRIMARY_PARAGRAPH" desc="Paragraph explaining that the SSL clock interstitial is probably caused by an incorrect clock. (The string is slightly customized for mobile.)">
          A private connection to <ph name="BEGIN_BOLD">&lt;strong&gt;</ph><ph name="DOMAIN">$1<ex>paypal.com</ex></ph><ph name="END_BOLD">&lt;/strong&gt;</ph> can't be established because your device's date and time (<ph name="DATE_AND_TIME">$2<ex>Monday, January 1, 1970 2:44:30 PM</ex></ph>) are incorrect.
        </message>
      </if>
      <if expr="is_ios">
        <message name="IDS_SSL_V2_CLOCK_PRIMARY_PARAGRAPH" desc="Paragraph explaining that the SSL clock interstitial is probably caused by an incorrect clock. On iOS, we can't send the user directly to the date and time panel, so we give them concise instructions.">
          &lt;p&gt;A private connection to <ph name="BEGIN_BOLD">&lt;strong&gt;</ph><ph name="DOMAIN">$1<ex>paypal.com</ex></ph><ph name="END_BOLD">&lt;/strong&gt;</ph> can't be established because your device's date and time (<ph name="DATE_AND_TIME">$2<ex>Monday, January 1, 1970 2:44:30 PM</ex></ph>) are incorrect.&lt;/p&gt;

          &lt;p&gt;Please adjust the date and time from the &lt;strong&gt;General&lt;/strong&gt; section of the &lt;strong&gt;Settings&lt;/strong&gt; app.&lt;/p&gt;
        </message>
      </if>

      <!-- 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>

      <!-- 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 -->
      <if expr="is_macosx">
        <message name="IDS_MENU_EMPTY_SUBMENU" desc="Used when a submenu has no entries">
          (empty)
        </message>
      </if>

      <!-- 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_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>

      <!-- 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.">
        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.">
        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 -->
      <if expr="is_win">
        <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>
      </if>

      <!-- chrome://help -->
      <if expr="not is_android">
        <if expr="chromeos">
          <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>
        </if>

        <message name="IDS_ABOUT_TITLE" desc="Label used for title of the About page, chrome://help.">
          About
        </message>
        <if expr="not chromeos and 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 chromeos and not 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="chromeos and 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="chromeos and not 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="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 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>
      </if> <!-- not is_android -->

      <if expr="chromeos">
        <message name="IDS_WEBKIT" desc="The name of the WebKit project; should not require translation.">
          WebKit
        </message>
        <message name="IDS_ABOUT_PAGE_FIRMWARE" desc="Label used for Chrome OS bios firmware version.">
          Firmware
        </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>
      </if> <!-- chromeos -->

      <message name="IDS_PLATFORM_LABEL" desc="Label for Platform">
        Platform
      </message>

      <!-- chrome://settings. Android uses native UI for settings -->
      <if expr="not is_android">
        <if expr="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_EXTENSION_CONTROLLED" desc="The label in the bubble showing which extension is controlling a particular setting. Please preserve the embedded HTML (&lt;b&gt; and &lt;/b&gt;) during translation. They serve to make the name bold.">
          An extension, &lt;b&gt;<ph name="EXTENSION_NAME">$1<ex>MyFirstExtension</ex></ph>&lt;/b&gt;, is controlling this setting.
        </message>
        <message name="IDS_OPTIONS_TAB_EXTENSION_CONTROLLED_DISABLE" desc="The 'Disable Extension' button label in the bubble showing which extension is controlling a particular setting.">
          Disable extension
        </message>
        <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>
        <message name="IDS_OPTIONS_DELETABLE_ITEM_DELETE_BUTTON" desc="The label of the button to delete an item in a list">
          Delete this item
        </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 you 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_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_PROXY_GROUP_NAME" desc="The title of the Proxy group">
          Proxy
        </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_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>
        <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_EASY_UNLOCK_SECTION_TITLE" desc="The title of the Easy Unlock section on the settings page.">
          Smart Lock (Beta)
        </message>
        <message name="IDS_OPTIONS_EASY_UNLOCK_SETUP_INTRO" desc="The text to show in Easy Unlock section to introduce the feature.">
          Keep your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph> unlocked when your Android phone is unlocked and nearby – no need to type your password. Learn more
        </message>
        <message name="IDS_OPTIONS_EASY_UNLOCK_SETUP_BUTTON" desc="The label of the button to set up Easy Unlock section on the settings page.">
          Set up Smart Lock
        </message>
        <message name="IDS_OPTIONS_EASY_UNLOCK_DESCRIPTION" desc="The text that describes what Easy Unlock does.">
          Your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph> will be unlocked when your Android phone is unlocked and nearby.
        </message>
        <message name="IDS_OPTIONS_EASY_UNLOCK_REQUIRE_PROXIMITY_LABEL" desc="The text label that describes the checkbox that controls whether the user's Android phone must be in close proximity to the Chromebook in order to unlock it..">
          Only unlock this <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph> when your phone is within arm’s reach.
        </message>
        <message name="IDS_OPTIONS_EASY_UNLOCK_TURN_OFF_BUTTON" desc="The label of the button to disable Easy unlock on the settings page and the turn off Easy unlock dialog.">
          Turn off
        </message>
        <message name="IDS_OPTIONS_EASY_UNLOCK_NOTIFICATION_OPTION_LABEL" desc="The label of the preference in the Smart Lock settings page to control whether notifications should be shown when unlocking the Chromebook.">
          Get notified on your phone every time Smart Lock unlocks your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>.
        </message>
        <message name="IDS_OPTIONS_EASY_UNLOCK_MANAGE BLUETOOTH" desc="The label of the link in the Smart Lock settings page to open the Bluetooth settings.">
          Manage Bluetooth settings
        </message>
        <message name="IDS_OPTIONS_EASY_UNLOCK_TURN_OFF_TITLE" desc="The title of the Easy unlock turn off dialog.">
          Turn off Chrome Smart Lock
        </message>
        <message name="IDS_OPTIONS_EASY_UNLOCK_TURN_OFF_DESCRIPTION" desc="The description text of the Easy unlock turn off dialog.">
          If you turn off Chrome Smart Lock, you won’t be able to unlock your Chrome devices when your phone is with you. You will have to type in your password.
        </message>
        <message name="IDS_OPTIONS_EASY_UNLOCK_TURN_OFF_OFFLINE_TITLE" desc="The title text on the Easy unlock turn off dialog when Easy unlock could not be turned off because the device is offline.">
          Please connect to a network
        </message>
        <message name="IDS_OPTIONS_EASY_UNLOCK_TURN_OFF_OFFLINE_MESSAGE" desc="The text on the Easy unlock turn off dialog when Easy unlock could not be turned off because the device is offline.">
          You must be online to turn off Smart Lock because this setting is synced to your phone and other devices. Please connect to a network first.
        </message>
        <message name="IDS_OPTIONS_EASY_UNLOCK_TURN_OFF_ERROR_TITLE" desc="The title text on the Easy unlock turn off dialog when Easy unlock could not be turned off because there is a server error.">
          Smart Lock is unavailable
        </message>
        <message name="IDS_OPTIONS_EASY_UNLOCK_TURN_OFF_ERROR_MESSAGE" desc="The text on the Easy unlock turn off dialog when Easy unlock could not be turned off because there is a server error.">
          Unable to connect to Smart Lock right now. Please try again later.
        </message>
        <message name="IDS_OPTIONS_EASY_UNLOCK_TURN_OFF_RETRY_BUTTON" desc="The label text of the retry button on the Easy unlock turn off dialog when Easy unlock could not be turned off because there is a server error.">
          Retry
        </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 you 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 your web passwords.
        </message>
        <message name="IDS_OPTIONS_PASSWORDS_AUTOLOGIN" desc="The label of the 'autologinEnabled' checkbox">
          Offer to sign in to 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_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>
        <if expr="is_macosx">
          <message name="IDS_AUTOFILL_USE_MAC_ADDRESS_BOOK" desc="Checkbox label to enable access to the user's Address Book on Mac. On Mac 10.8+ the application that manages the Address Book is called Contacts.">
            Include addresses from your Contacts card
          </message>
        </if>
        <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_EMAIL" desc="The label of the Email entry.">
          Email
        </message>
        <message name="IDS_AUTOFILL_FIELD_LABEL_PHONE" desc="The label of the Phone entry.">
          Phone
        </message>
        <message name="IDS_AUTOFILL_FIELD_LABEL_ADD_NAME" desc="The placeholder text of the recipient or contact name field.">
          Add 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>

        <!-- 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>
        <if expr="chromeos">
          <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_AND_INPUT_DIALOG_TITLE">
            Languages and input
          </message>
        </if>
        <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 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="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>

        <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>
        <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_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_SAFEBROWSING_ENABLE_EXTENDED_REPORTING" desc="Checkbox label: should Chrome upload information about suspicious downloads and websites to Safe Browsing">
          Automatically report details of possible security incidents to Google
        </message>

        <if expr="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_EXTENSION" desc="Text displayed for a link to manage extension from the controlled settings bubble.">
          Manage extension
        </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>
        <message name="IDS_OPTIONS_INSTALL_LOCATION_SHARED_MODULE" desc="The text explaining the the installation of the extension was because of extensions that depend on this shared module">
          Installed because of dependent extension(s).
        </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 Chrome OS.">
          Search settings
        </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 settings
        </message>
        <message name="IDS_RESET_PROFILE_SETTINGS_DESCRIPTION" desc="A label describing the purpose of the 'reset profile settings' feature">
          Restore 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 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 settings
        </message>
        <message name="IDS_RESET_PROFILE_SETTINGS_TITLE" desc="Dialog title">
          Reset 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_SHOW_HOME_BUTTON" desc="Tag in the feedback details of the Reset Profile Settings dialog">
          Show Home button
        </message>
        <message name="IDS_RESET_PROFILE_SETTINGS_SHOW_HOME_BUTTON_TRUE" desc="Value of SHOW_HOME_BUTTON in the feedback details of the Reset Profile Settings dialog">
          Yes
        </message>
        <message name="IDS_RESET_PROFILE_SETTINGS_SHOW_HOME_BUTTON_FALSE" desc="Value of SHOW_HOME_BUTTON 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>
        <message name="IDS_RESET_PROFILE_SETTINGS_SHORTCUTS" desc="List of Chrome shortcuts in the feedback details of the Reset Profile Settings dialog (shortcut refers to the desktop icon on windows)">
          Shortcut targets
        </message>
        <message name="IDS_RESET_PROFILE_SETTINGS_PROCESSING_SHORTCUTS" desc="A placeholder for the actual shortcuts in the Reset Profile Settings dialog (shortcut refers to the desktop icon on windows)">
          Processing shortcuts...
        </message>

        <!-- Automatic Settings Reset strings -->
        <message name="IDS_AUTOMATIC_SETTINGS_RESET_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 some settings have been tampered with and were reset to factory defaults.">
          Chrome detected that some of your settings were corrupted by another program and reset them to their original defaults.
        </message>
        <message name="IDS_AUTOMATIC_SETTINGS_RESET_BANNER_RESET_BUTTON_TEXT" desc="The text on the reset button in the Automatic Settings Reset Banner suggesting to reset ALL settings after an automatic reset of SOME settings.">
          Reset all settings
        </message>
      </if>

      <!-- chrome://settings strings that are used by all platforms including Android -->
      <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>
      <message name="IDS_OPTIONS_PASSWORDS_MANAGE_PASSWORDS_LINK" desc="The label of the 'Manage passwords' link">
        Manage passwords
      </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_STARTUP_PAGES_PLACEHOLDER" desc="The placeholder text in the custom startup urls dialog" formatter_data="android_java">
        Enter URL...
      </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_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>

      <!-- On Android, we use Google Play Services to handle all the UI for the Autofill Dialog -->
      <if expr="not is_android">
        <!-- 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 in to 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 in to 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 in to 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 your 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 your 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 transaction. 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_UNSUPPORTED_AGENT_OR_API_KEY" desc="Text explaining that Wallet encountered an error with the Chrome version or Google API key.">
          Google Wallet doesn't support this version of Chrome or doesn't recognize your Google API key.
        </message>
        <message name="IDS_AUTOFILL_WALLET_BAD_TRANSACTION_AMOUNT" desc="Text explaining that the transaction amoutn is too big or otherwise unrecognized.">
          Wallet can't handle this transaction.
        </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_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>
        <message name="IDS_AUTOFILL_DIALOG_ENTER_CREDIT_CARD" desc="Menu item label that allows a user to manually enter credit card information.">
          Enter credit card...
        </message>
        <message name="IDS_AUTOFILL_DIALOG_ENTER_BILLING_DETAILS" desc="Menu item label that allows a user to manually enter credit card information.">
          Enter billing details...
        </message>
        <message name="IDS_AUTOFILL_DIALOG_USE_DIFFERENT_SHIPPING_ADDRESS" desc="Menu Item label that allows a user to manually input a shipping address that differs from their billing address.">
          Use different shipping address
        </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_UNACCEPTED_GENERIC_CARD" desc="Message displayed to user when a site doesn't accept the credit card type they've entered.">
          This site doesn't accept this brand of card.
        </message>
        <message name="IDS_AUTOFILL_DIALOG_VALIDATION_UNACCEPTED_AMEX" desc="Message displayed to user when a site doesn't accept American Express.">
          This site doesn't accept American Express.
        </message>
        <message name="IDS_AUTOFILL_DIALOG_VALIDATION_UNACCEPTED_DISCOVER" desc="Message displayed to user when a site doesn't accept Discover.">
          This site doesn't accept Discover.
        </message>
        <message name="IDS_AUTOFILL_DIALOG_VALIDATION_UNACCEPTED_MASTERCARD" desc="Message displayed to user when a site doesn't accept MasterCard.">
          This site doesn't accept MasterCard.
        </message>
        <message name="IDS_AUTOFILL_DIALOG_VALIDATION_UNACCEPTED_VISA" desc="Message displayed to user when a site doesn't accept Visa.">
          This site doesn't accept Visa.
        </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_WAITING_FOR_RULES" desc="Message displayed to user when validation rules are still downloading.">
          Validating...
        </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>
      </if>

      <message name="IDS_APPEARANCE_GROUP_NAME" desc="The title of the appearance group">
        Appearance
      </message>
      <if expr="not is_linux or chromeos">
        <message name="IDS_THEMES_GROUP_NAME" desc="The title of the themes group">
          Themes
        </message>
      </if>
      <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>

      <!-- 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>
      <if expr="is_macosx">
        <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>
      </if>
      <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>

      <!-- Accessiblility strings for Inforbars in Views -->
      <if expr="toolkit_views">
        <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>
      </if>

      <!-- Autofill infobar -->
      <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>

      <!-- 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]">
          Sign in
        </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 sign-in bubble.">
        Undo
      </message>
      <message name="IDS_ONE_CLICK_SIGNIN_BUBBLE_MESSAGE" desc="The body of the sync promo NTP bubble.">
        Your bookmarks, history, and other settings will be synced to your Google Account.
      </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 in to 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 sign-in">
        Create a new user
      </message>
      <message name="IDS_ENTERPRISE_SIGNIN_CANCEL" desc="Text of the button to cancel sign-in">
        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 sign-in">
        Create a 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">
        Link data
      </message>

      <message name="IDS_ENTERPRISE_SIGNIN_ALERT_NEW_STYLE" desc="The text of the prompt to create a new profile after signing in to 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_REMOVE_ALL_SHOWN_LABEL" desc="The label of the 'Remove All Shown' button after a query search string is entered in the Cookies Window">
        Remove all shown
      </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>
      <if expr="is_macosx">
        <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>
      </if>
      <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>
      <if expr="is_macosx">
        <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>
      </if>
      <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>
      <if expr="is_macosx">
        <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>
      </if>
      <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_CHANNEL_ID" desc="The text shown when there is a channel id in the Cookies table">
        Channel ID
      </message>
      <message name="IDS_COOKIES_CHANNEL_IDS" 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_CHANNEL_ID_ORIGIN_LABEL" desc="The channel id label for the server domain">
        Domain:
      </message>
      <message name="IDS_COOKIES_CHANNEL_ID_TYPE_LABEL" desc="The channel id Type label">
        Certificate Type:
      </message>
      <message name="IDS_COOKIES_CHANNEL_ID_CREATED_LABEL" desc="The channel id Created label">
        Created:
      </message>
      <message name="IDS_COOKIES_CHANNEL_ID_EXPIRES_LABEL" desc="The channel id Expires label">
        Expires:
      </message>
      <message name="IDS_COOKIES_SERVICE_WORKER" desc="The text shown when there is data for Service Workers within an origin (name of a Web standard) in the Cookies table">
        Service Workers
      </message>
      <message name="IDS_COOKIES_SERVICE_WORKERS" desc="Label for Service Workers (name of an HTML standard)">
        Service Workers
      </message>
      <message name="IDS_COOKIES_SERVICE_WORKER_SCOPES_LABEL" desc="Label for list of Service Worker (name of an HTML standard) patterns">
        Scopes:
      </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 -->
      <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>

      <!-- Strings used for non-Android builds -->
      <if expr="not is_android">
        <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_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.">
          https://support.google.com/chrome/bin/answer.py?answer=185277&amp;hl=[GRITLANGCODE]
        </message>
        <message name="IDS_NEW_TAB_OTR_HEADING"
                 desc="Heading used when a person opens an OTR window">
          You’ve gone incognito
        </message>
        <message name="IDS_NEW_TAB_OTR_DESCRIPTION"
                 desc="Used when a person opens an OTR window">
          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.
        </message>
        <message name="IDS_NEW_TAB_OTR_LEARN_MORE_LINK"
                 desc="OTR window link text to learn more">
          Learn more about incognito browsing
        </message>
        <message name="IDS_NEW_TAB_OTR_MESSAGE_WARNING"
                 desc="OTR window warning message">
          Going incognito doesn’t hide your browsing from your employer, your internet service provider, or the websites you visit.
        </message>
        <message name="IDS_NEW_TAB_GUEST_SESSION_HEADING"
              desc="Heading used when a person enters Guest Session">
          You’re browsing as a Guest
        </message>
        <message name="IDS_NEW_TAB_GUEST_SESSION_LEARN_MORE_LINK"
              desc="Guest Session link text to learn more">
          Learn more about Guest browsing
        </message>
        <if expr="chromeos">
          <message name="IDS_NEW_TAB_GUEST_SESSION_DESCRIPTION"
              desc="Used when a person enters Guest Session">
            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.
          </message>
        </if>
        <if expr="not chromeos">
          <message name="IDS_NEW_TAB_GUEST_SESSION_DESCRIPTION"
              desc="Used when a person enters Guest Session">
            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.
          </message>
        </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_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>
        <if expr="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>
        <message name="IDS_NEW_TAB_MOST_VISITED"
                 desc="The name for the 'Most Visited' navigation control on the New Tab Page.">
          Most visited
        </message>
      </if>

      <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>

      <!-- chrome://history and chrome://ntp -->
      <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>

      <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_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 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_SHOW_INFO"
                 desc="Text for the context menu item that shows the application information. (In sentence case.)">
          App info
        </message>
        <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="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_SHOW_INFO"
                 desc="Text for the context menu item that shows the application information. (In title case.)">
          App Info
        </message>
        <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>

      <!-- Multi-profile -->
      <message name="IDS_PROFILES_OPTIONS_GROUP_NAME" desc="The name of the sync group in the options dialog when using the new Profiles UI.">
        People
      </message>
      <if expr="is_macosx">
        <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>
        <message name="IDS_PROFILES_NEW_AVATAR_MENU_ACCESSIBLE_NAME" desc="Title of the new avatar bubble menu for accessibility">
          Switch Person
        </message>
        <message name="IDS_PROFILES_NEW_AVATAR_MENU_ACCESSIBLE_DESCRIPTION" desc="The help text for the new avatar bubble.">
          Switch to a different person.
        </message>
        <message name="IDS_PROFILES_CREATE_NEW_PROFILE_OPTION" desc="In Title Case. Create new profile menu item and button title.">
          Add Person...
        </message>
        <message name="IDS_PROFILES_NEW_AVATAR_BUTTON_ACCESSIBLE_NAME" desc="Title of the avatar button for accessibility">
          <ph name="PROFILE_NAME">$1<ex>User</ex></ph> button
        </message>
        <message name="IDS_PROFILES_NEW_AVATAR_BUTTON_AUTH_ERROR_ACCESSIBLE_NAME" desc="Title of the avatar button for accessibility">
          <ph name="PROFILE_NAME">$1<ex>User</ex></ph>  button: sign in error
        </message>
        <message name="IDS_PROFILES_ACCOUNT_BUTTON_AUTH_ERROR_ACCESSIBLE_NAME" desc="Title of the avatar button for accessibility">
          <ph name="PROFILE_NAME">$1<ex>User</ex></ph>: sign in error
        </message>
        <message name="IDS_PROFILES_NEW_AVATAR_MENU_CHANGE_PHOTO_ACCESSIBLE_NAME" desc="Title of the change photo button for accessibility">
          Change Photo
        </message>
        <message name="IDS_PROFILES_NEW_AVATAR_MENU_PHOTO_ACCESSIBLE_NAME" desc="Title of the change photo button for accessibility">
          Photo
        </message>
        <message name="IDS_PROFILES_NEW_AVATAR_MENU_EDIT_NAME_ACCESSIBLE_NAME" desc="Title of the edit profile name button for accessibility">
          <ph name="PROFILE_NAME">$1<ex>User</ex></ph>: select to edit
        </message>
      </if>
      <if expr="not 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="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 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="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.">
        Exit and childlock
      </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_GAIA_SIGNIN_TITLE" desc="Title of the account removal view in the avatar menu bubble.">
        Sign in
      </message>
      <message name="IDS_PROFILES_GAIA_ADD_ACCOUNT_TITLE" desc="Title of the account removal view in the avatar menu bubble.">
        Add account
      </message>
      <message name="IDS_PROFILES_GAIA_REAUTH_TITLE" desc="Title of the account reauthentication view in the avatar menu bubble.">
        Sign in again
      </message>
      <message name="IDS_PROFILES_ACCOUNT_REMOVAL_TITLE" desc="Title of the account removal view in the avatar menu bubble.">
        Remove account
      </message>
      <message name="IDS_PROFILES_SETTINGS_LINK" desc="The link text to the Chrome settings page in the account removal view.">
        settings
      </message>
      <message name="IDS_PROFILES_SYNC_SETTINGS_LINK" desc="The link text to the Chrome sync settings page in the avatar menu tutorial card.">
        Settings
      </message>
      <message name="IDS_PROFILES_ACCOUNT_REMOVAL_BUTTON" desc="Text of the ok button on the account removal view in the avatar menu bubble.">
        Remove account
      </message>
      <message name="IDS_PROFILES_CONFIRM_SIGNIN_TUTORIAL_CONTENT_TEXT" desc="Content of the tutorial card in the avatar menu bubble view shown when a user successfully signs in to Chrome.">
        Your tabs, bookmarks, history, and other settings will be synced to your Google Account and available across all your devices.
      </message>
      <message name="IDS_PROFILES_TUTORIAL_OK_BUTTON" desc="Button in the avatar menu tutorial card for dismissing the signin confirmation bubble">
        OK, got it
      </message>
      <message name="IDS_PROFILES_ERROR_TUTORIAL_TITLE" desc="Title in the tutorial card for showing signin errors">
        Uh-oh!
      </message>
      <message name="IDS_PROFILES_NOT_YOU" desc="Title or link text in the avatar menu bubble for switching user">
        Not <ph name="PROFILE_NAME">$1<ex>Claire</ex></ph>?
      </message>
      <message name="IDS_PROFILES_DISCONNECT_BUTTON" desc="Button in the avatar menu bubble for disconnecting the current profile">
        Disconnect Google Account
      </message>
      <message name="IDS_PROFILES_ADD_PERSON_BUTTON" desc="Button in the avatar menu bubble for adding a new profile">
        Add person
      </message>
      <message name="IDS_PROFILES_TUTORIAL_WHATS_NEW_BUTTON" desc="Button in the avatar menu tutorial card for seeing what is new with the new profile management UI">
        See what's new
      </message>
      <message name="IDS_PROFILES_SWITCH_USERS_BUTTON" desc="Button in the avatar menu bubble view for launching the user manager.">
        Switch person
      </message>
      <message name="IDS_PROFILES_GO_INCOGNITO_BUTTON" desc="Button in the avatar menu bubble view for launching an incognito browser.">
        Go incognito
      </message>
      <message name="IDS_PROFILES_EXIT_GUEST" desc="Button in the avatar menu bubble view for exiting the active guest session.">
        Exit Guest
      </message>
      <message name="IDS_PROFILES_SIGNIN_PROMO" desc="Text describing the benefits of signing in.">
        Sign in to get your tabs, bookmarks, history, and other settings on all your devices.
      </message>
      <if expr="not use_titlecase">
        <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.">
          Your accounts
        </message>
        <message name="IDS_PROFILES_PROFILE_HIDE_MANAGE_ACCOUNTS_BUTTON" desc="Button in the avatar menu bubble view used to hide the accounts for a profile.">
          Hide accounts
        </message>
        <message name="IDS_PROFILES_PROFILE_TUTORIAL_LEARN_MORE" desc="The Learn More link in the avatar tutorial bubble.">
          Learn more
        </message>
      </if>
      <if expr="use_titlecase">
        <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.">
          Your Accounts
        </message>
        <message name="IDS_PROFILES_PROFILE_HIDE_MANAGE_ACCOUNTS_BUTTON" desc="Button in the avatar menu bubble view used to hide the accounts for a profile.">
          Hide Accounts
        </message>
        <message name="IDS_PROFILES_PROFILE_TUTORIAL_LEARN_MORE" desc="The Learn More link in the avatar tutorial bubble.">
          Learn More
        </message>
      </if>
      <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_LEGACY_DEFAULT_PROFILE_NAME" desc="The legacy default name given to a new profile.">
        Default Profile
      </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_NEW_NUMBERED_PROFILE_NAME" desc="The name given to a newly created profile. Displayed in wrench menu and settings UI using the --new-profile-management flag.">
        Person <ph name="VALUE">$1<ex>1</ex></ph>
      </message>
      <message name="IDS_SINGLE_PROFILE_DISPLAY_NAME" desc="The name displayed by the avatar button if only one profile exists.">
        You
      </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>
      <message name="IDS_DEFAULT_AVATAR_NAME_26" desc="The default name given to a newly created profile with the default placeholder avatar.">
        Shadow
      </message>

      <message name="IDS_PROFILES_LOCAL_PROFILE_STATE" desc="This is displayed underneath the profile name for profiles that are not signed in to 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 person...
      </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.">
        Remove...
      </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 person
      </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_PROFILE_ADD_PERSON_ENABLE" desc="The text for the settings checkbox that indicates whether new profiles can be added from the user manager.">
        Let anyone add a person to Chrome
      </message>
      <message name="IDS_PROFILE_BROWSER_GUEST_ENABLE" desc="The text for the settings checkbox that indicates whether guest mode is available for this browser.">
        Enable Guest browsing
      </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>

      <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>
      <if expr="is_win">
        <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>
      </if>
      <message name="IDS_RELOAD_PAGE_WITH_PLUGIN" desc="Info Bar button to reload the page where a plugin crashed or disconnected.">
        Reload
      </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_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 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="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_SINGLE_FILE" desc="In the Save Page dialog, the description of saving both the HTML and all shown resources into a single file.">
        Webpage, Single File
      </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="chromeos">
        <message name="IDS_OPTIONS_DISABLE_GDATA" desc="The text in the options panel describes that we can disable webdrive on Chrome OS.">
          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 or the app launcher search box
      </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_LOGGING_RESTART" desc="The restart string after changing crash and user metrics logging. The text within the | symbols will be made into a link that should indicate to the user that clicking on it will cause Chrome to restart.">
        (requires Chrome |restart|)
      </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 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>
      <if expr="is_win">
        <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>
      </if>

      <!-- 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>

      <!-- 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_CERTIFICATES">
        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>

      <!-- Accessibility options -->
      <message name="IDS_OPTIONS_SETTINGS_SECTION_TITLE_ACCESSIBILITY">
        Accessibility
      </message>
      <message name="IDS_OPTIONS_ACCESSIBILITY_FEATURES_LINK">
        Add additional accessibility features
      </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_PERMISSION_FRAGMENT" desc="Permission request shown if multiple downloads are attempted without user interaction and there are multiple permissions requested. Follows a prompt: 'This site would like to:'">
        download multiple files.
      </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>

      <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>
      <if expr="is_macosx or chromeos">
        <message name="IDS_BROWSER_WINDOW_MAC_TAB_UNTITLED" desc="Tabs and windows on MacOS with no title use this string.">
          Untitled
        </message>
      </if>

      <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 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="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 -->

      <!-- Shared between all the plaforms -->
      <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_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_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_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>

      <!-- 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>

      <!-- Sync/sign-in error messages -->
      <message name="IDS_SIGNIN_ERROR_BUBBLE_VIEW_TITLE" desc="Title in the sign-in error bubble view/notification.">
        Sign-in Error
      </message>
      <message name="IDS_SYNC_ERROR_BUBBLE_VIEW_TITLE" desc="Title in the sync error bubble view/notification.">
        Sync Error
      </message>
      <if expr="use_ash">
        <message name="IDS_SYNC_NOTIFICATION_ACCEPT" desc="A button label shown in the sync error notification when the passphrase needs to be updated.">
          Update sync passphrase
        </message>
      </if>

      <if expr="not 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 expr="chromeos">
          <message name="IDS_SYNC_SIGN_IN_ERROR_BUBBLE_VIEW_ACCEPT" desc="The accept button in the sync error bubble view/notification 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="not 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>
      <if expr="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>
        <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>

      <!-- Android uses native UI to handle Sync settings -->
      <if expr="not is_android">
        <!-- 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="not 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_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_ACCOUNT_SYNCING_TO_USER_WITH_MANAGE_LINK_NEW" 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 and devices 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>chrome.com/sync<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 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="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>
        <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>
        <message name="IDS_SYNC_STOP_DELETE_PROFILE_LABEL" desc="The text to display by the checkbox asking user whether to also delete profile when stopping sync.">
          Also clear your history, bookmarks, settings, and other Chrome data stored on this device.
        </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>

        <!-- 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 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="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_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>
        <if expr="chromeos">
          <message name="IDS_SYNC_DATATYPE_THEMES" desc="Themes, one of the data types that we allow syncing.">
            Themes &amp; Wallpapers
          </message>
        </if>
        <if expr="not chromeos">
          <message name="IDS_SYNC_DATATYPE_THEMES" desc="Themes, one of the data types that we allow syncing.">
            Themes
          </message>
        </if>
        <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>
        <message name="IDS_SYNC_DATATYPE_WIFI_CREDENTIALS" desc="WiFi network names and passwords, one of the data types that we allow syncing.">
          WiFi Credentials
        </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_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_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 -->
        <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 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="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 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 in to 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>

      <if expr="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 URL for the Google webcal service. -->
        <message name="IDS_GOOGLE_WEBCAL_HANDLER_URL">
          https:////www.google.com//calendar//render?cid=%s
        </message>
      </if>

      <!-- Translate Bubble -->
      <if expr="toolkit_views or is_macosx">
        <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.">
          Options
        </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_LANGUAGE_SETTINGS" desc="Text to show for the translate bubble link label next to jump to the language setting page.">
          Language settings
        </message>
      </if>

      <!-- Desktop notifications -->
      <if expr="enable_notifications">
        <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_PERMISSIONS_FRAGMENT" desc="Permission sentence fragment to show following the prompt 'This site would like to:' in a permissions request">
          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_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 for Chrome!
        </message>
        <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>
        <message name="IDS_NOTIFIER_WELCOME_BODY" desc="Notification body for when a new notifier service is introduced.">
          Now on your desktop
        </message>
        <message name="IDS_NOTIFIER_WELCOME_BUTTON" desc="Notification body for when a new notifier service is introduced.">
          Turn off these 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_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>

    <!-- 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_INFOBAR_PERMISSION_FRAGMENT" desc="Permission fragment used in the permission bubble, after 'This site would like to:' asking for permission to access the user's physical location.">
      Location
    </message>
    <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_PERMISSION_FRAGMENT" desc="Permission asked in the permission bubble when a URL wants to access MIDI devices with system exclusive messages, along with other permissions requests. Preceded by the prompt 'This site would like to:'">
      MIDI (sound) 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_MESSAGE" desc="Message that is used to suggest reloading when media (camera, microphone) settings was changed by the user. These settings are immediately effective, but the web page might not know how to deal with the new settings.">
      This page may need to be reloaded before the new settings take effect.
    </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 title of the save password bubble when a password can be saved.">
      Do you want Google Chrome to save your password for this site?
    </message>
    <message name="IDS_MANAGE_PASSWORDS_CONFIRM_GENERATED_TITLE" desc="The title text that is used in the manage passwords bubble when the user has generated a password.">
      Generated password saved
    </message>
    <message name="IDS_MANAGE_PASSWORDS_CONFIRM_GENERATED_TEXT" desc="A message that the browser shows after saving a password it has autogenerated for the user. This message appears in a bubble and contains a link to all the user's saved autogenerated passwords. The link text is a separate string in the translation console and appears here as placeholder text.">
      You can access it and all your <ph name="SAVED_PASSWORDS_LINK">$1<ex>Google saved passwords</ex></ph> from any browser.
    </message>
    <message name="IDS_MANAGE_PASSWORDS_CONFIRM_GENERATED_TEXT_INFOBAR" desc="A message that the browser shows after saving a password it has autogenerated for the user. This message appears in an infobar and contains a link to all the user's saved autogenerated passwords. The link text is a separate string in the translation console and appears here as placeholder text.">
      Generated password saved. You can access it and all your <ph name="SAVED_PASSWORDS_LINK">$1<ex>Google saved passwords</ex></ph> from any browser.
    </message>
    <message name="IDS_MANAGE_PASSWORDS_CONFIRM_GENERATED_LINK" desc="The text for a link to the user's saved autogenerated passwords. This is inserted into an infobar or a bubble that the browser shows to the user after it saves an autogenerated password. The infobar and the bubble use a separate string in the translation console that has a placeholder for this link title.">
      Google saved passwords
    </message>
    <message name="IDS_MANAGE_PASSWORDS_TITLE" 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_BLACKLISTED" desc="The text that is used in the manage passwords bubble when the current site is blacklisted.">
      You chose not to allow passwords to be saved on this site.
    </message>
    <message name="IDS_MANAGE_PASSWORDS_BLACKLISTED_TITLE" desc="The title text that is used in the manage passwords bubble when the current site is blacklisted.">
      Passwords won't be saved
    </message>
    <message name="IDS_MANAGE_PASSWORDS_BLACKLIST_CONFIRMATION_TITLE" desc="The title text that is used in the manage passwords bubble when confirming blacklisting a site.">
      Delete existing saved passwords
    </message>
    <message name="IDS_MANAGE_PASSWORDS_BLACKLIST_CONFIRMATION_TEXT" desc="The confirmation text that is used in the manage passwords bubble when confirming blacklisting a site.">
      Choosing to never save passwords will delete all passwords currently saved for this site.
    </message>
    <message name="IDS_MANAGE_PASSWORDS_BLACKLIST_CONFIRMATION_BUTTON" desc="The confirmation button that is used in the manage passwords bubble when confirming blacklisting a site.">
      Delete saved passwords
    </message>
    <message name="IDS_MANAGE_PASSWORDS_REMOTE_TEXT" desc="The text used to tell inform users of how to manage their passwords from a website. Text between |bars| is link text.">
      Manage passwords remotely on your |Google Account|
    </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>

    <message name="IDS_ALLOW_AUTOFILL_SYNC_CREDENTIAL" desc="The text for the choice to allow autofilling in about:flags">
      Allow
    </message>
    <message name="IDS_DISALLOW_AUTOFILL_SYNC_CREDENTIAL" desc="The text for the choice to not allow autofilling in about:flags">
      Disallow
    </message>
    <message name="IDS_DISALLOW_AUTOFILL_SYNC_CREDENTIAL_FOR_REAUTH" desc="The text for the choice to not allow autofilling for reauth pages in about:flags">
      Disallow for reauth
    </message>

    <!-- Update Recommended dialog -->
    <if expr="not 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="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 use_titlecase">
      <message name="IDS_NOT_NOW" desc="The button label for delaying the relaunch and updating Chrome.">
        Not now
      </message>
    </if>
    <if expr="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>

    <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_YAMA_LSM" desc="The name of a Linux security module. It is a technical term that should be left untranslated.">
        Yama LSM enforcing
      </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>

    <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>

    <!-- 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="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 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_HOSTNAME">$1<ex>google.com</ex></ph> to open all <ph name="PROTOCOL">$2<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_HOSTNAME">$1<ex>google.com</ex></ph> to open all <ph name="PROTOCOL">$2<ex>search</ex></ph> links instead of <ph name="REPLACED_HANDLER_TITLE">$3<ex>Elgoog Search</ex></ph>?
    </message>
    <message name="IDS_REGISTER_PROTOCOL_HANDLER_CONFIRM_FRAGMENT" desc="The permission fragment to display when asking a user to confirm the registration of a protocol handler in a permission bubble. Follows a prompt 'This site would like to:'.">
      <ph name="PROTOCOL">$3<ex>search</ex></ph> links
    </message>
    <message name="IDS_REGISTER_PROTOCOL_HANDLER_CONFIRM_REPLACE_FRAGMENT" desc="The permission fragment to display when asking a user to confirm the registration of a protocol handler. Follows a prompt 'This site would like to:'.">
      <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.">
      Allow
    </message>
    <message name="IDS_REGISTER_PROTOCOL_HANDLER_DENY" desc="Text to show for the deny button for the register protocol handler request infobar.">
      Deny
    </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 reader related strings. Not used on Android -->
    <if expr="not is_android">
      <!-- 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>
      <if expr="is_win">
        <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>
      </if>
      <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>
    </if>

    <!-- 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_AUDIO_AND_VIDEO_PERMISSION_FRAGMENT" desc="Permission fragment shown in the permissions bubble when a web page requests access to the computer's microphone and camera.">
      Camera and Microphone
    </message>
    <message name="IDS_MEDIA_CAPTURE_AUDIO_ONLY_PERMISSION_FRAGMENT" desc="Permission fragment shown in the permissions bubble when a web page requests access to the computer's microphone.">
      Microphone
    </message>
    <message name="IDS_MEDIA_CAPTURE_VIDEO_ONLY_PERMISSION_FRAGMENT" desc="Permission fragment shown in the permissions bubble when a web page requests access to the computer's camera.">
      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>
    <message name="IDS_REQUEST_QUOTA_PERMISSION_FRAGMENT" desc="Permission fragment presented in the permission bubble when the webapp requests new larger quota to persistently store data on the device. Follows a 'This site would like to:' prompt.">
      Local data storage
    </message>

    <!-- Android does not support multiple profiles and supervised users -->
    <if expr="not is_android">
      <!-- Manage Profile Dialog -->
      <message name="IDS_PROFILES_MANAGE_TITLE" desc="Title of the manage profile dialog">
        Edit
      </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">
        Remove person?
      </message>
      <message name="IDS_PROFILES_DELETE_OK_BUTTON_LABEL" desc="The text to display on the button to confirm deleting the profile.">
        Remove
      </message>
      <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 remove "<ph name="PROFILE_NAME">$1<ex>New User</ex></ph>" and all associated Chrome data from this computer? This cannot be undone.
      </message>
      <message name="IDS_PROFILES_DELETE_SUPERVISED_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_DISCONNECT_MANAGED_PROFILE_TITLE" desc="Title of the disconnect managed profile dialog.">
        Disconnect your Google Account
      </message>
      <message name="IDS_PROFILES_DISCONNECT_MANAGED_PROFILE_DOMAIN_INFORMATION" desc="The text that provides the domain information.">
        This account is managed by <ph name="DOMAIN">$1<ex>example.com</ex></ph>
      </message>
      <message name="IDS_PROFILES_DISCONNECT_MANAGED_PROFILE_OK_BUTTON_LABEL" desc="The text to display on the button that clears the data and disconnect user account.">
        Clear data and disconnect
      </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_LIST_SUPERVISED_USER_LABEL" desc="Text to display in the multi-profiles list next to the profile name when this profile is supervised.">
        (Supervised)
      </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">
        Add person
      </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_EXISTING_SUPERVISED_USER_ERROR" desc="Message shown when the user enters the name of a supervised user that can be imported.">
        Looks like you're already managing a user by that name.<ph name="LINE_BREAK">&lt;br/&gt;</ph>Did you want to <ph name="BEGIN_LINK">&lt;a is="action-link" id="supervised-user-import-existing"&gt;</ph>import <ph name="PROFILE_NAME">$1<ex>John</ex></ph> to this device<ph name="END_LINK">&lt;/a&gt;</ph>?
      </message>
      <message name="IDS_PROFILES_CREATE_SUPERVISED_SIGNED_IN_LABEL" desc="Label for the 'Supervised user' checkbox in the create-profile dialog when the current user is signed in.">
        Control and view the websites this person visits from <ph name="CUSTODIAN_EMAIL">$1<ex>user@gmail.com</ex></ph>.
      </message>
      <message name="IDS_PROFILES_CREATE_SUPERVISED_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 sign-in information is invalid. This will be followed by a 'Sign in again' link.">
        Control and view the websites this person visits from <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_SUPERVISED_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_SUPERVISED_NOT_SIGNED_IN_HTML" desc="Label for the (disabled) 'Supervised user' checkbox in the create-profile dialog when the current user is not signed in, containing a link to the sign in page.">
        <ph name="BEGIN_SIGN_IN_LINK">&lt;a is="action-link" id="create-profile-supervised-sign-in-link"&gt;</ph>Sign in<ph name="END_SIGN_IN_LINK">&lt;/a&gt;</ph> to control and view the websites this person visits.
      </message>
      <message name="IDS_PROFILES_CREATE_SUPERVISED_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_SUPERVISED_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_SUPERVISED_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>

      <!-- Supervised-user creation wizard dialogs -->
      <message name="IDS_SUPERVISED_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_SUPERVISED_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 bookmarks, browsing history, and other preferences will not follow them to other devices with Chrome Sync.

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_SUPERVISED_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_SUPERVISED_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_SUPERVISED_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_SUPERVISED_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_SUPERVISED_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_SUPERVISED_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_SUPERVISED_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 supervised user
      </message>
      <message name="IDS_IMPORT_EXISTING_SUPERVISED_USER_OK" desc="Text on the button to confirm importing an existing supervised user.">
        Import supervised user
      </message>
      <message name="IDS_SUPERVISED_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_SUPERVISED_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_SUPERVISED_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_SUPERVISED_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_SUPERVISED_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_SUPERVISED_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_SUPERVISED_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_SUPERVISED_USER_SELECT_AVATAR_OK" desc="Text on the button to confirm the avatar selection for the supervised user being imported.">
        Ok, import
      </message>
    </if>

    <if expr="not is_android and not is_ios">
      <!-- User manager web UI -->
      <if expr="use_titlecase">
        <if expr="not chromeos">
          <message name="IDS_ADD_USER_BUTTON" desc="Text shown on an add user button on login/locker screen">
            Add Person
          </message>
          <message name="IDS_LOGIN_POD_USER_REMOVE_WARNING_BUTTON" desc="Text shown on a button that confirms removal of a user.">
            Remove This Person
          </message>
        </if>
        <if expr="chromeos">
          <message name="IDS_ADD_USER_BUTTON" desc="Text shown on an add user button on login/locker screen">
            Add User
          </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_SCREEN_LOCK_SIGN_OUT">
          Sign out
        </message>
        <message name="IDS_LOGIN_BUTTON">
          Sign in
        </message>
      </if>
      <if expr="not use_titlecase">
        <if expr="not chromeos">
          <message name="IDS_ADD_USER_BUTTON" desc="Text shown on an add user button on login/locker screen">
            Add person
          </message>
          <message name="IDS_LOGIN_POD_USER_REMOVE_WARNING_BUTTON" desc="Text shown on a button that confirms removal of a user.">
            Remove this person
          </message>
        </if>
        <if expr="chromeos">
          <message name="IDS_ADD_USER_BUTTON" desc="Text shown on an add user button on login/locker screen">
            Add user
          </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_SCREEN_LOCK_SIGN_OUT">
          Sign out
        </message>
        <message name="IDS_LOGIN_BUTTON">
          Sign in
        </message>
      </if>
      <if expr="chromeos">
        <message name="IDS_LAUNCH_APP_BUTTON" desc="Text shown on the button that launches kiosk app from Chrome OS login UI">
          Launch app
        </message>
      </if>
      <message name="IDS_GO_INCOGNITO_BUTTON" desc="Text shown on Chrome OS sign-in 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_ERROR_AUTHENTICATING_OFFLINE" desc="Couldn't unlock because the password can't be validated locally and the user is offline">
        Sorry, your password could not be verified because you are offline.
      </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 sign-in 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>
      <message name="IDS_LOGIN_POD_SUPERVISED_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 expr="not 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>

      <!-- User manager tutorial -->
      <message name="IDS_USER_MANAGER_TUTORIAL_NEXT" desc="Text of the button that advances the tutorial to the next slide">
        Next
      </message>
      <message name="IDS_USER_MANAGER_TUTORIAL_DONE" desc="The text of the OK button on the last tutorial slide">
        OK, got it
      </message>
      <message name="IDS_USER_MANAGER_TUTORIAL_SLIDE_GUEST_TITLE" desc="Title of the guest user slide">
        Share with guests
      </message>
      <message name="IDS_USER_MANAGER_TUTORIAL_SLIDE_FRIENDS_TITLE" desc="Title of the friends and family slide">
        Add family and friends
      </message>
      <message name="IDS_USER_MANAGER_TUTORIAL_SLIDE_OUTRO_TITLE" desc="Title of the tutorial completion slide">
        You're almost done!
      </message>
      <message name="IDS_USER_MANAGER_TUTORIAL_SLIDE_OUTRO_USER_NOT_FOUND" desc="Text of the label asking the user if they see their name">
        Don't see your name?
      </message>
    </if>

    <!-- Aura strings -->
    <if expr="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>
    </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_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 lock and the new avatar menu UI.
    </message>
    <message name="IDS_FLAGS_ENABLE_ACCOUNT_CONSISTENCY_NAME" desc="Title for the flag to enable the account consistency between browser and cookie jar.">
      Enable identity consistency between browser and cookie jar
    </message>
    <message name="IDS_FLAGS_ENABLE_ACCOUNT_CONSISTENCY_DESCRIPTION" desc="Description for the flag to enable the account consistency between browser and cookie jar.">
      When enabled, the browser manages signing in and out of Google accounts.
    </message>
    <message name="IDS_FLAGS_ENABLE_FAST_USER_SWITCHING_NAME" desc="Title for the flag to enable fast user switching.">
      Enable fast user switching in the avatar menu
    </message>
    <message name="IDS_FLAGS_ENABLE_FAST_USER_SWITCHING_DESCRIPTION" desc="Description for the flag to enable fast user switching">
      Enables fast switching between users in the avatar menu.
    </message>
    <message name="IDS_FLAGS_ENABLE_NEW_AVATAR_MENU_NAME" desc="Title for the flag to enable the new avatar menu.">
      Enable the new avatar menu
    </message>
    <message name="IDS_FLAGS_ENABLE_NEW_AVATAR_MENU_DESCRIPTION" desc="Description for the flag to enable the new avatar menu.">
      Enables the new avatar menu. When combined with new-profile-management, it simply shows the new profile management avatar menu. Otherwise it shows a redesigned avatar menu with the same functionality as the old one, plus a tutorial card at the top prompting the user to try out the new profile management UI.
    </message>

    <message name="IDS_FLAGS_ENABLE_WEB_BASED_SIGNIN_NAME" desc="Title for the flag to enable web-based sign-in flows.">
      Enable pure web-based sign-in flows
    </message>
    <message name="IDS_FLAGS_ENABLE_WEB_BASED_SIGNIN_DESCRIPTION" desc="Description for the flag to enable web-based sign-in flows">
      When enabled, will use a pure web-based sign-in flow on first run/NTP/wrench menu/settings page. Otherwise use a native flow with embedded webview.
    </message>
    <message name="IDS_FLAGS_ENABLE_WEBVIEW_BASED_SIGNIN_NAME" desc="Title for the flag to enable webview-based sign-in flows.">
      Enables webview-based Chrome sign-in flows. This flag overrides --enable-web-based-signin.
    </message>
    <message name="IDS_FLAGS_ENABLE_WEBVIEW_BASED_SIGNIN_DESCRIPTION" desc="Description for the flag to enable webview-based sign-in flows">
      When enabled, will use a webview-based Chrome sign-in flow.
    </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_OFFLINE_AUTO_RELOAD_NAME" desc="Name of the flag to make pages which failed to load while offline auto-reload">
      Enable Offline Auto-Reload Mode
    </message>
    <message name="IDS_FLAGS_ENABLE_OFFLINE_AUTO_RELOAD_DESCRIPTION" desc="Description of the flag to make pages which failed to load while offline auto-reload">
      Pages that fail to load while the browser is offline will be auto-reloaded when the browser is online again.
    </message>
    <message name="IDS_FLAGS_ENABLE_OFFLINE_AUTO_RELOAD_VISIBLE_ONLY_NAME" desc="Name of the flag to only enable auto-reload on visible tabs">
      Only Auto-Reload Visible Tabs
    </message>
    <message name="IDS_FLAGS_ENABLE_OFFLINE_AUTO_RELOAD_VISIBLE_ONLY_DESCRIPTION" desc="Description of the flag to only auto-reload visible tabs">
      Pages that fail to load while the browser is offline will only be auto-reloaded if their tab is visible.
    </message>
    <message name="IDS_FLAGS_ENABLE_OFFLINE_LOAD_STALE_NAME" desc="Name of the flag to enable offering users the option of loading a stale copy of a page when an error occurs.">
      Enable Offline Load Stale Button
    </message>
    <message name="IDS_FLAGS_ENABLE_OFFLINE_LOAD_STALE_DESCRIPTION" desc="Description of the flag to enable offering users the option of loading a stale copy of a page when an error occurs.">
      When a page fails to load, if a stale copy of the page exists in the browser, a button will be presented to allow the user to load that stale copy.
    </message>

    <if expr="chromeos">
      <message name="IDS_FLAGS_AUTO_VIRTUAL_KEYBOARD_NAME" desc="Name of about:flags option to turn on automatic deployment of the virtual keyboard.">
        Auto Virtual Keyboard
      </message>
      <message name="IDS_FLAGS_AUTO_VIRTUAL_KEYBOARD_DESCRIPTION" desc="Description of about:flags option to turn on automatic deployment of the virtual keyboard">
        Enable automatic deployment of the virtual keyboard.
      </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_VIRTUAL_KEYBOARD_OVERSCROLL_NAME" desc="Name of about:flags option to turn on the overscrolling for the virtual keyboard">
        Virtual Keyboard Overscroll
      </message>
      <message name="IDS_FLAGS_ENABLE_VIRTUAL_KEYBOARD_OVERSCROLL_DESCRIPTION" desc="Description of about:flags option to turn on overscrolling for the virtual keyboard">
        Enable virtual keyboard overscroll 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>

      <message name="IDS_FLAGS_ENABLE_INPUT_VIEW_NAME" desc="Name of about::flags option to enable IME extensions to override the virtual keyboard view">
        Enable input views.
      </message>
      <message name="IDS_FLAGS_ENABLE_INPUT_VIEW_DESCRIPTION" desc="Description of about::flags option to enable IME extensions to override the virtual keyboard view">
        Enable IME extensions to supply custom views for user input such as  virtual keyboards.
      </message>

      <message name="IDS_FLAGS_ENABLE_NEW_KOREAN_IME_NAME" desc="Name of about::flags option to enable the new Korean IME">
        Enable new Korean IME.
      </message>
      <message name="IDS_FLAGS_ENABLE_NEW_KOREAN_IME_DESCRIPTION" desc="Description of about::flags option to enable the new Korean IME">
        Enable new Korean IME, which is based on Google Input Tools' HMM engine.
      </message>

      <message name="IDS_FLAGS_ENABLE_PHYSICAL_KEYBOARD_AUTOCORRECT_NAME" desc="Name of about::flags option to enable physical keyboard autocorrect for US keyboard">
        Enable physical keyboard autocorrect.
      </message>
      <message name="IDS_FLAGS_ENABLE_PHYSICAL_KEYBOARD_AUTOCORRECT_DESCRIPTION" desc="Description of about::flags option to enable physical keyboard autocorrect for US keyboard">
        Enable physical keyboard autocorrect for US keyboard, which can provide suggestions as typing on physical keyboard.
      </message>

      <message name="IDS_FLAGS_ENABLE_EXPERIMENTAL_INPUT_VIEW_FEATURES_NAME" desc="Name of about::flags option to enable experimental features for IME input-views">
        Experimental input view features.
      </message>
      <message name="IDS_FLAGS_ENABLE_EXPERIMENTAL_INPUT_VIEW_FEATURES_DESCRIPTION" desc="Description of about::flags option to enable experimental features for IME input-views">
        Enable experimental features for IME input views.
      </message>
      <message name="IDS_FLAGS_ENABLE_REMOTE_ASSISTANCE_NAME" desc="Name of about::flags option to enable remote assistance on Chrome OS">
        Enable Remote Assistance
      </message>
      <message name="IDS_FLAGS_ENABLE_REMOTE_ASSISTANCE_DESCRIPTION" desc="Description of about::flags option to enable remote assistance on Chrome OS.">
        Accepts remote assistance connections to this machine via the Chrome Remote Desktop app.
      </message>
    </if>

    <!-- Strings for controlling the minimum SSL/TLS version in about:flags. -->
    <message name="IDS_FLAGS_SSL_VERSION_MIN_NAME" desc="Name of about::flags option to control the minimum supported SSL/TLS version">
      Minimum SSL/TLS version supported.
    </message>
    <message name="IDS_FLAGS_SSL_VERSION_MIN_DESCRIPTION" desc="Description of about::flags option to control the minimum supported SSL/TLS version">
      Configure the minimum SSL/TLS version that can be used when connecting to HTTPS servers.
    </message>
    <message name="IDS_FLAGS_SSL_VERSION_DEFAULT" desc="The description of the default value for the minimum SSL/TLS version.">
      Default
    </message>
    <message name="IDS_FLAGS_SSL_VERSION_SSLV3" desc="Name of SSLv3. This is a technical term and it's very unlikely that any translation will be needed.">
      SSLv3
    </message>
    <message name="IDS_FLAGS_SSL_VERSION_TLSV1" desc="Name of TLS 1.0. This is a technical term and it's very unlikely that any translation will be needed.">
      TLS 1.0
    </message>
    <message name="IDS_FLAGS_SSL_VERSION_TLSV11" desc="Name of TLS 1.1. This is a technical term and it's very unlikely that any translation will be needed.">
      TLS 1.1
    </message>
    <message name="IDS_FLAGS_SSL_VERSION_TLSV12" desc="Name of TLS 1.2. This is a technical term and it's very unlikely that any translation will be needed.">
      TLS 1.2
    </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>

    <!-- Windows 8 Metro mode. -->
    <if expr="is_win">
      <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_WIN_DESKTOP_OPEN"
               desc="Text for the infobar button to open Chrome in desktop mode.">
        Open Chrome on the desktop
      </message>
      <message name="IDS_WIN_DESKTOP_RESTART"
               desc="Text for the menu item to restart Chrome in desktop mode. Applies 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. Applies to Windows 8 only">
        Relaunch Chrome in Windows 8 mode
      </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 and then restarted. Dialog is shown with choices: OK, Cancel.">
        Relaunching in Windows 8 mode will close and relaunch your Chrome apps.
      </message>
      <message name="IDS_WIN_CHROMEOS_RESTART"
               desc="Text for the menu item to restart chrome in chrome os. Aplies to Windows 7 only">
        Relaunch in Chrome immersive mode
      </message>
      <message name="IDS_WIN_PROMPT_TO_CLOSE_APPS_FOR_CHROMEOS"
               desc="Modal message box prompt shown to the user after requesting to relaunch in Windows Chrome OS mode while packaged apps are running, which will require all packaged apps to be closed and then restarted. Dialog is shown with choices: OK, Cancel.">
        Relaunching in Chrome immersive mode will close and relaunch your Chrome apps.
      </message>
      <message name="IDS_WIN_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 and then restarted. Dialog is shown with choices: OK, Cancel.">
        Relaunching in Desktop mode will close and relaunch your Chrome apps.
      </message>
    </if>

    <!-- Media Galleries. -->
    <if expr="not is_android">
      <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 that 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 that 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 that 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_PERMISSION_SUGGESTIONS" desc="Header in media gallery permission dialog for locations that the app does not have permission for.">
        Suggestions
      </message>
      <message name="IDS_MEDIA_GALLERIES_SCAN_RESULT_DIALOG_HEADER" desc="Header for media gallery scan result dialog.">
        Add folders to "<ph name="EXTENSION">$1<ex>Photo Editor</ex></ph>"?
      </message>
      <message name="IDS_MEDIA_GALLERIES_SCAN_RESULT_DIALOG_SUBTEXT_READ_WRITE" desc="Explanatory text for the media gallery scan result dialog. Indicates that the specified (by name) extension will have read and write access to the selected folders.">
        "<ph name="EXTENSION">$1<ex>PhotoEditor</ex></ph>" will be able to read and write images, video, and sound files in the checked folders.
      </message>
      <message name="IDS_MEDIA_GALLERIES_SCAN_RESULT_DIALOG_SUBTEXT_READ_DELETE" desc="Explanatory text for the media gallery scan result dialog. Indicates that the specified (by name) extension will have read and delete access to the selected folders.">
        "<ph name="EXTENSION">$1<ex>PhotoEditor</ex></ph>" will be able to read and delete images, video, and sound files in the checked folders.
      </message>
      <message name="IDS_MEDIA_GALLERIES_SCAN_RESULT_DIALOG_SUBTEXT_READ_ONLY" desc="Explanatory text for the media gallery scan result dialog. Indicates that the specified (by name) extension will have read-only access to the selected folders.">
        "<ph name="EXTENSION">$1<ex>PhotoEditor</ex></ph>" will be able to read images, video, and sound files in the checked folders.
      </message>
      <message name="IDS_MEDIA_GALLERIES_SCAN_RESULT_OPEN_FOLDER_VIEW_ACCESSIBILITY_NAME" desc="Accessibility name for an icon that opens the folder view of a gallery from the media galleries scan result dialog.">
        Show in folder
      </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="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>
        <message name="IDS_MEDIA_GALLERIES_SCAN_RESULT_DIALOG_CONFIRM" desc="In title case: The text for the accept button on the media galleries scan result dialog. The results of the dialog are added as new galleries.">
          Add
        </message>
      </if>
      <if expr="not 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>
        <message name="IDS_MEDIA_GALLERIES_SCAN_RESULT_DIALOG_CONFIRM" desc="In sentence case: The text for the accept button on the media galleries scan result dialog. The results of the dialog are added as new galleries.">
          Add
        </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>
    </if>

    <!-- App List. -->
    <if expr="enable_app_list">
      <message name="IDS_APP_LIST_START_SPEECH_RECOGNITION" desc="Tooltip text for the button to start the speech recognition.">
        Click to start voice search
      </message>
      <message name="IDS_APP_LIST_HOTWORD_LISTENING" desc="Tooltip text for the mic button when it waits for the hotword.">
        Click or say "Ok, Google" to start voice search
      </message>
      <if expr="not 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>
        <if expr="is_macosx">
          <message name="IDS_APP_LIST_UNINSTALL_ITEM"
                   desc="Title text for the 'uninstall' context menu item of an app list item.">
            Uninstall
          </message>
        </if>
        <if expr="not is_macosx">
          <message name="IDS_APP_LIST_UNINSTALL_ITEM"
                   desc="Title text for the 'uninstall' context menu item of an app list item.">
            Uninstall...
          </message>
        </if>
        <message name="IDS_SEARCH_BOX_HINT" desc="Hint text for the search box in app list window.">
          Search
        </message>
        <message name="IDS_SEARCH_BOX_HOTWORD_HINT" desc="Hint text for the search box in app list window when the hotword is enabled.">
          Search, or say "Ok Google"
        </message>
        <message name="IDS_APP_LIST_SIGNIN_BUTTON" desc="App launcher sign-in button text.">
          Sign in
        </message>
        <message name="IDS_APP_LIST_SIGNIN_LEARN_MORE_TEXT" desc="App launcher sign-in 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>
        <message name="IDS_APP_LIST_OEM_DEFAULT_FOLDER_NAME" desc="The default name for OEM folders in the App Launcher">
          OEM folder
        </message>
      </if>
      <message name="IDS_ADD_TO_APP_LIST_NOTIFICATION_TEXT" desc="Text explaining that the current site can be added to the App Launcher.">
        This page can be added to the App Launcher
      </message>
      <message name="IDS_ADD_TO_APP_LIST_HINT" desc="Hint text for the button allowing the current site to be added to the App Launcher.">
        Add to the App Launcher
      </message>
      <if expr="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>
        <if expr="is_macosx">
          <message name="IDS_APP_LIST_UNINSTALL_ITEM"
                   desc="Title text for the 'uninstall' context menu item of an app list item.">
            Uninstall
          </message>
        </if>
        <if expr="not is_macosx">
          <message name="IDS_APP_LIST_UNINSTALL_ITEM"
                   desc="Title text for the 'uninstall' context menu item of an app list item.">
            Uninstall...
          </message>
        </if>
        <message name="IDS_SEARCH_BOX_HINT" desc="Hint text for the search box in app list window.">
          Search
        </message>
        <message name="IDS_SEARCH_BOX_HOTWORD_HINT" desc="Hint text for the search box in app list window when the hotword is enabled.">
          Search or say "Ok, Google"
        </message>
        <message name="IDS_APP_LIST_SIGNIN_BUTTON" desc="App launcher sign-in button text.">
          Sign in
        </message>
        <message name="IDS_APP_LIST_SIGNIN_LEARN_MORE_TEXT" desc="App launcher sign-in 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>
        <message name="IDS_APP_LIST_OEM_DEFAULT_FOLDER_NAME" desc="The default name for OEM folders in the App Launcher">
          OEM Folder
        </message>
      </if>
      <message name="IDS_APP_LIST_SIGNIN_LEARN_MORE_LINK" desc="App launcher sign-in 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 sign-in settings link text.">
        App Launcher Settings
      </message>
    </if>

    <!-- 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 the Settings app.
      </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_SUPERVISED_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_SUPERVISED_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_ACCESSIBLE_TITLE" desc="The accessibility name of the popup asking users if they would like Chrome to generate a password for them.">
      Password Suggestion
    </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>

    <!-- Translated apps strings -->
    <message name="IDS_CHROME_SHORTCUT_DESCRIPTION" desc="Description for the Chrome app shortcut in the app launcher.">
      A fast, simple, and secure web browser, built for the modern web.
    </message>
    <message name="IDS_WEBSTORE_NAME_STORE" desc="Name for the WebStore app in the app launcher.">
      Web Store
    </message>
    <message name="IDS_WEBSTORE_APP_DESCRIPTION" desc="Description for the WebStore app.">
      Discover great apps, games, extensions and themes for Google Chrome.
    </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.">
      Try
    </message>
    <message name="IDS_WEBSTORE_RESULT_LAUNCH_APP_TOOLTIP" desc="Tooltip of button on WebStore search result for launching an ephemeral app.">
      Try app without installing
    </message>

    <!-- Extension Storage Monitor notification strings -->
    <message name="IDS_EXTENSION_STORAGE_MONITOR_TITLE" desc="The title of the notification when high disk usage is detected for an app or extension.">
      High disk usage detected
    </message>
    <message name="IDS_EXTENSION_STORAGE_MONITOR_TEXT" desc="The message of the notification when high disk usage is detected for an app or extension.">
      <ph name="NAME">$1<ex>Google Docs</ex></ph> is using <ph name="USAGE">$2<ex>500</ex></ph> MB of disk space.
    </message>
    <message name="IDS_EXTENSION_STORAGE_MONITOR_BUTTON_DISMISS_APP" desc="Caption for the button to suppress high disk usage notifications for an app.">
      Don't warn again for this app
    </message>
    <message name="IDS_EXTENSION_STORAGE_MONITOR_BUTTON_DISMISS_EXTENSION" desc="Caption for the button to suppress high disk usage notifications for an extension.">
      Don't warn again for this extension
    </message>
    <message name="IDS_EXTENSION_STORAGE_MONITOR_BUTTON_UNINSTALL_APP" desc="Caption for the button to uninstall an app when high disk usage is detected.">
      Remove app
    </message>
    <message name="IDS_EXTENSION_STORAGE_MONITOR_BUTTON_UNINSTALL_EXTENSION" desc="Caption for the button to uninstall an extension when high disk usage is detected.">
      Remove extension
    </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 requested by an app.">
      Share your screen - <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 requested by an app to be used by the app itself.">
      <ph name="APP_NAME">$1<ex>Google Hangouts</ex></ph> would like to share the contents of your screen. Choose what you'd like to share.
    </message>
    <message name="IDS_DESKTOP_MEDIA_PICKER_TEXT_DELEGATED" desc="Text for the window picker dialog shown when desktop capture is requested by an app to be used by a tab.">
      <ph name="APP_NAME">$1<ex>Google Hangouts</ex></ph> would like to share the content of your screen with <ph name="TARGET_NAME">$2<ex>https://google.com</ex></ph>. Choose what you'd like to share.
    </message>
    <message name="IDS_DESKTOP_MEDIA_PICKER_SINGLE_SCREEN_NAME" desc="Name for screens in the desktop media picker UI when there is only one monitor.">
      Entire screen
    </message>
    <message name="IDS_DESKTOP_MEDIA_PICKER_MULTIPLE_SCREEN_NAME" desc="Name for screens in the desktop media picker UI when there are multiple monitors.">
      Screen <ph name="SCREEN_INDEX">$1<ex>1</ex></ph>
    </message>

    <!-- Local Device Discovery display strings -->
    <if expr="enable_service_discovery">
      <message name="IDS_FLAGS_ENABLE_CLOUD_DEVICES_NAME" desc="Name of the 'Enable Cloud Devices' lab.">
        Enable Google Cloud Devices
      </message>
      <message name="IDS_FLAGS_ENABLE_CLOUD_DEVICES_DESCRIPTION" desc="Description of the 'Enable Cloud Devices' lab.">
        Enabled Google Cloud Devices features.
      </message>
      <message name="IDS_LOCAL_DISCOVERY_SERVICE_REGISTER" desc="Name for button to register device in the Cloud">
        Register
      </message>
      <message name="IDS_LOCAL_DISCOVERY_MANAGE_DEVICE" desc="Name for button to manage registered device">
        Manage
      </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_PRINTER_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_DEVICE_CONFIRMATION" desc="Confirmation for registering a device to Google Cloud Devices">
        Do you wish to register <ph name="DEVICE_NAME">$1</ph> to Google Cloud Devices?
      </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_ADDING_DEVICE" desc="Title for 'adding device' page">
        Adding device...
      </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_ADDING_DEVICE_MESSAGE1" desc="Message for adding device number 1">
        Adding the device to your account - this may take a moment...
      </message>
      <message name="IDS_LOCAL_DISCOVERY_CONFIRM_CODE_MESSAGE" desc="Message for confirming device security code">
        Make sure the device is showing the same code.
      </message>
      <message name="IDS_LOCAL_DISCOVERY_CONFIRM_CODE" desc="button name to confirming security code">
        Confirm
      </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_PRINTER" desc="Description for printer with an empty description">
        Printer on Google Cloud Print
      </message>
      <message name="IDS_LOCAL_DISCOVERY_NO_DESCRIPTION_DEVICE" desc="Description for device with an empty description">
        Device on Google Cloud Devices
      </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>
    <message name="IDS_TOOLTIP_TAB_MEDIA_STATE_AUDIO_MUTING" desc="Extra tool tip text, when all tab audio output is muted.">
      This tab's audio is being muted.
    </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 -->
    <if expr="chromeos">
      <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>
      <message name="IDS_A11Y_ALERT_WINDOW_OVERVIEW_MODE_ENTERED" desc="The accessible text read when the user enters window overview mode in Ash.">
        Entered window overview mode
      </message>
    </if>

    <message name="IDS_DESKTOP_MEDIA_PICKER_SHARE" desc="Used for Share on buttons">
      Share
    </message>

    <message name="IDS_REMEMBER_CERTIFICATE_ERROR_DECISION_CHOICE_ONE_DAY">
      Remember for one day
    </message>
    <message name="IDS_REMEMBER_CERTIFICATE_ERROR_DECISION_CHOICE_THREE_DAYS">
      Remember for three days
    </message>
    <message name="IDS_REMEMBER_CERTIFICATE_ERROR_DECISION_CHOICE_ONE_WEEK">
      Remember for one week
    </message>
    <message name="IDS_REMEMBER_CERTIFICATE_ERROR_DECISION_CHOICE_ONE_MONTH">
      Remember for one month
    </message>
    <message name="IDS_REMEMBER_CERTIFICATE_ERROR_DECISION_CHOICE_THREE_MONTHS">
      Remember for three months
    </message>

    <!-- Zero suggest experiment flags -->
    <if expr="is_android">
      <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_MOST_VISITED_WITHOUT_SERP" desc="A choice in dropdown dialog on about:flags page to show most visited option on non-search pages">
        Most visited excl. search pages
      </message>
    </if>

    <message name="IDS_FLAGS_IGNORE_AUTOCOMPLETE_OFF_AUTOFILL_NAME" desc="Name of the ignore autocomplete='off' for Autofill lab">
      Ignore autocomplete='off' (Autofill)
    </message>
    <message name="IDS_FLAGS_IGNORE_AUTOCOMPLETE_OFF_AUTOFILL_DESCRIPTION" desc="Description of the ignore autocomplete='off' for Autofill lab">
      Ignore autocomplete='off' for forms that Chrome can Autofill with credit card or address data.
    </message>

    <!-- Reader mode experiment flags -->
    <if expr="is_android">
      <message name="IDS_FLAGS_READER_MODE_EXPERIMENT_NAME" desc="An about:flags experiment for reading mode UI">
        Enable Reader Mode Toolbar Icon
      </message>
      <message name="IDS_FLAGS_READER_MODE_EXPERIMENT_DESCRIPTION" desc="Describes about:flags experiment options for reading mode UI">
        Adds a button to the toolbar for viewing a more readable version of the current page.
      </message>
    </if>
    <!-- Prefetch search results experiment flags -->
    <message name="IDS_FLAGS_PREFETCH_SEARCH_RESULTS_NAME" desc="An about::flags experiment title to prefetch search results">
      Prefetch search results
    </message>
    <message name="IDS_FLAGS_PREFETCH_SEARCH_RESULTS_DESCRIPTION" desc="Describes an about:flags experiment for prefetching search results">
      If enabled, prefetch search results for the typed omnibox query and reuse prerendered search base page to commit any search query (not just prefetch query).
    </message>

    <!-- Settings window flags -->
    <message name="IDS_FLAGS_ENABLE_SETTINGS_WINDOW_NAME" desc="An about::flags experiment title to show settings in a separate window">
      Show settings in a window
    </message>
    <message name="IDS_FLAGS_ENABLE_SETTINGS_WINDOW_DESCRIPTION" desc="Describes an about:flags experiment to show settings in a separate window">
      If enabled, Settings will be shown in a dedicated window instead of as a browser tab.
    </message>

    <!-- Instant search clicks experiment flags -->
    <if expr="is_android">
      <message name="IDS_FLAGS_ENABLE_INSTANT_SEARCH_CLICKS_NAME" desc="Title for the flag to enable instant search clicks">
        Prefetch search results
      </message>
      <message name="IDS_FLAGS_ENABLE_INSTANT_SEARCH_CLICKS_DESCRIPTION" desc="Description to enable instant search clicks">
        If enabled, prefetch previews for search results and swap them with original page when is downloaded and rendered.
      </message>
    </if>

    <!-- Mixed content issue workaround flags -->
    <message name="IDS_FLAGS_ALLOW_INSECURE_WEBSOCKET_FROM_HTTPS_ORIGIN_NAME" desc="Title for the flag to allow insecure WebSocket from https origin">
      Allow insecure WebSocket from https origin
    </message>
    <message name="IDS_FLAGS_ALLOW_INSECURE_WEBSOCKET_FROM_HTTPS_ORIGIN_DESCRIPTION" desc="Description to allow insecure WebSocket from https origin">
      This flag makes Chrome unsafe. Use this only if you understand what this does. Note that this flag may be removed without any notice. If enabled, frames with an https origin can use WebSockets with an insecure URL (ws://).
    </message>

    <if expr="is_android">
      <!-- Experiment flags to enable EmbeddedSearch API in the search results page -->
      <message name="IDS_FLAGS_ENABLE_EMBEDDEDSEARCH_API_NAME" desc="An about::flags experiment title to enable EmbeddedSearch API in the search results page">
        Enable EmbeddedSearch API
      </message>
      <message name="IDS_FLAGS_ENABLE_EMBEDDEDSEARCH_API_DESCRIPTION" desc="Describes an about:flags experiment for enabling EmbeddedSearch API in the search results page">
       If enabled, EmbeddedSearch API will be used to submit search queries in the search results page.
      </message>

      <!-- App install alerts flags -->
      <message name="IDS_FLAGS_ENABLE_APP_INSTALL_ALERTS_NAME" desc="Title for the flag to allow app install alerts">
        Enable app install alerts
      </message>
      <message name="IDS_FLAGS_ENABLE_APP_INSTALL_ALERTS_DESCRIPTION" desc="Description to allow app install alerts">
        If enabled, websites will be parsed for app install alert meta tags.
      </message>
    </if>

   <!-- Extension Content Verification -->
    <message name="IDS_FLAGS_EXTENSION_CONTENT_VERIFICATION_NAME" desc="Name of the 'Extension Content Verification' flag">
      Extension Content Verification
    </message>
    <message name="IDS_FLAGS_EXTENSION_CONTENT_VERIFICATION_DESCRIPTION" desc="Title for the flag to turn on verification of the contents of extensions from the webstore">
      This flag can be used to turn on verification that the contents of the files on disk for extensions from the webstore match what they're expected to be. This can be used to turn on this feature if it would not otherwise have been turned on, but cannot be used to turn it off (because this setting can be tampered with by malware).
    </message>

    <message name="IDS_FLAGS_EXTENSION_CONTENT_VERIFICATION_BOOTSTRAP" desc="Description of the 'Extension Content Verification' bootstrap mode">
      Bootstrap (get expected hashes, but do not enforce them)
    </message>

    <message name="IDS_FLAGS_EXTENSION_CONTENT_VERIFICATION_ENFORCE" desc="Description of the 'Extension Content Verification' enforce mode">
      Enforce (try to get hashes, and enforce them if successful)
    </message>

    <message name="IDS_FLAGS_EXTENSION_CONTENT_VERIFICATION_ENFORCE_STRICT" desc="Description of the 'Extension Content Verification' enforce strict mode">
      Enforce strict (hard fail if we can't get hashes)
    </message>

    <!-- Push messaging strings -->
    <message name="IDS_PUSH_MESSAGES_PERMISSION_QUESTION" desc="Question asked on the info bar whenever a domain wants to send push messages">
        <ph name="URL">
          $1<ex>push.google.com</ex>
        </ph> wants to send you notifications.
    </message>
    <message name="IDS_PUSH_MESSAGES_TAB_LABEL" desc="Label for the push messages section on Content Settings dialog">
      Push Messages
    </message>
    <message name="IDS_PUSH_MESSSAGING_ALLOW_RADIO" desc="A radio button in Content Settings dialog to allow a site to send push messages.">
      Allow all sites to send background push messages
    </message>
    <message name="IDS_PUSH_MESSSAGING_ASK_RADIO" desc="A radio button in Content Settings dialog to allow a site to query the permision send push messages.">
      Ask me when a site wants to send me push messages (recommended)
    </message>
    <message name="IDS_PUSH_MESSSAGING_BLOCK_RADIO" desc="A radio button in Content Settings dialog to deny a site to send push messages.">
      Do not allow any sites to send push messages
    </message>
    <message name="IDS_PUSH_MESSAGES_BUBBLE_FRAGMENT" desc="Question asked on the info bar whenever a domain wants to send push messages">
        push notifications
    </message>

    <!-- Easy Unlock strings -->
    <!-- Strings for the Easy Unlock promo notification -->
    <message name="IDS_EASY_UNLOCK_SETUP_NOTIFICATION_TITLE" desc="Title for the notification inviting the user to use the Easy Unlock feature.">
      Chrome Smart Lock
    </message>
    <message name="IDS_EASY_UNLOCK_SETUP_NOTIFICATION_MESSAGE" desc="The body text for the notification inviting the user to use the Easy Unlock feature.">
      Use your Android phone to unlock this <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>. No need to type your password again.
    </message>
    <message name="IDS_EASY_UNLOCK_SETUP_NOTIFICATION_BUTTON_TITLE" desc="The text to show on the button in the notification inviting the user to use the Easy Unlock feature.">
      1-minute setup
    </message>
    <!-- Strings for notification shown when the Chromebook is added to Easy Unlock -->
    <message name="IDS_EASY_UNLOCK_CHROMEBOOK_ADDED_NOTIFICATION_TITLE" desc="Title for notification shown when this Chromebook is added to Easy Unlock as an additional Easy Unlock device.">
      Smart Lock is almost ready
    </message>
    <message name="IDS_EASY_UNLOCK_CHROMEBOOK_ADDED_NOTIFICATION_MESSAGE" desc="Message for the notification shown when this Chromebook is added to Easy Unlock as an additional Easy Unlock device.">
      It will be activated next time you unlock this <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>. With Smart Lock, your phone will unlock this device&#8212;without a password. Bluetooth will be turned on to enable Smart Lock.
    </message>
    <message name="IDS_EASY_UNLOCK_CHROMEBOOK_ADDED_NOTIFICATION_ABOUT_BUTTON" desc="Label of a button on the new chrome notification to bring user to smart lock settings.">
      About Smart Lock
    </message>
    <!-- Strings for the phone changed (aka old Chromebook setup) notification -->
    <message name="IDS_EASY_UNLOCK_PAIRING_CHANGED_NOTIFICATION_TITLE" desc="Title for notification shown when the paired phone is changed.">
      Smart Lock phone changed
    </message>
    <message name="IDS_EASY_UNLOCK_PAIRING_CHANGED_NOTIFICATION_MESSAGE" desc="Message for notification shown when the paired phone is changed.">
      Next time you unlock this <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>, Smart Lock will update and you can just click your picture to enter.
    </message>
    <message name="IDS_EASY_UNLOCK_PAIRING_CHANGED_NOTIFICATION_UPDATE_BUTTON" desc="Label of a button on the notification shown when the paired phone is changed to update Smart lock now.">
      Update now
    </message>
    <message name="IDS_EASY_UNLOCK_NOTIFICATION_LEARN_MORE_BUTTON" desc="Label of a button on the notification to show Smart lock settings.">
      Learn more
    </message>
    <!-- Strings for the phone change applied notification -->
    <message name="IDS_EASY_UNLOCK_PAIRING_CHANGE_APPLIED_NOTIFICATION_TITLE" desc="Title for notification shown when the pairing change is applied.">
      Phone change updated
    </message>
    <message name="IDS_EASY_UNLOCK_PAIRING_CHANGE_APPLIED_NOTIFICATION_MESSAGE" desc="Message for notification shown when the pairing change is applied.">
      Your <ph name="PHONE_NAME">$1<ex>Moto X</ex></ph> can now unlock this <ph name="DEVICE_TYPE">$2<ex>Chromebook</ex></ph> too.
    </message>

    <!-- Strings for the Easy Unlock setup dialog -->
    <!-- Step 1: Intro -->
    <message name="IDS_EASY_UNLOCK_SETUP_INTRO_HEADER_TITLE" desc="The text to show as the header title of the Easy Unlock dialog during the first, introductory step.">
      Let’s get started
    </message>
    <message name="IDS_EASY_UNLOCK_SETUP_INTRO_HEADER_TEXT" desc="The text to show as the header body text of the Easy Unlock dialog during the first, introductory step. Note that the &lt;a&gt; element surrounds a link; these HTML elements should be preserved in the translation.">
      Keep your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph> unlocked when your phone is unlocked and nearby.
      Note that Bluetooth will be turned on for all <ph name="USER_DISPLAY_EMAIL">$2<ex>user@gmail.com</ex></ph>'s compatible devices, and some hardware information will be sent to Google. &lt;a&gt;Learn more&lt;/a&gt;
    </message>
    <message name="IDS_EASY_UNLOCK_SETUP_INTRO_FIND_PHONE_BUTTON_LABEL" desc="The text to show as the 'Find phone' button label in the Easy Unlock dialog. This button is visible during the first, introductory step.">
      Find your phone
    </message>
    <message name="IDS_EASY_UNLOCK_SETUP_INTRO_FINDING_PHONE_BUTTON_LABEL" desc="The text to show as the 'Finding phone...' button label in the Easy Unlock dialog. This button is visible during the first, introductory step.">
      Finding your phone
    </message>
    <message name="IDS_EASY_UNLOCK_SETUP_INTRO_RETRY_FIND_PHONE_BUTTON_LABEL" desc="The text to show as a label for the button in Easy Unlock setup dialog when the setup app fails to find any phones to be used. Finding a phone is the first setup step. Clicking the button restarts the setup flow.">
      Retry
    </message>
    <message name="IDS_EASY_UNLOCK_SETUP_INTRO_HOW_IS_THIS_SECURE_LINK_TEXT" desc="The text to show as the 'How is it secure?' link text in the Easy Unlock dialog. This link is visible during the first, introductory step.">
      How is it secure?
    </message>
    <!-- Step 1.5: "Secure this phone to continue" -->
    <message name="IDS_EASY_UNLOCK_SETUP_SECURE_PHONE_HEADER_TITLE" desc="The text to show as the header title of the Easy Unlock dialog after a phone has been found but is not secured by a lock screen.">
      Secure this phone to continue.
    </message>
    <message name="IDS_EASY_UNLOCK_SETUP_SECURE_PHONE_HEADER_TEXT" desc="The text to show as the header body text of the Easy Unlock dialog after a suitable phone has been found but is not secured by a lock screen. Note that the &lt;a&gt; element surrounds a link; these HTML elements should be preserved in the translation.">
      To keep your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph> safe, Chrome Smart Lock requires a screen lock on your phone. &lt;a&gt;Learn how to secure your phone&lt;/a&gt;
    </message>
    <!-- Step 2: Phone Found -->
    <message name="IDS_EASY_UNLOCK_SETUP_FOUND_PHONE_HEADER_TITLE" desc="The text to show as the header title of the Easy Unlock dialog during the second step, after a suitable phone has been found.">
      Use this phone to unlock your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>?
    </message>
    <message name="IDS_EASY_UNLOCK_SETUP_FOUND_PHONE_HEADER_TEXT" desc="The text to show as the header body text of the Easy Unlock dialog during the second step, after a suitable phone has been found. Note that the &lt;a&gt; element surrounds a link; these HTML elements should be preserved in the translation.">
      Google sent a notification to this phone. Note that with Bluetooth, your phone may keep your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph> unlocked from over 100 feet away. In cases where this could be a problem, you can &lt;a&gt;temporarily disable this feature&lt;/a&gt;.
    </message>
    <message name="IDS_EASY_UNLOCK_SETUP_FOUND_PHONE_USE_THIS_PHONE_BUTTON_LABEL" desc="The text to show as the 'Use this phone' button label in the Easy Unlock dialog. This button is visible during the second step, after a suitable phone is found.">
      Use this phone
    </message>
    <message name="IDS_EASY_UNLOCK_SETUP_FOUND_PHONE_DEVICE_FORMATTED_BUTTON_LABEL" desc="The text to show as the 'Use [insert_phone_name]' button label in the Easy Unlock dialog. This button is visible during the second step, after a suitable phone is found.">
      Use <ph name="PHONE_NAME">$1<ex>Nexus 6</ex></ph>
    </message>
    <message name="IDS_EASY_UNLOCK_SETUP_FOUND_PHONE_SWITCH_PHONE_LINK_LABEL" desc="The text to show for the link to switch phones in the Easy Unlock dialog. This button is visible during the second step, after serveral suitable phones are found.">
      Show another phone
    </message>
    <message name="IDS_EASY_UNLOCK_SETUP_PAIRING_PHONE_FAILED_BUTTON_LABEL" desc="Text to show as a label for the button in Easy Unlock setup dialog when pairing Chrome with the phone detected during setup fails. Pairing is the second step in the setup. Clicking the button restarts the whole setup flow.">
      Restart
    </message>
    <!-- Step 2.5: "Recommended: Set up Android Smart Lock" -->
    <message name="IDS_EASY_UNLOCK_SETUP_ANDROID_SMART_LOCK_HEADER_TITLE" desc="The text to show as the header title of the Easy Unlock dialog to encourage the user to enable Android Smart Lock if it is not currently enabled.">
      Recommended: Set up Android Smart Lock
    </message>
    <message name="IDS_EASY_UNLOCK_SETUP_ANDROID_SMART_LOCK_HEADER_TEXT" desc="The text to show as the header body text of the Easy Unlock dialog to encourage the user to enable Android Smart Lock if it is not currently enabled. Note that the &lt;a&gt; element surrounds a link; these HTML elements should be preserved in the translation.">
      Update your phone's screen lock so it turns off when you're nearby. You'll unlock the phone faster, and enjoy a better Chrome Smart Lock experience. &lt;a&gt;About Android Smart Lock&lt;/a&gt;
    </message>
    <message name="IDS_EASY_UNLOCK_SETUP_ANDROID_SMART_LOCK_DONE_BUTTON_LABEL" desc="The text to show as the button label in the Easy Unlock dialog step for encouraging the user to enable Android Smart Lock. Clicking this button advances the dialog to step 3.">
      Done
    </message>
    <message name="IDS_EASY_UNLOCK_SETUP_ANDROID_SMART_LOCK_ABOUT_LINK_TEXT" desc="The text to show as the link text to access the Android Smart Lock help article.">
      About Android Smart Lock
    </message>
    <!-- Step 3: "You're all set" -->
    <message name="IDS_EASY_UNLOCK_SETUP_COMPLETE_HEADER_TITLE" desc="The text to show as the header title of the Easy Unlock dialog during the penultimate step, confirming success.">
      You’re all set!
    </message>
    <message name="IDS_EASY_UNLOCK_SETUP_COMPLETE_HEADER_TEXT" desc="The text to show as the header body text of the Easy Unlock dialog during the penultimate step, confirming success.">
      If you have other Chrome devices, they’ll be synced automatically, so your Android phone can unlock them, too.
    </message>
    <message name="IDS_EASY_UNLOCK_SETUP_COMPLETE_TRY_IT_OUT_BUTTON_LABEL" desc="The text to show as the 'Try it out' button label in the Easy Unlock dialog. This button is visible during the penultimate step, once the Easy Unlock setup succeeds.">
      Try it out
    </message>
    <message name="IDS_EASY_UNLOCK_SETUP_COMPLETE_SETTINGS_LINK_TEXT" desc="The text to show as the link text to access Easy Unlock settings. This button is visible during the penultimate step, once the Easy Unlock setup succeeds.">
      Smart Lock settings
    </message>
    <!-- Step 4: Post Lock Screen -->
    <message name="IDS_EASY_UNLOCK_SETUP_POST_LOCK_HEADER_TITLE" desc="The text to show as the header title of the Easy Unlock dialog during the post lockscreen step, giving closure to the setup flow.">
      Chrome Smart Lock is now on.
    </message>
    <message name="IDS_EASY_UNLOCK_SETUP_POST_LOCK_HEADER_TEXT" desc="The text to show as the header body of the Easy Unlock dialog during the post lockscreen step, giving closure to the setup flow. Note that the &lt;a&gt; element surrounds a link; these HTML elements should be preserved in the translation.">
      When your phone is unlocked and nearby, you can just click your picture to enter. The lock icon shows Smart Lock status; mouse over it for more details. To change or turn off this feature, visit your &lt;a&gt;<ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>'s settings.&lt;/a&gt;
    </message>
    <message name="IDS_EASY_UNLOCK_SETUP_POST_LOCK_DISMISS_BUTTON_LABEL" desc="The text to show as the button label in the Easy Unlock dialog during the post lockscreen step. Clicking this button dismisses the dialog.">
      Got it, thanks!
    </message>
    <!-- Error strings for the Easy Unlock setup dialog -->
    <message name="IDS_EASY_UNLOCK_LEARN_MORE_LINK_TITLE" desc="Text to use for links that point to more information about Easy Unlock in the easy unlock setup dialog.">
      Learn more
   </message>
    <message name="IDS_EASY_UNLOCK_SETUP_ERROR_BLUETOOTH_UNAVAILBLE" desc="The error message to display when the user's Chromebook might not have Bluetooth functionality during Easy Unlock setup.">
      Can’t find your Android phone. Make sure your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph> has Bluetooth turned on.
    </message>
    <message name="IDS_EASY_UNLOCK_SETUP_ERROR_OFFLINE" desc="The error message to display when the user's Chromebook appears to be offline during Easy Unlock setup.">
      Can’t find your Android phone. Make sure your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph> is online.
    </message>
    <message name="IDS_EASY_UNLOCK_SETUP_ERROR_FINDING_PHONE" desc="A generic catch-all error message to display when something goes wrong after the user clicks 'Find my phone' during Easy Unlock setup.">
      Can’t find your Android phone. Make sure that it’s with you and online.
    </message>
    <message name="IDS_EASY_UNLOCK_SETUP_ERROR_BLUETOOTH_CONNECTION_FAILED" desc="The error message to display when the Bluetooth connection between the phone and the Chromebook is disconnected during Easy Unlock setup.">
      Couldn’t connect your Android phone and <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>. Make sure Bluetooth is turned on for both of your devices.
    </message>
    <message name="IDS_EASY_UNLOCK_SETUP_ERROR_CONNECT_TO_PHONE_TIMEOUT" desc="The error message to display when the Chromebook is unable to establish connection to the phone within a reasonable amount of time.">
      Couldn’t connect your Android phone and <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>. Make sure you’re using a compatible Android phone that is with you and online.
    </message>
    <message name="IDS_EASY_UNLOCK_SETUP_ERROR_SYNC_PHONE_STATE_FAILED" desc="The error message to display when the Chromebook fails to sync the phone's state.">
      Sorry, the service is currently unavailable. Please try again later.
    </message>
    <message name="IDS_EASY_UNLOCK_SETUP_ERROR_CONNECTING_TO_PHONE" desc="A generic catch-all error message to display when something goes wrong after the user clicks 'Use this phone' during Easy Unlock setup.">
      Couldn’t connect your Android phone and <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>. Make sure your Android phone is with you and online.
    </message>
    <!-- Easy Unlock strings shown on the lock screen -->
    <message name="IDS_EASY_UNLOCK_SCREENLOCK_TOOLTIP_NO_BLUETOOTH" desc="Tooltip for an icon on a user's lock screen pod shown by Easy Unlock when the Chromebook doesn't have Bluetooth enabled.">
      Bluetooth is off on this <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>. Type in your password to enter, and turn on Bluetooth.
    </message>
    <message name="IDS_EASY_UNLOCK_SCREENLOCK_TOOLTIP_NO_PHONE" desc="Tooltip for an icon on a user's lock screen pod shown by Easy Unlock when a phone eligible to unlock the Chromebook cannot be found.">
      Can’t find your Android phone. Make sure it’s with you and Bluetooth is turned on.
    </message>
    <message name="IDS_EASY_UNLOCK_SCREENLOCK_TOOLTIP_PHONE_NOT_AUTHENTICATED" desc="Tooltip for an icon on a user's lock screen pod shown by Easy Unlock when no phones eligible to unlock the Chromebook can be authenticated.">
      Unable to unlock. Enter your password.
    </message>
    <message name="IDS_EASY_UNLOCK_SCREENLOCK_TOOLTIP_PHONE_LOCKED" desc="Tooltip for an icon on a user's lock screen pod shown by Easy Unlock when a phone eligible to unlock the Chromebook is detected, but it's locked and thus not allowed to unlock the Chromebook.">
      Your Android phone is locked. Unlock it to enter.
    </message>
    <message name="IDS_EASY_UNLOCK_SCREENLOCK_TOOLTIP_PHONE_UNLOCKABLE" desc="Tooltip for an icon on a user's lock screen pod shown by Easy Unlock when a phone eligible to unlock the Chromebook is detected, but it does not have lock screen enabled, in which case it is not allowed to unlock Chromebooks.">
      Your Android phone must have a lock screen enabled before it can unlock this <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>. Otherwise, you will need to type in your password.
    </message>
    <message name="IDS_EASY_UNLOCK_SCREENLOCK_TOOLTIP_RSSI_TOO_LOW" desc="Tooltip for an icon on a user's lock screen pod shown by Easy Unlock when a phone eligible to unlock the Chromebook is detected, but it's not in the Chromebook's proximity (> 30 feet away).">
      Your Android phone is too far away from your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>. Bring it closer to enter.
    </message>
    <message name="IDS_EASY_UNLOCK_SCREENLOCK_TOOLTIP_TX_POWER_TOO_HIGH" desc="Tooltip for an icon on a user's lock screen pod shown by Easy Unlock when a phone eligible to unlock the Chromebook is detected, but it's not in the Chromebook's proximity (> 1 foot away).">
      Your Android phone is too far away from your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>. Bring it closer to enter.
    </message>
    <message name="IDS_EASY_UNLOCK_SCREENLOCK_TOOLTIP_INITIAL_AUTHENTICATED" desc="Tooltip text shown on lock screen when a phone eligible to unlock the Chromebook via Easy Unlock is detected and authenticated for the first time.">
      When your phone is unlocked and nearby, you can just click to enter. Otherwise, you'll see a locked icon and need to type your password.
    </message>
    <message name="IDS_EASY_UNLOCK_SCREENLOCK_TOOLTIP_HARDLOCK_INSTRUCTIONS" desc="Tooltip for an icon on user's lock screen pod shown by Easy Unlock when a phone eligible to unlock the Chromebook is detected and authenticated. The tooltip shows instructions for hard-locking the Chromebook.">
      If you click this icon, you can manually lock this <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>. Next time, you’ll need to enter your password to unlock it.
    </message>
    <message name="IDS_EASY_UNLOCK_SCREENLOCK_TOOLTIP_UNSUPPORTED_ANDROID_VERSION" desc="Tooltip for the icon on user's lock screen pod shown by Easy Unlock when a phone set up to unlock the Chromebook is detected, but has an unsupported Android version. The user is asked to update the phone.">
      Please update your phone to a newer version of Android to unlock this <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>.
    </message>
    <message name="IDS_EASY_UNLOCK_SCREENLOCK_TOOLTIP_HARDLOCK_USER" desc="Tooltip text shown on a user's lock screen pod when Easy Unlock feature is enabled for the user, but the user hard locked the device. Hard lock is done by clicking the Easy Unlock icon on the user's pod. When a device is hard locked by a user, the Easy Unlock cannot be used to unlock the device as that user. A password has to be entered to unlock the device.">
      Your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph> has been manually locked. You'll need to enter your password to unlock it.
    </message>
    <message name="IDS_EASY_UNLOCK_SCREENLOCK_TOOLTIP_HARDLOCK_PAIRING_CHANGED" desc="Tooltip text shown on a user's lock screen pod when Easy Unlock feature is enabled for the user, but the pairing data is changed. A password has to be entered to unlock the device.">
      Your phone for Smart Lock changed. Type your password to update Smart Lock on this device. Next time, you can just click your picture to enter.
    </message>
    <message name="IDS_EASY_UNLOCK_SCREENLOCK_TOOLTIP_HARDLOCK_PAIRING_ADDED" desc="Tooltip text shown on a user's lock screen pod when Easy Unlock pairing data is synced on a new Chromebook.">
      One-time activation: Type your password to activate Smart Lock. With Smart Lock, your phone will unlock this Chromebook&#8212;without a password. To change or disable this feature, visit your Chromebook's settings.
    </message>
    <message name="IDS_EASY_UNLOCK_SCREENLOCK_TOOLTIP_LOGIN_FAILURE" desc="Tooltip text shown on a user's lock screen when Smart Lock signin attempt fails.">
      Smart Lock couldn't verify your account. Type your password to enter.
    </message>
    <message name="IDS_SMART_LOCK_SCREENLOCK_TOOLTIP_HARDLOCK_REAUTH_USER" desc="Tooltip text shown on a user's lock screen pod to reauthenticate the user before setting up Smart Lock. A password has to be entered to unlock the device.">
      To set up Chrome Smart Lock, Google needs to make sure it's you--type your password to get started.
    </message>
    <message name="IDS_EASY_UNLOCK_SCREENLOCK_USER_POD_AUTH_VALUE" desc="Message on lock screen user pod shown in place of password field when Easy Unlock is enabled and a phone that can unlock the Chromebook is detected in proximity.">
      Click to enter
    </message>
    <message name="IDS_SMART_LOCK_SPINNER_ACCESSIBILITY_LABEL" desc="Label for the spinner icon used for accessibility purposes. This label is needed because this state does not have a tooltip.">
      Finding your phone
    </message>
    <!-- Device types -->
    <message name="IDS_EASY_UNLOCK_GENERIC_DEVICE_TYPE" desc="String for an unknown device type. Currently used to cover all non-ChromeOS devices.">
      Chrome device
    </message>

    <!-- Invalid SSL certificate memory strategy strings -->
    <message name="IDS_FLAGS_REMEMBER_CERTIFICATE_ERROR_DECISIONS_NAME" desc="Name of the remember certificate error decisions lab">
      Remember decisions to proceed through SSL errors for a specified length of time.
    </message>
    <message name="IDS_FLAGS_REMEMBER_CERTIFICATE_ERROR_DECISIONS_DESCRIPTION" desc="Description of the remember certificate error decisions lab">
      Remember decisions to proceed through SSL errors for a specified length of time.
    </message>

    <!-- Built-in hotword detection display strings -->
    <message name="IDS_FLAGS_ENABLE_EXPERIMENTAL_HOTWORDING_NAME" desc="Name of about:flags option for hotword detection.">
      Enable experimental 'Ok Google' hotword detection features.
    </message>
    <message name="IDS_FLAGS_ENABLE_EXPERIMENTAL_HOTWORDING_DESCRIPTION" desc="Description of about:flags option for hotword detection.">
      Enables experimental 'Ok Google' hotword detection features, such as using the built-in extension. The hotword extension from the Chrome Web Store will no longer be used.
    </message>

    <!-- Message center strings -->
    <message name="IDS_FLAGS_ENABLE_MESSAGE_CENTER_ALWAYS_SCROLL_UP_UPON_REMOVAL_NAME" desc="Name of about:flags option for message center always scroll up experiment.">
      Enable experiments that message center always scroll up upon notification removal.
    </message>
    <message name="IDS_FLAGS_ENABLE_MESSAGE_CENTER_ALWAYS_SCROLL_UP_UPON_REMOVAL_DESCRIPTION" desc="Description of about:flags option for message center always scroll up experiment.">
      Enables experiment that message center always scroll up when a notification is removed.
    </message>

    <!-- Device permissions dialog strings. -->
    <message name="IDS_DEVICE_PERMISSIONS_DIALOG_DEVICE_NAME_COLUMN" desc="Label for the table column displaying the name of a device.">
      Device Name
    </message>
    <message name="IDS_DEVICE_PERMISSIONS_DIALOG_SERIAL_NUMBER_COLUMN" desc="Label for the table column displaying the serial number of a device.">
      Serial Number
    </message>
    <message name="IDS_DEVICE_PERMISSIONS_DIALOG_SELECT" desc="Button confirming the devices selected for access by the app.">
      Select
    </message>
    <message name="IDS_FLAGS_DISABLE_CAST_STREAMING_HW_ENCODING_NAME" desc="Name of chrome:flags option to turn off Cast Streaming hardware video encoding support.">
      Disable support for Cast Streaming hardware video encoding.
    </message>
    <message name="IDS_FLAGS_DISABLE_CAST_STREAMING_HW_ENCODING_DESCRIPTION" desc="Description of chrome:flags option to turn off Cast Streaming hardware video encoding support.">
      This option disables support in Cast Streaming for encoding video streams using platform hardware.
    </message>
  </messages>
  </release>
</grit>
