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

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

<grit base_dir="." latest_public_release="0" current_release="1"
      source_lang_id="en" enc_check="möl">
  <outputs>
    <output filename="grit/generated_resources.h" type="rc_header">
      <emit emit_type='prepend'></emit>
    </output>
    <output filename="generated_resources_am.pak" type="data_package" lang="am" />
    <output filename="generated_resources_ar.pak" type="data_package" lang="ar" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_ast.pak" type="data_package" lang="ast" />
    </if>
    <output filename="generated_resources_bg.pak" type="data_package" lang="bg" />
    <output filename="generated_resources_bn.pak" type="data_package" lang="bn" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_bs.pak" type="data_package" lang="bs" />
    </if>
    <output filename="generated_resources_ca.pak" type="data_package" lang="ca" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_ca@valencia.pak" type="data_package" lang="ca@valencia" />
    </if>
    <output filename="generated_resources_cs.pak" type="data_package" lang="cs" />
    <output filename="generated_resources_da.pak" type="data_package" lang="da" />
    <output filename="generated_resources_de.pak" type="data_package" lang="de" />
    <output filename="generated_resources_el.pak" type="data_package" lang="el" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_en-AU.pak" type="data_package" lang="en-AU" />
    </if>
    <output filename="generated_resources_en-GB.pak" type="data_package" lang="en-GB" />
    <output filename="generated_resources_en-US.pak" type="data_package" lang="en" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_eo.pak" type="data_package" lang="eo" />
    </if>
    <output filename="generated_resources_es.pak" type="data_package" lang="es" />
    <output filename="generated_resources_es-419.pak" type="data_package" lang="es-419" />
    <output filename="generated_resources_et.pak" type="data_package" lang="et" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_eu.pak" type="data_package" lang="eu" />
    </if>
    <output filename="generated_resources_fa.pak" type="data_package" lang="fa" />
    <output filename="generated_resources_fake-bidi.pak" type="data_package" lang="fake-bidi" />
    <output filename="generated_resources_fi.pak" type="data_package" lang="fi" />
    <output filename="generated_resources_fil.pak" type="data_package" lang="fil" />
    <output filename="generated_resources_fr.pak" type="data_package" lang="fr" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_gl.pak" type="data_package" lang="gl" />
    </if>
    <output filename="generated_resources_gu.pak" type="data_package" lang="gu" />
    <output filename="generated_resources_he.pak" type="data_package" lang="he" />
    <output filename="generated_resources_hi.pak" type="data_package" lang="hi" />
    <output filename="generated_resources_hr.pak" type="data_package" lang="hr" />
    <output filename="generated_resources_hu.pak" type="data_package" lang="hu" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_hy.pak" type="data_package" lang="hy" />
      <output filename="generated_resources_ia.pak" type="data_package" lang="ia" />
    </if>
    <output filename="generated_resources_id.pak" type="data_package" lang="id" />
    <output filename="generated_resources_it.pak" type="data_package" lang="it" />
    <output filename="generated_resources_ja.pak" type="data_package" lang="ja" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_ka.pak" type="data_package" lang="ka" />
    </if>
    <output filename="generated_resources_kn.pak" type="data_package" lang="kn" />
    <output filename="generated_resources_ko.pak" type="data_package" lang="ko" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_ku.pak" type="data_package" lang="ku" />
      <output filename="generated_resources_kw.pak" type="data_package" lang="kw" />
    </if>
    <output filename="generated_resources_lt.pak" type="data_package" lang="lt" />
    <output filename="generated_resources_lv.pak" type="data_package" lang="lv" />
    <output filename="generated_resources_ml.pak" type="data_package" lang="ml" />
    <output filename="generated_resources_mr.pak" type="data_package" lang="mr" />
    <output filename="generated_resources_ms.pak" type="data_package" lang="ms" />
    <output filename="generated_resources_nl.pak" type="data_package" lang="nl" />
    <!-- The translation console uses 'no' for Norwegian Bokmål. It should
         be 'nb'. -->
    <output filename="generated_resources_nb.pak" type="data_package" lang="no" />
    <output filename="generated_resources_pl.pak" type="data_package" lang="pl" />
    <if expr="pp_ifdef('ios')">
      <!-- iOS uses pt for pt-BR -->
      <output filename="generated_resources_pt.pak" type="data_package" lang="pt-BR" />
    </if>
    <if expr="not pp_ifdef('ios')">
      <output filename="generated_resources_pt-BR.pak" type="data_package" lang="pt-BR" />
    </if>
    <output filename="generated_resources_pt-PT.pak" type="data_package" lang="pt-PT" />
    <output filename="generated_resources_ro.pak" type="data_package" lang="ro" />
    <output filename="generated_resources_ru.pak" type="data_package" lang="ru" />
    <output filename="generated_resources_sk.pak" type="data_package" lang="sk" />
    <output filename="generated_resources_sl.pak" type="data_package" lang="sl" />
    <output filename="generated_resources_sr.pak" type="data_package" lang="sr" />
    <output filename="generated_resources_sv.pak" type="data_package" lang="sv" />
    <output filename="generated_resources_sw.pak" type="data_package" lang="sw" />
    <output filename="generated_resources_ta.pak" type="data_package" lang="ta" />
    <output filename="generated_resources_te.pak" type="data_package" lang="te" />
    <output filename="generated_resources_th.pak" type="data_package" lang="th" />
    <output filename="generated_resources_tr.pak" type="data_package" lang="tr" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_ug.pak" type="data_package" lang="ug" />
    </if>
    <output filename="generated_resources_uk.pak" type="data_package" lang="uk" />
    <output filename="generated_resources_vi.pak" type="data_package" lang="vi" />
    <output filename="generated_resources_zh-CN.pak" type="data_package" lang="zh-CN" />
    <output filename="generated_resources_zh-TW.pak" type="data_package" lang="zh-TW" />

    <!-- On Android, output some strings into Android's xml string format.
         These strings are tagged with formatter_data="android_java" -->
    <if expr="is_android">
      <output filename="java/res/values-am/generated_resources.xml" lang="am" type="android" context="android_java" />
      <output filename="java/res/values-ar/generated_resources.xml" lang="ar" type="android" context="android_java" />
      <output filename="java/res/values-bg/generated_resources.xml" lang="bg" type="android" context="android_java" />
      <output filename="java/res/values-ca/generated_resources.xml" lang="ca" type="android" context="android_java" />
      <output filename="java/res/values-cs/generated_resources.xml" lang="cs" type="android" context="android_java" />
      <output filename="java/res/values-da/generated_resources.xml" lang="da" type="android" context="android_java" />
      <output filename="java/res/values-de/generated_resources.xml" lang="de" type="android" context="android_java" />
      <output filename="java/res/values-el/generated_resources.xml" lang="el" type="android" context="android_java" />
      <output filename="java/res/values/generated_resources.xml" lang="en" type="android" context="android_java" />
      <output filename="java/res/values-en-rGB/generated_resources.xml" lang="en-GB" type="android" context="android_java" />
      <output filename="java/res/values-es/generated_resources.xml" lang="es" type="android" context="android_java" />
      <output filename="java/res/values-es-rUS/generated_resources.xml" lang="es-419" type="android" context="android_java" />
      <output filename="java/res/values-fa/generated_resources.xml" lang="fa" type="android" context="android_java" />
      <output filename="java/res/values-fi/generated_resources.xml" lang="fi" type="android" context="android_java" />
      <output filename="java/res/values-tl/generated_resources.xml" lang="fil" type="android" context="android_java" />
      <output filename="java/res/values-fr/generated_resources.xml" lang="fr" type="android" context="android_java" />
      <output filename="java/res/values-hi/generated_resources.xml" lang="hi" type="android" context="android_java" />
      <output filename="java/res/values-hr/generated_resources.xml" lang="hr" type="android" context="android_java" />
      <output filename="java/res/values-hu/generated_resources.xml" lang="hu" type="android" context="android_java" />
      <output filename="java/res/values-in/generated_resources.xml" lang="id" type="android" context="android_java" />
      <output filename="java/res/values-it/generated_resources.xml" lang="it" type="android" context="android_java" />
      <output filename="java/res/values-iw/generated_resources.xml" lang="he" type="android" context="android_java" />
      <output filename="java/res/values-ja/generated_resources.xml" lang="ja" type="android" context="android_java" />
      <output filename="java/res/values-ko/generated_resources.xml" lang="ko" type="android" context="android_java" />
      <output filename="java/res/values-lt/generated_resources.xml" lang="lt" type="android" context="android_java" />
      <output filename="java/res/values-lv/generated_resources.xml" lang="lv" type="android" context="android_java" />
      <output filename="java/res/values-nl/generated_resources.xml" lang="nl" type="android" context="android_java" />
      <output filename="java/res/values-nb/generated_resources.xml" lang="no" type="android" context="android_java" />
      <output filename="java/res/values-pl/generated_resources.xml" lang="pl" type="android" context="android_java" />
      <output filename="java/res/values-pt-rBR/generated_resources.xml" lang="pt-BR" type="android" context="android_java" />
      <output filename="java/res/values-pt-rPT/generated_resources.xml" lang="pt-PT" type="android" context="android_java" />
      <output filename="java/res/values-ro/generated_resources.xml" lang="ro" type="android" context="android_java" />
      <output filename="java/res/values-ru/generated_resources.xml" lang="ru" type="android" context="android_java" />
      <output filename="java/res/values-sk/generated_resources.xml" lang="sk" type="android" context="android_java" />
      <output filename="java/res/values-sl/generated_resources.xml" lang="sl" type="android" context="android_java" />
      <output filename="java/res/values-sr/generated_resources.xml" lang="sr" type="android" context="android_java" />
      <output filename="java/res/values-sv/generated_resources.xml" lang="sv" type="android" context="android_java" />
      <output filename="java/res/values-sw/generated_resources.xml" lang="sw" type="android" context="android_java" />
      <output filename="java/res/values-th/generated_resources.xml" lang="th" type="android" context="android_java" />
      <output filename="java/res/values-tr/generated_resources.xml" lang="tr" type="android" context="android_java" />
      <output filename="java/res/values-uk/generated_resources.xml" lang="uk" type="android" context="android_java" />
      <output filename="java/res/values-vi/generated_resources.xml" lang="vi" type="android" context="android_java" />
      <output filename="java/res/values-zh-rCN/generated_resources.xml" lang="zh-CN" type="android" context="android_java" />
      <output filename="java/res/values-zh-rTW/generated_resources.xml" lang="zh-TW" type="android" context="android_java" />
    </if>
  </outputs>
  <translations>
    <file path="resources/generated_resources_am.xtb" lang="am" />
    <file path="resources/generated_resources_ar.xtb" lang="ar" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../third_party/launchpad_translations/generated_resources_ast.xtb" lang="ast" />
    </if>
    <file path="resources/generated_resources_bg.xtb" lang="bg" />
    <file path="resources/generated_resources_bn.xtb" lang="bn" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../third_party/launchpad_translations/generated_resources_bs.xtb" lang="bs" />
    </if>
    <file path="resources/generated_resources_ca.xtb" lang="ca" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../third_party/launchpad_translations/generated_resources_ca-valencia.xtb" lang="ca@valencia" />
    </if>
    <file path="resources/generated_resources_cs.xtb" lang="cs" />
    <file path="resources/generated_resources_da.xtb" lang="da" />
    <file path="resources/generated_resources_de.xtb" lang="de" />
    <file path="resources/generated_resources_el.xtb" lang="el" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../third_party/launchpad_translations/generated_resources_en-AU.xtb" lang="en-AU" />
    </if>
    <file path="resources/generated_resources_en-GB.xtb" lang="en-GB" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../third_party/launchpad_translations/generated_resources_eo.xtb" lang="eo" />
    </if>
    <file path="resources/generated_resources_es.xtb" lang="es" />
    <file path="resources/generated_resources_es-419.xtb" lang="es-419" />
    <file path="resources/generated_resources_et.xtb" lang="et" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../third_party/launchpad_translations/generated_resources_eu.xtb" lang="eu" />
    </if>
    <file path="resources/generated_resources_fa.xtb" lang="fa" />
    <file path="resources/generated_resources_fi.xtb" lang="fi" />
    <file path="resources/generated_resources_fil.xtb" lang="fil" />
    <file path="resources/generated_resources_fr.xtb" lang="fr" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../third_party/launchpad_translations/generated_resources_gl.xtb" lang="gl" />
    </if>
    <file path="resources/generated_resources_gu.xtb" lang="gu" />
    <file path="resources/generated_resources_hi.xtb" lang="hi" />
    <file path="resources/generated_resources_hr.xtb" lang="hr" />
    <file path="resources/generated_resources_hu.xtb" lang="hu" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../third_party/launchpad_translations/generated_resources_hy.xtb" lang="hy" />
      <file path="../../third_party/launchpad_translations/generated_resources_ia.xtb" lang="ia" />
    </if>
    <file path="resources/generated_resources_id.xtb" lang="id" />
    <file path="resources/generated_resources_it.xtb" lang="it" />
    <!-- The translation console uses 'iw' for Hebrew, but we use 'he'. -->
    <file path="resources/generated_resources_iw.xtb" lang="he" />
    <file path="resources/generated_resources_ja.xtb" lang="ja" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../third_party/launchpad_translations/generated_resources_ka.xtb" lang="ka" />
    </if>
    <file path="resources/generated_resources_kn.xtb" lang="kn" />
    <file path="resources/generated_resources_ko.xtb" lang="ko" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../third_party/launchpad_translations/generated_resources_ku.xtb" lang="ku" />
      <file path="../../third_party/launchpad_translations/generated_resources_kw.xtb" lang="kw" />
    </if>
    <file path="resources/generated_resources_lt.xtb" lang="lt" />
    <file path="resources/generated_resources_lv.xtb" lang="lv" />
    <file path="resources/generated_resources_ml.xtb" lang="ml" />
    <file path="resources/generated_resources_mr.xtb" lang="mr" />
    <file path="resources/generated_resources_ms.xtb" lang="ms" />
    <file path="resources/generated_resources_nl.xtb" lang="nl" />
    <file path="resources/generated_resources_no.xtb" lang="no" />
    <file path="resources/generated_resources_pl.xtb" lang="pl" />
    <file path="resources/generated_resources_pt-BR.xtb" lang="pt-BR" />
    <file path="resources/generated_resources_pt-PT.xtb" lang="pt-PT" />
    <file path="resources/generated_resources_ro.xtb" lang="ro" />
    <file path="resources/generated_resources_ru.xtb" lang="ru" />
    <file path="resources/generated_resources_sk.xtb" lang="sk" />
    <file path="resources/generated_resources_sl.xtb" lang="sl" />
    <file path="resources/generated_resources_sr.xtb" lang="sr" />
    <file path="resources/generated_resources_sv.xtb" lang="sv" />
    <file path="resources/generated_resources_sw.xtb" lang="sw" />
    <file path="resources/generated_resources_ta.xtb" lang="ta" />
    <file path="resources/generated_resources_te.xtb" lang="te" />
    <file path="resources/generated_resources_th.xtb" lang="th" />
    <file path="resources/generated_resources_tr.xtb" lang="tr" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../third_party/launchpad_translations/generated_resources_ug.xtb" lang="ug" />
    </if>
    <file path="resources/generated_resources_uk.xtb" lang="uk" />
    <file path="resources/generated_resources_vi.xtb" lang="vi" />
    <file path="resources/generated_resources_zh-CN.xtb" lang="zh-CN" />
    <file path="resources/generated_resources_zh-TW.xtb" lang="zh-TW" />
  </translations>
  <release seq="1" allow_pseudo="false">
    <messages fallback_to_english="true">
      <!-- Bookmarks specific strings -->
      <part file="bookmarks_strings.grdp" />

      <!-- TODO add all of your "string table" messages here.  Remember to
      change nontranslateable parts of the messages into placeholders (using the
      <ph> element).  You can also use the 'grit add' tool to help you identify
      nontranslateable parts and create placeholders for them. -->
      <message name="IDS_BACKGROUND_APP_INSTALLED_BALLOON_TITLE" desc="The title of the balloon that is displayed when a background app is installed">
        New background app added
      </message>
      <message name="IDS_BACKGROUND_APP_INSTALLED_BALLOON_BODY" desc="The contents of the balloon that is displayed when a background app is installed">
        <ph name="APP_NAME">$1<ex>Background App</ex></ph> will launch at system startup and continue to run in the background even once you've closed all other <ph name="PRODUCT_NAME">$2<ex>Google Chrome</ex></ph> windows.
      </message>
      <message name="IDS_BACKGROUND_CRASHED_APP_BALLOON_MESSAGE" desc="The contents of the balloon that is displayed when a background app crashes">
        <ph name="APP_NAME">$1<ex>Background App</ex></ph> has crashed. Click this balloon to restart the app.
      </message>
      <message name="IDS_BACKGROUND_CRASHED_EXTENSION_BALLOON_MESSAGE" desc="The contents of the balloon that is displayed when an extension crashes">
        <ph name="APP_NAME">$1<ex>Extension</ex></ph> has crashed. Click this balloon to reload the extension.
      </message>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_BACKGROUND_APP_NOT_INSTALLED" desc="In Title Case: Label displayed in the status icon context menu when a profile does not have any background apps running.">
          No Background Apps Running
        </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_BACKGROUND_APP_NOT_INSTALLED" desc="Label displayed in the status icon context menu when a profile does not have any background apps running.">
          No background apps running
        </message>
      </if>

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

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

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

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

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

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

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

      <!-- Generic terms -->
      <message name="IDS_OK" desc="Used for OK on buttons">
        OK
      </message>
      <message name="IDS_CANCEL" desc="Used for Cancel on buttons">
        Cancel
      </message>
      <message name="IDS_ADD" desc="Used for Add on buttons">
        Add
      </message>
      <message name="IDS_UNDO_DELETE" desc="Description for a command to undo a delete command.">
        Undo Delete
      </message>
      <message name="IDS_EDIT" desc="Edit menu item">
        &amp;Edit
      </message>
      <message name="IDS_LEARN_MORE" desc="Learn more text">
        Learn more
      </message>
      <message name="IDS_CLOSE" desc="A generic term for Close on buttons and menus.">
        Close
      </message>
      <message name="IDS_DONE" desc="A generic term for Done on buttons and menus.">
        Done
      </message>
      <message name="IDS_SKIP" desc="A generic term for Skip on buttons and menus.">
        Skip
      </message>
      <message name="IDS_ACCNAME_TAB" desc="A generic description of a tab button's role">
        Tab
      </message>
      <message name="IDS_SAVE" desc="Used on a button to save information you are editing.">
        Save
      </message>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_VIEW_SOURCE" desc="The text label of the View Page Source menu item">
          View s&amp;ource
        </message>
        <message name="IDS_FEEDBACK" desc="The text label of the Report Bug menu item">
          &amp;Report an issue...
        </message>
        <message name="IDS_FEEDBACK_ALT" desc="The alternate text label of the Report Bug menu item, for a field trial">
          &amp;Send Feedback
        </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_TASK_MANAGER" desc="The text label of the Task Manager menu item">
          &amp;Task manager
        </message>
        <message name="IDS_RESTORE_TAB" desc="The text label of the Restore Tab menu item">
          R&amp;eopen closed tab
        </message>
        <message name="IDS_RESTORE_WINDOW" desc="The text label of the Restore Window menu item">
          R&amp;eopen closed window
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_VIEW_SOURCE" desc="In Title Case: The text label of the View Page Source menu item">
          View S&amp;ource
        </message>
        <message name="IDS_FEEDBACK" desc="In Title Case: The text label of the Report Bug menu item">
          &amp;Report an Issue...
        </message>
        <message name="IDS_FEEDBACK_ALT" desc="The alternate text label of the Report Bug menu item, for a field trial">
          &amp;Send Feedback
        </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_TASK_MANAGER" desc="In Title Case: The text label of the Task Manager menu item">
          &amp;Task Manager
        </message>
        <message name="IDS_RESTORE_TAB" desc="In Title Case: The text label of the Restore Tab menu item">
          R&amp;eopen Closed Tab
        </message>
        <message name="IDS_RESTORE_WINDOW" desc="In Title Case: The text label of the Restore Window menu item">
          R&amp;eopen Closed Window
        </message>
      </if>

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

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

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

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

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

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

      <message name="IDS_TIME_SECS_DEFAULT"
               desc="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_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> secs
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_TIME_SEC_SINGULAR"
               desc="NUMBER_ONE 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">
        <ph name="NUMBER_ONE"><ex>1</ex>#</ph> sec
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_TIME_SEC_SINGULAR"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_TIME_SECS_ZERO"
               desc="NUMBER_ZERO is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        <ph name="NUMBER_ZERO"><ex>0</ex>#</ph> secs
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_TIME_SECS_ZERO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_TIME_SECS_TWO"
               desc="NUMBER_TWO is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        <ph name="NUMBER_TWO"><ex>2</ex>#</ph> secs
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_SECS_TWO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_TIME_SECS_FEW"
               desc="NUMBER_FEW is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        <ph name="NUMBER_FEW"><ex>3</ex>#</ph> secs
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_SECS_FEW"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_TIME_SECS_MANY"
               desc="NUMBER_MANY is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        <ph name="NUMBER_MANY"><ex>23</ex>#</ph> secs
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_TIME_SECS_MANY"
               desc="">
        NA
      </message>
      </if>

      <message name="IDS_TIME_MINS_DEFAULT"
               desc="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_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> mins
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_TIME_MIN_SINGULAR"
               desc="NUMBER_ONE 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">
        <ph name="NUMBER_ONE"><ex>1</ex>#</ph> min
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_TIME_MIN_SINGULAR"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_TIME_MINS_ZERO"
               desc="NUMBER_ZERO is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        <ph name="NUMBER_ZERO"><ex>0</ex>#</ph> mins
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_TIME_MINS_ZERO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_TIME_MINS_TWO"
               desc="NUMBER_TWO is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        <ph name="NUMBER_TWO"><ex>2</ex>#</ph> mins
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_MINS_TWO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_TIME_MINS_FEW"
               desc="NUMBER_FEW is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        <ph name="NUMBER_FEW"><ex>3</ex>#</ph> mins
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_MINS_FEW"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_TIME_MINS_MANY"
               desc="NUMBER_MANY is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        <ph name="NUMBER_MANY"><ex>23</ex>#</ph> mins
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_TIME_MINS_MANY"
               desc="">
        NA
      </message>
      </if>


      <message name="IDS_TIME_HOURS_DEFAULT"
               desc="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_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> hours
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_TIME_HOUR_SINGULAR"
               desc="NUMBER_ONE 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">
        <ph name="NUMBER_ONE"><ex>1</ex>#</ph> hour
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_TIME_HOUR_SINGULAR"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_TIME_HOURS_ZERO"
               desc="NUMBER_ZERO is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        <ph name="NUMBER_ZERO"><ex>0</ex>#</ph> hours
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_TIME_HOURS_ZERO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_TIME_HOURS_TWO"
               desc="NUMBER_TWO is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        <ph name="NUMBER_TWO"><ex>2</ex>#</ph> hours
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_HOURS_TWO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_TIME_HOURS_FEW"
               desc="NUMBER_FEW is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        <ph name="NUMBER_FEW"><ex>3</ex>#</ph> hours
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_HOURS_FEW"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_TIME_HOURS_MANY"
               desc="NUMBER_MANY is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        <ph name="NUMBER_MANY"><ex>23</ex>#</ph> hours
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_TIME_HOURS_MANY"
               desc="">
        NA
      </message>
      </if>


      <message name="IDS_TIME_DAYS_DEFAULT"
               desc="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_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> days
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_TIME_DAY_SINGULAR"
               desc="NUMBER_ONE 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">
        <ph name="NUMBER_ONE"><ex>1</ex>#</ph> day
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_TIME_DAY_SINGULAR"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_TIME_DAYS_ZERO"
               desc="NUMBER_ZERO is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        <ph name="NUMBER_ZERO"><ex>0</ex>#</ph> days
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_TIME_DAYS_ZERO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_TIME_DAYS_TWO"
               desc="NUMBER_TWO is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        <ph name="NUMBER_TWO"><ex>2</ex>#</ph> days
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_DAYS_TWO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_TIME_DAYS_FEW"
               desc="NUMBER_FEW is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        <ph name="NUMBER_FEW"><ex>3</ex>#</ph> days
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_DAYS_FEW"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_TIME_DAYS_MANY"
               desc="NUMBER_MANY is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        <ph name="NUMBER_MANY"><ex>23</ex>#</ph> days
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_TIME_DAYS_MANY"
               desc="">
        NA
      </message>
      </if>


      <message name="IDS_TIME_REMAINING_SECS_DEFAULT"
               desc="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_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> secs left
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_TIME_REMAINING_SEC_SINGULAR"
               desc="NUMBER_ONE 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">
        <ph name="NUMBER_ONE"><ex>1</ex>#</ph> sec left
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_TIME_REMAINING_SEC_SINGULAR"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_TIME_REMAINING_SECS_ZERO"
               desc="NUMBER_ZERO is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        <ph name="NUMBER_ZERO"><ex>0</ex>#</ph> secs left
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_TIME_REMAINING_SECS_ZERO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_TIME_REMAINING_SECS_TWO"
               desc="NUMBER_TWO is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        <ph name="NUMBER_TWO"><ex>2</ex>#</ph> secs left
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_REMAINING_SECS_TWO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_TIME_REMAINING_SECS_FEW"
               desc="NUMBER_FEW is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        <ph name="NUMBER_FEW"><ex>3</ex>#</ph> secs left
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_REMAINING_SECS_FEW"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_TIME_REMAINING_SECS_MANY"
               desc="NUMBER_MANY is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        <ph name="NUMBER_MANY"><ex>23</ex>#</ph> secs left
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_TIME_REMAINING_SECS_MANY"
               desc="">
        NA
      </message>
      </if>


      <message name="IDS_TIME_REMAINING_MINS_DEFAULT"
               desc="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_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> mins left
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_TIME_REMAINING_MIN_SINGULAR"
               desc="NUMBER_ONE 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">
        <ph name="NUMBER_ONE"><ex>1</ex>#</ph> min left
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_TIME_REMAINING_MIN_SINGULAR"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_TIME_REMAINING_MINS_ZERO"
               desc="NUMBER_ZERO is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        <ph name="NUMBER_ZERO"><ex>0</ex>#</ph> mins left
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_TIME_REMAINING_MINS_ZERO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_TIME_REMAINING_MINS_TWO"
               desc="NUMBER_TWO is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        <ph name="NUMBER_TWO"><ex>2</ex>#</ph> mins left
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_REMAINING_MINS_TWO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_TIME_REMAINING_MINS_FEW"
               desc="NUMBER_FEW is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        <ph name="NUMBER_FEW"><ex>3</ex>#</ph> mins left
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_REMAINING_MINS_FEW"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_TIME_REMAINING_MINS_MANY"
               desc="NUMBER_MANY is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        <ph name="NUMBER_MANY"><ex>23</ex>#</ph> mins left
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_TIME_REMAINING_MINS_MANY"
               desc="">
        NA
      </message>
      </if>

      <message name="IDS_TIME_REMAINING_LONG_MINS_DEFAULT"
               desc="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_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> minutes left
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_TIME_REMAINING_LONG_MIN_SINGULAR"
               desc="NUMBER_ONE 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">
        <ph name="NUMBER_ONE"><ex>1</ex>#</ph> minute left
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_TIME_REMAINING_LONG_MIN_SINGULAR"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_TIME_REMAINING_LONG_MINS_ZERO"
               desc="NUMBER_ZERO is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        <ph name="NUMBER_ZERO"><ex>0</ex>#</ph> minutes left
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_TIME_REMAINING_LONG_MINS_ZERO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_TIME_REMAINING_LONG_MINS_TWO"
               desc="NUMBER_TWO is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        <ph name="NUMBER_TWO"><ex>2</ex>#</ph> minutes left
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_REMAINING_LONG_MINS_TWO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_TIME_REMAINING_LONG_MINS_FEW"
               desc="NUMBER_FEW is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        <ph name="NUMBER_FEW"><ex>3</ex>#</ph> minutes left
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_REMAINING_LONG_MINS_FEW"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_TIME_REMAINING_LONG_MINS_MANY"
               desc="NUMBER_MANY is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        <ph name="NUMBER_MANY"><ex>23</ex>#</ph> minutes left
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_TIME_REMAINING_LONG_MINS_MANY"
               desc="">
        NA
      </message>
      </if>

      <message name="IDS_TIME_REMAINING_HOURS_DEFAULT"
               desc="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_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> hours left
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_TIME_REMAINING_HOUR_SINGULAR"
               desc="NUMBER_ONE 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">
        <ph name="NUMBER_ONE"><ex>1</ex>#</ph> hour left
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_TIME_REMAINING_HOUR_SINGULAR"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_TIME_REMAINING_HOURS_ZERO"
               desc="NUMBER_ZERO is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        <ph name="NUMBER_ZERO"><ex>0</ex>#</ph> hours left
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_TIME_REMAINING_HOURS_ZERO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_TIME_REMAINING_HOURS_TWO"
               desc="NUMBER_TWO is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        <ph name="NUMBER_TWO"><ex>2</ex>#</ph> hours left
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_REMAINING_HOURS_TWO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_TIME_REMAINING_HOURS_FEW"
               desc="NUMBER_FEW is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        <ph name="NUMBER_FEW"><ex>3</ex>#</ph> hours left
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_REMAINING_HOURS_FEW"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_TIME_REMAINING_HOURS_MANY"
               desc="NUMBER_MANY is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        <ph name="NUMBER_MANY"><ex>23</ex>#</ph> hours left
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_TIME_REMAINING_HOURS_MANY"
               desc="">
        NA
      </message>
      </if>


      <message name="IDS_TIME_REMAINING_DAYS_DEFAULT"
               desc="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_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> days left
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_TIME_REMAINING_DAY_SINGULAR"
               desc="NUMBER_ONE 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">
        <ph name="NUMBER_ONE"><ex>1</ex>#</ph> day left
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_TIME_REMAINING_DAY_SINGULAR"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_TIME_REMAINING_DAYS_ZERO"
               desc="NUMBER_ZERO is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        <ph name="NUMBER_ZERO"><ex>0</ex>#</ph> days left
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_TIME_REMAINING_DAYS_ZERO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_TIME_REMAINING_DAYS_TWO"
               desc="NUMBER_TWO is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        <ph name="NUMBER_TWO"><ex>2</ex>#</ph> days left
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_REMAINING_DAYS_TWO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_TIME_REMAINING_DAYS_FEW"
               desc="NUMBER_FEW is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        <ph name="NUMBER_FEW"><ex>3</ex>#</ph> days left
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_REMAINING_DAYS_FEW"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_TIME_REMAINING_DAYS_MANY"
               desc="NUMBER_MANY is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        <ph name="NUMBER_MANY"><ex>23</ex>#</ph> days left
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_TIME_REMAINING_DAYS_MANY"
               desc="">
        NA
      </message>
      </if>

      <message name="IDS_TIME_DURATION_LONG_SECS_DEFAULT"
               desc="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_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> seconds
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_TIME_DURATION_LONG_SEC_SINGULAR"
               desc="NUMBER_ONE 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">
        <ph name="NUMBER_ONE"><ex>1</ex>#</ph> second
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_TIME_DURATION_LONG_SEC_SINGULAR"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_TIME_DURATION_LONG_SECS_ZERO"
               desc="NUMBER_ZERO is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        <ph name="NUMBER_ZERO"><ex>0</ex>#</ph> seconds
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_TIME_DURATION_LONG_SECS_ZERO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_TIME_DURATION_LONG_SECS_TWO"
               desc="NUMBER_TWO is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        <ph name="NUMBER_TWO"><ex>2</ex>#</ph> seconds
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_DURATION_LONG_SECS_TWO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_TIME_DURATION_LONG_SECS_FEW"
               desc="NUMBER_FEW is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        <ph name="NUMBER_FEW"><ex>3</ex>#</ph> seconds
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_DURATION_LONG_SECS_FEW"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_TIME_DURATION_LONG_SECS_MANY"
               desc="NUMBER_MANY is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        <ph name="NUMBER_MANY"><ex>23</ex>#</ph> seconds
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_TIME_DURATION_LONG_SECS_MANY"
               desc="">
        NA
      </message>
      </if>

      <message name="IDS_TIME_DURATION_LONG_MINS_DEFAULT"
               desc="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_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> minutes
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_TIME_DURATION_LONG_MIN_SINGULAR"
               desc="NUMBER_ONE 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">
        <ph name="NUMBER_ONE"><ex>1</ex>#</ph> minute
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_TIME_DURATION_LONG_MIN_SINGULAR"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_TIME_DURATION_LONG_MINS_ZERO"
               desc="NUMBER_ZERO is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        <ph name="NUMBER_ZERO"><ex>0</ex>#</ph> minutes
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_TIME_DURATION_LONG_MINS_ZERO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_TIME_DURATION_LONG_MINS_TWO"
               desc="NUMBER_TWO is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        <ph name="NUMBER_TWO"><ex>2</ex>#</ph> minutes
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_DURATION_LONG_MINS_TWO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_TIME_DURATION_LONG_MINS_FEW"
               desc="NUMBER_FEW is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        <ph name="NUMBER_FEW"><ex>3</ex>#</ph> minutes
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_DURATION_LONG_MINS_FEW"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_TIME_DURATION_LONG_MINS_MANY"
               desc="NUMBER_MANY is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        <ph name="NUMBER_MANY"><ex>23</ex>#</ph> minutes
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_TIME_DURATION_LONG_MINS_MANY"
               desc="">
        NA
      </message>
      </if>

      <message name="IDS_TIME_ELAPSED_SECS_DEFAULT"
               desc="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_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> secs ago
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_TIME_ELAPSED_SEC_SINGULAR"
               desc="NUMBER_ONE 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">
        <ph name="NUMBER_ONE"><ex>1</ex>#</ph> sec ago
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_TIME_ELAPSED_SEC_SINGULAR"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_TIME_ELAPSED_SECS_ZERO"
               desc="NUMBER_ZERO is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        <ph name="NUMBER_ZERO"><ex>0</ex>#</ph> secs ago
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_TIME_ELAPSED_SECS_ZERO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_TIME_ELAPSED_SECS_TWO"
               desc="NUMBER_TWO is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        <ph name="NUMBER_TWO"><ex>2</ex>#</ph> secs ago
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_ELAPSED_SECS_TWO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_TIME_ELAPSED_SECS_FEW"
               desc="NUMBER_FEW is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        <ph name="NUMBER_FEW"><ex>3</ex>#</ph> secs ago
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_ELAPSED_SECS_FEW"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_TIME_ELAPSED_SECS_MANY"
               desc="NUMBER_MANY is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        <ph name="NUMBER_MANY"><ex>23</ex>#</ph> secs ago
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_TIME_ELAPSED_SECS_MANY"
               desc="">
        NA
      </message>
      </if>


      <message name="IDS_TIME_ELAPSED_MINS_DEFAULT"
               desc="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_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> mins ago
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_TIME_ELAPSED_MIN_SINGULAR"
               desc="NUMBER_ONE 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">
        <ph name="NUMBER_ONE"><ex>1</ex>#</ph> min ago
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_TIME_ELAPSED_MIN_SINGULAR"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_TIME_ELAPSED_MINS_ZERO"
               desc="NUMBER_ZERO is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        <ph name="NUMBER_ZERO"><ex>0</ex>#</ph> mins ago
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_TIME_ELAPSED_MINS_ZERO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_TIME_ELAPSED_MINS_TWO"
               desc="NUMBER_TWO is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        <ph name="NUMBER_TWO"><ex>2</ex>#</ph> mins ago
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_ELAPSED_MINS_TWO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_TIME_ELAPSED_MINS_FEW"
               desc="NUMBER_FEW is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        <ph name="NUMBER_FEW"><ex>3</ex>#</ph> mins ago
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_ELAPSED_MINS_FEW"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_TIME_ELAPSED_MINS_MANY"
               desc="NUMBER_MANY is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        <ph name="NUMBER_MANY"><ex>23</ex>#</ph> mins ago
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_TIME_ELAPSED_MINS_MANY"
               desc="">
        NA
      </message>
      </if>


      <message name="IDS_TIME_ELAPSED_HOURS_DEFAULT"
               desc="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_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> hours ago
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_TIME_ELAPSED_HOUR_SINGULAR"
               desc="NUMBER_ONE 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">
        <ph name="NUMBER_ONE"><ex>1</ex>#</ph> hour ago
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_TIME_ELAPSED_HOUR_SINGULAR"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_TIME_ELAPSED_HOURS_ZERO"
               desc="NUMBER_ZERO is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        <ph name="NUMBER_ZERO"><ex>0</ex>#</ph> hours ago
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_TIME_ELAPSED_HOURS_ZERO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_TIME_ELAPSED_HOURS_TWO"
               desc="NUMBER_TWO is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        <ph name="NUMBER_TWO"><ex>2</ex>#</ph> hours ago
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_ELAPSED_HOURS_TWO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_TIME_ELAPSED_HOURS_FEW"
               desc="NUMBER_FEW is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        <ph name="NUMBER_FEW"><ex>3</ex>#</ph> hours ago
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_ELAPSED_HOURS_FEW"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_TIME_ELAPSED_HOURS_MANY"
               desc="NUMBER_MANY is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        <ph name="NUMBER_MANY"><ex>23</ex>#</ph> hours ago
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_TIME_ELAPSED_HOURS_MANY"
               desc="">
        NA
      </message>
      </if>


      <message name="IDS_TIME_ELAPSED_DAYS_DEFAULT"
               desc="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_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> days ago
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_TIME_ELAPSED_DAY_SINGULAR"
               desc="NUMBER_ONE 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">
        <ph name="NUMBER_ONE"><ex>1</ex>#</ph> day ago
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_TIME_ELAPSED_DAY_SINGULAR"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_TIME_ELAPSED_DAYS_ZERO"
               desc="NUMBER_ZERO is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        <ph name="NUMBER_ZERO"><ex>0</ex>#</ph> days ago
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_TIME_ELAPSED_DAYS_ZERO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_TIME_ELAPSED_DAYS_TWO"
               desc="NUMBER_TWO is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        <ph name="NUMBER_TWO"><ex>2</ex>#</ph> days ago
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_ELAPSED_DAYS_TWO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_TIME_ELAPSED_DAYS_FEW"
               desc="NUMBER_FEW is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        <ph name="NUMBER_FEW"><ex>3</ex>#</ph> days ago
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_ELAPSED_DAYS_FEW"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_TIME_ELAPSED_DAYS_MANY"
               desc="NUMBER_MANY is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        <ph name="NUMBER_MANY"><ex>23</ex>#</ph> days ago
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_TIME_ELAPSED_DAYS_MANY"
               desc="">
        NA
      </message>
      </if>

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

      <!-- Download Shelf Items -->
      <message name="IDS_DOWNLOAD_STATUS_STARTING"
               desc="When starting a download, let the user know we're starting the download.">
        Starting...
      </message>
      <message name="IDS_DOWNLOAD_STATUS_IN_PROGRESS"
               desc="Size and units downloaded, time remaining.">
        <ph name="DOWNLOAD_RECEIVED">$1<ex>54/154 MB</ex></ph>, <ph name="TIME_LEFT">$2<ex>5s</ex></ph>
      </message>
      <message name="IDS_DOWNLOAD_STATUS_SIZES"
               desc="Size and units downloaded.">
        <ph name="DOWNLOAD_RECEIVED">$1<ex>54kB</ex></ph>/<ph name="DOWNLOAD_TOTAL">$2<ex>154MB</ex></ph>
      </message>
      <message name="IDS_DOWNLOAD_STATUS_OPEN_IN"
               desc="Time left until the file download completes and the file is opened.">
        Opening in <ph name="TIME_REMAINING">$1<ex>5 sec</ex></ph>...
      </message>
      <message name="IDS_DOWNLOAD_STATUS_OPEN_WHEN_COMPLETE"
         desc="Status that the file download will be opened when the download completes.">
        Opening when complete
      </message>
      <message name="IDS_DOWNLOAD_STATUS_OPENING"
               desc="Temporary status shown when a user has clicked to open a downloaded file.">
        Opening <ph name="FILE">$1<ex>image.jpg</ex></ph>...
      </message>
      <message name="IDS_DOWNLOAD_STATUS_CANCELLED" desc="Text that appears under the downloaded files that have been cancelled.">
        Cancelled
      </message>
      <message name="IDS_DOWNLOAD_STATUS_REMOVED" desc="Text that appears under the downloaded files that have been removed.">
        Removed
      </message>
      <message name="IDS_DOWNLOAD_STATUS_INTERRUPTED" desc="Status text for a download item that was interrupted.">
        Failed - <ph name="INTERRUPT_REASON">$1<ex>Disk full</ex></ph>
      </message>
      <message name="IDS_DOWNLOAD_UNCONFIRMED_PREFIX" desc="The prefix used in the unconfirmed download file.">
        Unconfirmed
      </message>
      <if expr="is_android">
        <message name="IDS_PROMPT_DANGEROUS_DOWNLOAD"
                 desc="Mobile: Message shown to the user to validate the download of a dangerous file.">
          This type of file can harm your device. Do you want to keep <ph name="FILE_NAME">$1<ex>malware.exe</ex></ph> anyway?
        </message>
        <message name="IDS_PROMPT_DANGEROUS_DOWNLOAD_EXTENSION"
           desc="Mobile: Message shown to the user to validate the download of an extension file.">
          Extensions, apps, and themes can harm your device. Are you sure you want to continue?
        </message>
      </if>
      <if expr="not is_android">
        <message name="IDS_PROMPT_DANGEROUS_DOWNLOAD"
                 desc="Message shown to the user to validate the download of a dangerous file.">
          This type of file can harm your computer. Do you want to keep <ph name="FILE_NAME">$1<ex>malware.exe</ex></ph> anyway?
        </message>
        <message name="IDS_PROMPT_DANGEROUS_DOWNLOAD_EXTENSION"
           desc="Message shown to the user to validate the download of an extension file.">
          Extensions, apps, and themes can harm your computer. Are you sure you want to continue?
        </message>
      </if>
      <message name="IDS_PROMPT_MALICIOUS_DOWNLOAD_URL"
         desc="Message shown to the user to validate the download when the download url is classified to lead to malware by the safebrowsing database.">
        This file appears malicious.
      </message>
      <message name="IDS_PROMPT_MALICIOUS_DOWNLOAD_CONTENT"
         desc="Message shown to the user to validate the download when the download content is classified to lead to malware by safebrowsing.">
        <ph name="FILE_NAME">$1<ex>malware.exe</ex></ph> appears malicious.
      </message>
      <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_PROMPT_CONFIRM_KEEP_DANGEROUS_DOWNLOAD"
               desc="Prompt text for the confirmation dialog asking whether the user really meant to keep a dangerous download">
        This might hurt. Don't say we didn't warn you...
      </message>
      <message name="IDS_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"
               desc="Text for the button used to validate the downloading of a dangerous download.">
        Keep
      </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_REPORT_AND_DISCARD_DOWNLOAD"
               desc="Text for the button used to upload a malicious file to Google for analysis and then discard it.">
        Report &amp; Discard
      </message>

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

      <!-- Download Context Menu Items -->
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_DOWNLOAD_MENU_OPEN_WHEN_COMPLETE"
                 desc="Download context menu open when download is finished">
          Open when &amp;done
        </message>
        <message name="IDS_DOWNLOAD_MENU_OPEN"
                 desc="Download context menu open download">
          &amp;Open
        </message>
        <message name="IDS_DOWNLOAD_MENU_ALWAYS_OPEN_TYPE"
                 desc="Download context menu open when download is finished">
          &amp;Always open files of this type
        </message>
        <message name="IDS_DOWNLOAD_MENU_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="pp_ifdef('use_titlecase')">
        <message name="IDS_DOWNLOAD_MENU_OPEN_WHEN_COMPLETE"
                 desc="In Title Case: Download context menu open when download is finished">
          Open When &amp;Done
        </message>
        <message name="IDS_DOWNLOAD_MENU_OPEN"
                 desc="In Title Case: Download context menu open download">
          &amp;Open
        </message>
        <message name="IDS_DOWNLOAD_MENU_ALWAYS_OPEN_TYPE"
                 desc="In Title Case: Download context menu open when download is finished">
          &amp;Always Open Files of This Type
        </message>
        <message name="IDS_DOWNLOAD_MENU_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="Download context menu show information about interrupted downloads">
          &amp;More Information
        </message>
      </if>
      <!-- GRIT doesn't support nesting <if>...</if> blocks, so these can't -->
      <!-- go within the above titlecase checks, instead markup must use    -->
      <!-- combined tests for all cases.                                    -->
      <!-- NOTE: the last two (OSX cases) are the same English values,      -->
      <!--       but two strings are needed in case some other language     -->
      <!--       needs a difference for Title Case support.                 -->
      <if expr="not is_macosx and not pp_ifdef('use_titlecase')">
        <!-- !Mac & Sentence case -->
        <message name="IDS_DOWNLOAD_MENU_SHOW"
                 desc="Show the file in file explorer, 'Show in folder' item"
              meaning="'show in folder' on non Mac in Sentence case">
          &amp;Show in folder
        </message>
      </if>
      <if expr="not is_macosx and pp_ifdef('use_titlecase')">
        <!-- !Mac & Title Case -->
        <message name="IDS_DOWNLOAD_MENU_SHOW"
                 desc="In Title Case: Show the file in file explorer, 'Show in folder' item"
              meaning="'show in folder' on non Mac in Title Case">
          &amp;Show in Folder
        </message>
      </if>
      <if expr="is_macosx and not pp_ifdef('use_titlecase')">
        <!-- Mac & Sentence case -->
        <message name="IDS_DOWNLOAD_MENU_SHOW"
                 desc="Mac: Show the file in the Finder, 'Show in Finder' item"
              meaning="'show in Finder' on Mac in Sentence case">
          &amp;Show in Finder
        </message>
      </if>
      <if expr="is_macosx and pp_ifdef('use_titlecase')">
        <!-- Mac & Title Case -->
        <message name="IDS_DOWNLOAD_MENU_SHOW"
                 desc="In Title Case: Mac: Show the file in the Finder, 'Show in Finder' item"
              meaning="'show in Finder' on Mac in Title Case">
          &amp;Show in Finder
        </message>
      </if>

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

      <!-- "Create application shortcuts" menu item -->
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_CREATE_SHORTCUTS" desc="Default installation menu label">
          Create application &amp;shortcuts...
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_CREATE_SHORTCUTS" desc="In Title Case: Default installation menu label">
          Create Application &amp;Shortcuts...
        </message>
      </if>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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


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

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

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

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

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

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

      <!-- Certificate manager dialog strings.  These are only used on platforms that don't have a native certificate manager dialog, such as Linux. -->
      <message name="IDS_CERTIFICATE_MANAGER_TITLE" desc="String to be displayed in the title bar of the certificate manager dialog">
        Certificate manager
      </message>
      <message name="IDS_CERT_MANAGER_PERSONAL_CERTS_TAB_LABEL" desc="Title of the notebook page displaying the user's own certificates">
        Your Certificates
      </message>
      <message name="IDS_CERT_MANAGER_SERVER_CERTS_TAB_LABEL" desc="Title of the notebook page displaying server certificates">
        Servers
      </message>
      <message name="IDS_CERT_MANAGER_CERT_AUTHORITIES_TAB_LABEL" desc="Title of the notebook page displaying certificate authorities">
        Authorities
      </message>
      <message name="IDS_CERT_MANAGER_UNKNOWN_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_UNKNOWN_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_UNKNOWN_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>
      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_CERT_MANAGER_IMPORT_AND_BIND_BUTTON" desc="Label for the button in the certificate manager which allows you to import certificates and bind to your device.">
          Import and Bind to Device...
        </message>
        <message name="IDS_CERT_MANAGER_KEY_FORMAT_LONG" desc="A longer format for keys in the wifi / vpn config dialogs.">
          <ph name="ISSUED_BY">$1<ex>Google Inc</ex></ph> [<ph name="ISSUED_TO">$2<ex>John Doe</ex></ph>]
        </message>
        <message name="IDS_CERT_MANAGER_HARDWARE_BACKED_KEY_FORMAT" 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_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>
        <message name="IDS_CERT_MANAGER_HARDWARE_BACKED" desc="A device name to be used for ChromeOS device backed keys.">
          hardware-backed
        </message>
      </if>

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

      <!-- 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 Checker</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 Checker</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_WILL_HAVE_ACCESS_TO" desc="Second line in the content area of the extension or app installation prompt. Note that the exact wording is important. This should mean that the extension or app _can_ access the listed privileges, but not necessarily that it will or needs to.">
        It can:
      </message>
      <message name="IDS_EXTENSION_PROMPT_WILL_NOW_HAVE_ACCESS_TO" desc="Second line in the content area of the extension or app re-enable prompt. Note that the exact wording is important. This should mean that the extension _can now_ access the listed privileges, but not necessarily that it will or needs to. This message appeared because the user must approve new permissions of the extension or app.">
        It can now:
      </message>
      <message name="IDS_EXTENSION_PROMPT_THESE_WILL_HAVE_ACCESS_TO" desc="Header for the permissions area of the bundled extension or app installation prompt. Note that the exact wording is important. This means that the extensions or apps _can_ access the listed privileges, but not necessarily that it will or needs to.">
        They can:
      </message>
      <message name="IDS_EXTENSION_PROMPT_WANTS_ACCESS_TO" desc="Second line in the content area of the extension or app permissions prompt. Note that the exact wording is important. This should mean that the extension _wants to_ access the listed privileges, but not necessarily that it will or needs to. This message appeared because the user must approve new permissions of the extension or app.">
        It could:
      </message>
      <message name="IDS_EXTENSION_PROMPT_CAN_ACCESS" desc="Second line in the content area of the extension or app permissions view dialog. Note that the exact wording is important. This should mean that the extension _can now_ access the listed privileges, because it has already been installed. This message appeared because the user must approve new permissions of the extension or app.">
        It can:
      </message>
      <message name="IDS_EXTENSION_NO_SPECIAL_PERMISSIONS" desc="Shown when the app/extension requires no special permission">
        Has no special permissions.
      </message>

      <message name="IDS_EXTENSION_PERMISSION_LINE" desc="Template for item in list of privileges that an extension or app has">
        • <ph name="PERMISSION">$1<ex>Access your data on all websites</ex></ph>
      </message>
      <message name="IDS_EXTENSION_RATING_COUNT" desc="Number of ratings an app or extensions has (displayed after star icons)">
        (<ph name="RATING_COUNT">$1<ex>46</ex></ph>)
      </message>
      <message name="IDS_EXTENSION_USER_COUNT" desc="Number of users an app or extension has">
        <ph name="USER_COUNT">$1<ex>10,479</ex></ph> users
      </message>
      <message name="IDS_EXTENSION_PROMPT_STORE_LINK" desc="Anchor text for link to Chrome Web Store in app or extension installation dialog">
        View details
      </message>
      <message name="IDS_EXTENSION_PROMPT_OAUTH_HEADER" desc="A line of explanatory text that precedes all GAIA account permissions that an extension requests. This is shown during installation.">
        On your <ph name="ACCOUNT_EMAIL">$1<ex>user@example.com</ex></ph> account, it can:
      </message>
      <message name="IDS_EXTENSION_PROMPT_OAUTH_REENABLE_HEADER" desc="A line of explanatory text that precedes all GAIA account permissions that an extension requests. This is shown when an app is being re-enabled after new permissions have been requested.">
        On your <ph name="ACCOUNT_EMAIL">$1<ex>user@example.com</ex></ph> account, it can now:
      </message>
      <message name="IDS_EXTENSION_PROMPT_OAUTH_PERMISSIONS_HEADER" desc="A line of explanatory text that precedes all GAIA account permissions that an extension might request. This is shown when an app requests permissions which are optional.">
        On your <ph name="ACCOUNT_EMAIL">$1<ex>user@example.com</ex></ph> account, it could:
      </message>
      <message name="IDS_EXTENSION_PROMPT_RETAINED_FILES" desc="A line of explanatory text that precedes the list of files the app has permanent access to. This is shown when an app has persistent access to files.">
        It has permanent access to:
      </message>
      <message name="IDS_EXTENSION_PROMPT_RETAINED_FILES_WITH_COUNT" 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.">
        It has permanent access to <ph name="NUMBER_OF_FILES">$1<ex>5</ex></ph> files.
      </message>

      <if expr="is_android">
        <message name="IDS_EXTENSION_PROMPT_WARNING_FULL_ACCESS" desc="Mobile: Permission string for full access to the device and all websites.">
          Access all data on your device and the websites you visit
        </message>
      </if>
      <if expr="not is_android">
        <message name="IDS_EXTENSION_PROMPT_WARNING_FULL_ACCESS" desc="Permission string for full access to the computer and all websites.">
          Access all data on your computer and the websites you visit
        </message>
      </if>
      <message name="IDS_EXTENSION_PROMPT_WARNING_ALL_HOSTS" desc="Permission string for access to data on all websites.">
        Access your data on all websites
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_1_HOST" desc="Permission string for access to data on one website.">
        Access your data on <ph name="WEBSITE_1">$1<ex>www.google.com</ex></ph>
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_2_HOSTS" desc="Permission string for access to data on two websites.">
        Access your data on <ph name="WEBSITE_1">$1<ex>www.google.com</ex></ph> and <ph name="WEBSITE_2">$2<ex>www.reddit.com</ex></ph>
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_3_HOSTS" desc="Permission string for access to data on three websites.">
        Access your data on <ph name="WEBSITE_1">$1<ex>www.google.com</ex></ph>, <ph name="WEBSITE_2">$2<ex>www.reddit.com</ex></ph>, and <ph name="WEBSITE_3">$3<ex>news.ycombinator.com</ex></ph>
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_4_OR_MORE_HOSTS" desc="Permission string for access to data on four or more websites.">
        Access your data on <ph name="WEBSITE_1">$1<ex>www.google.com</ex></ph>, <ph name="WEBSITE_2">$2<ex>www.yahoo.com</ex></ph>, and <ph name="NUMBER_OF_OTHER_WEBSITES">$3<ex>3</ex></ph> other websites
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_HOSTS" desc="Permission string for access to data on four or more websites.">
        Access your data on <ph name="NUMBER_OF_OTHER_WEBSITES">$1<ex>5</ex></ph> website(s)
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_HOST_LIST" desc="Permission string (heading) for a list of websites.">
        Access your data on the following websites:
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_HOST_LIST_ENTRY" desc="Single entry in a list of websites.">
        - <ph name="WEBSITE_1">$1<ex>www.google.com</ex></ph>
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_FAVICON" desc="Permission string for access to favicons.">
        Access the icons of the websites you visit.
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_INPUT" desc="Permission string for access to input.">
        Access anything you type.
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_BOOKMARKS" desc="Permission string for access to bookmarks.">
        Read and modify your bookmarks
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_BROWSING_HISTORY" desc="Permission string for access to browsing history.">
        Read and modify your browsing history
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_GEOLOCATION" desc="Permisson string for access to geolocation.">
        Detect your physical location
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_MANAGEMENT" desc="Permisson string for access to extension management.">
        Manage your apps, extensions, and themes
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_TABS" desc="Permission string for access to tabs.">
        Access your tabs and browsing activity
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_DEBUGGER" desc="Permission string for access to debugger.">
        Access the page debugger backend
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_CLIPBOARD" desc="Permission string for access to clipboard.">
        Access data you copy and paste
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_TTS_ENGINE" desc="Permission string for access to text-to-speech.">
        Access all text spoken using synthesized speech
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_CONTENT_SETTINGS" desc="Permission string for access to content settings.">
        Manipulate settings that control websites' access to cookies, JavaScript, and plug-ins
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_PRIVACY" desc="Permission string for access to privacy settings.">
        Manipulate privacy-related settings
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_USB" desc="Permission string for access to USB devices.">
        Access USB devices
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_BLUETOOTH" desc="Permission string for general access to the Bluetooth API.">
        Access information about Bluetooth devices paired with your system.
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_BLUETOOTH_DEVICES" desc="Permission string for implementing Bluetooth profiles.">
        Access Bluetooth devices paired with your system.
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_USB_DEVICE" desc="Permission string for access to a specific USB device.">
        Access the USB device <ph name="PRODUCT_NAME">$1<ex>SoundKnob</ex></ph> from <ph name="VENDOR_NAME">$2<ex>Griffin Technology</ex></ph>.
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_USB_DEVICE_MISSING_VENDOR" desc="Permission string for access to a specific USB device when a vendor name cannot be established for a USB device.">
        Access the USB device.
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_USB_DEVICE_MISSING_PRODUCT" desc="Permission string for access to a specific USB device when a product name cannot be established for a USB device.">
        Access the USB device from <ph name="VENDOR_NAME">$1<ex>Griffin Technology</ex></ph>.
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_AUDIO_CAPTURE" desc="Permission string for access to audio capture devices.">
        Use your microphone
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_VIDEO_CAPTURE" desc="Permission string for access to video capture devices.">
        Use your camera
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_AUDIO_AND_VIDEO_CAPTURE" desc="Permission string for access to both audio and video capture devices.">
        Use your microphone and camera
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_DOWNLOADS" desc="Permission string for access to downloads.">
        Manage your downloads
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_DOWNLOADS_OPEN" desc="Permission string for access to downloads.">
        Open downloaded files
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_FILE_SYSTEM_WRITE" desc="Permission string for write access to the file system.">
        Write to files that you have opened in the application
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_MEDIA_GALLERIES_READ_WRITE" desc="Permission string for access to read and write to all of the user's media galleries.">
        Access and change photos, music, and other media from your computer.
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_MEDIA_GALLERIES_READ" desc="Permission string for access to read all of the user's media galleries.">
        Access photos, music, and other media from your computer.
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_MEDIA_GALLERIES_WRITE" desc="Permission string for access to write to all of the user's media galleries.">
        Change photos, music, and other media from your computer.
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_SERIAL" desc="Permission string for access to serial devices.">
        Use serial devices attached to your computer
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_SOCKET_ANY_HOST" desc="Permission string for access to any computer on the local network or internet.">
        Exchange data with any computer on the local network or internet
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_SOCKET_HOSTS_IN_DOMAIN" desc="Permission string for access to any computer within a single domains on the local network or internet.">
        Exchange data with any computer in the domain <ph name="DOMAIN">$1<ex>example.com</ex></ph>
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_SOCKET_HOSTS_IN_DOMAINS" desc="Permission string for access to any computer within multiple domains on the local network or internet.">
        Exchange data with any computer in the domains: <ph name="DOMAINS">$1<ex>example.com example.org</ex></ph>
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_SOCKET_SPECIFIC_HOST" desc="Permission string for access to a single specific computers on the local network or internet.">
        Exchange data with the computer named <ph name="HOSTNAME">$1<ex>foo.example.com</ex></ph>
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_SOCKET_SPECIFIC_HOSTS" desc="Permission string for access to multiple specific computers on the local network or internet.">
        Exchange data with the computers named: <ph name="HOSTNAMES">$1<ex>foo.example.com bar.example.com</ex></ph>
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_SYSTEM_INDICATOR" desc="Permission string for access to an icon in the system indicator area, such as the taskbar or system tray.">
        Display and manage an icon in the system indicator area.
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_SYNCFILESYSTEM" desc="Permission string for synchronizing files to the user's Google Drive">
        Store data in your Google Drive account
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_MUSIC_MANAGER_PRIVATE" desc="Permission string for accessing a unique device identifier">
        Access a unique identifier for this computer
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_NATIVE_MESSAGING" desc="Permission string for Native Messaging API.">
        Communicate with cooperating native applications
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_WEB_CONNECTABLE" desc="Permission string for allowing websites to connect to extensions.">
        Communicate with cooperating websites
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_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>

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

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

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

      <!-- chrome://settings/extensions page -->
      <message name="IDS_EXTENSIONS_DEVELOPER_MODE_LINK" desc="Text of the link for developer mode.">
        Developer mode
      </message>
      <message name="IDS_EXTENSIONS_LOAD_UNPACKED_BUTTON" desc="Text of the 'Load Extension' button.">
        Load unpacked extension...
      </message>
      <message name="IDS_EXTENSIONS_PACK_BUTTON" desc="Text for the 'Pack Extension' button.">
        Pack extension...
      </message>
      <message name="IDS_EXTENSIONS_UPDATE_BUTTON" desc="Text for the 'Update extensions' button.">
        Update extensions now
      </message>
      <message name="IDS_EXTENSIONS_NONE_INSTALLED" desc="Text that lets the user know that no extensions are installed.">
        Boo... You have no extensions :-(
      </message>
      <message name="IDS_EXTENSIONS_PERMISSIONS_HEADING" desc="Heading for permissions dialog in apps_devtools">
        It can:
      </message>
      <message name="IDS_EXTENSIONS_PERMISSIONS_CLOSE" desc="Close button for permissions dialog in apps_devtools">
        Close
      </message>
      <message name="IDS_APPS_DEVTOOL_LOAD_UNPACKED_BUTTON" desc="Text of the 'Load app/extension' button.">
        Load unpacked...
      </message>
      <message name="IDS_APPS_DEVTOOL_PACK_BUTTON" desc="Text for the 'Pack app/extension' button.">
        Pack...
      </message>
      <message name="IDS_APPS_DEVTOOL_UPDATE_BUTTON" desc="Text for the 'Update app/extensions' button.">
        Update
      </message>
      <message name="IDS_APPS_DEVTOOL_SEARCH" desc="Placeholder text that appears inside the search box until the user inputs data.">
        Search
      </message>
      <message name="IDS_APPS_DEVTOOL_APPS_INSTALLED" desc="Text for the word 'Apps'.">
        Apps
      </message>
      <message name="IDS_APPS_DEVTOOL_EXTENSIONS_INSTALLED" desc="Text for the word 'Extensions'.">
        Extensions
      </message>
      <message name="IDS_APPS_DEVTOOL_NO_PACKED_APPS" desc="Text that lets the user know that no packed apps are installed.">
        No installed applications.
      </message>
      <message name="IDS_APPS_DEVTOOL_NO_UNPACKED_APPS" desc="Text that lets the user know that no unpacked apps are installed.">
        No unpacked applications.
      </message>
      <message name="IDS_APPS_DEVTOOL_NO_PACKED_EXTENSIONS" desc="Text that lets the user know that no packed extensions are installed.">
        No installed extensions.
      </message>
      <message name="IDS_APPS_DEVTOOL_NO_UNPACKED_EXTENSIONS" desc="Text that lets the user know that no unpacked extensions are installed.">
        No unpacked extensions.
      </message>
      <message name="IDS_APPS_DEVTOOL_UNPACKED_INSTALLED" desc="Text for the word 'Unpacked' (unpacked app or extension).">
        Unpacked
      </message>
      <message name="IDS_APPS_DEVTOOL_INSTALLED" desc="Text for the word 'Installed' (installed app or extension).">
        Installed
      </message>
      <message name="IDS_APPS_DEVTOOL_UPDATING" desc="Text for the word 'Updating...' when the user clicks on 'Update'.">
        Updating...
      </message>
      <message name="IDS_APPS_DEVTOOL_DELETE_CONFIRMATION_BUTTON" desc="Text of  the delete button in the apps/extension delete confirmation dialog.">
        Delete
      </message>
      <message name="IDS_APPS_DEVTOOL_DELETE_CONFIRMATION_TITLE" desc="Text of the title of the apps/extension delete confirmation dialog.">
        Delete
      </message>
      <message name="IDS_APPS_DEVTOOL_DELETE_CONFIRMATION_MESSAGE_APP" desc="Text of the message of the apps/extension delete confirmation dialog in case the user is deleting an app.">
        Do you really want to delete this application?
      </message>
      <message name="IDS_APPS_DEVTOOL_DELETE_CONFIRMATION_MESSAGE_EXTENSION" desc="Text of the message of the apps/extension delete confirmation dialog in case the user is deleting an extension.">
        Do you really want to delete this extension?
      </message>
      <message name="IDS_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_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_ENABLE" desc="The link for enabling extensions.">
        Enable
      </message>
      <message name="IDS_EXTENSIONS_ENABLED" desc="The label for an enabled extension.">
        Enabled
      </message>
      <message name="IDS_EXTENSIONS_REMOVE" desc="The label for uninstalling an extension.">
        Remove
      </message>
      <message name="IDS_EXTENSIONS_ENABLE_INCOGNITO" desc="The checkbox for enabling an extension in incognito.">
        Allow in incognito
      </message>
      <message name="IDS_EXTENSIONS_ALLOW_FILE_ACCESS" desc="The checkbox for allowing an extension access to run scripts on file URLs.">
        Allow access to file URLs
      </message>
      <message name="IDS_EXTENSIONS_VISIT_WEBSITE" desc="The link for visiting the extension's homepage.">
        Visit website
      </message>
      <message name="IDS_EXTENSIONS_VISIT_WEBSTORE" desc="The link for visiting the extension's gallery page.">
        View in Web Store
      </message>
      <message name="IDS_EXTENSIONS_RELOAD_TERMINATED" desc="The link for reloading extensions.">
        Reload
      </message>
      <message name="IDS_EXTENSIONS_LAUNCH" desc="The link for launching apps.">
        Launch
      </message>
      <message name="IDS_EXTENSIONS_RESTART" desc="The link for restarting apps.">
        Restart
      </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_SHOW_BUTTON" desc="The text for the Show link.">
        Show button
      </message>

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

      <message name="IDS_EXTENSIONS_POLICY_CONTROLLED" desc="The text in the extensions UI informing the user that an extension is policy controlled">
        (This extension is managed and cannot be removed or disabled.)
      </message>
      <message name="IDS_EXTENSIONS_LOCKED_MANAGED_USER" desc="The error message (either shown in the extensions UI or logged) informing a supervised user that extensions cannot be changed.">
        Extensions cannot be modified by supervised users.
      </message>
      <message name="IDS_EXTENSIONS_USE_APPS_DEV_TOOLS" desc="The message in the banner to invite people to use Apps Developer Tools.">
        The new Apps Developer Tools makes it easier than ever to manage and debug your apps and extensions. It's also been added to the application list.
      </message>
      <message name="IDS_EXTENSIONS_OPEN_APPS_DEV_TOOLS" desc="The text of the button to open Apps Developer Tools in the banner to invite people to use Apps Developer Tools.">
        Open
      </message>
      <message name="IDS_GET_MORE_EXTENSIONS" desc="The text for getting more extensions. Displayed at bottom of extension management page when there is at least one extension installed.">
        Get more extensions
      </message>
      <message name="IDS_EXTENSION_LOAD_FROM_DIRECTORY" desc="Title of directory browse dialog when user wants to load an extension from a directory.">
        Select the extension directory.
      </message>
      <message name="IDS_EXTENSIONS_COMMANDS_CONFIGURE" desc="Text for the 'Keyboard shortcuts' link to configure extension keyboard shortcuts.">
        Keyboard shortcuts
      </message>
      <message name="IDS_EXTENSION_COMMANDS_DIALOG_TITLE" desc="Title of extension commands dialog">
        Keyboard Shortcuts for Extensions
      </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_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_ADT_PACK_DIALOG_HEADING" desc="The heading of the pack extension dialog in the Apps Developer Tool.">
        The packed extension and the private key will be written in the parent directory of the root directory of the extension to pack. To update an extension, select the private key file to reuse.
      </message>
      <message name="IDS_EXTENSION_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_UNINSTALL_BUTTON" desc="Text for the uninstall button on the extension uninstall prompt">
        Remove
      </message>
      <message name="IDS_EXTENSION_PROMPT_RE_ENABLE_BUTTON" desc="Text for the enable button on the extension re-enable prompt">
        Re-enable
      </message>
      <message name="IDS_EXTENSION_PROMPT_PERMISSIONS_BUTTON" desc="Text for the allow button on the extension permissions prompt">
        Allow
      </message>
      <message name="IDS_EXTENSION_PROMPT_PERMISSIONS_ABORT_BUTTON" desc="Text for the deny button on the extension permissions prompt">
        Deny
      </message>
      <message name="IDS_EXTENSION_PROMPT_PERMISSIONS_CLEAR_RETAINED_FILES_BUTTON" desc="Text for the Revoke File Access button on the extension permissions prompt">
        Revoke File Access
      </message>
      <message name="IDS_EXTENSION_WEB_STORE_TITLE" desc="Text for the Chrome Web Store">
        Chrome Web Store
      </message>
      <message name="IDS_EXTENSION_WEB_STORE_TITLE_SHORT" desc="Text for the Chrome Web Store">
        Web Store
      </message>
      <message name="IDS_EXTENSIONS_SHOW_DETAILS" desc="Tooltip for the button next to an extension that shows more details">
        Show Details
      </message>
      <message name="IDS_EXTENSIONS_HIDE_DETAILS" desc="Tooltip for the button next to an extension that hides details">
        Hide Details
      </message>

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

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

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

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

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

      <!-- policy status messages -->
      <message name="IDS_POLICY_DM_STATUS_SUCCESS" desc="Message indicating a successful device management server call.">
        Request succeeded
      </message>
      <message name="IDS_POLICY_DM_STATUS_REQUEST_INVALID" desc="Message indicating a bad request to the enterprise server.">
        Invalid request or request parameters
      </message>
      <message name="IDS_POLICY_DM_STATUS_REQUEST_FAILED" desc="Message indicating the request to the enterprise server failed in the network.">
        Network error
      </message>
      <message name="IDS_POLICY_DM_STATUS_TEMPORARY_UNAVAILABLE" desc="Message indicating a temporary problem on the enterprise server.">
        Temporary server error
      </message>
      <message name="IDS_POLICY_DM_STATUS_HTTP_STATUS_ERROR" desc="Message indicating an abnormal response code from the enterprise server.">
        HTTP error
      </message>
      <message name="IDS_POLICY_DM_STATUS_RESPONSE_DECODING_ERROR" desc="Message indicating a problem decoding a response from the enterprise server.">
        Failed to decode response
      </message>
      <message name="IDS_POLICY_DM_STATUS_SERVICE_MANAGEMENT_NOT_SUPPORTED" desc="Message indicating that enterprise management is not applicable to the user/device.">
        Management not supported
      </message>
      <message name="IDS_POLICY_DM_STATUS_SERVICE_DEVICE_NOT_FOUND" desc="Message indicating the enterprise server is missing a device record.">
        Missing device record
      </message>
      <message name="IDS_POLICY_DM_STATUS_SERVICE_MANAGEMENT_TOKEN_INVALID" desc="Message indicating the token used to authenticate to the enterprise server is invalid.">
        Invalid device management token
      </message>
      <message name="IDS_POLICY_DM_STATUS_SERVICE_ACTIVATION_PENDING" desc="Message indicating enterprise management must first be activated for this user/device.">
        Activation is pending on the server
      </message>
      <message name="IDS_POLICY_DM_STATUS_SERVICE_INVALID_SERIAL_NUMBER" desc="Message indicating the provided device serial number is invalid.">
        Device serial number is invalid
      </message>
      <message name="IDS_POLICY_DM_STATUS_SERVICE_DEVICE_ID_CONFLICT" desc="Message indicating the chosen device identifier is already used.">
        Conflicting device identifier
      </message>
      <message name="IDS_POLICY_DM_STATUS_SERVICE_MISSING_LICENSES" desc="Message indicating the enterprise server doesn't have enough licenses to allow management.">
        Licenses exhausted
      </message>
      <message name="IDS_POLICY_DM_STATUS_SERVICE_POLICY_NOT_FOUND" desc="Message indicating that the enterprise server failed to find the policy to be applied to the device.">
        Policy not found
      </message>
      <message name="IDS_POLICY_DM_STATUS_UNKNOWN_ERROR" desc="Message indicating an unknown error from the enterprise server.">
        Unknown error
      </message>

      <message name="IDS_POLICY_VALIDATION_OK" desc="Message indicating successful policy validation.">
        Validation successful
      </message>
      <message name="IDS_POLICY_VALIDATION_BAD_INITIAL_SIGNATURE" desc="Message indicating a bad signature on policy validation using the initial key.">
        Bad intial signature
      </message>
      <message name="IDS_POLICY_VALIDATION_BAD_SIGNATURE" desc="Message indicating a bad signature on policy validation.">
        Bad signature
      </message>
      <message name="IDS_POLICY_VALIDATION_ERROR_CODE_PRESENT" desc="Message indicating policy validation failure due to an error code in the policy.">
        Error code present in the policy response
      </message>
      <message name="IDS_POLICY_VALIDATION_PAYLOAD_PARSE_ERROR" desc="Message indicating a policy parse error during policy validation.">
        Error parsing policy
      </message>
      <message name="IDS_POLICY_VALIDATION_WRONG_POLICY_TYPE" desc="Message indicating the policy did not have the expected type.">
        Wrong policy type
      </message>
      <message name="IDS_POLICY_VALIDATION_WRONG_SETTINGS_ENTITY_ID" desc="Message indicating the policy did not have the expected entity identifier.">
        Wrong entity identifier
      </message>
      <message name="IDS_POLICY_VALIDATION_BAD_TIMESTAMP" desc="Message indicating the policy timestamp is bad.">
        Bad policy timestamp
      </message>
      <message name="IDS_POLICY_VALIDATION_WRONG_TOKEN" desc="Message indicating the policy token is different from the one expected.">
        Returned policy token doesn't match current token
      </message>
      <message name="IDS_POLICY_VALIDATION_BAD_USERNAME" desc="Message indicating policy validation failed due to bad username/domain.">
        Wrong policy subject
      </message>
      <message name="IDS_POLICY_VALIDATION_POLICY_PARSE_ERROR" desc="Message indicating a parse error in policy.">
        Error parsing policy settings
      </message>
      <message name="IDS_POLICY_VALIDATION_UNKNOWN_ERROR" desc="Message indicating unknown error in policy validation.">
        Unknown error
      </message>

      <message name="IDS_POLICY_STORE_STATUS_OK" desc="Message indicating a healthy policy store.">
        Policy cache OK
      </message>
      <message name="IDS_POLICY_STORE_STATUS_LOAD_ERROR" desc="Message indicating a failure to load policy.">
        Failed to load policy settings
      </message>
      <message name="IDS_POLICY_STORE_STATUS_STORE_ERROR" desc="Message indicating a failure to store policy.">
        Failed to store policy settings
      </message>
      <message name="IDS_POLICY_STORE_STATUS_PARSE_ERROR" desc="Message indicating a parse error on loading policy">
        Policy parse error
      </message>
      <message name="IDS_POLICY_STORE_STATUS_SERIALIZE_ERROR" desc="Message indicating an error preparing policy for storage.">
        Serialization error
      </message>
      <message name="IDS_POLICY_STORE_STATUS_VALIDATION_ERROR" desc="Message indicating policy validation on store/load failed.">
        Validation error: <ph name="VALIDATION_ERROR">$1<ex>Bad signature</ex></ph>.
      </message>
      <message name="IDS_POLICY_STORE_STATUS_BAD_STATE" desc="Message indicating policy cannot be stored/loaded due to the backend being in bad state.">
        Backing store in bad state
      </message>
      <message name="IDS_POLICY_STORE_STATUS_UNKNOWN_ERROR" desc="Message indicating an unknown error with the policy cache.">
        Unknown error
      </message>

      <message name="IDS_POLICY_TYPE_ERROR" desc="The text displayed in the status column when a policy value has the wrong type.">
        Expected <ph name="VALUE_TYPE">$1<ex>boolean</ex></ph> value.
      </message>
      <message name="IDS_POLICY_OUT_OF_RANGE_ERROR" desc="The text displayed in the status column when a policy value is out of range.">
        Value is out of range <ph name="VALUE">$1<ex>10</ex></ph>.
      </message>
      <message name="IDS_POLICY_VALUE_FORMAT_ERROR" desc="The text displayed in the status column when a policy value doesn't match the expected format.">
        Value doesn't match format.
      </message>
      <message name="IDS_POLICY_DEFAULT_SEARCH_DISABLED" desc="The text displayed in the status column when a policy value has been ignored because default search has been disabled.">
        Ignored because default search is disabled by policy.
      </message>
      <message name="IDS_POLICY_NOT_SPECIFIED_ERROR" desc="The text displayed in the status column when a policy value should have been specified but wasn't.">
        Must be specified.
      </message>
      <message name="IDS_POLICY_SUBKEY_ERROR" desc="The text displayed in the status column for errors in a subkey of a policy.">
        Key "<ph name="SUBKEY">$1<ex>ProxyMode</ex></ph>": <ph name="ERROR">$2<ex>Must be specified.</ex></ph>
      </message>
      <message name="IDS_POLICY_LIST_ENTRY_ERROR" desc="The text displayed in the status column for errors in list entry in a policy.">
        List entry "<ph name="ENTRY_INDEX">$1<ex>3</ex></ph>": <ph name="ERROR">$2<ex>Value is out of range.</ex></ph>
      </message>
      <message name="IDS_POLICY_INVALID_SEARCH_URL_ERROR" desc="The text displayed in the status column when a the URL given for DefaultSearchProviderSearchURL is invalid.">
        Invalid search URL.
      </message>
      <message name="IDS_POLICY_INVALID_PROXY_MODE_ERROR" desc="The text displayed in the status column when the value for ProxyMode is invalid.">
        Invalid proxy mode.
      </message>
      <message name="IDS_POLICY_PROXY_MODE_DISABLED_ERROR" desc="The text displayed in the status column when use of a proxy is disabled but a proxy configuration is given.">
        Use of a proxy is disabled but an explicit proxy configuration is specified.
      </message>
      <message name="IDS_POLICY_PROXY_MODE_AUTO_DETECT_ERROR" desc="The text displayed in the status column when the proxy is set to auto configured but a proxy configuration is given.">
        Proxy is set to auto configured.
      </message>
      <message name="IDS_POLICY_PROXY_MODE_PAC_URL_ERROR" desc="The text displayed in the status column when the proxy configuration is set to use a .pac script URL but policies only for fixed proxy servers are also specified.">
        Proxy configuration is set to use a .pac script URL, not fixed proxy servers.
      </message>
      <message name="IDS_POLICY_PROXY_MODE_FIXED_SERVERS_ERROR" desc="The text displayed in the status column when the proxy configuration is set to use fixed proxy servers but an alternate configuration is given.">
        Proxy is set to use fixed proxy servers, not a .pac script URL.
      </message>
      <message name="IDS_POLICY_PROXY_MODE_SYSTEM_ERROR" desc="The text displayed in the status column when the proxy configuration is set to use system settings but an alternate configuration is given.">
        System proxy settings are set to be used but an explicit proxy configuration is also specified.
      </message>
      <message name="IDS_POLICY_PROXY_BOTH_SPECIFIED_ERROR" desc="The text displayed in the status column when both fixed proxy servers and .pac url are specified.">
        Both fixed proxy servers and a .pac script URL are specified.
      </message>
      <message name="IDS_POLICY_PROXY_NEITHER_SPECIFIED_ERROR" desc="The text displayed in the status column when neither a fixed proxy servers or a .pac url are specified.">
        Neither fixed proxy servers nor a .pac script URL are specified.
      </message>
      <message name="IDS_POLICY_OVERRIDDEN" desc="The text displayed in the status column when the corresponding policy is being ignored because another policy is overriding it.">
        Ignored because it was overridden by <ph name="POLICY_NAME">$1<ex>ProxyMode</ex></ph>.
      </message>
      <message name="IDS_POLICY_DEPRECATED" desc="The text displayed in the status column when the corresponding policy is deprecated.">
        This policy has been deprecated.
      </message>
      <message name="IDS_POLICY_VALUE_DEPRECATED" desc="The text displayed in the status column when a specific value for a policy is deprecated.">
        This value is deprecated for this policy.
      </message>
      <message name="IDS_POLICY_NETWORK_CONFIG_PARSE_FAILED" desc="The text displayed in the status column when the corresponding network configuration policy failed to parse.">
        Network configuration failed to be parsed.
      </message>
      <message name="IDS_POLICY_NETWORK_CONFIG_IMPORT_PARTIAL" desc="The text displayed in the status column when the corresponding network configuration policy is not standard conform and was imported partially.">
        The network configuration doesn't comply to the ONC standard. Parts of the configuration may not be imported.
      </message>
      <message name="IDS_POLICY_NETWORK_CONFIG_IMPORT_FAILED" desc="The text displayed in the status column when the corresponding network configuration policy is invalid.">
        The network configuration is invalid and couldn't be imported.
      </message>
      <message name="IDS_POLICY_JSON_PARSE_ERROR" desc="The text displayed in the status column when a policy that should have been specified in JSON format could not be parsed.">
        Failed to parse JSON format: <ph name="JSON_PARSE_ERROR">$1<ex>Unexpected token.</ex></ph>
      </message>
      <message name="IDS_POLICY_OK" desc="Text displayed in the status column when a valid value is set for a policy.">
        OK
      </message>
      <message name="IDS_POLICY_UNSET" desc="Text displayed in the status column when no value is set for a policy.">
        Not set.
      </message>
      <message name="IDS_POLICY_UNKNOWN" desc="Text displayed in the status column when a policy name is not recognized.">
        Unknown policy.
      </message>
      <message name="IDS_POLICY_INVALID_BOOKMARK" desc="Text displayed in the status column when an entry of the ManagedBookmarks policy is not a valid bookmark.">
        Ignored invalid bookmark at index <ph name="ENTRY_INDEX">$1<ex>3</ex></ph>
      </message>

      <!-- chrome://policy -->
      <message name="IDS_POLICY_TITLE" desc="Page title and the title of the section that lists policies.">
        Policies
      </message>
      <message name="IDS_POLICY_FILTER_PLACEHOLDER" desc="Placeholder for the input field that lets the user filter policies by name.">
        Filter policies by name
      </message>
      <message name="IDS_POLICY_RELOAD_POLICIES" desc="Label for the button that reloads policies.">
        Reload policies
      </message>
      <message name="IDS_POLICY_STATUS" desc="Title of the status section.">
        Status
      </message>
      <message name="IDS_POLICY_STATUS_DEVICE" desc="Title for the device policy status box.">
        Device policies
      </message>
      <message name="IDS_POLICY_STATUS_USER" desc="Title for the user policy status box.">
        User policies
      </message>
      <message name="IDS_POLICY_LABEL_DOMAIN" desc="Label for the enrollment domain in the device policy status box.">
        Enrollment domain:
      </message>
      <message name="IDS_POLICY_LABEL_USERNAME" desc="Label for the username in the user policy status box.">
        User:
      </message>
      <message name="IDS_POLICY_LABEL_CLIENT_ID" desc="Label for the client IDs in the policy status boxes.">
        Client ID:
      </message>
      <message name="IDS_POLICY_LABEL_TIME_SINCE_LAST_REFRESH" desc="Label for the time since the last refresh in the policy status boxes.">
        Last fetched:
      </message>
      <message name="IDS_POLICY_NEVER_FETCHED" desc="Indicates that a policy fetch was never performed before.">
        Never
      </message>
      <message name="IDS_POLICY_LABEL_REFRESH_INTERVAL" desc="Label for the refresh interval in the policy status boxes.">
        Fetch interval:
      </message>
      <message name="IDS_POLICY_LABEL_STATUS" desc="Label for the actual status in the policy status boxes.">
        Status:
      </message>
      <message name="IDS_POLICY_SHOW_UNSET" desc="Label for the checkbox that determines whether policies whose value has not been set are shown.">
        Show policies with no value set
      </message>
      <message name="IDS_POLICY_NO_POLICIES_SET" desc="Text displayed when none of the policies have been set.">
        No policies set
      </message>
      <message name="IDS_POLICY_HEADER_SCOPE" desc="Table header for the column in the policy table that details whether a policy is a user or a device policy.">
        Applies to
      </message>
      <message name="IDS_POLICY_HEADER_LEVEL" desc="Table header for the column in the policy table that details whether a policy is mandatory or recommended.">
        Level
      </message>
      <message name="IDS_POLICY_HEADER_NAME" desc="Table header for the column in the policy table that contains the policy name.">
        Policy name
      </message>
      <message name="IDS_POLICY_HEADER_VALUE" desc="Table header for the column in the policy table that contains the policy value.">
        Policy value
      </message>
      <message name="IDS_POLICY_HEADER_STATUS" desc="Table header for the column in policy table that contains the policy status.">
        Status
      </message>
      <message name="IDS_POLICY_SHOW_EXPANDED_VALUE" desc="Text for the link that shows the policy value. Used when the policy value is too long to be always visible.">
        Show value
      </message>
      <message name="IDS_POLICY_HIDE_EXPANDED_VALUE" desc="Text for the link that hides the policy value. Used when the policy value is too long to be always visible.">
        Hide value
      </message>
      <message name="IDS_POLICY_SCOPE_USER" desc="Text displayed in the Applies to column when a policy applies to the current user only.">
        Current user
      </message>
      <if expr="not is_android and not pp_ifdef('chromeos')">
        <message name="IDS_POLICY_SCOPE_DEVICE" desc="Text displayed in the Applies to column when a policy applies to everyone on the machine.">
          Machine
        </message>
      </if>
      <if expr="pp_ifdef('chromeos') or is_android">
        <message name="IDS_POLICY_SCOPE_DEVICE" desc="Mobile: Text displayed in the Applies To column when a policy applies to everyone on the device.">
          Device
        </message>
      </if>
      <message name="IDS_POLICY_LEVEL_RECOMMENDED" desc="Text displayed in the Level column when a policy is recommended.">
        Recommended
      </message>
      <message name="IDS_POLICY_LEVEL_MANDATORY" desc="Text displayed in the Level column when a policy is mandatory.">
        Mandatory
      </message>

      <if expr="is_android">
        <message name="IDS_POLICY_MANAGED_BOOKMARKS" desc="Mobile: name of the managed bookmarks folder">
          <ph name="DOMAIN">$1<ex>google.com</ex></ph> bookmarks
        </message>
        <message name="IDS_POLICY_MANAGED_BOOKMARKS_DEFAULT_NAME" desc="Mobile: name of the managed bookmarks folder when the management domain can't be determined.">
          Managed bookmarks
        </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 pp_ifdef('chromeos')">
        <message name="IDS_FLAGS_RELAUNCH_BUTTON" desc="Text on a button that relaunches chrome when clicked. ">
          Relaunch Now
        </message>
      </if>
      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_FLAGS_ALTERNATE_SHELF_LAYOUT_NAME">
          Alternative shelf layout
        </message>
        <message name="IDS_FLAGS_ALTERNATE_SHELF_LAYOUT_DESCRIPTION">
          Use the alternative shelf layout.
        </message>
        <message name="IDS_FLAGS_RELAUNCH_BUTTON" desc="Text on a button that restarts Chrome OS when clicked. ">
          Restart Now
        </message>
        <message name="IDS_SYSTEM_FLAGS_OWNER_ONLY" desc="A warning that flags that apply system-wide can only be set by the owner.">
          Flags that apply system-wide can only be set by the owner: <ph name="OWNER_EMAIL">$1<ex>owner@example.com</ex></ph>.
        </message>
      </if>
      <message name="IDS_FLAGS_RESET_ALL_BUTTON" desc="Text on a button that resets all experiments to their default state when clicked.">
        Reset all to default
      </message>
      <message name="IDS_FLAGS_DISABLE" desc="The link for disabling a labs experiment.">
        Disable
      </message>
      <message name="IDS_FLAGS_ENABLE" desc="The link for enabling a labs experiment.">
        Enable
      </message>
      <message name="IDS_FLAGS_TABPOSE_NAME" desc="Name of the 'Tab Overview' lab.">
        Tab Overview
      </message>
      <message name="IDS_FLAGS_TABPOSE_DESCRIPTION" desc="Description of the 'Tab Overview' lab.">
        Swipe down with three fingers on your trackpad while holding the option key to see an overview of all your tabs. Click on a thumbnail to select it. Works great in fullscreen mode.
      </message>
      <message name="IDS_FLAGS_STACKED_TAB_STRIP_NAME" desc="Name of the 'Stacked Tabs' lab.">
        Stacked Tabs
      </message>
      <message name="IDS_FLAGS_STACKED_TAB_STRIP_DESCRIPTION" desc="Description of the 'Stacked Tabs' lab.">
        Tabs never shrink, instead they stack on top of each other when there is not enough space.
      </message>
      <message name="IDS_FLAGS_ENABLE_NACL_NAME" desc="Name of the 'Enable Native Client' lab.">
        Native Client
      </message>
      <if expr="is_android">
        <message name="IDS_FLAGS_ENABLE_NACL_DESCRIPTION" desc="Mobile: Description of the 'Enable Native Client' lab.">
          Enable support for Native Client.
        </message>
      </if>
      <if expr="not is_android">
        <message name="IDS_FLAGS_ENABLE_NACL_DESCRIPTION" desc="Description of the 'Enable Native Client' lab.">
          Enable Native Client for all web applications, even those that were not installed from the Chrome Web Store.
        </message>
      </if>
      <message name="IDS_FLAGS_ENABLE_NACL_DEBUG_NAME" desc="Name of the 'NaCl GDB debug stub' lab.">
        Native Client GDB-based debugging
      </message>
      <message name="IDS_FLAGS_ENABLE_NACL_DEBUG_DESCRIPTION" desc="Description of the 'NaCl GDB debug stub' lab.">
        Enable GDB debug stub. This will stop a Native Client application on startup and wait for nacl-gdb (from the NaCl SDK) to attach to it.
      </message>
      <message name="IDS_FLAGS_NACL_DEBUG_MASK_NAME" desc="Name of the 'Restrict NaCl GDB debugging' lab.">
        Restrict Native Client GDB-based debugging by pattern
      </message>
      <message name="IDS_FLAGS_NACL_DEBUG_MASK_DESCRIPTION" desc="Description of the 'Restrict NaCl GDB debugging' lab.">
        Restricts Native Client application GDB-based debugging by URL of manifest file. Native Client GDB-based debugging must be enabled for this option to work.
      </message>
      <message name="IDS_NACL_DEBUG_MASK_CHOICE_INCLUDE_DEBUG">
        Debug only if manifest URL ends with debug.nmf
      </message>
      <message name="IDS_NACL_DEBUG_MASK_CHOICE_EXCLUDE_UTILS">
        Debug everything except secure shell
      </message>
      <message name="IDS_FLAGS_PNACL_NAME" desc="Name of the 'Portable Native Client' lab.">
        Portable Native Client.
      </message>
      <message name="IDS_FLAGS_PNACL_DESCRIPTION" desc="Description of the 'Disable Portable Native Client' lab.">
        Allows web pages to use Portable Native Client.
      </message>
      <message name="IDS_FLAGS_SAVE_PAGE_AS_MHTML_NAME" desc="Name of the 'Save Page as MHTML' lab.">
        Save Page as MHTML
      </message>
      <message name="IDS_FLAGS_SAVE_PAGE_AS_MHTML_DESCRIPTION" desc="Description of the 'Save Page as MHTML' lab.">
        Disables saving pages as HTML-only or HTML Complete; enables saving pages only as MHTML: a single text file containing HTML and all sub-resources.
      </message>
      <message name="IDS_FLAGS_ENABLE_DEVICE_DISCOVERY_NAME" desc="Title of the enable 'device discovery' flag.">
        Device Discovery
      </message>
      <message name="IDS_FLAGS_ENABLE_DEVICE_DISCOVERY_DESCRIPTION" desc="Description for 'device discovery' flag.">
        Enables experimental device discovery on local network.
      </message>
      <message name="IDS_FLAGS_TOUCH_OPTIMIZED_UI_NAME" desc="Title of the touch-optimized UI flag." >
        Touch Optimized UI
      </message>
      <message name="IDS_FLAGS_TOUCH_OPTIMIZED_UI_DESCRIPTION" desc="Description of the touch-optimized UI flag.">
        Enables experimental layout refinements to improve user experience with touch screens.
      </message>
      <message name="IDS_FLAGS_ENABLE_SCROLL_PREDICTION_NAME" desc="Title of the flag which enables scroll prediction.">
        Enable scroll prediction
      </message>
      <message name="IDS_FLAGS_ENABLE_SCROLL_PREDICTION_DESCRIPTION" desc="Description of the flag to enable scroll prediction.">
        Predicts the finger's future position during scrolls allowing time to render the frame before the finger is there.
      </message>
      <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_ENABLE_BACKLOADER_NAME" desc="Title of the enable background loader flag." >
        Enable background loader component for hosted applications
      </message>
      <message name="IDS_ENABLE_BACKLOADER_DESCRIPTION" desc="Description of the enable background loader flag.">
        Enable background loader component for hosted applications.
      </message>
      <message name="IDS_ENABLE_SCREENSAVER_EXTENSION_NAME" desc="Title of the enble screensaver extensions flag." >
        Enable screensaver extensions.
      </message>
      <message name="IDS_ENABLE_SCREENSAVER_EXTENSION_DESCRIPTION" desc="Description of the enable screensaver extensions flag.">
        Enable screensaver extensions.
      </message>
      <message name="IDS_FLAGS_CONFLICTS_CHECK_NAME" desc="Title of the run conflicts check flag">
        Check for known conflicts with 3rd party modules.
      </message>
      <message name="IDS_FLAGS_CONFLICTS_CHECK_DESCRIPTION" desc="Description of the conflicts check flag">
        Enables a background check that warns you when a software incompatibility is detected (ie. 3rd party modules that crash the browser).
      </message>
      <message name="IDS_FLAGS_COMPOSITED_LAYER_BORDERS" desc="Name of the 'Composited layer borders' lab.">
        Composited render layer borders
      </message>
      <message name="IDS_FLAGS_COMPOSITED_LAYER_BORDERS_DESCRIPTION" desc="Description of the 'Composited layer borders' lab.">
        Renders a border around composited Render Layers to help debug and study layer compositing.
      </message>
      <message name="IDS_FLAGS_SHOW_FPS_COUNTER" desc="Name of the 'Show FPS counter' lab.">
        FPS counter
      </message>
      <message name="IDS_FLAGS_SHOW_FPS_COUNTER_DESCRIPTION" desc="Description of the 'Show FPS counter' lab.">
        Shows a page's actual frame rate, in frames per second, when hardware acceleration is active.
      </message>
      <message name="IDS_FLAGS_ACCELERATED_FILTERS" desc="Name of the 'Accelerated SVG Filters' lab.">
        GPU Accelerated SVG Filters
      </message>
      <message name="IDS_FLAGS_ACCELERATED_FILTERS_DESCRIPTION" desc="Description of the 'Accelerated SVG Filters' lab.">
        Use the GPU to accelerate rendering of SVG filters.
      </message>
      <message name="IDS_FLAGS_DEBUG_SHORTCUTS_NAME" desc="Name of the 'Debugging keyboard shortcuts' lab.">
        Debugging keyboard shortcuts
      </message>
      <message name="IDS_FLAGS_DEBUG_SHORTCUTS_DESCRIPTION" desc="Description of the 'Debugging keyboard shortcuts' lab.">
        Enables additional keyboard shortcuts that are useful for debugging Chromium.
      </message>
      <message name="IDS_FLAGS_FORCE_COMPOSITING_MODE_NAME" desc="Name of the 'Force compositing mode' lab.">
        GPU compositing on all pages
      </message>
      <message name="IDS_FLAGS_FORCE_COMPOSITING_MODE_DESCRIPTION" desc="Description of the 'Force compositing mode' lab.">
        Uses GPU accelerated compositing on all pages, not just those that include GPU-accelerated layers.
      </message>
      <message name="IDS_FLAGS_PRESENT_WITH_GDI_NAME" desc="Name of the 'First Present With GDI' experiment.">
        Do SHOW Presents with GDI.
      </message>
      <message name="IDS_FLAGS_PRESENT_WITH_GDI_DESCRIPTION" desc="Description of the 'First Present With GDI' experiment.">
        Speculative fix for http://crbug.com/169848
      </message>
      <message name="IDS_FLAGS_PRESENT_WITH_GDI_FIRST_SHOW" desc="Description of the 'First Show Present With GDI' experiment.">
        First
      </message>
      <message name="IDS_FLAGS_PRESENT_WITH_GDI_ALL_SHOW" desc="Description of the 'All Show Present With GDI' experiment.">
        All
      </message>
      <message name="IDS_FLAGS_FORCE_HIGH_DPI_NAME" desc="Name of the 'Force high DPI mode' lab.">
        Force high DPI mode
      </message>
      <message name="IDS_FLAGS_FORCE_HIGH_DPI_DESCRIPTION" desc="Description of the 'Force high DPI mode' lab.">
        Overrides the device display density to force the use of high DPI mode and assets.
      </message>
      <message name="IDS_FLAGS_IGNORE_GPU_BLACKLIST_NAME" desc="Name of the 'Ignore GPU blacklist' lab.">
        Override software rendering list
      </message>
      <message name="IDS_FLAGS_IGNORE_GPU_BLACKLIST_DESCRIPTION" desc="Description of the 'Ignore GPU blacklist' lab.">
        Overrides the built-in software rendering list and enables GPU-acceleration on unsupported system configurations.
      </message>
      <message name="IDS_FLAGS_DISABLE_GPU_VSYNC_NAME" desc="Name of the 'Disable GPU VSync' lab.">
        Disable GPU VSync
      </message>
      <message name="IDS_FLAGS_DISABLE_GPU_VSYNC_DESCRIPTION" desc="Description of the 'Disable GPU VSync' lab.">
        Disables synchronization with the display's vertical refresh rate when GPU rendering. This allows frame rates to exceed
        60 hertz. While useful for benchmarking purposes, this also results in visual tearing during rapid screen updates.
      </message>
      <message name="IDS_FLAGS_THREADED_COMPOSITING_MODE_NAME" desc="Name of the 'Threaded compositing mode' lab.">
        Threaded compositing
      </message>
      <message name="IDS_FLAGS_THREADED_COMPOSITING_MODE_DESCRIPTION" desc="Description of the 'Threaded compositing mode' lab.">
        Uses a secondary thread to perform web page compositing. This allows smooth scrolling, even when the main thread is unresponsive.
      </message>
      <message name="IDS_FLAGS_FORCE_ACCELERATED_OVERFLOW_SCROLL_MODE_NAME" desc="Name of the 'Accelerated overflow scroll mode' lab.">
        Accelerated overflow scroll
      </message>
      <message name="IDS_FLAGS_FORCE_ACCELERATED_OVERFLOW_SCROLL_MODE_DESCRIPTION" desc="Description of the 'Accelerated overflow scroll mode' lab.">
        When possible, puts the scrolling contents of an overflow scrolling element onto a composited layer for faster scrolling.
      </message>
      <message name="IDS_FLAGS_ENABLE_EXPERIMENTAL_CANVAS_FEATURES_NAME" desc="Name of the 'Enable experimental canvas features' lab.">
        Enable experimental canvas features
      </message>
      <message name="IDS_FLAGS_ENABLE_EXPERIMENTAL_CANVAS_FEATURES_DESCRIPTION" desc="Description of the 'Enable experimental canvas features' lab.">
        Enables the use of experimental canvas features which are still in development.
      </message>
      <message name="IDS_FLAGS_DISABLE_ACCELERATED_2D_CANVAS_NAME" desc="Name of the 'Disable accelerated 2D canvas' lab.">
        Disable accelerated 2D canvas
      </message>
      <message name="IDS_FLAGS_DISABLE_ACCELERATED_2D_CANVAS_DESCRIPTION" desc="Description of the 'Disable accelerated 2D canvas' lab.">
        Disables the use of the GPU to perform 2d canvas rendering and instead uses software rendering.
      </message>
      <message name="IDS_FLAGS_DISABLE_DEFERRED_2D_CANVAS_NAME" desc="Name of the 'Disable deferred 2D canvas' lab.">
        Disable deferred 2D canvas
      </message>
      <message name="IDS_FLAGS_DISABLE_DEFERRED_2D_CANVAS_DESCRIPTION" desc="Description of the 'Disable deferred 2D canvas' lab.">
        Disables the deferral of 2d canvas rendering, causing draw operations to be completed immediately, before running the next javascript command.
      </message>
      <message name="IDS_FLAGS_DISABLE_THREADED_ANIMATION_NAME" desc="Name of the 'Disable accelerated CSS animations' lab.">
        Disable accelerated CSS animations
      </message>
      <message name="IDS_FLAGS_DISABLE_THREADED_ANIMATION_DESCRIPTION" desc="Description of the 'Disable accelerated CSS animations' lab.">
        When threaded compositing is enabled, accelerated CSS animations run on the compositing thread. However, there may be performance gains running with accelerated CSS animations, even without the compositor thread.
      </message>
      <message name="IDS_FLAGS_EXPERIMENTAL_EXTENSION_APIS_NAME" desc="Name of the 'Experimental Extension APIs' lab.">
        Experimental Extension APIs
      </message>
      <message name="IDS_FLAGS_EXPERIMENTAL_EXTENSION_APIS_DESCRIPTION" desc="Description of the 'Experimental Extension APIs' lab.">
        Enables experimental extension APIs. Note that the extension gallery doesn't allow you to upload extensions that use experimental APIs.
      </message>
      <message name="IDS_FLAGS_EXTENSIONS_ON_CHROME_URLS_NAME" desc="Name of the 'Extensions on chrome:// URLs' lab">
        Extensions on chrome:// URLs
      </message>
      <message name="IDS_FLAGS_EXTENSIONS_ON_CHROME_URLS_DESCRIPTION" desc="Description of the 'Extensions on chrome:// URLs' lab">
        Enables running extensions on chrome:// URLs, where extensions explicitly request this permission.
      </message>
      <message name="IDS_FLAGS_ENABLE_FAST_UNLOAD_DESCRIPTION" desc="Description of the 'Fast Unload' lab.">
        Enables fast tab/window closing - runs a tab's onunload js handler independently of the GUI.
      </message>
      <message name="IDS_FLAGS_ENABLE_FAST_UNLOAD_NAME" desc="Name of the 'Extensions on chrome:// URLs' lab">
        Enable fast tab/window close
      </message>
      <message name="IDS_FLAGS_ENABLE_ADVIEW_NAME" desc="Name of the 'Enable 'adview' element' lab.">
        Enable 'adview' element
      </message>
      <message name="IDS_FLAGS_ENABLE_ADVIEW_DESCRIPTION" desc="Description of the 'Enable 'adview' element' lab.">
        Enables using 'adview' HTML elements in packaged apps.
      </message>
      <message name="IDS_FLAGS_ENABLE_ADVIEW_SRC_ATTRIBUTE_NAME" desc="Name of the 'Enable specifying 'src' attribute on 'adview' elements' lab.">
        Enable specifying 'src' attribute on 'adview' elements
      </message>
      <message name="IDS_FLAGS_ENABLE_ADVIEW_SRC_ATTRIBUTE_DESCRIPTION" desc="Description of the 'Enable specifying 'src' attribute on 'adview' elements' element' lab.">
        Enables specifying 'src' attribute on 'adview' elements, as well as arbitrary 'ad-network' names.
      </message>
      <message name="IDS_FLAGS_ENABLE_APP_WINDOW_CONTROLS_NAME" desc="Name of the 'Enable 'window-controls' element' lab.">
        Enable 'window-controls' element
      </message>
      <message name="IDS_FLAGS_ENABLE_APP_WINDOW_CONTROLS_DESCRIPTION" desc="Description of the 'Enable 'window-controls' element' lab.">
        Enables using 'window-controls' HTML elements in packaged apps.
      </message>
      <message name="IDS_FLAGS_SCRIPT_BADGES_NAME" desc="Name of the 'Script Badges' lab.">
        Script badges
      </message>
      <message name="IDS_FLAGS_SCRIPT_BADGES_DESCRIPTION" desc="Description of the 'Script Badges' lab.">
        Shows extension "script badges" in the location bar rather than page actions.
      </message>
      <message name="IDS_FLAGS_SCRIPT_BUBBLE_NAME" desc="Name of the 'Script Bubble' lab.">
        Script Bubble
      </message>
      <message name="IDS_FLAGS_SCRIPT_BUBBLE_DESCRIPTION" desc="Description of the 'Script Bubble' lab.">
        Enable or disable the "Script Bubble" experimental toolbar UI.
      </message>
      <message name="IDS_FLAGS_APPS_NEW_INSTALL_BUBBLE_NAME" desc="Name of the 'New Apps Install Bubble' lab">
        New Apps Install Bubble
      </message>
      <message name="IDS_FLAGS_APPS_NEW_INSTALL_BUBBLE_DESCRIPTION" desc="Description of the 'New Apps Install Bubble' lab">
        When installing an app, always show a bubble pointing at the new tab page button on the tabstrip instead of opening a new tab page.
      </message>
      <message name="IDS_FLAGS_DISABLE_HYPERLINK_AUDITING_NAME" desc="Name of the 'Disable hyperlink auditing' lab.">
        Disable hyperlink auditing
      </message>
      <message name="IDS_FLAGS_DISABLE_HYPERLINK_AUDITING_DESCRIPTION" desc="Description of the 'Disable hyperlink auditing' lab.">
        Disable sending hyperlink auditing pings.
      </message>
      <message name="IDS_FLAGS_EXPERIMENTAL_LOCATION_FEATURES_NAME" desc="Name of the 'Enable experimental location features' lab.">
        Experimental location features
      </message>
      <if expr="is_android">
        <message name="IDS_FLAGS_EXPERIMENTAL_LOCATION_FEATURES_DESCRIPTION" desc="Mobile: Description of the 'Enable experimental location features' lab.">
          Enables experimental extensions to the geolocation feature. Includes using operating system location APIs (where available), and sending additional local network configuration data to the Google location service to provide higher accuracy positioning.
        </message>
      </if>
      <if expr="not is_android">
        <message name="IDS_FLAGS_EXPERIMENTAL_LOCATION_FEATURES_DESCRIPTION" desc="Description of the 'Enable experimental location features' lab.">
          Enables experimental extensions to the geolocation feature to use operating system location APIs (where available).
        </message>
      </if>
      <message name="IDS_FLAGS_STATIC_IP_CONFIG_NAME" desc="Name of the static ip config lab.">
        Experimental static ip configuration
      </message>
      <message name="IDS_FLAGS_STATIC_IP_CONFIG_DESCRIPTION" desc="Description of the static ip config lab.">
        Enables static ip configuration. May not work.
      </message>
      <message name="IDS_FLAGS_TAB_GROUPS_CONTEXT_MENU_NAME" desc="Name of the context menu for enabling tab grouping in the context menu">
        Add grouping to tab context menu
      </message>
      <message name="IDS_FLAGS_TAB_GROUPS_CONTEXT_MENU_DESCRIPTION" desc="Description of the context menu for enabling tab grouping in the context menu lab.">
        Adds items to the tab context menu for grouping tabs.
      </message>
      <message name="IDS_FLAGS_NTP_SUGGESTIONS_PAGE_NAME" desc="Name of the 'Enable suggestions page' lab.">
        NTP Suggestions page
      </message>
      <message name="IDS_FLAGS_NTP_SUGGESTIONS_PAGE_DESCRIPTION" desc="Description of the 'Enable suggestions page' lab.">
        Add 'Suggestions' card to the new tab page, which suggests the pages to be opened.
      </message>
      <message name="IDS_FLAGS_ENABLE_INSTANT_EXTENDED_API" desc="Title for the flag to enable the Instant extended API.">
        Enable Instant Extended API
      </message>
      <message name="IDS_FLAGS_ENABLE_INSTANT_EXTENDED_API_DESCRIPTION" desc="Description for the flag to enable the Instant extended API.">
        Enables the Instant Extended API which provides a deeper integration with your default search provider, including a renovated New Tab Page, extracting search query terms in the omnibox, a spruced-up omnibox dropdown and Instant previews of search results as you type in the omnibox.
      </message>
      <message name="IDS_FLAGS_ENABLE_LOCAL_FIRST_LOAD_NTP" desc="Title for the flag to enable the local first load NTP.">
        Enable local first-load NTP in Instant Extended.
      </message>
      <message name="IDS_FLAGS_ENABLE_LOCAL_FIRST_LOAD_NTP_DESCRIPTION" desc="Description for the flag to enable the Instant extended API.">
        Whether or not the first New Tab Page load of a new window will automatically fall back to the local page when Instant Extended is enabled.
      </message>
      <message name="IDS_FLAGS_ENABLE_NEW_NTP" desc="Title for the flag to enable the new NTP.">
        Enable the new NTP.
      </message>
      <message name="IDS_FLAGS_ENABLE_NEW_NTP_DESCRIPTION" desc="Description for the flag to enable the new NTP.">
        Whether or not the new style New Tab Page is enabled.
      </message>
      <message name="IDS_FLAGS_ENABLE_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_AUTOLOGIN_NAME" desc="Title for the flag to auto-login the user">
        Enable auto-login
      </message>
      <message desc="Message to display when auto-login fails. [CHAR-LIMIT=64]" name="IDS_AUTO_LOGIN_FAILED">
        Automatic sign in failed
      </message>
      <message name="IDS_FLAGS_ENABLE_AUTOLOGIN_DESCRIPTION" desc="Description for the flag to pre-login the user">
        When enabled, visiting a Google account login page will trigger an infobar allowing easy sign in with the Google account connected to the profile.
        Auto-login is always disabled if the profile is not connected to an account, regardless of this flag.
      </message>
      <message name="IDS_FLAGS_SHOW_AUTOFILL_TYPE_PREDICTIONS_NAME" desc="Title for the flag to show Autofill field type predictions for all forms">
        Show Autofill predictions
      </message>
      <message name="IDS_FLAGS_SHOW_AUTOFILL_TYPE_PREDICTIONS_DESCRIPTION" desc="Description for the flag to show Autofill field type predictions for all forms">
        Annotates web forms with Autofill field type predictions as placeholder text.
      </message>
      <message name="IDS_FLAGS_DISABLE_NATIVE_AUTOFILL_UI_NAME" desc="Title for the flag to disable the native Autofill UI">
        Disable native Autofill UI
      </message>
      <message name="IDS_FLAGS_DISABLE_NATIVE_AUTOFILL_UI_DESCRIPTION" desc="Description for the flag to disable the native Autofill UI">
        The native Autofill popup UI is implemented in the browser process rather than in the renderer process.
      </message>
      <message name="IDS_FLAGS_ENABLE_INTERACTIVE_AUTOCOMPLETE_NAME" desc="Name of the flag that enables an interactive autocomplete UI.">
        Enable interactive autocomplete
      </message>
      <message name="IDS_FLAGS_ENABLE_INTERACTIVE_AUTOCOMPLETE_DESCRIPTION" desc="Description of the flag to enable an interactive autocomplete UI.">
        Enable an interactive autocomplete UI that can be invoked by calling HTMLFormElement#requestAutocomplete.
      </message>
      <message name="IDS_FLAGS_ENABLE_TCP_FAST_OPEN_NAME" desc="Name of the flag that enables TCP Fast Open.">
        Enable TCP Fast Open
      </message>
      <message name="IDS_FLAGS_ENABLE_TCP_FAST_OPEN_DESCRIPTION" desc="Description of the flag that enables TCP Fast Open.">
        Enable the option to send extra authentication information in the initial SYN packet for a previously connected client, allowing faster data send start.
      </message>
      <message name="IDS_FLAGS_ENABLE_TOUCH_SIDE_BEZELS_NAME" desc="Name of the flag that enables touch events on the side bezels.">
        Enable touch events on the side bezels.
      </message>
      <message name="IDS_FLAGS_ENABLE_TOUCH_SIDE_BEZELS_DESCRIPTION" desc="Description of the flag to enable touch events on the side bezels.">
        Touch events from the side bezels are processed rather than thrown away.
      </message>
      <message name="IDS_FLAGS_ENABLE_TOUCH_DRAG_DROP_NAME" desc="Name of the flag that enables touch initiated drag drop.">
        Enable touch initiated drag and drop
      </message>
      <message name="IDS_FLAGS_ENABLE_TOUCH_DRAG_DROP_DESCRIPTION" desc="Description of the flag to enable touch initiated drag drop.">
        Touch drag and drop can be initiated through long press on a draggable element.
      </message>
      <message name="IDS_FLAGS_ENABLE_TOUCH_EDITING_NAME" desc="Name of the flag that enables touch based text editing.">
        Enable touch based text editing
      </message>
      <message name="IDS_FLAGS_ENABLE_TOUCH_EDITING_DESCRIPTION" desc="Description of the flag to enable touch based text editing.">
        Touch editing can be initiated by tapping on a textfield or a selected text.
      </message>
      <message name="IDS_FLAGS_ENABLE_EXPERIMENTAL_FORM_FILLING_NAME" desc="Title for the flag to enable experimental form filling">
        Enable experimental form filling
      </message>
      <message name="IDS_FLAGS_ENABLE_EXPERIMENTAL_FORM_FILLING_DESCRIPTION" desc="Description for the flag to enable experimantal form filling feature">
        Enable experimental form filling. Enables a collection of experimental features that make form filling easier.
      </message>
      <message name="IDS_FLAGS_ENABLE_EXPERIMENTAL_WEBSOCKET_NAME" desc="Name of the flag that enables experimental WebSocket implementation in chrome/net">
        Enable experimental WebSocket implementation
      </message>
      <message name="IDS_FLAGS_ENABLE_EXPERIMENTAL_WEBSOCKET_DESCRIPTION" desc="Description for the flag to enable experimental WebSocket implementation in chrome/net">
        Use the explemental WebSocket implementation.
      </message>
      <message name="IDS_FLAGS_ENABLE_WALLET_PRODUCTION_SERVICE_NAME" desc="Title for the flag to enable using production Online Wallet.">
        Enable Online Wallet production service
      </message>
      <message name="IDS_FLAGS_ENABLE_WALLET_PRODUCTION_SERVICE_DESCRIPTION" desc="Description of the flag to enable using production Online Wallet.">
        Use the production service for any Online Wallet API calls. This flag is only meaningful if a feature that uses Online Wallet is enabled. Production Online Wallet is also not yet enabled for all users.
      </message>
      <message name="IDS_FLAGS_OVERSCROLL_HISTORY_NAVIGATION_NAME" desc="Title for the flag for history navigation from horizontal overscroll.">
        Overscroll history navigation
      </message>
      <message name="IDS_FLAGS_OVERSCROLL_HISTORY_NAVIGATION_DESCRIPTION" desc="Description for the flag to disable history navigation from horizontal overscroll.">
        Experimental history navigation in response to horizontal overscroll.
      </message>
      <message name="IDS_FLAGS_OVERVIEW_MODE_NAME" desc="Title for the flag to enable window overview mode.">
        Enable overview mode.
      </message>
      <message name="IDS_FLAGS_OVERVIEW_MODE_DESCRIPTION" desc="Description for the flag to enable window overview mode.">
        Enable overview mode, activated by pushing the switch window button.
      </message>
      <message name="IDS_FLAGS_SCROLL_END_EFFECT_NAME" desc="Title for the flag for scroll end effect from vertical overscroll.">
        Scroll end effect
      </message>
      <message name="IDS_FLAGS_SCROLL_END_EFFECT_DESCRIPTION" desc="Description for the flag that controls scroll end effect from vertical overscroll.">
        Experimental scroll end effect in response to vertical overscroll.
      </message>
      <message name="IDS_FLAGS_ENABLE_SYNC_FAVICONS_NAME" desc="Title for the flag to enable the favicon sync datatype">
        Enable favicon sync.
      </message>
      <message name="IDS_FLAGS_ENABLE_SYNC_FAVICONS_DESCRIPTION" desc="Description for the flag to enable the favicon sync datatype">
        Enable syncing the set of recent favicons.
      </message>
      <message name="IDS_FLAGS_SYNC_KEYSTORE_ENCRYPTION_NAME" desc="Title for the flag to enable sync's keystore encryption options">
        Enable sync keystore encryption.
      </message>
      <message name="IDS_FLAGS_SYNC_KEYSTORE_ENCRYPTION_DESCRIPTION" desc="Description for the flag to enable sync's keystore encryption options">
        Switch to sync's new server supported encryption schema. Warning: this will modify your sync data, possibly making it unreadable to other clients.
      </message>
      <if expr="is_android">
        <message name="IDS_FLAGS_SYNC_TYPED_URLS_NAME" desc="Mobile: Title for the flag to enable syncing the TypedUrl datatype">
          Enable syncing typed URLs
        </message>
        <message name="IDS_FLAGS_SYNC_TYPED_URLS_DESCRIPTION" desc="Mobile: Description for the flag to enable syncing the TypedURL datatype">
          Enable typed URLs in the sync settings. This allows syncing your typed URL history to other clients to assist in omnibox auto-completion.
        </message>
      </if>
      <if expr="not is_android">
        <message name="IDS_FLAGS_SYNC_TYPED_URLS_NAME" desc="Title for the flag to enable syncing the TypedUrl datatype">
          Enable syncing History
        </message>
        <message name="IDS_FLAGS_SYNC_TYPED_URLS_DESCRIPTION" desc="Description for the flag to enable syncing the TypedURL datatype">
          Enable History in the sync settings. This allows syncing your typed URL history and navigation history to other clients to assist in omnibox auto-completion and the history UI.
        </message>
      </if>
      <message name="IDS_FLAGS_OMNIBOX_HISTORY_QUICK_PROVIDER_REORDER_FOR_INLINING_NAME" desc="Title for the flag for omnibox to reorder suggestions in HistoryQuickProvider to make an inlineable appear first">
        Reorder results for inlining in HistoryQuickProvider
      </message>
      <message name="IDS_FLAGS_OMNIBOX_HISTORY_QUICK_PROVIDER_REORDER_FOR_INLINING_DESCRIPTION" desc="Description for the flag for omnibox to reorder suggestions in HistoryQuickProvider to make an inlineable appear first">
        In omnibox autocomplete, reorder suggestions in HistoryQuickProvider to make an inlineable one appear first.
      </message>
      <message name="IDS_FLAGS_OMNIBOX_HISTORY_QUICK_PROVIDER_REORDER_FOR_INLINING_AUTOMATIC" desc="Option name for automatic selection of whether to allow HistoryQuickProvider to reorder suggestions to make an inlineable one appear first">
        Automatic
      </message>
      <message name="IDS_FLAGS_OMNIBOX_HISTORY_QUICK_PROVIDER_REORDER_FOR_INLINING_ENABLED" desc="Option name to allow HistoryQuickProvider to reorder suggestions to make an inlineable one appear first">
        Reorder
      </message>
      <message name="IDS_FLAGS_OMNIBOX_HISTORY_QUICK_PROVIDER_REORDER_FOR_INLINING_DISABLED" desc="Option name to disallow HistoryQuickProvider to reorder suggestions to make an inlineable one appear first">
        Don't Reorder
      </message>
      <message name="IDS_FLAGS_OMNIBOX_INLINE_HISTORY_QUICK_PROVIDER_NAME" desc="Title for the flag for omnibox to prohibit the HistoryQuickProvider from inlining suggestions">
        Inline HistoryQuickProvider suggestions
      </message>
      <message name="IDS_FLAGS_OMNIBOX_INLINE_HISTORY_QUICK_PROVIDER_DESCRIPTION" desc="Description for the flag for omnibox to prohibit the HistoryQuickProvider from inlining suggestions">
        In omnibox autocomplete, allow inlining of matches coming from the HistoryQuickProvider.
      </message>
      <message name="IDS_FLAGS_OMNIBOX_INLINE_HISTORY_QUICK_PROVIDER_AUTOMATIC" desc="Option name for automatic selection of whether omnibox HistoryQuickProvider can inline suggestions.">
        Automatic
      </message>
      <message name="IDS_FLAGS_OMNIBOX_INLINE_HISTORY_QUICK_PROVIDER_ALLOWED" desc="Option name to allow the omnibox HistoryQuickProvider to inline suggestions if it wants to.">
        Allowed
      </message>
      <message name="IDS_FLAGS_OMNIBOX_INLINE_HISTORY_QUICK_PROVIDER_PROHIBITED" desc="Option name to prohibit omnibox HistoryQuickProvider from inlining suggestions ever.">
        Prohibited
      </message>
      <message name="IDS_FLAGS_ENABLE_PANELS_NAME" desc="Name of the 'Enable Panels' lab.">
        Enable Panels
      </message>
      <message name="IDS_FLAGS_ENABLE_PANELS_DESCRIPTION" desc="Description for the flag to enable Panel windows.">
        Enable Panel windows that open outside of the browser frame. Attempts to open a Panel will open a popup instead if not enabled. Panels are always enabled on the dev and canary channels.
      </message>
      <message name="IDS_FLAGS_ENABLE_WEBGL_NAME" desc="Name of the 'Enable WebGL' lab.">
        Enable WebGL
      </message>
      <message name="IDS_FLAGS_ENABLE_WEBGL_DESCRIPTION" desc="Description for the flag to enable WebGL.">
        Enabling this option allows web applications to access the WebGL API.
      </message>
      <message name="IDS_FLAGS_ENABLE_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_ENABLE_SCTP_DATA_CHANNELS_NAME" desc="Name of about:flags option to turn on SCTP data channels support">
        Enable SCTP Data Channels
      </message>
      <message name="IDS_FLAGS_ENABLE_SCTP_DATA_CHANNELS_DESCRIPTION" desc="Description of about:flags option to turn on SCTP data channels support">
        When enabled, DataChannels created by WebRTC will use the SCTP wire protocol.
      </message>
      <message name="IDS_FLAGS_DISABLE_DEVICE_ENUMERATION_NAME" desc="Name of about:flags option to turn off WebRTC device enumeration support.">
        Disable WebRTC device enumeration.
      </message>
      <message name="IDS_FLAGS_DISABLE_DEVICE_ENUMERATION_DESCRIPTION" desc="Description of chrome:flags option to turn off WebRTC device enumeration support">
        Disable support for MediaStreamTrack.getSources().
      </message>
      <message name="IDS_FLAGS_DISABLE_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>
      <message name="IDS_FLAGS_FIXED_POSITION_CREATES_STACKING_CONTEXT_NAME" desc="Name of the 'Fixed position creates stacking context' lab.">
        Fixed position elements create stacking contexts.
      </message>
      <message name="IDS_FLAGS_FIXED_POSITION_CREATES_STACKING_CONTEXT_DESCRIPTION" desc="Description for the flag to make fixed position elements create stacking contexts.">
        Enabling this option makes all fixed position elements create new CSS stacking contexts.
      </message>
      <message name="IDS_FLAGS_COMPOSITING_FOR_FIXED_POSITION_NAME" desc="Name of the 'Compositing for fixed position elements' lab.">
        Compositing for fixed position elements.
      </message>
      <message name="IDS_FLAGS_COMPOSITING_FOR_FIXED_POSITION_DESCRIPTION" desc="Description for the flag to make fixed position elements become composited layers.">
        Enabling this option will make fixed position elements have their own composited layers. Note that fixed position elements must also create stacking contexts for this to work.
      </message>
      <message name="IDS_FLAGS_COMPOSITING_FOR_FIXED_POSITION_HIGH_DPI" desc="Description of the 'Compositing for fixed position elements on high DPI' experiment.">
        Enabled only for high-DPI displays
      </message>
      <message name="IDS_FLAGS_COMPOSITING_FOR_TRANSITION_NAME" desc="Name of the 'Compositing for RenderLayers with transitions' lab.">
        Compositing for RenderLayers with transitions.
      </message>
      <message name="IDS_FLAGS_COMPOSITING_FOR_TRANSITION_DESCRIPTION" desc="Description for the flag to make RenderLayers with transitions become composited layers.">
        Enabling this option will make RenderLayers with a transition on opacity, transform, or filter have their own composited layer.
      </message>
      <message name="IDS_FLAGS_ACCELERATED_FIXED_ROOT_BACKGROUND_NAME" desc="Name of the 'Accelerated fixed root background' lab.">
        Compositing for fixed root backgrounds.
      </message>
      <message name="IDS_FLAGS_ACCELERATED_FIXED_ROOT_BACKGROUND_DESCRIPTION" desc="Description for the flag to all fixed root backgrounds to be put in separate, composited layers.">
        If this option is enabled, and if the body is styled with background-attachment:fixed, the background will have its own compositied layer.
      </message>
      <message name="IDS_FLAGS_ENABLE_DEFERRED_IMAGE_DECODING_NAME" desc="Name of the 'Enable deferred image decoding' lab.">
        Enable deferred image decoding.
      </message>
      <message name="IDS_FLAGS_ENABLE_DEFERRED_IMAGE_DECODING_DESCRIPTION" desc="Description for the flag to defer image decoding in WebKit.">
        Defer image decoding operations in WebKit until painting.
      </message>
      <message name="IDS_FLAGS_ENABLE_QUIC_NAME" desc="Title for the flag to enable QUIC.">
        Experimental QUIC protocol.
      </message>
      <message name="IDS_FLAGS_ENABLE_QUIC_DESCRIPTION" desc="Description for the flag to enable QUIC.">
        Enable experimental QUIC protocol support.
      </message>
      <message name="IDS_FLAGS_ENABLE_QUIC_HTTPS_NAME" desc="Title for the flag to enable HTTPS over QUIC.">
        HTTPS over experimental QUIC protocol.
      </message>
      <message name="IDS_FLAGS_ENABLE_QUIC_HTTPS_DESCRIPTION" desc="Description for the flag to enable HTTPS over QUIC.">
        Enables QUIC over an Authenticated Encrypted channel (can replace HTTPS transactions). Without this flag, only HTTP requests are supported over QUIC. This only has an effect if QUIC protocol is enabled.
      </message>
      <message name="IDS_FLAGS_ENABLE_SPDY4A2_NAME" desc="Title for the flag to enable SPDY/4 alpha 2">
        Enable SPDY/4 alpha 2
      </message>
      <message name="IDS_FLAGS_ENABLE_SPDY4A2_DESCRIPTION" desc="Description for the flag to enable SPDY/4 alpha 2.">
        Enable experimental SPDY/4 alpha 2.
      </message>
      <message name="IDS_FLAGS_ENABLE_HTTP2_DRAFT_04_NAME" desc="Title for the flag to enable HTTP/2 draft 04">
        Enable HTTP/2 draft 04.
      </message>
      <message name="IDS_FLAGS_ENABLE_HTTP2_DRAFT_04_DESCRIPTION" desc="Description for the flag to enable HTTP/2 draft 04.">
        Enable experimental HTTP/2 draft 04.
      </message>
      <message name="IDS_FLAGS_ENABLE_ASYNC_DNS_NAME" desc="Title for the flag to enable asynchronous DNS client.">
        Built-in Asynchronous DNS
      </message>
      <message name="IDS_FLAGS_ENABLE_ASYNC_DNS_DESCRIPTION" desc="Description for the flag to enable asynchronous DNS client.">
        Enable experimental asynchronous DNS client.
      </message>
      <message name="IDS_FLAGS_DISABLE_WEBKIT_MEDIA_SOURCE_NAME" desc="Title for the flag to disable the prefixed Media Source API.">
        Disable prefixed Media Source API.
      </message>
      <message name="IDS_FLAGS_DISABLE_WEBKIT_MEDIA_SOURCE_DESCRIPTION" desc="Description for the flag to disable the prefixed Media Source API.">
        Disable the experimental WebKitMediaSource object. This object allows JavaScript to send media data directly to a video element.
      </message>
      <message name="IDS_FLAGS_ENABLE_ENCRYPTED_MEDIA_NAME" desc="Title for the flag to enable the (unprefixed) Encrypted Media Extensions APIs (e.g. MediaKeys).">
        Enable Encrypted Media Extensions.
      </message>
      <message name="IDS_FLAGS_ENABLE_ENCRYPTED_MEDIA_DESCRIPTION" desc="Description for the flag to enable the (unprefixed) Encrypted Media Extensions APIs (e.g. MediaKeys).">
        Enable Encrypted Media Extensions on video and audio elements. This enables the latest version of the Encrypted Media Extensions.
      </message>
      <message name="IDS_FLAGS_DISABLE_PREFIXED_ENCRYPTED_MEDIA_NAME" desc="Title for the flag to disable the prefixed Encrypted Media Extensions APIs (e.g. webkitGenerateKeyRequest()).">
        Disable prefixed Encrypted Media Extensions.
      </message>
      <message name="IDS_FLAGS_DISABLE_PREFIXED_ENCRYPTED_MEDIA_DESCRIPTION" desc="Description for the flag to disable the prefixed Encrypted Media Extensions APIs (e.g. webkitGenerateKeyRequest()).">
        Disable the experimental version of Encrypted Media Extensions on video and audio elements.
      </message>
      <message name="IDS_FLAGS_ENCRYPTED_MEDIA_CANPLAYTYPE_OVERRIDE_NAME" desc="Title for the flag to override suppressed affirmative responses to canPlayType().">
        Enable suppressed canPlayType() responses.
      </message>
      <message name="IDS_FLAGS_ENCRYPTED_MEDIA_CANPLAYTYPE_OVERRIDE_DESCRIPTION" desc="Description for the flag to override suppressed affirmative responses to canPlayType().">
        Enable appropriate responses to canPlayType() for key systems that return the empty string by default.
      </message>
      <message name="IDS_FLAGS_ENABLE_OPUS_PLAYBACK_NAME" desc="Title for the flag to enable Opus playback in &lt;video&gt; elements.">
        Enable Opus playback in &lt;video&gt; elements.
      </message>
      <message name="IDS_FLAGS_ENABLE_OPUS_PLAYBACK_DESCRIPTION" desc="Description for the flag to enable Opus playback in &lt;video&gt; elements.">
        Enable experimental Opus playback in the video element.
      </message>
      <message name="IDS_FLAGS_ENABLE_VP8_ALPHA_PLAYBACK_NAME" desc="Title for the flag to enable VP8 Alpha playback in &lt;video&gt; elements.">
        Enable VP8 Alpha playback in &lt;video&gt; elements.
      </message>
      <message name="IDS_FLAGS_ENABLE_VP8_ALPHA_PLAYBACK_DESCRIPTION" desc="Description for the flag to enable VP8 Alpha playback in &lt;video&gt; elements.">
        Enable experimental VP8 Alpha playback in the video element.
      </message>
      <message name="IDS_FLAGS_ASH_AUTO_WINDOW_PLACEMENT_NAME" desc="Name for the option to enable/disable the auto window placement functionality.">
        Automatic window placement.
      </message>
      <message name="IDS_FLAGS_ASH_AUTO_WINDOW_PLACEMENT_DESCRIPTION" desc="Description for the option to enable/disable the auto window placement functionality.">
        Disable automatic window placement for one and two browser / app windows.
      </message>
      <message name="IDS_FLAGS_ASH_AUTO_MAXIMIZING_NAME" desc="Name for the option to disable the auto window maximizing functionality.">
        Disable automatic window maximization
      </message>
      <message name="IDS_FLAGS_ASH_AUTO_MAXIMIZING_DESCRIPTION" desc="Description for the option to disable the auto window maximizing functionality.">
        Disable automatic window maximization for browser / app windows if they are started the first time.
      </message>
      <message name="IDS_FLAGS_ASH_DISABLE_PER_APP_LAUNCHER_NAME" desc="Name for the option to enable/disable the per application sorting launcher functionality.">
        Disable per application sorting in the launcher.
      </message>
      <message name="IDS_FLAGS_ASH_DISABLE_PER_APP_LAUNCHER_DESCRIPTION" desc="Description for the option to enable/disable the per application sorting launcher functionality.">
        Disable the per application sorting mode of the launcher.
      </message>
      <message name="IDS_FLAGS_DISABLE_GESTURE_REQUIREMENT_FOR_MEDIA_PLAYBACK_NAME" desc="Title for the flag to disable gesture requiment for media playback">
        Disable gesture requirement for media playback.
      </message>
      <message name="IDS_FLAGS_DISABLE_GESTURE_REQUIREMENT_FOR_MEDIA_PLAYBACK_DESCRIPTION" desc="Description for the flag to disable gesture requiment for media playback">
        Disable user gesture requirement for playing media elements. Activating this will allow autoplay to work.
      </message>

      <message name="IDS_FLAGS_ENABLE_ADVANCED_GESTURES_NAME" desc="Title for the flag to enable advanced gestures.">
        Enable advanced gestures
      </message>
      <message name="IDS_FLAGS_ENABLE_ADVANCED_GESTURES_DESCRIPTION" desc="Title for the flag to enable advanced gestures.">
        Enables advanced gestures (e.g. 4-finger pinch to minimize window etc.).
      </message>
      <message name="IDS_FLAGS_DISABLE_TAB_SCRUBBING_NAME" desc="Title for the flag to disable tab scrubbing.">
        Disable tab scrubbing
      </message>
      <message name="IDS_FLAGS_DISABLE_TAB_SCRUBBING_DESCRIPTION" desc="Description for the flag to disable tab scrubbing.">
        Disables tab switching via 3 finger horizontal scroll.
      </message>
      <message name="IDS_FLAGS_ENABLE_WORKSPACE_SCRUBBING_NAME" desc="Title for the flag to enable workspace scrubbing.">
        Enable workspace scrubbing
      </message>
      <message name="IDS_FLAGS_ENABLE_WORKSPACE_SCRUBBING_DESCRIPTION" desc="Description for the flag to enable workspace scrubbing.">
        Enables workspace switching via 3 finger vertical scroll.
      </message>
      <message name="IDS_FLAGS_DND_APPLIST_TO_LAUNCHER_NAME" desc="Title for the flag to disable drag and drop from the app list menu to the launcher.">
        Drag and drop from the app list menu to the launcher
      </message>
      <message name="IDS_FLAGS_DND_APPLIST_TO_LAUNCHER_DESCRIPTION" desc="Description for the flag to disable drag and drop opertions from the app list menu to the launcher.">
        Disallow drag and drop from the app list menu to the launcher.
      </message>
      <message name="IDS_FLAGS_ASH_IMMERSIVE_FULLSCREEN_NAME" desc="Title for the flag for immersive fullscreen mode.">
        Immersive fullscreen
      </message>
      <message name="IDS_FLAGS_ASH_IMMERSIVE_FULLSCREEN_DESCRIPTION" desc="Description for the flag for immersive fullscreen mode.">
        Enables "immersive fullscreen" where the tab strip at the top and the app shelf at the bottom are still accessible in fullscreen.
      </message>
      <message name="IDS_FLAGS_ENABLE_MEMORY_MONITOR_NAME" desc="Title for the flag to enable advanced gestures.">
        Enable memory monitor
      </message>
      <message name="IDS_FLAGS_ENABLE_MEMORY_MONITOR_DESCRIPTION" desc="Title for the flag to enable advanced gestures.">
        Enables visual memory monitor in status area.
      </message>
      <message name="IDS_FLAGS_CHROMEOS_USE_NEW_NETWORK_CONFIGURATION_HANDLERS_NAME" desc="Title for the flag to enable using the new network configuration handlers.">
        Enable new network configuration handlers
      </message>
      <message name="IDS_FLAGS_CHROMEOS_USE_NEW_NETWORK_CONFIGURATION_HANDLERS_DESCRIPTION" desc="Description for the flag to enable using the new network configuration handlers.">
        Enable the new network configuration handlers which handle Shill connection requests without using NetworkLibrary.
      </message>
      <message name="IDS_FLAGS_CHROMEOS_USE_NEW_NETWORK_CONNECTION_HANDLER_NAME" desc="Title for the flag to enable using the new network connection handler.">
        Enables new network connection handler
      </message>
      <message name="IDS_FLAGS_CHROMEOS_USE_NEW_NETWORK_CONNECTION_HANDLER_DESCRIPTION" desc="Description for the flag to enable using the new network connection handler.">
        Enable the new network connection handler.
      </message>
      <message name="IDS_FLAGS_ASH_AUDIO_DEVICE_MENU_NAME" desc="Title for a flag for audio switching.">
        Audio input/output menu
      </message>
      <message name="IDS_FLAGS_ASH_AUDIO_DEVICE_MENU_DESCRIPTION" desc="Description for a flag for audio switching.">
        Modifies the volume item in the status tray to add a menu allowing choosing a specific audio input and output device. Requires "Enable new audio handler" flag.
      </message>
      <message name="IDS_FLAGS_ENABLE_LOCALLY_MANAGED_USERS_NAME" desc="Title for the flag to enable supervised users.">
        Enable supervised users
      </message>
      <message name="IDS_FLAGS_ENABLE_LOCALLY_MANAGED_USERS_DESCRIPTION" desc="Description for the flag to enable supervised users.">
        Enables support for user profiles that are managed by another user and can have restrictions applied.
      </message>
      <message name="IDS_FLAGS_ENABLE_NATIVE_FRAMES_FOR_APPS_NAME" desc="Title for the flag to enable native style frames for apps.">
        Native style window frames for packaged apps
      </message>
      <message name="IDS_FLAGS_ENABLE_NATIVE_FRAMES_FOR_APPS_DESCRIPTION" desc="Description for the flag to enable native style frames for apps.">
        Use native-style window decorations for packaged app windows.
      </message>
      <message name="IDS_FLAGS_ENABLE_RESET_PROFILE_SETTINGS_NAME" desc="Title for the flag to enable a feature to reset profile settings that are often modified by malware.">
        Enable reset profile settings
      </message>
      <message name="IDS_FLAGS_ENABLE_RESET_PROFILE_SETTINGS_DESCRIPTION" desc="Description for the flag to enable a feature to reset profile settings that are often modified by malware.">
        Enables the option in chrome://settings to reset settings in your profile that are often modified by malware.
      </message>
      <message name="IDS_FLAGS_ENABLE_OMNIBOX_AUTO_COMPLETION_FOR_IME_NAME" desc="Title for the flag to enable omnibox auto-completion for IMEs.">
        Enable omnibox auto-completion when IME is active
      </message>
      <message name="IDS_FLAGS_ENABLE_OMNIBOX_AUTO_COMPLETION_FOR_IME_DESCRIPTION" desc="Description for the flag to enable auto-completion for IMEs.">
        Enables omnibox auto-completion when IME is active.  The auto-completion for IME is shown in the same style as the normal(non-IME) auto-completion.
      </message>

      <message name="IDS_GENERIC_EXPERIMENT_CHOICE_AUTOMATIC" desc="Generic 'Automatic' experiment choice option name.">
        Automatic
      </message>
      <message name="IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT" desc="Generic 'Default' experiment choice option name. E.G. shown in multi value options in about:flags.">
        Default
      </message>
      <message name="IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED" desc="Generic 'Enabled' experiment choice option name. E.G. shown in multi value options in about:flags.">
        Enabled
      </message>
      <message name="IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED" desc="Generic 'Disabled' experiment choice option name. E.G. shown in multi value options in about:flags.">
        Disabled
      </message>
      <message name="IDS_FLAGS_PER_TILE_PAINTING_NAME" desc="Title for the flag to enable per-tile painting">
        Per-tile Painting
      </message>
      <message name="IDS_FLAGS_PER_TILE_PAINTING_DESCRIPTION" desc="Description for the flag to enable per-tile painting">
        Enable per-tile painting of page contents when compositing is enabled.
      </message>
      <message name="IDS_FLAGS_ENABLE_JAVASCRIPT_HARMONY_NAME" desc="Title for the flag to enable JavaScript Harmony features.">
        Enable Experimental JavaScript
      </message>
      <message name="IDS_FLAGS_ENABLE_JAVASCRIPT_HARMONY_DESCRIPTION" desc="Description for the flag to enable JavaScript Harmony features.">
        Enable web pages to use experimental JavaScript features.
      </message>
      <message name="IDS_FLAGS_ENABLE_TAB_BROWSER_DRAGGING_NAME" desc="Title for the flag to enable detached tabs to create a real browser.">
        Enable Tab Browser Dragging
      </message>
      <message name="IDS_FLAGS_ENABLE_TAB_BROWSER_DRAGGING_DESCRIPTION" desc="Description for the flag to enable detached tabs to create a real browser.">
        Enable creating a browser window when dragging tabs.
      </message>
      <message name="IDS_FLAGS_ENABLE_DOWNLOAD_RESUMPTION_NAME" desc="Title for the flag to enable the download resume feature.">
        Enable Download Resumption
      </message>
      <message name="IDS_FLAGS_ENABLE_DOWNLOAD_RESUMPTION_DESCRIPTION" desc="Description for the flag to enable the download resume feature.">
        Allow downloads that have been interrupted to be continued or restarted, using the Resume context menu item.
      </message>
      <message name="IDS_FLAGS_DISABLE_RESTORE_SESSION_STATE_NAME" desc="Title for the flag to disable restoring (more) session state after restarts and crashes.">
        Disable Better session restore
      </message>
      <message name="IDS_FLAGS_DISABLE_RESTORE_SESSION_STATE_DESCRIPTION" desc="Description for the flag to disable restoring (more) session state after restarts and crashes.">
        Disables the Better session restore features which restore more session state (e.g., session cookies) after restarts and crashes.
      </message>
      <message name="IDS_FLAGS_DISABLE_SOFTWARE_RASTERIZER_NAME" desc="Title for the flag to disable using a software rasterizer.">
        Disable 3D software rasterizer
      </message>
      <message name="IDS_FLAGS_DISABLE_SOFTWARE_RASTERIZER_DESCRIPTION" desc="Description for the flag to disable using a software renderer.">
        Don't fall back to a 3D software rasterizer when the GPU cannot be used.
      </message>
      <message name="IDS_FLAGS_EXPERIMENTAL_WEB_PLATFORM_FEATURES_NAME" desc="Name for the flag to enable experimental Web Platform features.">
        Enable experimental Web Platform features.
      </message>
      <message name="IDS_FLAGS_EXPERIMENTAL_WEB_PLATFORM_FEATURES_DESCRIPTION" desc="Description for the flag to enable experimental Web Platform features.">
        Enable experimental Web Platform features that are in development.
      </message>
      <message name="IDS_FLAGS_CSS_SHADERS_NAME" desc="Name for the flag to enable CSS Shaders.">
        Enable CSS Shaders.
      </message>
      <message name="IDS_FLAGS_CSS_SHADERS_DESCRIPTION" desc="Description for the flag to enable CSS Shaders.">
        Enable filter effects on DOM elements using custom GLSL shaders. More info at https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#feCustomElement.
      </message>
      <message name="IDS_FLAGS_NTP_OTHER_SESSIONS_MENU_NAME" desc="Name for the flag to disable the 'Other devices' menu on the NTP.">
        Disable NTP 'Other devices' menu.
      </message>
      <message name="IDS_FLAGS_NTP_OTHER_SESSIONS_MENU_DESCRIPTION" desc="Description for the flag to disable the 'Other devices' menu on the NTP.">
        Disable the new tab page menu for accessing tabs on other devices.
      </message>
      <message name="IDS_FLAGS_ENABLE_ASH_OAK_NAME" desc="Name of the flag to enable the oak tree viewer in ash.">
        Enable Oak.
      </message>
      <message name="IDS_FLAGS_ENABLE_ASH_OAK_DESCRIPTION" desc="Description of the flag to enable the oak tree viewer in ash.">
        Enables the Oak tree viewer in ash. Allows inspection of window, layer and view hierarchies and their properties. Press Ctrl+Shift+F1 to access.
      </message>
      <message name="IDS_FLAGS_ENABLE_DEVTOOLS_EXPERIMENTS_NAME" desc="Name for the flag to enable experiments in Developer Tools">
        Enable Developer Tools experiments.
      </message>
      <message name="IDS_FLAGS_ENABLE_DEVTOOLS_EXPERIMENTS_DESCRIPTION" desc="Description for the flag to enable experiments in Developer Tools.">
        Enable Developer Tools experiments. Use Settings panel in Developer Tools to toggle individual experiments.
      </message>
      <message name="IDS_FLAGS_REMOTE_DEBUGGING_RAW_USB_NAME" desc="Name for the flag to enable remote debugging of Chrome for Android over raw USB interface.">
        Enable Remote Debugging over USB.
      </message>
      <message name="IDS_FLAGS_REMOTE_DEBUGGING_RAW_USB_DESCRIPTION" desc="Description for the flag to enable remote debugging of Chrome for Android over raw USB interface.">
        Enable Remote Debugging of Chrome for Android over raw USB interface (no need to install / run Android Debug Bridge).
      </message>
      <message name="IDS_FLAGS_SILENT_DEBUGGER_EXTENSION_API_NAME" desc="Name for the flag to enable silent debugging via chrome.debugger extension API.">
        Enable Silent Debugging.
      </message>
      <message name="IDS_FLAGS_SILENT_DEBUGGER_EXTENSION_API_DESCRIPTION" desc="Description for the flag to enable silent debugging via chrome.debugger extension API.">
        Do not show the infobar when an extension attaches to a page via chrome.debugger API. This flag is required to debug extension background pages.
      </message>
      <message name="IDS_FLAGS_SPELLCHECK_AUTOCORRECT" desc="Title for the flag to turn on text autocorrection.">
        Enable Automatic Spelling Correction
      </message>
      <message name="IDS_FLAGS_SPELLCHECK_AUTOCORRECT_DESCRIPTION" desc="Description for the flag to force synchronous spellchecking.">
        Turn on autocorrection of text while typing. Synchronous spellchecking is not compatible with this feature.
      </message>
      <message name="IDS_FLAGS_NO_DISCARD_TABS_NAME" desc="Name for the flag to disable the tab discarding feature.">
        Don't discard tabs.
      </message>
      <message name="IDS_FLAGS_NO_DISCARD_TABS_DESCRIPTION" desc="Description for the flag to disable the tab discarding feature.">
        Turns off tab discarding, a feature that discards infrequently used tabs under low memory conditions.
      </message>
      <message name="IDS_FLAGS_DOCKED_WINDOWS_NAME" desc="Name for the flag to enable docked windows feature.">
        Enable docking of windows near screen edges.
      </message>
      <message name="IDS_FLAGS_DOCKED_WINDOWS_DESCRIPTION" desc="Description for the flag to enable docked windows feature.">
        Turns on docking of windows near screen edges, a feature that provides an easier way to interact with panel and other small windows.
      </message>
      <message name="IDS_FLAGS_SHOW_SHELF_ALIGNMENT_MENU_NAME" desc="Name for the flag to show a menu that lets you change the alignment of the shelf.">
        Show shelf alignment menu.
      </message>
      <message name="IDS_FLAGS_SHOW_SHELF_ALIGNMENT_MENU_DESCRIPTION" desc="Description for the flag to show a menu that lets you change the alignment of the shelf.">
        Enables a menu that allows changing the side the shelf is aligned to.
      </message>
     <message name="IDS_FLAGS_FORCE_MAXIMIZE_MODE_NAME" desc="Name for the flag which forces the window manager to use maximized mode wherever possible.">
        Always maximized mode
     </message>
     <message name="IDS_FLAGS_FORCE_MAXIMIZE_MODE_DESCRIPTION" desc="Description for the flag which forces the window manager to use maximized mode wherever possible.">
       Forces the window manager to use maximize mode wherever possible.
     </message>

      <message name="IDS_FLAGS_DISABLE_MINIMIZE_ON_SECOND_LAUNCHER_ITEM_CLICK_NAME" desc="Name for the flag which allows to minimize a window upon launcher item click under certain conditions.">
        Disallow launcher 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 launcher to minimize a window if a launcher item gets clicked which has only a single, already active, window associated with it.
      </message>

      <message name="IDS_FLAGS_SHOW_TOUCH_HUD_NAME" desc="Name for the flag to show a heads-up display for tracking touch-points.">
        Show HUD for touch points
      </message>
      <message name="IDS_FLAGS_SHOW_TOUCH_HUD_DESCRIPTION" desc="Description for the flag to show a heads-up display for tracking touch-points.">
        Enables a heads-up display at the top-left corner of the screen that lists information about the touch-points on the screen.
      </message>

      <message name="IDS_FLAGS_ALLOW_NACL_SOCKET_API_NAME" desc="Name for the NaCl Socket API feature.">
        NaCl Socket API.
      </message>
      <message name="IDS_FLAGS_ALLOW_NACL_SOCKET_API_DESCRIPTION" desc="Description for the NaCl Socket API feature.">
        Allows applications to use NaCl Socket API. Use only to test NaCl plugins.
      </message>
      <message name="IDS_FLAGS_ENABLE_PINCH_SCALE_NAME" desc="Name of the flag to turn on experiental pinch to scale.">
        Enable pinch scale.
      </message>
      <message name="IDS_FLAGS_ENABLE_PINCH_SCALE_DESCRIPTION" desc="Description of the flag to turn on experiental pinch to scale.">
        Enables experimental support for scale using pinch.
      </message>
      <message name="IDS_FLAGS_ENABLE_PINCH_VIRTUAL_VIEWPORT_NAME" desc="Name of the flag to turn on experimental pinch virtual viewport.">
        Enable pinch virtual viewport.
      </message>
      <message name="IDS_FLAGS_ENABLE_PINCH_VIRTUAL_VIEWPORT_DESCRIPTION" desc="Description of the flag to turn on experimental pinch virtual viewport.">
        When zoomed in, fixed-position elements and scaled scrollbars attach to this viewport.
      </message>
      <message name="IDS_FLAGS_NEW_DIALOG_STYLE_NAME" desc="Name of the flag to use the classic or new dialog style.">
        New Dialog Style.
      </message>
      <message name="IDS_FLAGS_NEW_DIALOG_STYLE_DESCRIPTION" desc="Description of the flag to use the new dialog style.">
        A new visual style for application dialogs and controls; does not affect web content.
      </message>
      <message name="IDS_FLAGS_VIEWS_TEXTFIELD_NAME" desc="Name of the flag to use NativeTextfieldViews or NativeTextfieldWin.">
        Views Textfield.
      </message>
      <message name="IDS_FLAGS_VIEWS_TEXTFIELD_DESCRIPTION" desc="Description of the flag to use NativeTextfieldViews or NativeTextfieldWin.">
        An experimental textfield for application UI; does not affect web content.
      </message>
      <message name="IDS_FLAGS_ENABLE_CONTACTS_NAME" desc="Name of the 'Enable contacts' lab.">
        Enable contacts integration.
      </message>
      <message name="IDS_FLAGS_ENABLE_CONTACTS_DESCRIPTION" desc="Description of the 'Enable contacts' lab.">
        Enables downloading Google contacts and displaying them in the App List.
      </message>

      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_FLAGS_ALLOW_TOUCHPAD_THREE_FINGER_CLICK_NAME" desc="Name for the flag to enable touchpad three finger click as middle button.">
          Enable touchpad three-finger-click.
        </message>
        <message name="IDS_FLAGS_ALLOW_TOUCHPAD_THREE_FINGER_CLICK_DESCRIPTION" desc="Description for the flag to enable touchpad three finger click as middle button.">
          Enables touchpad three-finger-click as middle button.
        </message>
        <message name="IDS_FLAGS_DISABLE_BOOT_ANIMATION" desc="Name for the flag to disable wallpaper boot animation (except for OOBE).">
          Disable boot animation.
        </message>
        <message name="IDS_FLAGS_DISABLE_BOOT_ANIMATION_DESCRIPTION" desc="Description for the flag to disable wallpaper boot animation (except for OOBE).">
          Disables wallpaper boot animation (except for OOBE case).
        </message>
        <message name="IDS_FLAGS_CAPTIVE_PORTAL_DETECTOR_NAME" desc="Name for the flag to set to enable Chrome Captive Portal detector.">
          Captive Portal detector.
        </message>
        <message name="IDS_FLAGS_CAPTIVE_PORTAL_DETECTOR_DESCRIPTION" desc="Description for the flag to set to enable Chrome's Captive Portal Detector on the sign-in screen.">
          Change Captive Portal detector.
        </message>
        <message name="IDS_FLAGS_SHILL_CAPTIVE_PORTAL_DETECTOR" desc="Description for the option of Captive Portal detector.">
          Shill Captive Portal detector
        </message>
        <message name="IDS_FLAGS_ASH_NEW_LOCK_ANIMATIONS" desc="Name for the flag to switch lock animations.">
          Disable new lock animations.
        </message>
        <message name="IDS_FLAGS_ASH_NEW_LOCK_ANIMATIONS_DESCRIPTION" desc="Description for the flag to switch lock animations.">
          Disables new lock animations.
        </message>
        <message name="IDS_FLAGS_ENABLE_STICKY_KEYS_NAME" desc="Name for the flag to enable sticky keys.">
          Enable sticky keys.
        </message>
        <message name="IDS_FLAGS_ENABLE_STICKY_KEYS_DESCRIPTION" desc="Description for the flag to enable sticky keys.">
          StickyKeys allows the user to press and release a modifier key, such as Shift, Ctrl, or Alt, and have it remain active until any other key is pressed.
        </message>
      </if>
      <message name="IDS_FLAGS_FULL_HISTORY_SYNC_NAME" desc="Name of the flag to disable full history sync.">
        Disable full history sync
      </message>
      <message name="IDS_FLAGS_FULL_HISTORY_SYNC_DESCRIPTION" desc="Description for the flag to disable full history sync.">
        Allows you to see and delete history entries from your signed-in devices at chrome://history.
      </message>
      <message name="IDS_FLAGS_DISABLE_ACCELERATED_VIDEO_DECODE_NAME" desc="Name of the flag to disable accelerated video decode where available.">
        Disable hardware-accelerated video decode.
      </message>
      <message name="IDS_FLAGS_DISABLE_ACCELERATED_VIDEO_DECODE_DESCRIPTION" desc="Description for the flag to disable accelerated video decode where available.">
        Disables hardware-accelerated video decode where available.
      </message>
      <message name="IDS_FLAGS_ENABLE_CARRIER_SWITCHING" desc="Name for the flag to set to enable mobile carrier switching.">
        Enable switching between mobile carriers.
      </message>
      <message name="IDS_FLAGS_ENABLE_CARRIER_SWITCHING_DESCRIPTION" desc="Description for the flag to set to enable carrier switching.">
        Allows the user to switch between mobile carriers from the UI. Warning: The Sprint carrier will ONLY work for users with an existing Sprint plan.
      </message>
      <message name="IDS_FLAGS_ENABLE_REQUEST_TABLET_SITE_NAME" desc="Name for the flag to set to enable Request Tablet Site in the wrench menu.">
        Enables the request tablet site option in the settings menu.
      </message>
      <message name="IDS_FLAGS_ENABLE_REQUEST_TABLET_SITE_DESCRIPTION" desc="Description for the flag to set to enable Request Tablet Site in the wrench menu.">
        Allows the user to request tablet site. Web content is often optimized for tablet devices. When this option is selected the user agent string is changed to indicate a tablet device. Web content optimized for tablets is received there after for the current tab.
      </message>
      <message name="IDS_FLAGS_DEBUG_PACKED_APP_NAME" desc="Name of the flag to enable debugging context menu options for packed apps.">
        Enable debugging for packed apps.
      </message>
      <message name="IDS_FLAGS_DEBUG_PACKED_APP_DESCRIPTION" desc="Description of the flag to enable debugging context menu options for packed apps.">
        Enables debugging context menu options such as Inspect Element for packed applications.
      </message>
      <message name="IDS_FLAGS_ENABLE_PASSWORD_GENERATION_NAME" desc="Name of the flag to enable password generation.">
        Enable password generation.
      </message>
      <message name="IDS_FLAGS_ENABLE_PASSWORD_GENERATION_DESCRIPTION" desc="Description of flag to enable password generation.">
        Allow the user to have Chrome generate passwords when it detects account creation pages.
      </message>
      <message name="IDS_FLAGS_PASSWORD_AUTOFILL_PUBLIC_SUFFIX_DOMAIN_MATCHING_NAME" desc="Name of the flag for public suffix domain matching for autofill of passwords.">
        Public suffix domain matching for autofill of passwords.
      </message>
      <message name="IDS_FLAGS_PASSWORD_AUTOFILL_PUBLIC_SUFFIX_DOMAIN_MATCHING_DESCRIPTION" desc="Description of flag to enable or disable public suffix domain matching for autofill of passwords.">
        Enable or disable a feature which allows the user to select username/password combinations for domains that match the same public suffix registry domain.
      </message>
      <message name="IDS_FLAGS_PERFORMANCE_MONITOR_GATHERING_NAME" desc="Name for the flag to enable Performance Monitor.">
        Enable performance monitoring
      </message>
      <message name="IDS_FLAGS_PERFORMANCE_MONITOR_GATHERING_DESCRIPTION" desc="Description for the flag to enable Performance Monitor.">
        Enable passive gathering of performance-related metrics and events and provide the option to view this data in a graphical fashion. To view data, visit chrome://performance.
      </message>
      <message name="IDS_FLAGS_ENABLE_RICH_NOTIFICATIONS_NAME" desc="Name of the flag to enable rich notifications.">
        Enable Rich Notifications
      </message>
      <message name="IDS_FLAGS_ENABLE_RICH_NOTIFICATIONS_DESCRIPTION" desc="Description for the flag to enable rich notifications.">
        Enable rich templated notifications. Both HTML5 notifications and app notifications will be shown through new Notification Center.
      </message>
      <message name="IDS_FLAGS_ENABLE_SYNCED_NOTIFICATIONS_NAME" desc="Name of the flag to enable synced notifications.">
        Enable Synced Notifications
      </message>
      <message name="IDS_FLAGS_ENABLE_SYNCED_NOTIFICATIONS_DESCRIPTION" desc="Description for the flag to enable synced notifications.">
        Enable experimental Synchronized Notifications.
      </message>
      <message name="IDS_FLAGS_ENABLE_SCREEN_CAPTURE_NAME" desc="Name of the flag to enable screen capture support.">
        Enable screen capture support in getUserMedia().
      </message>
      <message name="IDS_FLAGS_ENABLE_SCREEN_CAPTURE_DESCRIPTION" desc="Description of flag to enable screen capture.">
        Allow web pages to request access to the screen contents via the getUserMedia() API.
      </message>
      <message name="IDS_FLAGS_ENABLE_APPS_DEVTOOL_APP_NAME" desc="Name of the flag to enable apps-devtools app.">
        Enable apps-devtool app.
      </message>
      <message name="IDS_FLAGS_ENABLE_APPS_DEVTOOL_APP_DESCRIPTION" desc="Description of flag to enable apps-devtools app.">
        An app to develop apps / extensions.
      </message>
      <if expr="is_android">
        <message name="IDS_FLAGS_ENABLE_SPDY_PROXY_AUTH_NAME" desc="Name of the flag to enable data compression proxy.">
          Enable Data Compression Proxy
        </message>
        <message name="IDS_FLAGS_ENABLE_SPDY_PROXY_AUTH_DESCRIPTION" desc="Description of flag to enable data compression proxy.">
          Reduce data consumption by loading optimized web pages via Google proxy servers.
        </message>
      </if>
      <message name="IDS_FLAGS_IMPL_SIDE_PAINTING_NAME" desc="Name of about:flags option for impl-side painting.">
        Impl-side painting
      </message>
      <message name="IDS_FLAGS_IMPL_SIDE_PAINTING_DESCRIPTION" desc="Description of about:flags option for impl-side painting.">
        If enabled, painting is done on a separate thread instead of the main thread.
      </message>
      <message name="IDS_FLAGS_DELEGATED_RENDERER_NAME" desc="Name of about:flags option for delegated renderer.">
        Delegated Renderer (AKA Übercompositor).
      </message>
      <message name="IDS_FLAGS_DELEGATED_RENDERER_DESCRIPTION" desc="Description of about:flags option for delegated renderer.">
        If enabled, the renderer delegates compositing to the browser, merging both compositing passes.
      </message>
      <message name="IDS_FLAGS_TRACK_ACTIVE_VISIT_TIME_NAME" desc="Name of about:flags option for tracking active time on a page.">
        Track time spent on each each page
      </message>
      <message name="IDS_FLAGS_TRACK_ACTIVE_VISIT_TIME_DESCRIPTION" desc="Description of about:flags option for tracking active time on a page.">
        Tracks the amount of time spent on each page for improved most visited scoring.
      </message>
      <message name="IDS_FLAGS_MAX_TILES_FOR_INTEREST_AREA_NAME" desc="Name of about:flags option for maximum tiles for interest area.">
        Maximum tiles for interest area
      </message>
      <message name="IDS_FLAGS_MAX_TILES_FOR_INTEREST_AREA_DESCRIPTION" desc="Description of about:flags option for maximum tiles for interest area.">
        Specify the maximum tiles for interest area.
      </message>
      <message name="IDS_FLAGS_MAX_TILES_FOR_INTEREST_AREA_DEFAULT" desc="">
        Default
      </message>
      <message name="IDS_FLAGS_MAX_TILES_FOR_INTEREST_AREA_SHORT" desc="">
        64
      </message>
      <message name="IDS_FLAGS_MAX_TILES_FOR_INTEREST_AREA_TALL" desc="">
        128
      </message>
      <message name="IDS_FLAGS_MAX_TILES_FOR_INTEREST_AREA_GRANDE" desc="">
        256
      </message>
      <message name="IDS_FLAGS_MAX_TILES_FOR_INTEREST_AREA_VENTI" desc="">
        512
      </message>
      <message name="IDS_FLAGS_TAB_CAPTURE_UPSCALE_QUALITY_NAME" desc="">
        Tab capture upscaling quality.
      </message>
      <message name="IDS_FLAGS_TAB_CAPTURE_UPSCALE_QUALITY_DESCRIPTION" desc="">
        Specifies quality setting for images captured if scaling up.
      </message>
      <message name="IDS_FLAGS_TAB_CAPTURE_DOWNSCALE_QUALITY_NAME" desc="">
        Tab capture downscaling quality.
      </message>
      <message name="IDS_FLAGS_TAB_CAPTURE_DOWNSCALE_QUALITY_DESCRIPTION" desc="">
        Specifies quality setting for images captured if scaling down.
      </message>
      <message name="IDS_FLAGS_TAB_CAPTURE_SCALE_QUALITY_FAST" desc="">
        fast
      </message>
      <message name="IDS_FLAGS_TAB_CAPTURE_SCALE_QUALITY_GOOD" desc="">
        good
      </message>
      <message name="IDS_FLAGS_TAB_CAPTURE_SCALE_QUALITY_BEST" desc="">
        best
      </message>
      <message name="IDS_FLAGS_DEFAULT_TILE_WIDTH_NAME" desc="Name of about:flags option for default tile width.">
        Default tile width
      </message>
      <message name="IDS_FLAGS_DEFAULT_TILE_WIDTH_DESCRIPTION" desc="Description of about:flags option for default tile width.">
        Specify the default tile width.
      </message>
      <message name="IDS_FLAGS_DEFAULT_TILE_WIDTH_DEFAULT" desc="">
        Default
      </message>
      <message name="IDS_FLAGS_DEFAULT_TILE_WIDTH_SHORT" desc="">
        128
      </message>
      <message name="IDS_FLAGS_DEFAULT_TILE_WIDTH_TALL" desc="">
        256
      </message>
      <message name="IDS_FLAGS_DEFAULT_TILE_WIDTH_GRANDE" desc="">
        512
      </message>
      <message name="IDS_FLAGS_DEFAULT_TILE_WIDTH_VENTI" desc="">
        1024
      </message>
      <message name="IDS_FLAGS_DEFAULT_TILE_HEIGHT_NAME" desc="Name of about:flags option for default tile height.">
        Default tile height
      </message>
      <message name="IDS_FLAGS_DEFAULT_TILE_HEIGHT_DESCRIPTION" desc="Description of about:flags option for default tile height.">
        Specify the default tile height.
      </message>
      <message name="IDS_FLAGS_DEFAULT_TILE_HEIGHT_DEFAULT" desc="">
        Default
      </message>
      <message name="IDS_FLAGS_DEFAULT_TILE_HEIGHT_SHORT" desc="">
        128
      </message>
      <message name="IDS_FLAGS_DEFAULT_TILE_HEIGHT_TALL" desc="">
        256
      </message>
      <message name="IDS_FLAGS_DEFAULT_TILE_HEIGHT_GRANDE" desc="">
        512
      </message>
      <message name="IDS_FLAGS_DEFAULT_TILE_HEIGHT_VENTI" desc="">
        1024
      </message>
      <message name="IDS_FLAGS_ENABLE_SYNC_DIRECTORY_OPERATION_NAME" desc="Name of the flag to enable syncfs direcory support.">
        Enable Syncfs directory operation.
      </message>
      <message name="IDS_FLAGS_ENABLE_SYNC_DIRECTORY_OPERATION_DESCRIPTION" desc="Description of the flag to enable syncfs directory support.">
        Enables directory support for sync filesystem.
      </message>
      <if expr="is_macosx">
        <message name="IDS_FLAGS_ENABLE_APP_LIST_SHIM_NAME" desc="Name of the flag to enable the app launcher app bundle.">
          Enable App Launcher OSX app bundle.
        </message>
        <message name="IDS_FLAGS_ENABLE_APP_LIST_SHIM_DESCRIPTION" desc="Description of the flag to enable the app launcher app bundle.">
          Enable to ensure an OSX app bundle for the App Launcher exists under the Applications folder.
        </message>
        <message name="IDS_FLAGS_ENABLE_APP_SHIMS_NAME" desc="Title for the flag to enable shortcuts for packaged apps to be added to Applications and to appear in the dock.">
          Enable packaged app shortcuts.
        </message>
        <message name="IDS_FLAGS_ENABLE_APP_SHIMS_DESCRIPTION" desc="Description for the flag to enable packaged apps appearing in the dock in OSX.">
          Enables packaged app shortcuts to be added to Applications and to appear in the dock.
        </message>
        <message name="IDS_FLAGS_ENABLE_SIMPLIFIED_FULLSCREEN_NAME" desc="Title for the flag to enable a simplified Mac fullscreen interface.">
          Enables simplified fullscreen.
        </message>
        <message name="IDS_FLAGS_ENABLE_SIMPLIFIED_FULLSCREEN_DESCRIPTION" desc="Description for the flag to enable a simplified Mac fullscreen interface.">
          Enables a simplified and improved fullscreen experience on Mac.
        </message>
      </if>
      <message name="IDS_FLAGS_ENABLE_TRANSLATE_SETTINGS_NAME" desc="Name of the flag to enable translate setting.">
        Enable Translate settings.
      </message>
      <message name="IDS_FLAGS_ENABLE_TRANSLATE_SETTINGS_DESCRIPTION" desc="Description of the flag to translate setting.">
        Enable Translate settings in chrome://settings/languages where the user can configure which language should be translated.
      </message>
      <message name="IDS_FLAGS_DISABLE_APP_LIST_NAME" desc="Name of the flag to disable the app list on startup.">
        Disable the app launcher on startup.
      </message>
      <message name="IDS_FLAGS_DISABLE_APP_LIST_DESCRIPTION" desc="Description of the flag to disable the app list on startup.">
        Disable the app launcher on startup. While this flag is set the launcher will be disabled every time Chrome starts. This is used for testing the app launcher install flow.
      </message>
      <message name="IDS_FLAGS_ENABLE_DEVICE_MOTION_NAME" desc="Name of the flag to enable device motion DOM events.">
        Enable device motion.
      </message>
      <message name="IDS_FLAGS_ENABLE_DEVICE_MOTION_DESCRIPTION" desc="Description for the flag to enable device motion.">
        Enables device motion DOM events in JavaScript.
      </message>
      <if expr="is_android">
        <message name="IDS_FLAGS_ENABLE_CAST_NAME" desc="Name of the flag to enable Google Cast support.">
          Enable Google Cast support
        </message>
        <message name="IDS_FLAGS_ENABLE_CAST_DESCRIPTION" desc="Description for the flag to enable playing videos remotely on Google Cast receivers.">
          Enable playing videos remotely on Google Cast receivers.
        </message>
      </if>

      <!-- Crashes -->
      <message name="IDS_CRASHES_TITLE" desc="Title for the chrome://crashes page.">
        Crashes
      </message>
      <message name="IDS_CRASHES_CRASH_COUNT_BANNER_FORMAT" desc="Format for crash count banner on chrome://crashes">
        Crashes (<ph name="CRASH_COUNT">$1<ex>3</ex></ph>)
      </message>
      <message name="IDS_CRASHES_CRASH_HEADER_FORMAT" desc="Format for crash entry headings on chrome://crashes">
        Crash ID <ph name="CRASH_ID">$1<ex>8fa95dbb6f2ec862</ex></ph>
      </message>
      <message name="IDS_CRASHES_CRASH_TIME_FORMAT" desc="Format for crash entry occurence time on chrome://crashes">
        Occurred <ph name="CRASH_TIME">$1<ex>Tuesday, January 25, 2011 2:58:02 PM</ex></ph>
      </message>
      <message name="IDS_CRASHES_BUG_LINK_LABEL" desc="Link text for filing a crash bug on chrome://crashes">
        File bug
      </message>
      <message name="IDS_CRASHES_NO_CRASHES_MESSAGE" desc="The explanatory message for chrome://crashes when there are no crashes">
        You have no recently reported crashes.  Crashes that occurred when crash reporting was disabled will not appear here.
      </message>
      <message name="IDS_CRASHES_DISABLED_HEADER" desc="The header for chrome://crashes when crash reporting is disabled">
        Crash reporting is disabled.
      </message>
      <message name="IDS_FLAGS_HIDPI_NAME" desc="Name of flag to enable/disable HiDPI Support.">
        HiDPI Support
      </message>
      <message name="IDS_FLAGS_HIDPI_DESCRIPTION" desc="Description of flag to enable/disable HiDPI Support.">
        If enabled, application size and layout will adapt to the operating system's DPI settings.
      </message>

      <!-- WebRTC logs -->
      <message name="IDS_WEBRTC_LOGS_TITLE" desc="Title for the chrome://webrtc-logs page.">
        Uploaded WebRTC logs
      </message>
      <message name="IDS_WEBRTC_LOGS_LOG_COUNT_BANNER_FORMAT" desc="Format for WebRTC log count banner on chrome://webrtc-logs">
        Uploaded WebRTC logs (<ph name="WEBRTC_LOG_COUNT">$1<ex>3</ex></ph>)
      </message>
      <message name="IDS_WEBRTC_LOGS_LOG_HEADER_FORMAT" desc="Format for uploaded log entry headings on chrome://webrtc-logs">
        WebRTC log ID <ph name="WEBRTC_LOG_ID">$1<ex>8fa95dbb6f2ec862</ex></ph>
      </message>
      <message name="IDS_WEBRTC_LOGS_LOG_TIME_FORMAT" desc="Format for uploaded log entry upload time on chrome://webrtc-logs">
        Uploaded <ph name="WEBRTC_LOG_TIME">$1<ex>Tuesday, January 25, 2011 2:58:02 PM</ex></ph>
      </message>
      <message name="IDS_WEBRTC_LOGS_BUG_LINK_LABEL" desc="Link text for filing a bug on chrome://webrtc-logs">
        File bug
      </message>
      <message name="IDS_WEBRTC_LOGS_NO_LOGS_MESSAGE" desc="The explanatory message for chrome://webrtc-logs when there are no uploaded logs">
        You have no recently uploaded WebRTC logs.
      </message>
      <message name="IDS_WEBRTC_LOGS_DISABLED_HEADER" desc="The header for chrome://webrtc-logs when uploading is disabled">
        Log capturing and uploading is disabled.
      </message>
      <message name="IDS_WEBRTC_LOGS_DISABLED_MESSAGE" desc="The explanatory message for chrome://webrtc-logs when uploading is disabled">
        This page only shows information on your recently uploaded WebRTC logs if you <ph name="BEGIN_LINK">&lt;a href="https://www.google.com/support/chrome/bin/answer.py?answer=96817"&gt;</ph>enable crash reporting<ph name="END_LINK">&lt;/a&gt;</ph>.
      </message>

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

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

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

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

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

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

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

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

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

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

        <!-- about:system strings -->
        <message name="IDS_ABOUT_SYS_TITLE" desc="about:system page title">
          About System
        </message>
        <message name="IDS_ABOUT_SYS_DESC" desc="about:system page description">
          System diagnostic data
        </message>
        <message name="IDS_ABOUT_SYS_TABLE_TITLE" desc="Title of a table that contains system details">
          Details
        </message>
        <message name="IDS_ABOUT_SYS_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>

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

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

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

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

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

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

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

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

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

      <!-- Omnibox -->
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_COPY_URL" desc="The copy url menu option in context menu">
          Copy URL
        </message>
        <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>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_COPY_URL" desc="In Title Case: The copy url menu option in context menu">
          Copy URL
        </message>
        <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>
      </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>
      <if expr="pp_ifdef('ios')">
        <message name="IDS_OMNIBOX_EMPTY_HINT" desc="The text displayed in the omnibox when it is empty.">
          Search or type URL
        </message>
      </if>

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

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

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

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

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

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

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

      <!-- Password Manager -->
      <if expr="not is_android">
        <message name="IDS_PASSWORD_MANAGER_SAVE_BUTTON" desc="Save button text for password manager">
          Save password
        </message>
        <message name="IDS_PASSWORD_MANAGER_BLACKLIST_BUTTON" desc="Button text for the 'Save Password' infobar's 'Never remember for this site' option">
          Never for this site
        </message>
      </if>
      <if expr="is_android">
        <message name="IDS_PASSWORD_MANAGER_SAVE_BUTTON" desc="Mobile: Button text for the 'Save Password' infobar's 'Remember password' option">
          Yes
        </message>
        <message name="IDS_PASSWORD_MANAGER_BLACKLIST_BUTTON" desc="Mobile: Button text for the 'Save Password' infobar's 'Never remember for this site' option">
          Never
        </message>
      </if>

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

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

      <message name="IDS_IMPORTER_GOOGLE_LOGIN_TEXT" desc="The message to be displayed on dialog">
        In order to import Toolbar bookmarks into Chrome, you must be signed in to your Google account.  Please sign in and try to import again.
      </message>
      <message name="IDS_IMPORT_NO_PROFILE_FOUND" desc="Message displayed when we do not find any supported browser to import from.">
        No supported browser found
      </message>

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

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

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

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

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

      <!-- Report Bug or Broken Website Dialog -->
      <message name="IDS_FEEDBACK_TITLE" desc="Dialog title for bug report dialog">
        Whoops. Let's fix that.
      </message>
      <message name="IDS_FEEDBACK_REPORT_PAGE_TITLE" desc="Label showing the title of the page that will be reported">
        Feedback
      </message>
      <message name="IDS_FEEDBACK_REPORT_URL_LABEL" desc="Label showing the URL that will be reported">
        Include this URL:
      </message>
      <message name="IDS_FEEDBACK_USER_EMAIL_LABEL" desc="Label showing the e-mail address that will be reported">
        Include this email:
      </message>
      <message name="IDS_FEEDBACK_DESCRIPTION_LABEL" desc="Label for the description field">
        Tell us what is happening. (required)
      </message>
      <if expr="pp_ifdef('chromeos')">
      <message name="IDS_FEEDBACK_SCREENSHOT_LABEL" desc="Label for the screenshot field if current screenshots are being shown">
        Include the current screenshot:
      </message>
      </if>
      <if expr="not pp_ifdef('chromeos')">
      <message name="IDS_FEEDBACK_SCREENSHOT_LABEL" desc="Label for the screenshot field if current screenshots are being shown">
        Include this screenshot:
      </message>
      </if>
      <message name="IDS_FEEDBACK_SAVED_SCREENSHOT_LABEL" desc="Label for the screenshot field if saved screenshots are being shown">
        Include a saved screenshot:
      </message>
      <message name="IDS_FEEDBACK_CURRENT_SCREENSHOTS" desc="Radio button for including the last screen image on the bug report dialog box">
        Send a current page screen shot
      </message>
      <message name="IDS_FEEDBACK_SAVED_SCREENSHOTS" desc="Radio button for including the last screen image on the bug report dialog box">
        Send a saved screen shot
      </message>
      <message name="IDS_FEEDBACK_INCLUDE_SYSTEM_INFORMATION_CHKBOX" desc="Checkbox for including system information on the bug report dialog box">
        Send system information
      </message>
      <message name="IDS_FEEDBACK_CHOOSE_DIFFERENT_SCREENSHOT" desc="Text for changing the screenshot selection from current to saved">
        (Choose a different screenshot)
      </message>
      <message name="IDS_FEEDBACK_CHOOSE_ORIGINAL_SCREENSHOT" desc="Text for changing the screenshot selection from saved to current">
        (Go back to original screenshot)
      </message>
      <message name="IDS_FEEDBACK_ATTACH_FILE_NOTE" desc="Text for describing the maximum size for an attached file">
        The attached file is uploaded to Google servers for debugging.&lt;br&gt;
        Note: You can attach one file per feedback report (3 MB limit)
      </message>
      <message name="IDS_FEEDBACK_ATTACH_FILE_LABEL" desc="Text for the label for the attached filename">
        Include this 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.
      </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. 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_INCLUDE_NEW_SCREEN_IMAGE" desc="Radio button for including a new screen image on the bug report dialog box">
        Send last active tab screen shot
      </message>
      <message name="IDS_FEEDBACK_INCLUDE_NO_SCREENSHOT" desc="Radio button for not including a screen image on the bug report dialog box">
        Do not send a screen shot
      </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_NO_SAVED_SCREENSHOTS_HELP" desc="Message shown when no screenshots are available for selection">
        You can select saved screenshots from here. Currently there are no screenshots available. You can press Ctrl + the "Window Switch" key together to take a screenshot. The last three screenshots that you have taken will appear here.
      </message>
      <message name="IDS_FEEDBACK_SEND_REPORT" desc="Text for OK button of the send feedback dialog">
        Send feedback
      </message>
      <message name="IDS_FEEDBACK_LAUNCHER_TITLE" desc="Dialog title for app launcher feedback dialog">
        Send Feedback.
      </message>
      <message name="IDS_FEEDBACK_LAUNCHER_DESCRIPTION_LABEL" desc="Label for the description field when asking for app launcher feedback">
        Tell us what you think of the App Launcher.
      </message>

      <!-- Clear Browsing Data -->
      <message name="IDS_CLEAR_BROWSING_DATA_TITLE" desc="Dialog title">
        Clear browsing data
      </message>
      <message name="IDS_CLEAR_BROWSING_DATA_INFO_BAR_TEXT" desc="The text of the infobar that is displayed in the clear browsing data dialog. This infobar remindes users that they can use the incognito mode instead of clearing their browsing data.">
        Psst! Incognito mode (<ph name="INCOGNITO_MODE_SHORTCUT">$1<ex>Shift+Ctrl+N</ex></ph>) may come in handy next time.
      </message>
      <message name="IDS_CLEAR_BROWSING_DATA_LABEL" desc="Label at the top of the client area of the dialog, preceding the period combo box">
        Obliterate the following items from:
      </message>
      <message name="IDS_DEL_BROWSING_HISTORY_CHKBOX" desc="Checkbox for deleting Browsing History">
        Clear browsing history
      </message>
      <message name="IDS_DEL_DOWNLOAD_HISTORY_CHKBOX" desc="Checkbox for deleting Download History">
        Clear download history
      </message>
      <message name="IDS_DEL_CACHE_CHKBOX" desc="Checkbox for deleting Cache">
        Empty the cache
      </message>
      <message name="IDS_DEL_COOKIES_CHKBOX" desc="Checkbox for deleting Cookies and other site data">
        Delete cookies and other site data
      </message>
      <message name="IDS_DEL_COOKIES_FLASH_CHKBOX" desc="Checkbox for deleting Cookies and other site data">
        Delete cookies and other site and plug-in data
      </message>
      <message name="IDS_DEL_PASSWORDS_CHKBOX" desc="Checkbox for deleting Passwords">
        Clear saved passwords
      </message>
      <message name="IDS_DEL_FORM_DATA_CHKBOX" desc="Checkbox for deleting form data saved for Autofill">
        Clear saved Autofill form data
      </message>
      <message name="IDS_DEL_HOSTED_APPS_DATA_CHKBOX" desc="Checkbox for deleting data of hosted apps">
        Clear data from hosted apps
      </message>
      <message name="IDS_DEAUTHORIZE_CONTENT_LICENSES_CHKBOX" desc="Checkbox for deauthorizing content licenses (DRM videos, etc.)">
        Deauthorize 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>

      <!-- Managed User Avatar Menu -->
      <message name="IDS_MANAGED_USER_INFO" desc="Text which explains that a supervised user is managed by a custodian.">
        This user is supervised by <ph name="CUSTODIAN_NAME">$1<ex>Jane Doe</ex></ph>. Usage and history from this user may be viewed by the manager.
      </message>
      <message name="IDS_MANAGED_USER_AVATAR_LABEL" desc="A label for the supervised user which is used in the avatar menu and as a label in the titlebar.">
        Supervised user
      </message>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      <!-- Page Information Window -->
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_PAGEINFO_CERT_INFO_BUTTON" desc="Text of button in the page info that shows the SSL certificate.">
          Certificate information
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_PAGEINFO_CERT_INFO_BUTTON" desc="In Title Case: Text of button in the page info that shows the SSL certificate.">
          Certificate Information
        </message>
      </if>
      <message name="IDS_PAGE_INFO_HELP_CENTER_LINK" desc="This is the text of the link pointing to the Help Center. This appears at the bottom of the SSL dialog and 'this' refers to the sections within the bubble.">
        What do these mean?
      </message>
      <message name="IDS_PAGE_INFO_SECURITY_TAB_SECURE_IDENTITY" desc="The text of the identity section when the page is secure.">
        The identity of this website has been verified by <ph name="ISSUER">$1<ex>VeriSign</ex></ph>.
      </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" desc="The text of the identity section when the page is secured with an EV cert.">
        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>.
      </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="pp_ifdef('ios')">
        <message name="IDS_PAGE_INFO_SECURITY_BUTTON_ACCESSIBILITY_LABEL" desc="The accessibility text for the page security info button">
          Page Security Info
        </message>
      </if>

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

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

      <!-- SSL Blocking Page -->
      <message name="IDS_SSL_BLOCKING_PAGE_TITLE" desc="The title of the SSL blocking page.">
        SSL Error
      </message>
      <message name="IDS_SSL_BLOCKING_PAGE_PROCEED" desc="Proceed button text of the SSL blocking page.">
        Proceed anyway
      </message>
      <message name="IDS_SSL_BLOCKING_PAGE_EXIT" desc="'Back' button text of the SSL blocking page.">
        Back to safety
      </message>
      <message name="IDS_SSL_BLOCKING_PAGE_SHOULD_NOT_PROCEED" desc="Message advising the user not to proceed past the SSL blocking page.">
        You should not proceed, &lt;strong&gt;especially&lt;/strong&gt; if you have never seen this warning before for this site.
      </message>

      <!-- SSL Error Page -->
      <message name="IDS_SSL_ERROR_PAGE_TITLE" desc="The title of the SSL error page.">
        Security Error
      </message>
      <message name="IDS_SSL_ERROR_PAGE_BACK" desc="Back button text of the SSL error page.">
        Back
      </message>
      <message name="IDS_SSL_ERROR_PAGE_CANNOT_PROCEED" desc="Message advising the user that they cannot proceed past the SSL error page.">
        You cannot proceed because the website operator has requested heightened security for this domain.
      </message>

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

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

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

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

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

      <!-- Font settings -->
      <message name="IDS_FONT_LANGUAGE_SETTING_FONT_TAB_TITLE" desc="Title that appears in the Fonts and Encoding subpage">
        Fonts and encoding
      </message>
      <message name="IDS_FONT_LANGUAGE_SETTING_FONT_SELECTOR_STANDARD_LABEL" desc="Label of the Standard font section of the Fonts and Encoding subpage">
        Standard font
      </message>
      <message name="IDS_FONT_LANGUAGE_SETTING_FONT_SELECTOR_SERIF_LABEL" desc="Label of the Serif font section of the Fonts and Encoding subpage">
        Serif font
      </message>
      <message name="IDS_FONT_LANGUAGE_SETTING_FONT_SELECTOR_SANS_SERIF_LABEL" desc="Label of the Sans-serif font section of the Fonts and Encoding subpage">
        Sans-serif font
      </message>
      <message name="IDS_FONT_LANGUAGE_SETTING_FONT_SELECTOR_FIXED_WIDTH_LABEL" desc="Label of the Fixed-width font section of the Fonts and Encoding subpage">
        Fixed-width font
      </message>
      <message name="IDS_FONT_LANGUAGE_SETTING_MINIMUM_FONT_SIZE_TITLE" desc="Label of the Minimum font size section of the Fonts and Encoding subpage">
        Minimum font size
      </message>
      <message name="IDS_FONT_LANGUAGE_SETTING_FONT_SUB_DIALOG_ENCODING_TITLE" desc="Label of the Encoding section of the Fonts and Encoding subpage">
        Encoding
      </message>
      <message name="IDS_FONT_LANGUAGE_SETTING_FONT_SIZE_TINY" desc="Label for the 'Tiny' side of the font size range selector">
        Tiny
      </message>
      <message name="IDS_FONT_LANGUAGE_SETTING_FONT_SIZE_HUGE" desc="Label for the 'Huge' side of the font size range selector">
        Huge
      </message>
      <message name="IDS_FONT_LANGUAGE_SETTING_LOREM_IPSUM" desc="Sample text of 'Lorem ipsum' used to show the selected font/size">
        Lorem ipsum dolor sit amet, consectetur adipiscing elit.
      </message>
      <message name="IDS_FONT_LANGUAGE_SETTING_PLACEHOLDER" desc="Placeholder string for the Fonts and Encodings select menus">
        Loading...
      </message>

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

      <!-- HTTP POST Warning -->
      <message name="IDS_HTTP_POST_WARNING_TITLE" desc="Title for dialog that warns users about a navigation that results in a repost">
        Confirm Form Resubmission
      </message>
      <message name="IDS_HTTP_POST_WARNING" desc="Re-navigation to page that leads to HTTP POST">
        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">
        Continue
      </message>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      <!-- Autofill dialog: field labels. -->
      <message name="IDS_AUTOFILL_DIALOG_PLACEHOLDER_EMAIL" desc="The placeholder/label text for email in the requestAutocomplete dialog.">
        Email address
      </message>
      <message name="IDS_AUTOFILL_DIALOG_PLACEHOLDER_CARD_NUMBER" desc="The placeholder/label text for credit card number in the requestAutocomplete dialog.">
        Card number
      </message>
      <message name="IDS_AUTOFILL_DIALOG_PLACEHOLDER_CVC" desc="The placeholder/label text for credit card verification code in the requestAutocomplete dialog.">
        CVC
      </message>
      <message name="IDS_AUTOFILL_DIALOG_PLACEHOLDER_CARDHOLDER_NAME" desc="The placeholder/label text for cardholder full name in the requestAutocomplete dialog.">
        Cardholder name
      </message>
      <message name="IDS_AUTOFILL_DIALOG_PLACEHOLDER_ADDRESSEE_NAME" desc="The placeholder/label text for addressee full name in the requestAutocomplete dialog.">
        Name
      </message>
      <message name="IDS_AUTOFILL_DIALOG_PLACEHOLDER_ADDRESS_LINE_1" desc="The placeholder/label text for address line 1 in the requestAutocomplete dialog.">
        Street address
      </message>
      <message name="IDS_AUTOFILL_DIALOG_PLACEHOLDER_ADDRESS_LINE_2" desc="The placeholder/label text for address line 2 in the requestAutocomplete dialog.">
        Street address (optional)
      </message>
      <message name="IDS_AUTOFILL_DIALOG_PLACEHOLDER_LOCALITY" desc="The placeholder/label text for locality (city) in the requestAutocomplete dialog.">
        City
      </message>
      <message name="IDS_AUTOFILL_DIALOG_PLACEHOLDER_POSTAL_CODE" desc="The placeholder/label text for ZIP/postal code in the requestAutocomplete dialog.">
        ZIP code
      </message>
      <message name="IDS_AUTOFILL_DIALOG_PLACEHOLDER_PHONE_NUMBER" desc="The placeholder/label text for phone number in the requestAutocomplete dialog.">
        Phone number
      </message>

      <message name="IDS_AUTOFILL_HELP_LABEL" desc="The label of the Help link on the Autofill dialog.">
        About Autofill
      </message>

      <!-- Autofill dialog: title bar -->
      <message name="IDS_AUTOFILL_DIALOG_TITLE" desc="Title for autofill dialog which asks user to input address + payment info.">
        Pay
      </message>
      <message name="IDS_AUTOFILL_DIALOG_PAY_WITHOUT_WALLET" desc="This text is shown in a payment method chooser when a user is forced to pay without Google Wallet because the service is unavailable.">
        Chrome Autofill
      </message>
      <message name="IDS_AUTOFILL_DIALOG_SIGN_IN" desc="This link text is shown when the user is not signed into a GAIA account.">
        Sign in to pay with Google Wallet
      </message>
      <message name="IDS_AUTOFILL_DIALOG_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_DETAILS_FROM_WALLET" desc="Text explaining where the dialog got its payment info from (on first run of this dialog while using Google Wallet).">
        The following details are saved in your Google Wallet.
      </message>
      <message name="IDS_AUTOFILL_DIALOG_SAVE_DETAILS_IN_WALLET" desc="Text that shows on the top of the autofill dialog promoting saving info in Google Wallet.">
        Save and protect my details with Google Wallet.
      </message>
      <message name="IDS_AUTOFILL_DIALOG_SAVE_IN_WALLET_TOOLTIP" desc="Tooltip text that explains how Google Wallet integration works.">
        Google Wallet generates a new credit card number for each transaction, so the merchant never sees your personal 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_SECURITY_WARNING" desc="Warning on autofill dialog informing users that they're likely to transmit their credit card information insecurely.">
        Warning: this site has requested your payment details over an insecure connection.
      </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_AUTOCHECKOUT_ERROR" desc="Text explaining there has been an Autocheckout error and the user must finish checking out themselves.">
        Oops! We couldn't complete your entire checkout form. We finished as much as we could, but you'll have to take over from here.
      </message>
      <message name="IDS_AUTOFILL_DIALOG_AUTOCHECKOUT_SUCCESS" desc="Text explaining Autocheckout succeeded but the user must confirm the transaction.">
        We're done! Click continue to check your details on the confirmation page. Don't forget to submit your purchase!
      </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 are probably 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.">
        We need more information to complete your purchase.
      </message>

      <!--- Autofill dialog: Wallet interstitials -->
      <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 Online 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 card has been protected by Google Wallet.
      </message>
      <message name="IDS_AUTOFILL_DIALOG_CARD_GENERATION_EXPLANATION" desc="More detailed text the user sees after the wallet servers respond with a generated card number.">
        Wallet never shares your credit information with merchants. Shop with confidence knowing that you credit card number is protected online.
      </message>
      <message name="IDS_AUTOFILL_DIALOG_CARD_GENERATION_OK_BUTTON" desc="Text for the button users have to press to proceed past the wallet card generation text.">
        Okay, got it
      </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 [12].
      </message>
      <message name="IDS_AUTOFILL_WALLET_UPGRADE_CHROME_ERROR" desc="Text explaining that user must upgrade Chrome to use Wallet.">
        You must upgrade Chrome to use Google Wallet [<ph name="ERROR_CODE">$1<ex>54</ex></ph>].
      </message>
      <message name="IDS_AUTOFILL_WALLET_SERVICE_UNAVAILABLE_ERROR" desc="Text explaining that Wallet is currently unavailable.">
        Google Wallet is currently unavailable [61].
      </message>
      <message name="IDS_AUTOFILL_WALLET_UNKNOWN_ERROR" desc="Text explaining that Wallet encountered an unknown error.">
        Google Wallet has encountered an unknown error [<ph name="ERROR_CODE">$1<ex>54</ex></ph>].
      </message>

      <!-- Autofill dialog: step progress -->
      <message name="IDS_AUTOFILL_STEP_SHIPPING_DETAILS_UNSTARTED" desc="Text describing the task of filling out shipping details in an Autocheckout flow.">
        Shipping details
      </message>
      <message name="IDS_AUTOFILL_STEP_SHIPPING_DETAILS_STARTED" desc="Text describing that the task of filling out shipping details in an Autocheckout flow is in progress.">
        Submitting shipping details
      </message>
      <message name="IDS_AUTOFILL_STEP_SHIPPING_DETAILS_COMPLETE" desc="Text describing that the task of filling out shipping details in an Autocheckout flow is complete.">
        Shipping details submitted
      </message>
      <message name="IDS_AUTOFILL_STEP_SHIPPING_DETAILS_FAILED" desc="Text describing that the task of filling out shipping details in an Autocheckout flow has failed.">
        Error filling shipping details
      </message>
      <message name="IDS_AUTOFILL_STEP_DELIVERY_DETAILS_UNSTARTED" desc="Text describing the task of filling out delivery details in an Autocheckout flow.">
        Delivery details
      </message>
      <message name="IDS_AUTOFILL_STEP_DELIVERY_DETAILS_STARTED" desc="Text describing that the task of filling out delivery details in an Autocheckout flow is in progress.">
        Submitting delivery details
      </message>
      <message name="IDS_AUTOFILL_STEP_DELIVERY_DETAILS_COMPLETE" desc="Text describing that the task of filling out delivery details in an Autocheckout flow is complete.">
        Delivery details submitted
      </message>
      <message name="IDS_AUTOFILL_STEP_DELIVERY_DETAILS_FAILED" desc="Text describing that the task of filling out delivery details in an Autocheckout flow has failed.">
        Error filling delivery details
      </message>
      <message name="IDS_AUTOFILL_STEP_BILLING_DETAILS_UNSTARTED" desc="Text describing the task of filling out billing details in an Autocheckout flow.">
        Billing details
      </message>
      <message name="IDS_AUTOFILL_STEP_BILLING_DETAILS_STARTED" desc="Text describing that the task of filling out billing details in an Autocheckout flow is in progress.">
        Submitting billing details
      </message>
      <message name="IDS_AUTOFILL_STEP_BILLING_DETAILS_COMPLETE" desc="Text describing that the task of filling out billing details in an Autocheckout flow is complete.">
        Billing details submitted
      </message>
      <message name="IDS_AUTOFILL_STEP_BILLING_DETAILS_FAILED" desc="Text describing that the task of filling out billing details in an Autocheckout flow has failed.">
        Error filling billing details
      </message>
      <message name="IDS_AUTOFILL_STEP_PROXY_CARD_UNSTARTED" desc="Text describing the task of generating a proxy card in an Autocheckout flow.">
        Google Wallet Virtual Online Card
      </message>
      <message name="IDS_AUTOFILL_STEP_PROXY_CARD_STARTED" desc="Text describing that the task of generating a proxy card in an Autocheckout flow is in progress.">
        Generating Google Wallet Virtual Online Card
      </message>
      <message name="IDS_AUTOFILL_STEP_PROXY_CARD_COMPLETE" desc="Text describing that the task of generating a proxy card in an Autocheckout flow is complete.">
        Google Wallet Virtual Online Card generated
      </message>
      <message name="IDS_AUTOFILL_STEP_PROXY_CARD_FAILED" desc="Text describing that the task of generating a proxy card in an Autocheckout flow has failed.">
        Error generating Google Wallet Virtual Online Card
      </message>

      <!-- Autofill dialog: detail section -->
      <message name="IDS_AUTOFILL_DIALOG_EDIT" desc="Text of link in autofill dialog which allows user to edit address + payment info.">
        Edit
      </message>
      <message name="IDS_AUTOFILL_DIALOG_SECTION_EMAIL" desc="Label for the email section of the autofill dialog.">
        Email address
      </message>
      <message name="IDS_AUTOFILL_DIALOG_SECTION_CC" desc="Label for the credit card section of the autofill dialog.">
        Card information
      </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_CONTINUE_BUTTON" desc="Button text for confirmation of successful completion of an Autocheckout flow.">
        Continue
      </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>
      <message name="IDS_AUTOFILL_DIALOG_AUTOCHECKOUT_PROGRESS_BAR" desc="Label for Autocheckout progres bar.">
        Auto-Checkout...
      </message>

      <!-- Autofill dialog: combobox menu items -->
      <message name="IDS_AUTOFILL_DIALOG_ADD_EMAIL_ADDRESS" desc="Menu item for adding a new email address in the autofill dialog.">
        Add email address...
      </message>
      <message name="IDS_AUTOFILL_DIALOG_MANAGE_EMAIL_ADDRESS" desc="Menu item for directing the user to a different UI that can manage email addresses.">
        Manage email addresses...
      </message>
      <message name="IDS_AUTOFILL_DIALOG_ADD_CREDIT_CARD" desc="Menu item for adding a new credit card in the autofill dialog.">
        Add 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.">
        Add 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.">
        Add 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.">
        Add shipping address...
      </message>
      <message name="IDS_AUTOFILL_DIALOG_MANAGE_SHIPPING_ADDRESS" desc="Menu item for directing the user to a different UI that can manage shipping addresses.">
        Manage shipping addresses...
      </message>
      <message name="IDS_AUTOFILL_DIALOG_USE_BILLING_FOR_SHIPPING" desc="Menu Item label that asks whether the billing info should also be used for shipping info.">
        Use billing address for shipping
      </message>

      <!-- Autofill dialog: legal documents -->
      <message name="IDS_AUTOFILL_DIALOG_LEGAL_LINKS_NEW_2" desc="Label at the bottom of the autofill dialog that is shown when a user needs to accept updated 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>. 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_NEW_3" desc="Label at the bottom of the autofill dialog that is shown when a user needs to accept updated 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>Virtual Card Notice</ex></ph>, and <ph name="LEGAL_DOC_LINK_TEXT_3">$3<ex>Terms Of Use</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_UPDATED_2" desc="Label at the bottom of the autofill dialog that is shown when a user needs to accept updated legal documents (ex: Privacy Policy, Terms Of Service).">
        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> have been updated. By clicking Continue you verify that you accept these changes. 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_UPDATED_3" desc="Label at the bottom of the autofill dialog that is shown when a user needs to accept updated legal documents (ex: Privacy Policy, Terms Of Service).">
        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>Privacy Policy</ex></ph>, and <ph name="LEGAL_DOC_LINK_TEXT_3">$3<ex>Terms Of Use</ex></ph> have been updated. By clicking Continue you verify that you accept these changes. To protect you from fraud, information about your computer (including its location) will be shared with Google Wallet.
      </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.">
        Not a valid email address
      </message>
      <message name="IDS_AUTOFILL_DIALOG_VALIDATION_INVALID_CREDIT_CARD_NUMBER" desc="Message displayed to user when credit card number validation fails.">
        Not a valid credit card number
      </message>
      <message name="IDS_AUTOFILL_DIALOG_VALIDATION_INVALID_CREDIT_CARD_SECURITY_CODE" desc="Message displayed to user when credit card security code validation fails.">
        Not a valid credit card security code
      </message>
      <message name="IDS_AUTOFILL_DIALOG_VALIDATION_INVALID_CREDIT_CARD_EXPIRATION_DATE" desc="Message displayed to user when credit card expiration date validation fails.">
        Card is expired
      </message>
      <message name="IDS_AUTOFILL_DIALOG_VALIDATION_CREDIT_CARD_NOT_SUPPORTED_BY_WALLET" desc="Message displayed to user when user entered a credit card number that is not supported by Google Wallet.">
        Card type is not supported by Wallet
      </message>
      <message name="IDS_AUTOFILL_DIALOG_VALIDATION_INVALID_ZIP_CODE" desc="Message displayed to user when ZIP code (postal code) validation fails.">
        Not a valid ZIP code
      </message>
      <message name="IDS_AUTOFILL_DIALOG_VALIDATION_INVALID_REGION" desc="Message displayed to user when the region (US state) validation fails.">
        Not a valid state
      </message>
      <message name="IDS_AUTOFILL_DIALOG_VALIDATION_INVALID_PHONE_NUMBER" desc="Message displayed to user when phone number validation fails.">
        Not a valid phone number
      </message>
      <message name="IDS_AUTOFILL_DIALOG_VALIDATION_MISSING_VALUE" desc="Message displayed to user when one of the required fields is left empty.">
        Field is required
      </message>

      <!-- Autocheckout bubble -->
      <message name="IDS_AUTOCHECKOUT_BUBBLE_PROMPT_SIGNED_IN" desc="Text for prompting a Google user to start an Autocheckout flow.">
        Fast forward through this checkout form with your Google account?
      </message>
      <message name="IDS_AUTOCHECKOUT_BUBBLE_PROMPT_NOT_SIGNED_IN" desc="Text for prompting a non-Google user to start an Autocheckout flow.">
        Fast forward through this checkout form?
      </message>
      <message name="IDS_AUTOCHECKOUT_BUBBLE_ACCEPT" desc="Label for the button a user clicks to start an Autocheckout flow.">
        Yes
      </message>
      <message name="IDS_AUTOCHECKOUT_BUBBLE_CANCEL" desc="Label for the button a user clicks to cancel an Autocheckout flow.">
        No, Thanks
      </message>

      <!-- Autofill dialog post-submit bubble -->
      <message name="IDS_AUTOFILL_CREDIT_CARD_BUBBLE_GENERATED_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_CREDIT_CARD_BUBBLE_GENERATED_TEXT" desc="Text in the bubble explaining that a temporary card has been generated for the user's security by Google Wallet.">
        Don't worry, this purchase will still be charged to your |$1|. Your card has been protected with the Google Wallet Virtual Online Card (|$2|), this number will appear on your receipt.
      </message>
      <message name="IDS_AUTOFILL_CREDIT_CARD_BUBBLE_MANAGE_CARDS" 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 Saved Cards
      </message>

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

      <if expr="is_android or pp_ifdef('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 pp_ifdef('ios')">
        <message name="IDS_OPTIONS_SYSTEM_PROXIES_LABEL" desc="The info label for the 'Proxy settings' button when managed by the system.">
          <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> is using your computer's system proxy settings to connect to the network.
        </message>
      </if>
      <message name="IDS_OPTIONS_EXTENSION_PROXIES_LABEL" desc="The info label for the 'Proxy settings' button when managed by an extension.">
        Your network proxy settings are being managed by an extension.
      </message>

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

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

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

      <message name="IDS_OPTIONS_CONTROLLED_SETTING_POLICY" desc="Text displayed in the controlled settings bubble when a setting's value is enforced by policy.">
        This setting is enforced by your administrator.
      </message>
      <message name="IDS_OPTIONS_CONTROLLED_SETTING_EXTENSION" desc="Text displayed in the controlled settings bubble when a setting's value is enforced by an extension.">
        This setting is enforced by an extension.
      </message>
      <message name="IDS_OPTIONS_CONTROLLED_SETTING_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>

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

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

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

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

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

      <!-- Auto-login infobar -->
      <if expr="pp_ifdef('ios')">
        <message name="IDS_AUTOLOGIN_INFOBAR_MESSAGE" desc="The string shown in the infobar explaining that they can press one button to auto-login instead of entering their user name and password. [length: 60em]">
          Automatic sign-in is available <ph name="EMAIL_ADDRESS">$1</ph>
        </message>
        <message name="IDS_AUTOLOGIN_INFOBAR_OK_BUTTON" desc="The string used in the infobar button that the user presses to perform the auto-login. [length: 10em]">
          Login
        </message>
      </if>
      <if expr="not pp_ifdef('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 pp_ifdef('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 pp_ifdef('ios')">
        <message name="IDS_AUTOLOGIN_INFOBAR_CANCEL_BUTTON" desc="Mobile: The string used in the autologin infobar button that the user presses to close the infobar without logging in.">
          Cancel
        </message>
      </if>

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

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

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

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

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

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

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

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

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

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

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

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

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

      <!-- Offline page  -->
      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_SITE_OFFLINE_LOAD_HEADLINE" desc="Offline Page HTML headline for a site.">
          This page is not available offline.
        </message>
        <message name="IDS_APP_OFFLINE_LOAD_HEADLINE" desc="Offline Page HTML headline for an app.">
          This app is not available offline.
        </message>
        <message name="IDS_OFFLINE_LOAD_DESCRIPTION" desc="Description for the offline page.">
          Please reconnect to a network.
        </message>
        <message name="IDS_OFFLINE_NETWORK_SETTINGS">
          Network settings
        </message>
      </if>

      <!-- Multi-profile -->
      <message name="IDS_PROFILES_OPTIONS_GROUP_NAME" desc="The name of the sync group in the options dialog.">
        Users
      </message>
      <message name="IDS_PROFILES_BUBBLE_ACCESSIBLE_NAME" desc="Title of the avatar bubble menu for accessibility">
        Switch Users
      </message>
      <message name="IDS_PROFILES_BUBBLE_ACCESSIBLE_DESCRIPTION" desc="The help text for the avatar bubble.">
        Switch to a different user.
      </message>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_PROFILES_CREATE_NEW_PROFILE_OPTION" desc="Create new profile menu item and button title.">
          Add new user
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_PROFILES_CREATE_NEW_PROFILE_OPTION" desc="In Title Case. Create new profile menu item and button title.">
          Add New User
        </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_PROFILES_SWITCH_PROFILE_LINK" desc="Link in the supervised user bubble view to switch to a different profile.">
          Switch users
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_PROFILES_SWITCH_PROFILE_LINK" desc="In title case. Link in the supervised user bubble view to switch to a different profile.">
          Switch Users
        </message>
      </if>
      <message name="IDS_PROFILES_CREATE_NEW_PROFILE_LINK" desc="Link in the avatar menu bubble view to create a new profile.">
        New user
      </message>
      <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.">
        Sign-out
      </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_PROFILE_USERS_BUTTON" desc="Button in the avatar menu bubble view for switching users.">
        Users
      </message>
      <message name="IDS_PROFILES_GUEST_PROFILE_NAME" desc="Name of the guest profile.">
        Guest
      </message>
      <message name="IDS_PROFILES_PROFILE_GUEST_BUTTON" desc="Button in the avatar menu bubble view for guest browsing.">
        Guest browsing
      </message>
      <message name="IDS_PROFILES_SWITCH_TO_PROFILE_ACCESSIBLE_NAME" desc="Description of the switch to profile button. This is used for accessibility.">
        Switch to user: <ph name="PROFILE_NAME">$1<ex>First user</ex></ph>
      </message>
      <message name="IDS_DEFAULT_PROFILE_NAME" desc="The default name given to a profile. Displayed in wrench menu and settings UI.">
        First user
      </message>
      <message name="IDS_NUMBERED_PROFILE_NAME" desc="The name given to a newly created profile. Displayed in wrench menu and settings UI.">
        User <ph name="VALUE">$1<ex>1</ex></ph>
      </message>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      <message name="IDS_FILE_BROWSER_DIMENSIONS_LABEL" desc="Image dimensions label.">
        Dimensions
      </message>
      <message name="IDS_FILE_BROWSER_DIMENSIONS_FORMAT" desc="Image dimensions format (width x height).">
        $1 x $2
      </message>

      <message name="IDS_FILE_BROWSER_IMAGE_DIMENSIONS" desc="Dimensions of a selected image.">
        Image Dimensions
      </message>
      <message name="IDS_FILE_BROWSER_VOLUME_LABEL" desc="Label for the disk volume.">
        Volume Label
      </message>
      <message name="IDS_FILE_BROWSER_READ_ONLY" desc="Indication that a volume is mounted read only.">
        Read Only
      </message>

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

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

      <message name="IDS_FILE_BROWSER_GALLERY_MOSAIC" desc="In the Gallery, the title on the button that switches to the mosaic view.">
        Mosaic view
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_SLIDE" desc="In the Gallery, the title on the button that switches to the slide view.">
        Slide view
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_SLIDESHOW" desc="In the Gallery, the title on the button that starts the slide show.">
        Slideshow
      </message>
      <message name="IDS_FILE_BROWSER_GALLERY_DELETE" desc="In the Gallery, the title on the button that deletes selected images.">
        Delete
      </message>
      <message name="IDS_FILE_BROWSER_SEND_TO_DRIVE" desc="Title of the action for copying file to Drive.">
        Send to Google Drive
      </message>

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

      <message name="IDS_FILE_BROWSER_ACTION_CHOICE_OPENING_METHOD" desc="In the action choice dialog, header with a question about an action to choose.">
        How would you like to handle photos and videos?
      </message>
      <message name="IDS_FILE_BROWSER_ACTION_CHOICE_PHOTOS_DRIVE" desc="In the action choice dialog, label of action to import photos to Drive.">
        Save to Google Drive
      </message>
      <message name="IDS_FILE_BROWSER_ACTION_CHOICE_DRIVE_NOT_REACHED" desc="In the action choice dialog, message informing that Drive is unreachable.">
        Google Drive could not be reached
      </message>
      <message name="IDS_FILE_BROWSER_ACTION_CHOICE_VIEW_FILES" desc="In the action choice dialog, label of action to view all files.">
        View with the Files app
      </message>
      <message name="IDS_FILE_BROWSER_ACTION_CHOICE_WATCH_SINGLE_VIDEO" desc="In the action choice dialog, label of action to watch a single video.">
        Watch <ph name="VIDEO_NAME">$1<ex>Best movie</ex></ph>
      </message>
      <message name="IDS_FILE_BROWSER_ACTION_CHOICE_ONCE" desc="In the action choice dialog, label of the button performing the selected action just once, without remembering.">
        Just once
      </message>
      <message name="IDS_FILE_BROWSER_ACTION_CHOICE_ALWAYS" desc="In the action choice dialog, label of the button performing the selected action with remembering the choice for the future.">
        Always
      </message>
      <message name="IDS_FILE_BROWSER_ACTION_CHOICE_COUNTER_NO_MEDIA" desc="In the action choice dialog, text with number of files.">
        <ph name="FILES_COUNT">$1<ex>123</ex></ph> files
      </message>
      <message name="IDS_FILE_BROWSER_ACTION_CHOICE_COUNTER" desc="In the action choice dialog, text with number of files and photos.">
        <ph name="PHOTOS_COUNT">$1<ex>85</ex></ph> photos
      </message>
      <message name="IDS_FILE_BROWSER_ACTION_CHOICE_LOADING_USB" desc="In the action choice dialog, label informing about loading the usb device.">
        Checking your USB drive...
      </message>
      <message name="IDS_FILE_BROWSER_ACTION_CHOICE_LOADING_SD" desc="In the action choice dialog, label informing about loading the sd device.">
        Checking your SD card...
      </message>

      <message name="IDS_FILE_BROWSER_PHOTO_IMPORT_TITLE" desc="In the Photo import, the window title.">
        Import media
      </message>
      <message name="IDS_FILE_BROWSER_PHOTO_IMPORT_IMPORT_BUTTON" desc="In the Photo import, label of import button.">
        Import
      </message>
      <message name="IDS_FILE_BROWSER_PHOTO_IMPORT_CANCEL_BUTTON" desc="In the Photo import, label of cancel button.">
        Cancel
      </message>
      <message name="IDS_FILE_BROWSER_PHOTO_IMPORT_DRIVE_ERROR" desc="In the Photo import, error message when drive is unaccessible.">
        Google Drive cannot be reached. Please try again.
      </message>
      <message name="IDS_FILE_BROWSER_PHOTO_IMPORT_DESTINATION_ERROR" desc="In the Photo import, error when it is impossible to create a destination directory.">
        Unable to create the destination directory.
      </message>
      <message name="IDS_FILE_BROWSER_PHOTO_IMPORT_SOURCE_ERROR" desc="In the Photo import, error message inidcating that photos cannot be read.">
        Cannot read the photos.
      </message>
      <message name="IDS_FILE_BROWSER_PHOTO_IMPORT_UNKNOWN_DATE" desc="In the Photo import, label of group for photos with unknown date.">
        Unknown date
      </message>
      <message name="IDS_FILE_BROWSER_PHOTO_IMPORT_NEW_ALBUM_NAME" desc="In the Photo import, default name for new album.">
        New Album
      </message>
      <message name="IDS_FILE_BROWSER_PHOTO_IMPORT_SELECT_ALBUM_CAPTION" desc="In the Photo import, caption of select album dialog.">
        Where to import this photo?
      </message>
      <message name="IDS_FILE_BROWSER_PHOTO_IMPORT_SELECT_ALBUM_CAPTION_PLURAL" desc="In the Photo import, caption of select album dialog (plural).">
        Where to import these $1 photos?
      </message>
      <message name="IDS_FILE_BROWSER_PHOTO_IMPORT_IMPORTING_ERROR" desc="In the Photo import, importing error message.">
        Cannot import. An error occured.
      </message>
      <message name="IDS_FILE_BROWSER_PHOTO_IMPORT_IMPORTING" desc="In the Photo import, text informing that import is running.">
        Importing to Drive...
      </message>
      <message name="IDS_FILE_BROWSER_PHOTO_IMPORT_IMPORT_COMPLETE" desc="In the Photo import, text informing that import is done.">
        Import complete
      </message>
      <message name="IDS_FILE_BROWSER_PHOTO_IMPORT_CAPTION" desc="In the Photo import, caption inside the dialog, with items 'All' and 'None' to select everything and nothing.">
        Select photos to import
      </message>
      <message name="IDS_FILE_BROWSER_PHOTO_IMPORT_ONE_SELECTED" desc="In the Photo import, message informing about one photo selected.">
        1 selected
      </message>
      <message name="IDS_FILE_BROWSER_PHOTO_IMPORT_MANY_SELECTED" desc="In the Photo import, message informing about multiple photos selected.">
        <ph name="COUNT">$1<ex>42</ex></ph> selected
      </message>
      <message name="IDS_FILE_BROWSER_PHOTO_IMPORT_SELECT_ALL" desc="In the Photo import, link to select all photos.">
        Select all
      </message>
      <message name="IDS_FILE_BROWSER_PHOTO_IMPORT_SELECT_NONE" desc="In the Photo import, link to select no photos.">
        Select none
      </message>
      <message name="IDS_FILE_BROWSER_PHOTO_IMPORT_DELETE_AFTER" desc="In the Photo import, label of checkbox to remove files after import is done.">
        Delete photos after import
      </message>
      <message name="IDS_FILE_BROWSER_PHOTO_IMPORT_MY_PHOTOS_DIRECTORY_NAME" desc="Directory name for storing photos.">
        My Photos
      </message>

      <message name="IDS_FILE_BROWSER_CONFIRM_OVERWRITE_FILE" desc="Asks the user if they are sure they want to overwrite an existing file with another one.">
        A file named "$1" already exists. Do you want to replace it?
      </message>
      <message name="IDS_FILE_BROWSER_FILE_ALREADY_EXISTS" desc="Error message displayed when user tries to create a file with an existing name.">
        The file named "$1" already exists. Please choose a different name.
      </message>
      <message name="IDS_FILE_BROWSER_DIRECTORY_ALREADY_EXISTS" desc="Error message displayed when user tries to create a directory with an existing name.">
        The folder named "$1" already exists. Please choose a different name.
      </message>
      <message name="IDS_FILE_BROWSER_ERROR_RENAMING" desc="Error message.">
        Unable to rename "<ph name="FILE_NAME">$1<ex>document.pdf</ex></ph>". <ph name="ERROR_MESSAGE">$2<ex>An error occurred (code: ABORT)</ex></ph>
      </message>
      <message name="IDS_FILE_BROWSER_RENAME_PROMPT" desc="Dialog Prompt.">
        Enter a new name
      </message>
      <message name="IDS_FILE_BROWSER_RENAME_BUTTON_LABEL" desc="Button Label.">
        Rename
      </message>

      <message name="IDS_FILE_BROWSER_ERROR_DELETING" desc="Error Message.">
        Unable to delete "<ph name="FILE_NAME">$1<ex>document.pdf</ex></ph>". <ph name="ERROR_MESSAGE">$2<ex>An error occurred (code: ABORT)</ex></ph>
      </message>
      <message name="IDS_FILE_BROWSER_DELETE_BUTTON_LABEL" desc="Button Label.">
        Delete
      </message>

      <message name="IDS_FILE_BROWSER_PASTE_BUTTON_LABEL" desc="Button Label.">
        Paste
      </message>
      <message name="IDS_FILE_BROWSER_COPY_BUTTON_LABEL" desc="Button Label.">
        Copy
      </message>
      <message name="IDS_FILE_BROWSER_CUT_BUTTON_LABEL" desc="Button Label.">
        Cut
      </message>
      <message name="IDS_FILE_BROWSER_OPEN_WITH_BUTTON_LABEL" desc="Menu item label, showing dialog to choose application to open selected files.">
        Open with...
      </message>
      <message name="IDS_FILE_BROWSER_ZIP_SELECTION_BUTTON_LABEL" desc="Menu item label, showing dialog to create zip file for selected files.">
        Zip selection
      </message>
      <message name="IDS_FILE_BROWSER_CREATE_FOLDER_SHORTCUT_BUTTON_LABEL" desc="Menu item label, creating a shortcut of the selected folder to the left nav.">
        Create shortcut
      </message>
      <message name="IDS_FILE_BROWSER_REMOVE_FOLDER_SHORTCUT_BUTTON_LABEL" desc="Menu item label, unpinning the selected folder from the left nav.">
        Remove shortcut
      </message>
      <message name="IDS_FILE_BROWSER_SHARE_BUTTON_LABEL" desc="Menu item label, showing dialog to share the selected file.">
        Share
      </message>

      <message name="IDS_FILE_BROWSER_TRANSFER_ITEMS_REMAINING" desc="File Manager status message. 'Item' is used here as a generic term for file or directory. 'Transferring' is used in the sense 'copying or moving files'.">
        Transferring $1 items.
      </message>
      <message name="IDS_FILE_BROWSER_TRANSFER_CANCELLED" desc="File Manager status message. 'Transferring' is used in the sense 'copying or moving files'.">
        Transfer cancelled.
      </message>
      <message name="IDS_FILE_BROWSER_TRANSFER_TARGET_EXISTS_ERROR" desc="File Manager error message. 'Item' is used here as a generic term for file or directory. 'Transferring' is used in the sense 'copying or moving files'.">
        Transfer failed, item exists: "$1"
      </message>
      <message name="IDS_FILE_BROWSER_TRANSFER_FILESYSTEM_ERROR" desc="File Manager error message. 'Transferring' is used in the sense 'copying or moving files'.">
        Transfer failed. <ph name="ERROR_MESSAGE">$1<ex>An error occurred (code: ABORT)</ex></ph>
      </message>
      <message name="IDS_FILE_BROWSER_TRANSFER_UNEXPECTED_ERROR" desc="File Manager error message. 'Transferring' is used in the sense 'copying or moving files'.">
        Transfer failed, unexpected error: $1
      </message>
      <message name="IDS_FILE_BROWSER_COPY_FILE_NAME" desc="File Manager status message.">
        Copying <ph name="FILE_NAME">$1<ex>movie.avi</ex></ph>
      </message>
      <message name="IDS_FILE_BROWSER_COPY_ITEMS_REMAINING" desc="File Manager status message. 'Item' is used here as a generic term for file or directory.">
        Copying $1 items.
      </message>
      <message name="IDS_FILE_BROWSER_COPY_CANCELLED" desc="File Manager status message.">
        Copy operation cancelled.
      </message>
      <message name="IDS_FILE_BROWSER_COPY_TARGET_EXISTS_ERROR" desc="File Manager error message. 'Item' is used here as a generic term for file or directory.">
        Copy operation failed, item exists: "$1"
      </message>
      <message name="IDS_FILE_BROWSER_COPY_FILESYSTEM_ERROR" desc="File Manager error message.">
        Copy operation failed. <ph name="ERROR_MESSAGE">$1<ex>An error occurred (code: ABORT)</ex></ph>
      </message>
      <message name="IDS_FILE_BROWSER_COPY_UNEXPECTED_ERROR" desc="File Manager error message.">
        Copy operation failed, unexpected error: $1
      </message>
      <message name="IDS_FILE_BROWSER_MOVE_FILE_NAME" desc="File Manager status message.">
        Moving <ph name="FILE_NAME">$1<ex>movie.avi</ex></ph>
      </message>
      <message name="IDS_FILE_BROWSER_MOVE_ITEMS_REMAINING" desc="File Manager status message. 'Item' is used here as a generic term for file or directory.">
        Moving $1 items.
      </message>
      <message name="IDS_FILE_BROWSER_MOVE_CANCELLED" desc="File Manager status message.">
        Move cancelled.
      </message>
      <message name="IDS_FILE_BROWSER_MOVE_TARGET_EXISTS_ERROR" desc="File Manager error message. 'Item' is used here as a generic term for file or directory.">
        Move failed, item exists: "$1"
      </message>
      <message name="IDS_FILE_BROWSER_MOVE_FILESYSTEM_ERROR" desc="File Manager error message.">
        Move failed. <ph name="ERROR_MESSAGE">$1<ex>An error occurred (code: ABORT)</ex></ph>
      </message>
      <message name="IDS_FILE_BROWSER_MOVE_UNEXPECTED_ERROR" desc="File Manager error message.">
        Move failed, unexpected error: $1
      </message>
      <message name="IDS_FILE_BROWSER_ZIP_FILE_NAME" desc="File Manager status message.">
        Zipping <ph name="FILE_NAME">$1<ex>movie.avi</ex></ph>
      </message>
      <message name="IDS_FILE_BROWSER_ZIP_ITEMS_REMAINING" desc="File Manager status message. 'Item' is used here as a generic term for file or directory.">
        Zipping $1 items.
      </message>
      <message name="IDS_FILE_BROWSER_ZIP_CANCELLED" desc="File Manager status message.">
        Zipping cancelled.
      </message>
      <message name="IDS_FILE_BROWSER_ZIP_TARGET_EXISTS_ERROR" desc="File Manager error message. 'Item' is used here as a generic term for file or directory.">
        Zipping failed, item exists: "$1"
      </message>
      <message name="IDS_FILE_BROWSER_ZIP_FILESYSTEM_ERROR" desc="File Manager error message.">
        Zipping failed. <ph name="ERROR_MESSAGE">$1<ex>An error occurred (code: ABORT)</ex></ph>
      </message>
      <message name="IDS_FILE_BROWSER_ZIP_UNEXPECTED_ERROR" desc="File Manager error message.">
        Zipping failed, unexpected error: $1
      </message>
      <message name="IDS_FILE_BROWSER_SHARE_ERROR" desc="File Manager error message when sharing a file or a directory on Drive fails because of internet connection problems.">
        Sharing failed. Check your connection and try again later.
      </message>
      <message name="IDS_FILE_BROWSER_DELETED_MESSAGE_PLURAL" desc="Message informing about deleting multiple items.">
        Deleted <ph name="COUNT">$1<ex>10</ex></ph> items
      </message>
      <message name="IDS_FILE_BROWSER_DELETED_MESSAGE" desc="Message informing about deleting single item.">
        Deleted "<ph name="FILENAME">$1<ex>photo.jpg</ex></ph>"
      </message>
      <message name="IDS_FILE_BROWSER_DELETE_ERROR" desc="Message informing about error while deleting an item or items.">
        An error occured. Some items may not have been deleted.
      </message>
      <message name="IDS_FILE_BROWSER_UNDO_DELETE" desc="Text on the button to undo the delete operation.">
        Undo
      </message>

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

      <message name="IDS_FILE_BROWSER_DEFAULT_NEW_FOLDER_NAME" desc="The default name for a newly created folder.">
        New Folder
      </message>
      <message name="IDS_FILE_BROWSER_MORE_FILES" desc="Link shown when there are more files available to display">
        Show all files
      </message>

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

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

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

      <message name="IDS_FILE_BROWSER_MANY_FILES_SELECTED" desc="Many files selected.">
        <ph name="SELCTED_FILE_COUNT">$1<ex>13</ex></ph> files selected
      </message>
      <message name="IDS_FILE_BROWSER_MANY_DIRECTORIES_SELECTED" desc="Many directories selected.">
        <ph name="SELCTED_FOLDERS_COUNT">$1<ex>2</ex></ph> folders selected
      </message>
      <message name="IDS_FILE_BROWSER_MANY_ENTRIES_SELECTED" desc="Many items (both files and directories) selected.">
        <ph name="SELCTED_FILES_COUNT">$1<ex>21</ex></ph> items selected
      </message>
      <message name="IDS_FILE_BROWSER_CALCULATING_SIZE" desc="Message informing the user that total items size is being calculated.">
        Calculating size
      </message>
      <message name="IDS_FILE_BROWSER_OFFLINE_HEADER" desc="Message informing the user that the browser is offline.">
        You are offline
      </message>
      <message name="IDS_FILE_BROWSER_OFFLINE_MESSAGE" desc="Message informing the user how to make the selected file available offline.">
        To save this file for offline use, get back online and&lt;br&gt;select the <ph name="OFFLINE_CHECKBOX_NAME">'$1'<ex>'Available offline'</ex></ph> checkbox for this file.
      </message>
      <message name="IDS_FILE_BROWSER_OFFLINE_MESSAGE_PLURAL" desc="Message informing the user how to make multiple selected files available offline.">
        To save these files for offline use, get back online and&lt;br&gt;select the <ph name="OFFLINE_CHECKBOX_NAME">'$1'<ex>'Available offline'</ex></ph> checkbox for these files.
      </message>
      <message name="IDS_FILE_BROWSER_HOSTED_OFFLINE_MESSAGE" desc="Message informing the user that the selected file is only available online.">
        You must be online to access this file.
      </message>
      <message name="IDS_FILE_BROWSER_HOSTED_OFFLINE_MESSAGE_PLURAL" desc="Message informing the user that the selected files are only available online.">
        You must be online to access these files.
      </message>
      <message name="IDS_FILE_BROWSER_CONFIRM_MOBILE_DATA_USE" desc="Message informing the user that opening the file from Google Drive will use mobile data.">
        Fetching this file will use approximately <ph name="FILE_SIZE">$1<ex>44 MB</ex></ph> of mobile data.
      </message>
      <message name="IDS_FILE_BROWSER_CONFIRM_MOBILE_DATA_USE_PLURAL" desc="Message informing the user that opening several files from Google Drive will use mobile data.">
        Fetching these files will use approximately <ph name="FILE_SIZE">$1<ex>44 MB</ex></ph> of mobile data.
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_MOBILE_CONNECTION_OPTION" desc="Option that determines if we will allow Google Drive content sync over mobile connections.">
        Do not use mobile data for sync
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_SHOW_HOSTED_FILES_OPTION" desc="Option that determines if we will show hosted Google Docs files in file browser.">
        Show Google Docs files
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_CLEAR_LOCAL_CACHE" desc="In the Google Drive settings menu, menu item to clear the local cache of Google Drive">
        Clean local cache
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_MENU_HELP" desc="In the Google Drive settings menu, name of the Help item.">
        Help
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_BUY_MORE_SPACE" desc="Menu item, offering user to buy more space on Google Drive">
        Buy more storage...
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_VISIT_DRIVE_GOOGLE_COM" desc="Menu item, redirecting user to drive.google.com">
        Go to drive.google.com...
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_SPACE_AVAILABLE_LONG" desc="Text showing space left on Google Drive">
        Google Drive space left: <ph name="SPACE_AVAILABLE">$1<ex>400 MB</ex></ph>.
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_BUY_MORE_SPACE_LINK" desc="Text on the link, offering user to buy more space on Google Drive">
        Buy more storage
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_OUT_OF_SPACE_HEADER" desc="Message informing the user that there is not enough space to make the selected file(s) available offline.">
        You have run out of space
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_SERVER_OUT_OF_SPACE_HEADER" desc="Message informing the user that there is not enough space on server side to store a new file.">
        You have run out of space in Google Drive
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_LOADING" desc="Message informing the user that we are loading content of Google Drive.">
        Hang with us. We’re fetching your files.
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_CANNOT_REACH" desc="Message informing the user that Google Drive can not be reached at this moment.">
        Google Drive cannot be reached at this time.
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_LEARN_MORE" desc="In the Loading Google Drive page and in the Welcome to Google Drive banner, a text on the Learn More link.">
        Learn more
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_RETRY" desc="Button label for Google Drive content load retry.">
        Retry
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_OUT_OF_SPACE_MESSAGE" desc="Message informing the user how to make more space available to save the selected file offline.">
        To save "<ph name="FILE_NAME">$1<ex>document.pdf</ex></ph>" offline you must free up an additional <ph name="TOTAL_FILE_SIZE">$2<ex>3.3 MB</ex></ph> of space:<ph name="MARKUP_1">&lt;br&gt;<ex>&lt;br&gt;</ex></ph>
        <ph name="MARKUP_2">&lt;ul&gt;&lt;li&gt;<ex>&lt;ul&gt;&lt;li&gt;</ex></ph>unpin files that you no longer need to access offline<ph name="MARKUP_3">&lt;/li&gt;<ex>>&lt;/li&gt;</ex></ph>
        <ph name="MARKUP_4">&lt;li&gt;<ex>&lt;li&gt;</ex></ph>delete files from your Downloads folder<ph name="MARKUP_5">&lt;/li&gt;&lt;/ul&gt;<ex>&lt;/li&gt;&lt;/ul&gt;</ex></ph>
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_SERVER_OUT_OF_SPACE_MESSAGE" desc="Message informing the user how to make more space available on Google Drive server side.">
        You do not have enough space in Google Drive to save "<ph name="FILE_NAME">$1<ex>document.pdf</ex></ph>". Please remove files or <ph name="BEGIN_LINK">&lt;a target='_blank' href='$2'&gt;</ph>buy more storage space<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>.
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_NOT_REACHED" desc="Message informing that Drive is unreachable and encuraging user to log out from the device and log back in.">
        Google Drive could not be reached. Please <ph name="BEGIN_LINK">&lt;a href="javascript://"&gt;<ex>&lt;a href="javascript://"&gt;</ex></ph>log out<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph> and log back in.
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_WELCOME_TITLE" desc="In the Welcome to Google Drive banner, title of banner.">
        Welcome to Google Drive!
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_WELCOME_TITLE_ALTERNATIVE" desc="In the Welcome to Google Drive banner, title of the alternative banner offering 100GB free storage.">
        Get 100 GB free with Google Drive
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_WELCOME_TITLE_ALTERNATIVE_1TB" desc="In the Welcome to Google Drive banner, title of the alternative banner offering 1TB free storage.">
        Get 1 TB free with Google Drive
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_WELCOME_TEXT_SHORT" desc="In the Welcome to Google Drive banner, text of the welcome message, short version.">
        All files saved in this folder are backed up online automatically
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_WELCOME_TEXT_LONG" desc="In the Welcome to Google Drive banner, text of the welcome message, long version.">
        <ph name="MARKUP_1">&lt;p&gt;&lt;strong&gt;<ex>&lt;strong&gt;</ex></ph>Access files from everywhere, even offline.<ph name="MARKUP_2">&lt;/strong&gt;<ex>&lt;/strong&gt;</ex></ph>
        Files in Google Drive are up-to-date and available from any device.<ph name="MARKUP_3">&lt;/p&gt;<ex>&lt;/p&gt;</ex></ph>
        <ph name="MARKUP_4">&lt;p&gt;&lt;strong&gt;<ex>&lt;strong&gt;</ex></ph>Keep your files safe.<ph name="MARKUP_5">&lt;/strong&gt;<ex>&lt;/strong&gt;</ex></ph>
        No matter what happens to your device, your files are safely stored in Google Drive.<ph name="MARKUP_6">&lt;/p&gt;<ex>&lt;/p&gt;</ex></ph>
        <ph name="MARKUP_7">&lt;p&gt;&lt;strong&gt;<ex>&lt;strong&gt;</ex></ph>Share, create and collaborate<ph name="MARKUP_8">&lt;/strong&gt;<ex>&lt;/strong&gt;</ex></ph>
        on files with others all in one place.<ph name="MARKUP_9">&lt;/p&gt;<ex>&lt;/p&gt;</ex></ph>
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_WELCOME_CHECK_ELIGIBILITY" desc="In the Welcome to Google Drive banner, a text on the button to check promo eligibility.">
        Check eligibility
      </message>
      <message name="IDS_FILE_BROWSER_DRIVE_WELCOME_DISMISS" desc="In the Welcome to Google Drive banner, a text on the button to dismiss the banner.">
        Dismiss
      </message>
      <message name="IDS_FILE_BROWSER_NO_ACTION_FOR_FILE" desc="Message shown when user tries to open file, which we can't handle.">
        This file type is not supported. Please visit the <ph name="BEGIN_LINK">&lt;a target='_blank' href='$1'&gt;<ex>&lt;a target='_blank' href='$1'&gt;</ex></ph>Chrome Web Store<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph> to find an app that can open this type of file.
        <ph name="BEGIN_LINK_HELP">&lt;a target='_blank' href='$2'&gt;<ex>&lt;a target='_blank' href='$2'&gt;</ex></ph>Learn More<ph name="END_LINK_HELP">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>
      </message>
      <message name="IDS_FILE_BROWSER_NO_ACTION_FOR_EXECUTABLE" desc="Message shown when user tries to open a windows executable file, which we can't handle.">
        This file type is not supported. Please visit the <ph name="BEGIN_LINK">&lt;a target='_blank' href='$1'&gt;<ex>&lt;a target='_blank' href='$1'&gt;</ex></ph>Chrome Web Store<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph> to find a similar app.
        <ph name="BEGIN_LINK_HELP">&lt;a target='_blank' href='$2'&gt;<ex>&lt;a target='_blank' href='$2'&gt;</ex></ph>Learn More<ph name="END_LINK_HELP">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>
      </message>
      <message name="IDS_FILE_BROWSER_ID3_ALBUM" desc="Album">
        Album
      </message>
      <message name="IDS_FILE_BROWSER_ID3_BPM" desc="BPM ">
        BPM
      </message>
      <message name="IDS_FILE_BROWSER_ID3_COMPOSER" desc="Composer">
        Composer
      </message>
      <message name="IDS_FILE_BROWSER_ID3_COPYRIGHT_MESSAGE" desc="Copyright message">
        Copyright message
      </message>
      <message name="IDS_FILE_BROWSER_ID3_DATE" desc="Date">
        Date
      </message>
      <message name="IDS_FILE_BROWSER_ID3_PLAYLIST_DELAY" desc="Playlist delay">
        Playlist delay
      </message>
      <message name="IDS_FILE_BROWSER_ID3_ENCODED_BY" desc="Encoded by">
        Encoded by
      </message>
      <message name="IDS_FILE_BROWSER_ID3_LYRICIST" desc="Lyricist">
        Lyricist
      </message>
      <message name="IDS_FILE_BROWSER_ID3_FILE_TYPE" desc="File type">
        File type
      </message>
      <message name="IDS_FILE_BROWSER_ID3_TIME" desc="Time">
        Time
      </message>
      <message name="IDS_FILE_BROWSER_ID3_TITLE" desc="Title">
        Title
      </message>
      <message name="IDS_FILE_BROWSER_ID3_LENGTH" desc="Length">
        Length
      </message>
      <message name="IDS_FILE_BROWSER_ID3_FILE_OWNER" desc="File owner">
        File owner
      </message>
      <message name="IDS_FILE_BROWSER_ID3_LEAD_PERFORMER" desc="Artist">
        Artist
      </message>
      <message name="IDS_FILE_BROWSER_ID3_BAND" desc="Band">
        Band
      </message>
      <message name="IDS_FILE_BROWSER_ID3_TRACK_NUMBER" desc="Track number">
        Track number
      </message>
      <message name="IDS_FILE_BROWSER_ID3_YEAR" desc="Year">
        Year
      </message>
      <message name="IDS_FILE_BROWSER_ID3_COPYRIGHT" desc="Copyright">
        Copyright
      </message>
      <message name="IDS_FILE_BROWSER_ID3_OFFICIAL_AUDIO_FILE_WEBPAGE" desc="Official audio file webpage">
        Official audio file webpage
      </message>
      <message name="IDS_FILE_BROWSER_ID3_OFFICIAL_ARTIST" desc="Official artist">
        Official artist
      </message>
      <message name="IDS_FILE_BROWSER_ID3_OFFICIAL_AUDIO_SOURCE_WEBPAGE" desc="Official audio source webpage">
        Official audio source webpage
      </message>
      <message name="IDS_FILE_BROWSER_ID3_PUBLISHERS_OFFICIAL_WEBPAGE" desc="Publishers official webpage">
        Publishers official webpage
      </message>
      <message name="IDS_FILE_BROWSER_ID3_USER_DEFINED_URL_LINK_FRAME" desc="User defined URL link frame">
        User defined URL link frame
      </message>

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

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

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

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

      <message name="IDS_FILE_BROWSER_SEARCH_DRIVE_HTML" desc="In the File Manager, the item in the autocomplete suggestion item just under the search box, to continue searching in the list.">
        '&lt;b&gt;<ph name="SEARCH_STRING">$1<ex>abc</ex></ph>&lt;/b&gt;' - &lt;em&gt;search Drive&lt;/em&gt;
      </message>
      <message name="IDS_FILE_BROWSER_SEARCH_NO_MATCHING_FILES_HTML" desc="In the File Manager, the message informing the user that the search did not match any files or directories.">
        No items match &lt;b&gt;"<ph name="SEARCH_STRING">$1<ex>abc</ex></ph>"&lt;/b&gt;
      </message>
      <message name="IDS_FILE_BROWSER_SEARCH_EXPAND" desc="In the File Manager, the text on the link to expand search when no matching files were found.">
        Search all <ph name="DRIVE_NAME">$1<ex>Downloads</ex></ph>
      </message>
      <message name="IDS_FILE_BROWSER_SEARCH_SPINNER" desc="In the File Manager, the text is shown near the spinner while waiting for the results of a search.">
        Searching...
      </message>

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

      <message name="IDS_FILE_BROWSER_DETAIL_VIEW_TOOLTIP" desc="Tooltip for the List View button.">
        List view
      </message>
      <message name="IDS_FILE_BROWSER_THUMBNAIL_VIEW_TOOLTIP" desc="Tooltip for the Thumbnail View button.">
        Thumbnail view
      </message>
      <message name="IDS_FILE_BROWSER_GEAR_BUTTON_TOOLTIP" desc="Tooltip for the gear button in Files.app.">
        Settings
      </message>

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

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

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

      <message name="IDS_FILE_BROWSER_HELP_LINK_LABEL" desc="Label for a link to help pages in a general context menu in file browser.">
        Help
      </message>

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

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

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

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

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

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

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

      <!-- Sync strings -->

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      <!-- Desktop notifications -->
      <message name="IDS_NOTIFICATION_BALLOON_DISMISS_LABEL" desc="Text on the button which dismisses the balloon.">
        Dismiss
      </message>
      <message name="IDS_NOTIFICATION_BALLOON_SOURCE_LABEL" desc="Text which labels the balloon with the source origin.">
        <ph name="SOURCE_ORIGIN">$1</ph>
      </message>
      <message name="IDS_NOTIFICATION_PERMISSIONS" desc="Text requesting permission for desktop notifications.">
        Allow <ph name="site">$1<ex>mail.google.com</ex></ph> to show desktop notifications?
      </message>
      <message name="IDS_NOTIFICATION_PERMISSION_YES" desc="The label of the 'allow' button on the notification permission infobar.">
        Allow
      </message>
      <message name="IDS_NOTIFICATION_PERMISSION_NO" desc="The label of the 'deny' button on the notification permission infobar.">
        Deny
      </message>
      <message name="IDS_NOTIFICATION_OPTIONS_MENU_LABEL" desc="Text for the menu option">
        Options
      </message>
      <message name="IDS_NOTIFICATION_BALLOON_REVOKE_MESSAGE" desc="Text for the menu option to revoke notification permission.">
        Disable notifications from <ph name="site">$1<ex>mail.google.com</ex></ph>
      </message>
      <message name="IDS_NOTIFICATION_BALLOON_ENABLE_MESSAGE" desc="Text for the menu option to enable notification permission.">
        Enable notifications from <ph name="site">$1<ex>mail.google.com</ex></ph>
      </message>
      <message name="IDS_NOTIFICATION_CHOOSE_POSITION" desc="Menu label for position choice submenu.">
        Choose position
      </message>
      <message name="IDS_NOTIFICATION_POSITION_DEFAULT" desc="Menu label for positioning in default location">
        Use default
      </message>
      <message name="IDS_NOTIFICATION_POSITION_LOWER_LEFT" desc="Menu label for positioning in lower left corner">
        Lower left
      </message>
      <message name="IDS_NOTIFICATION_POSITION_LOWER_RIGHT" desc="Menu label for positioning in lower right corner">
        Lower right
      </message>
      <message name="IDS_NOTIFICATION_POSITION_UPPER_LEFT" desc="Menu label for positioning in upper left corner">
        Upper left
      </message>
      <message name="IDS_NOTIFICATION_POSITION_UPPER_RIGHT" desc="Menu label for positioning in upper right corner">
        Upper right
      </message>

      <!-- 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">
        <!-- 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_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_COPY_URL_MAC" desc="The Mac menu item for copy url in the context menu.">
          Copy URL
        </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>
        <!-- Edit::Find submenu -->
        <message name="IDS_EDIT_FIND_SUBMENU_MAC" desc="The Mac menu item for the find submenu in the edit menu.">
          Find
        </message>
        <message name="IDS_EDIT_SEARCH_WEB_MAC" desc="The Mac menu item for search the web (using, e.g., Google or Yahoo! search) in the edit menu.">
          Search the Web...
        </message>
        <message name="IDS_EDIT_FIND_MAC" desc="The Mac menu item for find in the edit menu.">
          Find...
        </message>
        <message name="IDS_EDIT_FIND_NEXT_MAC" desc="The Mac menu item for find next in the edit menu.">
          Find Next
        </message>
        <message name="IDS_EDIT_FIND_PREVIOUS_MAC" desc="The Mac menu item for find previous in the edit menu.">
          Find Previous
        </message>
        <message name="IDS_EDIT_USE_SELECTION_MAC" desc="The Mac menu item for use selection for find in the edit menu.">
          Use Selection for Find
        </message>
        <message name="IDS_EDIT_JUMP_TO_SELECTION_MAC" desc="The Mac menu item for jump to selection in the edit menu.">
          Jump to Selection
        </message>
        <!-- Edit::Spelling and Grammar submenu -->
        <message name="IDS_EDIT_SPELLING_GRAMMAR_MAC" desc="The Mac menu item for spelling and grammar submenu in the edit menu.">
          Spelling and Grammar
        </message>
        <message name="IDS_EDIT_SHOW_SPELLING_GRAMMAR_MAC" desc="The Mac menu item for show spelling and grammar in the edit menu.">
          Show Spelling and Grammar
        </message>
        <message name="IDS_EDIT_CHECK_DOCUMENT_MAC" desc="The Mac menu item for check document in the edit menu.">
          Check Document Now
        </message>
        <message name="IDS_EDIT_CHECK_SPELLING_TYPING_MAC" desc="The Mac menu item for check spelling while typing in the edit menu.">
          Check Spelling While Typing
        </message>
        <message name="IDS_EDIT_CHECK_GRAMMAR_MAC" desc="The Mac menu item for check grammar with spelling in the edit menu.">
          Check Grammar With Spelling
        </message>
        <!-- Edit::Speech submenu -->
        <message name="IDS_SPEECH_MAC" desc="The Mac menu item for the 'Speech' submenu in the edit and context menu. To translate, launch /Applications/TextEdit.app in an appropriately localized version of OS X, open the Edit menu and use the translation from there.">
          Speech
        </message>
        <message name="IDS_SPEECH_START_SPEAKING_MAC" desc="The Mac menu item for the 'Start Speaking' item from the 'Speech' submenu in edit and context menu. To translate, launch /Applications/TextEdit.app in an appropriately localized version of OS X, open the Edit menu and use the translation from there.">
          Start Speaking
        </message>
        <message name="IDS_SPEECH_STOP_SPEAKING_MAC" desc="The Mac menu item for the 'Stop Speaking' item from the 'Speech' submenu in edit and context menu. To translate, launch /Applications/TextEdit.app in an appropriately localized version of OS X, open the Edit menu and use the translation from there.">
          Stop Speaking
        </message>
        <!-- View menu -->
        <message name="IDS_BOOKMARK_BAR_ALWAYS_SHOW_MAC" desc="The Mac menu item for having bookmark bar always visible in the view menu.">
          Always Show Bookmarks Bar
        </message>
        <message name="IDS_STOP_MENU_MAC" desc="The Mac menu item stop in the view menu.">
          Stop
        </message>
        <message name="IDS_RELOAD_MENU_MAC" desc="The Mac menu item to reload the current page in the view menu.">
          Reload This Page
        </message>
        <message name="IDS_RELOAD_IGNORING_CACHE_MENU_MAC" desc="The Mac menu item to force reload the current page (ignoring cache) in the view menu.">
          Force Reload This Page
        </message>
        <message name="IDS_ENTER_FULLSCREEN_MAC" desc="The Mac menu item to go into fullscreen mode in the view menu and also in the app menu.">
          Enter Full Screen
        </message>
        <message name="IDS_EXIT_FULLSCREEN_MAC" desc="The Mac menu item to leave fullscreen mode in the view menu and also in the app menu.">
          Exit Full Screen
        </message>
        <message name="IDS_ENTER_PRESENTATION_MAC" desc="The Mac menu item to go into presentation mode in the view menu.">
          Enter Presentation Mode
        </message>
        <message name="IDS_EXIT_PRESENTATION_MAC" desc="The Mac menu item to leave presentation mode in the view menu.">
          Exit Presentation Mode
        </message>
        <message name="IDS_TEXT_BIGGER_MAC" desc="The Mac menu item to zoom in on the page in the view menu.">
          Zoom In
        </message>
        <message name="IDS_TEXT_DEFAULT_MAC" desc="The Mac menu item to make the page actual size in the view menu.">
          Actual Size
        </message>
        <message name="IDS_TEXT_SMALLER_MAC" desc="The Mac menu item to zoom out on the in the view menu.">
          Zoom Out
        </message>
        <message name="IDS_DEVELOPER_MENU_MAC" desc="The Mac menu item for the developer submenu in the view menu.">
          Developer
        </message>
        <!-- View->Developer menu -->
        <message name="IDS_VIEW_SOURCE_MAC" desc="The Mac menu item for view page source in the developer submenu of the view menu.">
          View Source
        </message>
        <message name="IDS_DEV_TOOLS_MAC" desc="The Mac menu item for the developer tools in the developer submenu of the view menu.">
          Developer Tools
        </message>
        <message name="IDS_DEV_TOOLS_CONSOLE_MAC" desc="The Mac menu item for the JavaScript console in the developer submenu of the view menu.">
          JavaScript Console
        </message>
        <message name="IDS_TASK_MANAGER_MAC" desc="The Mac menu item for task manager in the developer submenu of the view menu.">
          Task Manager
        </message>
        <!-- History menu -->
        <message name="IDS_HISTORY_HOME_MAC" desc="The Mac menu item for home in the history menu.">
          Home
        </message>
        <message name="IDS_HISTORY_BACK_MAC" desc="The Mac menu item for back in the history menu.">
          Back
        </message>
        <message name="IDS_HISTORY_FORWARD_MAC" desc="The Mac menu item for forward in the history menu.">
          Forward
        </message>
        <message name="IDS_HISTORY_VISITED_MAC" desc="The Mac menu item for the header of visited items in the history menu.">
          Recently Visited
        </message>
        <message name="IDS_HISTORY_CLOSED_MAC" desc="The Mac menu item for the header of recently closed items in the history menu.">
          Recently Closed
        </message>
        <message name="IDS_HISTORY_CLOSED_RESTORE_WINDOW_MAC" desc="The Mac menu item for restoring all the tabs of a recently closed window.">
          Restore All Tabs
        </message>
        <!-- Bookmarks menu -->
        <message name="IDS_BOOKMARK_ALL_TABS_MAC" desc="The Mac menu item for bookmarking all tabs in the current window.">
          Bookmark All Tabs...
        </message>
        <!-- Window menu -->
        <message name="IDS_MINIMIZE_WINDOW_MAC"
                 desc="The Mac menu item for minimize the window menu."
                 meaning="Mac Menubar: The Mac menu item for minimize the window menu.">
          Minimize
        </message>
        <message name="IDS_ZOOM_WINDOW_MAC"
                 desc="The Mac menu item for zoom (maximize) in the window menu."
                 meaning="Mac Menubar: The Mac menu item for zoom (maximize) in the window menu.">
          Zoom
        </message>
        <message name="IDS_NEXT_TAB_MAC" desc="The Mac menu item for next tab in the window menu.">
          Select Next Tab
        </message>
        <message name="IDS_PREV_TAB_MAC" desc="The Mac menu item for previous tab in the window menu.">
          Select Previous Tab
        </message>
        <message name="IDS_SHOW_TABPOSE_MAC" desc="The Mac menu item for showing a tab overview. This item is in the window menu.">
          Show Tab Overview...
        </message>
        <message name="IDS_SHOW_DOWNLOADS_MAC" desc="The Mac menu item to show downloads in the window menu.">
          Downloads
        </message>
        <message name="IDS_SHOW_EXTENSIONS_MAC" desc="The Mac menu item to show extensions in the window menu.">
          Extensions
        </message>
        <message name="IDS_ALL_WINDOWS_FRONT_MAC" desc="The Mac menu item for bring all to front the window menu.">
          Bring All to Front
        </message>
        <!-- Help menu -->
        <message name="IDS_FEEDBACK_MAC" desc="The Mac menu item to report a bug in the Help menu.">
          Report an Issue...
        </message>
        <message name="IDS_HELP_MAC" desc="The Mac menu item to show help in the Help menu.">
          <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> Help
        </message>
      </if> <!-- is_macosx -->

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

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

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

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

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

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

      </if>

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

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

    <!-- Web MIDI messages -->
    <message name="IDS_MIDI_SYSEX_TAB_LABEL" desc="Label for MIDI system exclusive message on Content Settings dialog">
      MIDI full control
    </message>
    <message name="IDS_MIDI_SYSEX_ALLOW_RADIO" desc="A radio button in Content Settings dialog to allow a site to access MIDI devices with system exclusive messages.">
      Allow all sites to use system exclusive messages to access MIDI devices
    </message>
    <message name="IDS_MIDI_SYSEX_BLOCK_RADIO" desc="A radio button in Content Settings dialog to deny a site to access MIDI devices with system exclusive messages.">
      Do not allow any sites to use system exclusive messages to access MIDI devices
    </message>
    <message name="IDS_MIDI_SYSEX_ASK_RADIO" desc="A radio button in Content Settings dialog to allow a site to query the permision to access MIDI devices with system exclusive messages.">
      Ask me when a site wants to use system exclusive messages to access MIDI devices (recommended)
    </message>

    <!-- Web MIDI messages -->
    <message name="IDS_MIDI_SYSEX_INFOBAR_QUESTION" desc="Question asked on the info bar whenever URL wants to access MIDI devices with system exclusive messages.">
      <ph name="URL">
        $1<ex>www.google.com</ex>
      </ph> wants to get full control of your MIDI devices.
    </message>
    <message name="IDS_MIDI_SYSEX_ALLOW_BUTTON" desc="A button in MIDI access infobar for allowing full access to MIDI devices for a given domain.">
      Allow
    </message>
    <message name="IDS_MIDI_SYSEX_DENY_BUTTON" desc="A button in MIDI access infobar for denying full access to MIDI devices for a given domain.">
      Deny
    </message>

    <message name="IDS_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>

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

    <!-- ProcessSingleton -->
    <message name="IDS_PROFILE_IN_USE_LINUX" desc="Message shown when the browser cannot start because the profile is in use on a different host.">
      The profile appears to be in use by process <ph name="PROCESS_ID">$1<ex>12345</ex></ph> on host <ph name="HOST_NAME">$2<ex>example.com</ex></ph>.  If you are sure no other processes are using this profile, delete the file <ph name="LOCK_FILE">$3<ex>/home/user/.config/google-chrome/SingletonLock</ex></ph> and relaunch <ph name="PRODUCT_NAME">$4<ex>Google Chrome</ex></ph>.
    </message>

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

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

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

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

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

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

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

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

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

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

    <!-- Strings for the new-style OAuth-based enterprise enrollment page -->
    <if expr="pp_ifdef('chromeos')">
      <message name="IDS_ENTERPRISE_DEVICE_REQUISITION_PROMPT_CANCEL" desc="Cancel button text in the device requisition poup.">
        Cancel
      </message>
      <message name="IDS_ENTERPRISE_DEVICE_REQUISITION_PROMPT_OK" desc="OK button text in the device requisition poup.">
        Set Requisition
      </message>
      <message name="IDS_ENTERPRISE_DEVICE_REQUISITION_PROMPT_TEXT" desc="Prompt shown in the device requisition prompt popup.">
        Use this device requisition when enrolling the device for enterprise management:
      </message>

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

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

        Contact your system administrator for more information.

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

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

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

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

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

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

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

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

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

    <!-- Create Profile Dialog -->
    <message name="IDS_PROFILES_CREATE_TITLE" desc="Title of the create profile dialog">
      Create user
    </message>
    <message name="IDS_PROFILES_CREATE_INSTRUCTIONS" desc="Instructions for the create profile dialog">
      Choose a picture and name
    </message>
    <message name="IDS_PROFILES_CREATE_CONFIRM" desc="Create button confirmation">
      Create
    </message>
    <message name="IDS_PROFILES_CREATE_LOCAL_ERROR" desc="Message shown when a local error (for example, a disk error) occurs during profile creation.">
      Oops! The new user couldn't be created. Please check your hard drive space and permissions and try again.
    </message>
    <message name="IDS_PROFILES_CREATE_REMOTE_ERROR" desc="Message shown when a remote error (for example, a network error) occurs during creation of a new supervised user.">
      Oops! The new supervised user couldn't be created. Please check your network connection and try again later.
    </message>
    <message name="IDS_PROFILES_CREATE_MANAGED_SIGNED_IN_LABEL" desc="Label for the 'Supervised user' checkbox in the create-profile dialog when the current user is signed in. This will be followed by a 'Learn more' link.">
      This is a supervised user managed by <ph name="CUSTODIAN_EMAIL">$1<ex>user@gmail.com</ex>.</ph>
    </message>
    <message name="IDS_PROFILES_CREATE_MANAGED_NOT_SIGNED_IN_LABEL" desc="Label for the (disabled) 'Supervised user' checkbox in the create-profile dialog when the current user is not signed in. This will be followed by a 'Sign in now' link.">
      This is a supervised user who will be managed by you.
You need to be signed in to use this feature.
    </message>
    <message name="IDS_PROFILES_CREATE_MANAGED_NOT_SIGNED_IN_LINK" desc="Text for the sign-in promo link, shown after the (disabled) 'Supervised user' checkbox in the create-profile dialog when the current user is not signed in.">
      Sign in now
    </message>
    <message name="IDS_PROFILES_CREATE_MANAGED_FROM_EXISTING_LABEL" desc="Label for the 'Select an exisiting managed user' checkbox. During managed user creation a custodian will have an option to select an existing managed profile rather creating a new one.">
      Select an existing managed user: 
    </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>

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

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

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

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

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

    <if expr="not is_android and not pp_ifdef('ios') and not pp_ifdef('chromeos')">
      <!-- User chooser web UI -->
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_ADD_USER_BUTTON" desc="Text shown on an add user button on login/locker screen">
          Add User
        </message>
        <message name="IDS_SCREEN_LOCK_SIGN_OUT">
          Sign Out
        </message>
        <message name="IDS_LOGIN_BUTTON">
          Sign In
        </message>
        <message name="IDS_LOGIN_POD_USER_REMOVE_WARNING_BUTTON" desc="Login screen user pod menu item text.">
          Remove This User
        </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_ADD_USER_BUTTON" desc="Text shown on an add user button on login/locker screen">
          Add user
        </message>
        <message name="IDS_SCREEN_LOCK_SIGN_OUT">
          Sign out
        </message>
        <message name="IDS_LOGIN_BUTTON">
          Sign in
        </message>
        <message name="IDS_LOGIN_POD_USER_REMOVE_WARNING_BUTTON" desc="Login screen user pod menu item text.">
          Remove this user
        </message>
      </if>
      <message name="IDS_GO_INCOGNITO_BUTTON" desc="Text shown on Chrome OS login screen button that launches guest session. Should be short.">
        Browse as Guest
      </message>
      <message name="IDS_SCREEN_LOCK_ACTIVE_USER">
        Currently signed in
      </message>
      <message name="IDS_LOGIN_POD_EMPTY_PASSWORD_TEXT" desc="Text to display in the password field for user pod when no password has been entered.">
        Enter password
      </message>
      <message name="IDS_LOGIN_POD_PASSWORD_FIELD_ACCESSIBLE_NAME" desc="Text to be spoken when the focus is set to the password field of a user pod on the login screen.">
        Password for <ph name="USER_EMAIL_ADDRESS">$1<ex>john.doe@example.com</ex></ph>
      </message>
      <message name="IDS_LOGIN_POD_MENU_BUTTON_ACCESSIBLE_NAME" desc="Text to be spoken when the focus is set to the menu button of the user pod on the login screen.">
        Options menu for <ph name="USER_EMAIL_ADDRESS">$1<ex>john.doe@example.com</ex></ph>
      </message>
      <message name="IDS_LOGIN_POD_MENU_REMOVE_ITEM_ACCESSIBLE_NAME" desc="Text to be spoken when 'Remove user' item is selected on the pod menu.">
        Remove this user
      </message>
      <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>

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

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

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

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

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

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

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

    <!-- 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 service feedback. -->
    <message name="IDS_FLAGS_ENABLE_SPELLING_SERVICE_FEEDBACK_NAME" desc="Name of about:flags option to turn on sending feedback to spelling service.">
      Spelling Service Feedback.
    </message>
    <message name="IDS_FLAGS_ENABLE_SPELLING_SERVICE_FEEDBACK_DESCRIPTION" desc="Description of about:flags option to turn on sending feedback to spelling service.">
      Send user feedback to spelling service. For example, if spelling service marks a misspelled word, but the user adds it to the custom dictionary, then Chrome will send a feedback message to spelling service. Spelling service uses this feedback to improve spelling suggestions.
    </message>

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

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

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

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

    <!-- App List. -->
    <message name="IDS_APP_LIST_CONTACT_CHAT_TOOLTIP" desc="Tooltip text for the 'chat' icon displayed next to a contact search result.">
      Chat
    </message>
    <message name="IDS_APP_LIST_CONTACT_EMAIL_TOOLTIP" desc="Tooltip text for the 'email' icon displayed next to a contact search result.">
      Send email
    </message>
    <message name="IDS_APP_LIST_CONTACT_PHONE_TOOLTIP" desc="Tooltip text for the 'phone' icon displayed next to a contact search result.">
      Call phone
    </message>
    <message name="IDS_APP_LIST_CONTACT_VIDEO_TOOLTIP" desc="Tooltip text for the 'video' icon displayed next to a contact search result.">
      Start Hangout
    </message>
    <message name="IDS_APP_LIST_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 Launcher
    </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 Launcher
    </message>
    <message name="IDS_APP_LIST_UNINSTALL_ITEM" desc="Title text for the 'uninstall' context menu item of an app list item.">
      Uninstall
    </message>
    <message name="IDS_SEARCH_BOX_HINT" desc="Hint text for the search box in app list window.">
      Search
    </message>
    <message name="IDS_APP_LIST_SIGNIN_BUTTON" desc="App launcher signin button text.">
      Sign in
    </message>
    <message name="IDS_APP_LIST_SIGNIN_LEARN_MORE_TEXT" desc="App launcher signin learn more link text.">
      Learn more
    </message>
    <message name="IDS_APP_LIST_SIGNIN_LEARN_MORE_LINK" desc="App launcher signin learn more URL.">
      https://support.google.com/chrome/bin/answer.py?hl=[GRITLANGCODE]&amp;answer=165139&amp;p=settings_sign_in
    </message>
    <message name="IDS_APP_LIST_SIGNIN_SETTINGS_TEXT" desc="App launcher signin settings link text.">
      App Launcher Settings
    </message>
    <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>

    <!-- chrome://diagnostics strings -->
    <if expr="pp_ifdef('chromeos')">
      <message name="IDS_DIAGNOSTICS_DIAGNOSTICS_TITLE" desc="Title for the diagnostics page.">
        Diagnostics
      </message>
      <message name="IDS_DIAGNOSTICS_CONNECTIVITY_TITLE" desc="Title for the connectivity tab.">
        Connectivity
      </message>
      <message name="IDS_DIAGNOSTICS_REFRESH" desc="Title for the refresh button.">
        Run again
      </message>
      <message name="IDS_DIAGNOSTICS_LOADING" desc="Shown while loading the diagnostics page.">
        Loading...
      </message>
      <message name="IDS_DIAGNOSTICS_CHOOSE_ADAPTER" desc="Prompts to choose the network adapter to be tested.">
        Choose the adapter you would like to use to connect to the internet...
      </message>
      <message name="IDS_DIAGNOSTICS_ADAPTER_WLAN0" desc="Adapter name for wlan0 interface.">
        Wi-Fi
      </message>
      <message name="IDS_DIAGNOSTICS_ADAPTER_ETH0" desc="Adapter name for eth0 interface.">
        Ethernet 1
      </message>
      <message name="IDS_DIAGNOSTICS_ADAPTER_ETH1" desc="Adapter name for eth1 interface.">
        Ethernet 2
      </message>
      <message name="IDS_DIAGNOSTICS_ADAPTER_WWAN0" desc="Adapter name for wwan0 interface.">
        3G
      </message>
      <message name="IDS_DIAGNOSTICS_TESTING_HARDWARE" desc="Indicates testing network hardware.">
        <ph name="BEGIN_BOLD">&lt;b&gt;</ph>1. <ph name="END_BOLD">&lt;/b&gt;</ph>Testing <ph name="ADAPTER_NAME">$1<ex>Wi-Fi</ex></ph> hardware
      </message>
      <message name="IDS_DIAGNOSTICS_TESTING_CONNECTION_TO_ROUTER" desc="Indicates testing connection to router.">
        <ph name="BEGIN_BOLD">&lt;b&gt;</ph>2. <ph name="END_BOLD">&lt;/b&gt;</ph>Testing connection to router
      </message>
      <message name="IDS_DIAGNOSTICS_TESTING_CONNECTION_TO_INTERNET" desc="Indicates testing connection to internet.">
        <ph name="BEGIN_BOLD">&lt;b&gt;</ph>3. <ph name="END_BOLD">&lt;/b&gt;</ph>Testing connection to internet
      </message>
      <message name="IDS_DIAGNOSTICS_ADAPTER_DISABLED" desc="Indicates adapter is disabled.">
        The <ph name="ADAPTER_NAME">$1<ex>Wi-Fi</ex></ph> adapter was not enabled.
      </message>
      <message name="IDS_DIAGNOSTICS_ADAPTER_NO_IP" desc="Indicates adapter does not have an IP address.">
        The <ph name="ADAPTER_NAME">$1<ex>Wi-Fi</ex></ph> adapter does not have an IP address and cannot connect to the internet.
      </message>
      <message name="IDS_DIAGNOSTICS_GATEWAY_NOT_CONNECTED_TO_INTERNET" desc="Indicates gateway is not connected to the internet.">
        Your gateway is not connected to the internet.
      </message>
      <message name="IDS_DIAGNOSTICS_ENABLE_ADAPTER" desc="Recommendation for enabling adapter.">
        <ph name="BEGIN_BOLD">&lt;b&gt;</ph>Recommendation: <ph name="END_BOLD">&lt;/b&gt;</ph>Enable <ph name="ADAPTER_NAME">$1<ex>Wi-Fi</ex></ph> adapter.
      </message>
      <message name="IDS_DIAGNOSTICS_FIX_NO_IP_WIFI" desc="Recommendation for fixing Wi-Fi adapter without IP address assigned.">
        <ph name="BEGIN_BOLD">&lt;b&gt;</ph>Recommendation: <ph name="END_BOLD">&lt;/b&gt;</ph><ph name="BEGIN_ITALIC">&lt;i&gt;</ph>Please ensure that<ph name="END_ITALIC">&lt;/i&gt;</ph><ph name="BR">&lt;br /&gt;</ph>1) you have selected a wireless network.<ph name="BR2">&lt;br /&gt;</ph>2) you have permission to connect to the network you are trying to connect to.<ph name="BR3">&lt;br /&gt;</ph>3) you are using the right authentication method (password, encryption).<ph name="BR4">&lt;br /&gt;</ph>4) your router is configured correctly. Check that the DHCP server is enabled and that the MAC address filtering is configured correctly, if enabled.
      </message>
      <message name="IDS_DIAGNOSTICS_FIX_NO_IP_ETHERNET" desc="Recommendation for fixing ethernet adapter without IP address assigned.">
        <ph name="BEGIN_BOLD">&lt;b&gt;</ph>Recommendation: <ph name="END_BOLD">&lt;/b&gt;</ph><ph name="BEGIN_ITALIC">&lt;i&gt;</ph>Please ensure that<ph name="END_ITALIC">&lt;/i&gt;</ph><ph name="BR">&lt;br /&gt;</ph>1) the ethernet cable is plugged in.<ph name="BR2">&lt;br /&gt;</ph>2) your router is configured correctly. Check that the DHCP server is enabled and that the MAC address filtering is confiugred correctly, if enabled.
      </message>
      <message name="IDS_DIAGNOSTICS_FIX_NO_IP_3G" desc="Recommendation for fixing 3G adapter without IP address assigned.">
        <ph name="BEGIN_BOLD">&lt;b&gt;</ph>Recommendation: <ph name="END_BOLD">&lt;/b&gt;</ph><ph name="BEGIN_ITALIC">&lt;i&gt;</ph>Please ensure that<ph name="END_ITALIC">&lt;/i&gt;</ph><ph name="BR">&lt;br /&gt;</ph>1) you are in a location with strong 3G coverage.
      </message>
      <message name="IDS_DIAGNOSTICS_FIX_GATEWAY_CONNECTION" desc="Recommendation for fixing gateway connection to the internet.">
        <ph name="BEGIN_BOLD">&lt;b&gt;</ph>Recommendation: <ph name="END_BOLD">&lt;/b&gt;</ph>Ensure that you have chosen the right gateway and that your gateway is configured correctly.
      </message>
    </if>

    <!-- iOS Chrome to Device strings-->
    <if expr="pp_ifdef('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="pp_ifdef('ios')">
        <message name="IDS_NET_EXPORT_NO_EMAIL_ACCOUNTS_ALERT_MESSAGE" desc="The message of the alert informing a user with no email accounts that he or she needs to configure an email account to send net-export data. [Length: 70em]">
          To send net-export data, please configure your email account in System Settings.
        </message>
        <message name="IDS_NET_EXPORT_NO_EMAIL_ACCOUNTS_ALERT_TITLE" desc="The title of the alert informing a user with no email accounts that he or she needs to configure an email account to send net-export data. [Length: 20em]">
          No Email Accounts
        </message>
      </if>

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

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

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

    <!-- Reset Profile Settings strings -->
    <message name="IDS_RESET_PROFILE_SETTINGS_SECTION_TITLE" desc="The title of the section in chrome://settings that allows resetting some settings in a profile">
      Reset browser settings
    </message>
    <message name="IDS_RESET_PROFILE_SETTINGS_DESCRIPTION" desc="A label describing the purpose of the 'reset profile settings' feature">
      Restore browser settings to their original defaults.
    </message>
    <message name="IDS_RESET_PROFILE_SETTINGS_EXPLANATION" desc="A label describing the consequences of the 'reset profile settings' feature">
      Your browser settings will be restored to their original defaults. This will reset your homepage, new tab page and search engine, disable your extensions and unpin all tabs. It will also clear other temporary and cached data, such as cookies, content and site data.
    </message>
    <message name="IDS_RESET_PROFILE_SETTINGS_BUTTON" desc="The text on the button in chrome://settings that allows resetting some settings in a profile">
      Reset browser settings
    </message>
    <message name="IDS_RESET_PROFILE_SETTINGS_TITLE" desc="Dialog title">
      Reset browser settings
    </message>
    <message name="IDS_RESET_PROFILE_SETTINGS_COMMIT_BUTTON" desc="Reset button of the Reset Profile Settings dialog">
      Reset
    </message>
    <message name="IDS_RESET_PROFILE_SETTINGS_FEEDBACK" desc="Feedback label in the Reset Profile Settings dialog">
      Help make Google Chrome better by reporting the current settings
    </message>

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

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

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

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

    </messages>

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