<?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"
      output_all_resource_defines="false" 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" />
    <output filename="generated_resources_bg.pak" type="data_package" lang="bg" />
    <output filename="generated_resources_bn.pak" type="data_package" lang="bn" />
    <output filename="generated_resources_ca.pak" type="data_package" lang="ca" />
    <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" />
    <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" />
    <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" />
    <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" />
    <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" />
    <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" />
    <output filename="generated_resources_kn.pak" type="data_package" lang="kn" />
    <output filename="generated_resources_ko.pak" type="data_package" lang="ko" />
    <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" />
    <output filename="generated_resources_pt-BR.pak" type="data_package" lang="pt-BR" />
    <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" />
    <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" />
    <file path="resources/generated_resources_bg.xtb" lang="bg" />
    <file path="resources/generated_resources_bn.xtb" lang="bn" />
    <file path="resources/generated_resources_ca.xtb" lang="ca" />
    <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" />
    <file path="resources/generated_resources_en-GB.xtb" lang="en-GB" />
    <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" />
    <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" />
    <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" />
    <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" />
    <file path="resources/generated_resources_kn.xtb" lang="kn" />
    <file path="resources/generated_resources_ko.xtb" lang="ko" />
    <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" />
    <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" />

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

      <!-- Media Router specific strings -->
      <part file="media_router_strings.grdp" />

      <!-- Settings specific strings -->
      <if expr="not is_android">
        <part file="settings_strings.grdp" />
      </if>

      <!-- MD Extensions specific strings -->
      <if expr="enable_extensions">
        <part file="md_extensions_strings.grdp" />
      </if>

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

      <message name="IDS_PERMISSIONS_BUBBLE_PERSIST_TEXT" desc="The label for the checkbox used to allow users to optionally persist a permission request decision">
        Remember my decision
      </message>
      <message name="IDS_PERMISSIONS_BUBBLE_PROMPT" desc="The label that is used to introduce permission request details to the user in a popup.">
        <ph name="SITE_NAME">$1<ex>google.com</ex></ph> wants to
      </message>
      <message name="IDS_PERMISSIONS_BUBBLE_ACCESSIBLE_TITLE" desc="The sentence read out by screen readers to describe the permission request popup.">
        <ph name="SITE_NAME">$1<ex>google.com</ex></ph> has a permission request.
      </message>
      <message name="IDS_PERMISSION_ALLOW" desc="Label on button to allow a permissions request.">
        Allow
      </message>
      <message name="IDS_PERMISSION_DENY" desc="Label on button to deny a permissions request.">
        Block
      </message>
      <message name="IDS_PERMISSION_CUSTOMIZE" desc="Label on text button to allow the user to customize a permissions request.">
        Customize
      </message>

      <!-- Runtime permission infobar strings -->
      <if expr="is_android">
        <message name="IDS_INFOBAR_UPDATE_PERMISSIONS_BUTTON_TEXT" desc="Button text shown when Chrome does not have the necessary permission required to complete the requested tasks (e.g. a website has request location information, but Chrome is missing that Android permission)." formatter_data="android_java">
          Continue
        </message>
      </if>

      <message name="IDS_ALTERNATE_NAV_URL_VIEW_LABEL" desc="Label displayed in an infobar when a user searches for a term they 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_DOWNLOAD_TITLE" desc="Title for the downloads tab.">
        Downloads
      </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>

      <!-- Material Design History Strings -->
      <message name="IDS_MD_HISTORY_SEARCH_PROMPT" desc="Placeholder text/label for the search input field in the history page">
        Search history
      </message>
      <message name="IDS_MD_HISTORY_CLEAR_SEARCH" desc="Tooltip text for the button that clears the search term on the history page">
        Clear search
      </message>
      <message name="IDS_MD_HISTORY_DELETE" desc="Text for delete button contained in the history page toolbar">
        Delete
      </message>
      <message name="IDS_MD_HISTORY_ITEMS_SELECTED" desc="Label displayed in history toolbar telling the user how many items they have selected.">
        <ph name="NUMBER_OF_ITEMS_SELECTED">$1</ph> selected
      </message>
      <message name="IDS_MD_HISTORY_HAS_SYNCED_RESULTS" desc="The notification at the top of the history page indicating that it is showing visits synced from other devices.">
        Showing history from your signed-in devices. <ph name="BEGIN_LINK">&lt;a href="https://support.google.com/chrome/?p=sync_history&amp;hl=[GRITLANGCODE]"&gt;</ph>Learn more<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>
      </message>
      <message name="IDS_MD_HISTORY_HAS_SYNCED_RESULTS_DESCRIPTION" desc="Description for the notification at the top of the history page indicating that it is showing visits synced from other devices. This is spoken by the screen reader when the notification button is focused.">
        Showing history from your signed-in devices.
      </message>
      <message name="IDS_MD_HISTORY_HISTORY_MENU_DESCRIPTION" desc="Tooltip for the history sidebar menu button.">
        Main menu
      </message>
      <message name="IDS_MD_HISTORY_HISTORY_MENU_ITEM" desc="Label displayed in history sidebar button to display history.">
        Chrome history
      </message>
      <message name="IDS_MD_HISTORY_NO_SYNCED_RESULTS" desc="Text indicating that there are no synced tabs from other devices.">
        No tabs from other devices
      </message>
      <message name="IDS_MD_HISTORY_OPEN_TABS_MENU_ITEM" desc="Label displayed in history sidebar button to display synced tabs from other devices.">
        Tabs from other devices
      </message>
      <message name="IDS_MD_HISTORY_SIGN_IN_BUTTON" desc="Label displayed on a button to let user sign in to Chrome to get synced tab history.">
        Sign in to Chrome
      </message>
      <message name="IDS_MD_HISTORY_SIGN_IN_PROMO" desc="Text of the sign-in promo. This will show up if a user is not logged in and has no synced tabs.">
        Continue from another device
      </message>
      <message name="IDS_MD_HISTORY_SIGN_IN_PROMO_DESC" desc="Description of the sign-in promo. Further tells users to sign in to Chrome to see synced tabs from other devices.">
        To get your tabs from your other devices, sign in to Chrome.
      </message>
      <message name="IDS_MD_HISTORY_MENU_PROMO" desc="Text body of a promotional tooltip that shows up the first time a user runs the Material Design History UI in narrow mode to help find 'Clear Browsing Data' and the side navigation.">
        You can clear your browsing data from this menu
      </message>
      <message name="IDS_MD_HISTORY_CLOSE_MENU_PROMO" desc="Title text of the close button of a promotional tooltip that shows up the first time a user runs the Material Design History UI in narrow mode to help find 'Clear Browsing Data' and the side navigation.">
        Close
      </message>

      <!-- Generic terms -->
      <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_CONFIRM" desc="A button that lets the user confirm something.">
        Confirm
      </message>
      <message name="IDS_DISABLE" desc="Used for Disable on buttons">
        Disable
      </message>
      <message name="IDS_CONTENT_CONTEXT_WRITING_DIRECTION_MENU" desc="The name of the Writing Direction submenu in the content area context menu.  To translate, launch /Applications/TextEdit.app in an appropriately localized version of OS X, right-click on the text entry area and use the translation from there.">
        Writing Direction
      </message>
      <message name="IDS_CONTENT_CONTEXT_WRITING_DIRECTION_DEFAULT" desc="The name of the 'default' item from the Writing Direction submenu in the content area context menu.  To translate, launch /Applications/TextEdit.app in an appropriately localized version of OS X, right-click on the text entry area and use the translation from there.">
        Default
      </message>
      <message name="IDS_CONTENT_CONTEXT_WRITING_DIRECTION_LTR" desc="The name of the 'Left to Right' item from the Writing Direction submenu in the content area context menu.  To translate, launch /Applications/TextEdit.app in an appropriately localized version of OS X, right-click on the text entry area and use the translation from there.">
        Left to Right
      </message>
      <message name="IDS_CONTENT_CONTEXT_WRITING_DIRECTION_RTL" desc="The name of the 'Right to Left' item from the Writing Direction submenu in the content area context menu.  To translate, launch /Applications/TextEdit.app in an appropriately localized version of OS X, right-click on the text entry area and use the translation from there.">
        Right to Left
      </message>

       <!-- content area context menus. Android does not use it -->
      <if expr="not is_android">
        <message name="IDS_CONTENT_CONTEXT_INSPECTELEMENT" desc="The name of the Inspect Element command in the content area context menu">
          I&amp;nspect
        </message>
        <if expr="is_macosx">
            <message name="IDS_CONTENT_CONTEXT_LOOK_UP" desc="The name of the 'Look Up “string”' 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 “<ph name="LOOKUP_STRING">$1<ex>orthogonal</ex></ph>”
            </message>
        </if>
        <if expr="not use_titlecase">
          <message name="IDS_CONTENT_CONTEXT_BACK" desc="The name of the Back command in the content area context menu">
            &amp;Back
          </message>
          <message name="IDS_CONTENT_CONTEXT_FORWARD" desc="The name of the Forward command in the content area context menu">
            &amp;Forward
          </message>
          <message name="IDS_CONTENT_CONTEXT_SAVEPAGEAS" desc="The name of the Save Page As command in the content area context menu">
            Save &amp;as...
          </message>
          <message name="IDS_CONTENT_CONTEXT_PRINT" desc="The name of the Print... command in the content area context menu. Brings a dialog to select the print options">
            &amp;Print...
          </message>
          <message name="IDS_CONTENT_CONTEXT_VIEWPAGESOURCE" desc="The name of the View Page Source command in the content area context menu">
            &amp;View page source
          </message>
          <message name="IDS_CONTENT_CONTEXT_OPENLINKWITH" desc="The name of the Open Link With... command in the content area context menu">
            Open link with...
          </message>
          <message name="IDS_CONTENT_CONTEXT_OPENLINKWITH_CONFIGURE" desc="In Title Case: The name of the command to configure what handlers are available for the Open Link With... command">
            Configure...
          </message>
          <message name="IDS_CONTENT_CONTEXT_INSPECTBACKGROUNDPAGE" desc="The name of the Inspect Background Page command in the packaged app content area context menu">
            Inspect &amp;background page
          </message>
          <message name="IDS_CONTENT_CONTEXT_RELOAD" desc="The name of the Reload command in the content area context menu">
            &amp;Reload
          </message>
          <message name="IDS_CONTENT_CONTEXT_RESTART_APP" desc="The name of the Restart Packaged App command in the packaged app context menu.">
            Simulate browser restart
          </message>
          <message name="IDS_CONTENT_CONTEXT_RELOAD_PACKAGED_APP" desc="The name of the Reload Packaged App command in the packaged app content area context menu">
            &amp;Reload app
          </message>
          <message name="IDS_CONTENT_CONTEXT_TRANSLATE" desc="The name of the Translate command in the content area context menu">
            &amp;Translate to <ph name="LANGUAGE">$1<ex>English</ex></ph>
          </message>
          <message name="IDS_CONTENT_CONTEXT_EXIT_FULLSCREEN" desc="The name of the Exit Full Screen command in the content area context menu">
            Exit full screen
          </message>

          <message name="IDS_CONTENT_CONTEXT_RELOADFRAME" desc="The name of the Reload Frame command in the content area context menu">
            Reload &amp;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_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_OPENLINKINPROFILES" desc="The name of the open a link as a different user context menu">
            Open link as
          </message>
          <message name="IDS_CONTENT_CONTEXT_OPENLINKINPROFILE" desc="The name of the open a link as a different user command">
            Open link as <ph name="USER">$1<ex>user@gmail.com</ex></ph>
          </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_COPYLINKTEXT" desc="The name of the Copy Link Text command in the content area context menu">
            Copy link te&amp;xt
          </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 address
          </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_OPEN_ORIGINAL_IMAGE_NEW_TAB" desc="The name of the Open Original Image in New Tab command in the content area context menu">
            Open original &amp;image in new tab
          </message>
          <message name="IDS_CONTENT_CONTEXT_LOAD_ORIGINAL_IMAGE" desc="The name of the Load Image command in the content area context menu">
            Load image
          </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_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 address
          </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 address
          </message>
          <message name="IDS_CONTENT_CONTEXT_OPENAUDIONEWTAB" desc="The name of the Open Audio in New Tab command in the content area context menu">
            &amp;Open audio in new tab
          </message>

          <message name="IDS_CONTENT_CONTEXT_UNDO" desc="The name of the Undo command in the content area context menu">
            &amp;Undo
          </message>
          <message name="IDS_CONTENT_CONTEXT_REDO" desc="The name of the Redo command in the content area context menu">
            &amp;Redo
          </message>
          <message name="IDS_CONTENT_CONTEXT_CUT" desc="The name of the Cut command in the content area context menu">
            Cu&amp;t
          </message>
          <message name="IDS_CONTENT_CONTEXT_COPY" desc="The name of the Copy command in the content area context menu">
            &amp;Copy
          </message>
          <message name="IDS_CONTENT_CONTEXT_PASTE" desc="The name of the Paste command in the content area context menu" meaning="'Paste' menu command in sentence case">
            &amp;Paste
          </message>
          <message name="IDS_CONTENT_CONTEXT_PASTE_AND_MATCH_STYLE" desc="The name of the 'Paste as plain text' command in the content area context menu">
            Paste as plain text
          </message>
          <message name="IDS_CONTENT_CONTEXT_DELETE" desc="The name of the Delete command in the content area context menu">
            &amp;Delete
          </message>
          <message name="IDS_CONTENT_CONTEXT_ADD_TO_DICTIONARY" desc="The name of the Add to dictionary command in the content area context menu">
            &amp;Add to dictionary
          </message>
          <message name="IDS_CONTENT_CONTEXT_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_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 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_FORCESAVEPASSWORD" desc="The name of the Save Password command in the content area context menu">
            Save password
          </message>
          <message name="IDS_CONTENT_CONTEXT_GENERATEPASSWORD" desc="The name of the Generate Password command in the content area context menu">
            Generate password
          </message>
          <message name="IDS_CONTENT_CONTEXT_MORE_APPS" desc="The label for the parent item of the submenu in the content area context menu.">
            More
          </message>
          <message name="IDS_CONTENT_CONTEXT_OPEN_WITH_APP" desc="The label for an item in the content area context menu for opening a link with an app.">
            Open with <ph name="APP">$1<ex>Hangouts</ex></ph>
          </message>
        </if>
        <if expr="use_titlecase">
          <message name="IDS_CONTENT_CONTEXT_BACK" desc="In Title Case: The name of the Back command in the content area context menu">
            &amp;Back
          </message>
          <message name="IDS_CONTENT_CONTEXT_FORWARD" desc="In Title Case: The name of the Forward command in the content area context menu">
            &amp;Forward
          </message>
          <message name="IDS_CONTENT_CONTEXT_SAVEPAGEAS" desc="In Title Case: The name of the Save Page As command in the content area context menu">
            Save &amp;As...
          </message>
          <message name="IDS_CONTENT_CONTEXT_PRINT" desc="In Title Case: The name of the Print... command in the content area context menu. Brings a dialog to select the print options">
            &amp;Print...
          </message>
          <message name="IDS_CONTENT_CONTEXT_VIEWPAGESOURCE" desc="In Title Case: The name of the View Page Source command in the content area context menu">
            &amp;View Page Source
          </message>
          <message name="IDS_CONTENT_CONTEXT_OPENLINKWITH" desc="In Title Case: The name of the Open Link With... command in the content area context menu">
            Open Link With...
          </message>
          <message name="IDS_CONTENT_CONTEXT_OPENLINKWITH_CONFIGURE" desc="In Title Case: The name of the command to configure what handlers are available for the Open Link With... command">
            Configure...
          </message>
          <message name="IDS_CONTENT_CONTEXT_INSPECTBACKGROUNDPAGE" desc="In Title Case: The name of the Inspect Background Page command in the packaged app content area context menu">
            Inspect &amp;Background Page
          </message>
          <message name="IDS_CONTENT_CONTEXT_RELOAD" desc="In Title Case: The name of the Reload command in the content area context menu">
            &amp;Reload
          </message>
          <message name="IDS_CONTENT_CONTEXT_RESTART_APP" desc="In Title Case: The name of the Restart Packaged App command in the packaged app context menu.">
            Simulate Browser Restart
          </message>
          <message name="IDS_CONTENT_CONTEXT_RELOAD_PACKAGED_APP" desc="In Title Case: The name of the Reload Packaged App command in the packaged app content area context menu">
            &amp;Reload App
          </message>
          <message name="IDS_CONTENT_CONTEXT_TRANSLATE" desc="In Title Case: The name of the Translate command in the content area context menu">
            &amp;Translate to <ph name="LANGUAGE">$1<ex>English</ex></ph>
          </message>
          <message name="IDS_CONTENT_CONTEXT_EXIT_FULLSCREEN" desc="In Title Case: The name of the Exit Full Screen command in the content area context menu">
            Exit Full Screen
          </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 &amp;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_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_OPENLINKINPROFILES" desc="In Title Case: The name of the open a link as a different user context menu">
            Open Link as
          </message>
          <message name="IDS_CONTENT_CONTEXT_OPENLINKINPROFILE" desc="In Title Case: The name of the open a link as a different user command">
            Open Link as <ph name="USER">$1<ex>user@gmail.com</ex></ph>
          </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_COPYLINKTEXT" desc="In Title Case: The name of the Copy Link Text command in the content area context menu">
            Copy Link Te&amp;xt
          </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 Address
          </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_OPEN_ORIGINAL_IMAGE_NEW_TAB" desc="In Title Case: The name of the Open Original Image in New Tab command in the content area context menu">
            Open Original &amp;Image in New Tab
          </message>
          <message name="IDS_CONTENT_CONTEXT_LOAD_ORIGINAL_IMAGE" desc="In Title Case: The name of the Load Image command in the content area context menu">
            Load Image
          </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_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 Address
          </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 Address
          </message>
          <message name="IDS_CONTENT_CONTEXT_OPENAUDIONEWTAB" desc="In Title Case: The name of the Open Audio in New Tab command in the content area context menu">
            &amp;Open Audio in New Tab
          </message>

          <message name="IDS_CONTENT_CONTEXT_UNDO" desc="In Title Case: The name of the Undo command in the content area context menu">
            &amp;Undo
          </message>
          <message name="IDS_CONTENT_CONTEXT_REDO" desc="In Title Case: The name of the Redo command in the content area context menu">
            &amp;Redo
          </message>
          <message name="IDS_CONTENT_CONTEXT_CUT" desc="In Title Case: The name of the Cut command in the content area context menu">
            Cu&amp;t
          </message>
          <message name="IDS_CONTENT_CONTEXT_COPY" desc="In Title Case: The name of the Copy command in the content area context menu">
            &amp;Copy
          </message>
          <!-- Paste and Match Style / Paste as Plain Text -->
          <if expr="is_macosx">
            <message name="IDS_CONTENT_CONTEXT_PASTE" desc="Mac/In Title Case: The name of the Paste command in the content area context menu" meaning="'Paste' menu command for Mac">
              &amp;Paste
            </message>
            <message name="IDS_CONTENT_CONTEXT_PASTE_AND_MATCH_STYLE" desc="Mac/In Title Case: The name of the 'Paste and Match Style' command in the content area context menu">
              Paste and Match Style
            </message>
          </if>
          <if expr="not is_macosx">
            <message name="IDS_CONTENT_CONTEXT_PASTE" desc="In Title Case: The name of the Paste command in the content area context menu" meaning="'Paste' menu command in title case">
              &amp;Paste
            </message>
            <message name="IDS_CONTENT_CONTEXT_PASTE_AND_MATCH_STYLE" desc="In Title Case: The name of the 'Paste as plain text' command in the content area context menu">
              Paste As Plain Text
            </message>
          </if>
          <message name="IDS_CONTENT_CONTEXT_DELETE" desc="In Title Case: The name of the Delete command in the content area context menu">
            &amp;Delete
          </message>
          <message name="IDS_CONTENT_CONTEXT_ADD_TO_DICTIONARY" desc="In Title Case: The name of the Add to dictionary command in the content area context menu">
            &amp;Add to Dictionary
          </message>
          <message name="IDS_CONTENT_CONTEXT_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_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 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_FORCESAVEPASSWORD" desc="In Title Case: The name of the Save Password command in the content area context menu">
            Save Password
          </message>
          <message name="IDS_CONTENT_CONTEXT_GENERATEPASSWORD" desc="In Title Case: The name of the Generate Password command in the content area context menu">
            Generate Password
          </message>
        </if>
      </if>

      <if expr="not use_titlecase">
        <message name="IDS_CONTENT_CONTEXT_PLUGIN_RUN" desc="The name of the Run command on the blocked plugin context menu">
          Run this plugin
        </message>
        <message name="IDS_CONTENT_CONTEXT_PLUGIN_HIDE" desc="The name of the Hide command on the blocked plugin context menu">
          Hide this plugin
        </message>
      </if>
      <if expr="use_titlecase">
        <message name="IDS_CONTENT_CONTEXT_PLUGIN_RUN" desc="In Title Case: The name of the Run command on the blocked plugin context menu">
          Run This Plugin
        </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 Plugin
        </message>
      </if>
      <!-- Since Flash is a proper noun we don't have to distinguish between title and non-title case. -->
      <message name="IDS_CONTENT_CONTEXT_ENABLE_FLASH" desc="The name of the Enable Flash command on the blocked plugin context menu">
        Enable Flash
      </message>

      <!-- Ash multi-user warning dialog -->
      <if expr="use_ash">
        <message name="IDS_VISIT_DESKTOP_WARNING_TITLE" desc="The title of the dialog which warns user about oddities which can be seen when a window gets moved to another user desktop.">
          Careful, this feature may bite
        </message>
        <message name="IDS_VISIT_DESKTOP_WARNING_MESSAGE" desc="The message on the dialog which warns user about oddities which can be seen when a window gets moved to another user desktop.">
          Moving windows to another desktop may result in unexpected behaviour.

Subsequent notifications, windows and dialogs may be split between desktops.
        </message>
        <message name="IDS_VISIT_DESKTOP_WARNING_SHOW_DISMISS" desc="Label for checkbox dismissing show of teleportation warning dialog.">
          Got it, don't show me again.
        </message>
      </if>

      <!-- Spelling submenu -->
      <if expr="is_macosx">
        <message name="IDS_CONTENT_CONTEXT_LANGUAGE_SETTINGS" desc="In Title Case: The name of the Language Settings command in the content area context menu">
          &amp;Language Settings
        </message>
      </if>
      <if expr="not is_macosx">
        <message name="IDS_CONTENT_CONTEXT_SPELLCHECK_MENU" desc="The name of the menu item that shows the submenu for spellcheck options">
          &amp;Spellcheck
        </message>
        <message name="IDS_CONTENT_CONTEXT_LANGUAGE_SETTINGS" desc="The name of the menu item that opens spellcheck settings in a new tab">
          &amp;Language settings
        </message>
        <message name="IDS_CONTENT_CONTEXT_SPELLCHECK_MULTI_LINGUAL" desc="The name of the menu item that enables spellcheck in all of the languages that the user has selected in settings">
          &amp;All your languages
        </message>
        <message name="IDS_CONTENT_CONTEXT_CHECK_SPELLING_WHILE_TYPING" desc="The name of the menu item that toggles spellcheck on or off">
          &amp;Check the spelling of text fields
        </message>
      </if>

      <!-- Page menu. Android has separate strings for its menu -->
      <if expr="not is_android">
        <if expr="not use_titlecase">
          <message name="IDS_NEW_TAB" desc="The text label of a menu item for opening a new tab">
            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 a menu item for opening a new window">
            &amp;New window
          </message>
          <message name="IDS_NEW_INCOGNITO_WINDOW" desc="The text label of a menu item for opening a new incognito window">
            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_EDIT2" desc="The text label before the cut/copy/paste buttons in the merged menu">
            Edit
          </message>
          <message name="IDS_CUT" desc="The text label of the Cut menu item">
            Cu&amp;t
          </message>
          <message name="IDS_COPY" desc="The text label of the Copy menu item">
            &amp;Copy
          </message>
          <message name="IDS_PASTE" desc="The text label of the Paste menu item" meaning="'Paste' menu command in sentence case">
            &amp;Paste
          </message>
          <message name="IDS_DELETE" desc="The text label of the Delete menu item (which deletes selected text without copying to clipboard)">
            &amp;Delete
          </message>
          <message name="IDS_FIND" desc="The text label of the Find... menu item">
            &amp;Find...
          </message>
          <message name="IDS_SAVE_PAGE" desc="The text label of the Save Page As menu item">
            Save page &amp;as...
          </message>
          <message name="IDS_DISTILL_PAGE" desc="The text label of the 'Distill page' menu item">
            Distill page
          </message>
          <message name="IDS_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>
        </if>
        <if expr="use_titlecase">
          <message name="IDS_NEW_TAB" desc="In Title Case: The text label of a menu item for opening a new tab">
            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 a menu item for opening a new window">
            &amp;New Window
          </message>
          <message name="IDS_NEW_INCOGNITO_WINDOW" desc="In Title Case: The text label of a menu item for opening a new incognito window">
            New &amp;Incognito Window
          </message>
          <message name="IDS_PIN_TO_START_SCREEN" desc="In Title Case: The text label of the Pin to start screen menu item">
            Pin this Page to Start Screen...
          </message>
          <message name="IDS_EDIT2" desc="In Title Case: The text label before the cut/copy/paste buttons in the merged menu">
            Edit
          </message>
          <message name="IDS_CUT" desc="In Title Case: The text label of the Cut menu item">
            Cu&amp;t
          </message>
          <message name="IDS_COPY" desc="In Title Case: The text label of the Copy menu item">
            &amp;Copy
          </message>
          <message name="IDS_PASTE" desc="In Title Case: The text label of the Paste menu item" meaning="'Paste' menu command for Mac">
            &amp;Paste
          </message>
          <message name="IDS_DELETE" desc="In Title Case: The text label of the Delete menu item (which deletes selected text without copying to clipboard)">
            &amp;Delete
          </message>
          <message name="IDS_FIND" desc="In Title Case: The text label of the Find... menu item">
            &amp;Find...
          </message>
          <message name="IDS_SAVE_PAGE" desc="In Title Case: The text label of the Save Page As menu item">
            Save Page &amp;As...
          </message>
          <message name="IDS_DISTILL_PAGE" desc="The text label of the 'Distill Page' menu item">
            Distill Page
          </message>
          <message name="IDS_MORE_TOOLS_MENU" desc="In Title Case: The text label of the Tools submenu for touch">
            More Too&amp;ls
          </message>
          <message name="IDS_ZOOM_MENU" desc="In Title Case: The text label of the Zoom submenu">
            &amp;Zoom
          </message>
          <message name="IDS_ZOOM_MENU2" desc="In Title Case: The text label of the Zoom menu in the merged menu">
            Zoom
          </message>
          <message name="IDS_ZOOM_PLUS" desc="In Title Case: The text label of the Make Text Larger menu item">
            &amp;Larger
          </message>
          <message name="IDS_ZOOM_PLUS2" desc="The text label of the Make Text Larger menu item in the merged menu">
            +
          </message>
          <message name="IDS_ZOOM_NORMAL" desc="In Title Case: The text label of the Make Text Normal Size menu item">
            &amp;Normal
          </message>
          <message name="IDS_ZOOM_MINUS" desc="In Title Case: The text label of the Make Text Smaller menu item">
            &amp;Smaller
          </message>
          <message name="IDS_ZOOM_MINUS2" desc="The text label of the Make Text Smaller menu item in the merged menu">
            &#8722;
          </message>
        </if>
      </if>

      <if expr="chromeos">
        <message name="IDS_VISIT_DESKTOP_OF_LRU_USER" desc="The text label of the menu item which allows the user to move a window from one users desktop to another.">
          Move window to <ph name="USER_NAME">$1<ex>User name</ex></ph> (<ph name="USER_EMAIL">$2<ex>john@google.com</ex></ph>)
        </message>
      </if>

      <message name="IDS_ACCNAME_ZOOM_PLUS2" desc="The accessible description of the Make Text Larger menu item in the merged menu">
        Make Text Larger
      </message>
      <message name="IDS_ACCNAME_ZOOM_MINUS2" desc="The accessible description of the Make Text Smaller menu item in the merged menu">
        Make Text Smaller
      </message>

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

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

      <!-- App menu -->
      <message name="IDS_VIEW_INCOMPATIBILITIES" desc="The text label of the View incompatibilities menu item">
        Software incompatibility: Learn more
      </message>
      <if expr="chromeos">
        <message name="IDS_TOGGLE_REQUEST_TABLET_SITE" desc="The toggle to request tablet site on a touch dev.">
          Request tablet site
        </message>
      </if>
      <message name="IDS_HELP_MENU" desc="The text label of the Help sub-menu item in the wrench menu">
        H&amp;elp
      </message>
      <if expr="not use_titlecase">
        <message name="IDS_IMPORT_SETTINGS_MENU_LABEL" desc="In sentence case: The app menu label to import bookmarks and settings.">
          Import bookmarks and settings...
        </message>
        <message name="IDS_PROFILING_ENABLED" desc="The toggle to turn profiling on / off">
          &amp;Profiling enabled
        </message>
        <message name="IDS_FULLSCREEN" desc="Switches into fullscreen mode">
          &amp;Full screen
        </message>
        <message name="IDS_CLEAR_BROWSING_DATA" desc="The text label for the menu item for clearing of browsing data">
          &amp;Clear browsing data...
        </message>
        <message name="IDS_SHOW_DOWNLOADS" desc="The show downloads menu in the app menu">
          &amp;Downloads
        </message>
        <message name="IDS_SHOW_EXTENSIONS" desc="The show extensions menu in the app menu">
          &amp;Extensions
        </message>
        <message name="IDS_SETTINGS" desc="The text label of the Settings menu item">
          &amp;Settings
        </message>
        <message name="IDS_OPTIONS" desc="The text label of the Options menu item">
          &amp;Options
        </message>
        <message name="IDS_HELP_PAGE" desc="The text label of the Help Center menu item">
          H&amp;elp center
        </message>
        <message name="IDS_BETA_FORUM" desc="The text label of the menu item that takes the user to the forum for Beta Chrome.">
          Beta forum
        </message>
        <message name="IDS_GET_HELP" desc="The text label of the Get Help menu item">
          Get H&amp;elp
        </message>
        <message name="IDS_EXIT" desc="The text label of the Exit menu item">
          E&amp;xit
        </message>
      </if>
      <if expr="use_titlecase">
        <message name="IDS_IMPORT_SETTINGS_MENU_LABEL" desc="In Title Case: The app menu label to import bookmarks and settings.">
          Import Bookmarks and Settings...
        </message>
        <message name="IDS_PROFILING_ENABLED" desc="In Title Case: The toggle to turn profiling on / off">
          &amp;Profiling Enabled
        </message>
        <message name="IDS_FULLSCREEN" desc="In Title Case: Switches into fullscreen mode">
          &amp;Full Screen
        </message>
        <message name="IDS_CLEAR_BROWSING_DATA" desc="In Title Case: The text label for the menu item for clearing of browsing data">
          &amp;Clear Browsing Data...
        </message>
        <message name="IDS_SHOW_DOWNLOADS" desc="In Title Case: The show downloads menu in the app menu">
          &amp;Downloads
        </message>
        <message name="IDS_SHOW_EXTENSIONS" desc="In Title Case: The show extensions menu in the app menu">
          &amp;Extensions
        </message>
        <message name="IDS_SETTINGS" desc="In Title Case: The text label of the Settings menu item">
          &amp;Settings
        </message>
        <message name="IDS_OPTIONS" desc="In Title Case: The text label of the Options menu item">
          &amp;Options
        </message>
        <message name="IDS_HELP_PAGE" desc="The text label of the Help Center menu item">
          H&amp;elp Center
        </message>
        <message name="IDS_BETA_FORUM" desc="The text label of the menu item that takes the user to the forum for Beta Chrome.">
          Beta Forum
        </message>
        <message name="IDS_GET_HELP" desc="The text label of the Get Help menu item">
          Get H&amp;elp
        </message>
        <message name="IDS_EXIT" desc="In Title Case: The text label of the Exit menu item">
          E&amp;xit
        </message>
      </if>

      <!-- Keywords -->
      <message name="IDS_AUTOCOMPLETE_MATCH_DESCRIPTION_SEPARATOR" desc="The separator between a result in the autocomplete popup and its description.">
        ''' - '''
      </message>
      <if expr="not use_titlecase">
        <message name="IDS_EDIT_SEARCH_ENGINES"
                 desc="Title of the popup menu item for editing search engines">
          &amp;Edit search engines...
        </message>
      </if>
      <if expr="use_titlecase">
        <message name="IDS_EDIT_SEARCH_ENGINES"
                 desc="In Title Case: Title of the popup menu item for editing search engines">
          &amp;Edit Search Engines...
        </message>
      </if>

      <!-- Search Engine Settings -->
      <message name="IDS_SEARCH_ENGINES_EDITOR_WINDOW_TITLE"
               desc="Title of the search engines window">
        Search engines
      </message>
      <message name="IDS_SEARCH_ENGINES_EDITOR_KEYWORD_COLUMN"
               desc="Title of the keyword column in the search engines editor">
        Keyword
      </message>
      <message name="IDS_SEARCH_ENGINES_EDITOR_DESCRIPTION_COLUMN"
               desc="Title of the description column in the search engines editor">
        Name
      </message>
      <message name="IDS_SEARCH_ENGINES_EDITOR_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_INVALID_TITLE_TT"
               desc="Text of tooltip shown in the keyword editor when the title is invalid">
        Title must contain at least one character
      </message>
      <message name="IDS_SEARCH_ENGINES_INVALID_URL_TT"
               desc="Text of tooltip shown in the keyword editor when the url is invalid">
        Must be a valid URL
      </message>
      <message name="IDS_SEARCH_ENGINES_INVALID_KEYWORD_TT"
               desc="Text of tooltip shown in the keyword editor when the keyword is invalid">
        Keyword must be empty or unique
      </message>
      <message name="IDS_SEARCH_ENGINES_EDITOR_MAIN_SEPARATOR"
               desc="Title above the set of keywords the user has modified and or explicitly created">
        Default search settings
      </message>
      <message name="IDS_SEARCH_ENGINES_EDITOR_OTHER_SEPARATOR"
               desc="Title above the set of keywords Chrome automatically created as the user browses">
        Other search engines
      </message>
      <message name="IDS_SEARCH_ENGINES_EDITOR_EXTENSIONS_SEPARATOR"
               desc="Title above the set of keywords installed by active extensions">
        Search engines added by extensions
      </message>

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

      <!-- Download Shelf-->
      <if expr="use_titlecase">
        <message name="IDS_SHOW_ALL_DOWNLOADS" desc="Button label shown at the corner of the download shelf that opens the downloads page (title case)">
          Show All
        </message>
      </if>
      <if expr="not use_titlecase">
        <message name="IDS_SHOW_ALL_DOWNLOADS" desc="Button label shown at the corner of the download shelf that opens the downloads page (sentence case)">
          Show all
        </message>
      </if>
      <!-- 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_CONTENT_LENGTH_MISMATCH"
               desc="The download is incomplete as not all the data are received.">
        File incomplete
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_CONTENT_LENGTH_MISMATCH"
               desc="Download page message: Reveived fewer bytes than expected and the download was incomplete.">
        Destination file was incomplete due to a connection issue.
      </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_FILE_SAME_AS_SOURCE"
               desc="The source and the target of the download file were the same. I.e. the user attempted to download the file onto itself.">
        Already downloaded
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_FILE_SAME_AS_SOURCE"
               desc="Download page message: The source and the target of the download were the same.">
        The file already exists in your download folder.
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS_NETWORK_TIMEOUT"
               desc="Network Timeout.">
        Network timeout
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_NETWORK_TIMEOUT"
               desc="Download page message: Network Timeout.">
        The download was taking too long and was stopped by the network.
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS_NETWORK_DISCONNECTED"
               desc="Network Disconnected.">
        Network disconnected
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_NETWORK_DISCONNECTED"
               desc="Download page message: Network Disconnected.">
        Internet disconnected. Please check your internet connection and try again.
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS_SERVER_DOWN"
               desc="The server is down.">
        Server unavailable
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_SERVER_DOWN"
               desc="Download page message: The server is down.">
        Server unavailable.
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS_NETWORK_ERROR"
               desc="Network error.">
        Network error
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_NETWORK_ERROR"
               desc="Download page message: Network error.">
        Unknown network error.
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS_NO_FILE"
               desc="File not found on server.">
        No file
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_NO_FILE"
               desc="Download page message: File not found on server.">
        The server could not find the file.
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS_SERVER_PROBLEM"
               desc="Server problem.">
        Server problem
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_SERVER_PROBLEM"
               desc="Download page message: Server problem.">
        Unknown server error. Please try again, or contact the server administrator.
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS_SHUTDOWN"
               desc="Shutdown.">
        Shutdown
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_SHUTDOWN"
               desc="Download page message: Shutdown.">
        The browser was shut down before the download completed.
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS_CRASH"
               desc="Browser Crash.">
        Crash
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_CRASH"
               desc="Download page message: Browser Crash.">
        The browser crashed before the download completed.
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS_UNAUTHORIZED"
               desc="Not authorized.">
        Needs authorization
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_UNAUTHORIZED"
               desc="Download page message: Not authorized.">
        Server did not authorize you to access this resource.
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS_SERVER_CERT_PROBLEM"
               desc="Server certificate problem.">
        Bad certificate
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_SERVER_CERT_PROBLEM"
               desc="Download page message: Server certificate problem.">
        There was a problem with server's certificate.
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS_FORBIDDEN"
               desc="Forbidden.">
        Forbidden
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_FORBIDDEN"
               desc="Download page message: Forbidden.">
        Access to this resource was forbidden by the server.
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_STATUS_UNREACHABLE"
               desc="An unexpected response was received which may indicate that the server is not reachable due to an intermediary.">
        Server unreachable
      </message>
      <message name="IDS_DOWNLOAD_INTERRUPTED_DESCRIPTION_UNREACHABLE"
               desc="Download page message: An unexpected response was received which may indicate that the server is not reachable due to an intermediary.">
        The server may be unreachable. Try again later.
      </message>

      <message name="IDS_DOWNLOAD_NOTIFICATION_LABEL_OPEN_WHEN_COMPLETE"
               desc="Download notifications: Label for 'Open when download is complete' action button on notification">
        Open when done
      </message>
      <message name="IDS_DOWNLOAD_NOTIFICATION_LABEL_OPEN"
               desc="Download notifications: Label for 'Open download' action button on notification">
        Open
      </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>
      <if expr="chromeos">
        <message name="IDS_DOWNLOAD_STATUS_IN_PROGRESS_TITLE"
                 desc="The title of a download notification: the current download status is in progress.">
                 Downloading <ph name="FILE_NAME">$1<ex>somedocument.pdf</ex></ph>
        </message>
        <message name="IDS_DOWNLOAD_STATUS_PAUSED_TITLE"
                 desc="The title of a download notification: the current download status is in progress.">
                 Paused <ph name="FILE_NAME">$1<ex>somedocument.pdf</ex></ph>
        </message>
        <message name="IDS_DOWNLOAD_STATUS_DOWNLOADED_TITLE"
                 desc="The title of a download notification: the current download status is finished successufully.">
                 <ph name="FILE_NAME">$1<ex>somedocument.pdf</ex></ph> downloaded
        </message>
        <message name="IDS_DOWNLOAD_STATUS_DOWNLOAD_FAILED_TITLE"
                 desc="The title of a download notification: the current download status is failed.">
                 <ph name="FILE_NAME">$1<ex>somedocument.pdf</ex></ph> download unsuccessful
        </message>
        <message name="IDS_DOWNLOAD_NOTIFICATION_STATUS"
                 desc="Size and units downloaded and total, the origin domain, and the current status od download.">
          <ph name="DOWNLOAD_RECEIVED_AND_TOTAL">$1<ex>54/154 MB</ex></ph>, <ph name="SUB_STATUS_TEXT">$2<ex>24 secs remaining</ex></ph>
From <ph name="DOWNLOAD_DOMAIN">$3<ex>example.com</ex></ph>
        </message>
        <message name="IDS_DOWNLOAD_NOTIFICATION_STATUS_COMPLETED"
                 desc="Size and units downloaded, and the origin domain.">
          <ph name="DOWNLOAD_RECEIVED">$1<ex>154 MB</ex></ph> from <ph name="DOWNLOAD_DOMAIN">$2<ex>example.com</ex></ph>
        </message>
        <message name="IDS_DOWNLOAD_NOTIFICATION_STATUS_SHORT"
                 desc="Size and units downloaded, and the origin domain. ">
          <ph name="DOWNLOAD_RECEIVED">$1<ex>154 MB</ex></ph> from <ph name="DOWNLOAD_DOMAIN">$2<ex>example.com</ex></ph>
        </message>
        <message name="IDS_DOWNLOAD_NOTIFICATION_DISPLAY_SOURCE"
                 desc="The name of the notification source, which is download manager here. Shown in the notification header.">
          Download manager
        </message>
      </if>
      <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_IN_PROGRESS_WITH_DOMAIN"
               desc="Size and units downloaded, time remaining.">
        <ph name="DOWNLOAD_RECEIVED">$1<ex>54/154 MB</ex></ph> from <ph name="DOWNLOAD_DOMAIN">$2<ex>example.com</ex></ph>, <ph name="TIME_LEFT">$3<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_IN_PROGRESS_SHORT" desc="Short status text that appears on unknown-sized downloads in progress.">
        In progress
      </message>
      <message name="IDS_DOWNLOAD_STATUS_CANCELLED" desc="Text that appears under the downloaded files that have been canceled.">
        Canceled
      </message>
      <!-- TODO(dbeam): can this be merged with IDS_DOWNLOAD_FILE_REMOVED? -->
      <message name="IDS_DOWNLOAD_STATUS_REMOVED" desc="Text that appears under the downloaded files that have been removed.">
        Removed
      </message>
      <message name="IDS_DOWNLOAD_STATUS_INTERRUPTED" desc="Status text for a download item that was interrupted.">
        Failed - <ph name="INTERRUPT_REASON">$1<ex>Disk full</ex></ph>
      </message>
      <message name="IDS_DOWNLOAD_UNCONFIRMED_PREFIX" desc="The prefix used in the unconfirmed download file.">
        Unconfirmed
      </message>
      <if expr="is_android">
        <message name="IDS_PROMPT_DANGEROUS_DOWNLOAD"
                 desc="Mobile: Message shown to the user to validate the download of a dangerous file.">
          This type of file can harm your device. Do you want to keep <ph name="FILE_NAME">$1<ex>malware.exe</ex></ph> anyway?
        </message>
        <message name="IDS_PROMPT_DANGEROUS_DOWNLOAD_EXTENSION"
           desc="Mobile: Message shown to the user to validate the download of an extension file.">
          Extensions, apps, and themes can harm your device. Are you sure you want to continue?
        </message>
      </if>
      <if expr="not is_android">
        <message name="IDS_PROMPT_DANGEROUS_DOWNLOAD"
                 desc="Message shown to the user to validate the download of a dangerous file.">
          This type of file can harm your computer. Do you want to keep <ph name="FILE_NAME">$1<ex>malware.exe</ex></ph> anyway?
        </message>
        <message name="IDS_PROMPT_DANGEROUS_DOWNLOAD_EXTENSION"
           desc="Message shown to the user to validate the download of an extension file.">
          Extensions, apps, and themes can harm your computer. Are you sure you want to continue?
        </message>
      </if>
      <message name="IDS_PROMPT_UNCOMMON_DOWNLOAD_CONTENT"
         desc="Message shown to the user to validate the download when the download content is classified as uncommon by safebrowsing.">
        <ph name="FILE_NAME">$1<ex>bla.exe</ex></ph> is not commonly downloaded and may be dangerous.
      </message>
      <message name="IDS_BLOCK_REASON_UNCOMMON_DOWNLOAD"
         desc="Message shown to the user on chrome://downloads page to explain that this download is blocked because it is uncommon.">
        This file is not commonly downloaded and may be dangerous.
      </message>
      <message name="IDS_BLOCK_REASON_GENERIC_DOWNLOAD"
         desc="Message shown to the user on chrome://downloads page to explain that this download is blocked because it may be dangerous.">
        This type of file may harm your computer.
      </message>

      <if expr="chromeos">
        <message name="IDS_PROMPT_BLOCKED_MALICIOUS_DOWNLOAD_TITLE"
                 desc="In the download notification, a title of message shown for blocked download">
          Dangerous download blocked
        </message>
      </if>
      <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_KEEP_DANGEROUS_DOWNLOAD_TITLE"
               desc="Title for the confirmation dialog asking whether the user really meant to keep a dangerous download">
        Keep dangerous file?
      </message>
      <message name="IDS_KEEP_UNCOMMON_DOWNLOAD_TITLE"
               desc="Title for the confirmation dialog asking whether the user really meant to keep an uncommon download">
        Keep file?
      </message>
      <message name="IDS_PROMPT_CONFIRM_KEEP_DANGEROUS_DOWNLOAD"
               desc="Prompt text for the confirmation dialog asking whether the user really meant to keep a dangerous download">
        This file may be harmful for your computer.
      </message>
      <message name="IDS_PROMPT_CONFIRM_KEEP_MALICIOUS_DOWNLOAD_BODY"
               desc="Body prompt text for the confirmation dialog asking whether the user really meant to keep a download">
        Even if you have downloaded files from this site before, the site may be temporarily unsafe (hacked). Try downloading this file later.
      </message>
      <message name="IDS_CONFIRM_DOWNLOAD_AGAIN"
               desc="Text for the button used to confirm the dialog asking whether the user really meant to keep dangerous download.">
        Keep anyway
      </message>
      <message name="IDS_CONFIRM_DOWNLOAD"
               desc="Text for the button used to validate the downloading of a dangerous download on download shelf.">
        Keep
      </message>
      <message name="IDS_CONFIRM_DOWNLOAD_RESTORE"
               desc="Text for the button used to validate the downloading of a dangerous download on chrome://downloads page.">
        Keep dangerous file
      </message>
      <message name="IDS_CONTINUE_EXTENSION_DOWNLOAD"
               desc="Text for the button used to validate the installation of an extension.">
        Continue
      </message>
      <message name="IDS_DISCARD_DOWNLOAD"
               desc="Text for the button used to stop a dangerous download.">
        Discard
      </message>

      <!-- Download Tab Items -->
      <message name="IDS_DOWNLOAD_LINK_PAUSE"
               desc="In the download view, 'Pause' link text">
        Pause
      </message>
      <message name="IDS_MD_DOWNLOAD_SEARCH"
               desc="Placeholder text/label for the search input in the download page">
        Search downloads
      </message>
      <message name="IDS_DOWNLOAD_CLEAR_SEARCH"
               desc="Tooltip text for the button that clears the search term on the downloads page.">
        Clear search
      </message>
      <message name="IDS_DOWNLOAD_SEARCHRESULTSFOR" desc="Format string for search results">
        Search results for '<ph name="SEARCH_STRING">$1</ph>'
      </message>
      <message name="IDS_DOWNLOAD_NO_SEARCH_RESULTS" desc="A message shown for when a search yield no results (no matching downloads).">
        No search results found
      </message>
      <message name="IDS_MD_DOWNLOAD_NO_DOWNLOADS" desc="A message shown when the user has no downloads to show on chrome://downloads.">
        Files you download appear here
      </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_MD_DOWNLOAD_LINK_RETRY"
               desc="In the download view, 'Retry' button text to retry downloading a file.">
        Retry
      </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_LINK_SHOW_ALL_DOWNLOADS"
               desc="In the download notification, 'Show all downloads' button text.">
        Show all downloads
      </message>
      <if expr="chromeos">
        <message name="IDS_DOWNLOAD_LINK_LEARN_MORE_SCANNING"
                 desc="In the download notification, a label of the button to show information about download scanning">
          Learn more
        </message>
      </if>
      <message name="IDS_DOWNLOAD_TAB_CANCELLED"
               desc="Text that appears next to the downloaded files that have been canceled">
        Canceled
      </message>
      <message name="IDS_DOWNLOAD_FILE_REMOVED"
               desc="Text that appears when a downloaded file has been deleted from the user's computer.">
        Deleted
      </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_MORE_ACTIONS"
               desc="Tooltip of a button on the downloads page that shows a menu with actions like 'Open downloads folder' or 'Clear all'">
        More actions...
      </message>
      <message name="IDS_DOWNLOAD_BY_EXTENSION_URL"
               desc="Indicates which extension downloaded this file by name and URL.">
        Downloaded by &lt;a href=&quot;<ph name="URL">$1<ex>adblock.com</ex></ph>&quot;&gt;<ph name="EXTENSION">$2<ex>The Best Chrome Extension Ever</ex></ph>&lt;/a&gt;
      </message>
      <message name="IDS_DOWNLOAD_IN_INCOGNITO"
               desc="Indicates a download was started in Incognito mode.">
        Downloaded in Incognito
      </message>

      <!-- Download Notification Labels -->
      <message name="IDS_DOWNLOAD_NOTIFICATION_COPY_TO_CLIPBOARD"
               desc="In the download notification, the text of 'Copy to clipboard' button, which is to copy the file content (eg. an image for image files) to the clipboard">
        Copy to clipboard
      </message>
      <message name="IDS_DOWNLOAD_NOTIFICATION_ANNOTATE"
               desc="In the download notification, the text of the button that opens the file (if it is an image) in the note-taking app so the user can annotate it">
        Annotate image
      </message>

      <!-- Download Context Menu Items -->
      <if expr="not is_android">
        <if expr="not use_titlecase">
          <if expr="is_macosx">
            <message name="IDS_DOWNLOAD_MENU_SHOW"
                  desc="Mac: Show the file in the Finder, 'Show in Finder' item"
                  meaning="'show in Finder' on Mac in Sentence case">
              &amp;Show in Finder
            </message>
          </if>
          <if expr="not is_macosx">
            <message name="IDS_DOWNLOAD_MENU_SHOW"
                     desc="Show the file in file explorer, 'Show in folder' item"
                  meaning="'show in folder' on non Mac in Sentence case">
              &amp;Show in folder
            </message>
          </if>
          <message name="IDS_DOWNLOAD_MENU_OPEN_WHEN_COMPLETE"
                   desc="Download context menu: Open when download is finished">
            Open when &amp;done
          </message>
          <message name="IDS_DOWNLOAD_MENU_OPEN"
                   desc="Download context menu: Open download">
            &amp;Open
          </message>
          <message name="IDS_DOWNLOAD_MENU_ALWAYS_OPEN_TYPE"
                   desc="Download context menu: Open when download is finished">
            &amp;Always open files of this type
          </message>
          <message name="IDS_DOWNLOAD_MENU_PLATFORM_OPEN"
          desc="Download context menu: Open the download using the default handler for the platform.">
            Open with system viewer
          </message>
          <message name="IDS_DOWNLOAD_MENU_PLATFORM_OPEN_ALWAYS"
          desc="Download context menu: Always open the download using the default handler for the platform.">
            Always open with system viewer
          </message>
          <message name="IDS_DOWNLOAD_MENU_CANCEL"
                   desc="Download context menu: Cancel">
            &amp;Cancel
          </message>
          <message name="IDS_DOWNLOAD_MENU_PAUSE_ITEM"
                   desc="Download context menu: Pause download">
            &amp;Pause
          </message>
          <message name="IDS_DOWNLOAD_MENU_RESUME_ITEM"
                   desc="Download context menu: Resume download">
            &amp;Resume
          </message>
          <message name="IDS_DOWNLOAD_MENU_DISCARD"
                   desc="Download context menu: Discard malicious download">
            &amp;Discard
          </message>
          <message name="IDS_DOWNLOAD_MENU_KEEP"
                   desc="Download context menu: Keep malicious download">
            &amp;Keep
          </message>
          <message name="IDS_DOWNLOAD_MENU_LEARN_MORE_SCANNING"
                   desc="Download context menu: Show information about download scanning">
            &amp;Learn more
          </message>
          <message name="IDS_DOWNLOAD_MENU_LEARN_MORE_INTERRUPTED"
                   desc="Download context menu: Show information about interrupted downloads">
            &amp;More information
          </message>
        </if>
        <if expr="use_titlecase">
           <if expr="is_macosx">
            <message name="IDS_DOWNLOAD_MENU_SHOW"
                     desc="In Title Case: Mac: Show the file in the Finder, 'Show in Finder' item"
                  meaning="'show in Finder' on Mac in Title Case">
              &amp;Show in Finder
            </message>
          </if>
           <if expr="not is_macosx">
            <message name="IDS_DOWNLOAD_MENU_SHOW"
                     desc="In Title Case: Show the file in file explorer, 'Show in folder' item"
                  meaning="'show in folder' on non Mac in Title Case">
              &amp;Show in Folder
            </message>
          </if>
          <message name="IDS_DOWNLOAD_MENU_OPEN_WHEN_COMPLETE"
                   desc="In Title Case: Download context menu: Open when download is finished">
            Open When &amp;Done
          </message>
          <message name="IDS_DOWNLOAD_MENU_OPEN"
                   desc="In Title Case: Download context menu: Open download">
            &amp;Open
          </message>
          <message name="IDS_DOWNLOAD_MENU_ALWAYS_OPEN_TYPE"
                   desc="In Title Case: Download context menu: Open when download is finished">
            &amp;Always Open Files of This Type
          </message>
          <message name="IDS_DOWNLOAD_MENU_PLATFORM_OPEN"
                   desc="In Title Case: Download context menu: Open the download using the default handler for the platform.">
            Open With System Viewer
          </message>
          <message name="IDS_DOWNLOAD_MENU_PLATFORM_OPEN_ALWAYS"
                   desc="In Title Case: Download context menu: Always open the download using the default handler for the platform.">
            Always Open With System Viewer
          </message>
          <message name="IDS_DOWNLOAD_MENU_CANCEL"
                   desc="In Title Case: Download context menu: Cancel">
            &amp;Cancel
          </message>
          <message name="IDS_DOWNLOAD_MENU_PAUSE_ITEM"
                   desc="In Title Case: Download context menu: Pause download">
            &amp;Pause
          </message>
          <message name="IDS_DOWNLOAD_MENU_RESUME_ITEM"
                   desc="In Title Case: Download context menu: Resume download">
            &amp;Resume
          </message>
          <message name="IDS_DOWNLOAD_MENU_DISCARD"
                   desc="In Title Case: Download context menu: Discard malicious download">
            &amp;Discard
          </message>
          <message name="IDS_DOWNLOAD_MENU_KEEP"
                   desc="In Title Case: Download context menu: Keep malicious download">
            &amp;Keep
          </message>
          <message name="IDS_DOWNLOAD_MENU_LEARN_MORE_SCANNING"
                   desc="In Title Case: Download context menu: Show information about download scanning">
            &amp;Learn More
          </message>
          <message name="IDS_DOWNLOAD_MENU_LEARN_MORE_INTERRUPTED"
                   desc="In Title Case: Download context menu: Show information about interrupted downloads">
            &amp;More Information
          </message>
        </if>  <!-- not use_titlecase -->
        <if expr="is_win">
          <message name="IDS_DOWNLOAD_MENU_ALWAYS_OPEN_PDF_IN_READER"
                   desc="Download context menu: Always open PDFs using Adobe Reader">
            Always open in Adobe Reader
          </message>
        </if>
      </if>

      <!-- Touch Bar-->
      <if expr="is_macosx">
        <message name="IDS_CUSTOMIZE_TOUCH_BAR"
                 desc="Menu item text for customizing the Touch Bar.">
          Customize Touch Bar
        </message>

        <message name="IDS_TOUCH_BAR_GOOGLE_SEARCH"
                   desc="Text for the search button in the touch bar when Google is the default search provider. Pressing the button will bring focus to the omnibox.">
          Search or type URL
        </message>
        <message name="IDS_TOUCH_BAR_SEARCH"
                   desc="Text for the search button in the touch bar when Google is not the default search provider. Pressing the button will bring focus to the omnibox. $1 is the name of the search provider)">
          Search <ph name="SEARCH_ENGINE">$1<ex>Bing</ex></ph>
        </message>
        <message name="IDS_TOOLTIP_TOUCH_BAR_BACK" desc="The tooltip for the touch bar back button.">
        Touch to go back.
        </message>
        <message name="IDS_TOOLTIP_TOUCH_BAR_FORWARD" desc="The tooltip for the touch bar forward button.">
        Touch to go forward.
        </message>
        <message name="IDS_TOUCH_BAR_BACK_FORWARD_CUSTOMIZATION_LABEL"
                   desc="Customization label for the back and forward buttons in the touch bar.">
          Back/Forward
        </message>
        <message name="IDS_TOUCH_BAR_STOP_RELOAD_CUSTOMIZATION_LABEL"
                   desc="Customization label for the stop or reload button in the touch bar.">
          Stop/Reload
        </message>
        <message name="IDS_TOUCH_BAR_HOME_CUSTOMIZATION_LABEL"
                   desc="Customization label for the home button in the touch bar.">
          Home
        </message>
        <message name="IDS_TOUCH_BAR_BOOKMARK_CUSTOMIZATION_LABEL"
                   desc="Customization label for the bookmark button in the touch bar.">
          Bookmark
        </message>
        <message name="IDS_TOUCH_BAR_NEW_TAB_CUSTOMIZATION_LABEL"
                   desc="Customization label for the new tab button in the touch bar.">
          New Tab
        </message>
        <message name="IDS_TOUCH_BAR_EXIT_FULLSCREEN" desc="Text for the exit fullscreen button in the touch bar.">
        Exit Full Screen
        </message>
      </if>

      <!-- Remove in-progress downloads confirmation dialog -->
      <if expr="not is_macosx">
      <message name="IDS_DOWNLOAD_REMOVE_CONFIRM_TITLE" desc="Title of the dialog asking for user confirmation to close the browser or the last incognito window when one or more downloads are in progress. If necessary, add '#' for plural cases. [ICU Syntax]">
      {NUM_DOWNLOAD, plural,
       =1 {Download in progress} other {Downloads in progress}}
      </message>
      <message name="IDS_DOWNLOAD_REMOVE_CONFIRM_OK_BUTTON_LABEL" desc="Button text for canceling the downloads and closing the browser or the last incognito window when one or more downloads are in progress. If necessary, add '#' for plural cases. [ICU Syntax]">
      {NUM_DOWNLOAD, plural,
        =1 {Cancel download} other {Cancel downloads}}
      </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. If necessary, add '#' for plural cases. [ICU Syntax]">
      {NUM_DOWNLOAD, plural, =1 {Continue download} other {Continue downloads}}
      </message>
      </if>
      <if expr="is_macosx">
      <message name="IDS_DOWNLOAD_REMOVE_CONFIRM_TITLE" desc="In Title Case: Title of the dialog asking for user confirmation to close the browser or the last incognito window when one or more downloads are in progress. If necessary, add '#' for plural cases. [ICU Syntax]">
      {NUM_DOWNLOAD, plural,
       =1 {Download in Progress} other {Downloads in Progress}}
      </message>
      <message name="IDS_DOWNLOAD_REMOVE_CONFIRM_OK_BUTTON_LABEL" desc="In Title Case: Button text for canceling the downloads and closing the browser or the last incognito window when one or more downloads are in progress. If necessary, add '#' for plural cases. [ICU Syntax]">
      {NUM_DOWNLOAD, plural,
        =1 {Cancel Download} other {Cancel Downloads}}
      </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. If necessary, add '#' for plural cases. [ICU Syntax]">
      {NUM_DOWNLOAD, plural,
        =1 {Continue Download} other {Continue Downloads}}
      </message>
      </if>
      <message name="IDS_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. [ICU Syntax]">
      {NUM_DOWNLOAD, plural,
        =1 {A download is currently in progress. Do you want to cancel the download and exit incognito mode?}
        other {# downloads are currently in progress. Do you want to cancel the downloads and exit incognito mode?}}
      </message>

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

      <!-- Bookmark app bubble -->
      <if expr="use_ash">
        <message name="IDS_ADD_TO_SHELF_BUBBLE_TITLE" desc="Title of the bubble for adding a bookmark app to the shelf.">
          Add to shelf
        </message>
      </if>
      <if expr="not use_titlecase">
        <message name="IDS_ADD_TO_DESKTOP_BUBBLE_TITLE" desc="Title of the bubble for adding a bookmark app to the desktop.">
          Add to desktop
        </message>
      </if>
      <if expr="use_titlecase and not is_macosx">
        <message name="IDS_ADD_TO_DESKTOP_BUBBLE_TITLE" desc="Title of the bubble for adding a bookmark app to the desktop.">
          Add to Desktop
        </message>
      </if>
      <if expr="is_macosx">
        <message name="IDS_ADD_TO_DESKTOP_BUBBLE_TITLE" desc="Title of the bubble adding a bookmark app to the Applications Folder on Mac.">
          Add to Applications
        </message>
      </if>

      <message name="IDS_BOOKMARK_APP_AX_BUBBLE_NAME_LABEL" desc="Text preceding the name of a bookmark app, read by spoken feedback.">
        Shortcut name
      </message>
      <message name="IDS_BOOKMARK_APP_BUBBLE_OPEN_AS_WINDOW" desc="Checkbox text for opening the bookmark app as a window.">
        Open as window
      </message>

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

      <!-- "Create application shortcuts" menu item -->
      <if expr="is_macosx">
        <message name="IDS_ADD_TO_APPLICATIONS" desc="Button text for adding a bookmark app to the Applications Folder.">
          Add to Applications...
        </message>
      </if>
      <if expr="use_ash">
        <message name="IDS_ADD_TO_SHELF" desc="Button text for adding a bookmark app to the shelf.">
          Add to shelf...
        </message>
      </if>
      <if expr="not use_titlecase">
        <message name="IDS_ADD_TO_DESKTOP" desc="Button text for adding a bookmark app to the desktop.">
          Add to desktop...
        </message>
      </if>
      <if expr="use_titlecase">
        <message name="IDS_ADD_TO_DESKTOP" desc="Button text for adding a bookmark app to the desktop.">
          Add to Desktop...
        </message>
      </if>

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

      <message name="IDS_APPLICATION_INFO_RETAINED_FILES" desc="A line of explanatory text that precedes the list of files the app has permanent access to, showing the number of files. This is shown when an app has persistent access to files. [ICU Syntax]">
          {NUM_FILES, plural,
           =1 {Access a file stored on your computer}
           other {Access # files stored on your computer}}
      </message>

      <message name="IDS_APPLICATION_INFO_RETAINED_DEVICES" desc="A line of explanatory text that precedes the list of USB devices the app has permanent access to, showing the number of USB devices. This is shown when an app has persistent access to USB devices. [ICU Syntax]">
        {NUM_DEVICES, plural,
         =1 {Communicate with a USB device}
         other {Communicate with # USB devices}}
      </message>

      <!-- "Create application shortcuts" dialog -->
      <if expr="not is_macosx">
        <if expr="not use_titlecase">
          <message name="IDS_CREATE_SHORTCUTS_TITLE" desc="Title of the dialog to create application shortcuts for current page.">
            Create application shortcuts
          </message>
        </if>
        <if expr="use_titlecase">
          <message name="IDS_CREATE_SHORTCUTS_TITLE" desc="In Title Case: title of the dialog to create application shortcuts for current page.">
            Create Application Shortcuts
          </message>
        </if>
        <message name="IDS_CREATE_SHORTCUTS_LABEL" desc="Contents of the main label in the create application shortcuts dialog explaining the dialog.">
          Add shortcuts to 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_COMMIT" desc="Title of the button to actually create the shortcuts.">
          Create
        </message>
      </if>
      <if expr="is_win">
        <message name="IDS_CREATE_SHORTCUTS_START_MENU_CHKBOX" desc="Label of the checkbox to create an application shortcut in the start menu.">
          Start menu
        </message>
        <message name="IDS_CREATE_SHORTCUTS_QUICK_LAUNCH_BAR_CHKBOX" desc="Label of the checkbox to create an application shortcut in quick launch bar.">
          Quick launch bar
        </message>
        <message name="IDS_PIN_TO_TASKBAR_CHKBOX" desc="Label of the checkbox to pin an application shortcut to taskbar.">
          Pin to Taskbar
        </message>
      </if>

      <!-- Web Share Target picker dialog -->
      <if expr="not use_titlecase">
        <message name="IDS_WEBSHARE_TARGET_PICKER_TITLE" desc="Title of the dialog to choose a target for sharing.">
          Share via
        </message>
      </if>
      <if expr="use_titlecase">
        <message name="IDS_WEBSHARE_TARGET_PICKER_TITLE" desc="Title of the dialog to choose a target for sharing.">
          Share Via
        </message>
      </if>
      <message name="IDS_WEBSHARE_TARGET_PICKER_LABEL" desc="Text of the main label in the dialog to choose a target for sharing.">
        Choose an app to share to:
      </message>
      <message name="IDS_WEBSHARE_TARGET_PICKER_COMMIT" desc="Title of the button to share content to the chosen application.">
        Share
      </message>

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

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

      <!-- Win certificate selector dialog strings.  -->
      <if expr="toolkit_views">
        <message name="IDS_CERT_SELECTOR_SUBJECT_COLUMN" desc="The text of the header for the certificate subject column in the certificate selector dialog.">
          Subject
        </message>
        <message name="IDS_CERT_SELECTOR_ISSUER_COLUMN" desc="The text of the header for the certificate issuer column in the certificate selector dialog.">
          Issuer
        </message>
        <message name="IDS_CERT_SELECTOR_PROVIDER_COLUMN" desc="The text of the header for the certificate provider column in the certificate selector dialog.">
          Provider
        </message>
        <message name="IDS_CERT_SELECTOR_SERIAL_COLUMN" desc="The text of the header for the certificate serial number column in the certificate selector dialog.">
          Serial
        </message>
      </if>

      <!-- Certificate viewer dialog strings that are shared across all the platforms -->
      <message name="IDS_CERT_INFO_SUBJECT_GROUP" desc="The label of the Issued To group in the general page of the certificate info dialog">
        Issued To
      </message>
      <message name="IDS_CERT_INFO_ISSUER_GROUP" desc="The label of the Issued By group in the general page of the certificate info dialog">
        Issued By
      </message>
      <message name="IDS_CERT_INFO_COMMON_NAME_LABEL" desc="The label of the Common Name field in the general page of the certificate info dialog.  (CN) is the name of this field in the standard">
        Common Name (CN)
      </message>
      <message name="IDS_CERT_INFO_ORGANIZATION_LABEL" desc="The label of the Organization field in the general page of the certificate info dialog.  (O) is the name of this field in the standard">
        Organization (O)
      </message>
      <message name="IDS_CERT_INFO_ORGANIZATIONAL_UNIT_LABEL" desc="The label of the Organizational Unit field in the general page of the certificate info dialog.  (OU) is the name of this field in the standard">
        Organizational Unit (OU)
      </message>
      <message name="IDS_CERT_INFO_SERIAL_NUMBER_LABEL" desc="The label of the Serial Number field in the general page of the certificate info dialog.">
        Serial Number
      </message>
      <message name="IDS_CERT_INFO_VALIDITY_GROUP" desc="The label of the group showing the validity (issued and expired dates) in the general page of the certificate info dialog">
        Validity Period
      </message>
      <message name="IDS_CERT_INFO_ISSUED_ON_LABEL" desc="The label of the Issued On field in the general page of the certificate info dialog">
        Issued On
      </message>
      <message name="IDS_CERT_INFO_EXPIRES_ON_LABEL" desc="The label of the Issued On field in the general page of the certificate info dialog">
        Expires On
      </message>
      <message name="IDS_CERT_INFO_FINGERPRINTS_GROUP" desc="The label of the group showing the certificate fingerprints in the general page of the certificate info dialog">
        Fingerprints
      </message>
      <message name="IDS_CERT_INFO_SHA256_FINGERPRINT_LABEL" desc="The label of the SHA-256 Fingerprint field in the general page of the certificate info dialog">
        SHA-256 Fingerprint
      </message>
      <message name="IDS_CERT_INFO_SHA1_FINGERPRINT_LABEL" desc="The label of the SHA-1 Fingerprint field in the general page of the certificate info dialog">
        SHA-1 Fingerprint
      </message>
      <message name="IDS_CERT_EXPORT_TYPE_BASE64" desc="The description of saving a single certificate in base64 encoding.">
        Base64-encoded ASCII, single certificate
      </message>
      <message name="IDS_CERT_EXPORT_TYPE_BASE64_CHAIN" desc="The description of saving a certificate chain in base64 encoding.">
        Base64-encoded ASCII, certificate chain
      </message>
      <message name="IDS_CERT_EXPORT_TYPE_DER" desc="The description of saving a single certificate in DER encoding.">
        DER-encoded binary, single certificate
      </message>
      <message name="IDS_CERT_EXPORT_TYPE_PKCS7" desc="The description of saving a single certificate in PKCS #7 encoding.">
        PKCS #7, single certificate
      </message>
      <message name="IDS_CERT_EXPORT_TYPE_PKCS7_CHAIN" desc="The description of saving a single certificate in PKCS #7 encoding.">
        PKCS #7, certificate chain
      </message>

      <!-- WebUI Certificate viewer dialog strings. Android uses an OS-level certificate manager. -->
      <if expr="not is_android">
        <message name="IDS_CERT_INFO_DIALOG_TITLE" desc="Title of dialog displaying info about a certificate">
          Certificate Viewer: <ph name="CERTIFICATE_NAME">$1<ex>www.google.com</ex></ph>
        </message>
        <message name="IDS_CERT_INFO_GENERAL_TAB_LABEL" desc="Title of the notebook page displaying the basic info about the certificate">
          &amp;General
        </message>
        <message name="IDS_CERT_INFO_DETAILS_TAB_LABEL" desc="Title of the notebook page displaying the details about the certificate">
          &amp;Details
        </message>
        <message name="IDS_CERT_INFO_VERIFIED_USAGES_GROUP" desc="The label of the group in the general page of the certificate info dialog which lists the usages that the certificate is verified for">
          This certificate has been verified for the following usages:
        </message>
        <message name="IDS_CERT_USAGE_SSL_CLIENT" desc="The description of a certificate that is verified for use as an SSL client">
          SSL Client Certificate
        </message>
        <message name="IDS_CERT_USAGE_SSL_SERVER" desc="The description of a certificate that is verified for use as an SSL server">
          SSL Server Certificate
        </message>
        <message name="IDS_CERT_USAGE_SSL_SERVER_WITH_STEPUP" desc="The description of a certificate that is verified for use as an SSL server with step up">
          SSL Server with Step-up
        </message>
        <message name="IDS_CERT_USAGE_EMAIL_SIGNER" desc="The description of a certificate that is verified for signing emails">
          Email Signer Certificate
        </message>
        <message name="IDS_CERT_USAGE_EMAIL_RECEIVER" desc="The description of a
          certificate that is verified for encrypting email">
          Email Encryption Certificate
        </message>
        <message name="IDS_CERT_USAGE_OBJECT_SIGNER" desc="The description of a certificate that is verified for signing executable code">
          Code Signer
        </message>
        <message name="IDS_CERT_USAGE_SSL_CA" desc="The description of a certificate that is verified for use by an SSL certification authority">
          SSL Certification Authority
        </message>
        <message name="IDS_CERT_USAGE_STATUS_RESPONDER" desc="The description of a certificate that is verified for use as a status responder">
          Status Responder Certificate
        </message>
        <message name="IDS_CERT_INFO_IDN_VALUE_FORMAT" desc="The format of values for Common Name and SubjectAltName fields in the certificate info dialog when a name is an Internationalized Domain Name (eg, παράδειγμα.δοκιμή).">
          <ph name="ASCII_NAME">$1<ex>xn--hxajbheg2az3al.xn--jxalpdlp</ex></ph> (<ph name="UNICODE_NAME">$2<ex>see desc; only ASCII allowed in ph.</ex></ph>)
        </message>
        <message name="IDS_CERT_INFO_FIELD_NOT_PRESENT" desc="The text displayed in the certificate info dialog for a given field when the certificate does not contain that field">
          &lt;Not Part Of Certificate&gt;
        </message>
        <message name="IDS_CERT_DETAILS_CERTIFICATE_HIERARCHY_LABEL" desc="The label of the Certificate Hierarchy tree in the details page of the certificate info dialog.">
          Certificate Hierarchy
        </message>
        <message name="IDS_CERT_DETAILS_CERTIFICATE_FIELDS_LABEL" desc="The label of the Certificate Fields tree in the details page of the certificate info dialog.">
          Certificate Fields
        </message>
        <message name="IDS_CERT_DETAILS_CERTIFICATE_FIELD_VALUE_LABEL" desc="The label of the Certificate Field Value text in the details page of the certificate info dialog.">
          Field Value
        </message>
        <message name="IDS_CERT_DETAILS_CERTIFICATE" desc="The label of the Certificate element in the details page of the certificate info dialog.">
          Certificate
        </message>
        <message name="IDS_CERT_DETAILS_VERSION" desc="The label of the Version element in the details page of the certificate info dialog.">
          Version
        </message>
        <message name="IDS_CERT_DETAILS_VERSION_FORMAT" desc="The format of the Version field value in the details page of the certificate info dialog.">
          Version <ph name="NUMBER">$1<ex>3</ex></ph>
        </message>
        <message name="IDS_CERT_DETAILS_SERIAL_NUMBER" desc="The label of the Serial Number element in the details page of the certificate info dialog.">
          Serial Number
        </message>
        <message name="IDS_CERT_DETAILS_CERTIFICATE_SIG_ALG" desc="The label of the Certificate Signature Algorithm element in the details page of the certificate info dialog.">
          Certificate Signature Algorithm
        </message>
        <message name="IDS_CERT_DETAILS_ISSUER" desc="The label of the Issuer element in the details page of the certificate info dialog.">
          Issuer
        </message>
        <message name="IDS_CERT_DETAILS_VALIDITY" desc="The label of the Validity element in the details page of the certificate info dialog.">
          Validity
        </message>
        <message name="IDS_CERT_DETAILS_NOT_BEFORE" desc="The label of the Validity->Not Before element in the details page of the certificate info dialog.">
          Not Before
        </message>
        <message name="IDS_CERT_DETAILS_NOT_AFTER" desc="The label of the Validity->Not After element in the details page of the certificate info dialog.">
          Not After
        </message>
        <message name="IDS_CERT_DETAILS_SUBJECT" desc="The label of the Subject element in the details page of the certificate info dialog. (In this case, subject refers to the entity the certificate was issued to.)">
          Subject
        </message>
        <message name="IDS_CERT_DETAILS_SUBJECT_KEY_INFO" desc="The label of the Subject Public Key Info element in the details page of the certificate info dialog. (In this case, subject refers to the entity the certificate was issued to.)">
          Subject Public Key Info
        </message>
        <message name="IDS_CERT_DETAILS_SUBJECT_KEY_ALG" desc="The label of the Subject Public Key Algorithm element in the details page of the certificate info dialog. (In this case, subject refers to the entity the certificate was issued to.)">
          Subject Public Key Algorithm
        </message>
        <message name="IDS_CERT_DETAILS_SUBJECT_KEY" desc="The label of the Subject's Public Key element in the details page of the certificate info dialog. (In this case, subject refers to the entity the certificate was issued to.)">
          Subject's Public Key
        </message>
        <message name="IDS_CERT_RSA_PUBLIC_KEY_DUMP_FORMAT" desc="Format for displaying a textual dump of an RSA public key.">
  Modulus (<ph name="MODULUS_NUM_BITS">$1<ex>1024</ex></ph> bits):
  <ph name="MODULUS_HEX_DUMP">$2<ex>00 0A 38 CF ...</ex></ph>

  Public Exponent (<ph name="PUBLIC_EXPONENT_NUM_BITS">$3<ex>24</ex></ph> bits):
  <ph name="EXPONENT_HEX_DUMP">$4<ex>01 00 01</ex></ph>
        </message>
        <message name="IDS_CERT_DETAILS_EXTENSIONS" desc="The label of the Extensions element in the details page of the certificate info dialog.">
          Extensions
        </message>
        <message name="IDS_CERT_DETAILS_CERTIFICATE_SIG_VALUE" desc="The label of the Certificate Signature Value element in the details page of the certificate info dialog.">
          Certificate Signature Value
        </message>
        <message name="IDS_CERT_DETAILS_EXPORT_CERTIFICATE" desc="The label of the button to export the selected certificate">
          E&amp;xport...
        </message>

        <message translateable="false" name="IDS_CERT_OID_AVA_COMMON_NAME" desc="">
          CN
        </message>
        <message translateable="false" name="IDS_CERT_OID_AVA_STATE_OR_PROVINCE" desc="">
          ST
        </message>
        <message translateable="false" name="IDS_CERT_OID_AVA_ORGANIZATION_NAME" desc="">
          O
        </message>
        <message translateable="false" name="IDS_CERT_OID_AVA_ORGANIZATIONAL_UNIT_NAME" desc="">
          OU
        </message>
        <message translateable="false" name="IDS_CERT_OID_AVA_DN_QUALIFIER" desc="">
          dnQualifier
        </message>
        <message translateable="false" name="IDS_CERT_OID_AVA_COUNTRY_NAME" desc="">
          C
        </message>
        <message translateable="false" name="IDS_CERT_OID_AVA_SERIAL_NUMBER" desc="">
          serialNumber
        </message>
        <message translateable="false" name="IDS_CERT_OID_AVA_LOCALITY" desc="">
          L
        </message>
        <message translateable="false" name="IDS_CERT_OID_AVA_DC" desc="">
          DC
        </message>
        <message translateable="false" name="IDS_CERT_OID_RFC1274_MAIL" desc="">
          MAIL
        </message>
        <message translateable="false" name="IDS_CERT_OID_RFC1274_UID" desc="">
          UID
        </message>
        <message translateable="false" name="IDS_CERT_OID_PKCS9_EMAIL_ADDRESS" desc="">
          E
        </message>
        <message translateable="false" name="IDS_CERT_OID_BUSINESS_CATEGORY" desc="">
          businessCategory
        </message>
        <message translateable="false" name="IDS_CERT_OID_EV_INCORPORATION_LOCALITY" desc="">
          jurisdictionLocalityName
        </message>
        <message translateable="false" name="IDS_CERT_OID_EV_INCORPORATION_STATE" desc="">
          jurisdictionStateOrProvinceName
        </message>
        <message translateable="false" name="IDS_CERT_OID_EV_INCORPORATION_COUNTRY" desc="">
          jurisdictionCountryName
        </message>
        <message translateable="false" name="IDS_CERT_OID_AVA_STREET_ADDRESS" desc="">
          STREET
        </message>
        <message translateable="false" name="IDS_CERT_OID_AVA_POSTAL_CODE" desc="">
          postalCode
        </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_OID_ANSIX962_ECDSA_SHA1_SIGNATURE" desc="description of public key algorithm SEC_OID_ANSIX962_ECDSA_SHA1_SIGNATURE">
          X9.62 ECDSA Signature with SHA-1
        </message>
        <message name="IDS_CERT_OID_ANSIX962_ECDSA_SHA256_SIGNATURE" desc="description of public key algorithm SEC_OID_ANSIX962_ECDSA_SHA256_SIGNATURE">
          X9.62 ECDSA Signature with SHA-256
        </message>
        <message name="IDS_CERT_OID_ANSIX962_ECDSA_SHA384_SIGNATURE" desc="description of public key algorithm SEC_OID_ANSIX962_ECDSA_SHA384_SIGNATURE">
          X9.62 ECDSA Signature with SHA-384
        </message>
        <message name="IDS_CERT_OID_ANSIX962_ECDSA_SHA512_SIGNATURE" desc="description of public key algorithm SEC_OID_ANSIX962_ECDSA_SHA512_SIGNATURE">
          X9.62 ECDSA Signature with SHA-512
        </message>
        <message name="IDS_CERT_OID_ANSIX962_EC_PUBLIC_KEY" desc="description of public key algorithm SEC_OID_ANSIX962_EC_PUBLIC_KEY">
          Elliptic Curve Public Key
        </message>
        <message name="IDS_CERT_OID_SECG_EC_SECP256R1" desc="description of public key algorithm SEC_OID_SECG_EC_SECP256R1">
          SECG elliptic curve secp256r1 (aka ANSI X9.62 prime256v1, NIST P-256)
        </message>
        <message name="IDS_CERT_OID_SECG_EC_SECP384R1" desc="description of public key algorithm SEC_OID_SECG_EC_SECP384R1">
          SECG elliptic curve secp384r1 (aka NIST P-384)
        </message>
        <message name="IDS_CERT_OID_SECG_EC_SECP521R1" desc="description of public key algorithm SEC_OID_SECG_EC_SECP521R1">
          SECG elliptic curve secp521r1 (aka NIST P-521)
        </message>

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

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

      <if expr="chromeos">
        <message name="IDS_CERT_MANAGER_IMPORT_AND_BIND_BUTTON" desc="Label for the button in the certificate manager which allows you to import certificates and bind to your device.">
          Import and Bind to Device...
        </message>
        <message name="IDS_CERT_MANAGER_KEY_FORMAT_LONG" desc="A longer format for keys in the wifi / vpn config dialogs.">
          <ph name="ISSUED_BY">$1<ex>Google Inc</ex></ph> [<ph name="ISSUED_TO">$2<ex>John Doe</ex></ph>]
        </message>
        <message name="IDS_CERT_MANAGER_HARDWARE_BACKED_KEY_FORMAT_LONG" desc="A longer format for hardware-backed keys in the wifi / vpn config dialogs.">
          <ph name="ISSUED_BY">$1<ex>Google Inc</ex></ph> [<ph name="ISSUED_TO">$2<ex>John Doe</ex></ph>] (<ph name="DEVICE">$3<ex>hardware-backed</ex></ph>)
        </message>
      </if>

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

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

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

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

      <!-- User Image Selection Dialog -->
      <if expr="chromeos">
        <message name="IDS_USER_IMAGE_SCREEN_TITLE" desc="String to be displayed in the title bar of the oobe/login user image selection dialog">
          Set your profile picture
        </message>
        <message name="IDS_USER_IMAGE_SCREEN_DESCRIPTION" desc="Description text for the oobe/login user image selection dialog.">
          Take a new photo or choose an existing photo or icon.
          <ph name="LINE_BREAK">&lt;br&gt;&lt;br&gt;</ph>
          This picture will show up on the Chromebook sign in screen and lock screen.
        </message>
      </if>

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

      <!-- Task Manager Window -->
      <if expr="not is_android">
        <if expr="not use_titlecase">
          <message name="IDS_TASK_MANAGER_KILL" desc="The caption of the Task Manager kill button">
            End process
          </message>
          <message name="IDS_TASK_MANAGER_PROCESS_ID_COLUMN" desc="The title for Task Manager process ID column.">
            Process ID
          </message>
          <message name="IDS_TASK_MANAGER_GDI_HANDLES_COLUMN" desc="The title for Task Manager GDI handles column.">
            GDI handles
          </message>
          <message name="IDS_TASK_MANAGER_USER_HANDLES_COLUMN" desc="The title for Task Manager USER handles column.">
            USER handles
          </message>
          <message name="IDS_TASK_MANAGER_TASK_COLUMN" desc="The text of the task column">
            Task
          </message>
          <message name="IDS_TASK_MANAGER_NACL_DEBUG_STUB_PORT_COLUMN" desc="The text of the NativeClient debug stub port column">
            NaCl debug port
          </message>
          <message name="IDS_TASK_MANAGER_NET_COLUMN" desc="The text of the network usage column">
            Network
          </message>
          <message name="IDS_TASK_MANAGER_CPU_COLUMN" desc="The text of the CPU usage column">
            CPU
          </message>
          <message name="IDS_TASK_MANAGER_START_TIME_COLUMN" desc="The text of the process start time column">
            Start Time
          </message>
          <message name="IDS_TASK_MANAGER_CPU_TIME_COLUMN" desc="The text of the CPU time usage column">
            CPU Time
          </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_SWAPPED_MEM_COLUMN" desc="Task manager process swapped memory column. Shows the size of the memory that lives in the swap space.">
            Swapped memory
          </message>
          <message name="IDS_TASK_MANAGER_PROFILE_NAME_COLUMN" desc="The name of the column with the name of the profile in which the page is running, if any.">
            Profile
          </message>
          <message name="IDS_TASK_MANAGER_IDLE_WAKEUPS_COLUMN" desc="Task manager idle processor wakeups column">
            Idle wake ups
          </message>
          <message name="IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN" desc="Task manager open fds (file descriptors) count column">
            File descriptors
          </message>
          <message name="IDS_TASK_MANAGER_PROCESS_PRIORITY_COLUMN" desc="Task manager process priority column">
            Process priority
          </message>
          <message name="IDS_TASK_MANAGER_WEBCORE_IMAGE_CACHE_COLUMN" desc="Task manager WebCore image cache size column.">
            Image cache
          </message>
          <message name="IDS_TASK_MANAGER_WEBCORE_SCRIPTS_CACHE_COLUMN" desc="Task manager WebCore scripts cache size column.">
            Script cache
          </message>
          <message name="IDS_TASK_MANAGER_WEBCORE_CSS_CACHE_COLUMN" desc="Task manager WebCore CSS cache size column.">
            CSS cache
          </message>
          <message name="IDS_TASK_MANAGER_VIDEO_MEMORY_COLUMN" desc="The text of the video memory usage column">
            GPU memory
          </message>
          <message name="IDS_TASK_MANAGER_SQLITE_MEMORY_USED_COLUMN" desc="Amount of memory used by SQLite.">
            SQLite memory
          </message>
          <message name="IDS_TASK_MANAGER_JAVASCRIPT_MEMORY_ALLOCATED_COLUMN" desc="Task manager JavaScript memory allocated column.  Shows the amount of memory used by JavaScript within a process">
            JavaScript memory
          </message>
          <message name="IDS_TASK_MANAGER_MEMORY_STATE_COLUMN" desc="Task manager memory state column.  Shows the memory coordinator's state of a process">
            Memory state
          </message>
          <message name="IDS_TASK_MANAGER_KEEPALIVE_COUNT_COLUMN" desc="Task manager keepalive count column.  Specific to Chrome extension processes, and only to those which use 'lazy' event pages, this indicates how many activities are making use of the extension, and therefore causing it to be kept alive.">
            Keepalive count
          </message>
        </if>
        <if expr="use_titlecase">
          <message name="IDS_TASK_MANAGER_KILL" desc="The caption of the Task Manager kill button">
            End Process
          </message>
          <message name="IDS_TASK_MANAGER_PROCESS_ID_COLUMN" desc="The title for Task Manager process ID column.">
            Process ID
          </message>
          <message name="IDS_TASK_MANAGER_GDI_HANDLES_COLUMN" desc="The title for Task Manager GDI handles column.">
            GDI Handles
          </message>
          <message name="IDS_TASK_MANAGER_USER_HANDLES_COLUMN" desc="The title for Task Manager USER handles column.">
            USER Handles
          </message>
          <message name="IDS_TASK_MANAGER_NACL_DEBUG_STUB_PORT_COLUMN" desc="The text of the NativeClient debug stub port column">
            NaCl Debug Port
          </message>
          <message name="IDS_TASK_MANAGER_TASK_COLUMN" desc="The text of the task column">
            Task
          </message>
          <message name="IDS_TASK_MANAGER_NET_COLUMN" desc="The text of the network usage column">
            Network
          </message>
          <message name="IDS_TASK_MANAGER_CPU_COLUMN" desc="The text of the CPU usage column">
            CPU
          </message>
          <message name="IDS_TASK_MANAGER_START_TIME_COLUMN" desc="The text of the process start time column">
            Start Time
          </message>
          <message name="IDS_TASK_MANAGER_CPU_TIME_COLUMN" desc="The text of the CPU time column. This is the time that this process actually occupies the CPU.">
            CPU Time
          </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_SWAPPED_MEM_COLUMN" desc="Task manager process swapped memory column. Shows the size of the memory that lives in the swap space.">
            Swapped Memory
          </message>
          <message name="IDS_TASK_MANAGER_PROFILE_NAME_COLUMN" desc="The name of the column with the name of the profile in which the page is running, if any.">
            Profile
          </message>
          <message name="IDS_TASK_MANAGER_IDLE_WAKEUPS_COLUMN" desc="Task manager idle processor wakeups column">
            Idle Wake Ups
          </message>
          <message name="IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN" desc="Task manager open fds (file descriptors) count column">
            File Descriptors
          </message>
          <message name="IDS_TASK_MANAGER_PROCESS_PRIORITY_COLUMN" desc="Task manager process priority column">
            Process Priority
          </message>
          <message name="IDS_TASK_MANAGER_WEBCORE_IMAGE_CACHE_COLUMN" desc="Task manager WebCore image cache size column.">
            Image Cache
          </message>
          <message name="IDS_TASK_MANAGER_WEBCORE_SCRIPTS_CACHE_COLUMN" desc="Task manager WebCore scripts cache size column.">
            Script Cache
          </message>
          <message name="IDS_TASK_MANAGER_WEBCORE_CSS_CACHE_COLUMN" desc="Task manager WebCore CSS cache size column.">
            CSS Cache
          </message>
          <message name="IDS_TASK_MANAGER_VIDEO_MEMORY_COLUMN" desc="The text of the video memory usage column">
            GPU Memory
          </message>
          <message name="IDS_TASK_MANAGER_SQLITE_MEMORY_USED_COLUMN" desc="Amount of memory used by SQLite.">
            SQLite Memory
          </message>
          <message name="IDS_TASK_MANAGER_JAVASCRIPT_MEMORY_ALLOCATED_COLUMN" desc="Task manager JavaScript memory allocated column.  Shows the amount of memory used by JavaScript within a process">
            JavaScript Memory
          </message>
          <message name="IDS_TASK_MANAGER_MEMORY_STATE_COLUMN" desc="Task manager memory state column.  Shows the memory coordinator's state of a process">
            Memory State
          </message>
          <message name="IDS_TASK_MANAGER_KEEPALIVE_COUNT_COLUMN" desc="Task manager keepalive count column.  Specific to Chrome extension processes, and only to those which use 'lazy' event pages, this indicates how many activities are making use of the extension, and therefore causing it to be kept alive.">
            Keepalive Count
          </message>
        </if>
        <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 resource usage when the information is not available, or not applicable to the process.">
          &#8211;
        </message>
        <message name="IDS_TASK_MANAGER_BACKGROUNDED_TEXT" desc="The value displayed for a process with backgrounded priority">
          Low
        </message>
        <message name="IDS_TASK_MANAGER_FOREGROUNDED_TEXT" desc="The value displayed for a process with foregrounded priority">
          Normal
        </message>
        <message name="IDS_TASK_MANAGER_UNKNOWN_VALUE_TEXT" desc="The value displayed for an unknown NaCl debug stub port in the task manager.">
          Unknown
        </message>
        <message name="IDS_TASK_MANAGER_DISABLED_NACL_DBG_TEXT" desc="The value displayed for NaCl debug stub port in the task manager when the flag #enable-nacl-debug is disabled.">
          Disabled
        </message>
        <message name="IDS_TASK_MANAGER_MEMORY_STATE_NORMAL_TEXT" desc="The value displayed for a process with memory state 'normal'.">
          Normal
        </message>
        <message name="IDS_TASK_MANAGER_MEMORY_STATE_THROTTLED_TEXT" desc="The value displayed for a process with memory state 'throttled'.">
          Throttled
        </message>
        <message name="IDS_TASK_MANAGER_MEMORY_STATE_SUSPENDED_TEXT" desc="The value displayed for a process with memory state 'suspended'.">
          Suspended
        </message>
        <message name="IDS_TASK_MANAGER_HANDLES_CELL_TEXT" desc="The value displayed in the user/gdi cells.">
          <ph name="NUM_HANDLES">$1<ex>300</ex></ph> (<ph name="NUM_KILOBYTES_LIVE">$2<ex>500</ex></ph> peak)
        </message>
        <message name="IDS_TASK_MANAGER_WEB_BROWSER_CELL_TEXT" desc="The text of the web browser process row">
          Browser
        </message>
        <message name="IDS_TASK_MANAGER_EXTENSION_PREFIX" desc="The prefix for a Task Manager extension row (always visible if the extension has a view)">
          Extension: <ph name="EXTENSION_NAME">$1<ex>Sample Extension</ex></ph>
        </message>
        <message name="IDS_TASK_MANAGER_EXTENSION_INCOGNITO_PREFIX" desc="The prefix for a Task Manager incognito extension row (may not be visible if incognito is not open)">
          Incognito Extension: <ph name="EXTENSION_NAME">$1<ex>Sample Extension</ex></ph>
        </message>
        <message name="IDS_TASK_MANAGER_APP_PREFIX" desc="The prefix for a Task Manager app row (always visible if the app has a view)">
          App: <ph name="APP_NAME">$1<ex>Sample App</ex></ph>
        </message>
        <message name="IDS_TASK_MANAGER_APP_INCOGNITO_PREFIX" desc="The prefix for a Task Manager incognito app row (may not be visible if the app is not open in incognito)">
          Incognito App: <ph name="APP_NAME">$1<ex>Sample App</ex></ph>
        </message>
        <message name="IDS_TASK_MANAGER_TAB_PREFIX" desc="The prefix for a Task Manager Tab row">
          Tab: <ph name="TAB_NAME">$1<ex>Google</ex></ph>
        </message>
        <message name="IDS_TASK_MANAGER_TAB_INCOGNITO_PREFIX" desc="The prefix for a Task Manager incognito Tab row (may not be visible if incognito is not open)">
          Incognito Tab: <ph name="TAB_NAME">$1<ex>Google</ex></ph>
        </message>
        <message name="IDS_TASK_MANAGER_BACKGROUND_APP_PREFIX" desc="The prefix for a Task Manager background app task representing a BackgroundContents">
          Background App: <ph name="BACKGROUND_APP_URL">$1<ex>http://www.google.com</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">
          Plugin: <ph name="PLUGIN_NAME">$1<ex>Unknown Plugin</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">
          Plugin Broker: <ph name="PLUGIN_NAME">$1<ex>Unknown Plugin</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_RENDERER_PREFIX" desc="The prefix for a Task Manager renderer row, only is visible when no other task claims that process">
          Renderer: <ph name="RENDERER_URL">$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 plugin
        </message>
        <message name="IDS_TASK_MANAGER_UTILITY_PREFIX" desc="The prefix for a utility process row">
          Utility: <ph name="UTILITY_TYPE">$1<ex>Image Decoder</ex></ph>
        </message>
        <message name="IDS_TASK_MANAGER_NACL_PREFIX" desc="The prefix for a Task Manager Native Client module row">
          Native Client module: <ph name="NEXE_NAME">$1<ex>Unknown Native Client module</ex></ph>
        </message>
        <message name="IDS_TASK_MANAGER_NACL_BROKER_PREFIX" desc="Task Manager row for Native Client broker, which acts as the sanbox manager for NaCl processes">
          Native Client security manager
        </message>
        <message name="IDS_TASK_MANAGER_GPU_PREFIX" desc="Task Manager row for the GPU process, which is the process doing all accelerated graphics rendering">
          GPU Process
        </message>
        <message name="IDS_TASK_MANAGER_PRINT_PREFIX" desc="The prefix for a print preview process row in the Task Manager">
          Print: <ph name="PRINT_NAME">$1<ex>Google Maps</ex></ph>
        </message>
        <message name="IDS_TASK_MANAGER_SUBFRAME_PREFIX" desc="The prefix for a out-of-process-iframe row in the Task Manager (these processes are created when site isolation is enabled)">
          Subframe: <ph name="SUBFRAME_SITE">$1<ex>https://youtube.com/</ex></ph>
        </message>
        <message name="IDS_TASK_MANAGER_SUBFRAME_INCOGNITO_PREFIX" desc="The prefix for an Incognito out-of-process-iframe process row in the Task Manager (these processes are created when site isolation is enabled, in incognito mode)">
          Incognito Subframe: <ph name="SUBFRAME_SITE">$1<ex>https://youtube.com/</ex></ph>
        </message>
        <message name="IDS_TASK_MANAGER_ARC_PREFIX" desc="The prefix for an ARC general process row">
          App: <ph name="ARC_PROCESS_NAME">$1<ex>com.android.systemui</ex></ph>
        </message>
        <message name="IDS_TASK_MANAGER_ARC_PREFIX_BACKGROUND_SERVICE" desc="The prefix for an ARC service process row">
          Service: <ph name="ARC_PROCESS_NAME">$1<ex>com.android.systemui</ex></ph>
        </message>
        <message name="IDS_TASK_MANAGER_ARC_PREFIX_RECEIVER" desc="The prefix for an ARC receiver process row">
          Receiver: <ph name="ARC_PROCESS_NAME">$1<ex>com.android.systemui</ex></ph>
        </message>
        <message name="IDS_TASK_MANAGER_ARC_SYSTEM" desc="The prefix for an ARC system processes row">
          System: <ph name="ARC_PROCESS_NAME">$1<ex>com.android.systemui</ex></ph>
        </message>
        <message name="IDS_TASK_MANAGER_ISOLATED_SUBFRAMES_PREFIX" desc="The prefix for an out-of-process-iframe row in the Task Manager for subframes that were isolated because of 'top document isolation' mode">
          Subframes for: <ph name="PARENT_SITE">$1<ex>https://youtube.com/</ex></ph>
        </message>
        <message name="IDS_TASK_MANAGER_ISOLATED_INCOGNITO_SUBFRAMES_PREFIX" desc="The prefix for an Incognito out-of-process-iframe row in the Task Manager for subframes that were isolated because of 'top document isolation' mode">
          Incognito subframes for: <ph name="PARENT_SITE">$1<ex>https://youtube.com/</ex></ph>
        </message>
      </if>

      <message name="IDS_UTILITY_PROCESS_COMPONENT_PATCHER_NAME" desc="The name of the utility process used for patching components.">
        Component Patcher
      </message>
      <message name="IDS_UTILITY_PROCESS_IMAGE_DECODER_NAME" desc="The name of the utility process used for decoding images.">
        Image Decoder
      </message>
      <message name="IDS_UTILITY_PROCESS_PROXY_RESOLVER_NAME" desc="The name of the utility process used for out-of-process V8 proxy resolution.">
        V8 Proxy Resolver
      </message>
      <if expr="chromeos">
        <message name="IDS_UTILITY_PROCESS_ZIP_FILE_CREATOR_NAME" desc="The name of the utility process used for creating zip files.">
          Zip File Creator
        </message>
      </if>
      <if expr="not is_android">
        <message name="IDS_UTILITY_PROCESS_PROFILE_IMPORTER_NAME" desc="The name of the utility process used for importing profiles.">
          Profile Importer
        </message>
        <message name="IDS_UTILITY_PROCESS_SAFE_BROWSING_ZIP_FILE_ANALYZER_NAME" desc="The name of the utility process used for analyzing .zip files for Safe Browsing.">
          Safe Browsing Zip File Analyzer
        </message>
      </if>
      <if expr="is_win">
        <message name="IDS_UTILITY_PROCESS_PDF_CONVERTOR_NAME" desc="The name of the utility process used for converting PDFs to a different format.">
          PDF Convertor
        </message>
        <message name="IDS_UTILITY_PROCESS_FILE_DIALOG_NAME" desc="The name of the utility process used for handling a file open/save dialog.">
          File Open/Save Dialog
        </message>
        <message name="IDS_UTILITY_PROCESS_WIFI_CREDENTIALS_GETTER_NAME" desc="The name of the utility process used for getting the WiFi credentials">
          WiFi Credentials Getter
        </message>
      </if>
      <if expr="enable_extensions">
        <message name="IDS_UTILITY_PROCESS_IMAGE_WRITER_NAME" desc="The name of the utility process used for writing Chrome OS system images.">
          Chrome OS System Image Writer
        </message>
        <message name="IDS_UTILITY_PROCESS_MEDIA_FILE_CHECKER_NAME" desc="The name of the utility process used for checking media files.">
          Media File Checker
        </message>
        <message name="IDS_UTILITY_PROCESS_MEDIA_LIBRARY_FILE_CHECKER_NAME" desc="The name of the utility process used for checking media library files.">
          Media Library File Checker
        </message>
        <message name="IDS_UTILITY_PROCESS_ZIP_FILE_INSTALLER_NAME" desc="The name of the utility process used for unpacking zip files.">
          Zip File Installer
        </message>
      </if>
      <if expr="enable_print_preview">
        <message name="IDS_UTILITY_PROCESS_PWG_RASTER_CONVERTOR_NAME" desc="The name of the utility process used for converting PDFs to the PWG Raster format.">
          PWG Raster Convertor
        </message>
      </if>
      <message name="IDS_UTILITY_PROCESS_DIAL_DEVICE_DESCRIPTION_PARSER_NAME" desc="The name of the utility process used for parsing XML of uPnP device descriptions of DIAL devices.">
        DIAL Device Description Parser
      </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.">
        To re-enable it, accept the new permissions:
      </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> is disabled
      </message>
      <message name="IDS_EXTENSION_IS_BLACKLISTED" desc="Text displayed in an infobar when an extension is blacklisted and prevented from being installed.">
        Google has flagged "<ph name="EXTENSION_NAME">$1<ex>Google Talk</ex></ph>" as malicious and installation has been prevented.
      </message>
      <message name="IDS_EXTENSION_DISABLED_REMOTE_INSTALL_ERROR_TITLE" desc="Title of the notification that an extension or app was disabled due to it being installed server side, requiring an explicit permission check from the user.">
        <ph name="EXTENSION_NAME">$1<ex>Adblock</ex></ph> was added remotely
      </message>

      <if expr="enable_extensions">
        <!-- Extension blocked action bubble -->
        <message name="IDS_EXTENSION_BLOCKED_ACTION_BUBBLE_HEADING" desc="Heading of the bubble to tell users that in order to run an extension, they'll need to refresh the page.">
          Refresh required
        </message>
        <message name="IDS_EXTENSION_BLOCKED_ACTION_BUBBLE_CONTENT" desc="The content of the bubble to tell users that in order to run an extension, they'll need to refresh the page.">
          In order to run this extension, you need to refresh the page. You can run this extension automatically on this site by right-clicking on the extension icon.
        </message>
        <message name="IDS_EXTENSION_BLOCKED_ACTION_BUBBLE_OK_BUTTON" desc="The text of the button to proceed with the page refresh for running an extension.">
          OK, refresh
        </message>
        <message name="IDS_EXTENSION_BLOCKED_ACTION_BUBBLE_CANCEL_BUTTON" desc="The text of the button to close the bubble and not refresh the page or run the extension.">
          Never mind
        </message>
      </if>

      <!-- Extension/App install prompt -->
      <message name="IDS_APP_UNINSTALL_PROMPT_TITLE" desc="Titlebar of the non-platform app and ARC(App Runtime for Chrome) app uninstallation prompt window">
        Uninstall app?
      </message>
      <message name="IDS_NON_PLATFORM_APP_UNINSTALL_PROMPT_HEADING" desc="First bold line in the content area of the non-platform app uninstallation prompt. Tells the user the app will be uninstalled if confirmed.">
        "<ph name="APP_NAME">$1<ex>Gmail Checker</ex></ph>" will be uninstalled.
      </message>
      <message name="IDS_ARC_APP_UNINSTALL_PROMPT_DATA_REMOVAL_WARNING" desc="Line in the content area of the ARC(App Runtime for Chrome) app uninstallation prompt. Tells the user that local data associated with the app will be removed from this device.">
        Data associated with this app will be removed from this device.
      </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_CONFIRM_PERMISSIONS" desc="Titlebar of the extension or app permissions prompt window">
        Confirm Permissions
      </message>
      <message name="IDS_EXTENSION_DELEGATED_INSTALL_PROMPT_TITLE" desc="Titlebar of the app delegated installation prompt window">
        Add "<ph name="EXTENSION_NAME">$1<ex>Gmail Checker</ex></ph>" for <ph name="USER_NAME">$2<ex>Wallace</ex></ph>?
      </message>
      <message name="IDS_EXTENSION_INSTALL_PROMPT_TITLE" desc="Titlebar 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_UNINSTALL_PROMPT_HEADING" desc="First bold line in the content area of the extension or app uninstallation prompt. Asks the user if they want to uninstall a particular extension or app.">
        Remove "<ph name="EXTENSION_NAME">$1<ex>Gmail Checker</ex></ph>"?
      </message>
      <message name="IDS_EXTENSION_PROGRAMMATIC_UNINSTALL_PROMPT_HEADING" desc="First bold line in the content area of the extension or app uninstallation prompt when the uninstallation is programmatically triggered by another extension. Asks the user if they want to uninstall a particular extension or app.">
        "<ph name="TRIGGERING_EXTENSION_NAME">$1<ex>Extension Manager</ex></ph>" would like to remove "<ph name="EXTENSION_NAME">$2<ex>Gmail Checker</ex></ph>".
      </message>
      <message name="IDS_EXTENSION_RE_ENABLE_PROMPT_TITLE" desc="Titlebar 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_TITLE" desc="Titlebar 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_TITLE" desc="Titlebar of the extension or app permissions prompt. Shows the user the permissions a particular extension or app has.">
        Current Permissions for "<ph name="EXTENSION_NAME">$1<ex>Gmail Checker</ex></ph>"
      </message>
      <message name="IDS_EXTENSION_REMOTE_INSTALL_PROMPT_TITLE" desc="Titlebar of the extension or app installation prompt. Asks the user if they want to enable a particular extension or app that was installed remotely.">
        Enable "<ph name="EXTENSION_NAME">$1<ex>Gmail Checker</ex></ph>"?
      </message>
      <message name="IDS_EXTENSION_REPAIR_PROMPT_TITLE" desc="Titlebar of the extension or app installation prompt. Asks the user if they want to update the extension/app.">
        Repair "<ph name="EXTENSION_NAME">$1<ex>Gmail Checker</ex></ph>"?
      </message>
      <message name="IDS_EXTENSION_EXTERNAL_INSTALL_PROMPT_TITLE_APP" desc="Titlebar of the prompt window for an externally installed app">
        Another program on your computer added an app that may change the way Chrome works.


<ph name="EXTENSION_NAME">$1<ex>Babylon Toolbar</ex></ph>
      </message>
      <message name="IDS_EXTENSION_EXTERNAL_INSTALL_PROMPT_TITLE_EXTENSION" desc="Titlebar of the prompt window for an externally installed extension">
        Another program on your computer added an extension that may change the way Chrome works.

<ph name="EXTENSION_NAME">$1<ex>Babylon Toolbar</ex></ph>
      </message>
      <message name="IDS_EXTENSION_EXTERNAL_INSTALL_PROMPT_TITLE_THEME" desc="Titlebar of the prompt window for an externally installed theme">
        Another program on your computer added a theme that may change the way Chrome works.

<ph name="EXTENSION_NAME">$1<ex>Babylon Toolbar</ex></ph>
      </message>
      <if expr="use_titlecase">
        <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 (title-case).">
          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 (title-case).">
          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 (title-case).">
          Enable Theme
        </message>
      </if>
      <if expr="not use_titlecase">
        <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 (sentence-case).">
          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 (sentence-case).">
          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 (sentence-case).">
          Enable theme
        </message>
      </if>
      <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>

      <!-- 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. https://support.google.com/chrome/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 disabled.
      </message>
      <message name="IDS_APP_ALERT_ITEM_EXTERNAL" desc="A statement that an external packaged app has been newly installed. End users have no idea what an 'external' app is, so we simply call them apps.">
        The app "<ph name="EXTENSION_NAME">$1<ex>Gmail</ex></ph>" has been added.
      </message>
      <message name="IDS_APP_ALERT_ITEM_BLACKLISTED" desc="A statement that a packaged app has been newly blacklisted. https://support.google.com/chrome/answer/1210215 contains the language on which we're basing the phrasing.">
        The app "<ph name="EXTENSION_NAME">$1<ex>Gmail</ex></ph>" was automatically removed.
      </message>
      <message name="IDS_EXTENSION_ALERT_ITEM_OK" desc="The title of the default button acknowledging the information presented.">
        OK
      </message>
      <message name="IDS_EXTENSION_ALERT_ITEM_DETAILS" desc="The title of the button asking for more information.">
        Details
      </message>

      <!-- Extension/App install dialog strings -->
      <message name="IDS_EXTENSION_PROMPT_APP_CONNECT_FROM_INCOGNITO" desc="Shown when a website tries to connect to an app from incognito mode, prompting the user to allow or deny the request.">
        <ph name="ORIGIN">$1<ex>http://www.google.com</ex></ph> wants to communicate with the app "<ph name="EXTENSION_NAME">$2<ex>Gmail</ex></ph>"
      </message>
      <message name="IDS_EXTENSION_PROMPT_EXTENSION_CONNECT_FROM_INCOGNITO" desc="Shown when a website tries to connect to an extension from incognito mode, prompting the user to allow or deny the request.">
        <ph name="ORIGIN">$1<ex>http://www.google.com</ex></ph> wants to communicate with the extension "<ph name="EXTENSION_NAME">$2<ex>Gmail Checker</ex></ph>"
      </message>
      <message name="IDS_EXTENSION_PROMPT_WILL_HAVE_ACCESS_TO" desc="Second line in the content area of the extension or app installation prompt. Note that the exact wording is important. This should mean that the extension or app _can_ access the listed privileges, but not necessarily that it will or needs to.">
        It can:
      </message>
      <message name="IDS_EXTENSION_PROMPT_WILL_NOW_HAVE_ACCESS_TO" desc="Second line in the content area of the extension or app re-enable prompt. Note that the exact wording is important. This should mean that the extension _can now_ access the listed privileges, but not necessarily that it will or needs to. This message appeared because the user must approve new permissions of the extension or app.">
        It can now:
      </message>
      <message name="IDS_EXTENSION_PROMPT_WANTS_ACCESS_TO" desc="Second line in the content area of the extension or app permissions prompt. Note that the exact wording is important. This should mean that the extension _wants to_ access the listed privileges, but not necessarily that it will or needs to. This message appeared because the user must approve new permissions of the extension or app.">
        It could:
      </message>
      <message name="IDS_EXTENSION_PROMPT_CAN_ACCESS" desc="Second line in the content area of the extension or app permissions view dialog. Note that the exact wording is important. This should mean that the extension _can now_ access the listed privileges, because it has already been installed. This message appeared because the user must approve new permissions of the extension or app.">
        It can:
      </message>
      <message name="IDS_EXTENSION_PROMPT_WITHHELD" desc="Header for withheld permissions warning on extension install.">
        Warning: You've enabled the --scripts-require-action flag on this computer, which limits the capabilities of this extension. However, other devices may not support this flag or have it enabled. On these devices, this extension can also:
      </message>
      <message name="IDS_EXTENSION_NO_SPECIAL_PERMISSIONS" desc="Shown when the app/extension requires no special permission">
        Has no special permissions.
      </message>

      <message name="IDS_EXTENSION_PERMISSION_LINE" desc="Template for item in list of privileges that an extension or app has">
          • <ph name="PERMISSION">$1<ex>Read and change all your data on the websites you visit</ex></ph>
      </message>
      <message name="IDS_EXTENSION_RATING_COUNT" desc="Number of ratings an app or extensions has (displayed after star icons)">
        (<ph name="RATING_COUNT">$1<ex>46</ex></ph>)
      </message>
      <message name="IDS_EXTENSION_USER_COUNT" desc="Number of users an app or extension has">
        <ph name="USER_COUNT">$1<ex>10,479</ex></ph> users
      </message>
      <message name="IDS_EXTENSION_PROMPT_STORE_LINK" desc="Anchor text for link to Chrome Web Store in app or extension installation dialog">
        Open in Web Store
      </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, showing the number of files. This is shown when an app has persistent access to files. [ICU Syntax]">
        {NUM_FILES, plural,
         =1 {It has permanent access to one file.}
         other {It has permanent access to # files.}}
      </message>

      <message name="IDS_EXTENSION_PROMPT_RETAINED_DEVICES" desc="A line of explanatory text that precedes the list of devices the app has permanent access to, showing the number of devices. This is shown when an app has persistent access to devices. [ICU Syntax]">
        {NUM_DEVICES, plural,
         =1 {Communicate with a USB device}
         other {Communicate with # USB devices}}
      </message>

      <if expr="enable_extensions">
        <message name="IDS_EXTENSION_PROMPT_WARNING_FULL_ACCESS" desc="Permission string for full access to the computer and all websites.">
          Read and change all your data on your computer and the websites you visit
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_ALL_HOSTS" desc="Permission string for access to data on all websites.">
          Read and change all your data on the websites you visit
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_CURRENT_HOST" desc="Permission string for access to data on current website.">
          Read and change all your data on the current website when invoked
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_ALL_HOSTS_READ_ONLY" desc="Permission string for read-only access to data on all websites.">
          Read all your data on the websites you visit
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_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_BLUETOOTH" desc="Permission string for general access to the Bluetooth API.">
          Access information about Bluetooth devices paired with your system and discover nearby Bluetooth devices.
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_BLUETOOTH_DEVICES" desc="Permission string for implementing Bluetooth profiles.">
          Send messages to and receive messages from Bluetooth devices.
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_BLUETOOTH_PRIVATE" desc="Permission string for Bluetooth Private API.">
          Control Bluetooth adapter state and pairing
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_BLUETOOTH_SERIAL" desc="Permission string for access to Bluetooth and serial connected devices.">
          Access your Bluetooth and Serial devices
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_BOOKMARKS" desc="Permission string for access to bookmarks.">
          Read and change your bookmarks
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_CLIPBOARD" desc="Permission string for access to clipboard.">
          Read data you copy and paste
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_CLIPBOARD_READWRITE" desc="Permission string for access to clipboard for read and write permission.">
          Read and modify data you copy and paste
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_CLIPBOARD_WRITE" desc="Permission string for acess to clipboard for write permission.">
          Modify data you copy and paste
        </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_DECLARATIVE_WEB_REQUEST" desc="Permission string for Declarative Web Request API.">
          Block parts of web pages
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_DOCUMENT_SCAN" desc="Permission string for access to document scanning.">
          Access document scanners attached via USB or on the local network
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_FAVICON" desc="Permission string for access to favicons.">
          Read the icons of the websites you visit
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_GEOLOCATION" desc="Permisson string for access to geolocation.">
          Detect your physical location
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_HISTORY_READ" desc="Permission string for access to browsing history.">
          Read your browsing history
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_HISTORY_READ_AND_SESSIONS" desc="Permission string for access to both browsing history and signed in sessions.">
          Read your browsing history on all your signed-in devices
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_HISTORY_WRITE" desc="Permission string for access to modify browsing history.">
          Read and change your browsing history
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_HISTORY_WRITE_AND_SESSIONS" desc="Permission string for access to modify both browsing history and signed in sessions.">
          Read and change your browsing history on all your signed-in devices
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_HOME_PAGE_SETTING_OVERRIDE" desc="Permission string for home page override.">
          Change your home page to: <ph name="HOME_PAGE">$1<ex>home.page.com/home.html</ex></ph>
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_1_HOST" desc="Permission string for access to data on one website.">
          Read and change your data on <ph name="WEBSITE_1">$1<ex>www.google.com</ex></ph>
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_1_HOST_READ_ONLY" desc="Permission string for read-only access to data on one website.">
          Read 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.">
          Read and change 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_2_HOSTS_READ_ONLY" desc="Permission string for read-only access to data on two websites.">
          Read 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.">
          Read and change 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_3_HOSTS_READ_ONLY" desc="Permission string for read-only access to data on three websites.">
          Read your data on <ph name="WEBSITE_1">$1<ex>www.google.com</ex></ph>, <ph name="WEBSITE_2">$2<ex>www.reddit.com</ex></ph>, and <ph name="WEBSITE_3">$3<ex>news.ycombinator.com</ex></ph>
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_LIST" desc="Permission string for access to data for an arbitrary list of websites.">
          Read and change your data on a number of websites
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_LIST_READ_ONLY" desc="Permission string for read-only access to data for an arbitrary list of websites.">
          Read your data on a number of websites
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_HOST_AND_SUBDOMAIN" desc="Permission string requesting access to data on a website and its sub-domains.">
          all <ph name="WEBSITE_1">$1<ex>google.com</ex></ph> sites
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_HOST_AND_SUBDOMAIN_LIST" desc="Single entry permission string requesting access to data on a website and its sub-domains.">
          All <ph name="WEBSITE_1">$1<ex>google.com</ex></ph> sites
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_INPUT" desc="Permission string for access to input.">
          Read and change anything you type
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_MANAGEMENT" desc="Permisson string for access to extension management.">
          Manage your apps, extensions, and themes
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_MDNS" desc="Permisson string for access to list of mDNS services on a network.">
          Discover devices on your local network
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_NETWORK_STATE" desc="Permission string for network list access.">
          Access list of network connections
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_NETWORKING_CONFIG" desc="Permission string for Networking Config API.">
          Configure network connections
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_NETWORKING_PRIVATE" desc="Permission string for Networking Private API.">
          Manage network connections
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_SEARCH_SETTINGS_OVERRIDE" desc="Permission string for search settings override.">
          Change your search settings to: <ph name="SEARCH_HOST">$1<ex>url.search.com</ex></ph>
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_SERIAL" desc="Permission string for access to serial devices.">
          Access your serial devices
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_SOCKET_ANY_HOST" desc="Permission string for access to any device on the local network or internet.">
          Exchange data with any device on the local network or internet
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_SOCKET_HOSTS_IN_DOMAIN" desc="Permission string for access to any device within a single domains on the local network or internet.">
          Exchange data with any device 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 device within multiple domains on the local network or internet.">
          Exchange data with any device 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 device on the local network or internet.">
          Exchange data with the device 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 devices on the local network or internet.">
          Exchange data with the devices named: <ph name="HOSTNAMES">$1<ex>foo.example.com bar.example.com</ex></ph>
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_START_PAGE_SETTING_OVERRIDE" desc="Permission string for start page override.">
          Change your start page to: <ph name="START_PAGE">$1<ex>start.page.com/start.html</ex></ph>
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_TOPSITES" desc="Permission string for access to the list of most frequently visited websites.">
          Read a list of your most frequently visited websites
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_TTS_ENGINE" desc="Permission string for access to text-to-speech.">
          Read all text spoken using synthesized speech
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_U2F_DEVICES" desc="Warning message which indicates that an extension has access to Universal 2nd Factor devices.">
          Access your Universal 2nd Factor devices
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_NOTIFICATIONS" desc="Permission string which indicates that an extension has access to display notifications.">
          Display notifications
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_USB_DEVICE" desc="Permission string for access to a specific USB device.">
          Access any <ph name="DEVICE_NAME_AND_VENDOR">$1<ex>SoundKnob from Griffin Technology</ex></ph> via USB
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_USB_DEVICE_LIST" desc="Permission string for access to a list of USB devices.">
          Access any of these USB devices
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_USB_DEVICE_LIST_ITEM_UNKNOWN_PRODUCT" desc="Line item for a USB device listed under IDS_EXTENSION_PROMPT_WARNING_USB_DEVICE_LIST that has an unknown product ID.">
          unknown devices from <ph name="VENDOR_NAME">$1<ex>Griffin Technology</ex></ph>
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_USB_DEVICE_LIST_ITEM_UNKNOWN_VENDOR" desc="Line item for a USB device listed under IDS_EXTENSION_PROMPT_WARNING_USB_DEVICE_LIST that has an unknown vendor ID.">
          devices from an unknown vendor
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_USB_DEVICE_UNKNOWN_PRODUCT" desc="Permission string for access to a specific USB device with an unknown product ID.">
          Access USB devices from <ph name="VENDOR_NAME">$1<ex>Griffin Technology</ex></ph>
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_USB_DEVICE_UNKNOWN_VENDOR" desc="Permission string for acceess to a specific USB device with an unknown vendor ID.">
          Access USB devices from an unknown vendor
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_VPN" desc="Permission string for access to VPN API.">
          Access your network traffic
        </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_CONTENT_SETTINGS" desc="Permission string for access to content settings.">
          Change your settings that control websites' access to features such as cookies, JavaScript, plugins, geolocation, microphone, camera etc.
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_PRIVACY" desc="Permission string for access to privacy settings.">
          Change your privacy-related settings
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_SIGNED_IN_DEVICES" desc="Permission string for access to privacy settings.">
          Read the list of your signed-in devices
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_DOWNLOADS" desc="Permission string for access to downloads.">
          Manage your downloads
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_DOWNLOADS_OPEN" desc="Permission string for access to downloads.">
          Open downloaded files
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_IDENTITY_EMAIL" desc="Permission string for access to profile email address.">
          Know your email address
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_WALLPAPER" desc="Permission string for access to wallpaper.">
          Change your wallpaper
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_FILE_SYSTEM_DIRECTORY" desc="Permission string for read access to directories and their contents.">
          Read folders that you open in the application
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_FILE_SYSTEM_WRITE_DIRECTORY" desc="Permission string for write access to directories and their contents.">
          Write to files and folders that you open in the application
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_MEDIA_GALLERIES_READ" 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_READ_WRITE" desc="Permission string for access to read and write to all of the user's media galleries.">
          Read and change photos, music, and other media from your computer
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_MEDIA_GALLERIES_READ_DELETE" desc="Permission string for access to read and delete all of the user's media galleries.">
          Read and delete photos, music, and other media from your computer
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_MEDIA_GALLERIES_READ_WRITE_DELETE" desc="Permission string for access to read, write and delete to all of the user's media galleries.">
          Read, change and delete photos, music, and other media from your computer
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_SYNCFILESYSTEM" desc="Permission string for synchronizing files to the user's Google Drive">
          Store data in your Google Drive account
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_MUSIC_MANAGER_PRIVATE" desc="Permission string for accessing a unique device identifier">
          Read a unique identifier for this computer
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_NATIVE_MESSAGING" desc="Permission string for Native Messaging API.">
          Communicate with cooperating native applications
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_SCREENLOCK_PRIVATE" desc="Permission string for locking an unlocking the screen.">
          Lock and unlock the screen
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_OVERRIDE_BOOKMARKS_UI" desc="Permission string for overriding elements of the bookmarks user interface.">
          Change the bookmarks user interface
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_ACTIVITY_LOG_PRIVATE" desc="Permission string for the observing other extensions' API calls">
          Monitor the behavior of other extensions, including visited URLs
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_DESKTOP_CAPTURE" desc="Permission string for Desktop Capture API.">
          Capture content of your screen
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_ACCESSIBILITY_FEATURES_MODIFY" desc="Permission string for modifying acccessibility settings via extension API shown when an extension utilizing the API is installed.">
          Change your accessibility settings
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_ACCESSIBILITY_FEATURES_READ" desc="Permission string for modifying acccessibility settings via extension API shown when a extension utilizing the API is installed.">
          Read your accessibility settings
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_ACCESSIBILITY_FEATURES_READ_MODIFY" desc="Permission string for reading and modifying acccessibility settings via extension API shown when an extension utilizing the API is installed.">
          Read and change your accessibility settings
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_EXPERIENCE_SAMPLING_PRIVATE" desc="Permission string for Experience Sampling Private API.">
          Monitor when you take actions in Chrome
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_PLATFORMKEYS" desc="Permission string for access to client certificates.">
          Use your client certificates
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_CERTIFICATEPROVIDER" desc="Permission string for providing certificates that can be used for authentication.">
          Provide certificates for authentication
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_SETTINGS_PRIVATE" desc="Permission string for access to settings.">
          Read and change user and device settings
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_AUTOFILL_PRIVATE" desc="Permission string for access to autofill settings.">
          Read and change autofill settings
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_PASSWORDS_PRIVATE" desc="Permission string for access to passwords settings.">
          Read and change saved password settings
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_USERS_PRIVATE" desc="Permission string for access to user accounts.">
          Read and change whitelisted users
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_DISPLAY_SOURCE" desc="Permission string for access to Display Source API.">
          Send audio and video to displays on the local network
        </message>
        <message name="IDS_EXTENSION_PROMPT_WARNING_NEW_TAB_PAGE_OVERRIDE" desc="Permission string for extensions that override the new tab page.">
          Replace the page you see when opening a new tab
        </message>
      </if>

      <!-- 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>
      <if expr="chromeos">
        <message name="IDS_EXTENSION_CANT_INSTALL_IN_DEVICE_LOCAL_ACCOUNT" desc="Error message when a user tries to install or the administrator tries to force-install through policy an extension that is not allowed in a device-local account.">
          <ph name="EXTENSION_NAME">$1<ex>Google Talk</ex></ph> (extension ID "<ph name="EXTENSION_ID">$2<ex>nckgahadagoaajjgafhacjanaoiihapd</ex></ph>") is not allowed in this type of session.
        </message>
        <message name="IDS_EXTENSION_CANT_INSTALL_ON_SIGNIN_SCREEN" desc="Error message when the administrator tries to force-install through policy an extension that is not allowed on a login screen.">
          <ph name="EXTENSION_NAME">$1<ex>Google Talk</ex></ph> (extension ID "<ph name="EXTENSION_ID">$2<ex>abacabadabacabaeabacabadabacabaf</ex></ph>") is not allowed on a login screen.
        </message>
      </if>
      <message name="IDS_EXTENSION_MOVE_DIRECTORY_TO_PROFILE_FAILED" desc="">
        Could not move extension directory into profile.
      </message>
      <message name="IDS_EXTENSION_INSTALL_NOT_ENABLED" desc="Error displayed during installation of apps or extensions when installation is not enabled.">
        Installation is not enabled.
      </message>
      <message name="IDS_EXTENSION_INSTALL_INCORRECT_APP_CONTENT_TYPE" desc="Error displayed during installation of apps when the app is not served with the correct content-type.">
        Apps must be served with content-type "<ph name="CONTENT_TYPE">$1<ex>application/x-chrome-extension</ex></ph>".
      </message>
      <message name="IDS_EXTENSION_INSTALL_INCORRECT_INSTALL_HOST" desc="Error displayed during installation of apps when the app is served from a different host than it affects.">
        Apps must be served from the host they affect.
      </message>
      <message name="IDS_EXTENSION_INSTALL_UNEXPECTED_ID" desc="Error displayed during installation of a side-loaded app, extension, or theme when the ID of the referenced extension does not match the ID the developer declared during registration.">
        Expected ID "<ph name="EXPECTED_ID">$1<ex>bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</ex></ph>", but ID was "<ph name="NEW_ID">$2<ex>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</ex></ph>".
      </message>
      <message name="IDS_EXTENSION_INSTALL_DISALLOWED_ON_SITE" desc="Error displayed during installation of an extension when installation is not allowed from the current site.">
        Apps, extensions, and user scripts cannot be added from this website.
      </message>
      <message name="IDS_EXTENSION_INSTALL_UNEXPECTED_VERSION" desc="Error displayed during installation of a side-loaded app, extension, or theme when the version of the referenced extension does not match the version the developer declared during registration.">
        Expected version "<ph name="EXPECTED_VERSION">$1<ex>2.0</ex></ph>", but version was "<ph name="NEW_ID">$2<ex>1.0</ex></ph>".
      </message>
      <message name="IDS_EXTENSION_INSTALL_DEPENDENCY_OLD_VERSION" desc="Error displayed during installation of an extension when an import dependency is older than the minimum version required.">
        Extension requires "<ph name="IMPORT_NAME">$1<ex>Google Cast API</ex></ph>" with a minimum version "<ph name="IMPORT_VERSION">$2<ex>1.0</ex></ph>", but only version "<ph name="INSTALLED_VERSION">$3<ex>0.9</ex></ph>" is installed.
      </message>
      <message name="IDS_EXTENSION_INSTALL_DEPENDENCY_NOT_SHARED_MODULE" desc="Error displayed during installation of an extension which tries to imports resources from an extension which is not a shared module.">
        Unable to import extension "<ph name="IMPORT_NAME">$1<ex>Gmail</ex></ph>" because it is not a shared module.
      </message>
      <message name="IDS_EXTENSION_INSTALL_DEPENDENCY_NOT_WHITELISTED" desc="Error displayed during installation of an extension which tries to imports resources from an extension, but it is not whitelisted to do so.">
        Unable to install "<ph name="APP_NAME">$1<ex>Google Play Movies &amp; TV</ex></ph>" because it is not allowed by "<ph name="IMPORT_NAME">$2<ex>Google Cast API</ex></ph>"
      </message>
      <message name="IDS_EXTENSION_INSTALL_KIOSK_MODE_ONLY" desc="Error displayed during installation of an app with 'kiosk_only' attribute but user is not in Chrome OS kiosk mode.">
        App with 'kiosk_only' manifest attribute must be installed in Chrome OS kiosk mode.
      </message>
      <message name="IDS_EXTENSION_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 "<ph name="TO_INSTALL_APP_NAME">$1<ex>Google Mail</ex></ph>" because it conflicts with "<ph name="INSTALLED_APP_NAME">$2<ex>Google Calendar</ex></ph>".
      </message>
      <message name="IDS_EXTENSION_INVALID_IMAGE_PATH" desc="">
        Could not load '<ph name="IMAGE_PATH">$1<ex>/path/to/file</ex></ph>' for theme.
      </message>
      <message name="IDS_EXTENSION_LOAD_JAVASCRIPT_FAILED" desc="">
        Could not load javascript '<ph name="RELATIVE_PATH">$1<ex>javas.js</ex></ph>' for content script.
      </message>
      <message name="IDS_EXTENSION_LOAD_CSS_FAILED" desc="">
        Could not load css '<ph name="RELATIVE_PATH">$1<ex>file.css</ex></ph>' for content script.
      </message>
      <message name="IDS_EXTENSION_BAD_FILE_ENCODING" desc="">
        Could not load file '<ph name="RELATIVE_PATH">$1<ex>file.js</ex></ph>' for content script. It isn't UTF-8 encoded.
      </message>
      <message name="IDS_EXTENSION_LOAD_ICON_FOR_PAGE_ACTION_FAILED" desc="">
        Could not load icon '<ph name="ICON">$1<ex>icon.png</ex></ph>' for page action.
      </message>
      <message name="IDS_EXTENSION_LOAD_ICON_FOR_BROWSER_ACTION_FAILED" desc="">
        Could not load icon '<ph name="ICON">$1<ex>icon.png</ex></ph>' for browser action.
      </message>

      <if expr="chromeos">
        <message name="IDS_EXTENSION_NOTIFICATION_INSTALLED" desc="Notification message shown in the message center when an application is successfully install.">
          Successfully installed
        </message>
        <message name="IDS_EXTENSION_NOTIFICATION_DISPLAY_SOURCE" desc="Notification display source shown in the message center when an application is successfully installed.">
          Extensions
        </message>
      </if>

      <!-- Extension installed bubble -->
      <if expr="enable_extensions">
        <if expr="is_macosx">
          <message name="IDS_EXTENSION_INSTALLED_APP_INFO" desc="Text displayed inside a link when an app is installed. Clicking this link opens up the New Tab Page to show the app's icon.">
            Show me
          </message>
        </if>
        <message name="IDS_EXTENSION_INSTALLED_PAGE_ACTION_INFO" desc="Text displayed in the InfoBubble which explains that the UI of this extension is a Page Action icon which may appear for some pages.">
          This icon will be visible when the extension can act on the current page.
        </message>
        <message name="IDS_EXTENSION_INSTALLED_PAGE_ACTION_INFO_WITH_SHORTCUT" desc="Text displayed in the InfoBubble which explains that the UI of this extension is a Page Action icon which may appear for some pages. Also has a sentence describing how to activate it.">
          This icon will be visible when the extension can act on the current page. Use this extension by clicking on the icon or by pressing <ph name="EXTENSION_SHORTCUT">$1<ex>Ctrl+E</ex></ph>.
        </message>
        <message name="IDS_EXTENSION_INSTALLED_BROWSER_ACTION_INFO" desc="Text displayed in the InfoBubble which explains that the UI of this extension is a Browser Action icon.">
          Use this extension by clicking on this icon.
        </message>
        <message name="IDS_EXTENSION_INSTALLED_BROWSER_ACTION_INFO_WITH_SHORTCUT" desc="Text displayed in the InfoBubble which explains that the UI of this extension is a Browser Action icon. Also has a sentence describing how to activate it.">
          Use this extension by clicking on this icon or by pressing <ph name="EXTENSION_SHORTCUT">$1<ex>Ctrl+E</ex></ph>.
        </message>
        <message name="IDS_EXTENSION_INSTALLED_OMNIBOX_KEYWORD_INFO" desc="Text displayed in the InfoBubble which explains that this extension has an keyword that can be used with the omnibox.">
          To use this extension, type "<ph name="EXTENSION_KEYWORD">$1<ex>search</ex></ph>", then TAB, then your command or search.
        </message>

        <if expr="not chromeos and not is_macosx">
          <message name="IDS_EXTENSION_INSTALLED_MANAGE_INFO" desc="Text displayed in the InfoBubble with instructions on how to find the chrome://extensions/ management page">
            Manage your extensions by clicking Extensions in the Tools menu.
          </message>
        </if>
        <if expr="chromeos">
          <message name="IDS_EXTENSION_INSTALLED_MANAGE_INFO" desc="Text displayed in the InfoBubble with instructions on how to find the chrome://extensions/ management page on Chrome OS">
            Manage your extensions by clicking Extensions in the "More tools" menu.
          </message>
        </if>
        <if expr="is_macosx">
          <message name="IDS_EXTENSION_INSTALLED_MANAGE_INFO" desc="Text displayed in the InfoBubble with instructions on how to find the chrome://extensions/ management page on MAC OS X">
            Manage your extensions by clicking Extensions in the Window menu.
          </message>
        </if>
        <message name="IDS_EXTENSION_INSTALLED_MANAGE_SHORTCUTS" desc="Text for the link in the InfoBubble that opens the chrome://extensions page with the Configure Commands UI visible.">
          Manage shortcuts
        </message>
        <message name="IDS_EXTENSION_INSTALLED_SYNC_PROMO_NEW" desc="Text of the sync promo at the bottom of the extension installed bubble, prompting the user to sign in in order to sync extensions.">
          To get your extensions on all your computers, <ph name="SIGN_IN_LINK">$1<ex>sign in to 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>
      </if>

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

      <!-- chrome://settings/extensions page -->
      <if expr="enable_extensions">
        <message name="IDS_EXTENSIONS_DEVELOPER_MODE_LINK" desc="Text of the link for developer mode.">
          Developer mode
        </message>
        <message name="IDS_EXTENSIONS_LOAD_UNPACKED_BUTTON" desc="Text of the 'Load Extension' button.">
          Load unpacked extension...
        </message>
        <message name="IDS_EXTENSIONS_PACK_BUTTON" desc="Text for the 'Pack Extension' button.">
          Pack extension...
        </message>
        <message name="IDS_EXTENSIONS_UPDATE_BUTTON" desc="Text for the 'Update extensions' button.">
          Update extensions now
        </message>
        <message name="IDS_EXTENSIONS_NONE_INSTALLED" desc="Text that lets the user know that no extensions are installed.">
          Boo... You have no extensions :-(
        </message>
        <message name="IDS_EXTENSIONS_NONE_INSTALLED_SUGGEST_GALLERY" desc="Text on next line after IDS_EXTENSIONS_NONE_INSTALLED that suggests the user look in the Chrome Web Store for extensions to install.">
          Want to <ph name="BEGIN_LINK">&lt;a target="_blank" href="$1"&gt;</ph>browse the Chrome Web Store<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_VIEW_IFRAME" desc="Text that signifies that the extension view is an iframe.">
          (iframe)
        </message>
        <message name="IDS_EXTENSIONS_BACKGROUND_PAGE" desc="Display name for an autogenerated background page.">
          background page
        </message>
        <message name="IDS_EXTENSIONS_ID" desc="The ID label in front of the extension ID.">
          ID:
        </message>
        <message name="IDS_EXTENSIONS_PATH" desc="The label in front of the extension load path.">
          Loaded from:
        </message>
        <message name="IDS_EXTENSIONS_INSPECT_VIEWS" desc="The text for the label in front of the links to inspect views (some of which may not be loaded yet).">
          Inspect views:
        </message>
        <message name="IDS_EXTENSIONS_INSTALL_WARNINGS" desc="The text which says that an extension has warnings when it was installed.">
          There were warnings when trying to install this extension:
        </message>
        <message name="IDS_EXTENSIONS_LOAD_ERROR_HEADING" desc="The title of the section that describes an extension load error.">
          Error Loading Extension
        </message>
        <message name="IDS_EXTENSIONS_LOAD_ERROR_MESSAGE" desc="The message which tells the user that an extension failed to load.">
          Failed to load extension from:
        </message>
        <message name="IDS_EXTENSIONS_LOAD_ERROR_RETRY" desc="The text of the button to retry loading an extension.">
          Retry
        </message>
        <message name="IDS_EXTENSIONS_LOAD_ERROR_GIVE_UP" desc="The text of the button to give up on trying to load an extension.">
          I give up
        </message>
        <message name="IDS_EXTENSIONS_LOAD_COULD_NOT_LOAD_MANIFEST" desc="The text to indicate that the source of the extension's manifest failed to load.">
          Could not load manifest.
        </message>
        <message name="IDS_EXTENSIONS_LOAD_ADDITIONAL_FAILURES" desc="The text displayed above additional extension load failures.">
          Other extensions that failed to load:
        </message>
        <message name="IDS_EXTENSIONS_ERROR_HEADING" desc="The heading of the list of errors for an extension.">
          Errors
        </message>
        <message name="IDS_EXTENSIONS_ERROR_CLEAR_ALL" desc="The text for the button to delete all extension errors.">
          Clear all
        </message>
        <message name="IDS_EXTENSIONS_ERROR_NO_ERRORS" desc="The text displayed when an extension has no errors.">
          Awesome, no errors!
        </message>
        <message name="IDS_EXTENSIONS_ERROR_NO_ERRORS_CODE_MESSAGE" desc="The text displayed in the 'code' section when an extension has no errors.">
          Nothing to see here, move along.
        </message>
        <message name="IDS_EXTENSIONS_ERROR_CONTEXT" desc="The label for the context of an extension's error.">
          Context:
        </message>
        <message name="IDS_EXTENSIONS_ERROR_STACK_TRACE" desc="The label for the stack trace of an extension's error.">
          Stack Trace
        </message>
        <message name="IDS_EXTENSIONS_ERROR_ANONYMOUS_FUNCTION" desc="The label indicating that an error was caused within an anonymous function in the code.">
          anonymous function
        </message>
        <message name="IDS_EXTENSIONS_ERROR_LAUNCH_DEVTOOLS" desc="The text for the button to view an extension error in the developer tools.">
          View in Developer Tools
        </message>
        <message name="IDS_EXTENSIONS_ERROR_CONTEXT_UNKNOWN" desc="Text indicating that the context URL for an error is unknown.">
          Unknown
        </message>
        <message name="IDS_EXTENSIONS_ERROR_NO_CODE_TO_DISPLAY" desc="Text indicating that there is no code to be displayed for a given error.">
          Sorry, we can't show the code for this error.
        </message>
        <message name="IDS_EXTENSIONS_ENABLE" desc="The link for enabling extensions.">
          Enable
        </message>
        <message name="IDS_EXTENSIONS_ENABLED" desc="The label for an enabled extension.">
          Enabled
        </message>
        <message name="IDS_EXTENSIONS_REMOVE" desc="The label for uninstalling an extension.">
          Remove
        </message>
        <message name="IDS_EXTENSIONS_ENABLE_INCOGNITO" desc="The checkbox for enabling an extension in incognito.">
          Allow in incognito
        </message>
        <message name="IDS_EXTENSIONS_ENABLE_ERROR_COLLECTION" desc="The checkbox for enabling error collection for an extension.">
          Collect errors
        </message>
        <message name="IDS_EXTENSIONS_ALLOW_ON_ALL_URLS" desc="The checkbox for allowing an extension to run scripts on all websites without explicit permission.">
          Allow on all websites
        </message>
        <message name="IDS_EXTENSIONS_ALLOW_FILE_ACCESS" desc="The checkbox for allowing an extension access to run scripts on file URLs.">
          Allow access to file URLs
        </message>
        <message name="IDS_EXTENSIONS_VISIT_WEBSITE" desc="The link for visiting the extension's homepage.">
          Developer website
        </message>
        <message name="IDS_EXTENSIONS_VISIT_WEBSTORE" desc="The link for visiting the extension's gallery page.">
          Details
        </message>
        <message name="IDS_EXTENSIONS_RELOAD_TERMINATED" desc="The link for reloading extensions.">
          Reload
        </message>
        <message name="IDS_EXTENSIONS_REPAIR_CORRUPTED" desc="The link for repairing corrupted extensions.">
          Repair
        </message>
        <message name="IDS_EXTENSIONS_LAUNCH" desc="The link for launching apps.">
          Launch
        </message>
        <if expr="is_macosx">
          <message name="IDS_EXTENSIONS_RELOAD_UNPACKED" desc="The link for reloading unpacked extensions.">
            Reload (⌘R)
          </message>
        </if>
        <if expr="not is_macosx">
          <message name="IDS_EXTENSIONS_RELOAD_UNPACKED" desc="The link for reloading unpacked extensions.">
            Reload (Ctrl+R)
          </message>
        </if>
        <message name="IDS_EXTENSIONS_OPTIONS_LINK" desc="The link text for the Options link.">
          Options
        </message>
        <message name="IDS_EXTENSIONS_PERMISSIONS_LINK" desc="The link text for the Permissions link.">
          Permissions
        </message>
        <message name="IDS_EXTENSIONS_INFO_LINK" desc="The text for the link that opens the App Info dialog for the extension, displaying permissions and other useful information about the app.">
          Details
        </message>
        <message name="IDS_EXTENSIONS_LOG_LEVEL_INFO" desc="Alt-text indicating a low severity level for the error icon in the chrome://extensions page.">
          Log
        </message>
        <message name="IDS_EXTENSIONS_LOG_LEVEL_WARN" desc="Alt-text indicating a medium severity level for the error icon in the chrome://extensions page.">
          Warning
        </message>
        <message name="IDS_EXTENSIONS_LOG_LEVEL_ERROR" desc="Alt-text indicating a high severity level for the error icon in the chrome://extensions page.">
          Error
        </message>
        <if expr="not use_titlecase">
          <message name="IDS_EXTENSIONS_CONTEXT_MENU_PAGE_ACCESS" desc="The label in an extension's context menu for the submenu specifying whether or not the extension can run on the current page (sentence case).">
            Page access
          </message>
          <message name="IDS_EXTENSIONS_CONTEXT_MENU_PAGE_ACCESS_RUN_ON_CLICK" desc="The label in an extension's context menu to allow the extension access to the page only when the user clicks on the extension action (sentence case).">
            Run on click
          </message>
          <message name="IDS_EXTENSIONS_CONTEXT_MENU_PAGE_ACCESS_RUN_ON_SITE" desc="The label in an extension's context menu to always allow the extension access to the current origin (sentence case).">
            Always run on <ph name="ORIGIN">$1<ex>google.com</ex></ph>
          </message>
          <message name="IDS_EXTENSIONS_CONTEXT_MENU_PAGE_ACCESS_RUN_ON_ALL_SITES" desc="The label in an extension's context menu to always allow the extension access on all sites (sentence case).">
            Always run on all sites
          </message>
          <message name="IDS_EXTENSIONS_OPTIONS_MENU_ITEM" desc="The text for the options menu item in context menus (sentence case).">
            Options
          </message>
          <message name="IDS_EXTENSIONS_INSTALLED_BY_ADMIN" desc="The text indicating that an extension has been installed by the controlling administrator (sentence case).">
            Installed by your administrator
          </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_EXTENSIONS_KEEP_BUTTON_IN_TOOLBAR" desc="The text for the menu item to keep a button pinned in the toolbar (sentence case).">
            Keep in toolbar
          </message>
          <message name="IDS_EXTENSIONS_SHOW_BUTTON_IN_TOOLBAR" desc="The text for the menu item to move a button to the toolbar (sentence case).">
            Show in toolbar
          </message>
          <message name="IDS_MANAGE_EXTENSION" desc="The 'Manage extensions' text in the context menu for when right-clicking on extension icons (sentence case).">
            Manage extensions
          </message>
          <message name="IDS_EXTENSION_ACTION_INSPECT_POPUP" desc="The text for the right-click menu of page and browser actions which shows the popup and opens the developer tools (sentence case).">
            Inspect popup
          </message>
        </if>
        <if expr="use_titlecase">
          <message name="IDS_EXTENSIONS_CONTEXT_MENU_PAGE_ACCESS" desc="The label in an extension's context menu for the submenu specifying whether or not the extension can run on the current page (sentence case).">
            Page Access
          </message>
          <message name="IDS_EXTENSIONS_CONTEXT_MENU_PAGE_ACCESS_RUN_ON_CLICK" desc="The label in an extension's context menu to allow the extension access to the page only when the user clicks on the extension action (sentence case).">
            Run on Click
          </message>
          <message name="IDS_EXTENSIONS_CONTEXT_MENU_PAGE_ACCESS_RUN_ON_SITE" desc="The label in an extension's context menu to always allow the extension access to the current origin (sentence case).">
            Always Run on <ph name="ORIGIN">$1<ex>google.com</ex></ph>
          </message>
          <message name="IDS_EXTENSIONS_CONTEXT_MENU_PAGE_ACCESS_RUN_ON_ALL_SITES" desc="The label in an extension's context menu to always allow the extension access on all sites (sentence case).">
            Always Run on All Sites
          </message>
          <message name="IDS_EXTENSIONS_OPTIONS_MENU_ITEM" desc="The text for the options menu item in context menus (title case).">
            Options
          </message>
          <message name="IDS_EXTENSIONS_INSTALLED_BY_ADMIN" desc="The text indicating that an extension has been installed by the controlling administrator (title case).">
            Installed by Your Administrator
          </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_EXTENSIONS_KEEP_BUTTON_IN_TOOLBAR" desc="The text for the menu item to keep a button pinned in the toolbar (title case).">
            Keep in Toolbar
          </message>
          <message name="IDS_EXTENSIONS_SHOW_BUTTON_IN_TOOLBAR" desc="The text for the menu item to move a button to the toolbar (title case).">
            Show in Toolbar
          </message>
          <message name="IDS_MANAGE_EXTENSION" desc="The 'Manage Extensions' text in the context menu for when right-clicking on extension icons (title case).">
            Manage Extensions
          </message>
          <message name="IDS_EXTENSION_ACTION_INSPECT_POPUP" desc="The text for the right-click menu of page and browser actions which shows the popup and opens the developer tools (title case).">
            Inspect Popup
          </message>
        </if>
      </if>

      <message name="IDS_EXTENSIONS_POLICY_CONTROLLED" desc="The text in the extensions UI informing the user that an extension is policy controlled">
        (This extension is managed and cannot be removed or disabled.)
      </message>
      <message name="IDS_EXTENSIONS_POLICY_RECOMMENDED" desc="The text in the extensions UI informing the user that an extension is recommended installed by policy">
        (This extension is managed and cannot be removed.)
      </message>
      <message name="IDS_EXTENSIONS_DEPENDENT_EXTENSIONS" desc="The text in the extensions UI informing the user that an extension is depended on by on other installed extensions">
        The following extensions depend on this extension:
      </message>
      <message name="IDS_EXTENSIONS_LOCKED_SUPERVISED_USER" desc="The error message (either shown in the extensions UI or logged) informing a supervised user that extensions cannot be changed.">
        Apps and extensions can only be modified by the manager (<ph name="CUSTODIAN_NAME">$1<ex>Jane Doe</ex></ph>).
      </message>
      <message name="IDS_EXTENSIONS_LOADING" desc="Placeholder text shown when loading the list of extensions.">
        Loading...
      </message>
      <message name="IDS_EXTENSIONS_INSTALLED_BY_CHILD_CUSTODIAN" desc="The text in the extensions UI informing a child user that an extension was installed by their parent and cannot be changed.">
        Installed by your parent.
      </message>
      <message name="IDS_EXTENSIONS_INSTALLED_BY_SUPERVISED_USER_CUSTODIAN" desc="The text in the extensions UI informing a supervised user that an extension was installed by their custodian and cannot be changed">
        Installed by your custodian.
      </message>
      <message name="IDS_GET_MORE_EXTENSIONS" desc="The text for getting more extensions. Displayed at bottom of extension management page when there is at least one extension installed.">
        Get more extensions
      </message>
      <message name="IDS_EXTENSION_LOAD_FROM_DIRECTORY" desc="Title of directory browse dialog when user wants to load an extension from a directory.">
        Select the extension directory.
      </message>
      <message name="IDS_EXTENSIONS_COMMANDS_CONFIGURE" desc="Text for the 'Keyboard shortcuts' link to configure extension keyboard shortcuts.">
        Keyboard shortcuts
      </message>
      <message name="IDS_EXTENSION_COMMANDS_DIALOG_TITLE" desc="Title of extension commands dialog">
        Keyboard Shortcuts for Extensions and Apps
      </message>
      <message name="IDS_EXTENSION_COMMANDS_EMPTY" desc="The heading of the extension commands dialog when there are no commands to show.">
        No extensions have keyboard shortcuts assigned.
      </message>
      <message name="IDS_EXTENSION_COMMANDS_INACTIVE" desc="The text shown instead of the shortcut text (Ctrl+F) if the shortcut is inactive.">
        Not set
      </message>
      <message name="IDS_EXTENSION_TYPE_SHORTCUT" desc="The text shown in a text box to instruct the user to start typing (to capture which shortcut to use for the extension command).">
        Type a shortcut
      </message>
      <message name="IDS_EXTENSION_DELETE_SHORTCUT" desc="The text shown when you hover over the X inside the input text field.">
        Delete shortcut
      </message>
      <message name="IDS_EXTENSION_COMMANDS_GENERIC_ACTIVATE" desc="The generic 'activate extension' text used as description for some commands.">
        Activate the extension
      </message>
      <message name="IDS_EXTENSION_COMMANDS_GLOBAL" desc="The text in the select box for commands that are global in nature (the shortcut works when Chrome does not have focus).">
        Global
      </message>
      <message name="IDS_EXTENSION_COMMANDS_NOT_GLOBAL" desc="The text in the select box for commands that are not global in nature (the shortcut works only when Chrome has focus).">
        In Chrome
      </message>

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

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

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

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

      <message name="IDS_EXTENSION_PROMPT_INSTALL_BUTTON" desc="Text for the install button on the extension install prompt">
        Add
      </message>
      <message name="IDS_EXTENSION_INSTALL_PROMPT_ACCEPT_BUTTON_EXTENSION" desc="Text for the install button on the extension install prompt, for an extension (i.e. not app or theme).">
        Add extension
      </message>
      <message name="IDS_EXTENSION_INSTALL_PROMPT_ACCEPT_BUTTON_APP" desc="Text for the install button on the extension install prompt, for an app.">
        Add app
      </message>
      <message name="IDS_EXTENSION_INSTALL_PROMPT_ACCEPT_BUTTON_THEME" desc="Text for the install button on the extension install prompt, for a theme.">
        Add theme
      </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_UNINSTALL_REPORT_ABUSE" desc="Message to indicate the user can report abuse for the extension about to be uninstalled.">
        Report abuse
      </message>
      <message name="IDS_EXTENSION_PROMPT_UNINSTALL_APP_BUTTON" desc="Text for the uninstall button on the non-platform app and ARC(App Runtime for Chrome) app uninstall prompt">
        Uninstall
      </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_ACCEPT_BUTTON" desc="Text for the accept permissions button on the extension permissions prompt">
        Accept permissions
      </message>
      <message name="IDS_EXTENSION_PROMPT_PERMISSIONS_ABORT_BUTTON" desc="Text for the deny button on the extension permissions prompt">
        Deny
      </message>
      <message name="IDS_EXTENSION_PROMPT_PERMISSIONS_CLEAR_RETAINED_FILES_BUTTON" desc="Text for the Revoke File Access button on the extension permissions prompt">
        Revoke file access
      </message>
      <message name="IDS_EXTENSION_PROMPT_PERMISSIONS_CLEAR_RETAINED_DEVICES_BUTTON" desc="Text for the Revoke Device Access button on the extension permissions prompt">
        Revoke device access
      </message>
      <message name="IDS_EXTENSION_PROMPT_PERMISSIONS_CLEAR_RETAINED_FILES_AND_DEVICES_BUTTON" desc="Text for the Revoke File and Device Access button on the extension permissions prompt">
        Revoke file and device access
      </message>
      <message name="IDS_EXTENSION_PROMPT_REMOTE_INSTALL_BUTTON_EXTENSION" desc="Text for the install button on the extension install prompt for a remotely installed extension">
        Enable extension
      </message>
      <message name="IDS_EXTENSION_PROMPT_REMOTE_INSTALL_BUTTON_APP" desc="Text for the install button on the extension install prompt for a remotely installed app">
        Enable app
      </message>
      <message name="IDS_EXTENSION_PROMPT_REPAIR_BUTTON_EXTENSION" desc="Text for the install button on the extension reinstall prompt.">
        Repair extension
      </message>
      <message name="IDS_EXTENSION_PROMPT_REPAIR_BUTTON_APP" desc="Text for the install button on the app reinstall prompt.">
        Repair app
      </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>

      <!-- Error messages for Chrome Web Store UI -->
      <message name="IDS_WEBSTORE_DOWNLOAD_ACCESS_DENIED" desc="Text displayed in the error prompt when a CRX cannot be downloaded due to an authentication error.">
        Access denied.
      </message>

      <!-- Global error messages for extensions -->
      <message name="IDS_EXTENSION_WARNINGS_WRENCH_MENU_ITEM" desc="The wrench menu item indicating that extensions caused problems.">
        Extension error
      </message>
      <message name="IDS_EXTENSION_WARNINGS_TITLE" desc="The title of a section in chrome://extensions which contains the warning(s) that relates to one particular extension">
        Warning:
      </message>

      <!-- External extension install alerts -->
      <!-- TODO(mpcomplete): We may need to change Chrome to
           PRODUCT_NAME. Leaving it as-is until we finalize
           these strings. -->
      <message name="IDS_EXTENSION_EXTERNAL_INSTALL_ALERT_EXTENSION" desc="The wrench menu item indicating that a new external extension was installed.">
        New extension added (<ph name="EXTENSION_NAME">$1<ex>Babylon Toolbar</ex></ph>)
      </message>
      <message name="IDS_EXTENSION_EXTERNAL_INSTALL_ALERT_APP" desc="The wrench menu item indicating that a new external extension was installed.">
        New app added (<ph name="EXTENSION_NAME">$1<ex>Babylon Toolbar</ex></ph>)
      </message>
      <message name="IDS_EXTENSION_EXTERNAL_INSTALL_ALERT_THEME" desc="The wrench menu item indicating that a new external extension was installed.">
        New theme added (<ph name="EXTENSION_NAME">$1<ex>Babylon Toolbar</ex></ph>)
      </message>
      <message name="IDS_EXTENSION_EXTERNAL_INSTALL_ALERT_BUBBLE_TITLE" desc="The title for the bubble that alerts the user that a new external extension was installed.">
        "<ph name="EXTENSION_NAME">$1<ex>Babylon Toolbar</ex></ph>" added
      </message>
      <message name="IDS_EXTENSION_EXTERNAL_INSTALL_ALERT_BUBBLE_HEADING_APP" desc="The heading text (below the title) for the bubble that alerts the user that a new external app was installed.">
        Another program on your computer added an app that may change the way Chrome works.
      </message>
      <message name="IDS_EXTENSION_EXTERNAL_INSTALL_ALERT_BUBBLE_HEADING_EXTENSION" desc="The heading text (below the title) for the bubble that alerts the user that a new external extension was installed.">
        Another program on your computer added an extension that may change the way Chrome works.
      </message>
      <message name="IDS_EXTENSION_EXTERNAL_INSTALL_ALERT_BUBBLE_HEADING_THEME" desc="The heading text (below the title) for the bubble that alerts the user that a new external theme was installed.">
        Another program on your computer added a theme that may change the way Chrome works.
      </message>

      <if expr="use_titlecase">
        <message name="IDS_EXTENSIONS_UNSUPPORTED_DISABLED_TITLE" desc="In Title Case: Title of the dialog shown when unsupported extensions have been disabled">
          Unsupported Extensions Disabled
        </message>
      </if>
      <if expr="not use_titlecase">
        <message name="IDS_EXTENSIONS_UNSUPPORTED_DISABLED_TITLE" desc="Title of the dialog shown when unsupported extensions have been disabled">
          Unsupported extensions disabled
        </message>
      </if>
      <message name="IDS_EXTENSIONS_DISABLED_AND_N_MORE" desc="Used for a count of additional items in the IDS_EXTENSIONS_UNSUPPORTED_DISABLED_BODY dialog shown when unsupported extensions have been disabled, if we could not fit them all in the dialog">
        and <ph name="NUMBER_ADDITIONAL_DISABLED">$1<ex>5</ex></ph> more
      </message>
      <message name="IDS_EXTENSIONS_UNSUPPORTED_DISABLED_BUTTON" desc="Text of the button on the dialog shown when unsupported extensions have been disabled">
      OK, got it
      </message>
      <message name="IDS_EXTENSIONS_ADDED_WITHOUT_KNOWLEDGE" desc="Text shown in the extensions settings for items that might have been forcefully added to Chrome without the user's knowledge">
        This extension is not listed in the <ph name="IDS_EXTENSION_WEB_STORE_TITLE">$1<ex>Chrome Web Store</ex></ph> and may have been added without your knowledge.
      </message>
      <if expr="use_titlecase">
        <message name="IDS_EXTENSIONS_DISABLE_DEVELOPER_MODE_TITLE" desc="In Title Case: Title of a dialog warning users they have development mode extensions running">
          Disable Developer Mode Extensions
        </message>
      </if>
      <if expr="not use_titlecase">
        <message name="IDS_EXTENSIONS_DISABLE_DEVELOPER_MODE_TITLE" desc="Title of a dialog warning users they have development mode extensions running">
          Disable developer mode extensions
        </message>
      </if>
      <message name="IDS_EXTENSIONS_DISABLE_DEVELOPER_MODE_BODY" desc="Body of a dialog warning users they have development mode extensions running">
        Extensions running in developer mode can harm your computer. If you're not a developer, you should disable these extensions running in developer mode to stay safe.
      </message>
      <message name="IDS_EXTENSIONS_CORRUPTED_EXTENSION" desc="The warning for the user that an extension may have been tampered with on disk.">
        This extension may have been corrupted.
      </message>
      <message name="IDS_EXTENSIONS_DISABLED_UPDATE_REQUIRED_BY_POLICY" desc="Text shown in the extensions settings for extensions disabled due to minimum version requirement from enterprise policy">
        This extension is outdated and disabled by enterprise policy. It might become enabled automatically when a newer version is available.
      </message>

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

      <message name="IDS_EXTENSIONS_SETTINGS_API_FIRST_LINE_SEARCH_ENGINE_SPECIFIC" desc="Text displayed as the first line in the Settings API bubble when an extension has changed the search engine, and we are pointing to its icon.">
        This extension has changed what page is shown when you search from the Omnibox.
      </message>
      <message name="IDS_EXTENSIONS_SETTINGS_API_FIRST_LINE_SEARCH_ENGINE" desc="Text displayed as the first line in the Settings API bubble when an extension has changed the search engine, and we are not pointing to its icon.">
        The extension "<ph name="EXTENSION_NAME">$1<ex>AdBlock</ex></ph>" has changed what page is shown when you search from the Omnibox.
      </message>
      <message name="IDS_EXTENSIONS_SETTINGS_API_FIRST_LINE_HOME_PAGE_SPECIFIC" desc="Text displayed in the Settings API bubble as first line when an extension has changed the home page, and we are pointing to its icon.">
        This extension has changed what page is shown when you click the Home button.
      </message>
      <message name="IDS_EXTENSIONS_SETTINGS_API_FIRST_LINE_HOME_PAGE" desc="Text displayed in the Settings API bubble as first line when an extension has changed the home page, and we are not pointing to its icon.">
        The extension "<ph name="EXTENSION_NAME">$1<ex>AdBlock</ex></ph>" has changed what page is shown when you click the Home button.
      </message>

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

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

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

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

      <if expr="use_titlecase">
        <message name="IDS_EXTENSION_CONTROLLED_RESTORE_SETTINGS" desc="The button in the extension controlled bubbles that reverts the settings changes made by the extension and restores what the user had before. (title case)">
          Restore Settings
        </message>
        <message name="IDS_EXTENSION_CONTROLLED_KEEP_CHANGES" desc="The button in the extension controlled bubbles that cancels the bubble without action. (title case)">
          Keep Changes
        </message>
      </if>
      <if expr="not use_titlecase">
        <message name="IDS_EXTENSION_CONTROLLED_RESTORE_SETTINGS" desc="The button in the extension controlled bubbles that reverts the settings changes made by the extension and restores what the user had before. (sentence case)">
          Restore settings
        </message>
        <message name="IDS_EXTENSION_CONTROLLED_KEEP_CHANGES" desc="The button in the extension controlled bubbles that cancels the bubble without action. (sentence case)">
          Keep changes
        </message>
      </if>

      <!-- Components -->
      <message name="IDS_COMPONENTS_TITLE" desc="Title for the chrome://components page.">
        Components
      </message>
      <message name="IDS_COMPONENTS_VERSION" desc="The label in front of a component version number.">
        Version:
      </message>
      <message name="IDS_COMPONENTS_NONE_INSTALLED" desc="Text that lets the user know that no components are installed.">
        No components installed.
      </message>
      <message name="IDS_COMPONENTS_NO_COMPONENTS" desc="Text that indicates that no components are installed">
        No components are installed
      </message>
      <message name="IDS_COMPONENTS_CHECK_FOR_UPDATE" desc="The button label for triggering update check.">
        Check for update
      </message>
      <message name="IDS_COMPONENTS_STATUS_LABEL" desc="Status label">
        Status
      </message>
      <message name="IDS_COMPONENTS_CHECKING_LABEL" desc="Checking label">
        Checking for status...
      </message>
      <message name="IDS_COMPONENTS_SVC_STATUS_NEW" desc="Service Status">
        New
      </message>
      <message name="IDS_COMPONENTS_SVC_STATUS_CHECKING" desc="Service Status">
        Checking
      </message>
      <message name="IDS_COMPONENTS_SVC_STATUS_UPDATE" desc="Service Status">
        Update
      </message>
      <message name="IDS_COMPONENTS_SVC_STATUS_DNL_DIFF" desc="Service Status">
        Downloading diff
      </message>
      <message name="IDS_COMPONENTS_SVC_STATUS_DNL" desc="Service Status">
        Downloading
      </message>
      <message name="IDS_COMPONENTS_SVC_STATUS_DOWNLOADED" desc="Service Status">
        Downloaded
      </message>
      <message name="IDS_COMPONENTS_SVC_STATUS_UPDT_DIFF" desc="Service Status">
        Updating diff
      </message>
      <message name="IDS_COMPONENTS_SVC_STATUS_UPDATING" desc="Service Status">
        Updating
      </message>
      <message name="IDS_COMPONENTS_SVC_STATUS_UPDATED" desc="Service Status">
        Updated
      </message>
      <message name="IDS_COMPONENTS_SVC_STATUS_UPTODATE" desc="Service Status">
        Up-to-date
      </message>
      <message name="IDS_COMPONENTS_SVC_STATUS_NOUPDATE" desc="Service Status">
        No update
      </message>
      <message name="IDS_COMPONENTS_UNKNOWN" desc="Service Status">
        Unknown
      </message>
      <message name="IDS_COMPONENTS_EVT_STATUS_STARTED" desc="Service Status">
        Updater started
      </message>
      <message name="IDS_COMPONENTS_EVT_STATUS_SLEEPING" desc="Service Status">
        Updater sleeping
      </message>
      <message name="IDS_COMPONENTS_EVT_STATUS_FOUND" desc="Service Status">
        Update found
      </message>
      <message name="IDS_COMPONENTS_EVT_STATUS_READY" desc="Service Status">
        Update ready
      </message>
      <message name="IDS_COMPONENTS_EVT_STATUS_UPDATED" desc="Service Status">
        Component updated
      </message>
      <message name="IDS_COMPONENTS_EVT_STATUS_NOTUPDATED" desc="Service Status">
        Component not updated
      </message>
      <message name="IDS_COMPONENTS_EVT_STATUS_DOWNLOADING" desc="Service Status">
        Component downloading
      </message>

      <if expr="enable_plugins">
        <message name="IDS_PLUGINS_DISABLED_PLUGIN" desc="Text that signifies that the plugin is currently disabled.">
          (Disabled)
        </message>
      </if>

      <message name="IDS_PASSWORD_MANAGER_ACCOUNT_CHOOSER_TITLE_MANY_ACCOUNTS" desc="The title of the account chooser dialog/infobar for more than one account.">
        Choose your account saved with <ph name="PASSWORD_MANAGER_BRAND">$1<ex>Google Chrome</ex></ph> to sign in
      </message>
      <message name="IDS_PASSWORD_MANAGER_ACCOUNT_CHOOSER_TITLE_ONE_ACCOUNT" desc="The title of the account chooser dialog/infobar for one account.">
        Sign in with your account saved with <ph name="PASSWORD_MANAGER_BRAND">$1<ex>Google Chrome</ex></ph>
      </message>
      <if expr="use_titlecase">
        <message name="IDS_PASSWORD_MANAGER_ACCOUNT_CHOOSER_SIGN_IN" desc="In Title Case: The title of the Sign in button in the account chooser when there is one account.">
          Sign In
        </message>
        <message name="IDS_PASSWORD_MANAGER_SIGNIN_PROMO_SIGN_IN" desc="In Title Case: The title of the Sign in button in the bubble promoting Chrome sign-in.">
          Sign In
        </message>
        <message name="IDS_PASSWORD_MANAGER_SIGNIN_PROMO_NO_THANKS" desc="In Title Case: The title of the No Thanks button in the bubble promoting Chrome sign-in.">
          No Thanks
        </message>
      </if>
      <if expr="not use_titlecase">
        <message name="IDS_PASSWORD_MANAGER_ACCOUNT_CHOOSER_SIGN_IN" desc="The title of the Sign in button in the account chooser when there is one account.">
          Sign in
        </message>
        <message name="IDS_PASSWORD_MANAGER_SIGNIN_PROMO_SIGN_IN" desc="The title of the Sign in button in the bubble promoting Chrome sign-in.">
          Sign in
        </message>
        <message name="IDS_PASSWORD_MANAGER_SIGNIN_PROMO_NO_THANKS" desc="The title of the No Thanks button in the bubble promoting Chrome sign-in.">
          No thanks
        </message>
      </if>
      <message name="IDS_PASSWORD_MANAGER_SIGNIN_PROMO_TITLE" desc="Promotion text for Chrome sign-in appearing in the password bubble after a password is saved.">
        Password saved. To get your passwords on all your devices, sign in to Chrome.
      </message>
      <message name="IDS_SAVE_PASSWORD" desc="The title of the save password bubble when a password can be saved.">
        Do you want <ph name="PASSWORD_MANAGER_BRAND">$1<ex>Google Chrome</ex></ph> to save your password for this site?
      </message>
      <message name="IDS_SAVE_ACCOUNT" desc="The title of the save password bubble when a federated credential can be saved.">
        Do you want <ph name="PASSWORD_MANAGER_BRAND">$1<ex>Google Chrome</ex></ph> to save your account for this site?
      </message>
      <message name="IDS_UPDATE_PASSWORD" desc="The title of the save password bubble when a password can be updated.">
        Do you want <ph name="PASSWORD_MANAGER_BRAND">$1<ex>Google Chrome</ex></ph> to update your password for this site?
      </message>

      <!-- Desktop iOS promotion. -->
      <if expr="is_win">
        <message name="IDS_PASSWORD_MANAGER_DESKTOP_TO_IOS_PROMO_TITLE" desc="Title for Chrome iOS promotion appearing in the password bubble after a password is saved.">
          Sync this password to your iPhone
        </message>
        <message name="IDS_PASSWORD_MANAGER_DESKTOP_TO_IOS_PROMO_TITLE_V2" desc="Title for Chrome iOS promotion appearing in the password bubble after a password is saved.">
          Get this password on your iPhone
        </message>
        <message name="IDS_PASSWORD_MANAGER_DESKTOP_TO_IOS_PROMO_TITLE_V3" desc="Title for Chrome iOS promotion appearing in the password bubble after a password is saved.">
          Share this password with your iPhone
        </message>
        <message name="IDS_DESKTOP_TO_IOS_PROMO_SEND_TO_PHONE" desc="The title of the send to phone button in the bubble promoting Chrome for iphone.">
          Send to phone
        </message>
        <message name="IDS_DESKTOP_TO_IOS_PROMO_NO_THANKS" desc="The title of the No Thanks button in the bubble promoting Chrome for iPhone.">
          No thanks
        </message>
      </if>

      <message name="IDS_TRACE_UPLOAD_URL_CHOICE_OTHER">
        Other
      </message>
      <message name="IDS_TRACE_UPLOAD_URL_CHOICE_EMLOADING">
        emloading
      </message>
      <message name="IDS_TRACE_UPLOAD_URL_CHOICE_QA">
        QA
      </message>
      <message name="IDS_TRACE_UPLOAD_URL_CHOICE_TESTING">
        Testing
      </message>

      <!-- Preview InfoBar -->
      <message name="IDS_PREVIEWS_INFOBAR_SAVED_DATA_TITLE" desc="The text of the infobar notifying the user that mobile data usage was reduced by showing a preview version of the web page instead of the full page.">
         Saved data.
      </message>
      <message name="IDS_PREVIEWS_INFOBAR_FASTER_PAGE_TITLE" desc="The text of the infobar notifying the user that a preview page has been shown to load faster.">
         Faster page loaded.
      </message>
      <message name="IDS_PREVIEWS_INFOBAR_LINK" desc="The text of the link to load the original page from the infobar notifying the user that a preview page has been shown.">
         Show original
      </message>
      <message name="IDS_PREVIEWS_INFOBAR_TIMESTAMP_MINUTES" desc="The desciption stating how old a preview version of a page is in minutes. This is shown on the infobar notifying the user that a preview page has been shown.">
         Updated <ph name="MINUTES">$1<ex>30</ex></ph>min ago
      </message>
      <message name="IDS_PREVIEWS_INFOBAR_TIMESTAMP_ONE_HOUR" desc="The desciption stating a preview version of a page is one hour old. This is shown on the infobar notifying the user that a preview page has been shown.">
         Updated 1hr ago
      </message>
      <message name="IDS_PREVIEWS_INFOBAR_TIMESTAMP_HOURS" desc="The desciption stating how old a preview version of a page is in hours. This is shown on the infobar notifying the user that a preview page has been shown.">
         Updated <ph name="HOURS">$1<ex>4</ex></ph>hrs ago
      </message>
      <message name="IDS_PREVIEWS_INFOBAR_TIMESTAMP_UPDATED_NOW" desc="The desciption stating that a preview version of a page was just updated. This is shown on the infobar notifying the user that a preview page has been shown.">
         Updated just now
      </message>

      <!-- WebRTC logs -->
      <message name="IDS_WEBRTC_LOGS_TITLE" desc="Title for the chrome://webrtc-logs page.">
        WebRTC logs
      </message>
      <message name="IDS_WEBRTC_LOGS_LOG_COUNT_BANNER_FORMAT" desc="Format for WebRTC log count banner on chrome://webrtc-logs">
        WebRTC logs (<ph name="WEBRTC_LOG_COUNT">$1<ex>3</ex></ph>)
      </message>
      <message name="IDS_WEBRTC_LOGS_LOG_HEADER_FORMAT" desc="Format for uploaded log entry headings on chrome://webrtc-logs">
        WebRTC log captured <ph name="WEBRTC_LOG_CAPTURE_TIME">$1<ex>Tuesday, January 25, 2011 2:58:02 PM</ex></ph>
      </message>
      <message name="IDS_WEBRTC_LOGS_LOG_LOCAL_FILE_LABEL_FORMAT" desc="Format for local log entry label on chrome://webrtc-logs">
        Local file:
      </message>
      <message name="IDS_WEBRTC_LOGS_NO_LOCAL_LOG_FILE_MESSAGE" desc="The explanatory message for chrome://webrtc-logs when there is no local log file">
        No local log file.
      </message>
      <message name="IDS_WEBRTC_LOGS_LOG_UPLOAD_TIME_FORMAT" desc="Format for uploaded log entry upload time on chrome://webrtc-logs">
        Uploaded <ph name="WEBRTC_LOG_UPLOAD_TIME">$1<ex>Tuesday, January 25, 2011 2:58:02 PM</ex></ph>
      </message>
      <message name="IDS_WEBRTC_LOGS_LOG_REPORT_ID_FORMAT" desc="Format for uploaded log entry report ID on chrome://webrtc-logs">
        Report ID <ph name="WEBRTC_LOG_REPORT_ID">$1<ex>8fa95dbb6f2ec862</ex></ph>
      </message>
      <message name="IDS_WEBRTC_LOGS_BUG_LINK_LABEL" desc="Link text for filing a bug on chrome://webrtc-logs">
        File bug
      </message>
      <message name="IDS_WEBRTC_LOGS_LOG_NOT_UPLOADED_MESSAGE" desc="The explanatory message for chrome://webrtc-logs when the log has not been uploaded">
        Log not uploaded.
      </message>
      <message name="IDS_WEBRTC_LOGS_NO_LOGS_MESSAGE" desc="The explanatory message for chrome://webrtc-logs when there are no captured logs">
        You have no recently captured WebRTC logs.
      </message>

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

      <!-- Search -->
      <message name="IDS_SEARCH_PREF_EXPLANATION" desc="Description of the search engine preference">
        Set which search engine is used when searching from the
        <ph name="BEGIN_LINK">&lt;a target="_blank" href="$1"&gt;</ph>omnibox<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>.
      </message>
      <message name="IDS_HOTWORD_SEARCH_PREF_CHKBOX" desc="A checkbox on the Settings page to allow audio capture devices to initiate searches.">
        Enable "Ok Google" to start a voice search.
      </message>
      <if expr="chromeos">
        <message name="IDS_HOTWORD_SEARCH_NO_DSP_DESCRIPTION" desc="Description of the hotword search preference for devices with no DSP.">
          Say "Ok Google" in a new tab, google.com, and the App Launcher
        </message>
      </if>
      <if expr="not chromeos">
        <message name="IDS_HOTWORD_SEARCH_NO_DSP_DESCRIPTION" desc="Description of the hotword search preference for devices with no DSP.">
          Say "Ok Google" in a new tab and google.com
        </message>
      </if>
      <message name="IDS_HOTWORD_SEARCH_ALWAYS_ON_DESCRIPTION" desc="Description of the hotword-always-on search preference.">
        Say "Ok Google" when the screen is on and unlocked.
      </message>
      <message name="IDS_HOTWORD_RETRAIN_LINK" desc="Link to retrain the hotword voice model.">
        Retrain voice model
      </message>
      <message name="IDS_HOTWORD_SEARCH_PREF_DESCRIPTION" desc="Description of the hotword search preference">
        When you say "Ok Google," Chrome will search for what you say next.
      </message>
      <message name="IDS_HOTWORD_AUDIO_HISTORY_ENABLED" desc="Text to display when the user has audio history enabled.">
        Voice &amp; Audio Activity is enabled for <ph name="USER_EMAIL">$1<ex>joe@gmail.com</ex></ph>.
      </message>
      <message name="IDS_HOTWORD_ALWAYS_ON_AUDIO_HISTORY_DESCRIPTION" desc="Description for the audio history message when always-on is enabled.">
        Voice &amp; Audio Activity is required to use "Ok Google"
      </message>
      <message name="IDS_HOTWORD_AUDIO_HISTORY_MANAGE_LINK" desc="Text for link to manage audio history.">
        Manage Voice &amp; Audio Activity
      </message>
      <message name="IDS_HOTWORD_CONFIRM_BUBBLE_TITLE" desc="The title text for the bubble to enable the hotword voice search trigger.">
        Ok Google
      </message>
      <message name="IDS_HOTWORD_CONFIRM_BUBBLE_ENABLE" desc="The button text that allows the hotword voice search trigger.">
        OK
      </message>
      <message name="IDS_HOTWORD_CONFIRM_BUBBLE_DISABLE" desc="The button text that disallows the hotword voice search trigger.">
        Cancel
      </message>
      <message name="IDS_HOTWORD_GENERIC_ERROR_MESSAGE" desc="The default error message text when no additional details are known.">
        This feature is temporarily unavailable. <ph name="BEGIN_LINK">&lt;a target="_blank" href="$1"&gt;</ph>Help<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>
      </message>
      <message name="IDS_HOTWORD_NACL_DISABLED_ERROR_MESSAGE" desc="The error message text when hotwording fails because NaCl is disabled.">
        Native Client plugin needs to be enabled to use this feature.
      </message>
      <message name="IDS_HOTWORD_MICROPHONE_ERROR_MESSAGE" desc="The error message text when hotwording fails because the microphone isn't working.">
        Microphone is currently unavailable. <ph name="BEGIN_LINK">&lt;a target="_blank" href="chrome://settings/content#media-stream-settings"&gt;</ph>Manage microphone<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>
      </message>
      <message name="IDS_HOTWORD_AUDIO_LOGGING_ENABLE" desc="A checkbox in the hotword confirm dialog that allows for sending audio of 'Ok, Google' plus a few seconds before back to Google to improve voice search.">
        Improve voice search by sending the sound of "Ok Google," and a few seconds before, to Google.
      </message>
      <if expr="is_win">
        <!-- Conflicts page -->
        <message name="IDS_CONFLICTS_CHECK_PAGE_TABLE_TITLE_SUFFIX_ONE" desc="What gets appended after the page title if no conflicts were found.">
          Modules (<ph name="TOTAL_COUNT">$1<ex>50</ex></ph>) - No conflicts detected
        </message>
        <message name="IDS_CONFLICTS_CHECK_PAGE_TABLE_TITLE_SUFFIX_TWO" desc="What gets appended after the page title (number of conflicts found).">
          Modules (<ph name="TOTAL_COUNT">$1<ex>50</ex></ph>) - Known conflicts: <ph name="BAD_COUNT">$2<ex>3</ex></ph>, suspected: <ph name="SUSPICIOUS_COUNT">$3<ex>2</ex></ph>
        </message>
        <message name="IDS_CONFLICTS_EXPLANATION_TEXT" desc="The text blurb explaining what the compatibility page is.">
          This page lists all modules loaded into the main process and modules registered to load at a later point.
        </message>
        <message name="IDS_CONFLICTS_CHECK_INVESTIGATING" desc="A label on the compatibility page saying we are investigating.">
          We are currently investigating this issue.
        </message>
        <message name="IDS_CONFLICTS_CHECK_POSSIBLE_ACTIONS" desc="A label on the compatibility page describing possible resolutions.">
          If you are experiencing frequent problems, you could try the following to resolve the issue with this module:
        </message>
        <message name="IDS_CONFLICTS_CHECK_POSSIBLE_ACTION_UNINSTALL" desc="An uninstall label. 'It' refers to 'a module'.">
          Uninstalling
        </message>
        <message name="IDS_CONFLICTS_CHECK_POSSIBLE_ACTION_UPDATE" desc="An update label. 'It' refers to 'a module'.">
          Updating
        </message>
        <message name="IDS_CONFLICTS_CHECK_POSSIBLE_ACTION_DISABLE" desc="A disable label. 'It' refers to 'a module'.">
          Disabling
        </message>
        <message name="IDS_CONFLICTS_CHECK_POSSIBLE_ACTION_SEPARATOR" desc="The separator separating the words 'Uninstalling it', 'Updating it' and 'Disabling it'">
          /
        </message>
        <message name="IDS_CONFLICTS_NO_MODULES_LOADED" desc="Error message for when no modules were found in the process">
          Unable to detect any modules loaded.
        </message>
        <message name="IDS_CONFLICTS_HEADER_SOFTWARE" desc="The 'Software' header for each module item in the list">
          Software
        </message>
        <message name="IDS_CONFLICTS_HEADER_SIGNED_BY" desc="The 'Signed by' header for each module item in the list">
          Signed by
        </message>
        <message name="IDS_CONFLICTS_HEADER_LOCATION" desc="The 'Location' header for each module item in the list">
          Location
        </message>
        <message name="IDS_CONFLICTS_HEADER_VERSION" desc="The 'Version' header for each module item in the list">
          Version
        </message>
        <message name="IDS_CONFLICTS_HEADER_HELP_TIP" desc="The 'Help tip:' header for each module item in the list">
          Help tip
        </message>
        <message name="IDS_CONFLICTS_LOADING_MESSAGE" desc="Shown while loading until full list of modules is retrieved">
          Loading...
        </message>
        <message name="IDS_CONFLICTS_NOT_LOADED_YET" desc="Shown next to a module that has not been loaded into memory yet">
          Not loaded yet
        </message>
        <if expr="use_titlecase">
        <message name="IDS_CONFLICTS_LEARN_MORE" desc="The Learn More button in the conflicting module bubble">
            Learn More
        </message>
        </if>
        <if expr="not use_titlecase">
        <message name="IDS_CONFLICTS_LEARN_MORE" desc="The Learn More button in the conflicting module bubble">
            Learn more
        </message>
        </if>
      </if> <!-- is_win -->

      <!-- Plugin placeholders -->
      <message name="IDS_PLUGIN_HIDE" desc="The tooltip for hiding a blocked plugin, displayed in the click to play UI.">
        Hide this plugin
      </message>
      <message name="IDS_PLUGIN_UPDATE" desc="The link for updating an outdated plugin.">
        Update plugin
      </message>
      <if expr="is_macosx">
        <message name="IDS_PLUGIN_BLOCKED" desc="The placeholder text for a blocked plugin.">
          Control-click to run <ph name="PLUGIN_NAME">$1<ex>Flash</ex></ph>
        </message>
      </if>
      <if expr="not is_macosx">
        <message name="IDS_PLUGIN_BLOCKED" desc="The placeholder text for a blocked plugin.">
          Right-click to run <ph name="PLUGIN_NAME">$1<ex>Flash</ex></ph>
        </message>
      </if>
      <message name="IDS_PLUGIN_BLOCKED_BY_POLICY" desc="The placeholder text for a plugin blocked by enterprise policy.">
        <ph name="PLUGIN_NAME">$1<ex>Flash</ex></ph> is blocked by enterprise policy
      </message>
      <message name="IDS_PLUGIN_BLOCKED_NO_LOADING" desc="The placeholder text for a blocked plugin that cannot be manually loaded by the user.">
        <ph name="PLUGIN_NAME">$1<ex>Flash</ex></ph> is blocked
      </message>
      <if expr="chromeos">
        <message name="IDS_NACL_PLUGIN_BLOCKED" desc="The placeholder text for a blocked plugin.">
          This plugin is not supported on this device
        </message>
      </if>
      <message name="IDS_PLUGIN_OUTDATED" desc="The placeholder text for an outdated plugin.">
        <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 plugin 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_DOWNLOADING" desc="The placeholder text when downloading a missing plugin.">
        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 plugin.">
        There was an error (<ph name="ERROR">$1<ex>net::ERR_TOO_MANY_GOATS</ex></ph>) while downloading the plugin
      </message>
      <message name="IDS_PLUGIN_DOWNLOAD_ERROR_SHORT" desc="The placeholder text when there was an error download a missing plugin.">
        <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 canceled downloading the plugin.">
        Canceled
      </message>
      <message name="IDS_PLUGIN_UPDATING" desc="The placeholder text when updating an out-of-date plugin.">
        When <ph name="PLUGIN_NAME">$1<ex>Realplayer</ex></ph> finishes updating, reload the page to activate it
      </message>
      <message name="IDS_PLUGIN_DISABLED" desc="The placeholder text for a disabled plugin.">
        <ph name="PLUGIN_NAME">$1<ex>Flash</ex></ph> disabled.
      </message>
      <message name="IDS_PLUGIN_PREFER_HTML_BY_DEFAULT" desc="The placeholder text for a plugin with no fallback content when Prefer HTML5 By Default is on.">
        Click to enable <ph name="PLUGIN_NAME">$1<ex>Flash</ex></ph>
      </message>

      <!-- Session Crashed Info Bar/Bubble-->
      <message name="IDS_SESSION_CRASHED_BUBBLE_TITLE" desc="Title of the session crashed bubble view.">
        Restore pages?
      </message>
      <message name="IDS_SESSION_CRASHED_BUBBLE_UMA_LINK_TEXT" desc="The text attached to the link that explains UMA optin option">
        usage statistics
      </message>

      <!-- Unimplemented Flags Info Bar-->
      <message name="IDS_UNIMPLEMENTED_FLAGS_WARNING_MESSAGE" desc="Message shown when a command-line flag is used that is not implemented by this build. [Keep it short so it fits in the infobar.]">
        <ph name="BAD_FLAG">$1<ex>--enable-heap-profiling</ex></ph> is not implemented in this build.
      </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 plugin 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 plugin was allowed to run on this page.
      </message>
      <message name="IDS_BLOCKED_PPAPI_BROKER_UNBLOCK" desc="Radio button to unblock the Pepper broker">
        Always allow unsandboxed plugins 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 plugins
      </message>
      <message name="IDS_ALLOWED_PPAPI_BROKER_NO_ACTION" desc="Radio button to keep allowing the Pepper broker">
        Continue allowing unsandboxed plugins
      </message>
      <message name="IDS_ALLOWED_PPAPI_BROKER_BLOCK" desc="Radio button to block the Pepper broker">
        Always block unsandboxed plugins 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 plugin blocking...
      </message>

      <!-- Blocked Displaying/Running Insecure Content info bar -->
      <message name="IDS_BLOCKED_DISPLAYING_INSECURE_CONTENT" desc="Message shown when a website has asked Chrome to display mixed content.  The message is followed by a learn more link and an allow button.">
        This page is trying to load scripts from unauthenticated sources.
      </message>
      <if expr="use_titlecase">
        <message name="IDS_ALLOW_INSECURE_CONTENT_BUTTON" desc="Button to allow insecure content to be displayed">
          Load unsafe scripts
        </message>
      </if>
      <if expr="not use_titlecase">
        <message name="IDS_ALLOW_INSECURE_CONTENT_BUTTON" desc="Button to allow insecure content to be displayed">
          Load unsafe scripts
        </message>
      </if>

      <!-- chromeos bookmark app add to shelf strings -->
      <message name="IDS_ADD_TO_SHELF_INFOBAR_TITLE" desc="Label displayed in an infobar asking users to add to the site to their shelf">
        Add this site to your shelf to use it any time.
      </message>
      <message name="IDS_ADD_TO_SHELF_INFOBAR_ADD_BUTTON" desc="Text displayed on the button to allow users to add to the site to their shelf">
        Add
      </message>

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

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

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

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

      <!-- About box strings -->
      <if expr="is_win">
        <message name="IDS_ABOUT_BOX_ERROR_DURING_UPDATE_CHECK" desc="The error label for errors that occurred while checking for updates in the About box.">
          An error occurred while checking for updates: <ph name="ERROR">$1<ex>Unable to contact Google Update</ex></ph>
        </message>
        <message name="IDS_ABOUT_BOX_ERROR_UPDATE_CHECK_FAILED" desc="The error message for the specific case when we cannot create the Google Update component">
          Update check failed to start (error code <ph name="ERROR">$1<ex>0x80000005</ex></ph>).
        </message>
        <message name="IDS_ABOUT_BOX_EXTERNAL_UPDATE_IS_RUNNING" desc="The external updater is running independently.">
          The updater is currently running. Refresh in a minute to check again.
        </message>
        <message name="IDS_ABOUT_BOX_GOOGLE_UPDATE_ERROR" desc="An error message from Google Update with details.">
          <ph name="ERROR">$1<ex>An error message from Google Update.</ex></ph> (error code <ph name="ERROR_CODE">$2<ex>7: 0x80000005</ex></ph>).
        </message>
      </if>

      <!-- Omnibox -->
      <if expr="not use_titlecase">
        <message name="IDS_PASTE_AND_GO" desc="The text label of the Paste And Go menu item when the clipboard contains a URL">
          Pa&amp;ste and go
        </message>
        <message name="IDS_PASTE_AND_SEARCH" desc="The text label of the Paste And Go menu item when the clipboard contains a string to search for">
          Pa&amp;ste and search
        </message>
      </if>
      <if expr="use_titlecase">
        <message name="IDS_PASTE_AND_GO" desc="In Title Case: The text label of the Paste And Go menu item when the clipboard contains a URL">
          Pa&amp;ste and Go
        </message>
        <message name="IDS_PASTE_AND_SEARCH" desc="In Title Case: The text label of the Paste And Go menu item when the clipboard contains a string to search for">
          Pa&amp;ste and Search
        </message>
      </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_HINT_TOUCH" desc="Shown to the user when the url in the omnibox has a keyword associated with it and we are in touch mode (i.e. the on screen keyboard is visible).">
        Search <ph name="SITE_NAME">$1<ex>google.com</ex></ph>
      </message>
      <message name="IDS_OMNIBOX_EXTENSION_KEYWORD_HINT_TOUCH" desc="Shown to the user when the word(s) in the omnibox has an extension keyword associated with it and we are in touch mode (i.e. the onscreen keyboard is visible).">
        Send commands to <ph name="EXTENSION_NAME">$1<ex>ACME Music App</ex></ph>
      </message>
      <message name="IDS_OMNIBOX_KEYWORD_TEXT" desc="Text shown in the search button at the front of the omnibox when the user has selected a keyword">
        Search <ph name="SITE_NAME">$1<ex>google.com</ex></ph>:
      </message>
      <message name="IDS_OMNIBOX_KEYWORD_TEXT_MD" desc="Text shown in the search button at the front of the omnibox when the user has selected a keyword, in MD (no final colon)">
        Search <ph name="SITE_NAME">$1<ex>google.com</ex></ph>
      </message>
      <message name="IDS_GOOGLE_SEARCH_BOX_EMPTY_HINT" desc="The text displayed in the fakebox (on the New Tab page) when it is empty, and Google is the default search engine.">
        Search Google or type URL
      </message>
      <message name="IDS_OMNIBOX_ACCESSIBLE_ANSWER" desc="Readable text represening a query typed by the user in the omnibox, followed by an indication that an answer to that query will follow, followed by the answer. The commas are significant as they will introduce a pause in the spoken text.">
        <ph name="QUERY">$1<ex>weather in los angeles</ex></ph>, answer, <ph name="ANSWER">$2<ex>sunny and 84 degrees</ex></ph>
      </message>
      <message name="IDS_OMNIBOX_CLEAR_ALL" desc="Accessibility text for the button that deletes all text input from the omnibox on touch devices.">
        Clear input
      </message>
      <if expr="is_android">
        <message name="IDS_SEARCH_OR_TYPE_URL" desc="Prompt to enter text into the text field that will either perform web searches or navigate to a URL. [CHAR-LIMIT=38]" formatter_data="android_java">
          Search or type URL
        </message>
      </if>

      <!--Tooltip strings-->
      <message name="IDS_TOOLTIP_BACK" desc="The tooltip for back button">
        Click to go back, hold to see history
      </message>
      <message name="IDS_ACCNAME_TOOLTIP_BACK" desc="The tooltip for back button suited for non-mouse users">
        Press to go back, use context menu 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 to go forward, context menu to see history
      </message>
      <message name="IDS_TOOLTIP_HOME" desc="The tooltip for the home button">
        Open the home page
      </message>
      <message name="IDS_TOOLTIP_RELOAD" desc="The tooltip for reload button">
        Reload this page
      </message>
      <message name="IDS_TOOLTIP_RELOAD_WITH_MENU" desc="The tooltip for reload button with menu in DevTools mode">
        Reload this page, hold to see more options
      </message>
      <message name="IDS_TOOLTIP_STOP" desc="The tooltip for the stop button">
        Stop loading this page
      </message>
      <if expr="is_macosx">
        <message name="IDS_TOOLTIP_CLOSE_TAB" desc="The tooltip for the close tab button">
          Close
        </message>
      </if>
      <message name="IDS_TOOLTIP_LOCATION_ICON" desc="The tooltip for location icon in the omnibox">
        View site information
      </message>
      <if expr="not use_titlecase">
        <message name="IDS_TOOLTIP_NEW_TAB" desc="The tooltip for the new tab button">
          New tab
        </message>
      </if>
      <if expr="use_titlecase">
        <message name="IDS_TOOLTIP_NEW_TAB" desc="The tooltip for the new tab button">
          New Tab
        </message>
       </if>
      <message name="IDS_TOOLTIP_MIC_SEARCH" desc="The tooltip for search-by-voice button">
        Search by voice
      </message>
      <if expr="not use_titlecase">
        <message name="IDS_TOOLTIP_SAVE_CREDIT_CARD" desc="The tooltip for the icon that shows the save credit card bubble">
          Save credit card
        </message>
      </if>
      <if expr="use_titlecase">
        <message name="IDS_TOOLTIP_SAVE_CREDIT_CARD" desc="In Title Case: The tooltip for the icon that shows the save card bubble">
          Save Card
        </message>
       </if>
      <message name="IDS_TOOLTIP_TRANSLATE" desc="The tooltip for translate">
        Translate this page
      </message>
      <message name="IDS_TOOLTIP_ZOOM" desc="The tooltip for the zoom bubble">
        Zoom: <ph name="PERCENT">$1<ex>100%</ex></ph>
      </message>
      <message name="IDS_TOOLTIP_ZOOM_EXTENSION_ICON" desc="The tooltip for the extension icon in the zoom bubble">
        This page was zoomed by the "<ph name="NAME">$1<ex>Google Cast</ex></ph>" extension
      </message>
      <message name="IDS_ZOOM_SET_DEFAULT" desc="The text label of a button which, when clicked, returns the page to default zoom">
        Reset
      </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_FULLSCREEN" desc="The accessible name of the fullscreen button in the new merged menu">
        Full screen
      </message>
      <message name="IDS_ACCNAME_HOME" desc="The accessible name for the home button">
        Home
      </message>
      <message name="IDS_ACCNAME_RELOAD" desc="The accessible name for the reload/stop button.">
        Reload
      </message>
      <message name="IDS_ACCNAME_ZOOM" desc="The accessible name for the zoom button.">
        Zoom
      </message>
      <message name="IDS_ACCNAME_FIND" desc="The accessible name for the find button.">
        Find
      </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_BOOKMARKS_MENU" desc="The accessible name for
the Bookmarks menu.">
        Bookmarks menu
      </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_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_TAB" desc="The accessible name for the button that is used to close a specific tab.">
        Close <ph name="TAB_NAME">$1<ex>Google Search</ex></ph>
      </message>
      <message name="IDS_ACCNAME_ZOOM_SET_DEFAULT" desc="The accessible description of the Reset button in the Zoom bubble.">
        Reset to default zoom level
      </message>

      <!-- Feature Engagement Tracker strings -->
      <message name="IDS_BOOKMARK_PROMO_0" desc="Text shown on promotional UI appearing next to the Bookmarks button, which encourages users to use it.">
        Bookmark this page to easily find it later
      </message>
      <message name="IDS_BOOKMARK_PROMO_1" desc="Text shown on promotional UI appearing next to the Bookmarks button, which encourages users to use it.">
        You can click the star to bookmark a page
      </message>
      <message name="IDS_BOOKMARK_PROMO_2" desc="Text shown on promotional UI appearing next to the Bookmarks button, which encourages users to use it.">
        Get back here fast by bookmarking this page
      </message>
      <message name="IDS_INCOGNITOWINDOW_PROMO_0" desc="Variations option 1. Text shown on promotional UI appearing next to the App Menu button, which encourages users to use it.">
        You can browse privately using an incognito window
      </message>
      <message name="IDS_INCOGNITOWINDOW_PROMO_1" desc="Variations option 2. Text shown on promotional UI appearing next to the App Menu button, which encourages users to use it.">
        Use the web without saving your browsing history with an incognito window
      </message>
      <message name="IDS_INCOGNITOWINDOW_PROMO_2" desc="Variations option 3. Text shown on promotional UI appearing next to the App Menu button, which encourages users to use it.">
        Using a shared computer? Try opening an incognito window.
      </message>
      <message name="IDS_INCOGNITOWINDOW_PROMO_3" desc="Variations option 4. Text shown on promotional UI appearing next to the App Menu button, which encourages users to use it.">
        To browse privately, click the dots icon menu to open an incognito window
      </message>
      <message name="IDS_NEWTAB_PROMO_0" desc="Variations option 1. Text shown on promotional UI appearing next to the New Tab button, which encourages users to use it.">
        Open a new tab with one click
      </message>
      <message name="IDS_NEWTAB_PROMO_1" desc="Variations option 2. Text shown on promotional UI appearing next to the New Tab button, which encourages users to use it.">
        You can click here to open a new tab
      </message>
      <message name="IDS_NEWTAB_PROMO_2" desc="Variations option 3. Text shown on promotional UI appearing next to the New Tab button, which encourages users to use it.">
        Open a new tab to browse two sites at once
      </message>

      <!-- Browser Hung Plugin Detector -->
      <if expr="is_win">
        <message name="IDS_BROWSER_HANGMONITOR" desc="A plugin on a page has hung">
  The following plugin is unresponsive: <ph name="PLUGIN_NAME">$1
  <ex>Shockwave
  </ex></ph>Would you like to stop it?
        </message>
      </if>
      <message name="IDS_BROWSER_HANGMONITOR_RENDERER_TITLE" desc="The title of the 'A page has become unresponsive' dialog. NOTE: If having no explicit # makes the phrasing awkward, feel free to add a # as necessary. [ICU Syntax]">
        {NUM_PAGES, plural,
        =1 {Page Unresponsive}
        other {Pages Unresponsive}}
      </message>
      <message name="IDS_BROWSER_HANGMONITOR_RENDERER" desc="One or more pages have become unresponsive. This text shows under the title of the dialog, which says 'Page Unresponsive.' NOTE: If having no explicit # makes the phrasing awkward, feel free to add a # as necessary. [ICU Syntax]">
        {NUM_PAGES, plural,
        =1 {You can wait for it to become responsive or exit the page.}
        other {You can wait for them to become responsive or exit the pages.}}
      </message>
      <message name="IDS_BROWSER_HANGMONITOR_RENDERER_INFOBAR" desc="The text of the infobar notifying the user that the renderer is unresponsive.">
        The page has become unresponsive. You can wait for it to become responsive or close it.
      </message>
      <message name="IDS_BROWSER_HANGMONITOR_RENDERER_INFOBAR_END" desc="The label of the 'close' button for the hung renderer infobar">
        Close
      </message>
      <message name="IDS_BROWSER_HANGMONITOR_RENDERER_WAIT" desc="The label of the 'wait' button, which exits the dialog without doing anything and continues to wait for the page to become responsive.">
        Wait
      </message>

      <if expr="use_titlecase">
        <message name="IDS_BROWSER_HANGMONITOR_RENDERER_END" desc="The label of the 'exit' button, which stops the unresponsive page.">
          Exit Page
        </message>
      </if>
      <if expr="not use_titlecase">
        <message name="IDS_BROWSER_HANGMONITOR_RENDERER_END" desc="The label of the 'exit' button, which stops the unresponsive page.">
          Exit page
        </message>
      </if>
      <message name="IDS_BROWSER_HANGMONITOR_PLUGIN_INFOBAR" desc="The text of the infobar notifying the user that a plugin has hung">
        A plugin (<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 plugin
      </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_AUTO_SIGNIN_TITLE" desc="Title for 'Auto sign-in' checkbox in the password dialog">
        Auto sign-in
      </message>
      <message name="IDS_PASSWORDS_AUTO_SIGNIN_DESCRIPTION" desc="Text under 'Auto sign-in' checkbox">
        Automatically sign in to websites using stored credentials. When the feature is disabled, you will be asked for confirmation every time before signing in to a website.
      </message>
      <message name="IDS_PASSWORDS_VIA_FEDERATION" desc="Text for federated credential's value.">
        with <ph name="PROVIDER">$1<ex>facebook.com</ex></ph>
      </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>
      <message name="IDS_PASSWORDS_ANDROID_URI_SUFFIX" desc="Text that is appended to Android credential's origin on passwords page. The triple single quotes are needed to preserve the space before the sentence which is needed when the language (Chrome is being translated to) uses space as word separator. Please preserve it, unless the language being translated to does not use space as word separator.">
        ''' (Android)'''
      </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 -->
      <message name="IDS_PASSWORD_MANAGER_CANCEL_BUTTON" desc="Label for the 'dismiss' button in the Manage Password bubble/Update Password infobar. These UIs ask the user if they wish to perform some action with saved passwords, e.g. updating or deleting them; the button dismisses the UI without taking the suggested action.">
        Nope
      </message>
      <if expr="not is_android">
        <message name="IDS_PASSWORD_MANAGER_EDIT_BUTTON" desc="Edit button text for password manager">
          Edit
        </message>
        <message name="IDS_PASSWORD_MANAGER_SAVE_BUTTON" desc="Save button text for password manager">
          Save
        </message>
        <message name="IDS_PASSWORD_MANAGER_UPDATE_BUTTON" desc="Update button text for password manager">
          Update password
        </message>
        <message name="IDS_PASSWORD_MANAGER_BLACKLIST_BUTTON" desc="Button text for the 'Save Password' infobar's 'Never remember for this site' option">
          Never for this site
        </message>
        <message name="IDS_PASSWORD_MANAGER_BUBBLE_BLACKLIST_BUTTON" desc="Button text for the 'Save Password' bubble's 'Never remember for this site' option">
          Never
        </message>
        <message name="IDS_PASSWORD_MANAGER_TOOLTIP_SAVE" desc="Text for the 'Manage Passwords' icon's 'password to be saved' state">
          Save your password
        </message>
        <message name="IDS_PASSWORD_MANAGER_TOOLTIP_MANAGE" desc="Text for the 'Manage Passwords' icon's 'saving passwords' state">
          Manage your passwords
        </message>
        <message name="IDS_PASSWORD_MANAGER_IMPORT_BUTTON" desc="The label of the button for importing passwords. The button appears next to the list of saved passwords in Chrome's settings.">
          Import
        </message>
        <message name="IDS_PASSWORD_MANAGER_EXPORT_BUTTON" desc="The label of the button for exporting passwords. The button appears next to the list of saved passwords in Chrome's settings.">
          Export
        </message>
        <message name="IDS_PASSWORD_MANAGER_IMPORT_DIALOG_TITLE" desc="The Title of the file selection dialog for importing password">
          Import Passwords To Chrome
        </message>
        <message name="IDS_PASSWORD_MANAGER_EXPORT_DIALOG_TITLE" desc="The Title of the file selection dialog for exporting password">
          Export Passwords From Chrome
        </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">
          Save
        </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>
        <message name="IDS_PASSWORD_MANAGER_UPDATE_BUTTON" desc="Label for the 'update' button in the Update Password infobar. This infobar asks if the user wishes to update the saved password for a site to a new password the user has just entered; the button applies the suggested update.">
          Update
        </message>
      </if>

      <!-- Android uses custom UI for Bookmark importing -->
      <if expr="not is_android">
        <!-- Import Settings Dialog -->
        <message name="IDS_IMPORT_SETTINGS_TITLE" desc="Dialog title for import dialog">
          Import bookmarks and settings
        </message>
        <message name="IDS_IMPORT_FROM_LABEL" desc="Label before profile select combo box">
          From:
        </message>
        <if expr="is_win">
          <message name="IDS_IMPORT_FROM_IE" desc="browser combo box: Microsoft Internet Explorer">
            Microsoft Internet Explorer
          </message>
          <message name="IDS_IMPORT_FROM_EDGE" desc="browser combo box: Microsoft Edge">
            Microsoft Edge
          </message>
        </if>
        <message name="IDS_IMPORT_FROM_FIREFOX" desc="browser combo box: Mozilla Firefox">
          Mozilla Firefox
        </message>
        <!-- TODO(thestig) Should this be Linux only? Add #ifdefs to external_process_importer_client.cc -->
        <message name="IDS_IMPORT_FROM_ICEWEASEL" desc="browser combo box: Iceweasel">
          Iceweasel
        </message>
        <!-- TODO(thestig) Should this be Mac or Win+Mac only? -->
        <message name="IDS_IMPORT_FROM_SAFARI" desc="browser combo box: Safari">
          Safari
        </message>
        <message name="IDS_IMPORT_FROM_BOOKMARKS_HTML_FILE" desc="browser combo box: Bookmarks HTML File">
          Bookmarks HTML File
        </message>
        <message name="IDS_IMPORT_ITEMS_LABEL" desc="Label before item select checkboxes">
          Select items to import:
        </message>
        <message name="IDS_IMPORT_HISTORY_CHKBOX" desc="Checkbox for importing browsing history">
          Browsing history
        </message>
        <message name="IDS_IMPORT_FAVORITES_CHKBOX" desc="Checkbox for importing favorites">
          Favorites/Bookmarks
        </message>
        <message name="IDS_IMPORT_PASSWORDS_CHKBOX" desc="Checkbox for importing saved passwords">
          Saved passwords
        </message>
        <message name="IDS_IMPORT_SEARCH_ENGINES_CHKBOX" desc="Checkbox for importing search engines">
          Search engines
        </message>
        <message name="IDS_IMPORT_AUTOFILL_FORM_DATA_CHKBOX" desc="Checkbox for importing form data for autofill">
          Autofill form data
        </message>
        <message name="IDS_IMPORT_LOADING_PROFILES" desc="Status text to notify the user that profiles are being loaded">
          Loading...
        </message>
        <message name="IDS_IMPORT_SUCCEEDED" desc="Status text to notify the user that the import succeeded">
          Success!
        </message>

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

        <message name="IDS_IMPORT_NO_PROFILE_FOUND" desc="Message displayed when we do not find any supported browser to import from.">
          No supported browser found
        </message>

        <!-- Import progress popup -->
        <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>
        </if> <!-- is_macosx -->
      </if> <!-- not is_android -->

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

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

      <if expr="enable_extensions">
        <!-- Feedback Dialog -->
        <if expr="use_titlecase">
          <message name="IDS_FEEDBACK_REPORT_PAGE_TITLE" desc="Label showing the title of the page that will be reported">
            Tell Us What's Happening
          </message>
          <message name="IDS_FEEDBACK_REPORT_PAGE_TITLE_SAD_TAB_FLOW" desc="Label showing the title of the feedback app window when the crash report has been requested from the 'Aw, Snap!' page">
            Describe What You Were Doing When The Tab Crashed
          </message>
        </if>
        <if expr="not use_titlecase">
          <message name="IDS_FEEDBACK_REPORT_PAGE_TITLE" desc="Label showing the title of the page that will be reported">
            Tell us what's happening
          </message>
          <message name="IDS_FEEDBACK_REPORT_PAGE_TITLE_SAD_TAB_FLOW" desc="Label showing the title of the feedback app window when the crash report has been requested from the 'Aw, Snap!' page">
            Describe what you were doing when the tab crashed
          </message>
        </if>
        <message name="IDS_FEEDBACK_MINIMIZE_BUTTON_LABEL" desc="Label of the app minimize button.">
          Minimize
        </message>
        <message name="IDS_FEEDBACK_CLOSE_BUTTON_LABEL" desc="Label of the app close button.">
          Close
        </message>
        <message name="IDS_FEEDBACK_REPORT_URL_LABEL" desc="Label showing the URL that will be reported">
          URL
        </message>
        <message name="IDS_FEEDBACK_USER_EMAIL_LABEL" desc="Label showing the e-mail address that will be reported">
          Email
        </message>
        <message name="IDS_FEEDBACK_ANONYMOUS_EMAIL_OPTION" desc="Option in the drop down menu to let the user send the feedback report anonymously.">
          Report anonymously
        </message>
        <message name="IDS_FEEDBACK_SCREENSHOT_LABEL" desc="Label for the screenshot field if current screenshots are being shown">
          Include this screenshot
        </message>
        <message name="IDS_FEEDBACK_INCLUDE_PERFORMANCE_TRACE_CHECKBOX" desc="Checkbox for including system performance data on the bug report dialog box">
          Send performance trace data
        </message>
        <message name="IDS_FEEDBACK_OFFLINE_DIALOG_TITLE" desc="The title of the message box displayed when the user attempts to send a report while offline">
          Feedback Report
        </message>
        <message name="IDS_FEEDBACK_OFFLINE_DIALOG_TEXT" desc="The content of the message box displayed when the user attempts to send a report while offline">
          Thank you for your feedback. You are offline now, and your report will be sent later.
        </message>
        <if expr="not chromeos">
          <message name="IDS_FEEDBACK_INCLUDE_SYSTEM_INFORMATION_CHKBOX" desc="Checkbox for including system information on the bug report dialog box">
            Send <ph name="BEGIN_LINK1">&lt;a href="#" id="sys-info-url"&gt;</ph>system information<ph name="END_LINK1">&lt;/a&gt;</ph>
          </message>
        </if>
        <if expr="chromeos">
          <message name="IDS_FEEDBACK_INCLUDE_SYSTEM_INFORMATION_AND_METRICS_CHKBOX" desc="Checkbox for including system information and metrics on the bug report dialog box">
            Send <ph name="BEGIN_LINK1">&lt;a href="#" id="sys-info-url"&gt;</ph>system information<ph name="END_LINK1">&lt;/a&gt;</ph> and <ph name="BEGIN_LINK2">&lt;a href="#" id="histograms-url"&gt;</ph>metrics<ph name="END_LINK2">&lt;/a&gt;</ph>
          </message>
          <message name="IDS_FEEDBACK_INCLUDE_SYSTEM_INFORMATION_AND_METRICS_CHKBOX_ARC" desc="Checkbox for including system, metrics and app information on the bug report dialog box on an ARC enabled device">
            Send <ph name="BEGIN_LINK1">&lt;a href="#" id="sys-info-url"&gt;</ph>system and app information<ph name="END_LINK1">&lt;/a&gt;</ph>, and <ph name="BEGIN_LINK2">&lt;a href="#" id="histograms-url"&gt;</ph>metrics<ph name="END_LINK2">&lt;/a&gt;</ph>
          </message>
        </if>
        <message name="IDS_FEEDBACK_ATTACH_FILE_NOTE" desc="Text for describing the maximum size for an attached file">
          File will be sent to Google for debugging
        </message>
        <message name="IDS_FEEDBACK_ATTACH_FILE_LABEL" desc="Text for the label for the attached filename">
          Attach file
        </message>
        <message name="IDS_FEEDBACK_READING_FILE" desc="Text to display if reading a file when the user clicks the send report button">
          Reading file..
        </message>
        <message name="IDS_FEEDBACK_ATTACH_FILE_TO_BIG" desc="Text to display if the file being attached is too big">
          Selected file is too big (max size: 3mb).
        </message>
        <message name="IDS_FEEDBACK_PRIVACY_NOTE" desc="Text for the privacy note included with Chrome OS">
          Your Chrome and operating system version will be submitted in addition
          to any information you choose to include above. If you include your email
          address, Google may contact you regarding your feedback report. This feedback
          is used to diagnose problems and help improve Chrome. Any personal information
          you submit, whether explicitly or incidentally will be protected in
          accordance with our privacy policies.<ph name="BEGIN_BOLD">&lt;strong&gt;
          </ph> By submitting this feedback, you agree that Google may use feedback
          that you provide to improve any Google product or service.
          <ph name="END_BOLD">&lt;/strong&gt;</ph>
        </message>
        <message name="IDS_FEEDBACK_NO_DESCRIPTION" desc="Message shown when no text is entered before hitting send feedback">
          Please tell us what is happening before sending the feedback.
        </message>
        <message name="IDS_FEEDBACK_SEND_REPORT" desc="Text for OK button of the send feedback dialog">
          Send
        </message>
        <message name="IDS_FEEDBACK_SYSINFO_PAGE_TITLE" desc="The title of the system information preview page">
          System Information Preview
        </message>
        <message name="IDS_FEEDBACK_SYSINFO_PAGE_LOADING" desc="The message showing the status of the system information preview page that it is still loading">
          Loading...
        </message>
        <message name="IDS_FEEDBACK_ADDITIONAL_INFO_LABEL" desc="Text for the group label to indicate that some fields are optional.">
          Additional info (optional)
        </message>

        <!-- Feedback Dialog SRT Prompt -->
        <message name="IDS_FEEDBACK_SRT_PROMPT_BODY" desc="Body text explaining what the Chrome Software Removal Tool is">
          Is Chrome crashing, showing unusual startup pages, toolbars, or unexpected ads you can't get rid of, or otherwise changing your browsing experience? You may be able to fix the problem by running the Chrome Cleanup Tool.
        </message>
        <message name="IDS_FEEDBACK_SRT_PROMPT_ACCEPT_BUTTON" desc="Button which takes the user to the Chrome Software Removal Tool download page">
          Download Chrome Cleanup Tool
        </message>
        <message name="IDS_FEEDBACK_SRT_PROMPT_DECLINE_BUTTON" desc="Button which declines a prompt and takes the user to the form for filing feedback">
          Skip
        </message>
      </if>

      <!-- MD Feedback Strings -->
      <message name="IDS_MD_FEEDBACK_DIALOG_TITLE" desc="Text for feedback dialog. This appears in the OS taskbar and the top of the dialog window when the title is shown.">
        Feedback
      </message>
      <message name="IDS_MD_FEEDBACK_HEADING" desc="Header text of the feedback dialog.">
        Tell us what's happening
      </message>
      <message name="IDS_MD_FEEDBACK_OPEN_ENDED_LABEL" desc="Label for the open ended feedback input box that is initially blank. Users can write open ended feedback before submission.">
        Please enter your feedback here.
      </message>
      <message name="IDS_MD_FEEDBACK_URL_LABEL" desc="Label for the text input that may be prepopulated with the URL to be reported. Users are able to modify this text before submission..">
        URL
      </message>
      <message name="IDS_MD_FEEDBACK_USER_EMAIL_LABEL" desc="Label for the text input that may be prepopulated with the user's email. Users are able to modify this text before submission.">
        Email
      </message>
      <message name="IDS_MD_FEEDBACK_CANCEL_BUTTON" desc="Text for Cancel button of the feedback dialog. When clicked, the dialog will close without sending the feedback.">
        Cancel
      </message>
      <message name="IDS_MD_FEEDBACK_SEND_REPORT_BUTTON" desc="Text for Send Report button of the feedback dialog. When clicked, the feedback report will be sent.">
        Send
      </message>
      <message name="IDS_MD_FEEDBACK_SCREENSHOT_LABEL" desc="Label for the checkbox to indicate whether the shown screenshot should be included in the feedback report.">
        Include this screenshot
      </message>
      <message name="IDS_MD_FEEDBACK_SEND_SYSTEM_INFO_LABEL" desc="Label for the checkbox to indicate whether the system info should be included in the feedback report.">
        Send system information
      </message>
      <if expr="_google_chrome">
        <message name="IDS_MD_FEEDBACK_PRIVACY_NOTE" desc="Text for the privacy note shown on the feedback dialog.">
          Your Chrome and operating system version will be submitted in addition
          to any information you choose to include above. If you include your email
          address, Google may contact you regarding your feedback report. This feedback
          is used to diagnose problems and help improve Chrome. Any personal information
          you submit, whether explicitly or incidentally will be protected in
          accordance with our privacy policies.<ph name="BEGIN_BOLD">&lt;strong&gt;
          </ph> By submitting this feedback, you agree that Google may use feedback
          that you provide to improve any Google product or service.
          <ph name="END_BOLD">&lt;/strong&gt;</ph>
        </message>
      </if>
      <message name="IDS_MD_FEEDBACK_ADDITIONAL_INFO_LABEL" desc="Text for the group label to indicate that some fields are optional.">
        Additional info (optional)
      </message>

      <!-- Clear Browsing Data -->
      <message name="IDS_CLEAR_BROWSING_DATA_TITLE" desc="Dialog title">
        Clear browsing data
      </message>
      <message name="IDS_CLEAR_BROWSING_DATA_INFO_BAR_TEXT" desc="The text of the infobar that is displayed in the clear browsing data dialog. This infobar remindes users that they can use the incognito mode instead of clearing their browsing data.">
        Psst! Incognito mode (<ph name="INCOGNITO_MODE_SHORTCUT">$1<ex>Shift+Ctrl+N</ex></ph>) may come in handy next time.
      </message>
      <message name="IDS_CLEAR_BROWSING_DATA_LABEL" desc="Label at the top of the client area of the dialog, preceding the period combo box">
        Obliterate the following items from:
      </message>
      <message name="IDS_DEL_BROWSING_HISTORY_CHKBOX" desc="Checkbox for deleting Browsing History">
        Browsing history
      </message>
      <message name="IDS_DEL_DOWNLOAD_HISTORY_CHKBOX" desc="Checkbox for deleting Download History">
        Download history
      </message>
      <message name="IDS_DEL_CACHE_CHKBOX" desc="Checkbox for deleting Cache">
        Cached images and files
      </message>
      <message name="IDS_DEL_COOKIES_CHKBOX" desc="Checkbox for deleting Cookies and other site data">
        Cookies and other site data
      </message>
      <message name="IDS_DEL_COOKIES_FLASH_CHKBOX" desc="Checkbox for deleting Cookies and other site data">
        Cookies and other site and plugin data
      </message>
      <message name="IDS_DEL_PASSWORDS_CHKBOX" desc="Checkbox for deleting Passwords">
        Passwords
      </message>
      <message name="IDS_DEL_FORM_DATA_CHKBOX" desc="Checkbox for deleting form data saved for Autofill">
        Autofill form data
      </message>
      <message name="IDS_DEL_HOSTED_APPS_DATA_CHKBOX" desc="Checkbox for deleting data of hosted apps">
        Hosted app data
      </message>
      <message name="IDS_DEL_MEDIA_LICENSES_CHKBOX" desc="Checkbox for deleting media licenses (premium content, etc.)">
        Media 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_FLASH_PERMISSION_FRAGMENT" desc="Permission asked in the permission bubble when a URL wants to use Flash Plugins on the page. Preceded by the prompt 'This site would like to:'">
        Run Flash
      </message>
      <message name="IDS_CLEAR_DATA_HOUR" desc="deletion period combo box: hour. In English this finishes the sentence that starts with 'Delete the following items from'.">
        the past hour
      </message>
      <message name="IDS_CLEAR_DATA_DAY" desc="deletion period combo box: day. In English this finishes the sentence that starts with 'Delete the following items from'.">
        the past day
      </message>
      <message name="IDS_CLEAR_DATA_WEEK" desc="deletion period combo box: week. In English this finishes the sentence that starts with 'Delete the following items from'.">
        the past week
      </message>
      <message name="IDS_CLEAR_DATA_4WEEKS" desc="deletion period combo box: 4 weeks. In English this finishes the sentence that starts with 'Delete the following items from'.">
        the last 4 weeks
      </message>
      <message name="IDS_CLEAR_DATA_EVERYTHING" desc="deletion period combo box: everything. In English this finishes the sentence that starts with 'Delete the following items from'.">
        the beginning of time
      </message>
      <message name="IDS_CLEAR_BROWSING_DATA_SOME_STUFF_REMAINS" desc="Information that some data may remain even though the user clears their browsing history. The text in '|'s and '#'s will be turned into buttons. The translated text should contain exactly one phrase in '|'s and one in '#'s.">
        Saved |content settings| and #search engines# will not be cleared and may reflect your browsing habits.
      </message>
      <message name="IDS_CLEAR_BROWSING_DATA_SOME_STUFF_REMAINS_SIMPLE" desc="A text shown at the bottom of the Clear Browsing Data dialog, informing the user that some data types will not be cleared.">
        Some settings that may reflect browsing habits will not be cleared.
      </message>
      <message name="IDS_CLEAR_BROWSING_DATA_HISTORY_FOOTER" desc="A text shown at the bottom of the Clear Browsing Data dialog, informing the user that deleting Chrome browsing history will not delete other forms of history stored at Google My Activity.">
        Your Google Account may have other forms of browsing history at <ph name="BEGIN_LINK">&lt;a target="_blank" href="$1"&gt;</ph>history.google.com<ph name="END_LINK">&lt;/a&gt;</ph>
      </message>
      <message name="IDS_CLEAR_BROWSING_DATA_HISTORY_NOTICE" desc="A dialog informing the user that their Chrome browsing history was deleted, but other forms of history can still be found on Google My Activity.">
        The selected data has been removed from Chrome and synced devices. Your Google Account may have other forms of browsing history like searches and activity from other Google services at <ph name="BEGIN_LINK">&lt;a target="_blank" href="$1"&gt;</ph>history.google.com<ph name="END_LINK">&lt;/a&gt;</ph>.
      </message>
      <message name="IDS_CLEAR_BROWSING_DATA_HISTORY_NOTICE_TITLE" desc="Title of a dialog that informs the user that the deletion of Chrome's browsing data has been completed.">
        Cleared Chrome data
      </message>
      <message name="IDS_CLEAR_BROWSING_DATA_HISTORY_NOTICE_OK" desc="Button in a dialog that informs the user that the deletion of Chrome's browsing data has been completed.">
        Ok, got it
      </message>
      <message name="IDS_CLEAR_BROWSING_DATA_SYNCED_DELETION" desc="Information that data which is synced across user's devices will be deleted from all those devices.">
        This clears synced data from all devices.
      </message>

      <!-- Supervised User (Legacy and Accounts for Kids) Avatar Menu -->
      <message name="IDS_LEGACY_SUPERVISED_USER_INFO" desc="Text which explains that a supervised user is managed by a custodian.">
        Usage and history can be reviewed by the manager (<ph name="CUSTODIAN_EMAIL">$1<ex>Jane.Doe@gmail.com</ex></ph>) on chrome.com.
      </message>
      <message name="IDS_CHILD_INFO_ONE_CUSTODIAN" desc="Text which explains that a child user is managed by a single parent.">
        This is an account for kids managed by <ph name="CUSTODIAN_EMAIL">$1<ex>Jane.Doe@gmail.com</ex></ph>.
      </message>
      <message name="IDS_CHILD_INFO_TWO_CUSTODIANS" desc="Text which explains that a child user is managed by two parents.">
        This is an account for kids managed by <ph name="CUSTODIAN_EMAIL">$1<ex>John.Doe@gmail.com</ex></ph> and <ph name="SECOND_CUSTODIAN_EMAIL">$2<ex>Jane.Doe@gmail.com</ex></ph>.
      </message>
      <message name="IDS_LEGACY_SUPERVISED_USER_AVATAR_LABEL" desc="A label for the supervised user which is used in the avatar menu and as a label in the titlebar.">
        Supervised user
      </message>
      <message name="IDS_LEGACY_SUPERVISED_USER_NEW_AVATAR_LABEL" desc="Label shown in the new avatar menu for a supervised user.">
        <ph name="PROFILE_DISPLAY_NAME">$1<ex>Markus</ex></ph> (Supervised)
      </message>
      <message name="IDS_CHILD_AVATAR_LABEL" desc="Label shown in the new avatar menu for a child user.">
        <ph name="PROFILE_DISPLAY_NAME">$1<ex>Markus</ex></ph> (Account for kids)
      </message>

      <!-- Supervised User Block Interstitial data -->

       <message name="IDS_BLOCK_INTERSTITIAL_DEFAULT_FEEDBACK_TEXT" desc="The default text for feedback about a blocked site.">
        <ph name="REASON">$1<ex>It may have mature content.</ex></ph>
I don't think this site should be blocked!
      </message>

      <!-- Content Settings dialog data -->
      <message name="IDS_CONTENT_SETTINGS_TITLE" desc="Title for content settings dialog">
        Content settings
      </message>
      <message name="IDS_COOKIES_TAB_LABEL" desc="Label for Cookies tab on Content Settings dialog">
        Cookies
      </message>
      <message name="IDS_COOKIES_HEADER" desc="Header for cookie exception management page on Content Settings dialog">
        Cookie and site data exceptions
      </message>
      <message name="IDS_COOKIES_ALLOW_RADIO" desc="A radio button in the Content Settings dialog for allowing cookies and other site data to be stored on your computer.">
        Allow local data to be set (recommended)
      </message>
      <message name="IDS_COOKIES_SESSION_ONLY_RADIO" desc="A radio button in the Content Settings dialog for allowing cookies and other site data for the current session only.">
        Keep local data only until you quit your browser
      </message>
      <message name="IDS_COOKIES_BLOCK_RADIO" desc="A radio button in the Content Settings dialog for blocking cookies and other site data from being stored on your computer.">
        Block sites from setting any data
      </message>
      <message name="IDS_COOKIES_BLOCK_3RDPARTY_CHKBOX" desc="A checkbox in the Content Settings dialog for blocking all 3rd party cookies.">
        Block third-party cookies and site data
      </message>
      <message name="IDS_MEDIA_STREAM_MIC_TAB_LABEL" desc="Label for the microphone tab on Content Settings dialog">
        Microphone
      </message>
      <message name="IDS_MEDIA_STREAM_CAMERA_TAB_LABEL" desc="Label for the camera tab on Content Settings dialog">
        Camera
      </message>
      <message name="IDS_MEDIA_STREAM_MIC_HEADER" desc="Header for microphone exception management page on Content Settings dialog">
        Microphone exceptions
      </message>
      <message name="IDS_MEDIA_STREAM_CAMERA_HEADER" desc="Header for camera exception management page on Content Settings dialog">
        Camera exceptions
      </message>
      <message name="IDS_MEDIA_STREAM_BLOCK_AUDIO_ONLY_RADIO" desc="A radio button in Content Settings dialog to deny all sites to access audio capture device.">
        Do not allow sites to access your microphone
      </message>
      <message name="IDS_MEDIA_STREAM_ASK_AUDIO_ONLY_RADIO" desc="A radio button in Content Settings dialog to allow site to query the permision to access audio capture devices.">
        Ask when a site requires access to your microphone (recommended)
      </message>
      <message name="IDS_MEDIA_STREAM_BLOCK_VIDEO_ONLY_RADIO" desc="A radio button in Content Settings dialog to deny all sites to access video capture device.">
        Do not allow sites to access your camera
      </message>
      <message name="IDS_MEDIA_STREAM_ASK_VIDEO_ONLY_RADIO" desc="A radio button in Content Settings dialog to allow site to query the permision to access video capture devices.">
        Ask when a site requires access to your camera (recommended)
      </message>
      <message name="IDS_MEDIA_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_MIC_DEFAULT_DIVERGED_LABEL" desc="The label in Content Settings dialog informing that Pepper Flash uses different default permission for microphone than the default media permission.">
        Adobe Flash Player microphone settings are different.
      </message>
      <message name="IDS_MEDIA_PEPPER_FLASH_CAMERA_DEFAULT_DIVERGED_LABEL" desc="The label in Content Settings dialog informing that Pepper Flash uses different default permission for camera than the default media permission.">
        Adobe Flash Player camera settings are different.
      </message>
      <message name="IDS_MEDIA_PEPPER_FLASH_MIC_EXCEPTIONS_DIVERGED_LABEL" desc="The label in the media device exception management page informing that Pepper Flash uses different exceptions for microphone than the ones listed on the page.">
        Adobe Flash Player microphone exceptions are different.
      </message>
      <message name="IDS_MEDIA_PEPPER_FLASH_CAMERA_EXCEPTIONS_DIVERGED_LABEL" desc="The label in the media device exception management page informing that Pepper Flash uses different exceptions for camera than the ones listed on the page.">
        Adobe Flash Player camera 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_IMAGES_TAB_LABEL" desc="Label for Images tab on Content Settings dialog">
        Images
      </message>
      <message name="IDS_IMAGES_HEADER" desc="Header for image exception management page on Content Settings dialog">
        Image exceptions
      </message>
      <message name="IDS_IMAGES_LOAD_RADIO" desc="A radio button in the Content Settings dialog for allowing all images to be loaded.">
        Show all images (recommended)
      </message>
      <message name="IDS_IMAGES_NOLOAD_RADIO" desc="A radio button in the Content Settings dialog for preventing loading any image.">
        Do not show any images
      </message>
      <message name="IDS_POPUP_TAB_LABEL" desc="Label for Pop-up Windows tab on Content Settings dialog">
        Pop-ups
      </message>
      <message name="IDS_POPUP_HEADER" desc="Header for popup exception management page on Content Settings dialog">
        Pop-up exceptions
      </message>
      <message name="IDS_POPUP_ALLOW_RADIO" desc="A radio button in the Content Settings dialog for allowing pop-up windows in the browser.">
        Allow all sites to show pop-ups
      </message>
      <message name="IDS_POPUP_BLOCK_RADIO" desc="A radio button in the Content Settings dialog for preventing showing pop-up windows on any sites.">
        Do not allow any site to show pop-ups (recommended)
      </message>
      <if expr="is_android">
        <message name="IDS_POPUPS_BLOCKED_INFOBAR_BUTTON_SHOW" desc="Pop-up Blocking Show Button [CHAR-LIMIT=32]">
          Always show
        </message>
        <message name="IDS_POPUPS_BLOCKED_INFOBAR_TEXT" desc="Pop-up Blocking Title [CHAR-LIMIT=32] [ICU Syntax]">
          {NUM_POPUPS,plural,=1{A pop-up is blocked} other{# pop-ups are blocked}}
        </message>
      </if>
      <message name="IDS_FLASH_TAB_LABEL" desc="Label for Flash tab on Content Settings dialog">
        Flash
      </message>
      <message name="IDS_FLASH_HEADER" desc="Header for plugin exception management page on Content Settings dialog">
        Flash exceptions
      </message>
      <message name="IDS_FLASH_ALLOW_RADIO" desc="A radio button in the Content Settings dialog for allowing plugins use on any site.">
        Allow sites to run Flash
      </message>
      <message name="IDS_FLASH_DETECT_RECOMMENDED_RADIO" desc="A radio button in the Content Settings dialog for detecting and running important plugin content only. This is the behavior Chrome recommends.">
        Detect and run important Flash content (recommended)
      </message>
      <message name="IDS_FLASH_ASK_RECOMMENDED_RADIO" desc="A radio button in the Content Settings dialog for asking first before running Flash. This is the behavior Chrome recommends.">
        Ask first before allowing sites to run Flash (recommended)
      </message>
      <message name="IDS_FLASH_BLOCK_RADIO" desc="A radio button in the Content Settings dialog for gating plugins on a context menu activation.">
        Block sites from running Flash
      </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_PDF_TAB_LABEL" desc="Label for the pdf plugin tab on Content Settings dialog">
        PDF Documents
      </message>
      <message name="IDS_PDF_ENABLE_CHECKBOX" desc="A checkbox in the Content Settings dialog for forcing an external PDF viewer app in place of the internal PDF plugin.">
        Open PDF files in the default PDF viewer application.
      </message>
      <message name="IDS_HANDLERS_TAB_LABEL" desc="Label for Handlers tab on Content Settings dialog">
        Handlers
      </message>
      <message name="IDS_HANDLERS_ALLOW_RADIO" desc="A radio button in the Content Settings dialog for allowing sites to register themselves as handlers for protocols.">
        Allow sites to ask to become default handlers for protocols (recommended)
      </message>
      <message name="IDS_HANDLERS_DONOTALLOW_RADIO" desc="A radio button in the Content Settings dialog for preventing sites from registering themselves as handlers for protocols.">
        Do not allow any site to handle protocols
      </message>
    <message name="IDS_HANDLERS_BUBBLE_MANAGE_LINK" desc="Link on the register protocol handler bubble that opens up the Content Settings management dialog.">
      Manage handler settings...
    </message>
    <message name="IDS_HANDLERS_TYPE_COLUMN_HEADER" desc="Header on the settings page for the column showing handler protocols.">
        Type
    </message>
    <message name="IDS_HANDLERS_SITE_COLUMN_HEADER" desc="Header on the settings page for the column showing handler sites.">
        Site
    </message>
    <message name="IDS_HANDLERS_REMOVE_HANDLER_LINK" desc="Text on the link that removes a registered protocol handler from a user's settings.">
        remove this site
    </message>
    <message name="IDS_HANDLERS_NONE_HANDLER" desc="Text in the dropdown for handlers for a given protocol that indicates that the protocol shouldn't be handled.">
        (none)
    </message>
    <message name="IDS_HANDLERS_ACTIVE_HEADING" desc="Header for the section of the handlers settings page that lists handlers that are active, that is, can be used to handle links.">
        Active protocol handlers
    </message>
    <message name="IDS_HANDLERS_IGNORED_HEADING" desc="Header for the section of the handlers settings page that lists handlers that are ignored.">
        Ignored protocol handlers
    </message>

    <message name="IDS_HANDLER_OPTIONS_WINDOW_TITLE" desc="The title of the window that lets a user change what handlers they have registered for various protocols / mimetypes.">
      Protocol handlers
    </message>
      <message name="IDS_GEOLOCATION_TAB_LABEL" desc="Label for Geolocation tab on Content Settings dialog">
        Location
      </message>
      <message name="IDS_GEOLOCATION_HEADER" desc="Label for Geolocation exception management page on Content Settings dialog">
        Geolocation exceptions
      </message>
      <message name="IDS_GEOLOCATION_ALLOW_RADIO" desc="A radio button in the Content Settings dialog for allowing all sites access to geolocation data.">
        Allow all sites to track your physical location
      </message>
      <message name="IDS_GEOLOCATION_ASK_RADIO" desc="A radio button in the Content Settings dialog for asking before allowing sites access to gelocation data.">
        Ask when a site tries to track your physical location (recommended)
      </message>
      <message name="IDS_GEOLOCATION_BLOCK_RADIO" desc="A radio button in the Content Settings dialog for blocking sites from accessing geolocation data.">
        Do not allow any site to track your physical location
      </message>
      <message name="IDS_GEOLOCATION_GOOGLE_ACCESS_ENABLE_CHKBOX" desc="The label of the 'Allow Google services to access your location' checkbox">
        Allow Google services to access your location
      </message>
      <message name="IDS_GEOLOCATION_SET_BY_HOVER" desc="Hover text for URL in a list of exceptions, preceding the name of the granting hosted app.">
        Set by app:
      </message>
      <message name="IDS_NOTIFICATIONS_TAB_LABEL" desc="Label for Notifications tab on Content Settings dialog">
        Notifications
      </message>
      <message name="IDS_NOTIFICATIONS_HEADER" desc="Label for Notifications exception management page on Content Settings dialog">
        Notifications exceptions
      </message>
      <message name="IDS_NOTIFICATIONS_ALLOW_RADIO" desc="A radio button in Content Settings dialog to allow all sites to show notifications.">
        Allow all sites to show 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 notifications
      </message>
      <message name="IDS_NOTIFICATIONS_ASK_RADIO" desc="A radio button in Content Settings dialog to configure notifications per-site.">
        Ask when a site wants to show notifications (recommended)
      </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_USB_DEVICE_HEADER" desc="A column headers for the exceptions dialog indicating the name of a device the page has access to (e.g. 'Nexus 5')">
        Device
      </message>
      <message name="IDS_EXCEPTIONS_ZOOM_HEADER" desc="A column header for the exceptions dialog indicating the zoom level of pages (e.g. 110% magnification)">
        Zoom
      </message>
      <message name="IDS_EXCEPTIONS_ALLOW_BUTTON" desc="A label to display in the exception page's action column when a site's content setting is allowed for a given domain">
        Allow
      </message>
      <message name="IDS_EXCEPTIONS_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_ASK_BUTTON" desc="A label to display in the exception page's action column when a site's content setting is set to prompt 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_DETECT_IMPORTANT_CONTENT_BUTTON" desc="A label to display in the exception page's action column when only important content is allowed.">
        Detect content
      </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_PROTECTED_CONTENT_TAB_LABEL" desc="Label for the Protected Content tab on the Content Settings dialog.">
        Protected content
      </message>
      <message name="IDS_PROTECTED_CONTENT_ENABLE_CHECKBOX" desc="The label of the checkbox for enabling protected content.">
        Allow sites to play protected content (recommended)
      </message>
      <if expr="chromeos or is_win">
        <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_IDENTIFIERS_CHECKBOX" desc="The label of the checkbox for enabling machine identifiers to uniquely identiy the user for protected content.">
          Allow identifiers for protected content (computer restart may be required)
        </message>
        <message name="IDS_PROTECTED_CONTENT_HEADER" desc="Text label for the managing exceptions of Protected Content.">
          Protected content exceptions
        </message>
      </if>
      <message name="IDS_PPAPI_BROKER_TAB_LABEL" desc="Label for PPAPI broker tab on Content Settings dialog">
        Unsandboxed plugin access
      </message>
      <message name="IDS_PPAPI_BROKER_HEADER" desc="Label for PPAPI broker tab exception management page on Content Settings dialog">
        Unsandboxed plugin access exceptions
      </message>
      <message name="IDS_PPAPI_BROKER_ALLOW_RADIO" desc="A radio button in Content Settings dialog to allow all sites to access the PPAPI broker.">
        Allow all sites to use a plugin to access your computer
      </message>
      <message name="IDS_PPAPI_BROKER_BLOCK_RADIO" desc="A radio button in Content Settings dialog to deny all sites to access the PPAPI broker.">
        Do not allow any sites to use a plugin to access your computer
      </message>
      <message name="IDS_PPAPI_BROKER_ASK_RADIO" desc="A radio button in Content Settings dialog to allow site to query the permision to access the PPAPI broker.">
        Ask when a site wants to use a plugin to access your computer (recommended)
      </message>

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

      <message name="IDS_USB_DEVICES_HEADER_AND_TAB_LABEL" desc="Label for USB devices tab and a header on the Content Settings dialog (a page may be granted permission to connect to individual USB devices).">
        USB Devices
      </message>
      <message name="IDS_USB_DEVICES_MANAGE_BUTTON" desc="Button on the Content Settings dialog that opens a dialog to manage USB devices pages have permission to connect to.">
        Manage...
      </message>

      <message name="IDS_BACKGROUND_SYNC_HEADER" desc="Header for background sync on the Content Settings dialog. Background sync allows websites to queue an operation for the next time the device is online.">
        Background sync
      </message>
      <message name="IDS_BACKGROUND_SYNC_ALLOW_RADIO" desc="A radio button on the Content Settings dialog to allow all sites to use background sync.">
        Allow recently closed sites to finish sending and receiving data (recommended)
      </message>
      <message name="IDS_BACKGROUND_SYNC_BLOCK_RADIO" desc="A radio button on the Content Settings dialog to block all sites from using background sync.">
        Do not allow recently closed sites to finish sending and receiving data
      </message>

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

      <!-- 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>
        <message name="IDS_PROMOTE_PREFLIGHT_LAUNCH_ERROR" desc="Status label shown when an administrator user requested automatic updates for all users, but the OS failed to start the pre-flight process.  Mac-only.">
          Failed to set up automatic updates for all users (preflight launch error: <ph name="ERROR_NUMBER">$1<ex>1</ex></ph>)
        </message>
        <message name="IDS_PROMOTE_PREFLIGHT_SCRIPT_ERROR" desc="Status label shown when an administrator user requested automatic updates for all users, but the pre-flight process reported an error.  Mac-only.">
          Failed to set up automatic updates for all users (preflight execution error: <ph name="ERROR_NUMBER">$1<ex>1</ex></ph>)
        </message>
      </if>

      <!-- About Chrome View -->
      <if expr="is_macosx">
        <message name="IDS_ABOUT_CHROME_PROMOTE_UPDATER" desc="The 'Set Up Automatic Updates for All Users' button in the About window.  Mac-only.">
          Set Up Automatic Updates for All Users
        </message>
      </if>
      <message name="IDS_UPGRADE_CHECK_STARTED" desc="Status label: About to start checking for updates">
        Checking for updates...
      </message>
      <if expr="is_win or is_macosx">
        <message name="IDS_UPGRADE_ERROR" desc="Status label: Error occurred during upgrade">
          Update failed (error: <ph name="ERROR_NUMBER">$1<ex>1</ex></ph>)
        </message>
        <message name="IDS_UPGRADE_ERROR_DETAILS" desc="Status label optionally shown when an error occurred during upgrade. The upgrade daemon may optionally send supplemental error messages; if they're available, we append them after this message in an HTML pre block.">
          Error details:
        </message>
      </if>
      <if expr="is_win or chromeos">
        <message name="IDS_UPGRADE_DISABLED_BY_POLICY" desc="Status label: Upgrades disabled by policy">
          Updates are disabled by your administrator.
        </message>
      </if>
      <if expr="is_win">
        <message name="IDS_UPGRADE_DISABLED_BY_POLICY_MANUAL" desc="Status label: Manual upgrades disabled by policy, automatic upgrades ok">
          Automatic updates are enabled. Manual updates are disabled by your administrator.
        </message>
      </if>
      <message name="IDS_REPORT_AN_ISSUE" desc="Text of the button which allows the user to report an issue with Chrome.">
        Report an issue
      </message>

      <!-- SRT bubble messages.
           These strings are for the old Chrome Cleanup version and should be
           deleted as soon as all Chrome Cleanup UI is fully integrated into
           Chrome. -->
      <message name="IDS_SRT_BUBBLE_DOWNLOAD_BUTTON_TEXT" desc="Download button of the Chrome Cleanup Tool bubble">
        Get the Chrome Cleanup Tool
      </message>
      <message name="IDS_SRT_BUBBLE_DISMISS" desc="Dismiss button text of the Chrome Cleanup Tool bubble">
        Dismiss
      </message>
      <message name="IDS_SRT_BUBBLE_RUN_BUTTON_TEXT" desc="Run button of the Chrome Cleanup Tool bubble">
        Run Chrome Cleanup Tool
      </message>
      <message name="IDS_SRT_BUBBLE_TEXT" desc="Text for the Chrome Cleanup Tool bubble view full description.">
          Is Chrome crashing, showing unusual startup pages, toolbars, or unexpected ads you can't get rid of, or otherwise changing your browsing experience? You may be able to fix the problem by running the Chrome Cleanup Tool.
      </message>
      <message name="IDS_SRT_BUBBLE_TEXT_2_UWS_NAMES" desc="Text to put within IDS_SRT_BUBBLE_TEXT_WITH_UWS_NAME when there are 2 UwS found, e.g., Software1 and Software2.">
          <ph name="UWS_NAME">$1<ex>SoftwareName</ex></ph> and <ph name="UWS_NAME">$2<ex>Software2</ex></ph>
      </message>
      <if expr="use_titlecase">
        <message name="IDS_SRT_MENU_ITEM" desc="In Title Case: Text for the Chrome menu option to be shown when unusual behavior was detected.">
          Unusual Behavior Detected
        </message>
      </if>
      <if expr="not use_titlecase">
        <message name="IDS_SRT_MENU_ITEM" desc="Text for the Chrome menu option to be shown when unusual behavior was detected.">
          Unusual behavior detected
        </message>
      </if>

      <!-- Chrome Cleanup prompt and web UI -->
      <if expr="is_win">
        <message name="IDS_CHROME_CLEANUP_PROMPT_DETAILS_BUTTON_LABEL" desc="The button in the Chrome Cleanup dialog that lets users see more details, such as what files will be deleted from their computer. Chrome browser shows the dialog when unwanted software, like ad injectors or software that changes the user's settings without their knowledge, is found on the user's computer. Noun; verb 'See' is omitted.">
          Details
        </message>
        <message name="IDS_CHROME_CLEANUP_PROMPT_REMOVE_BUTTON_LABEL" desc="A button in the Chrome Cleanup dialog. When clicked, Chrome will begin to remove unwanted software and restore browser settings to default values. Appears next to a 'Cancel' button and a 'Details' button that opens a page that shows which unwanted software will be deleted. 'Remove' is imperative.">
          Remove
        </message>
        <message name="IDS_CHROME_CLEANUP_PROMPT_TITLE" desc="Title of the Chrome Cleanup dialog. Chrome browser shows the dialog when unwanted software, like ad injectors or software that changes the user's settings without their knowledge, is found on the user's computer. Appears above a description of what the cleanup dialog does, along with a 'Remove', 'Cancel', and 'Details' button. 'Remove' is imperative, asking the user, do you want Chrome to remove harmful software?">
          Remove harmful software?
        </message>
        <message name="IDS_CHROME_CLEANUP_WEBUI_DONE_BUTTON_LABEL" desc="A button on the web page for Chrome Cleanup. Clicking this button causes the card on the settings page to be dismissed.">
          Done
        </message>
        <message name="IDS_CHROME_CLEANUP_WEBUI_FOOTER_POWERED_BY" desc="Branding footer on the web page for Chrome Cleanup. COMPANY_NAME is the name of a technology service that Chrome uses to remove harmful software from the user's computer. It is not necessary to translate 'powered by' literally; use an appropriate word for your language to convey the meaning of 'uses'. A similar use in other Google products is 'Powered by Google Translate.'">
          Powered by <ph name="COMPANY_NAME">$1<ex>Google</ex></ph>
        </message>
        <message name="IDS_CHROME_CLEANUP_WEBUI_LINK_LEARN_MORE" desc="A link, appearing on the Chrome Cleanup web page, that the user can click to open a Help Center article that explains the Chrome Cleanup Tool, the data it sends to Google, why the data is collected, how it is used, and how to enable or disable data collection. Imperative.">
          Learn more
        </message>
        <message name="IDS_CHROME_CLEANUP_WEBUI_LINK_SHOW_FILES" desc="A link, appearing on the Chrome Cleanup web page, that the user can click to show the files that will be removed. Imperative.">
          Show files to be removed
        </message>
        <message name="IDS_CHROME_CLEANUP_WEBUI_REMOVE_BUTTON_LABEL" desc="Button on the Chrome Cleanup web page. Allows users to start a cleanup of unwanted software on their computer and restore browser settings to default values. 'Remove' is imperative.">
          Remove
        </message>
        <message name="IDS_CHROME_CLEANUP_WEBUI_RESTART_BUTTON_LABEL" desc="Button on the web page for Chrome Cleanup. Clicking this button causes the user's computer to turn off (shut down) and turn back on again. Imperative. ">
          Restart computer
        </message>
        <message name="IDS_CHROME_CLEANUP_WEBUI_TITLE_ERROR_CANT_REMOVE" desc="An error message, appearing on the Chrome Cleanup web page, that Chrome tried to clean up unwanted software, as requested by the user, but was unsuccessful. Omits subject, i.e. Chrome can't remove harmful software.">
          Can't remove harmful software.
        </message>
        <message name="IDS_CHROME_CLEANUP_WEBUI_TITLE_REMOVE" desc="Title of the Chrome Cleanup web page. Chrome browser shows the webpage when unwanted software, like ad injectors or software that changes the user's settings without their knowledge, is found on the user's computer. Appears above a description of what the cleanup does. 'Remove' is imperative.">
          Remove harmful software
        </message>
        <message name="IDS_CHROME_CLEANUP_WEBUI_TITLE_REMOVED" desc="A confirmation, appearing on the Chrome Cleanup web page, that the cleanup of unwanted software is finished. Omits 'was', i.e. Harmful software was removed. Appears next to a Done button, which lets user dismiss the confirmation.">
          Harmful software removed
        </message>
        <message name="IDS_CHROME_CLEANUP_WEBUI_TITLE_REMOVING" desc="A status message, appearing on the Chrome cleanup web page, that the cleanup of unwanted software initiated by the user is in progress. Omits subject, i.e. 'Chrome is removing harmful software.' If appropriate for your language, include ellipsis to show that the operation is in progress.">
          Removing harmful software...
        </message>
        <message name="IDS_CHROME_CLEANUP_WEBUI_TITLE_RESTART" desc="A status message, appearing on the Chrome Cleanup web page, that the cleanup of unwanted software initiated by the user was performed but isn't finished. User must take additional action to finish the cleanup. 'Restart' is imperative. Short for 'To finish removing harmful software...'">
          To finish removing harmful software, restart your computer
        </message>
        <message name="IDS_CHROME_CLEANUP_LOGS_PERMISSION" desc="A checkbox label, appearing on both the Chrome Cleanup modal dialog and webui page, asking the user for permission to send details about the cleanup operation to Google.">
          Report details to Google
        </message>
      </if>

      <!-- Settings reset prompt dialog messages -->
      <message name="IDS_SETTINGS_RESET_PROMPT_TITLE_SEARCH_ENGINE" desc="The title for the settings reset dialog when the user's search engine setting has been modified. The dialog will ask users if they want to restore their modified setting to its original default value.">
        Restore default search engine?
      </message>
      <message name="IDS_SETTINGS_RESET_PROMPT_TITLE_STARTUP_PAGE" desc="The title for the settings reset dialog when the user's startup page setting has been modified. The dialog will ask users if they want to restore their modified setting to its original default value.">
        Restore default startup page?
      </message>
      <message name="IDS_SETTINGS_RESET_PROMPT_TITLE_HOMEPAGE" desc="The title for the settings reset dialog when the user's homepage setting has been modified by. The dialog will ask users if they want to restore their modified setting to its original default value.">
        Restore default homepage?
      </message>
      <message name="IDS_SETTINGS_RESET_PROMPT_EXPLANATION_FOR_SEARCH_ENGINE_NO_EXTENSIONS" desc="This text is shown in the settings reset dialog to inform the user that their search engine has been modified, for example by unwanted software or extension, to something that they might not want. The value of the setting that is shown in the text is the possibly unwanted setting that will be reset to its original default if the user clicks the Restore button.">
        Your search engine was changed to <ph name="URL">$1<ex>www.some-domain.com</ex></ph>.
      </message>
      <message name="IDS_SETTINGS_RESET_PROMPT_EXPLANATION_FOR_SEARCH_ENGINE_WITH_EXTENSIONS" desc="This text is shown in the settings reset dialog to inform the user that their search engine has been modified by an extension to something that they might not want. The value of the setting that is shown in the text is the possibly unwanted setting that will be reset to its original default value if the user clicks the Restore button.">
        Your search engine was changed to <ph name="URL">$1<ex>www.some-domain.com</ex></ph>. To disable extensions that change your search engine, click Restore.
      </message>
      <message name="IDS_SETTINGS_RESET_PROMPT_EXPLANATION_FOR_STARTUP_PAGE_SINGLE_NO_EXTENSIONS" desc="This text is shown in the settings reset dialog to inform the user that their startup page setting has been modified, for example by unwanted software or extension, to something that they might not want. The value of the setting that is shown in the text is the possibly unwanted setting that will be reset to its original default value if the user clicks the Restore button.">
        Your startup page was changed to <ph name="URL">$1<ex>www.some-domain.com</ex></ph>.
      </message>
      <message name="IDS_SETTINGS_RESET_PROMPT_EXPLANATION_FOR_STARTUP_PAGE_SINGLE_WITH_EXTENSIONS" desc="This text is shown in the settings reset dialog to inform the user that their startup page has been modified by an extension to something that they might not want. The value of the setting that is shown in the text is the possibly unwanted setting that will be reset to its original default value if the user clicks the Restore button.">
        Your startup page was changed to <ph name="URL">$1<ex>www.some-domain.com</ex></ph>. To disable extensions that change your startup page, click Restore.
      </message>
      <message name="IDS_SETTINGS_RESET_PROMPT_EXPLANATION_FOR_STARTUP_PAGE_MULTIPLE_NO_EXTENSIONS" desc="This text is shown in the settings reset dialog to inform the user that their startup page setting has been modified, for example by unwanted software or extension, to something that they might not want. The value of the setting that is shown in the text is the possibly unwanted setting that will be reset to its original default if the user clicks the Restore button.">
        Your startup pages were changed to include <ph name="URL">$1<ex>www.some-domain.com</ex></ph>.
      </message>
      <message name="IDS_SETTINGS_RESET_PROMPT_EXPLANATION_FOR_STARTUP_PAGE_MULTIPLE_WITH_EXTENSIONS" desc="This text is shown in the settings reset dialog to inform the user that their startup page has been modified by an extension to something that they might not want. The value of the setting that is shown in the text is the possibly unwanted setting that will be reset to its original default if the user clicks the Restore button.">
        Your startup pages were changed to include <ph name="URL">$1<ex>www.some-domain.com</ex></ph>. To disable extensions that change your startup page, click Restore.
      </message>
      <message name="IDS_SETTINGS_RESET_PROMPT_EXPLANATION_FOR_HOMEPAGE_NO_EXTENSIONS" desc="This text is shown in the settings reset dialog to inform the user that their homepage setting has been modified, for example by unwanted software or extension, to something that they might not want. The value of the setting that is shown in the text is the possibly unwanted setting that will be reset to its original default value if the user clicks the Restore button.">
        Your homepage was changed to <ph name="URL">$1<ex>www.some-domain.com</ex></ph>.
      </message>
      <message name="IDS_SETTINGS_RESET_PROMPT_EXPLANATION_FOR_HOMEPAGE_WITH_EXTENSIONS" desc="This text is shown in the settings reset dialog to inform the user that their homepagesetting has been modified by an extension to something that they might not want. The value of the setting that is shown in the text is the possibly unwanted setting that will be reset to its original default value if the user clicks the Restore button.">
        Your homepage page was changed to <ph name="URL">$1<ex>www.some-domain.com</ex></ph>. To disable extensions that change your homepage, click Restore.
      </message>
      <message name="IDS_SETTINGS_RESET_PROMPT_ACCEPT_BUTTON_LABEL" desc="The settings reset dialog asks users if they want to restore a Chrome setting that has been modified by an unwanted software or extension to its original default value. This text is displayed on the main button in the dialog that, when clicked, will restore the setting.">
        Restore
      </message>

      <!-- Upgrade bubble messages -->
      <message name="IDS_REENABLE_UPDATES" desc="Text for the button the user clicks to re-enable automatic updates.">
        Enable autoupdate
      </message>
      <message name="IDS_LATER" desc="Text for the button the user clicks to be reminded of reinstalling the app later.">
        Later
      </message>

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

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

      <!-- Print Preview -->
      <if expr="enable_printing">
        <message name="IDS_PRINT_INVALID_PRINTER_SETTINGS" desc="Message to display when selected printer is not reachable or its settings are invalid.">
          The selected printer is not available or not installed correctly.  Check your printer or try selecting another printer.
        </message>
      </if>
      <if expr="enable_print_preview">
        <message name="IDS_PRINT_PREVIEW_TITLE" desc="Fallback title for print preview page.">
          Print
        </message>
        <if expr="chromeos">
          <message name="IDS_PRINT_PREVIEW_GOOGLE_CLOUD_PRINT_TITLE" desc="Fallback title for print preview page on Chrome OS.">
            Google Print
          </message>
        </if>
        <message name="IDS_PRINT_PREVIEW_LOADING" desc="Message to display while the print preview is still loading.">
          Loading preview
        </message>
        <message name="IDS_PRINT_PREVIEW_FAILED" desc="Message to display when print preview fails.">
          Print preview failed.
        </message>
        <message name="IDS_PRINT_PREVIEW_PRINT_BUTTON" desc="Print button.">
          Print
        </message>
        <message name="IDS_PRINT_PREVIEW_SAVE_BUTTON" desc="Save button.">
          Save
        </message>
        <message name="IDS_PRINT_PREVIEW_PRINTING" desc="Text shown after the user clicks on the print button and before the print preview tab is closed to let the user know that printing is in progress.">
          Printing...
        </message>
        <message name="IDS_PRINT_PREVIEW_SAVING" desc="Text shown after the user clicks on the save button and before the print preview tab is closed to let the user know that saving is in progress.">
          Saving...
        </message>
        <message name="IDS_PRINT_PREVIEW_PRINTING_TO_PDF_IN_PROGRESS" desc="Text shown after the user clicks on the print/save button while Save To PDF is selected, but the PDF file is not ready yet.">
          Saving to PDF in progress
        </message>
        <if expr="is_macosx">
          <message name="IDS_PRINT_PREVIEW_OPENING_PDF_IN_PREVIEW" desc="Text shown after the user clicks on the open pdf in preview button while the pdf file is not ready yet.">
          Opening PDF in Preview
          </message>
        </if>
        <message name="IDS_PRINT_PREVIEW_OPTION_ALL_PAGES" desc="Option to print all pages.">
          All
        </message>
        <message name="IDS_PRINT_PREVIEW_DESTINATION_LABEL" desc="Destination option label. It is displayed right on top of the available printers list.">
          Destination
        </message>
        <message name="IDS_PRINT_PREVIEW_OPTION_BW" desc="Option to print in black and white.">
          Black and white
        </message>
        <message name="IDS_PRINT_PREVIEW_OPTION_COLLATE" desc="Option to collate multiple copies.">
          Collate
        </message>
        <message name="IDS_PRINT_PREVIEW_OPTION_COLOR" desc="Option to print in color.">
          Color
        </message>
        <message name="IDS_PRINT_PREVIEW_OPTION_LANDSCAPE" desc="Option to print in landscape mode.">
          Landscape
        </message>
        <message name="IDS_PRINT_PREVIEW_OPTION_PORTRAIT" desc="Option to print in portrait mode.">
          Portrait
        </message>
        <message name="IDS_PRINT_PREVIEW_OPTION_TWO_SIDED" desc="Option to do two-sided (duplex) printing.">
          Two-sided
        </message>
        <message name="IDS_PRINT_PREVIEW_PAGES_LABEL" desc="Page range option label.">
          Pages
        </message>
        <message name="IDS_PRINT_PREVIEW_LAYOUT_LABEL" desc="Layout option label.">
          Layout
        </message>
        <message name="IDS_PRINT_PREVIEW_COPIES_LABEL" desc="Copies option label.">
          Copies
        </message>
        <message name="IDS_PRINT_PREVIEW_SCALING_LABEL" desc="Scaling option label.">
          Scale
        </message>
        <message name="IDS_PRINT_PREVIEW_EXAMPLE_PAGE_RANGE_TEXT" desc="Example page range text.">
          e.g. 1-5, 8, 11-13
        </message>
        <message name="IDS_PRINT_PREVIEW_PAGE_RANGE_TEXT" desc="Aria-label page range text.">
          page range text box
        </message>
        <message name="IDS_PRINT_PREVIEW_PAGE_RANGE_RADIO" desc="Aria-label page range radio.">
          page range radio button
        </message>
        <message name="IDS_PRINT_PREVIEW_PRINT_TO_PDF"
                 desc="Option shown on printer drop-down list for saving previewed document as a PDF.">
          Save as PDF
        </message>
        <message name="IDS_PRINT_PREVIEW_PRINT_WITH_CLOUD_PRINT_WAIT"
            desc="Message shown in the print preview page after choosing cloud print before the dialog displays">
          Loading <ph name="CLOUD_PRINT_NAME">$1<ex>Google Cloud Print</ex></ph>
        </message>
        <message name="IDS_PRINT_PREVIEW_SUMMARY_FORMAT_LONG" desc="Print summary, explaining to the user how many pages will be printed.">
          Total: <ph name="NUMBER_OF_SHEETS">$1<ex>10</ex></ph> <ph name="SHEETS_LABEL">$2<ex>sheets of paper</ex></ph> (<ph name="NUMBER_OF_PAGES">$3<ex>4</ex></ph> <ph name="PAGE_OR_PAGES_LABEL">$4<ex>Pages</ex></ph>)
        </message>
        <message name="IDS_PRINT_PREVIEW_SUMMARY_FORMAT_SHORT" desc="Print summary, explaining to the user how many pages will be printed.">
          Total: <ph name="NUMBER_OF_SHEETS">$1<ex>10</ex></ph> <ph name="SHEETS_LABEL">$2<ex>sheets of paper</ex></ph>
        </message>
        <message name="IDS_PRINT_PREVIEW_SHEETS_LABEL_PLURAL" desc="Label shown in the print preview summary.">
          sheets of paper
        </message>
        <message name="IDS_PRINT_PREVIEW_SHEETS_LABEL_SINGULAR" desc="Label shown in the print preview summary.">
          sheet of paper
        </message>
        <message name="IDS_PRINT_PREVIEW_PAGE_LABEL_SINGULAR" desc="Label shown in the print preview summary.">
          page
        </message>
        <message name="IDS_PRINT_PREVIEW_PAGE_LABEL_PLURAL" desc="Label shown in the print preview summary.">
          pages
        </message>
        <if expr="is_macosx">
          <message name="IDS_PRINT_PREVIEW_OPEN_PDF_IN_PREVIEW_APP" desc="Option allowing the user to open the pdf in native preview app">
          Open PDF in Preview
          </message>
        </if>
        <if expr="not chromeos">
          <message name="IDS_PRINT_PREVIEW_SYSTEM_DIALOG_OPTION" desc="Option allowing the user to access advanced printer settings using the native print system dialog instead of printing through the print preview mechanism. Shortcut key is not translated">
            Print using system dialog... <ph name="SHORTCUT_KEY">$1<ex>(Shift+Ctrl+P)</ex></ph>
          </message>
        </if>
        <message name="IDS_PRINT_PREVIEW_PAGE_RANGE_SYNTAX_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_PAGE_RANGE_LIMIT_INSTRUCTION" desc="Instruction shown when the user enters an excessive page range.">
          Out of bounds page reference
        </message>
        <message name="IDS_PRINT_PREVIEW_PAGE_RANGE_LIMIT_INSTRUCTION_WITH_VALUE" desc="Instruction shown when the user enters an excessive page number, and the maximum page.">
          Out of bounds page reference, limit is <ph name="MAXIMUM_PAGE">$1<ex>1</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 to 999).
        </message>
        <message name="IDS_PRINT_PREVIEW_SCALING_INSTRUCTION" desc="Instruction shown when the user enters an invalid scaling value.">
          Scale amount must be a number between 10 and 200.
        </message>
        <message name="IDS_PRINT_PREVIEW_PRINT_PAGES_LABEL" desc="ARIA label used by screen reader to explain the purpose of the page selection textbox">
          Print Specific Pages
        </message>
        <message name="IDS_PRINT_PREVIEW_OPTIONS_LABEL" desc="Options label currently providing the choice to print headers and footers.">
          Options
        </message>
        <message name="IDS_PRINT_PREVIEW_OPTION_HEADER_FOOTER" desc="Checkbox label that provides a choice to print the headers and footers.">
          Headers and footers
        </message>
        <message name="IDS_PRINT_PREVIEW_OPTION_FIT_TO_PAGE" desc="Checkbox label shown in print preview page to auto fit the PDF page.">
          Fit to page
        </message>
        <message name="IDS_PRINT_PREVIEW_OPTION_BACKGROUND_COLORS_AND_IMAGES" desc="Checkbox label shown in print preview page to print webpage backgrounds.">
          Background graphics
        </message>
        <message name="IDS_PRINT_PREVIEW_OPTION_SELECTION_ONLY" desc="Checkbox label shown in print preview page to print only selected content.">
          Selection only
        </message>
        <message name="IDS_PRINT_PREVIEW_OPTION_RASTERIZE" desc="Checkbox label shown in print preview page to print PDF as an image (rasterize PDF).">
          Print as image
        </message>
        <message name="IDS_PRINT_PREVIEW_MARGINS_LABEL" desc="Margins option label. Provides user the option to change the margins of the printed page.">
          Margins
        </message>
        <message name="IDS_PRINT_PREVIEW_DEFAULT_MARGINS" desc="Option that specifies the page be printed with default margins.">
          Default
        </message>
        <message name="IDS_PRINT_PREVIEW_NO_MARGINS" desc="Option that specifies the page be printed with no margins.">
          None
        </message>
        <message name="IDS_PRINT_PREVIEW_CUSTOM_MARGINS" desc="Option that specifies the page be printed with user-specified custom margins.">
          Custom
        </message>
        <message name="IDS_PRINT_PREVIEW_MINIMUM_MARGINS" desc="Option that specifies the page be printed with the minimum allowed margins by the printer.">
          Minimum
        </message>
        <message name="IDS_PRINT_PREVIEW_TOP_MARGIN_LABEL" desc="ARIA label used by screen reader to explain the purpose of the top margin textbox.">
          Top margin
        </message>
        <message name="IDS_PRINT_PREVIEW_BOTTOM_MARGIN_LABEL" desc="ARIA label used by screen reader to explain the purpose of the bottom margin textbox.">
          Bottom margin
        </message>
        <message name="IDS_PRINT_PREVIEW_LEFT_MARGIN_LABEL" desc="ARIA label used by screen reader to explain the purpose of the left margin textbox.">
          Left margin
        </message>
        <message name="IDS_PRINT_PREVIEW_RIGHT_MARGIN_LABEL" desc="ARIA label used by screen reader to explain the purpose of the right margin textbox.">
          Right margin
        </message>
        <message name="IDS_PRINT_PREVIEW_MEDIA_SIZE_LABEL" desc="Media size option label. Provides user the option to change the size of the printed page.">
          Paper size
        </message>
        <message name="IDS_PRINT_PREVIEW_DPI_LABEL" desc="Print quality option label. Provides user the option to select one of the print quality options defined for the printer.">
          Quality
        </message>
        <message name="IDS_PRINT_PREVIEW_NON_ISOTROPIC_DPI_ITEM_LABEL" desc="Print quality option value text in case horizontal and vertical DPI values differ.">
          <ph name="HORIZONTAL_DPI">$1<ex>200</ex></ph>x<ph name="VERTICAL_DPI">$2<ex>100</ex></ph> dpi
        </message>
        <message name="IDS_PRINT_PREVIEW_DPI_ITEM_LABEL" desc="Print quality option value text.">
          <ph name="DPI">$1<ex>300</ex></ph> dpi
        </message>
        <message name="IDS_PRINT_PREVIEW_NATIVE_DIALOG" desc="Option offering the user to open the native print dialog, displayed when the PDF viewer is missing or when print preview fails.">
          Print using system dialog…
        </message>
        <message name="IDS_PRINT_PREVIEW_DESTINATION_SEARCH_TITLE" desc="Title of the destination search UI component.">
          Select a destination
        </message>
        <message name="IDS_PRINT_PREVIEW_ACCOUNT_SELECT_TITLE" desc="Title of the user's account selection control, to choose the account destinations are being shown for.">
          Showing destinations for
        </message>
        <message name="IDS_PRINT_PREVIEW_ADD_ACCOUNT_TITLE" desc="Title of the selection control item to let user to sign into another account.">
          Add account...
        </message>
        <message name="IDS_PRINT_PREVIEW_CLOUD_PRINT_PROMOTION" desc="Message describing features of Google Cloud Print.">
          Print to Google Docs and other cloud destinations. <ph name="BEGIN_LINK">$1<ex>&lt;span&gt;</ex></ph>Sign in<ph name="END_LINK">$2<ex>&lt;/span&gt;</ex></ph> to print to Google Cloud Print.
        </message>
        <message name="IDS_PRINT_PREVIEW_SEARCH_BOX_PLACEHOLDER" desc="Text to put in a search box when user has not entered a search query.">
          Search destinations
        </message>
        <message name="IDS_PRINT_PREVIEW_NO_DESTINATIONS_MESSAGE" desc="Message to show when no destinations were found.">
          No destinations found
        </message>
        <message name="IDS_PRINT_PREVIEW_SHOW_ALL_BUTTON_TEXT" desc="Label on a button to show all print destinations.">
          Show All...
        </message>
        <message name="IDS_PRINT_PREVIEW_DESTINATION_COUNT" desc="Message to show how many print destinations the user has.">
          (<ph name="COUNT">$1<ex>154</ex></ph> total)
        </message>
        <message name="IDS_PRINT_PREVIEW_RECENT_DESTINATIONS_TITLE" desc="Title of the section of recently used print destinations.">
          Recent Destinations
        </message>
        <message name="IDS_PRINT_PREVIEW_LOCAL_DESTINATIONS_TITLE" desc="Title of the section of local print destinations.">
          Local Destinations
        </message>
        <message name="IDS_PRINT_PREVIEW_CLOUD_DESTINATIONS_TITLE" desc="Title of the section of cloud print destinations.">
          Google Cloud Print
        </message>
        <message name="IDS_PRINT_PREVIEW_MANAGE" desc="Text of link to manage printers.">
          Manage...
        </message>
        <message name="IDS_PRINT_PREVIEW_SETUP_CLOUD_PRINTERS" desc="Text of link to set up cloud printers.">
          Set up to add printers…
        </message>
        <message name="IDS_PRINT_PREVIEW_CHANGE_DESTINATION" desc="Label on button to change print destination." meaning="Label text">
          Change...
        </message>
        <message name="IDS_PRINT_PREVIEW_OFFLINE_FOR_YEAR" desc="Shown when printer has been offline for more than a year.">
          Offline for more than a year
        </message>
        <message name="IDS_PRINT_PREVIEW_OFFLINE_FOR_MONTH" desc="Shown when printer has been offline for more than a month.">
          Offline for more than a month
        </message>
        <message name="IDS_PRINT_PREVIEW_OFFLINE_FOR_WEEK" desc="Shown when printer has been offline for more than a week.">
          Offline for more than a week
        </message>
        <message name="IDS_PRINT_PREVIEW_OFFLINE" desc="Shown when printer is currently offline.">
          Currently offline
        </message>
        <message name="IDS_PRINT_PREVIEW_NO_DESTS_PROMO_TITLE" desc="Title of promotion shown when user has no Google Cloud Print printers.">
          Add Printers
        </message>
        <message name="IDS_PRINT_PREVIEW_NO_DESTS_PROMO_BODY" desc="Main body of promotion shown when user has no Google Cloud Print printers.">
          You can add printers to your computer by clicking the "Add a printer"
          button below. If you have no printers to add, you'll still be able to save
          a PDF or save to Google Drive.
        </message>
        <message name="IDS_PRINT_PREVIEW_NO_DESTS_GCP_DESC" desc="A description of the Google Cloud Print service.">
          Adding your printers to Google Cloud Print allows you to print from
          anywhere, to anywhere. Share your printers with whoever you choose and
          print to them from Chrome, your phone, tablet, PC, or any other
          web-connected device.
        </message>
        <message name="IDS_PRINT_PREVIEW_NO_DESTS_PROMO_ADD_PRINTER_BUTTON_LABEL" desc="Label of button to setup Google Cloud Print printers.">
          Add a printer
        </message>
        <message name="IDS_PRINT_PREVIEW_EXTENSION_DESTINATION_ICON_TOOLTIP" desc="Tooltip for the icon shown in print destination list next to print destination provided by an extension.">
          Documents you send to print via <ph name="APP_NAME">$1<ex>A Chrome app</ex></ph> can be read by <ph name="APP_NAME">$1<ex>A Chrome app</ex></ph>.
        </message>
        <message name="IDS_MORE_OPTIONS_LABEL" desc="Label of the toggle element to switch between showing more or less printing options in the Print Preview.">
          More settings
        </message>
        <message name="IDS_LESS_OPTIONS_LABEL" desc="Label of the toggle element to switch between showing more or less printing options in the Print Preview.">
          Fewer settings
        </message>
        <message name="IDS_PRINT_PREVIEW_COULD_NOT_PRINT" desc="Error message when printing fails in the print preview">
          Printing failed. Please check your printer and try again.
        </message>
        <message name="IDS_PRINT_PREVIEW_REGISTER_PROMO_BUTTON_TEXT">
          Register
        </message>
        <message name="IDS_PRINT_PREVIEW_ADVANCED_SETTINGS_SEARCH_BOX_PLACEHOLDER" desc="Text to put in a advanced settings search box when user has not entered a search query.">
          Search settings
        </message>
        <message name="IDS_PRINT_PREVIEW_ADVANCED_SETTINGS_DIALOG_TITLE" desc="Title of the advanced printer settings selection dialog.">
          Advanced settings for <ph name="PRINTING_DESTINATION">$1<ex>Office printer</ex></ph>
        </message>
        <message name="IDS_PRINT_PREVIEW_NO_ADVANCED_SETTINGS_MATCH_SEARCH_HINT" desc="Message to display in the printer advanced settings dialog when no settings match search string entered by the user.">
          No matches were found.
        </message>
        <message name="IDS_PRINT_PREVIEW_ADVANCED_SETTINGS_DIALOG_CONFIRM" desc="In title case: The text for the accept button on the printer advanced settings dialog.">
          Apply
        </message>
        <message name="IDS_PRINT_PREVIEW_ADVANCED_OPTIONS_LABEL" desc="Printer advanced options section label.">
          Advanced
        </message>
        <message name="IDS_PRINT_PREVIEW_SHOW_ADVANCED_OPTIONS" desc="The text for the button to open the printer's advanced settings dialog.">
          Change printer options...
        </message>
        <message name="IDS_PRINT_PREVIEW_ACCEPT_INVITE" desc="Text for the button to accept the printer-sharing invitation.">
          Accept
        </message>
        <message name="IDS_PRINT_PREVIEW_ACCEPT_GROUP_INVITE" desc="Text for the button to accept the printer-sharing invitation for the group of users.">
          Accept for group
        </message>
        <message name="IDS_PRINT_PREVIEW_REJECT_INVITE" desc="Text for the button to reject the printer-sharing invitation.">
          Reject
        </message>
        <message name="IDS_PRINT_PREVIEW_GROUP_INVITE_TEXT" desc="Message to show when the user has pending printer-sharing invitation for the group of users they are a manager of.">
          &lt;strong&gt;<ph name="SENDER">$1</ph>&lt;/strong&gt; wants to share a printer &lt;strong&gt;<ph name="PRINTER_NAME">$2</ph>&lt;/strong&gt; with a group you own: &lt;strong&gt;<ph name="GROUP_NAME">$3</ph>&lt;/strong&gt;. If you accept, all group members will be able to print to the printer.
        </message>
        <message name="IDS_PRINT_PREVIEW_INVITE_TEXT" desc="Message to show when the user has pending printer-sharing invitation.">
          &lt;strong&gt;<ph name="SENDER">$1</ph>&lt;/strong&gt; wants to share a printer &lt;strong&gt;<ph name="PRINTER_NAME">$2</ph>&lt;/strong&gt; with you.
        </message>
        <message name="IDS_PRINT_PREVIEW_BUTTON_SELECT" desc="Label for a button in a dialog asking a user to confirm selection of a printer in print preview UI. The printer gets selected if the user clicks the button.">
          Select
        </message>
        <message name="IDS_PRINT_PREVIEW_BUTTON_GO_BACK" desc="Label for a button in a dialog asking a user to confirm selection of a printer in print preview UI. Clicking the button will cancel printer selection, close the dialog and go back to the list of printers available for selection.">
          Back
        </message>
        <message name="IDS_PRINT_PREVIEW_RESOLVE_EXTENSION_USB_PERMISSION_MESSAGE" desc="Warning shown to the user when they attempt to select a USB printer supported by an extension, but for which the extension doesn't yet have access permission. The user is warned that selecting the printer would grant the extension access to the USB device and asked to confirm or cancel the selection. The extension name will be shown in the paragraph immediately bellow this message.">
          By selecting this printer, you are giving the following extension the permission to access your printer:
        </message>
        <message name="IDS_PRINT_PREVIEW_RESOLVE_EXTENSION_USB_ERROR_MESSAGE" desc="Message shown to the user when they attempt to select a USB pinter supported by an extension, but for which the extension does not yet have access permission. The message is shown if the user grants the extension access to the USB device (by confirming printer selection), but the extension is not able to retrieve information about the printer, and an error is reported. The message contains a placeholder for the name of the extension.">
          <ph name="EXTENSION_NAME">$1<ex>Print app</ex></ph> could not communicate with this printer. Make sure the printer is plugged in and try again.
        </message>
        <if expr="chromeos">
          <message name="IDS_PRINT_CONFIGURING_IN_PROGRESS_TEXT" desc="Message shown to user while their printer is being setup in Chrome OS.">
            Setting up
          </message>
          <message name="IDS_PRINT_CONFIGURING_FAILED_TEXT" desc="Message shown to user when their printer is failed to set up in Chrome OS.">
            Error setting up printer
          </message>
        </if>
      </if>

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

      <!-- Tab Context Menu -->
      <if expr="not use_titlecase">
        <message name="IDS_TAB_CXMENU_NEWTAB" desc="The label of the 'New Tab' Tab context menu item.">
          New tab
        </message>
        <message name="IDS_TAB_CXMENU_RELOAD" desc="The label of the 'Reload' Tab context menu item.">
          Reload
        </message>
        <message name="IDS_TAB_CXMENU_DUPLICATE" desc="The label of the 'Duplicate' Tab context menu item.">
          Duplicate
        </message>
        <message name="IDS_TAB_CXMENU_CLOSETAB" desc="The label of the 'Close Tab' Tab context menu item. Used when closing a single tab.">
          Close tab
        </message>
        <message name="IDS_TAB_CXMENU_CLOSETABS" desc="The label of the 'Close Tab' Tab context menu item. Used when closing more than one tab.">
          Close tabs
        </message>
        <message name="IDS_TAB_CXMENU_CLOSEOTHERTABS" desc="The label of the 'Close Other Tabs' Tab context menu item.">
          Close other tabs
        </message>
        <message name="IDS_TAB_CXMENU_CLOSETABSTORIGHT" desc="The label of the 'Close Tabs to the Right' Tab context menu item.">
          Close tabs to the right
        </message>
        <message name="IDS_TAB_CXMENU_PIN_TAB" desc="The label of the tab context menu item for pinning a single tab.">
          Pin tab
        </message>
        <message name="IDS_TAB_CXMENU_PIN_TABS" desc="The label of the tab context menu item for pinning more than one tab.">
          Pin tabs
        </message>
        <message name="IDS_TAB_CXMENU_UNPIN_TAB" desc="The label of the tab context menu item for unpinning a single tab.">
          Unpin tab
        </message>
        <message name="IDS_TAB_CXMENU_UNPIN_TABS" desc="The label of the tab context menu item for unpinning multiple tab.">
          Unpin tabs
        </message>
        <message name="IDS_TAB_CXMENU_AUDIO_MUTE_TAB" desc="The label of the tab context menu item for muting a single tab.">
          Mute tab
        </message>
        <message name="IDS_TAB_CXMENU_AUDIO_MUTE_TABS" desc="The label of the tab context menu item for muting more than one tab.">
          Mute tabs
        </message>
        <message name="IDS_TAB_CXMENU_AUDIO_UNMUTE_TAB" desc="The label of the tab context menu item for unmuting a single tab.">
          Unmute tab
        </message>
        <message name="IDS_TAB_CXMENU_AUDIO_UNMUTE_TABS" desc="The label of the tab context menu item for unmuting more than one tab.">
          Unmute tabs
        </message>
        <message name="IDS_TAB_CXMENU_BOOKMARK_ALL_TABS" desc="The label of the tab context menu item for creating a bookmark folder containing an entry for each open tab.">
          Bookmark all tabs...
        </message>
      </if>
      <if expr="use_titlecase">
        <message name="IDS_TAB_CXMENU_NEWTAB" desc="In Title Case: The label of the 'New Tab' Tab context menu item.">
          New Tab
        </message>
        <message name="IDS_TAB_CXMENU_RELOAD" desc="In Title Case: The label of the 'Reload' Tab context menu item.">
          Reload
        </message>
        <message name="IDS_TAB_CXMENU_DUPLICATE" desc="In Title Case: The label of the 'Duplicate' Tab context menu item.">
          Duplicate
        </message>
        <message name="IDS_TAB_CXMENU_CLOSETAB" desc="In Title Case: The label of the 'Close Tab' Tab context menu item.">
          Close Tab
        </message>
        <message name="IDS_TAB_CXMENU_CLOSETABS" desc="In Title Case: The label of the 'Close Tab' Tab context menu item when more than one tab is selected.">
          Close Tabs
        </message>
        <message name="IDS_TAB_CXMENU_CLOSEOTHERTABS" desc="In Title Case: The label of the 'Close Other Tabs' Tab context menu item.">
          Close Other Tabs
        </message>
        <message name="IDS_TAB_CXMENU_CLOSETABSTORIGHT" desc="In Title Case: The label of the 'Close Tabs to the Right' Tab context menu item.">
          Close Tabs to the Right
        </message>
        <message name="IDS_TAB_CXMENU_PIN_TAB" desc="In Title Case: The label of the tab context menu item for pinning a tab.">
          Pin Tab
        </message>
        <message name="IDS_TAB_CXMENU_PIN_TABS" desc="In Title Case: The label of the tab context menu item for pinning multiple tabs.">
          Pin Tabs
        </message>
        <message name="IDS_TAB_CXMENU_UNPIN_TAB" desc="In Title Case: The label of the tab context menu item for unpinning a tab.">
          Unpin Tab
        </message>
        <message name="IDS_TAB_CXMENU_UNPIN_TABS" desc="In Title Case: The label of the tab context menu item for unpinning multiple tabs.">
          Unpin Tabs
        </message>
        <message name="IDS_TAB_CXMENU_AUDIO_MUTE_TAB" desc="In Title Case: The label of the tab context menu item for muting a single tab.">
          Mute Tab
        </message>
        <message name="IDS_TAB_CXMENU_AUDIO_MUTE_TABS" desc="In Title Case: The label of the tab context menu item for muting more than one tab.">
          Mute Tabs
        </message>
        <message name="IDS_TAB_CXMENU_AUDIO_UNMUTE_TAB" desc="In Title Case: The label of the tab context menu item for unmuting a single tab.">
          Unmute Tab
        </message>
        <message name="IDS_TAB_CXMENU_AUDIO_UNMUTE_TABS" desc="In Title Case: The label of the tab context menu item for unmuting more than one tab.">
          Unmute Tabs
        </message>
        <message name="IDS_TAB_CXMENU_BOOKMARK_ALL_TABS" desc="In Title Case: The label of the tab context menu item for creating a bookmark folder containing an entry for each open tab.">
          Bookmark All Tabs...
        </message>
      </if>

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

      <!-- Screen Capture strings -->
      <message name="IDS_MEDIA_SCREEN_CAPTURE_CONFIRMATION_TITLE" desc="Title for the prompt shown when screen capturing is requrested by an app.">
        <ph name="APP_NAME">$1<ex>html5rocks.com</ex></ph> Screen Sharing Request
      </message>
      <message name="IDS_MEDIA_SCREEN_CAPTURE_CONFIRMATION_TEXT" desc="Text for the prompt shown when screen capturing is requrested by an app.">
        Do you want <ph name="APP_NAME">$1<ex>html5rocks.com</ex></ph> to share your screen?
      </message>
      <message name="IDS_MEDIA_SCREEN_AND_AUDIO_CAPTURE_CONFIRMATION_TEXT" desc="Text for the prompt shown when screen and audio capturing is requrested by an app.">
        Do you want <ph name="APP_NAME">$1<ex>html5rocks.com</ex></ph> to share your screen and audio output?
      </message>
      <message name="IDS_MEDIA_SCREEN_CAPTURE_NOTIFICATION_TEXT" desc="label used in screen capture notification UI to show the screen sharing status when the stream is consumed by the same app initiating the window picker">
        <ph name="APP_NAME">$1<ex>html5rocks.com</ex></ph> is sharing your screen.
      </message>
      <message name="IDS_MEDIA_SCREEN_CAPTURE_NOTIFICATION_TEXT_DELEGATED" desc="label used in screen capture notification UI to show the screen sharing status when the stream is consumed by a tab instead of the app initiating the window picker">
        <ph name="APP_NAME">$1<ex>html5rocks.com</ex></ph> is sharing your screen with <ph name="TAB_NAME">$2<ex>https://google.com</ex></ph>.
      </message>
      <message name="IDS_MEDIA_SCREEN_CAPTURE_WITH_AUDIO_NOTIFICATION_TEXT" desc="label used in screen capture notification UI to show the screen sharing status when the stream is consumed by the same app initiating the window picker">
        <ph name="APP_NAME">$1<ex>html5rocks.com</ex></ph> is sharing your screen and audio.
      </message>
      <message name="IDS_MEDIA_SCREEN_CAPTURE_WITH_AUDIO_NOTIFICATION_TEXT_DELEGATED" desc="label used in screen capture notification UI to show the screen sharing status when the stream is consumed by a tab instead of the app initiating the window picker">
        <ph name="APP_NAME">$1<ex>html5rocks.com</ex></ph> is sharing your screen and audio with <ph name="TAB_NAME">$2<ex>https://google.com</ex></ph>.
      </message>
      <message name="IDS_MEDIA_WINDOW_CAPTURE_NOTIFICATION_TEXT" desc="label used in screen capture notification UI to show the screen sharing status when the stream is consumed by the same app initiating the window picker">
        <ph name="APP_NAME">$1<ex>html5rocks.com</ex></ph> is sharing a window.
      </message>
      <message name="IDS_MEDIA_WINDOW_CAPTURE_NOTIFICATION_TEXT_DELEGATED" desc="label used in screen capture notification UI to show the screen sharing status when the stream is consumed by a tab instead of the app initiating the window picker">
        <ph name="APP_NAME">$1<ex>html5rocks.com</ex></ph> is sharing a window with <ph name="TAB_NAME">$2<ex>https://google.com</ex></ph>.
      </message>
      <message name="IDS_MEDIA_TAB_CAPTURE_NOTIFICATION_TEXT" desc="label used in screen capture notification UI to show the screen sharing status when the stream is consumed by the same app initiating the window picker">
        <ph name="APP_NAME">$1<ex>html5rocks.com</ex></ph> is sharing a Chrome tab.
      </message>
      <message name="IDS_MEDIA_TAB_CAPTURE_NOTIFICATION_TEXT_DELEGATED" desc="label used in screen capture notification UI to show the screen sharing status when the stream is consumed by a tab instead of the app initiating the window picker">
        <ph name="APP_NAME">$1<ex>html5rocks.com</ex></ph> is sharing a Chrome tab with <ph name="TAB_NAME">$2<ex>https://google.com</ex></ph>.
      </message>
      <message name="IDS_MEDIA_TAB_CAPTURE_WITH_AUDIO_NOTIFICATION_TEXT" desc="label used in screen capture notification UI to show the screen sharing status when the stream is consumed by the same app initiating the window picker">
        <ph name="APP_NAME">$1<ex>html5rocks.com</ex></ph> is sharing a Chrome tab and audio.
      </message>
      <message name="IDS_MEDIA_TAB_CAPTURE_WITH_AUDIO_NOTIFICATION_TEXT_DELEGATED" desc="label used in screen capture notification UI to show the screen sharing status when the stream is consumed by a tab instead of the app initiating the window picker">
        <ph name="APP_NAME">$1<ex>html5rocks.com</ex></ph> is sharing a Chrome tab and audio with <ph name="TAB_NAME">$2<ex>https://google.com</ex></ph>.
      </message>
      <message name="IDS_MEDIA_SCREEN_CAPTURE_NOTIFICATION_STOP" desc="Text shown on the button that stops screen capture.">
        Stop sharing
      </message>

      <!-- Strings for the certificate selection dialog triggered by chrome.platformKeys -->
      <message name="IDS_PLATFORM_KEYS_SELECT_CERT_DIALOG_TEXT" desc="The text in the dialog that prompts the user to select a certificate when an extension requests certificates through the platformKeys API.">
        <ph name="EXTENSION_NAME">$1<ex>My OpenVPN App</ex></ph> wants permanent access to a certificate to authenticate itself on your behalf.
      </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_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>

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

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

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

      <!-- Sad Tab Strings -->
      <message name="IDS_SAD_TAB_LEARN_MORE_LINK" desc="The link text displayed on the sad tab page pointing the users to a help article.">
        Learn more
      </message>
      <message name="IDS_CRASHED_TAB_FEEDBACK_MESSAGE" desc="The text to auto-populate the feedback page with. The triple single quotes are needed to preserve the line break.">
        Help our engineers investigate and fix this crash. List exact steps if you can. No detail is too small!
'''
      </message>
      <message name="IDS_CRASHED_TAB_FEEDBACK_LINK" desc="The text for the feedback link on the crashed tab page.">
        Send feedback
      </message>
      <!-- Killed Tab Strings -->
      <if expr="chromeos">
        <message name="IDS_KILLED_TAB_BY_OOM_MESSAGE" desc="The message displayed on the killed tab page when the page was killed by an out of memory error.">
          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>
      </if>
      <message name="IDS_KILLED_TAB_FEEDBACK_MESSAGE" desc="The text to auto-populate the feedback page with. The triple single quotes are needed to preserve the line break.">
        Tab killed feedback.
'''
      </message>

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

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

      <!-- chrome://help -->
      <if expr="not is_android">
        <if expr="chromeos">
          <message name="IDS_SHOW_MORE_INFO" desc="The label of the 'More info' link.">
            More info...
          </message>
          <message name="IDS_HIDE_MORE_INFO" desc="The label of the 'Hide info' link.">
            Hide info...
          </message>
        </if>

        <message name="IDS_ABOUT_TITLE" desc="Label used for title of the About page, chrome://help.">
          About
        </message>
        <if expr="not chromeos and use_titlecase">
          <message name="IDS_RELAUNCH_BUTTON" desc="Titlecase: The label for the relaunch button that relaunches the browser once update is complete">
            Relaunch
          </message>
        </if>
        <if expr="not chromeos and not use_titlecase">
          <message name="IDS_RELAUNCH_BUTTON" desc="The label for the relaunch button that relaunches the browser once update is complete">
            Relaunch
          </message>
        </if>
        <if expr="chromeos and use_titlecase">
          <message name="IDS_RELAUNCH_BUTTON" desc="Titlecase: The label for the relaunch button that relaunches the browser once update is complete">
            Restart
          </message>
          <message name="IDS_RELAUNCH_AND_POWERWASH_BUTTON" desc="Titlecase: The label for the  button that relaunches and powerwashes the browser once update is complete">
            Relaunch and Powerwash
          </message>
        </if>
        <if expr="chromeos and not use_titlecase">
          <message name="IDS_RELAUNCH_BUTTON" desc="The label for the relaunch button that relaunches the browser once update is complete">
            Restart
          </message>
          <message name="IDS_RELAUNCH_AND_POWERWASH_BUTTON" desc="Titlecase: The label for the  button that relaunches and powerwashes the browser once update is complete">
            Relaunch and Powerwash
          </message>
        </if>
        <if expr="chromeos">
          <message name="IDS_ABOUT_PRODUCT_DESCRIPTION" desc="The text label describing Chrome OS">
            The faster, simpler, and more secure computer
          </message>
        </if>
        <if expr="not chromeos">
          <message name="IDS_ABOUT_PRODUCT_DESCRIPTION" desc="The text label describing the Chrome browser">
            A web browser built for speed, simplicity, and security
          </message>
        </if>
        <message name="IDS_ABOUT_PRODUCT_VERSION" desc="The text label describing the version of the browser">
          Version <ph name="PRODUCT_VERSION">$1<ex>15.0.865.0</ex></ph>
        </message>
      </if> <!-- not is_android -->

      <if expr="chromeos">
        <message name="IDS_ABOUT_PAGE_FIRMWARE" desc="Label used for Chrome OS bios firmware version.">
          Firmware
        </message>
        <message name="IDS_ABOUT_PAGE_CHANNEL" desc="The channel label under _More_Info_.">
          Channel
        </message>
        <message name="IDS_ABOUT_PAGE_CHANNEL_STABLE" desc="The stable option in the channel select.">
          Stable
        </message>
        <message name="IDS_ABOUT_PAGE_CHANNEL_BETA" desc="The beta option in the channel select.">
          Beta
        </message>
        <message name="IDS_ABOUT_PAGE_CHANNEL_DEVELOPMENT" desc="The development option in the channel select.">
          Developer - unstable
        </message>
        <message name="IDS_ABOUT_PAGE_CHANNEL_DEVELOPMENT_DISCLAIMER" desc="The disclaimer shown to warn the user when the development channel is used.">
          This channel is not suitable for use on your primary device and certain features and apps might break.
        </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>
        <message name="IDS_ARC_VERSION_LABEL" desc="Label for ARC version">
          ARC Version
        </message>
        <message name="IDS_ARC_LABEL" desc="Label for ARC">
          ARC
        </message>
        <message name="IDS_PLATFORM_LABEL" desc="Label for Platform">
          Platform
        </message>
      </if> <!-- chromeos -->

      <!-- chrome://settings. Android uses native UI for settings -->
      <if expr="not is_android">
        <if expr="chromeos">
          <message name="IDS_OPTIONS_INTERNET_OPTIONS_GROUP_LABEL" desc="The title of the 'Internet connections' group">
            Internet connection
          </message>
          <message name="IDS_OPTIONS_INTERNET_OPTIONS_BUTTON_TITLE" desc="The title of the 'Manage connections...' button">
            Manage connections...
          </message>
          <message name="IDS_OPTIONS_ACCOUNTS_TAB_LABEL" desc="The title of the Accounts tab">
            Users
          </message>
          <message name="IDS_OPTIONS_ACCOUNTS_BUTTON_TITLE" desc="The title of the Manage Accounts button">
            Manage other users...
          </message>
          <message name="IDS_OPTIONS_PROXY_TAB_LABEL" desc="The title of the proxy subtab">
            Proxy
          </message>
        </if>
        <message name="IDS_OPTIONS_TAB_EXTENSION_CONTROLLED" desc="The label in the bubble showing which extension is controlling a particular setting. Please preserve the embedded HTML (&lt;b&gt; and &lt;/b&gt;) during translation. They serve to make the name bold.">
          An extension, &lt;b&gt;<ph name="EXTENSION_NAME">$1<ex>MyFirstExtension</ex></ph>&lt;/b&gt;, is controlling this setting.
        </message>
        <message name="IDS_OPTIONS_TAB_EXTENSION_CONTROLLED_DISABLE" desc="The 'Disable Extension' button label in the bubble showing which extension is controlling a particular setting.">
          Disable extension
        </message>
        <message name="IDS_OPTIONS_TAB_TITLE" desc="The format of the title on the browser tab for an options subpage, e.g. Settings - Basics">
          <ph name="OPTIONS_TITLE">$1<ex>Settings</ex></ph> - <ph name="SUBPAGE_TITLE">$2<ex>Under the Hood</ex></ph>
        </message>
        <message name="IDS_OPTIONS_DELETABLE_ITEM_DELETE_BUTTON" desc="The label of the button to delete an item in a list">
          Delete this item
        </message>
        <message name="IDS_OPTIONS_STARTUP_GROUP_NAME" desc="The title of the startup group">
          On startup
        </message>
        <message name="IDS_OPTIONS_STARTUP_SHOW_NEWTAB" desc="The label of the 'Show home page' startup option radio button">
          Open the New Tab page
        </message>
        <message name="IDS_OPTIONS_STARTUP_RESTORE_LAST_SESSION" desc="The label of the 'Continue where I left off' startup option radio button">
          Continue where you left off
        </message>
        <message name="IDS_OPTIONS_STARTUP_SHOW_PAGES" desc="The label of the 'Show these pages:' startup option radio button">
          Open a specific page or set of pages.
        </message>
        <message name="IDS_OPTIONS_STARTUP_SET_PAGES" desc="The link that is clicked to choose the set of pages that will be shown at startup">
          Set pages
        </message>
        <message name="IDS_OPTIONS_STARTUP_ADD_LABEL" desc="The text labelling the add row in the custom startup urls list">
          Add a new page
        </message>
        <message name="IDS_OPTIONS_STARTUP_PAGES_DIALOG_TITLE" desc="The title of the dialog where the user chooses the set of pages that will be shown at startup">
          Startup pages
        </message>
        <message name="IDS_OPTIONS_STARTUP_USE_CURRENT" desc="The label of the 'Use Current' button for the custom startup urls list">
          Use current pages
        </message>
        <message name="IDS_OPTIONS_PROXY_GROUP_NAME" desc="The title of the Proxy group">
          Proxy
        </message>
        <message name="IDS_OPTIONS_DEFAULTSEARCH_MANAGE_ENGINES" desc="The label of the 'Manage search engines' button">
          Manage search engines...
        </message>
        <message name="IDS_OPTIONS_ENABLE_GOOGLE_NOW" desc="The label of the 'Enable Google Now' checkbox in search options.">
          Show Google Now cards in the launcher
        </message>
        <message name="IDS_OPTIONS_HOMEPAGE_NTP" desc="The value displayed on the settings page to indicate that we're using the new tab page as the homepage">
          New Tab page
        </message>
        <message name="IDS_OPTIONS_HOMEPAGE_USE_NEWTAB" desc="The title of the 'Use the New Tab page' for the home page radio">
          Use the New Tab page
        </message>
        <message name="IDS_OPTIONS_HOMEPAGE_USE_URL" desc="The title of the 'Use this page' for the home page radio">
          Open this page:
        </message>
        <message name="IDS_OPTIONS_TOOLBAR_SHOW_HOME_BUTTON" desc="The label of the 'Show Home button' checkbox">
          Show Home button
        </message>
        <message name="IDS_OPTIONS_CHANGE_HOME_PAGE" desc="The text of the button that allows the user to change their home page">
          Change
        </message>
        <message name="IDS_OPTIONS_TOOLBAR_SHOW_BOOKMARKS_BAR" desc="The label of the 'Show bookmarks bar' checkbox">
          Always show the bookmarks bar
        </message>
        <message name="IDS_TOOLBAR_INFORM_SET_HOME_PAGE" desc="The confirmation message when dropping a link on the Home toolbar button">
           Your home page has been set.
        </message>
        <message name="IDS_OPTIONS_DEFAULTSEARCH_GROUP_NAME" desc="The title of the default search engine group">
          Search
        </message>
        <message name="IDS_SEARCH_ENGINE_ADD_NEW_NAME_PLACEHOLDER" desc="Placeholder text for name before the user adds a new search engine" >
          Add a new search engine
        </message>
        <message name="IDS_SEARCH_ENGINE_ADD_NEW_KEYWORD_PLACEHOLDER" desc="Placeholder text for keyword before the user adds a new search engine" >
          Keyword
        </message>
        <message name="IDS_SEARCH_ENGINE_ADD_NEW_URL_PLACEHOLDER" desc="Placeholder text for URL before the user adds a new search engine" >
          URL with %s in place of query
        </message>
        <message name="IDS_OPTIONS_DEFAULTBROWSER_GROUP_NAME" desc="The title of the default browser group">
          Default browser
        </message>
        <message name="IDS_OPTIONS_DEFAULTBROWSER_DEFAULT" desc="The text displayed when Chrome is not the default browser">
          The default browser is currently <ph name="BROWSER_NAME">$1<ex>Firefox</ex></ph>.
        </message>
        <message name="IDS_OPTIONS_DEFAULTBROWSER_NOTDEFAULT" desc="The text displayed when Chrome is not the default browser">
          <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> is not currently your default browser.
        </message>
        <message name="IDS_OPTIONS_DEFAULTBROWSER_UNKNOWN" desc="The text displayed when Chrome cannot determine or set the default browser">
          <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> cannot determine or set the default browser.
        </message>
        <message name="IDS_OPTIONS_DEFAULTBROWSER_SXS" desc="The text displayed when Chrome is installed in side-by-side mode, which does not support setting as the default browser.">
          This is a secondary installation of <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>, and cannot be made your default browser.
        </message>
        <message name="IDS_OPTIONS_DOWNLOADLOCATION_GROUP_NAME" desc="The title of the download location group">
          Downloads
        </message>
        <message name="IDS_OPTIONS_DOWNLOADLOCATION_CHANGE_BUTTON" desc="The label of the 'Change...' button">
          Change...
        </message>
        <message name="IDS_OPTIONS_DOWNLOADLOCATION_BROWSE_TITLE" desc="In the 'Browse For Folder' dialog on Windows, this is the text that appears above the directory selector.">
          Download location:
        </message>
        <message name="IDS_OPTIONS_DOWNLOADLOCATION_ASKFORSAVELOCATION" desc="The 'Ask for save location before downloading' checkbox label">
          Ask where to save each file before downloading
        </message>
        <message name="IDS_OPTIONS_EASY_UNLOCK_SECTION_TITLE" desc="The title of the Easy Unlock section on the settings page.">
          Smart Lock for Chromebook (beta)
        </message>
        <message name="IDS_OPTIONS_EASY_UNLOCK_SETUP_INTRO" desc="The text to show in Easy Unlock section to introduce the feature.">
          Unlock your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph> with your Android phone.
        </message>
        <message name="IDS_OPTIONS_EASY_UNLOCK_SETUP_BUTTON" desc="The label of the button to set up Easy Unlock section on the settings page.">
          Set up
        </message>
        <message name="IDS_OPTIONS_EASY_UNLOCK_DESCRIPTION" desc="The text that describes what Easy Unlock does.">
          Unlock your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph> with your Android phone.
        </message>
        <message name="IDS_OPTIONS_EASY_UNLOCK_TURN_OFF_BUTTON" desc="The label of the button to disable Easy unlock on the settings page and the turn off Easy unlock dialog.">
          Turn off
        </message>
        <message name="IDS_OPTIONS_EASY_UNLOCK_TURN_OFF_TITLE" desc="The title of the Easy unlock turn off dialog.">
          Turn off Smart Lock?
        </message>
        <message name="IDS_OPTIONS_EASY_UNLOCK_TURN_OFF_DESCRIPTION" desc="The description text of the Easy unlock turn off dialog.">
          If you turn off Smart Lock, you won’t be able to unlock your Chrome devices using your phone. You'll need to type your password.
        </message>
        <message name="IDS_OPTIONS_EASY_UNLOCK_TURN_OFF_OFFLINE_TITLE" desc="The title text on the Easy unlock turn off dialog when Easy unlock could not be turned off because the device is offline.">
          Please connect to a network
        </message>
        <message name="IDS_OPTIONS_EASY_UNLOCK_TURN_OFF_OFFLINE_MESSAGE" desc="The text on the Easy unlock turn off dialog when Easy unlock could not be turned off because the device is offline.">
          You must be online to turn off Smart Lock because this setting is synced to your phone and other devices. Please connect to a network first.
        </message>
        <message name="IDS_OPTIONS_EASY_UNLOCK_TURN_OFF_ERROR_TITLE" desc="The title text on the Easy unlock turn off dialog when Easy unlock could not be turned off because there is a server error.">
          Smart Lock is unavailable
        </message>
        <message name="IDS_OPTIONS_EASY_UNLOCK_TURN_OFF_ERROR_MESSAGE" desc="The text on the Easy unlock turn off dialog when Easy unlock could not be turned off because there is a server error.">
          Smart Lock is currently unavailable. Please try again later.
        </message>
        <message name="IDS_OPTIONS_EASY_UNLOCK_TURN_OFF_RETRY_BUTTON" desc="The label text of the retry button on the Easy unlock turn off dialog when Easy unlock could not be turned off because there is a server error.">
          Retry
        </message>
        <message name="IDS_OPTIONS_OPEN_FILE_TYPES_AUTOMATICALLY" desc="The information label for the 'Clear auto-opening settings' button">
          You have chosen to open certain file types automatically after downloading.
        </message>
        <message name="IDS_OPTIONS_AUTOOPENFILETYPES_RESETTODEFAULT" desc="The label of the 'Reset always open files' button">
          Clear auto-opening settings
        </message>
        <message name="IDS_OPTIONS_ADVANCED_LANGUAGE_LABEL" desc="The label for the Language section">
          Change how <ph name="APP_NAME">$1<ex>Chrome</ex></ph> handles and displays languages.
        </message>
        <message name="IDS_OPTIONS_TRANSLATE_ENABLE_TRANSLATE" desc="The label of the check-box that enables page translate">
          Offer to translate pages that aren't in a language you read.
        </message>
        <message name="IDS_OPTIONS_TRANSLATE_MANAGE_LANGUAGES" desc="The link that is clicked to manage languages for translate">
          Manage languages
        </message>
        <message name="IDS_OPTIONS_PASSWORDS_AND_FORMS_GROUP_NAME" desc="The title of the 'Passwords and forms' group">
          Passwords and forms
        </message>
        <message name="IDS_OPTIONS_PASSWORD_MANAGER_ENABLE" desc="The label of the password manager checkbox">
          Offer to save your web passwords.
        </message>
        <message name="IDS_OPTIONS_PASSWORD_MANAGER_SMART_LOCK_ENABLE" desc="The label of the password manager checkbox if Smart Lock is enabled.">
          Offer to save passwords with Google Smart Lock for Passwords.
        </message>
        <message name="IDS_OPTIONS_PASSWORDS_AUTOLOGIN" desc="The label of the 'autologinEnabled' checkbox">
          Offer to sign in to Google sites automatically with this account
        </message>
        <!-- TODO(718146) Move autofill strings to autofill_strings.grd -->
        <message name="IDS_OPTIONS_AUTOFILL_ENABLE" desc="The label of the 'Ask me to enable Autofill' radio button">
          Enable Autofill to fill out web forms in a single click.
        </message>
        <message name="IDS_AUTOFILL_EDIT_PROFILE_BUTTON" desc="The label of the button that edits the currently selected Autofill profile.">
          Edit...
        </message>
        <message name="IDS_OPTIONS_MANAGE_AUTOFILL_SETTINGS_LINK" desc="The label of the 'Manage Autofill settings' link">
          Manage Autofill settings
        </message>
        <message name="IDS_AUTOFILL_POPUP_ACCESSIBLE_NODE_DATA" desc="The accessibility text to speak when we display an autofill popup.">
          Autofill
        </message>
        <message name="IDS_AUTOFILL_HELP_LABEL" desc="The label of the Help link in the Autofill settings overlay.">
          About Autofill
        </message>
        <message name="IDS_AUTOFILL_ADD_ADDRESS_BUTTON" desc="The label of the button that adds a new Autofill address.">
          Add new street address...
        </message>
        <message name="IDS_AUTOFILL_ADD_CREDITCARD_BUTTON" desc="The label of the button that adds a new Autofill credit card.">
          Add new credit card...
        </message>
        <message name="IDS_AUTOFILL_OPTIONS_TITLE" desc="The title of the Autofill dialog.">
          Autofill settings
        </message>
        <message name="IDS_AUTOFILL_ADDRESSES_GROUP_NAME" desc="The name of the Addresses group of the Autofill dialog.">
          Addresses
        </message>
        <message name="IDS_AUTOFILL_CREDITCARDS_GROUP_NAME" desc="The name of the Cards group of the Autofill dialog.">
          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_ADD_CONTACT_CAPTION" desc="The caption on the edit Autofill contact dialog for the new entry.">
          Add a contact
        </message>
        <message name="IDS_AUTOFILL_EDIT_CREDITCARD_CAPTION" desc="The caption on the edit Autofill card dialog. The card can be either credit, debit, or prepaid.">
          Edit card
        </message>
        <message name="IDS_AUTOFILL_ADD_CREDITCARD_CAPTION" desc="The caption on the edit Autofill card dialog the new entry. The card can be either credit, debit, or prepaid.">
          Add a card
        </message>
        <message name="IDS_AUTOFILL_USE_PAYMENTS_DATA" desc="The text for the checkbox that controls the Autofill/Payments integration feature.">
          Cards and addresses using Google Payments
        </message>

        <message name="IDS_AUTOFILL_FIELD_LABEL_EMAIL" desc="The label of the Email entry.">
          Email
        </message>
        <message name="IDS_AUTOFILL_FIELD_LABEL_PHONE" desc="The label of the Phone entry.">
          Phone
        </message>
        <message name="IDS_AUTOFILL_FIELD_LABEL_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 card number entry. This can be either credit, debit, or prepaid card.">
          Card number
        </message>
        <message name="IDS_AUTOFILL_FIELD_LABEL_EXPIRATION_DATE" desc="The label of the Expiration date entry.">
          Expiration date
        </message>
        <message name="IDS_AUTOFILL_FIELD_LABEL_EXPIRATION_MONTH" desc="The label of the Expiration date entry.">
          Expiration month
        </message>
        <message name="IDS_AUTOFILL_FIELD_LABEL_EXPIRATION_YEAR" desc="The label of the Expiration date entry.">
          Expiration year
        </message>
        <message name="IDS_AUTOFILL_FIELD_LABEL_BILLING_ADDRESS" desc="The label of the Billing Address chooser.">
          Billing address
        </message>
        <message name="IDS_AUTOFILL_BUTTON_LABEL_ADD_BILLING_ADDRESS" desc="The label of the button to add a new billing address.">
          Add billing address
        </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 subpage">
          Fonts
        </message>
        <message name="IDS_FONT_LANGUAGE_SETTING_FONT_SELECTOR_STANDARD_LABEL" desc="Label of the Standard font section of the Fonts subpage">
          Standard font
        </message>
        <message name="IDS_FONT_LANGUAGE_SETTING_FONT_SELECTOR_SERIF_LABEL" desc="Label of the Serif font section of the Fonts 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 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 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 subpage">
          Minimum font size
        </message>
        <message name="IDS_FONT_LANGUAGE_SETTING_FONT_SUB_DIALOG_TITLE" desc="Label of the Encoding section of the Fonts 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 select menus">
          Loading...
        </message>
        <message name="IDS_FONT_LANGUAGE_SETTING_ADVANCED_FONT_SETTINGS_INSTALL"
                 desc="Explanatory message about how to get the Advanced Font Settings extension">
          <ph name="BEGIN_LINK">&lt;a target="_blank" href="$1"&gt;</ph>Advanced font settings<ph name="END_LINK">&lt;/a&gt;</ph> (requires extension)
        </message>
        <message name="IDS_FONT_LANGUAGE_SETTING_ADVANCED_FONT_SETTINGS_OPTIONS"
                 desc="Link to the Advanced Font Settings extension's options page">
          Advanced font settings
        </message>

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

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

        <if expr="chromeos">
          <message name="IDS_OPTIONS_ADVANCED_SECTION_TITLE_CUPS_PRINT" desc="The title for the section of CUPS Print in Chrome OS advanced settings.">
            Printers
          </message>
          <message name="IDS_OPTIONS_ADVANCED_SECTION_CUPS_PRINT_LABEL" desc="Label for the CUPS Print section in Chrome OS advanced settings.">
            Set up or manage local printers.
          </message>
          <message name="IDS_OPTIONS_ADVANCED_SECTION_CUPS_PRINT_MANAGE_BUTTON" desc="Text on the button to take the user to Chrome settings page of CUPS printers.">
            Manage
          </message>
        </if>

        <message name="IDS_GOOGLE_CLOUD_PRINT" desc="The name of the Google Cloud Print product.">
          Google Cloud Print
        </message>
        <message name="IDS_OPTIONS_CURRENT_USER_ONLY" desc="In the multi profiles user list, the tooltip text noticing that only the current user can modify these settings.">
          You can only edit settings for the current user. Switch to this user to edit settings for it.
        </message>
        <message name="IDS_OPTIONS_CLOUD_PRINT_CONNECTOR_DISABLED_BUTTON" desc="The label of the cloud connector configure button when it hasn't been set up yet.">
          Add printers
        </message>
        <message name="IDS_OPTIONS_CLOUD_PRINT_CONNECTOR_ENABLED_LABEL" desc="The label of the cloud print setup button when it has been set up.">
          You have registered your printers with <ph name="CLOUD_PRINT_NAME">$1<ex>Google Cloud Print</ex></ph> using the account <ph name="EMAIL">$2<ex>foo@bar.com</ex></ph>
        </message>
        <message name="IDS_OPTIONS_CLOUD_PRINT_CONNECTOR_ENABLED_BUTTON" desc="The label of the cloud print connector configure button when it has been set up.">
          Disconnect printers
        </message>
        <message name="IDS_OPTIONS_CLOUD_PRINT_CONNECTOR_ENABLING_BUTTON" desc="The label of the cloud connector configure button while it is being set up.">
          Enabling...
        </message>
        <message name="IDS_OPTIONS_SAFEBROWSING_ENABLEPROTECTION" desc="The label of the 'Protect you and your device from dangerous sites' checkbox">
          Protect you and your device from dangerous sites
        </message>
        <message name="IDS_OPTIONS_SAFEBROWSING_ENABLE_EXTENDED_REPORTING" desc="Checkbox label: should Chrome upload information about suspicious downloads and websites to Safe Browsing">
          Automatically report details of possible security incidents to Google
        </message>
        <message name="IDS_OPTIONS_SAFEBROWSING_ENABLE_SCOUT_REPORTING" desc="Checkbox label: should Chrome upload some system information and page content to Safe Browsing for malware detection">
          Automatically send some system information and page content to Google to help detect dangerous apps and sites
        </message>

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

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

        <!-- Extension install location strings -->
        <message name="IDS_OPTIONS_INSTALL_LOCATION_UNKNOWN" desc="The text explaining the the installation location is unknown.">
          Not from Chrome Web Store.
        </message>
        <message name="IDS_OPTIONS_INSTALL_LOCATION_3RD_PARTY" desc="The text explaining the the installation came from a 3rd party app.">
          Installed by a third party.
        </message>
        <message name="IDS_OPTIONS_INSTALL_LOCATION_ENTERPRISE" desc="The text explaining the the installation of the extension came from an enterprise policy.">
          Installed by enterprise policy.
        </message>
        <message name="IDS_OPTIONS_INSTALL_LOCATION_SHARED_MODULE" desc="The text explaining the the installation of the extension was because of extensions that depend on this shared module">
          Installed because of dependent extension(s).
        </message>

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

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

        <!-- Reset Profile Settings strings -->
        <message name="IDS_RESET_PROFILE_SETTINGS_SECTION_TITLE" desc="The title of the section in chrome://settings that allows resetting some settings in a profile">
          Reset settings
        </message>
        <message name="IDS_RESET_PROFILE_SETTINGS_DESCRIPTION" desc="A label describing the purpose of the 'reset profile settings' feature">
          Restore settings to their original defaults.
        </message>
        <message name="IDS_RESET_PROFILE_SETTINGS_EXPLANATION" desc="A label describing the consequences of the 'reset profile settings' feature">
          This will reset your startup page, new tab page, search engine, and pinned tabs. It will also disable all extensions and clear temporary data like cookies. Your bookmarks, history and saved passwords will not be cleared.
        </message>
        <message name="IDS_RESET_PROFILE_SETTINGS_BUTTON" desc="The text on the button in chrome://settings that allows resetting some settings in a profile">
          Reset settings
        </message>
        <message name="IDS_RESET_PROFILE_SETTINGS_TITLE" desc="Dialog title">
          Reset settings
        </message>
        <message name="IDS_TRIGGERED_RESET_PROFILE_SETTINGS_TITLE" desc="Dialog title for reset dialog triggered by a third party tool">
          <ph name="THIRD_PARTY_TOOL_NAME">$1<ex>SuperDuper PC Cleaner Pro</ex></ph> wants to reset your settings.
        </message>
        <message name="IDS_TRIGGERED_RESET_PROFILE_SETTINGS_EXPLANATION" desc="Dialog title for reset dialog triggered by a third party tool">
          <ph name="THIRD_PARTY_TOOL_NAME">$1<ex>SuperDuper PC Cleaner Pro</ex></ph> wants to restore your Chrome settings 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_TRIGGERED_RESET_PROFILE_SETTINGS_DEFAULT_TOOL_NAME" desc="Default tool name when a reset was triggered but a name could not be found.">
          A cleanup tool
        </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_LOCALE" desc="Locale field in the feedback details of the Reset Profile Settings dialog">
          Locale
        </message>
        <message name="IDS_RESET_PROFILE_SETTINGS_STARTUP_URLS" desc="Startup URLs tag in the feedback details of the Reset Profile Settings dialog">
          Startup URLs
        </message>
        <message name="IDS_RESET_PROFILE_SETTINGS_STARTUP_TYPE" desc="Startup type tag in the feedback details of the Reset Profile Settings dialog">
          Startup type
        </message>
        <message name="IDS_RESET_PROFILE_SETTINGS_HOMEPAGE" desc="Homepage tag in the feedback details of the Reset Profile Settings dialog">
          Homepage
        </message>
        <message name="IDS_RESET_PROFILE_SETTINGS_HOMEPAGE_IS_NTP" desc="Tag in the feedback details of the Reset Profile Settings dialog">
          Homepage is the New Tab page
        </message>
        <message name="IDS_RESET_PROFILE_SETTINGS_YES" desc="'Yes' value for 'Homepage is NTP' and 'Show homebutton' in the feedback details of the Reset Profile Settings dialog">
          Yes
        </message>
        <message name="IDS_RESET_PROFILE_SETTINGS_NO" desc="'No' value for 'Homepage is NTP' and 'Show homebutton' in the feedback details of the Reset Profile Settings dialog">
          No
        </message>
        <message name="IDS_RESET_PROFILE_SETTINGS_SHOW_HOME_BUTTON" desc="Tag in the feedback details of the Reset Profile Settings dialog">
          Show Home button
        </message>
        <message name="IDS_RESET_PROFILE_SETTINGS_DSE" desc="Default search engine in the feedback details of the Reset Profile Settings dialog">
          Default search engine
        </message>
        <message name="IDS_RESET_PROFILE_SETTINGS_EXTENSIONS" desc="Extensions tag in the feedback details of the Reset Profile Settings dialog">
          Extensions
        </message>
        <message name="IDS_RESET_PROFILE_SETTINGS_SHORTCUTS" desc="List of Chrome shortcuts in the feedback details of the Reset Profile Settings dialog (shortcut refers to the desktop icon on windows)">
          Shortcut targets
        </message>
        <message name="IDS_RESET_PROFILE_SETTINGS_PROCESSING_SHORTCUTS" desc="A placeholder for the actual shortcuts in the Reset Profile Settings dialog (shortcut refers to the desktop icon on windows)">
          Processing shortcuts...
        </message>
      </if>

      <!-- chrome://settings strings that are used by all platforms including Android -->
      <message name="IDS_OPTIONS_PASSWORDS_MANAGE_PASSWORDS_LINK" desc="The label of the 'Manage passwords' link">
        Manage passwords
      </message>
      <message name="IDS_OPTIONS_HOMEPAGE_TITLE" desc="The title of the home page overlay" formatter_data="android_java">
        Home page
      </message>
      <message name="IDS_OPTIONS_STARTUP_PAGES_PLACEHOLDER" desc="The placeholder text in the custom startup urls dialog">
        Enter URL...
      </message>

      <!-- Autofill dialog: field labels. -->
      <message name="IDS_AUTOFILL_DIALOG_PLACEHOLDER_EXPIRY_MONTH" desc="The placeholder/label text for credit card expiration month in the card unmask dialog.">
        Month
      </message>
      <message name="IDS_AUTOFILL_DIALOG_PLACEHOLDER_EXPIRY_YEAR" desc="The placeholder/label text for credit card expiration year in the card unmask dialog.">
        Year
      </message>
      <message name="IDS_AUTOFILL_FROM_GOOGLE_ACCOUNT" desc="The name of the Google product that stores user addresses or credit cards in the cloud." formatter_data="android_java">
        Google Payments
      </message>

      <message name="IDS_APPEARANCE_GROUP_NAME" desc="The title of the appearance group">
        Appearance
      </message>
      <if expr="not is_linux or chromeos">
        <message name="IDS_THEMES_GROUP_NAME" desc="The title of the themes group">
          Themes
        </message>
      </if>
      <message name="IDS_THEMES_RESET_BUTTON" desc="The button to reset your theme">
        Reset to default theme
      </message>
      <if expr="is_linux and not chromeos">
        <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>

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

      <!-- Accessiblility strings for Inforbars in Views -->
      <if expr="toolkit_views">
        <message name="IDS_ACCNAME_INFOBAR_CONTAINER" desc="The accessible name for the infobar container.">
          Infobar Container
        </message>
        <message name="IDS_ACCNAME_INFOBAR_WARNING" desc="The accessible name for the warning infobar type.">
          Warning
        </message>
        <message name="IDS_ACCNAME_INFOBAR_PAGE_ACTION" desc="The accessible name for page action infobar type.">
          Page Action
        </message>
      </if>

      <!-- One click sign-in bubble and dialog -->
      <message name="IDS_ONE_CLICK_BUBBLE_UNDO" desc="The text for the undo button in the one click sign-in bubble.">
        Undo
      </message>
      <message name="IDS_ONE_CLICK_SIGNIN_BUBBLE_MESSAGE" desc="The body of the sync promo NTP bubble.">
        Your bookmarks, history, and other settings will be synced to your Google Account.
      </message>
      <message name="IDS_ONE_CLICK_SIGNIN_DIALOG_OK_BUTTON" desc="The text of the OK button of the one click sign-in dialog.">
        OK, got it
      </message>
      <message name="IDS_ONE_CLICK_SIGNIN_DIALOG_UNDO_BUTTON" desc="The text of the undo button of the one click sign-in dialog.">
        Undo
      </message>
      <message name="IDS_ONE_CLICK_SIGNIN_DIALOG_ADVANCED" desc="The advanced link in the one click sign-in dialog. Clicking the link will take the user to advanced settings.">
        Advanced
      </message>
      <!-- Enterprise sign-in profile linking -->
      <message name="IDS_ENTERPRISE_SIGNIN_PROFILE_LINK_LEARN_MORE" desc="The link to get more information about profile linking after signing in to an enterprise account">
        Learn more
      </message>
      <message name="IDS_ENTERPRISE_SIGNIN_CANCEL" desc="Text of the button to cancel sign-in">
        Cancel
      </message>

      <!-- Enterprise sign-in profile linking -->
      <message name="IDS_ENTERPRISE_SIGNIN_CREATE_NEW_PROFILE" desc="Text of the button to create a new profile after enterprise account sign-in">
        Create a new profile
      </message>
      <message name="IDS_ENTERPRISE_SIGNIN_CONTINUE" desc="Text of the button to link the current profile with the signed-in enterprise account">
        Link data
      </message>

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

      <!-- Enterprise force-sign-out dialog-->
      <message name="IDS_ENTERPRISE_FORCE_SIGNOUT_TITLE" desc="The title of the dialog shown when the user closes a browser and force sign in is enabled and local auth info is not valid.">
        Sign in certification is not valid, window closing in <ph name="MINUTES">{0,number,00}<ex>5</ex></ph> : <ph name="SECONDS">{1,number,00}<ex>00</ex></ph>
      </message>
      <message name="IDS_ENTERPRISE_FORCE_SIGNOUT_CLOSE_CONFIRM" desc="Text of the button to sign in again immediately.">
        Sign in now
      </message>
      <message name="IDS_ENTERPRISE_FORCE_SIGNOUT_CLOSE_DELAY" desc="Text of the button to sign in again later">
        Cancel
      </message>
      <message name="IDS_ENTERPRISE_FORCE_SIGNOUT_ADDITIONAL_EXPLANATION" desc="Text of auto close warning">
        All browser windows will soon be closed automatically without sign in.
      </message>


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

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

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

      <!-- Strings used for non-Android builds -->
      <if expr="not is_android">
        <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_GUEST_SESSION_HEADING"
              desc="Heading used when a person enters Guest Session">
          You’re browsing as a Guest
        </message>
        <message name="IDS_NEW_TAB_GUEST_SESSION_LEARN_MORE_LINK"
              desc="Guest Session link text to learn more">
          Learn more
        </message>
        <if expr="chromeos">
          <message name="IDS_NEW_TAB_GUEST_SESSION_DESCRIPTION"
              desc="Used when a person enters Guest Session">
            Pages you view in this window won’t appear in the browser history and they won’t leave other traces, like cookies, on the computer after you sign out. Files you download and bookmarks you create won’t be preserved.
          </message>
        </if>
        <if expr="not chromeos">
          <message name="IDS_NEW_TAB_GUEST_SESSION_DESCRIPTION"
              desc="Used when a person enters Guest Session">
            Pages you view in this window won’t appear in the browser history and they won’t leave other traces, like cookies, on the computer after you close all open Guest windows. Any files you download will be preserved, however.
          </message>
        </if>
        <message name="IDS_NEW_TAB_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_APP_INSTALL_HINT_LABEL" desc="Text for the plus icon on the NTP that links to the web store.">
          Add more apps
        </message>
        <message name="IDS_NEW_TAB_MOST_VISITED"
                 desc="The name for the 'Most Visited' navigation control on the New Tab Page.">
          Most visited
        </message>
      </if>

      <message name="IDS_NEW_TAB_RESTORE_THUMBNAILS_SHORT_LINK"
               desc="The link that restores previously removed thumbnails. Context is 'Thumbnail removed. Undo | Restore all'">
        Restore all
      </message>

      <message name="IDS_NEW_TAB_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_REMOVE_THUMBNAIL_TOOLTIP"
         desc="Tooltip text for the button that removes/blacklists the thumbnail. Once removed the thumbnail will not show up on the new tab page again.">
        Don't show on this page
      </message>
      <message name="IDS_NEW_TAB_PAGE_SWITCHER_CHANGE_TITLE"
         desc="Title for accessibility of the 'page-switcher-start' or 'page-switcher-end' button when switching from one type (determined based on title) of card to another">
        Go to <ph name="PAGE_TITLE">$1<ex>Apps</ex></ph>
      </message>
      <message name="IDS_NEW_TAB_PAGE_SWITCHER_SAME_TITLE"
         desc="Title for accessibility of the 'page-switcher-start' or 'page-switcher-end' button when switching between pages which have the same title">
        More <ph name="PAGE_TITLE">$1<ex>Apps</ex></ph>
      </message>
      <message name="IDS_NEW_TAB_PAGE_APPS_PROMO_TITLE"
         desc="Title for the app launcher promo box shown on apps pages.">
        Discover the Chrome App Launcher
      </message>
      <message name="IDS_NEW_TAB_VOICE_AUDIO_ERROR"
        desc="Used to indicate that there was an error starting the microphone to record speech input.">
        Please check your microphone.
      </message>
      <message name="IDS_NEW_TAB_VOICE_DETAILS"
        desc="Used as text for a link to a help web page, in case microphone permission has not been granted by the user.">
        Details
      </message>
      <message name="IDS_NEW_TAB_VOICE_LANGUAGE_ERROR"
        desc="Used to indicate that the speech recognition service is not available for the user's locale.">
        Voice search in your language is not available.
      </message>
      <message name="IDS_NEW_TAB_VOICE_LEARN_MORE"
        desc="Used as text for a link to a help web page, in case speech recognition fails.">
        Learn more
      </message>
      <message name="IDS_NEW_TAB_VOICE_LISTENING"
        desc="Used to indicate that the speech recognition service has started and is still waiting for user input. This message appears if there is no activity for 2 seconds after the user has been instructed to start speaking.">
        Listening...
      </message>
      <message name="IDS_NEW_TAB_VOICE_NETWORK_ERROR"
        desc="Used to indicate that there was a network error when communicating with the speech recognition service.">
        No Internet connection.
      </message>
      <message name="IDS_NEW_TAB_VOICE_NO_TRANSLATION"
        desc="Used to indicate that speech input was detected but the service couldn't confidently translate the message.">
        Didn't get that.
      </message>
      <message name="IDS_NEW_TAB_VOICE_NO_VOICE"
        desc="Used to indicate that the speech recognition service didn't receive any voice input.">
        Please check your microphone and audio levels.
      </message>
      <message name="IDS_NEW_TAB_VOICE_PERMISSION_ERROR"
        desc="Used to indicate that the speech recognition service did not get permission to use the microphone.">
        Voice search has been turned off.
      </message>
      <message name="IDS_NEW_TAB_VOICE_READY"
        desc="Used to indicate that the speech recognition service has started and is waiting for user input.">
        Speak now
      </message>
      <message name="IDS_NEW_TAB_VOICE_TRY_AGAIN"
        desc="Used as text for a link to retrying voice input, in case we recognize that the user is speaking, but cannot determine the exact words.">
        Try again
      </message>
      <message name="IDS_NEW_TAB_VOICE_WAITING"
        desc="Used to indicate that the speech recognition service is waiting for user permission to use the microphone.">
        Waiting...
      </message>

      <if expr="not use_titlecase">
        <message name="IDS_NEW_TAB_APP_OPTIONS"
                 desc="Text for the context menu item that takes the user to the options of an app. (In sentence case.)">
          Options
        </message>
        <message name="IDS_NEW_TAB_APP_DETAILS"
                 desc="Text for the context menu item that takes the user to the app in Web Store. (In sentence case.)">
          View in Web Store
        </message>
        <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>
        <message name="IDS_APP_CONTEXT_MENU_SHOW_INFO"
                 desc="Text for the context menu item that shows the application information. (In sentence case.)">
          App info
        </message>
        <message name="IDS_APP_CONTEXT_MENU_OPEN_PINNED"
                 desc="Text for the button that opens the app in a pinned tab. (In sentence case.)">
          Open as pinned tab
        </message>
        <message name="IDS_APP_CONTEXT_MENU_OPEN_REGULAR"
                 desc="Text for the button that opens the app in a regular tab. (In sentence case.)">
          Open as regular tab
        </message>
        <message name="IDS_APP_CONTEXT_MENU_OPEN_WINDOW"
                 desc="Text for the button that opens the app in an app window. (In sentence case.)">
          Open as window
        </message>
        <message name="IDS_APP_CONTEXT_MENU_OPEN_FULLSCREEN"
                 desc="Text for the button that opens the app full screen. (In sentence case.)">
          Open full screen
        </message>
        <message name="IDS_APP_CONTEXT_MENU_OPEN_MAXIMIZED"
                 desc="Text for the button that opens the app maximized. (In sentence case.)">
          Open maximized
        </message>
        <message name="IDS_APP_CONTEXT_MENU_OPEN_TAB"
                 desc="Text for the button that opens the app in a tab. (In sentence case.)">
          Open in a tab
        </message>
        <if expr="chromeos">
          <message name="IDS_APP_CONTEXT_MENU_ACTIVATE_ARC"
                   desc="Text for the button that activates Android App. (In sentence case.)">
            Open
          </message>
          <message name="IDS_APP_CONTEXT_MENU_INSTALL_ARC"
                   desc="Text for the button that installs the Android app. (In sentence case.)">
            Install
          </message>
        </if>
      </if>

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

      <!-- Multi-profile -->
      <message name="IDS_PROFILES_OPTIONS_GROUP_NAME" desc="The name of the sync group in the options dialog when using the new Profiles UI.">
        People
      </message>
      <if expr="is_macosx">
        <message name="IDS_PROFILES_BUBBLE_ACCESSIBLE_NAME" desc="Title of the avatar bubble menu for accessibility">
          Switch Users
        </message>
        <message name="IDS_PROFILES_BUBBLE_ACCESSIBLE_DESCRIPTION" desc="The help text for the avatar bubble.">
          Switch to a different user.
        </message>
        <message name="IDS_PROFILES_NEW_AVATAR_MENU_ACCESSIBLE_NAME" desc="Title of the new avatar bubble menu for accessibility">
          Switch Person
        </message>
        <message name="IDS_PROFILES_CREATE_NEW_PROFILE_OPTION" desc="In Title Case. Create new profile menu item and button title.">
          Add Person...
        </message>
        <message name="IDS_PROFILES_NEW_AVATAR_BUTTON_ACCESSIBLE_NAME" desc="Title of the avatar button for accessibility">
          <ph name="PROFILE_NAME">$1<ex>User</ex></ph> Switch person
        </message>
        <message name="IDS_PROFILES_ACCOUNT_BUTTON_AUTH_ERROR_ACCESSIBLE_NAME" desc="Title of the avatar button for accessibility">
          <ph name="PROFILE_NAME">$1<ex>User</ex></ph>: sign in error
        </message>
        <message name="IDS_PROFILES_NEW_AVATAR_MENU_CHANGE_PHOTO_ACCESSIBLE_NAME" desc="Title of the change photo button for accessibility">
          Change Photo
        </message>
        <message name="IDS_PROFILES_NEW_AVATAR_MENU_PHOTO_ACCESSIBLE_NAME" desc="Title of the change photo button for accessibility">
          Photo
        </message>
        <message name="IDS_PROFILES_NEW_AVATAR_MENU_EDIT_NAME_ACCESSIBLE_NAME" desc="Title of the edit profile name button for accessibility">
          <ph name="PROFILE_NAME">$1<ex>User</ex></ph>: select to edit
        </message>
      </if>
      <message name="IDS_PROFILES_PROFILE_SIGNOUT_BUTTON" desc="Button in the avatar menu bubble view to sign-out the current profile.">
        Exit and childlock
      </message>
      <message name="IDS_PROFILES_CLOSE_ALL_WINDOWS_BUTTON" desc="Button in the avatar menu bubble view to close all windows of the current profile.">
        Close all your windows
      </message>
      <message name="IDS_PROFILES_GAIA_SIGNIN_TITLE" desc="Title of the account removal view in the avatar menu bubble.">
        Sign in
      </message>
      <message name="IDS_PROFILES_GAIA_ADD_ACCOUNT_TITLE" desc="Title of the account removal view in the avatar menu bubble.">
        Add account
      </message>
      <message name="IDS_PROFILES_GAIA_REAUTH_TITLE" desc="Title of the account reauthentication view in the avatar menu bubble. Also used in other places to indicate a reauthentication action.">
        Sign in again
      </message>
      <message name="IDS_PROFILES_ACCOUNT_REMOVAL_TITLE" desc="Title of the account removal view in the avatar menu bubble.">
        Remove account
      </message>
      <message name="IDS_PROFILES_SETTINGS_LINK" desc="The link text to the Chrome settings page in the account removal view.">
        settings
      </message>
      <message name="IDS_PROFILES_SYNC_SETTINGS_LINK" desc="The link text to the Chrome sync settings page in the avatar menu tutorial card.">
        Settings
      </message>
      <message name="IDS_PROFILES_ACCOUNT_REMOVAL_BUTTON" desc="Text of the ok button on the account removal view in the avatar menu bubble.">
        Remove account
      </message>
      <message name="IDS_PROFILES_CONFIRM_SIGNIN_TUTORIAL_CONTENT_TEXT" desc="Content of the tutorial card in the avatar menu bubble view shown when a user successfully signs in to Chrome.">
        Your bookmarks, history, passwords, and other settings will be synced to your Google Account.
      </message>
      <message name="IDS_PROFILES_TUTORIAL_OK_BUTTON" desc="Button in the avatar menu tutorial card for dismissing the signin confirmation bubble">
        OK, got it
      </message>
      <message name="IDS_PROFILES_ERROR_TUTORIAL_TITLE" desc="Title in the tutorial card for showing signin errors">
        Uh-oh!
      </message>
      <message name="IDS_PROFILES_NOT_YOU" desc="Title or link text in the avatar menu bubble for switching user">
        Not <ph name="PROFILE_NAME">$1<ex>Claire</ex></ph>?
      </message>
      <message name="IDS_PROFILES_DISCONNECT_BUTTON" desc="Button in the avatar menu bubble for disconnecting the current profile">
        Disconnect Google Account
      </message>
      <message name="IDS_PROFILES_ADD_PERSON_BUTTON" desc="Button in the avatar menu bubble for adding a new profile">
        Add person
      </message>
      <message name="IDS_PROFILES_TUTORIAL_WHATS_NEW_BUTTON" desc="Button in the avatar menu tutorial card for seeing what is new with the new profile management UI">
        See what's new
      </message>
      <message name="IDS_PROFILES_EXIT_GUEST" desc="Button in the avatar menu bubble view for exiting the active guest session.">
        Exit Guest
      </message>
      <message name="IDS_PROFILES_SIGNIN_PROMO" desc="Text describing the benefits of signing in.">
        Sign in to get your bookmarks, history, passwords, and other settings on all your devices.
      </message>
      <if expr="not use_titlecase">
        <message name="IDS_PROFILES_PROFILE_ADD_ACCOUNT_BUTTON" desc="Button in the avatar menu bubble view used to add an account to a profile.">
          Add account for <ph name="PROFILE_NAME">$1<ex>John</ex></ph>
        </message>
        <message name="IDS_PROFILES_PROFILE_MANAGE_ACCOUNTS_BUTTON" desc="Button in the avatar menu bubble view used to manage accounts for a profile.">
          Your accounts
        </message>
        <message name="IDS_PROFILES_PROFILE_HIDE_MANAGE_ACCOUNTS_BUTTON" desc="Button in the avatar menu bubble view used to hide the accounts for a profile.">
          Hide accounts
        </message>
        <message name="IDS_PROFILES_PROFILE_TUTORIAL_LEARN_MORE" desc="The Learn More link in the avatar tutorial bubble.">
          Learn more
        </message>
        <message name="IDS_PROFILES_SWITCH_USERS_BUTTON" desc="Button in the avatar menu bubble view for launching the user manager.">
          Switch person
        </message>
        <message name="IDS_PROFILES_GO_INCOGNITO_BUTTON" desc="Button in the avatar menu bubble view for launching an incognito browser.">
          Go incognito
        </message>
        <message name="IDS_PROFILES_MANAGE_USERS_BUTTON" desc="Button in the avatar menu bubble view for launching the user manager.">
          Manage people
        </message>
      </if>
      <if expr="use_titlecase">
        <message name="IDS_PROFILES_PROFILE_ADD_ACCOUNT_BUTTON" desc="Button in the avatar menu bubble view used to add an account to a profile.">
          Add Account for <ph name="PROFILE_NAME">$1<ex>John</ex></ph>
        </message>
        <message name="IDS_PROFILES_PROFILE_MANAGE_ACCOUNTS_BUTTON" desc="Button in the avatar menu bubble view used to manage accounts for a profile.">
          Your Accounts
        </message>
        <message name="IDS_PROFILES_PROFILE_HIDE_MANAGE_ACCOUNTS_BUTTON" desc="Button in the avatar menu bubble view used to hide the accounts for a profile.">
          Hide Accounts
        </message>
        <message name="IDS_PROFILES_PROFILE_TUTORIAL_LEARN_MORE" desc="The Learn More link in the avatar tutorial bubble.">
          Learn More
        </message>
        <message name="IDS_PROFILES_SWITCH_USERS_BUTTON" desc="Button in the avatar menu bubble view for launching the user manager.">
          Switch Person
        </message>
        <message name="IDS_PROFILES_GO_INCOGNITO_BUTTON" desc="Button in the avatar menu bubble view for launching an incognito browser.">
          Go Incognito
        </message>
        <message name="IDS_PROFILES_MANAGE_USERS_BUTTON" desc="Button in the avatar menu bubble view for launching the user manager.">
          Manage People
        </message>
      </if>
      <message name="IDS_PROFILES_EDIT_PROFILE_ACCESSIBLE_NAME" desc="Description of the Edit Profile button. This is used for accessibility.">
        Edit person, <ph name="PROFILE_NAME">$1<ex>Jane Doe</ex></ph>
      </message>
      <message name="IDS_PROFILES_EDIT_SIGNED_IN_PROFILE_ACCESSIBLE_NAME" desc="Description of the Edit Profile button for a signed-in profile. This is used for accessibility.">
        Edit person, <ph name="PROFILE_NAME">$1<ex>Jane Doe</ex></ph>, <ph name="USERNAME">$2<ex>jane.doe@gmail.com</ex></ph>
      </message>
      <message name="IDS_PROFILES_GUEST_PROFILE_NAME" desc="Name of the guest profile.">
        Guest
      </message>
      <message name="IDS_DEFAULT_PROFILE_NAME" desc="The default name given to a profile. Displayed in wrench menu and settings UI.">
        First user
      </message>
      <message name="IDS_LEGACY_DEFAULT_PROFILE_NAME" desc="The legacy default name given to a new profile.">
        Default Profile
      </message>
      <message name="IDS_NUMBERED_PROFILE_NAME" desc="The name given to a newly created profile. Displayed in wrench menu and settings UI.">
        User <ph name="VALUE">$1<ex>1</ex></ph>
      </message>
      <message name="IDS_NEW_NUMBERED_PROFILE_NAME" desc="The name given to a newly created profile. Displayed in wrench menu and settings UI using the --new-profile-management flag.">
        Person <ph name="VALUE">$1<ex>1</ex></ph>
      </message>
      <message name="IDS_SINGLE_PROFILE_DISPLAY_NAME" desc="The name displayed by the avatar button if only one profile exists.">
        You
      </message>
      <message name="IDS_GUEST_PROFILE_NAME" desc="The name given to the guest
      browsing profile. Displayed in the avatar menu bubble and button UI.">
        Guest
      </message>

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

      <message name="IDS_DEFAULT_AVATAR_LABEL_0" desc="The label for the default white avatar.">
        Default white avatar
      </message>
      <message name="IDS_DEFAULT_AVATAR_LABEL_1" desc="The label for the default teal avatar.">
        Default teal avatar
      </message>
      <message name="IDS_DEFAULT_AVATAR_LABEL_2" desc="The label for the default blue avatar.">
        Default blue avatar
      </message>
      <message name="IDS_DEFAULT_AVATAR_LABEL_3" desc="The label for the default green avatar.">
        Default green avatar
      </message>
      <message name="IDS_DEFAULT_AVATAR_LABEL_4" desc="The label for the default orange avatar.">
        Default orange avatar
      </message>
      <message name="IDS_DEFAULT_AVATAR_LABEL_5" desc="The label for the default purple avatar.">
        Default purple avatar
      </message>
      <message name="IDS_DEFAULT_AVATAR_LABEL_6" desc="The label for the default red avatar.">
        Default red avatar
      </message>
      <message name="IDS_DEFAULT_AVATAR_LABEL_7" desc="The label for the default yellow avatar.">
        Default yellow avatar
      </message>
      <message name="IDS_DEFAULT_AVATAR_LABEL_8" desc="The label for the the female spy avatar.">
        Spy
      </message>
      <message name="IDS_DEFAULT_AVATAR_LABEL_9" desc="The label for the male hero avatar.">
        Hero
      </message>
      <message name="IDS_DEFAULT_AVATAR_LABEL_10" desc="The label for the female athlete avatar.">
        Athlete
      </message>
      <message name="IDS_DEFAULT_AVATAR_LABEL_11" desc="The label for the male businessman avatar.">
        Businessman
      </message>
      <message name="IDS_DEFAULT_AVATAR_LABEL_12" desc="The label for the ninja avatar.">
        Ninja
      </message>
      <message name="IDS_DEFAULT_AVATAR_LABEL_13" desc="The label for the alien avatar.">
        Alien
      </message>
      <message name="IDS_DEFAULT_AVATAR_LABEL_14" desc="The label for the awesome face avatar.">
        Awesome face
      </message>
      <message name="IDS_DEFAULT_AVATAR_LABEL_15" desc="The label for the flower avatar.">
        Yellow and white flower
      </message>
      <message name="IDS_DEFAULT_AVATAR_LABEL_16" desc="The label for the pizza avatar.">
        Pizza slice
      </message>
      <message name="IDS_DEFAULT_AVATAR_LABEL_17" desc="The label for the soccer ball avatar.">
        Soccer ball
      </message>
      <message name="IDS_DEFAULT_AVATAR_LABEL_18" desc="The label for the hamburger avatar.">
        Hamburger
      </message>
      <message name="IDS_DEFAULT_AVATAR_LABEL_19" desc="The label for the cat avatar.">
        Cat
      </message>
      <message name="IDS_DEFAULT_AVATAR_LABEL_20" desc="The label for the cupcake avatar.">
        Cupcake
      </message>
      <message name="IDS_DEFAULT_AVATAR_LABEL_21" desc="The label for the dog avatar.">
        Dog
      </message>
      <message name="IDS_DEFAULT_AVATAR_LABEL_22" desc="The label for the horse avatar.">
        Horse
      </message>
      <message name="IDS_DEFAULT_AVATAR_LABEL_23" desc="The label for the martini glass avatar.">
        Martini glass
      </message>
      <message name="IDS_DEFAULT_AVATAR_LABEL_24" desc="The label for the musical notes avatar.">
        Music note
      </message>
      <message name="IDS_DEFAULT_AVATAR_LABEL_25" desc="The label for the sun and cloud avatar.">
        Sun and clouds
      </message>

      <message name="IDS_PROFILES_LOCAL_PROFILE_STATE" desc="This is displayed underneath the profile name for profiles that are not signed in to sync.">
        Not signed in
      </message>
      <message name="IDS_PROFILES_CREATE_BUTTON_LABEL" desc="The label that appears on the profile create button in the options dialog to allow a user to create a new profile.">
        Add person...
      </message>
      <message name="IDS_PROFILES_MANAGE_BUTTON_LABEL" desc="The label that appears on the profile manage button in the options dialog to allow a user to manage their profile.">
        Edit...
      </message>
      <message name="IDS_PROFILES_DELETE_BUTTON_LABEL" desc="The label that appears on the profile delete button in the options dialog to allow a user to delete their profile.">
        Remove...
      </message>
      <message name="IDS_PROFILES_LEGACY_SUPERVISED_USER_DASHBOARD_TIP" desc="A message that appears below the Users section on the Settings page when the current user manages legacy supervised users (but no child accounts) on the machine, providing a link to the external management dashboard page.">
        Manage your supervised users via the <ph name="BEGIN_LINK">&lt;a target="_blank" href="$1"&gt;</ph>Supervised Users Dashboard<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>.
      </message>
      <message name="IDS_PROFILES_DELETE_SINGLE_BUTTON_LABEL" desc="The label that appears on the profile delete button in the options dialog to allow a user with only one profile to delete it.">
        Delete this person
      </message>
      <message name="IDS_PROFILES_DEFAULT_NAME" desc="The name to display for a profile when the user is not signed in.">
        Default
      </message>
      <message name="IDS_PROFILE_ADD_PERSON_ENABLE" desc="The text for the settings checkbox that indicates whether new profiles can be added from the user manager.">
        Let anyone add a person to Chrome
      </message>
      <message name="IDS_PROFILE_BROWSER_GUEST_ENABLE" desc="The text for the settings checkbox that indicates whether guest mode is available for this browser.">
        Enable Guest browsing
      </message>
      <message name="IDS_SYNC_CUSTOMIZE_LINK_LABEL" desc="The text to display on the link to customize the sync settings.">
        Advanced
      </message>
      <message name="IDS_SYNC_USE_DEFAULT_SETTINGS" desc="The text to display on the link to go back to the default sync settings.">
        Use default settings
      </message>
      <message name="IDS_SYNC_LOGIN_NAME_PROHIBITED" desc="The error message shown when the user tries to sign in to sync using a name that is not allowed by the admin policy">
        Signing in with this username has been disabled by your administrator.
      </message>
      <message name="IDS_SUPERVISED_USER_NOT_ALLOWED_BY_POLICY" desc="The error message shown when the user tries to use the supervised user profile when it's disabled by policy">
        Supervised users have 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>
        <message name="IDS_SYNC_USER_NAME_IN_USE_BY_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 error message includes the avatar name of the existing duplicate profile and only appears in the signin error tab modal dialog.">
          This account is already being used on this computer by <ph name="AVATAR_NAME">$1<ex>Jane</ex></ph>.
        </message>
      </if>

      <!--  Sync Confirmation section of the tab modal signin flow -->
      <message name="IDS_SYNC_CONFIRMATION_TITLE" desc="Title of the sync confirmation dialog in the tab modal signin flow">
        You've signed in and turned on Sync
      </message>

      <!-- "Chrome sync" is the Google Cloud Based service used for sync. Thus this string resource is set to "Chrome sync" even for Chromium builds. -->
      <message name="IDS_SYNC_CONFIRMATION_CHROME_SYNC_TITLE" desc="Title of the chrome sync section of the sync confirmation dialog in the tab modal signin flow" formatter_data="android_java">
        Chrome Sync
      </message>
      <message name="IDS_SYNC_CONFIRMATION_CHROME_SYNC_MESSAGE" desc="Body of the chrome sync section of the sync confirmation dialog in the tab modal signin flow" formatter_data="android_java">
        Your bookmarks, history, passwords, and other settings will be synced to your Google Account so you can use them on all your devices
      </message>
      <message name="IDS_SYNC_CONFIRMATION_PERSONALIZE_SERVICES_TITLE" desc="Title of the personalize services section of the sync confirmation dialog in the tab modal signin flow" formatter_data="android_java">
        Personalize Google services
      </message>
      <message name="IDS_SYNC_CONFIRMATION_PERSONALIZE_SERVICES_BODY" desc="Body of the personalize services section of the sync confirmation dialog in the tab modal signin flow" formatter_data="android_java">
        Google may use your browsing history to personalize Search, ads, and other Google services
      </message>
      <message name="IDS_SYNC_CONFIRMATION_PERSONALIZE_SERVICES_BODY_CHILD_ACCOUNT" desc="Body of the personalize services section of the sync confirmation dialog in the tab modal signin flow for child accounts" formatter_data="android_java">
        Google may use your browsing history to personalize Search and other Google services
      </message>
      <message name="IDS_SYNC_CONFIRMATION_SYNC_SETTINGS_LINK_BODY" desc="Label of the section containing the link to go to the sync setting page.">
        Want to manage sync and personalization before they’re turned on? Visit <ph name="BEGIN_LINK">&lt;a id="settingsLink" href="chrome://settings"&gt;</ph>Settings<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>.
      </message>
      <message name="IDS_SYNC_CONFIRMATION_CONFIRM_BUTTON_LABEL" desc="Label of the confirmation button in the sync confirmation dialog of the tab modal signin flow">
        Ok, got it
      </message>
      <message name="IDS_SYNC_CONFIRMATION_UNDO_BUTTON_LABEL" desc="Label of the undo button in the sync confirmation dialog of the tab modal signin flow">
        Undo
      </message>

      <!--- Sync Confirmation section of the tab modal signin flow when sync is disabled by policy -->
      <message name="IDS_SYNC_DISABLED_CONFIRMATION_CHROME_SYNC_TITLE" desc="Title of the chrome sync section of the sync confirmation dialog in the tab modal signin flow when sync is disabled by policy">
        Sync is disabled by your administrator
      </message>
      <message name="IDS_SYNC_DISABLED_CONFIRMATION_DETAILS" desc="Body of the sync confirmation dialog in the tab modal signin flow when sync is disabled by policy">
        Your administrator has disabled syncing of your bookmarks, history, passwords, and other settings.
       </message>
      <message name="IDS_SYNC_DISABLED_CONFIRMATION_CONFIRM_BUTTON_LABEL" desc="Label of the confirmation button in the sync confirmation dialog of the tab modal signin flow">
        Sign in anyway
      </message>
      <message name="IDS_SYNC_DISABLED_CONFIRMATION_UNDO_BUTTON_LABEL" desc="Label of the undo button in the sync confirmation dialog of the tab modal signin flow">
        Cancel sign in
      </message>


      <!-- Signin Error tab modal dialog -->
      <message name="IDS_SIGNIN_ERROR_TITLE" desc="Title of the signin error tab modal dialog.">
        Can't sign in
      </message>
      <message name="IDS_SIGNIN_ERROR_EMAIL_TITLE" desc="Title of the signin error tab modal dialog when username can be retrieved to display.">
        Can't sign in to <ph name="USERNAME">$1<ex>Jane.Doe@gmail.com</ex></ph>
      </message>
      <message name="IDS_SIGNIN_ERROR_LEARN_MORE_LINK" desc="Label in the signin error tab modal dialog containing the link to go to the Chrome Help page for sync problems.">
        Learn more
      </message>
      <message name="IDS_SIGNIN_ERROR_CLOSE_BUTTON_LABEL" desc="Label of the Close button in the signin error dialog.">
        Close
      </message>
      <message name="IDS_SIGNIN_ERROR_OK_BUTTON_LABEL" desc="Label of the confirmation button in the signin error dialog.">
        OK
      </message>
      <message name="IDS_SIGNIN_ERROR_SWITCH_BUTTON_LABEL" desc="Label of the button for switching to an existing duplicate profile in the signin error dialog.">
        Switch to <ph name="AVATAR_NAME">$1<ex>Jane</ex></ph>
      </message>

      <!-- Sign-in section of the tab modal signin flow -->
      <message name="IDS_SIGNIN_ACCESSIBLE_CLOSE_BUTTON" desc="Accessibility label for the close button of the tab modal signin flow">
        Close
      </message>
      <message name="IDS_SIGNIN_ACCESSIBLE_BACK_BUTTON" desc="Accessibility label for the back button of the tab modal signin flow">
        Back
      </message>

      <!-- Signin Email Confirmation tab modal dialog -->
      <message name="IDS_SIGNIN_EMAIL_CONFIRMATION_CREATE_PROFILE_RADIO_BUTTON_TITLE" desc="Title of radio button to create a new profile.">
        This wasn't me.
      </message>
      <message name="IDS_SIGNIN_EMAIL_CONFIRMATION_CREATE_PROFILE_RADIO_BUTTON_SUBTITLE" desc="Subtitle of radio button to create a new profile.">
        Create a new profile for <ph name="USER_EMAIL_ADDRESS">$1<ex>foo@gmail.com</ex></ph>
      </message>
      <message name="IDS_SIGNIN_EMAIL_CONFIRMATION_START_SYNC_RADIO_BUTTON_TITLE" desc="Title of radio button to sign in to current profile.">
        This was me.
      </message>
      <message name="IDS_SIGNIN_EMAIL_CONFIRMATION_START_SYNC_RADIO_BUTTON_SUBTITLE" desc="Subtitle of radio button to sign in to current profile.">
        Add my bookmarks, history, passwords, and other settings to <ph name="USER_EMAIL_ADDRESS">$1<ex>foo@gmail.com</ex></ph>
      </message>
      <message name="IDS_SIGNIN_EMAIL_CONFIRMATION_CLOSE_BUTTON_LABEL" desc="Label of the close button in the signin email confirmation dialog.">
        Cancel
      </message>
      <message name="IDS_SIGNIN_EMAIL_CONFIRMATION_CONFIRM_BUTTON_LABEL" desc="Label of the confirmation button in the signin email confirmation dialog.">
        Continue
      </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_CRASHED_PROMPT" desc="Info Bar message to notify about a crashed plugin">
       <ph name="PLUGIN_NAME">$1<ex>Shockwave</ex> has crashed.</ph>
      </message>
      <if expr="is_win">
        <message name="IDS_PLUGIN_DISCONNECTED_PROMPT" desc="Info Bar message to notify that the channel connecting to a plugin has encountered an error.">
          <ph name="PLUGIN_NAME">$1<ex>Shockwave</ex> has encountered an error.</ph>
        </message>
      </if>
      <message name="IDS_RELOAD_PAGE_WITH_PLUGIN" desc="Info Bar button to reload the page where a plugin crashed or disconnected.">
        Reload
      </message>
      <message name="IDS_PLUGIN_INITIALIZATION_ERROR_PROMPT" desc="Info Bar message to notify that we couldn't load a plugin">
        Could not load <ph name="PLUGIN_NAME">$1<ex>Shockwave</ex>.</ph>
      </message>

      <!-- External Protocol Dialog -->
      <if expr="not chromeos">
        <message name="IDS_EXTERNAL_PROTOCOL_TITLE" desc="External Protocol Dialog Title">
          Open <ph name="APPLICATION">$1<ex>Adobe Acrobat</ex></ph>?
        </message>
        <message name="IDS_EXTERNAL_PROTOCOL_OK_BUTTON_TEXT" desc="Button in External Protocol Dialog that launches the application associated with the protocol">
          Open <ph name="APPLICATION">$1<ex>Adobe Acrobat</ex></ph>
        </message>
        <message name="IDS_EXTERNAL_PROTOCOL_CANCEL_BUTTON_TEXT" desc="Button in External Protocol Dialog that does not launch the application associated with the protocol">
          Don't open
        </message>
        <message name="IDS_EXTERNAL_PROTOCOL_CHECKBOX_TEXT" desc="Checkbox to ask the user whether they would like their decision remembered.">
          Remember my choice for <ph name="APPLICATION">$1<ex>Adobe Acrobat</ex></ph> links
        </message>
      </if>
      <if expr="chromeos">
        <message name="IDS_EXTERNAL_PROTOCOL_OK_BUTTON_TEXT" desc="Button in External Protocol Dialog that closes the dialog">
          Close
        </message>
      </if>

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

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

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

      <if expr="chromeos">
        <message name="IDS_OPTIONS_DISABLE_GDATA" desc="The text in the options panel describes that we can disable webdrive on Chrome OS for active user.">
          Disconnect Google Drive account
        </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>

      <if expr="chromeos">
        <message name="IDS_OPTIONS_SUGGEST_PREF" desc="The documentation string of the 'Use Suggest' preference">
          Use a prediction service to help complete searches and URLs typed in the address bar or the app launcher search box
        </message>
      </if>
      <if expr="not chromeos">
        <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>
      </if>
      <message name="IDS_OPTIONS_SPELLING_PREF" desc="The documentation string of the 'Use Spelling' preference">
        Use a web service to help resolve spelling errors
      </message>
      <message name="IDS_OPTIONS_ENABLE_LOGGING" desc="The label of the checkbox to enable/disable crash and user metrics logging">
        Automatically send usage statistics and crash reports to Google
      </message>
      <message name="IDS_OPTIONS_ENABLE_LOGGING_DIAGNOSTIC_AND_USAGE_DATA" desc="The label of the checkbox to enable/disable diagnostic and user metrics logging">
        Automatically send diagnostic and usage data to Google
      </message>
      <message name="IDS_OPTIONS_ENABLE_LOGGING_RESTART" desc="The restart string after changing crash and user metrics logging. The text within the | symbols will be made into a link that should indicate to the user that clicking on it will cause Chrome to restart.">
        (requires Chrome |restart|)
      </message>
      <message name="IDS_OPTIONS_ENABLE_DO_NOT_TRACK" desc="The label of the checkbox to enable/disable sending the 'Do Not track' header">
        Send a "Do Not Track" request with your browsing traffic
      </message>
      <message name="IDS_OPTIONS_ENABLE_DO_NOT_TRACK_BUBBLE_TEXT" desc="The text of a confirmation dialog that confirms that the user want to send the 'Do Not Track' header">
        Enabling "Do Not Track" means that a request will be included with your browsing traffic. Any effect depends on whether a website responds to the request, and how the request is interpreted. For example, some websites may respond to this request by showing you ads that aren't based on other websites you've visited. Many websites will still collect and use your browsing data - for example to improve security, to provide content, services, ads and recommendations on their websites, and to generate reporting statistics.
      </message>
      <message name="IDS_OPTIONS_ENABLE_DO_NOT_TRACK_BUBBLE_TITLE" desc="The title of a confirmation dialog that confirms that the user want to send the 'Do Not Track' header">
        Do Not Track
      </message>
      <message name="IDS_OPTIONS_ENABLE_DO_NOT_TRACK_BUBBLE_ENABLE" desc="The label of a button that enables sending the 'Do Not Track' header">
        OK
      </message>
      <message name="IDS_OPTIONS_ENABLE_DO_NOT_TRACK_BUBBLE_DISABLE" desc="The label of a button that disables sending the 'Do Not Track' header">
        Cancel
      </message>

      <message name="IDS_OPTIONS_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_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_PROFILE_ERROR_DIALOG_TITLE" desc="The title of the dialog shown when there's an error page">
        Profile error occurred
      </message>
      <message name="IDS_COULDNT_OPEN_PROFILE_ERROR" desc="Error displayed on startup when the profile cannot be opened correctly due to problems reading or writing files in it.">
        Something went wrong when opening your profile. Some features may be unavailable.
      </message>
      <message name="IDS_OPEN_PROFILE_DATA_LOSS" desc="Error displayed on startup when opening the profile encountered an error but recovered from it with potential data loss.">
        Something went wrong when opening your profile. Please sign out then sign in again.
      </message>
      <message name="IDS_PROFILE_ERROR_DIALOG_CHECKBOX" desc="The label of the checkbox on the profile error dialog asking the user whether to send a feedback report or not">
        Send feedback to help us fix this issue.
      </message>
      <message name="IDS_PROFILE_ERROR_FEEDBACK_DESCRIPTION" desc="The prepopulated text filled in the feedback report reporting a profile error. The triple single quotes are needed to preserve the line break.">
Please help our engineers fix this problem. Tell us what happened right before you got the profile error message:
'''
      </message>
      <message name="IDS_COULDNT_STARTUP_PROFILE_ERROR" desc="Error displayed when Chrome cannot start because profiles were not opened correctly.">
        Cannot start Chrome because something went wrong when opening your profile. Try to restart Chrome.
      </message>
      <message name="IDS_REFUSE_TO_RUN_AS_ROOT" desc="Short error message displayed in an error dialog on startup if the user tries to run Chrome as root.">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> can not be run as root.
      </message>
      <message name="IDS_REFUSE_TO_RUN_AS_ROOT_2" desc="Detailed message in the error dialog when the user tries to start Chrome as root.">
        Please start <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> as a normal user. If you need to run as root for development, rerun with the --no-sandbox flag.
      </message>
      <if expr="is_win">
        <message name="IDS_PROFILE_ON_NETWORK_WARNING" desc="Warning shown to the user when they are running Chrome on Windows with a profile located on a network share.">
          Warning: your <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> settings are stored on a network drive. This may result in slowdowns, crashes, or even loss of data.
        </message>
      </if>

      <!-- Can't write to user data directory dialog -->
      <message name="IDS_CANT_WRITE_USER_DIRECTORY_TITLE" desc="Title of dialog that is displayed when we can't create a directory for this user.">
        Failed To Create Data Directory
      </message>

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

      <!-- Accessibility options -->
      <message name="IDS_OPTIONS_SETTINGS_SECTION_TITLE_ACCESSIBILITY">
        Accessibility
      </message>
      <message name="IDS_OPTIONS_ACCESSIBILITY_FEATURES_LINK">
        Add additional accessibility features
      </message>

      <!-- Multiple download warning-->
      <message name="IDS_MULTI_DOWNLOAD_WARNING" desc="Warning invoked if multiple downloads are attempted without user interaction.">
        This site is attempting to download multiple files. Do you want to allow this?
      </message>
      <message name="IDS_MULTI_DOWNLOAD_PERMISSION_FRAGMENT" desc="Permission request shown if multiple downloads are attempted without user interaction and there are multiple permissions requested. Follows a prompt: 'This site would like to:'">
        Download multiple files
      </message>
      <message name="IDS_MULTI_DOWNLOAD_WARNING_ALLOW" desc="Text on the allow button in the IDS_MULTI_DOWNLOAD_WARNING dialog">
        Allow
      </message>
      <message name="IDS_MULTI_DOWNLOAD_WARNING_BLOCK" desc="Text on the block button in the IDS_MULTI_DOWNLOAD_WARNING dialog">
        Block
      </message>

      <if expr="use_titlecase">
        <message name="IDS_RECENT_TABS_MENU" desc="In Title Case: The title of the Recent Tabs menu in the wrench menu.">
          Recent Tabs
        </message>
        <message name="IDS_RECENTLY_CLOSED_WINDOW" desc="In Title Case: Title of recently closed windows in Recent Tabs menu. [ICU_Syntax]">
          {NUM_TABS, plural, =1 {1 Tab} other {# Tabs}}
        </message>
        <message name="IDS_RECENT_TABS_NO_DEVICE_TABS" desc="In Title Case: 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>
      </if>
      <if expr="not use_titlecase">
        <message name="IDS_RECENT_TABS_MENU" desc="The title of the Recent Tabs menu in the wrench menu.">
          Recent tabs
        </message>
        <message name="IDS_RECENTLY_CLOSED_WINDOW" desc="Title of recently closed windows in Recent Tabs menu. [ICU_Syntax]">
          {NUM_TABS, plural, =1 {1 tab} other {# 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>
      </if>

      <message name="IDS_HISTORY_MENU" desc="The text label of the History (and recent tabs) sub-menu in the wrench menu.">
        &amp;History
      </message>
      <message name="IDS_DEFAULT_DOWNLOAD_FILENAME" desc="Default name for downloaded files when we have no idea what they could be.">
        download
      </message>
      <if expr="is_macosx or chromeos">
        <message name="IDS_BROWSER_WINDOW_MAC_TAB_UNTITLED" desc="Tabs and windows on MacOS with no title use this string.">
          Untitled
        </message>
      </if>

      <message name="IDS_DEFAULT_BROWSER_INFOBAR_OK_BUTTON_LABEL" desc="The label of the 'set as default' button on the default browser infobar.">
        Set as default
      </message>

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

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

      <!-- Sync strings -->

      <!-- Shared between all the plaforms -->
      <message name="IDS_SYNC_ENTER_GOOGLE_PASSPHRASE_BODY_WITH_DATE" desc="Instructions for the dialog where the user needs to enter their previous google passphrase.">
        Your data was encrypted with your Google password as of <ph name="TIME">$1<ex>Sept 1, 2012</ex></ph>. Enter it to start sync.
      </message>
      <message name="IDS_SYNC_ACCOUNT_INFO" desc="The message that appears in the options dialog indicating that the user is signed in 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" desc="The message that appears in the settings page indicating that account is syncing all data types.">
        On - sync everything
      </message>
      <message name="IDS_SYNC_ACCOUNT_SYNCING_CUSTOM_DATA_TYPES" desc="The message that appears in the settings page indicating that account is syncing with a custom set of data types.">
        On - custom settings
      </message>

      <!-- Sync/sign-in error messages -->
      <message name="IDS_SIGNIN_ERROR_BUBBLE_VIEW_TITLE" desc="Title in the sign-in error bubble view/notification.">
        Sign-in Error
      </message>
      <message name="IDS_SYNC_ERROR_BUBBLE_VIEW_TITLE" desc="Title in the sync error bubble view/notification.">
        Sync Error
      </message>
      <message name="IDS_SYNC_ERROR_USER_MENU_TITLE" desc="Title of the sync/signin error header of desktop user menu.">
        Sync isn't working
      </message>
      <message name="IDS_SYNC_ERROR_USER_MENU_SIGNIN_MESSAGE" desc="Message of the out-of-date signin info error in the header of desktop user menu.">
        Sign-in details are out of date
      </message>
      <message name="IDS_SYNC_ERROR_USER_MENU_SIGNIN_BUTTON" desc="Button in the header of desktop user menu that prompts the user to sign in again to fix the out-of-date signin info error.">
        Sign in again
      </message>
      <message name="IDS_SYNC_ERROR_USER_MENU_PASSPHRASE_MESSAGE" desc="Message of the out-of-date sync passphrase error in the header of desktop user menu.">
        Passphrase required to start sync
      </message>
      <message name="IDS_SYNC_ERROR_USER_MENU_PASSPHRASE_BUTTON" desc="Button in the header of desktop user menu that prompts the user to enter the sync passphrase to fix the out-of-date passphrase error.">
        Enter passphrase
      </message>
      <message name="IDS_SYNC_ERROR_USER_MENU_SIGNIN_AGAIN_MESSAGE" desc="Message of the unrecoverable error in the header of desktop user menu.">
        Try signing in again
      </message>
      <message name="IDS_SYNC_ERROR_USER_MENU_SIGNIN_AGAIN_BUTTON" desc="Button in the header of desktop user menu that signs out and signs back in in an attempt to resolve an unrecoverable error.">
        Sign in again
      </message>
      <message name="IDS_SYNC_ERROR_USER_MENU_SIGNOUT_MESSAGE" desc="Message of the unrecoverable error in the header of desktop user menu for managed users.">
        Try signing out and back in again
      </message>
      <message name="IDS_SYNC_ERROR_USER_MENU_SIGNOUT_BUTTON" desc="Button in the header of desktop user menu for managed users to sign out in an attempt to resolve an unrecoverable error.">
        Sign out
      </message>
      <message name="IDS_SYNC_ERROR_USER_MENU_CONFIRM_SYNC_SETTINGS_BUTTON" desc="Button in the header of desktop user menu prompting users to confirm their sync settings.">
        Open settings
      </message>
      <if expr="use_ash">
        <message name="IDS_SYNC_NOTIFICATION_ACCEPT" desc="A button label shown in the sync error notification when the passphrase needs to be updated.">
          Update sync passphrase
        </message>
      </if>

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

      <!-- Android uses native UI to handle Sync settings -->
      <if expr="not is_android">
        <!-- Sync options dialog strings -->
        <message name="IDS_SYNC_OPTIONS_GROUP_NAME" desc="The name of the sync group in the options dialog.">
          Sign in
        </message>
        <if expr="not chromeos">
          <message name="IDS_SYNC_OVERVIEW" desc="The message that appears in the options dialog when sync has not been set up by the user.">
            Sign in to get your bookmarks, history, passwords and other settings on all your devices. You'll also automatically be signed in to your 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_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 settings page indicating that user is signed in, but sync is not enabled.">
          Sync is disabled by your administrator.
        </message>
        <message name="IDS_SIGNED_IN_WITH_SYNC_SUPPRESSED" desc="The message that appears in the settings page indicating that user is signed in, but sync has been stopped.">
          Sync has been stopped via the Google Dashboard.
        </message>
        <message name="IDS_SYNC_SETTINGS_NOT_CONFIRMED" desc="The message that appears in the settings page indicating that user is signed in, but sync hasn't started because the sync settings haven't been confirmed.">
          Confirm sync settings to start sync.
        </message>
        <message name="IDS_SYNC_ACCOUNT_SYNCING_WITH_MANAGE_LINK" desc="The message that appears in the options dialog indicating that account is syncing along with a link to manage their data (where supported, or not possible through the application)">
          Manage your synced data on <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_ACCOUNT_SYNCING_WITH_MANAGE_LINK_NEW" desc="The message that appears in the options dialog indicating that account is syncing along with a link to manage their data (where supported, or not possible through the application)">
          Manage your synced data and devices on <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>Chrome 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_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.">
          Sync isn’t working. Try signing in again.
        </message>
        <message name="IDS_SYNC_STATUS_UNRECOVERABLE_ERROR_NEEDS_SIGNOUT" desc="Message shown on the personal options page when there is an unrecoverable error in Chrome OS as well as for managed accounts.">
          Sync isn’t working. Try signing out and back in again.
        </message>
        <message name="IDS_SYNC_STATUS_NEEDS_PASSWORD" desc="Message indicating user must re-enter their sync password.">
          Enter your passphrase to start sync
        </message>
        <message name="IDS_SYNC_STATUS_NEEDS_PASSWORD_LINK_LABEL" desc="Hyperlink text indicating user must re-enter their sync password.">
          Enter passphrase
        </message>
        <message name="IDS_SYNC_STATUS_ENABLE_SYNC_ON_ACCOUNT" desc="Message indicating user needs to ask the administrator to enable sync.">
          Sync is disabled by your administrator
        </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_SERVER_IS_UNREACHABLE" desc="The message to display in the New Tab Page and Settings Page sync section when the server is unreachable.">
          Couldn't connect to the sync server. Retrying...
        </message>
        <if expr="not chromeos">
          <message name="IDS_SYNC_RELOGIN_ERROR" desc="The text to display on in the hyperlink when the user needs to sign in again to use sync.">
            Sign in again to start sync
          </message>
        </if>
        <if expr="chromeos">
          <message name="IDS_SYNC_RELOGIN_ERROR" 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 to start sync
          </message>
        </if>
        <if expr="not chromeos">
          <message name="IDS_SYNC_RELOGIN_LINK_LABEL" desc="The text to display on in the hyperlink when the user needs to sign in again to use sync.">
            Sign in
          </message>
        </if>
        <if expr="chromeos">
          <message name="IDS_SYNC_RELOGIN_LINK_LABEL" desc="The text to display on in the hyperlink when the user needs to sign out and sign in again to use sync on Chrome OS.">
            Sign out
          </message>
          <message name="IDS_ACTIVE_DIRECTORY_PASSWORD_EXPIRED" desc="The text to display on the hyperlink when the user needs to sign out and sign in again to change their password.">
            Your password has expired. Please sign out then sign in again to change it.
          </message>
          <message name="IDS_ACTIVE_DIRECTORY_PASSWORD_CHANGED" desc="The text to display on the hyperlink when the user needs to sign out and sign in again to update local password to cryptohome.">
            Your password has been changed on the server. Please sign out then sign in again.
          </message>
          <message name="IDS_ACTIVE_DIRECTORY_REFRESH_AUTH_TOKEN" desc="The text to display on the hyperlink when the user needs to sign out and sign in again to get authentication token.">
            Failed to get authentication token. Please sign out then sign in again to try 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.">
          Sign Out
        </message>
        <message name="IDS_SYNC_STOP_SYNCING_DIALOG_TITLE" desc="The title of the dialog that explains what 'stop syncing' means.">
          Disconnect your Google Account
        </message>
        <message name="IDS_SYNC_STOP_SYNCING_EXPLANATION_LABEL" desc="The text to display below the 'Stop syncing this account' button on the options pane, explaining what the button does.">
          By disconnecting your Google Account from <ph name="PRODUCT_NAME">$1<ex>Chrome</ex></ph>, your data will remain on this computer but changes will no longer be synced to your Google Account. Data already stored in your Google Account will remain there until you remove it using <ph name="BEGIN_LINK">&lt;a href="$2" target=&quot;_blank&quot;&gt;<ex>&lt;a href="$2" target=&quot;_blank&quot;&gt;</ex></ph>Google Dashboard<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>.
        </message>
        <message name="IDS_SYNC_STOP_DELETE_PROFILE_LABEL" desc="The text to display by the checkbox asking user whether to also delete profile when stopping sync.">
          Also clear your history, bookmarks, settings, and other Chrome data stored on this device.
        </message>
        <message name="IDS_SYNC_ADVANCED_OPTIONS" desc="The text in the link that brings up the sync configure screen in the new tab page new data type notification.">
          Advanced settings
        </message>

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

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

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

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

        <!-- Choose data types dialog strings -->
        <message name="IDS_SYNC_CHOOSE_DATATYPES_INSTRUCTIONS" desc="Text explaining the 'Choose Datatypes' dialog.">
          <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> securely syncs your data with your Google account. Keep everything synced or customize synced data types and encryption settings.
        </message>
        <message name="IDS_SYNC_EVERYTHING" desc="A drop-down menu item for users who want to sync all data types.">
          Sync everything
        </message>
        <message name="IDS_SYNC_CHOOSE_DATATYPES" desc="A drop-down menu item for users who want to select some datatypes to sync.">
          Choose what to sync
        </message>
        <if expr="chromeos">
          <message name="IDS_SYNC_DATATYPE_THEMES" desc="Themes, one of the data types that we allow syncing.">
            Themes &amp; wallpapers
          </message>
        </if>
        <if expr="not chromeos">
          <message name="IDS_SYNC_DATATYPE_THEMES" desc="Themes, one of the data types that we allow syncing.">
            Themes
          </message>
        </if>
        <message name="IDS_SYNC_DATATYPE_EXTENSIONS" desc="Extensions, one of the data types that we allow syncing.">
          Extensions
        </message>
        <message name="IDS_SYNC_DATATYPE_APPS" desc="Apps, one of the data types that we allow syncing.">
          Apps
        </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_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_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>

        <!-- Personalize Google Services section of the configure sync dialog -->
        <message name="IDS_SYNC_PERSONALIZE_GOOGLE_SERVICES_MESSAGE" desc="Text of the section containing a link to the Google Activity Controls.">
          Control how Google uses your browsing history to personalize Search, ads, and other Google services from <ph name="BEGIN_LINK">&lt;a id="activity-controls" href="$1" target=&quot;_blank&quot;&gt;<ex>&lt;a id="activity-controls" href="$1" target=&quot;_blank&quot;&gt;</ex></ph>Google Activity Controls<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>.
        </message>

        <!-- Passphrase dialog strings -->
        <message name="IDS_SYNC_CONFIRM_PASSPHRASE_LABEL" desc="Label for the confirm-passphrase field.">
          Confirm passphrase
        </message>
        <message name="IDS_SYNC_INCORRECT_PASSPHRASE" desc="Message when the passphrase is incorrect.">
          The passphrase you entered is incorrect.
        </message>
        <message name="IDS_SYNC_PASSPHRASE_RECOVER" desc="Message about how to recover from a lost passphrase.">
          If you've forgotten your passphrase, stop and reset Sync via <ph name="BEGIN_LINK">&lt;a href="$1" target=&quot;_blank&quot;&gt;<ex>&lt;a href="$1" target=&quot;_blank&quot;&gt;</ex></ph>Google Dashboard<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>.
        </message>
        <message name="IDS_SYNC_PASSPHRASE_CANCEL_YES" desc="String for 'yes' button on passphrase cancel warning dialog.">
          Skip
        </message>
        <message name="IDS_SYNC_PASSPHRASE_CANCEL_NO" desc="String for 'no' button on passphrase cancel warning dialog.">
          Enter passphrase
        </message>

        <!-- Login dialog strings -->
        <message name="IDS_SYNC_SETUP_TITLE" desc="The title of the Sync Setup overlay.">
          Sign in with your Google Account
        </message>
        <message name="IDS_SYNC_SUCCESS" desc="Operation successful">
          Success!
        </message>

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

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

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

      <!-- Translate Bubble -->
      <if expr="toolkit_views or is_macosx">
        <if expr="not use_titlecase">
          <message name="IDS_TRANSLATE_BUBBLE_BEFORE_TRANSLATE" desc="Text to show for the translate bubble label when that page is in specified language and ask if should translate.">
            Would you like to translate this page?
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_BEFORE_TRANSLATE_NEW" desc="Text to show for the translate bubble label when that page is in specified language and ask if should translate.">
            Do you want Google to translate this page from <ph name="source_language">$1<ex>Spanish</ex></ph> to <ph name="target_language">$2<ex>English</ex></ph>?
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_ADVANCED" desc="Text to show for the translate bubble link label to jump to the advanced panel.">
            Options
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_ACCEPT" desc="Text to show for the translate bubble button to accept translation.">
            Translate
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_DENY" desc="Text to show for the translate bubble menu item to deny translation.">
            Nope
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_NEVER_TRANSLATE_LANG" desc="Text to show for the translate bubble menu item to never translate the specified language">
            Never translate <ph name="language">$1<ex>French</ex></ph>
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_NEVER_TRANSLATE_SITE" desc="Text to show for the translate bubble menu item to never translate the current site">
            Never translate this site
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_TRANSLATING" desc="Text to show for the translate bubble label when page is currently being translated by servers">
            This page is being translated...
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_TRANSLATED" desc="Text to show for the translate bubble label when the page has been translated from one language to another">
            This page has been translated.
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_REVERT" desc="Text to show for the translate bubble button to revert translation of translated page">
            Show original
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_TRY_AGAIN" desc="Text to show for the translate bubble button to try to translate the page again">
            Try again
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_ALWAYS" desc="Text to show for the translate bubble checkbox to always translate from one language to another">
            Always translate
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_ALWAYS_DO_THIS" desc="Text to show for the translate bubble checkbox to always translate from one language to another in 2016Q2 UI">
            Always do this
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_OPTIONS_MENU_BUTTON" desc="Text to show for the translate bubble 'Options' menu button">
            Options
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_COULD_NOT_TRANSLATE" desc="Text to show for the translate bubble label when the page could not be translated.">
            This page could not be translated.
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_PAGE_LANGUAGE" desc="Text to show for the translate bubble label next to the combobox of the page language">
            Page language:
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_TRANSLATION_LANGUAGE" desc="Text to show for the translate bubble label next to the combobox of the target language for Translate">
            Translation language:
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_LANGUAGE_SETTINGS" desc="Text to show for the translate bubble link label next to jump to the language setting page.">
            Language settings
          </message>
        </if>
        <if expr="use_titlecase">
          <message name="IDS_TRANSLATE_BUBBLE_BEFORE_TRANSLATE" desc="In Title Case: Text to show for the translate bubble label when that page is in specified language and ask if should translate.">
            Would You Like To Translate This Page?
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_BEFORE_TRANSLATE_NEW" desc="In Title Case: Text to show for the translate bubble label when that page is in specified language and ask if should translate.">
            Do You Want Google To Translate This Page From <ph name="source_language">$1<ex>Spanish</ex></ph> To <ph name="target_language">$2<ex>English</ex></ph>?
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_ADVANCED" desc="In Title Case: Text to show for the translate bubble link label to jump to the advanced panel.">
            Options
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_ACCEPT" desc="In Title Case: Text to show for the translate bubble button to accept translation.">
            Translate
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_DENY" desc="In Title Case: Text to show for the translate bubble menu item to deny translation.">
            Nope
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_NEVER_TRANSLATE_LANG" desc="In Title Case: Text to show for the translate bubble menu item to never translate the specified language">
            Never Translate <ph name="language">$1<ex>French</ex></ph>
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_NEVER_TRANSLATE_SITE" desc="In Title Case: Text to show for the translate bubble menu item to never translate the current site">
            Never Translate This Site
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_TRANSLATING" desc="In Title Case: Text to show for the translate bubble label when page is currently being translated by servers">
            This Page Is Being Translated...
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_TRANSLATED" desc="In Title Case: Text to show for the translate bubble label when the page has been translated from one language to another">
            This Page Has Been Translated.
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_REVERT" desc="In Title Case: Text to show for the translate bubble button to revert translation of translated page">
            Show Original
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_TRY_AGAIN" desc="In Title Case: Text to show for the translate bubble button to try to translate the page again">
            Try Again
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_ALWAYS" desc="In Title Case: Text to show for the translate bubble checkbox to always translate from one language to another">
            Always Translate
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_ALWAYS_DO_THIS" desc="In Title Case: Text to show for the translate bubble checkbox to always translate from one language to another in 2016Q2 UI">
            Always Do This
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_OPTIONS_MENU_BUTTON" desc="In Title Case: Text to show for the translate bubble 'Options' menu button">
            Options
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_COULD_NOT_TRANSLATE" desc="In Title Case: Text to show for the translate bubble label when the page could not be translated.">
            This Page Could Not Be Translated.
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_PAGE_LANGUAGE" desc="In Title Case: Text to show for the translate bubble label next to the combobox of the page language">
            Page Language:
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_TRANSLATION_LANGUAGE" desc="In Title Case: Text to show for the translate bubble label next to the combobox of the target language for Translate">
            Translation Language:
          </message>
          <message name="IDS_TRANSLATE_BUBBLE_LANGUAGE_SETTINGS" desc="In Title Case: Text to show for the translate bubble link label next to jump to the language setting page.">
            Language Settings
          </message>
        </if>
        <message name="IDS_TRANSLATE_BUBBLE_UNKNOWN_LANGUAGE" desc="Text to show for the translate bubble link label when the page source language cannot be determined. Used in place of a language name, so should be capitalized as such (e.g. &quot;Unknown&quot; for English, &quot;sconosciuto&quot; for Italian)" meaning="Noun to use in place of a language name in part of a translate bubble message.">
          Unknown
        </message>
      </if>

      <!-- Web and message center notifications -->
      <message name="IDS_NOTIFICATION_PERMISSIONS" desc="Text requesting permission for Web Notifications.">
        <ph name="site">$1<ex>mail.google.com</ex></ph> wants to send you notifications.
      </message>
      <message name="IDS_NOTIFICATION_PERMISSIONS_FRAGMENT" desc="Permission sentence fragment to show following the prompt 'This site wants to:' in a permissions request">
        Show notifications
      </message>
      <message name="IDS_NOTIFICATION_WELCOME_BODY" desc="Notification body for the Welcome Notification">
        Stay connected to what you need to know, across all devices.
      </message>
      <message name="IDS_NOTIFICATION_WELCOME_BUTTON_LEARN_MORE" desc="Learn more button text for the Welcome Notification">
        Learn more
      </message>
      <message name="IDS_NOTIFICATION_WELCOME_TITLE" desc="Notification title for the Welcome Notification">
        Google Now for Chrome!
      </message>
      <message name="IDS_NOTIFICATION_BUTTON_SETTINGS" desc="Short button label to go to the notification settings panel">
        Settings
      </message>
      <message name="IDS_NOTIFICATION_BUTTON_CLOSE" desc="Button label to close a notification">
        Close
      </message>
      <message name="IDS_NOTIFICATION_BUTTON_MORE" desc="Label shown on the second button of a MAC OSX system notification used to expand further options. [CHAR-LIMIT=12]">
        More
      </message>
      <message name="IDS_NOTIFIER_WELCOME_BUTTON" desc="Notification body for when a new notifier service is introduced.">
        Turn off these notifications
      </message>
      <message name="IDS_NOTIFICATION_REPLY_PLACEHOLDER" desc="Placeholder text shown in the text box before any text is entered when replying directly to a notification.">
        Send message
      </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>
        <message name="IDS_JAVASCRIPT_UNSUPPORTED_ERROR_APPLESCRIPT_MAC" desc="Error dialog title to be displayed when the user attempts to execute JavaScript via AppleScript. Mac-only.">
          Executing JavaScript through AppleScript is no longer supported.
        </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_MAC" desc="The Mac menu item for creating a new file in the file menu.">
          New
        </message>
        <message name="IDS_NEW_TAB_MAC" desc="The Mac menu item for opening a new tab in the file menu.">
          New Tab
        </message>
        <message name="IDS_NEW_WINDOW_MAC" desc="The Mac menu item for opening a new window in the file menu.">
          New Window
        </message>
        <message name="IDS_NEW_INCOGNITO_WINDOW_MAC" desc="The Mac menu item for opening a new incognito window in the file menu.">
          New Incognito Window
        </message>
        <message name="IDS_BACKGROUND_APPS_MAC" desc="The Mac submenu for opening Background Apps.">
          Background Apps
        </message>
        <message name="IDS_REOPEN_CLOSED_TABS_MAC" desc="The Mac menu item reopen recently closed tabs in the file menu.">
          Reopen Closed Tab
        </message>
        <message name="IDS_OPEN_FILE_MAC" desc="The Mac menu item to open a file in the file menu.">
          Open File...
        </message>
        <message name="IDS_OPEN_LOCATION_MAC" desc="The Mac menu item to open a location in the file menu (puts cursor in the url bar).">
          Open Location...
        </message>
        <message name="IDS_CLOSE_WINDOW_MAC" desc="The Mac menu item to close a window in the file menu.">
          Close Window
        </message>
        <message name="IDS_CLOSE_TAB_MAC" desc="The Mac menu item to close a browser tab in the file menu.">
          Close Tab
        </message>
        <message name="IDS_SAVE_PAGE_MAC" desc="The Mac menu item to save a page in the file menu.">
          Save Page As...
        </message>
        <message name="IDS_EMAIL_PAGE_LOCATION_MAC" desc="The Mac menu item to email the page location in the file menu.">
          Email Page Location
        </message>
        <message name="IDS_PRINT_USING_SYSTEM_DIALOG_MAC" desc="The Mac menu item to print using system dialog in the file menu">
          Print Using System Dialog...
        </message>
        <!-- Edit menu -->
        <message name="IDS_EDIT_UNDO_MAC" desc="The Mac menu item undo in the edit menu.">
          Undo
        </message>
        <message name="IDS_EDIT_REDO_MAC" desc="The Mac menu item redo in the edit menu.">
          Redo
        </message>
        <message name="IDS_CUT_MAC" desc="The Mac menu item for cut in the edit menu.">
          Cut
        </message>
        <message name="IDS_COPY_MAC" desc="The Mac menu item for copy in the edit menu.">
          Copy
        </message>
        <message name="IDS_PASTE_MAC" desc="The Mac menu item for paste in the edit menu.">
          Paste
        </message>
        <message name="IDS_PASTE_MATCH_STYLE_MAC" desc="The Mac menu item for paste and match style in the edit menu.">
          Paste and Match Style
        </message>
        <message name="IDS_EDIT_DELETE_MAC" desc="The Mac menu item delete in the edit menu.">
          Delete
        </message>
        <message name="IDS_EDIT_SELECT_ALL_MAC" desc="The Mac menu item select all in the edit menu.">
          Select All
        </message>
        <!-- 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_BYPASSING_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_TOGGLE_FULLSCREEN_TOOLBAR_MAC" desc="The Mac menu checkbox item to show/hide the toolbar in full screen.">
          Always Show Toolbar in Full Screen
        </message>
        <message name="IDS_TEXT_BIGGER_MAC" desc="The Mac menu item to zoom in on the page in the view menu.">
          Zoom In
        </message>
        <message name="IDS_TEXT_DEFAULT_MAC" desc="The Mac menu item to make the page actual size in the view menu.">
          Actual Size
        </message>
        <message name="IDS_TEXT_SMALLER_MAC" desc="The Mac menu item to zoom out on the in the view menu.">
          Zoom Out
        </message>
        <message name="IDS_DEVELOPER_MENU_MAC" desc="The Mac menu item for the developer submenu in the view menu.">
          Developer
        </message>
        <!-- View->Developer menu -->
        <message name="IDS_VIEW_SOURCE_MAC" desc="The Mac menu item for view page source in the developer submenu of the view menu.">
          View Source
        </message>
        <message name="IDS_DEV_TOOLS_MAC" desc="The Mac menu item for the developer tools in the developer submenu of the view menu.">
          Developer Tools
        </message>
        <message name="IDS_DEV_TOOLS_CONSOLE_MAC" desc="The Mac menu item for the JavaScript console in the developer submenu of the view menu.">
          JavaScript Console
        </message>
        <message name="IDS_TASK_MANAGER_MAC" desc="The Mac menu item for task manager in the developer submenu of the view menu.">
          Task Manager
        </message>
        <!-- History menu -->
        <message name="IDS_HISTORY_HOME_MAC" desc="The Mac menu item for home in the history menu.">
          Home
        </message>
        <message name="IDS_HISTORY_BACK_MAC" desc="The Mac menu item for back in the history menu.">
          Back
        </message>
        <message name="IDS_HISTORY_FORWARD_MAC" desc="The Mac menu item for forward in the history menu.">
          Forward
        </message>
        <message name="IDS_HISTORY_VISITED_MAC" desc="The Mac menu item for the header of visited items in the history menu.">
          Recently Visited
        </message>
        <message name="IDS_HISTORY_CLOSED_MAC" desc="The Mac menu item for the header of recently closed items in the history menu.">
          Recently Closed
        </message>
        <message name="IDS_HISTORY_CLOSED_RESTORE_WINDOW_MAC" desc="The Mac menu item for restoring all the tabs of a recently closed window.">
          Restore All Tabs
        </message>
        <!-- Bookmarks menu -->
        <message name="IDS_BOOKMARK_ALL_TABS_MAC" desc="The Mac menu item for bookmarking all tabs in the current window.">
          Bookmark All Tabs...
        </message>
        <!-- Window menu -->
        <message name="IDS_MINIMIZE_WINDOW_MAC"
                 desc="The Mac menu item for minimize the window menu."
                 meaning="Mac Menubar: The Mac menu item for minimize the window menu.">
          Minimize
        </message>
        <message name="IDS_ZOOM_WINDOW_MAC"
                 desc="The Mac menu item for zoom (maximize) in the window menu."
                 meaning="Mac Menubar: The Mac menu item for zoom (maximize) in the window menu.">
          Zoom
        </message>
        <message name="IDS_NEXT_TAB_MAC" desc="The Mac menu item for next tab in the window menu.">
          Select Next Tab
        </message>
        <message name="IDS_PREV_TAB_MAC" desc="The Mac menu item for previous tab in the window menu.">
          Select Previous Tab
        </message>
        <message name="IDS_SHOW_DOWNLOADS_MAC" desc="The Mac menu item to show downloads in the window menu.">
          Downloads
        </message>
        <message name="IDS_WINDOW_AUDIO_PLAYING_MAC" desc="The emoji to append to the title of a window showing audio is playing.">
          <ph name="TAB_TITLE">$1<ex>The Title of the Tab</ex></ph> <ph name="EMOJI_PLAYING">$2<ex>(playing)</ex></ph>
        </message>
        <message name="IDS_WINDOW_AUDIO_MUTING_MAC" desc="The emoji to append to the title of a window showing audio is muting.">
          <ph name="TAB_TITLE">$1<ex>The Title of the Tab</ex></ph> <ph name="EMOJI_MUTING">$2<ex>(muting)</ex></ph>
        </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>
        <message name="IDS_DUPLICATE_TAB_MAC" desc="The Mac menu item for duplicating the selected tab(s).">
          Duplicate Tab
        </message>
        <message name="IDS_MUTE_TAB_MAC" desc="The Mac menu item for muting the selected tab(s).">
          Mute Tab
        </message>
        <message name="IDS_PIN_TAB_MAC" desc="The Mac menu item for pinning the selected tab(s).">
          Pin Tab
        </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>

      <!-- Geolocation messages -->
      <if expr="not is_android">
        <message name="IDS_GEOLOCATION_INFOBAR_QUESTION" desc="Question asked on the info bar whenever URL wants to access the user's physical location">
          <ph name="URL">
            $1<ex>maps.google.com</ex>
          </ph> wants to use your computer's location.
        </message>
      </if>
      <if expr="is_android">
        <message name="IDS_GEOLOCATION_INFOBAR_QUESTION" desc="Mobile: Question asked on the info bar whenever URL wants to access the user's physical location">
          <ph name="URL">
            $1<ex>maps.google.com</ex>
          </ph> wants to use your device's location.
        </message>
      </if>
      <message name="IDS_GEOLOCATION_INFOBAR_PERMISSION_FRAGMENT" desc="Permission fragment used in the permission bubble, after 'This site wants to:' asking for permission to access the user's physical location.">
        Know your location
      </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 devices full control
      </message>
      <message name="IDS_MIDI_SYSEX_ALLOW_RADIO" desc="A radio button in Content Settings dialog to allow a site to access MIDI devices with system exclusive messages.">
        Allow all sites to use system exclusive messages to access MIDI devices
      </message>
      <message name="IDS_MIDI_SYSEX_BLOCK_RADIO" desc="A radio button in Content Settings dialog to deny a site to access MIDI devices with system exclusive messages.">
        Do not allow any sites to use system exclusive messages to access MIDI devices
      </message>
      <message name="IDS_MIDI_SYSEX_ASK_RADIO" desc="A radio button in Content Settings dialog to allow a site to query the permision to access MIDI devices with system exclusive messages.">
        Ask me when a site wants to use system exclusive messages to access MIDI devices (recommended)
      </message>
      <message name="IDS_MIDI_SYSEX_INFOBAR_QUESTION" desc="Question asked on the info bar whenever URL wants to access MIDI devices with system exclusive messages.">
        <ph name="URL">
          $1<ex>www.google.com</ex>
        </ph> wants to get full control of your MIDI devices.
      </message>
      <message name="IDS_MIDI_SYSEX_PERMISSION_FRAGMENT" desc="Permission asked in the permission bubble when a URL wants to access MIDI devices with system exclusive messages, along with other permissions requests. Preceded by the prompt 'This site would like to:'">
        Use your MIDI devices
      </message>
      <message name="IDS_MIDI_SYSEX_ALLOWED_TOOLTIP" desc="Location bar icon tooltip text when a page is allowed to use MIDI system exclusive messages.">
        This page has full control of MIDI devices.
      </message>
      <message name="IDS_MIDI_SYSEX_BLOCKED_TOOLTIP" desc="Location bar icon tooltip text when a page is blocked from using MIDI system exclusive messages.">
        This page has been blocked from having full control of MIDI devices.
      </message>
      <message name="IDS_MIDI_SYSEX_BUBBLE_ALLOWED" desc="Title of the MIDI bubble where system exclusive messages are allowed.">
        This site has full control of MIDI devices.
      </message>
      <message name="IDS_MIDI_SYSEX_BUBBLE_DENIED" desc="Title of the MIDI bubble where system exclusive messages are blocked.">
        This site has been blocked from having full control of MIDI devices.
      </message>
      <message name="IDS_MIDI_SYSEX_BUBBLE_REQUIRE_RELOAD_TO_CLEAR" desc="Hint text for the MIDI bubble informing user they must reload the page for the Clear settings command to take effect.">
        Settings will be cleared on next reload.
      </message>
      <message name="IDS_MIDI_SYSEX_BUBBLE_CLEAR_LINK" desc="Link on the MIDI bubble that resets the list of allowed and blocked sites.">
        Clear these settings for future visits
      </message>
      <message name="IDS_MIDI_SYSEX_BUBBLE_MANAGE_LINK" desc="Link on the MIDI bubble that opens up the Content Settings management dialog.">
        Manage MIDI settings...
      </message>

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

      <!-- Media Stream -->
      <message name="IDS_MEDIASTREAM_BUBBLE_MANAGE_LINK" desc="Link on the media (camera and microphone) bubble that opens up the Content Settings management dialog for media settings.">
        Manage media settings...
      </message>
      <message name="IDS_MEDIASTREAM_MICROPHONE_BUBBLE_MANAGE_LINK" desc="Link on the microphone bubble that opens up the Content Settings management dialog for microphone settings.">
        Manage microphone settings...
      </message>
      <message name="IDS_MEDIASTREAM_CAMERA_BUBBLE_MANAGE_LINK" desc="Link on the camera bubble that opens up the Content Settings management dialog for camera settings.">
        Manage camera settings...
      </message>
      <message name="IDS_MICROPHONE_CAMERA_ALLOWED" desc="Status text that is used as location bar icon tooltip text and as media settings bubble status text when a page is allowed to use the camera and microphone.">
        This page is accessing your camera and microphone.
      </message>
      <message name="IDS_MICROPHONE_CAMERA_BLOCKED" desc="Status text that is used as location bar icon tooltip text and as media settings bubble status text when a page is blocked from using the camera and microphone.">
        This page has been blocked from accessing your camera and microphone.
      </message>
      <message name="IDS_MICROPHONE_ACCESSED" desc="Microphone usage status text that is used as tooltip text for the location bar icon and as status text of the media settings bubble when a page is using the microphone (but not the camera).">
        This page is accessing your microphone.
      </message>
      <message name="IDS_CAMERA_ACCESSED" desc="Camera usage status text that is used as tooltip text for the location bar icon and as status text of the media settings bubble when a page is using the camera (but not the microphone).">
        This page is accessing your camera.
      </message>
      <message name="IDS_MICROPHONE_BLOCKED" desc="Microphone usage status text that is used as tooltip text for the location bar icon and as status text of the media settings bubble when a page is blocked from using the microphone.">
        This page has been blocked from accessing your microphone.
      </message>
      <message name="IDS_CAMERA_BLOCKED" desc="Camera usage status text that is used as tooltip text for the location bar icon and as status text of the media settings bubble when a page is blocked from using the camera.">
        This page has been blocked from accessing your camera.
      </message>
      <message name="IDS_MEDIASTREAM_SETTING_CHANGED_MESSAGE" desc="Message that is used to suggest reloading when media (camera, microphone) settings was changed by the user. These settings are immediately effective, but the web page might not know how to deal with the new settings.">
        This page may need to be reloaded before the new settings take effect.
      </message>

      <!-- Protected media identifier permission infobar -->
      <if expr="is_android or chromeos">
        <message name="IDS_PROTECTED_MEDIA_IDENTIFIER_PERMISSION_FRAGMENT" desc="Permission fragment shown in the permissions bubble when a web page requests access to the computer's protected media identifier.">
          Know your unique device identifier
        </message>
        <message name="IDS_PROTECTED_MEDIA_IDENTIFIER_INFOBAR_QUESTION" desc="Question asked on the infobar whenever URL wants to access protected media identifier. It shows the origin of the URL.">
          <ph name="URL">$1<ex>https://www.youtube.com</ex></ph> wants to uniquely identify your device to play protected content.
        </message>
      </if>

      <message name="IDS_MANAGE_PASSWORDS_CONFIRM_GENERATED_TITLE" desc="The title text that is used in the manage passwords bubble when the user has generated a password.">
        Password saved
      </message>
      <message name="IDS_MANAGE_PASSWORDS_CONFIRM_GENERATED_TEXT" desc="A message that the browser shows after saving a password it has autogenerated for the user. This message appears in a bubble and contains a link to all the user's saved autogenerated passwords. The link text is a separate string in the translation console and appears here as placeholder text.">
        Access your passwords from any device at <ph name="SAVED_PASSWORDS_LINK">$1<ex>passwords.google.com</ex></ph>
      </message>
      <if expr="is_android">
        <message name="IDS_MANAGE_PASSWORDS_CONFIRM_GENERATED_TEXT_INFOBAR" desc="A message that the browser shows after saving a password it has autogenerated for the user. This message appears in an infobar and contains a link to all the user's saved autogenerated passwords. The link text is a separate string in the translation console and appears here as placeholder text.">
          Password saved. Access your passwords from any device at <ph name="SAVED_PASSWORDS_LINK">$1<ex>passwords.google.com</ex></ph>
        </message>
      </if>
      <message name="IDS_MANAGE_PASSWORDS_LINK" desc="The text for a link to the user's saved passwords. This is inserted into an infobar or a bubble that the browser shows to the user. The infobar and the bubble use a separate string in the translation console that has a placeholder for this link title.">
        Google saved passwords
      </message>
      <message name="IDS_MANAGE_PASSWORDS_TITLE" desc="The title text that is used in the manage passwords bubble when a password is autofilled or after a user has stored a password.">
        Saved passwords for this site:
      </message>
      <message name="IDS_MANAGE_PASSWORDS_REMOTE_TEXT" desc="The text used to tell inform users of how to manage their passwords from a website.">
        Access your passwords from any device at <ph name="LINK_TEXT">$1<ex>passwords.google.com</ex></ph>
      </message>

      <message name="IDS_MANAGE_PASSWORDS_NO_PASSWORDS" desc="The text that is used in the manage passwords bubble when all passwords have been deleted.">
        No passwords saved.
      </message>
      <message name="IDS_MANAGE_PASSWORDS_DELETED" desc="The text that is used in the manage passwords bubble when a password is deleted.">
        Password deleted
      </message>
      <message name="IDS_MANAGE_PASSWORDS_UNDO" desc="The text that is used in the manage passwords bubble when a password is deleted.">
        Undo
      </message>
      <message name="IDS_MANAGE_PASSWORDS_DELETE" desc="The tooltip of a button that is used in the manage passwords bubble for removing the credential.">
        Delete
      </message>

      <message name="IDS_MANAGE_PASSWORDS_AUTO_SIGNIN_TITLE" desc="The title of the auto-signin toast.">
        Signing in as <ph name="username">$1<ex>chef@google.com</ex></ph>
      </message>
      <message name="IDS_MANAGE_PASSWORDS_AUTO_SIGNIN_TITLE_MD" desc="The title of the auto-signin toast in Material Design mode.">
        Signing in as
      </message>
      <message name="IDS_AUTO_SIGNIN_FIRST_RUN_TITLE_MANY_DEVICES" desc="The title of the dialog during the autosign-in first run experience for the Chrome syncing users.">
        Sign in easily across devices
      </message>
      <message name="IDS_AUTO_SIGNIN_FIRST_RUN_TITLE_LOCAL_DEVICE" desc="The title of the dialog during the autosign-in first run experience for the Chrome signed out users.">
        Sign in easily
      </message>
      <message name="IDS_AUTO_SIGNIN_FIRST_RUN_SMART_LOCK_TEXT" desc="The text of the dialog during the autosign-in first run experience for the Chrome syncing users.">
        <ph name="PASSWORD_MANAGER_BRAND">$1<ex>Google Smart Lock</ex></ph> automatically signs you in to eligible sites and apps with passwords you saved.
      </message>
      <message name="IDS_AUTO_SIGNIN_FIRST_RUN_TEXT" desc="The text of the dialog during the autosign-in first run experience for the Chrome signed out users.">
        <ph name="PASSWORD_MANAGER_BRAND">$1<ex>Google Chrome</ex></ph> automatically signs you in to eligible sites with passwords you saved.
      </message>
      <if expr="use_titlecase">
        <message name="IDS_AUTO_SIGNIN_FIRST_RUN_OK" desc="The text of the OK button in the dialog during the autosign-in first run experience.">
          OK, Got It
        </message>
        <message name="IDS_AUTO_SIGNIN_FIRST_RUN_TURN_OFF" desc="The text of the 'turn off' button in the dialog during the autosign-in first run experience.">
          Turn Off
        </message>
      </if>
      <if expr="not use_titlecase">
        <message name="IDS_AUTO_SIGNIN_FIRST_RUN_OK" desc="The text of the OK button in the dialog during the autosign-in first run experience.">
          OK, got it
        </message>
        <message name="IDS_AUTO_SIGNIN_FIRST_RUN_TURN_OFF" desc="The text of the 'turn off' button in the dialog during the autosign-in first run experience.">
          Turn off
        </message>
      </if>

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

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

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

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

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

      <!-- Fullscreen Strings -->
      <message name="IDS_FULLSCREEN_USER_ENTERED_FULLSCREEN" desc="Message for the user telling them that they have entered fullscreen mode.">
        You have gone full screen.
      </message>
      <message name="IDS_FULLSCREEN_EXTENSION_TRIGGERED_FULLSCREEN" desc="Message for the user telling them that an extension triggered fullscreen mode.">
        "<ph name="EXTENSION_NAME">$1<ex>MyExtension</ex></ph>" triggered full screen.
      </message>
      <message name="IDS_FULLSCREEN_UNKNOWN_EXTENSION_TRIGGERED_FULLSCREEN" desc="Message for the user telling them that an extension whose name is unknown triggered fullscreen mode.">
        An extension triggered full screen.
      </message>
      <message name="IDS_FULLSCREEN_SITE_ENTERED_FULLSCREEN" desc="Text displayed in the bubble when a page has gone fullscreen. (With a domain URL to display)">
        <ph name="FULLSCREEN_ORIGIN">$1<ex>google.com</ex></ph> is now full screen.
      </message>
      <message name="IDS_FULLSCREEN_ENTERED_FULLSCREEN" desc="Text displayed in the bubble when a page has gone fullscreen. (No domain to be shown, e.g. from filesystem page)">
        This page is now full screen.
      </message>
      <message name="IDS_FULLSCREEN_SITE_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_FULLSCREEN" desc="Text displayed in the bubble to tell users how to return from fullscreen mode (where the web page occupies the entire screen) to normal mode. Please surround the name of the key (e.g. 'Esc') in pipe characters so it can be rendered as a key.">
        Press |<ph name="ACCELERATOR">$1<ex>Esc</ex></ph>| to exit full screen
      </message>
      <message name="IDS_FULLSCREEN_PRESS_ESC_TO_EXIT_MOUSELOCK" desc="Text displayed in the bubble to tell users how to return from mouselock mode (where the mouse cursor is hidden) to normal mode. Please surround the name of the key (e.g. 'Esc') in pipe characters so it can be rendered as a key.">
        Press |<ph name="ACCELERATOR">$1<ex>Esc</ex></ph>| to show your cursor
      </message>
      <message name="IDS_FULLSCREEN_HOLD_ESC_TO_EXIT_FULLSCREEN" desc="Text displayed in the bubble to tell users how to return from fullscreen mode (where the web page occupies the entire screen) to normal mode. Please surround the name of the key (e.g. 'Esc') in pipe characters so it can be rendered as a key.">
        Hold |<ph name="ACCELERATOR">$1<ex>Esc</ex></ph>| to exit full screen
      </message>

      <!-- Backspace shortcut notification strings -->
      <message name="IDS_PRESS_SHORTCUT_TO_GO_BACK" desc="Text displayed in the bubble to explain the keyboard shortcut to go back to the previous web page in history. The shortcut names a keyboard key or key chord. Please surround the shortcut in pipe characters so it can be rendered correctly.">
        Press |<ph name="SHORTCUT">$1<ex>Alt-Left</ex></ph>| to go back
      </message>
      <message name="IDS_PRESS_SHORTCUT_TO_GO_FORWARD" desc="Text displayed in the bubble to explain the keyboard shortcut to go forward to the next web page in history. The accelerators are names of keyboard keys. The shortcut names a keyboard key or key chord. Please surround the shortcut in pipe characters so it can be rendered correctly.">
        Press |<ph name="SHORTCUT">$1<ex>Alt-Right</ex></ph>| to go forward
      </message>

      <!-- Register Protocol Handler Strings -->
      <message name="IDS_REGISTER_PROTOCOL_HANDLER_MAILTO_NAME" desc="A more user friendly way of describing mailto: links.">
        email
      </message>
      <message name="IDS_REGISTER_PROTOCOL_HANDLER_WEBCAL_NAME" desc="A more user friendly way of describing webcal: links.">
        web calendar
      </message>
      <message name="IDS_REGISTER_PROTOCOL_HANDLER_CONFIRM" desc="The message to display when asking a user to confirm the registration of a protocol handler.">
        Allow <ph name="HANDLER_HOSTNAME">$1<ex>google.com</ex></ph> to open all <ph name="PROTOCOL">$2<ex>search</ex></ph> links?
      </message>
      <message name="IDS_REGISTER_PROTOCOL_HANDLER_CONFIRM_REPLACE" desc="The message to display when asking a user to confirm the registration of a protocol handler.">
        Allow <ph name="HANDLER_HOSTNAME">$1<ex>google.com</ex></ph> to open all <ph name="PROTOCOL">$2<ex>search</ex></ph> links instead of <ph name="REPLACED_HANDLER_TITLE">$3<ex>Elgoog Search</ex></ph>?
      </message>
      <message name="IDS_REGISTER_PROTOCOL_HANDLER_CONFIRM_FRAGMENT" desc="The permission fragment to display when asking a user to confirm the registration of a protocol handler in a permission bubble. Follows a prompt 'This site would like to:'.">
        Open <ph name="PROTOCOL">$1<ex>search</ex></ph> links
      </message>
      <message name="IDS_REGISTER_PROTOCOL_HANDLER_CONFIRM_REPLACE_FRAGMENT" desc="The permission fragment to display when asking a user to confirm the registration of a protocol handler. Follows a prompt 'This site would like to:'.">
        Open <ph name="PROTOCOL">$1<ex>search</ex></ph> links instead of <ph name="REPLACED_HANDLER_TITLE">$2<ex>Elgoog Search</ex></ph>
      </message>
      <message name="IDS_REGISTER_PROTOCOL_HANDLER_ACCEPT" desc="Text to show for the accept button for the register protocol handler request infobar.">
        Allow
      </message>
      <message name="IDS_REGISTER_PROTOCOL_HANDLER_DENY" desc="Text to show for the deny button for the register protocol handler request infobar.">
        Deny
      </message>
      <message name="IDS_REGISTER_PROTOCOL_HANDLER_IGNORE" desc="Text to show for an ignore prompt for a register protocol handler registration request.">
        Ignore
      </message>

      <!-- 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_SCREEN" desc="Question asked on the info bar whenever a web page requests access to the device's screen.">
        <ph name="HOST">$1<ex>html5rocks.com</ex></ph> wants to share your screen.
      </message>
      <message name="IDS_MEDIA_CAPTURE_AUDIO_AND_VIDEO_PERMISSION_FRAGMENT" desc="Permission fragment shown in the permissions bubble when a web page requests access to the computer's microphone and camera.">
        Use your camera and microphone
      </message>
      <message name="IDS_MEDIA_CAPTURE_AUDIO_ONLY_PERMISSION_FRAGMENT" desc="Permission fragment shown in the permissions bubble when a web page requests access to the computer's microphone.">
        Use your microphone
      </message>
      <message name="IDS_MEDIA_CAPTURE_VIDEO_ONLY_PERMISSION_FRAGMENT" desc="Permission fragment shown in the permissions bubble when a web page requests access to the computer's camera.">
        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_BLOCK" desc="Label for a button that blocks access to a web page, so they can't use a camera and/or a microphone.">
        Block
      </message>

      <!-- Quota messages -->
      <if expr="is_android">
        <message name="IDS_REQUEST_QUOTA_INFOBAR_QUESTION" desc="Mobile: For Android device. Question asked on the info bar whenever webapp requests new (larger) quota to persistently store data on the device (e.g. for persistent-type filesystem).">
          <ph name="URL">
            $1<ex>html5rocks.com</ex>
          </ph> wants to permanently store data on your device.
        </message>
        <message name="IDS_REQUEST_LARGE_QUOTA_INFOBAR_QUESTION" desc="Mobile: For Android device. Question asked on the info bar whenever webapp requests new (larger) quota to persistently store large data on the user's device (e.g. for persistent-type filesystem).">
          <ph name="URL">
            $1<ex>html5rocks.com</ex>
          </ph> wants to permanently store large data on your device.
        </message>
      </if>
      <if expr="not is_android">
        <message name="IDS_REQUEST_QUOTA_INFOBAR_QUESTION" desc="Question asked on the info bar whenever webapp requests new (larger) quota to persistently store data on the user's local computer (e.g. for persistent-type filesystem).">
          <ph name="URL">
            $1<ex>html5rocks.com</ex>
          </ph> wants to permanently store data on your local computer.
        </message>
        <message name="IDS_REQUEST_LARGE_QUOTA_INFOBAR_QUESTION" desc="Question asked on the info bar whenever webapp requests new (larger) quota to persistently store large data on the user's local computer (e.g. for persistent-type filesystem).">
          <ph name="URL">
            $1<ex>html5rocks.com</ex>
          </ph> wants to permanently store large data on your local computer.
        </message>
      </if>
      <message name="IDS_REQUEST_QUOTA_PERMISSION_FRAGMENT" desc="Permission fragment presented in the permission bubble when the webapp requests new larger quota to persistently store data on the device. Follows a 'This site would like to:' prompt.">
        Store files on this device
      </message>

      <!-- Android does not support multiple profiles and supervised users -->
      <if expr="not is_android">
        <!-- Manage Profile Dialog -->
        <message name="IDS_DISCONNECT_ACCOUNT_TITLE" desc="Title of the disconnect account dialog">
          Disconnect Account
        </message>
        <message name="IDS_PROFILES_MANAGE_TITLE" desc="Title of the manage profile dialog">
          Edit
        </message>
        <message name="IDS_PROFILES_MANAGE_NAME_LABEL" desc="Label next to the profile name text field.">
          Name:
        </message>
        <message name="IDS_PROFILES_MANAGE_ICON_LABEL" desc="Label above the profile avatar icon chooser.">
          Choose a picture and name
        </message>

        <!-- Delete Profile Dialog -->
        <message name="IDS_PROFILES_DELETE_TITLE" desc="Title of the delete profile dialog">
          Remove person?
        </message>
        <message name="IDS_PROFILES_DELETE_OK_BUTTON_LABEL" desc="The text to display on the button to confirm deleting the profile.">
          Remove
        </message>
        <message name="IDS_PROFILES_DELETE_MESSAGE" desc="Message explaining to the user what will happen if they delete this profile">
          Are you sure you want to remove "<ph name="PROFILE_NAME">$1<ex>New User</ex></ph>" and all associated Chrome data from this computer? This cannot be undone.
        </message>
        <message name="IDS_PROFILES_DELETE_LEGACY_SUPERVISED_ADDENDUM" desc="Additional message shown in the same dialog following the IDS_PROFILES_DELETE_MESSAGE, explaining to the user what will happen if they delete the profile of a supervised user.">
          Settings and browsing history for this supervised user may still be visible by the manager at <ph name="BEGIN_LINK">&lt;a target="_blank" href="$1"&gt;</ph><ph name="DISPLAY_LINK">$2</ph><ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>.
        </message>
        <message name="IDS_PROFILES_DISCONNECT_MANAGED_PROFILE_TITLE" desc="Title of the disconnect managed profile dialog.">
          Disconnect your Google Account
        </message>
        <message name="IDS_PROFILES_DISCONNECT_MANAGED_PROFILE_DOMAIN_INFORMATION" desc="The text that provides the domain information.">
          This account is managed by <ph name="DOMAIN">$1<ex>example.com</ex></ph>
        </message>
        <message name="IDS_PROFILES_DISCONNECT_MANAGED_PROFILE_OK_BUTTON_LABEL" desc="The text to display on the button that clears the data and disconnect user account.">
          Clear data and disconnect
        </message>
        <message name="IDS_PROFILES_LIST_ITEM_CURRENT" desc="Text to display in the multi-profiles list when this profile is the current profile">
          <ph name="PROFILE_NAME">$1<ex>New User</ex></ph> (current)
        </message>
        <message name="IDS_PROFILES_LIST_LEGACY_SUPERVISED_USER_LABEL" desc="Text to display in the multi-profiles list next to the profile name when this profile is supervised.">
          (Supervised)
        </message>
        <message name="IDS_PROFILES_LIST_CHILD_LABEL" desc="Text to display in the multi-profiles list next to the profile name when this profile is associated with a child account.">
          (Account for kids)
        </message>
        <message name="IDS_PROFILES_SINGLE_USER_MESSAGE" desc="Text to display in the multi-profiles section when there is only one user">
          You are currently the only <ph name="PRODUCT_NAME">$1<ex>Chrome</ex></ph> user.
        </message>

        <!-- Create Profile Dialog -->
        <message name="IDS_PROFILES_CREATE_TITLE" desc="Title of the create profile dialog">
          Add person
        </message>
        <message name="IDS_PROFILES_CREATE_INSTRUCTIONS" desc="Instructions for the create profile dialog">
          Choose a picture and name
        </message>
        <message name="IDS_PROFILES_CREATE_LOCAL_ERROR" desc="Message shown when a local error (for example, a disk error) occurs during profile creation.">
          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.">
          The new supervised user couldn't be created. Please check your network connection and try again later.
        </message>
        <message name="IDS_PROFILES_CREATE_SIGN_IN_ERROR" desc="Message shown when a sign-in error occurs during creation of a new supervised user.">
          The new supervised user couldn't be created. Please make sure you're signed in properly and try again.
        </message>
        <message name="IDS_PROFILES_CREATE_NO_CUSTODIAN_ACCOUNT_ERROR" desc="Message shown when the user checks the checkbox to create a supervised user, but does not select a custodian account from the dropdown list.">
          Select an account to manage the supervised user.
        </message>
        <message name="IDS_PROFILES_CREATE_LEGACY_SUPERVISED_USER_ERROR_EXISTS_REMOTELY" desc="Message shown when the user enters the name of a supervised user that can be imported.">
          Looks like you're already managing a user by that name. Did you want to <ph name="BEGIN_LINK">&lt;a is="action-link" id="supervised-user-import-existing"&gt;</ph>import <ph name="PROFILE_NAME">$1<ex>John</ex></ph><ph name="END_LINK">&lt;/a&gt;</ph> to this device?
        </message>
        <message name="IDS_PROFILES_CREATE_LEGACY_SUPERVISED_USER_ERROR_EXISTS_LOCALLY" desc="Message shown when the user enters the name of a supervised user that we already have locally.">
          Looks like you already have a supervised user with this name.
        </message>
        <message name="IDS_PROFILES_CREATE_SUPERVISED_SIGNED_IN_LABEL" desc="Label for the 'Supervised user' checkbox in the create-profile dialog when the current user is signed in.">
          Control and view the websites this person visits from <ph name="CUSTODIAN_EMAIL">$1<ex>user@gmail.com</ex></ph>.
        </message>
        <message name="IDS_PROFILES_CREATE_DESKTOP_SHORTCUT_LABEL" desc="Label for the checkbox that controls whether a desktop shortcut should be created for the new profile.">
          Create a desktop shortcut for this user
        </message>
        <message name="IDS_PROFILES_CREATE_SUPERVISED_MULTI_SIGNED_IN_LABEL" desc="Label for the 'Supervised user' checkbox in the create-profile dialog when user can choose from a list of signed in users.">
          Supervise this person to control and view the websites they visit from your Google Account.
        </message>
        <message name="IDS_PROFILES_CREATE_SUPERVISED_NO_SIGNED_IN_USER_TEXT" desc="Informative text displayed below the 'Supervised user' checkbox in the create-profile dialog when there are no signed in users to choose as the custodian.">
          To supervise this person, <ph name="BEGIN_LINK">&lt;a id="sign-in-to-chrome" href="https://support.google.com/chrome/answer/185277"&gt;</ph>sign in to Chrome<ph name="END_LINK">&lt;/a&gt;</ph>.
        </message>
        <message name="IDS_PROFILES_CREATE_SUPERVISED_SENTINEL_MENU_ITEM_TEXT" desc="Label for the dropdown menu containing signed in users from which the user can choose a custodian account.">
          Select an account
        </message>
        <message name="IDS_PROFILES_CREATE_SUPERVISED_ACCOUNT_DETAILS_OUT_OF_DATE_LABEL" desc="Label for the 'Supervised user' checkbox in the create-profile dialog when the current user is signed in, but their sign-in information is invalid. This will be followed by a 'Sign in again' link.">
          Control and view the websites this person visits from <ph name="CUSTODIAN_EMAIL">$1<ex>user@gmail.com</ex></ph>.
    Your account sign-in details are out of date.
        </message>
        <message name="IDS_PROFILES_CREATE_CUSTODIAN_ACCOUNT_DETAILS_OUT_OF_DATE_ERROR" desc="Message shown when the custodian is signed in, but their sign-in information is invalid.">
          Your account details are out of date. <ph name="BEGIN_LINK">&lt;a is="action-link" id="reauth" data-user-email="$1"&gt;</ph>Sign in again<ph name="END_LINK">&lt;/a&gt;</ph>.
        </message>
        <message name="IDS_PROFILES_CREATE_SUPERVISED_NOT_ALLOWED_BY_POLICY" desc="Error message shown when the policy-controlled preference prohibits creating supervised users.">
          Your administrator doesn’t allow you to create supervised users.
        </message>
        <message name="IDS_PROFILES_CREATE_SUPERVISED_JUST_SIGNED_IN" desc="Warning message shown in the create-profile dialog when the custodian signed in recently, sync has not yet finished initializing, and so the creation process is likely to take extra time.">
          Creating your supervised user. This may take a few moments.
        </message>
        <message name="IDS_PROFILES_CREATE_SUPERVISED_NOT_SIGNED_IN_HTML" desc="Label for the (disabled) 'Supervised user' checkbox in the create-profile dialog when the current user is not signed in, containing a link to the sign in page.">
          <ph name="BEGIN_SIGN_IN_LINK">&lt;a is="action-link" id="create-profile-supervised-sign-in-link"&gt;</ph>Sign in<ph name="END_SIGN_IN_LINK">&lt;/a&gt;</ph> to control and view the websites this person visits.
        </message>
        <message name="IDS_PROFILES_CREATE_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>

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

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

Creating a supervised user does not create a Google Account, and their bookmarks, browsing history, and other preferences will not follow them to other devices with Chrome Sync.

After you create a new supervised user, you can manage their settings at any time, from any device, at <ph name="DISPLAY_LINK">$1</ph>. <ph name="BEGIN_LINK">&lt;a target="_blank" href="https://support.google.com/chrome/?p=ui_supervised_users&amp;hl=[GRITLANGCODE]"&gt;</ph>Learn more about supervised users<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>
        </message>
        <message name="IDS_SUPERVISED_USER_LEARN_MORE_TEXT" desc="Informative text describing the 'supervised user' feature in detail, shown when the 'Learn more' link is clicked in the 'Create User' page of the user manager. The HTML entities at the starts of the lines are a non-breaking space, a bullet, and another non-breaking space.">
          A supervised user can explore the web with your guidance. As the manager of a supervised user in Chrome, you can:

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

Creating a supervised user does not create a Google Account, and their bookmarks, browsing history, and other preferences will not follow them to other devices with Chrome Sync. After you create a new supervised user, you can manage their settings at any time, from any device, at <ph name="BEGIN_MANAGE_LINK">&lt;a target="_blank" href="$1"&gt;</ph><ph name="DISPLAY_LINK">$2</ph><ph name="END_MANAGE_LINK">&lt;/a&gt;</ph>.

For more information, visit our <ph name="BEGIN_LINK">&lt;a target="_blank" href="https://support.google.com/chrome/?p=ui_supervised_users&amp;hl=[GRITLANGCODE]"&gt;</ph>Help Center<ph name="END_LINK">&lt;/a&gt;</ph>.
        </message>
        <message name="IDS_LEGACY_SUPERVISED_USER_LEARN_MORE_DONE_BUTTON" desc="Text for the 'OK' button on the 'Learn more' dialog for the supervised user feature.">
          OK, got it
        </message>
        <message name="IDS_LEGACY_SUPERVISED_USER_CREATED_TITLE" desc="Title for the confirmation dialog that appears after a supervised user has been created.">
          <ph name="NEW_PROFILE_NAME">$1<ex>New User</ex></ph> is now a supervised user
        </message>
        <message name="IDS_LEGACY_SUPERVISED_USER_CREATED_TEXT" desc="Informative text for the confirmation dialog that appears after a supervised user has been created.">
          A supervised user named <ph name="NEW_PROFILE_NAME">$1<ex>New User</ex></ph> has been created. To set which websites this supervised user can view, you can configure restrictions and settings by visiting <ph name="BEGIN_LINK">&lt;a target="_blank" href="$3"&gt;</ph><ph name="DISPLAY_LINK">$4</ph><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_LEGACY_SUPERVISED_USER_CREATED_DONE_BUTTON" desc="Text for the button that closes the dialog without making any additional changes, on the supervised user creation confirmation dialog.">
          OK, got it
        </message>
        <message name="IDS_LEGACY_SUPERVISED_USER_CREATED_SWITCH_BUTTON" desc="Text for the button that opens a window for the new supervised user, on the supervised user creation confirmation dialog.">
          Switch to <ph name="NEW_PROFILE_NAME">$1<ex>New User</ex></ph>
        </message>

        <!-- Import existing supervised user dialog -->
        <message name="IDS_IMPORT_EXISTING_LEGACY_SUPERVISED_USER_TITLE" desc="Title for the dialog used to import existing supervised users. The dialog appears when the custodian clicks on 'Import existing supervised user' during the user creation flow. The dialog displays a list of existing supervised users for the custodian to choose from">
          Import an existing supervised user
        </message>
        <message name="IDS_IMPORT_EXISTING_LEGACY_SUPERVISED_USER_TEXT" desc="Text that instructs the user to choose one of the displayed supervised users to import to this device.">
          Choose a supervised user to add to this device.
        </message>
        <message name="IDS_IMPORT_NO_EXISTING_SUPERVISED_USER_TEXT" desc="Message shown to the custodian when they open the 'supervised user import' overlay but have no existing supervised users to import.">
          There are no supervised users to add to this device.
        </message>
        <message name="IDS_CREATE_NEW_LEGACY_SUPERVISED_USER_LINK" desc="The text for the link button that takes the user back from the dialog for importing an existing supervised user to the user creation dialog.">
          Create a new supervised user
        </message>
        <message name="IDS_IMPORT_EXISTING_LEGACY_SUPERVISED_USER_OK" desc="Text on the button to confirm importing an existing supervised user.">
          Import supervised user
        </message>
        <message name="IDS_LEGACY_SUPERVISED_USER_ALREADY_ON_THIS_DEVICE" desc="Text shown in the list of supervised users beside the name of a supervised user that already exists on the current device.">
          (already on this device)
        </message>
        <message name="IDS_LEGACY_SUPERVISED_USER_NO_EXISTING_ERROR" desc="Message shown to the custodian when they open the 'supervised user import' overlay but they have no existing supervised users to import.">
          Oops! Looks like you have no existing supervised users to import. Please create one or more from another device then you can import them here.
        </message>
        <message name="IDS_LEGACY_SUPERVISED_USER_IMPORT_LOCAL_ERROR" desc="Message shown when a local error (for example, a disk error) occurs during supervised user import.">
          The supervised user couldn't be imported. Please check your hard drive space and permissions and try again.
        </message>
        <message name="IDS_LEGACY_SUPERVISED_USER_IMPORT_REMOTE_ERROR" desc="Message shown when a remote error (for example, a network error) occurs during supervised user import.">
          The supervised user couldn't be imported. Please check your network connection and try again later.
        </message>
        <message name="IDS_LEGACY_SUPERVISED_USER_IMPORT_SIGN_IN_ERROR" desc="Message shown when a sign-in error occurs during supervised user import.">
          Looks like there's a problem with your credentials. Please make sure you're signed in properly and try again.
        </message>
        <message name="IDS_LEGACY_SUPERVISED_USER_SELECT_AVATAR_TITLE" desc="Title for the dialog used to select an avatar for a supervised user being imported. The dialog is shown only when the supervised user being imported has no Chrome synced avatar.">
          Select an avatar for this supervised user
        </message>
        <message name="IDS_LEGACY_SUPERVISED_USER_SELECT_AVATAR_TEXT" desc="Text that instructs the user to choose an avatar for the supervised user being imported.">
          Choose an avatar for this supervised user.
        </message>
        <message name="IDS_LEGACY_SUPERVISED_USER_SELECT_AVATAR_OK" desc="Text on the button to confirm the avatar selection for the supervised user being imported.">
          Ok, import
        </message>
      </if>

      <if expr="not is_android">
        <!-- User manager web UI -->
        <if expr="use_titlecase">
          <message name="IDS_ADD_USER_BUTTON" desc="Text shown on an add user button on login/locker screen">
            Add Person
          </message>
          <if expr="not chromeos">
            <message name="IDS_LOGIN_POD_USER_REMOVE_WARNING_BUTTON" desc="Text shown on a button that confirms removal of a user.">
              Remove This Person
            </message>
            <message name="IDS_CREATE_LEGACY_SUPERVISED_USER_MENU_LABEL" desc="Text shown on a menu option that creates a legacy supervised user.">
              Add Supervised Person
            </message>
          </if>
          <if expr="chromeos">
            <message name="IDS_LOGIN_POD_USER_REMOVE_WARNING_BUTTON" desc="Text shown on a button that confirms removal of a user.">
              Remove This User
            </message>
            <message name="IDS_CREATE_LEGACY_SUPERVISED_USER_MENU_LABEL" desc="Text shown on a menu option that creates a legacy supervised user.">
              Add Supervised User
            </message>
            <message name="IDS_SCREEN_LOCK_UNLOCK_USER_BUTTON" desc="Text shown on unlock user button on lock screen.">
              Unlock
            </message>
          </if>
          <message name="IDS_SCREEN_LOCK_SIGN_OUT">
            Sign out
          </message>
        </if>
        <if expr="not use_titlecase">
          <message name="IDS_ADD_USER_BUTTON" desc="Text shown on an add user button on login/locker screen">
            Add person
          </message>
          <if expr="not chromeos">
            <message name="IDS_LOGIN_POD_USER_REMOVE_WARNING_BUTTON" desc="Text shown on a button that confirms removal of a user.">
              Remove this person
            </message>
            <message name="IDS_CREATE_LEGACY_SUPERVISED_USER_MENU_LABEL" desc="Text shown on a menu option that creates a legacy supervised user.">
              Add supervised person
            </message>
          </if>
          <if expr="chromeos">
            <message name="IDS_LOGIN_POD_USER_REMOVE_WARNING_BUTTON" desc="Text shown on a button that confirms removal of a user.">
              Remove this user
            </message>
            <message name="IDS_CREATE_LEGACY_SUPERVISED_USER_MENU_LABEL" desc="Text shown on a menu option that creates a legacy supervised user.">
              Add supervised user
            </message>
            <message name="IDS_SCREEN_LOCK_UNLOCK_USER_BUTTON" desc="Text shown on unlock user button on lock screen.">
              Unlock
            </message>
          </if>
          <message name="IDS_SCREEN_LOCK_SIGN_OUT">
            Sign out
          </message>
        </if>
        <if expr="chromeos">
          <message name="IDS_LAUNCH_APP_BUTTON" desc="Text shown on the button that launches kiosk app from Chrome OS login UI">
            Launch app
          </message>
        </if>
        <message name="IDS_BROWSE_AS_GUEST_BUTTON" desc="Text shown on Chrome OS sign-in screen button that launches guest session. Should be short.">
          Browse as Guest
        </message>
        <message name="IDS_MORE_OPTIONS_BUTTON" desc="Text read but not shown on the [...] button on login screen">
          More Options
        </message>
        <message name="IDS_SCREEN_LOCK_ACTIVE_USER">
          Currently signed in
        </message>
        <if expr="chromeos">
          <message name="IDS_PIN_KEYBOARD_HINT_TEXT_PIN" desc="Text to display in the pin field for user pod when no pin has been entered.">
            PIN
          </message>
          <message name="IDS_PIN_KEYBOARD_HINT_TEXT_PIN_PASSWORD" desc="Text to display in the pin field for user pod when no pin has been entered, and passwords are allowed.">
            PIN or password
          </message>
          <message name="IDS_PIN_KEYBOARD_DELETE_ACCESSIBLE_NAME" desc="Text to be spoken when the focus is set to the delete button of the PIN keyboard.">
            Delete
          </message>
          <message name="IDS_FINGERPRINT_HINT_TEXT" desc="Text to display in the password field for user pod when user moves his mouse over the fingerprint icon.">
            Touch to sign in
          </message>
          <message name="IDS_FINGERPRINT_LOGIN_TEXT" desc="Text to display in the password field for user pod when user is trying to login with fingerprint.">
            Signing in...
          </message>
          <message name="IDS_FINGERPRINT_LOGIN_FAILED_TEXT" desc="Text to display in the password field for user pod when user failed to login with fingerprint.">
            Not recognized
          </message>
          <message name="IDS_FINGERPRINT_ICON_MESSAGE" desc="Message to display when user moves his mouse over the fingerprint icon in the user pod.">
            Place your finger on the fingerprint sensor to unlock the device.
          </message>
          <message name="IDS_LOGIN_ERROR_FINGERPRINT_MAX_ATTEMPT" desc="Couldn't sign in because fingerprint unlock has reached maximum attempt">
            Sorry, your fingerprint is still not recognized. Please enter your password.
          </message>
        </if>
        <message name="IDS_LOGIN_ERROR_AUTHENTICATING" desc="Couldn't sign in because password is invalid">
          Sorry, your password could not be verified. Please try again.
        </message>
        <message name="IDS_LOGIN_ERROR_AUTHENTICATING_OFFLINE" desc="Couldn't unlock because the password can't be validated locally and the user is offline">
          Sorry, your password could not be verified because you are offline.
        </message>
        <message name="IDS_LOGIN_POD_EMPTY_PASSWORD_TEXT" desc="Text to display in the password field for user pod when no password has been entered.">
          Password
        </message>
        <message name="IDS_LOGIN_POD_SIGNING_IN" desc="Text to display at the bottom of a user pod during signing in the user. The translation should be as short as possible because of limited UI space.">
          Signing in
        </message>
        <message name="IDS_LOGIN_POD_PASSWORD_FIELD_ACCESSIBLE_NAME" desc="Text to be spoken when the focus is set to the password field of a user pod on the sign-in screen.">
          Password for <ph name="USER_EMAIL_ADDRESS">$1<ex>john.doe@example.com</ex></ph>
        </message>
        <message name="IDS_LOGIN_POD_SUBMIT_BUTTON_ACCESSIBLE_NAME" desc="Text to be spoken when the focus is set to the submit button of a user pod on the sign-in screen.">
          Submit
        </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_LEGACY_SUPERVISED_USER_REMOVE_WARNING" desc="Text shown as a warning when attempting to remove legacy supervised user.">
          All files and local data associated with the supervised user will be permanently deleted once this supervised user is removed. Visited websites and settings for this supervised user may still be visible by the manager at <ph name="MANAGEMENT_URL">$1<ex>www.example.com</ex></ph>.
        </message>
        <message name="IDS_LOGIN_POD_NON_OWNER_USER_REMOVE_WARNING" desc="Text shown as a warning when attempting to remove non-owner user.">
          All files and local data associated with this user will be permanently deleted once this user is removed. $1 can still sign in later.
        </message>
        <if expr="not chromeos">
          <message name="IDS_USER_MANAGER_GO_GUEST_PROFILES_LOCKED_ERROR" desc="Error message displayed when trying to browser as guest while all profiles are locked.">
            Please unlock your profile before browsing as a guest.
          </message>
          <message name="IDS_USER_MANAGER_REMOVE_PROFILE_PROFILES_LOCKED_ERROR" desc="Error message displayed when trying to remove a profile while all profiles are locked.">
            Please unlock your profile before removing a person.
          </message>
          <message name="IDS_USER_MANAGER_ADD_PROFILE_PROFILES_LOCKED_ERROR" desc="Error message displayed when trying to add a profile while all profiles are locked.">
            Please unlock your profile before adding a person.
          </message>
          <message name="IDS_LOGIN_POD_USER_REMOVE_WARNING_NONSYNC" desc="Main text shown as a warning when attempting to remove an user.">
            This will permanently delete your browsing data from this device.
          </message>
          <message name="IDS_LOGIN_POD_USER_REMOVE_WARNING_HISTORY" desc="The title of a statistic (browsing history) shown inside a table below the warning text when attempting to remove an user. A number is displayed next to it.">
            Browsing history
          </message>
          <message name="IDS_LOGIN_POD_USER_REMOVE_WARNING_PASSWORDS" desc="The title of a statistic (passwords) shown inside a table below the warning text when attempting to remove an user. A number is displayed next to it.">
            Passwords
          </message>
          <message name="IDS_LOGIN_POD_USER_REMOVE_WARNING_BOOKMARKS" desc="The title of a statistic (bookmarks) shown inside a table below the warning text when attempting to remove an user. A number is displayed next to it.">
            Bookmarks
          </message>
          <message name="IDS_LOGIN_POD_USER_REMOVE_WARNING_AUTOFILL" desc="The title of a statistic (autofill) shown inside a table below the warning text when attempting to remove an user. A number is displayed next to it.">
            Autofill form data
          </message>
          <message name="IDS_LOGIN_POD_USER_REMOVE_WARNING_CALCULATING" desc="This is used in '...' of the warning message 'This will permanently delete ... items from the device.', which is shown when attempting to remove an user. Also shown next to the loading statistics below this warning. All occurrences of '...' will be eventually replaced by numbers when the statistics are loaded.">
            ...
          </message>
        </if>

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

      <!-- Aura strings -->
      <if expr="use_ash">
        <message name="IDS_LAUNCHER_CONTEXT_MENU_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_CONTEXT_MENU_PIN_ENFORCED_BY_POLICY" desc="Short text for the pin/unpin context menu to tell user the setting is enforced by policy of a shelf item">
          Pinned by administrator
        </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>

      <!-- Windows 8 Metro mode. -->
      <if expr="is_win">
        <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_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>
      </if>

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

      <!-- App List. -->
      <if expr="enable_app_list">
        <message name="IDS_APP_LIST_START_SPEECH_RECOGNITION" desc="Tooltip text for the button to start the speech recognition.">
          Click to start voice search
        </message>
        <message name="IDS_APP_LIST_HOTWORD_LISTENING" desc="Tooltip text for the mic button when it waits for the hotword.">
          Click, or say "Ok Google" to start voice search
        </message>
        <message name="IDS_SEARCH_BOX_HINT" desc="Hint text for the search box in app list window.">
          Search or type URL
        </message>
        <message name="IDS_SEARCH_BOX_HINT_FULLSCREEN" desc="Hint text for the search box in fullscreen app list window.">
          Search your device, apps, web...
        </message>
        <message name="IDS_APP_LIST_STATE_PEEKING" desc="Accessibility announcement for the app list when only suggested apps are shown.">
        Launcher, suggested apps
        </message>
        <message name="IDS_APP_LIST_STATE_HALF" desc="Accessibility announcement for the app list when search results are shown.">
        Launcher, search results
        </message>
        <message name="IDS_APP_LIST_STATE_FULLSCREEN_ALL_APPS" desc="Accessibility announcement for the app list when all apps are shown in fullscreen.">
        Launcher, all apps
        </message>
        <message name="IDS_APP_LIST_STATE_FULLSCREEN_SEARCH" desc="Accessibility announcement for the app list when search results are shown in fullscreen.">
        Launcher, fullscreen search results
        </message>
        <message name="IDS_SEARCH_BOX_HOTWORD_HINT" desc="Hint text for the search box in app list window when the hotword is enabled.">
          Search, or say "Ok Google"
        </message>
        <if expr="not use_titlecase">
          <message name="IDS_APP_LIST_CONTEXT_MENU_NEW_TAB" desc="Title text for the 'open new' context menu item of an app list item configured to open in a tab">
            New tab
          </message>
          <message name="IDS_APP_LIST_CONTEXT_MENU_NEW_WINDOW" desc="Title text for the 'open new' context menu item of an app list item configured to open windowed">
            New window
          </message>
          <message name="IDS_APP_LIST_CONTEXT_MENU_PIN" desc="Title text for the 'pin' context menu item of an app list item.">
            Pin to shelf
          </message>
          <message name="IDS_APP_LIST_CONTEXT_MENU_UNPIN" desc="Title text for the 'unpin' context menu item of an app list item.">
            Unpin from shelf
          </message>
          <message name="IDS_APP_LIST_CONTEXT_MENU_PIN_ENFORCED_BY_POLICY" desc="Short text for the pin/unpin context menu to tell user the setting is enforced by policy of an app list item">
            Pinned by administrator
          </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_APP_LIST_REMOVE_SHORTCUT"
                   desc="Title text for the 'remove' context menu item of an app list shortcut item.">
            Remove
          </message>
          <message name="IDS_APP_LIST_NEW_WINDOW" desc="The text label of the New Window menu item">
            New window
          </message>
          <message name="IDS_APP_LIST_NEW_INCOGNITO_WINDOW" desc="The text label of the New incognito window menu item">
            New incognito window
          </message>
          <message name="IDS_APP_LIST_OEM_DEFAULT_FOLDER_NAME" desc="The default name for OEM folders in the App Launcher">
            OEM folder
          </message>
        </if>
        <if expr="use_titlecase">
          <message name="IDS_APP_LIST_CONTEXT_MENU_NEW_TAB" desc="Title text for the 'open new' context menu item of an app list item configured to open in a tab">
            New Tab
          </message>
          <message name="IDS_APP_LIST_CONTEXT_MENU_NEW_WINDOW" desc="Title text for the 'open new' context menu item of an app list item configured to open windowed">
            New Window
          </message>
          <message name="IDS_APP_LIST_CONTEXT_MENU_PIN" desc="Title text for the 'pin' context menu item of an app list item.">
            Pin to Shelf
          </message>
          <message name="IDS_APP_LIST_CONTEXT_MENU_UNPIN" desc="Title text for the 'unpin' context menu item of an app list item.">
            Unpin from Shelf
          </message>
          <message name="IDS_APP_LIST_CONTEXT_MENU_PIN_ENFORCED_BY_POLICY" desc="Short text for the pin/unpin context menu to tell user the setting is enforced by policy of an app list item">
            Pinned by administrator
          </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_APP_LIST_REMOVE_SHORTCUT"
                   desc="Title text for the 'remove' context menu item of an app list shortcut item.">
            Remove
          </message>
          <message name="IDS_APP_LIST_NEW_WINDOW" desc="The text label of the New Window menu item">
            New Window
          </message>
          <message name="IDS_APP_LIST_NEW_INCOGNITO_WINDOW" desc="The text label of the New incognito window menu item">
            New Incognito Window
          </message>
          <message name="IDS_APP_LIST_OEM_DEFAULT_FOLDER_NAME" desc="The default name for OEM folders in the App Launcher">
            OEM Folder
          </message>
        </if>
      </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>

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

      <!-- Translated apps strings -->
      <message name="IDS_CHROME_SHORTCUT_DESCRIPTION" desc="Description for the Chrome app shortcut in the app launcher.">
        A fast, simple, and secure web browser, built for the modern web.
      </message>
      <message name="IDS_WEBSTORE_NAME_STORE" desc="Name for the WebStore app in the app launcher.">
        Web Store
      </message>

      <!-- Extension Storage Monitor notification strings -->
      <message name="IDS_EXTENSION_STORAGE_MONITOR_TITLE" desc="The title of the notification when high disk usage is detected for an app or extension.">
        High disk usage detected
      </message>
      <message name="IDS_EXTENSION_STORAGE_MONITOR_TEXT" desc="The message of the notification when high disk usage is detected for an app or extension.">
        <ph name="NAME">$1<ex>Google Docs</ex></ph> is using <ph name="USAGE">$2<ex>500</ex></ph> MB of disk space.
      </message>
      <message name="IDS_EXTENSION_STORAGE_MONITOR_BUTTON_DISMISS_APP" desc="Caption for the button to suppress high disk usage notifications for an app.">
        Don't warn again for this app
      </message>
      <message name="IDS_EXTENSION_STORAGE_MONITOR_BUTTON_DISMISS_EXTENSION" desc="Caption for the button to suppress high disk usage notifications for an extension.">
        Don't warn again for this extension
      </message>
      <message name="IDS_EXTENSION_STORAGE_MONITOR_BUTTON_UNINSTALL_APP" desc="Caption for the button to uninstall an app when high disk usage is detected.">
        Remove app
      </message>
      <message name="IDS_EXTENSION_STORAGE_MONITOR_BUTTON_UNINSTALL_EXTENSION" desc="Caption for the button to uninstall an extension when high disk usage is detected.">
        Remove extension
      </message>

      <!-- Desktop media picker UI for Desktop Capture API -->
      <if expr="not use_titlecase">
        <message name="IDS_DESKTOP_MEDIA_PICKER_TITLE" desc="Title for the window picker dialog shown when desktop capture is requested by an app.">
          Share your screen
        </message>
      </if>
      <if expr="use_titlecase">
        <message name="IDS_DESKTOP_MEDIA_PICKER_TITLE" desc="Title for the window picker dialog shown when desktop capture is requested by an app.">
          Share Your Screen
        </message>
      </if>
      <message name="IDS_DESKTOP_MEDIA_PICKER_TEXT" desc="Text for the window picker dialog shown when desktop capture is requested by an app to be used by the app itself.">
        <ph name="APP_NAME">$1<ex>Google Hangouts</ex></ph> wants to share the contents of your screen. Choose what you'd like to share.
      </message>
      <message name="IDS_DESKTOP_MEDIA_PICKER_TEXT_DELEGATED" desc="Text for the window picker dialog shown when desktop capture is requested by an app to be used by a tab.">
        <ph name="APP_NAME">$1<ex>Google Hangouts</ex></ph> wants to share the contents of your screen with <ph name="TARGET_NAME">$2<ex>https://google.com</ex></ph>. Choose what you'd like to share.
      </message>
      <message name="IDS_DESKTOP_MEDIA_PICKER_AUDIO_SHARE" desc="Text for the checkbox on the window picker dialog, when checked, audio will be shared, otherwise just video sharing">
        Share audio
      </message>
      <message name="IDS_DESKTOP_MEDIA_PICKER_SOURCE_TYPE_SCREEN" desc="Text for the button on the window picker dialog, clicking which takes one to full screen sharing">
        Your Entire Screen
      </message>
      <message name="IDS_DESKTOP_MEDIA_PICKER_SOURCE_TYPE_WINDOW" desc="Text for the button on the window picker dialog, clicking which takes one to window sharing">
        Application Window
      </message>
      <message name="IDS_DESKTOP_MEDIA_PICKER_SINGLE_SCREEN_NAME" desc="Name for screens in the desktop media picker UI when there is only one monitor.">
        Entire screen
      </message>
      <message name="IDS_DESKTOP_MEDIA_PICKER_MULTIPLE_SCREEN_NAME" desc="Name for screens in the desktop media picker UI when there are multiple monitors.">
        {SCREEN_INDEX, plural, =1{Screen #} other{Screen #}}
      </message>
      <!-- Local Device Discovery display strings -->
      <if expr="enable_service_discovery">
        <message name="IDS_LOCAL_DISCOVERY_SERVICE_REGISTER" desc="Name for button to register device in the Cloud">
          Register
        </message>
        <message name="IDS_LOCAL_DISCOVERY_MANAGE_DEVICE" desc="Name for button to manage registered device">
          Manage
        </message>
        <message name="IDS_LOCAL_DISCOVERY_NOTIFICATION_TITLE_PRINTER" desc="Title of notification for one or more new printer showing up on your network. [ICU Syntax]">
        {NUM_PRINTER, plural,
         =1 {New printer on your network}
         other {New printers on your network}}
        </message>
        <message name="IDS_LOCAL_DISCOVERY_NOTIFICATION_CONTENTS_PRINTER" desc="Contents of notification for one or more new printers showing up on your network. [ICU Syntax]">
        {NUM_PRINTER, plural,
          =1 {Add the printer to Google Cloud Print so you can print from anywhere.}
          other {Add # printers to Google Cloud Print so you can print from anywhere.}}
        </message>
        <message name="IDS_LOCAL_DISCOVERY_SERVICE_NAME_PRINTER" desc="Display name for notification for a new printer showing up on your network">
          Google Cloud Print
        </message>
        <message name="IDS_LOCAL_DISCOVERY_NOTIFICATION_BUTTON_PRINTER" desc="Message on registration button for printer">
          Add to Cloud Print
        </message>
        <message name="IDS_LOCAL_DISCOVERY_DEVICES_PAGE_TITLE" desc="Title for devices page">
          Devices
        </message>
        <message name="IDS_LOCAL_DISCOVERY_REGISTER_PRINTER_CONFIRMATION" desc="Confirmation for registering a printer to Google Cloud Print">
          Do you wish to register the printer <ph name="PRINTER_NAME">$1</ph> to Google Cloud Print?
        </message>
        <message name="IDS_LOCAL_DISCOVERY_REGISTER_DEVICE_CONFIRMATION" desc="Confirmation for registering a device to Google Cloud Devices">
          Do you wish to register <ph name="DEVICE_NAME">$1</ph> to Google Cloud Devices?
        </message>
        <message name="IDS_LOCAL_DISCOVERY_REGISTER_USER" desc="Label for user picker in registration dialog">
          User:
        </message>
        <message name="IDS_LOCAL_DISCOVERY_CONFIRM_REGISTRATION" desc="Title for 'confirm registration' page">
          Confirm registration
        </message>
        <message name="IDS_LOCAL_DISCOVERY_ADDING_PRINTER" desc="Title for 'adding printer' page">
          Adding printer...
        </message>
        <message name="IDS_LOCAL_DISCOVERY_ADDING_DEVICE" desc="Title for 'adding device' page">
          Adding device...
        </message>
        <message name="IDS_LOCAL_DISCOVERY_ERROR_OCURRED" desc="Title for error page">
          Could not complete registration
        </message>
        <message name="IDS_LOCAL_DISCOVERY_ADDING_PRINTER_MESSAGE1" desc="Message for adding printer number 1">
          You must confirm registration on your printer to finish this process - check it now.
        </message>
        <message name="IDS_LOCAL_DISCOVERY_ADDING_PRINTER_MESSAGE2" desc="Message for adding printer number 2">
          Adding the printer to your account - this may take a moment...
        </message>
        <message name="IDS_LOCAL_DISCOVERY_ADDING_DEVICE_MESSAGE1" desc="Message for adding device number 1">
          Adding the device to your account - this may take a moment...
        </message>
        <message name="IDS_LOCAL_DISCOVERY_CONFIRM_CODE_MESSAGE" desc="Message for confirming device security code">
          Make sure the device is showing the same code.
        </message>
        <message name="IDS_LOCAL_DISCOVERY_CONFIRM_CODE" desc="button name to confirming security code">
          Confirm
        </message>
        <message name="IDS_LOCAL_DISCOVERY_ERROR_OCURRED_MESSAGE" desc="Message for error page">
          An error has occurred. Please check your printer and try again.
        </message>
        <message name="IDS_LOCAL_DISCOVERY_NO_DESCRIPTION_PRINTER" desc="Description for printer with an empty description">
          Printer on Google Cloud Print
        </message>
        <message name="IDS_LOCAL_DISCOVERY_NO_DESCRIPTION_DEVICE" desc="Description for device with an empty description">
          Device on Google Cloud Devices
        </message>
        <message name="IDS_LOCAL_DISCOVERY_PRINTERS_ON_NETWORK_ZERO" desc="'Zero' case for number indicator for locally discoverable printers">
          No other available devices.
        </message>
        <message name="IDS_LOCAL_DISCOVERY_PRINTERS_ON_NETWORK_ONE" desc="'One' case for number indicator for locally discoverable printers">
          One other available device.
        </message>
        <message name="IDS_LOCAL_DISCOVERY_PRINTERS_ON_NETWORK_MULTIPLE" desc="General case for number indicator for locally discoverable printers">
          <ph name="NUM_PRINTERS">$1</ph> other available devices.
        </message>
        <message name="IDS_LOCAL_DISCOVERY_LOADING" desc="Loading for local discovery screens">
          Loading
        </message>
        <message name="IDS_LOCAL_DISCOVERY_ADD_PRINTERS" desc="Text on button to add printers to cloud print">
          Add Devices
        </message>
        <message name="IDS_LOCAL_DISCOVERY_NO_PRINTERS_ON_NETWORK_EXPLANATION" desc="Explanatory text in case there are no printers to register on the network">
          Looks like there are no devices available to register on the network. If your device is on and connected to the internet, try registering it using instructions in its instruction manual.
        </message>
        <message name="IDS_LOCAL_DISCOVERY_CLOUD_DEVICES_UNAVAILABLE" desc="Explanatory text in case the list of cloud devices can't be retrieved">
          Could not load devices.
        </message>
        <message name="IDS_LOCAL_DISCOVERY_RETRY_LOAD_CLOUD_DEVICES" desc="Text on button to retry loading cloud devices">
          Try again
        </message>
        <message name="IDS_LOCAL_DISCOVERY_CLOUD_DEVICES_NEED_LOGIN" desc="Text on login promo for local discovery page">
          You need to sign in to Chrome to see your devices
        </message>
        <message name="IDS_LOCAL_DISCOVERY_REGISTER_NEED_LOGIN" desc="Text on login promo for local discovery registration">
          You need to sign in to Chrome to register new devices
        </message>
        <message name="IDS_LOCAL_DISCOVERY_CLOUD_DEVICES_LOGIN" desc="Text on login button for local discovery page">
          sign in
        </message>
        <message name="IDS_LOCAL_DISCOVERY_DEVICES_PAGE_BUTTON" desc="Text on button to take user to devices page">
          Manage
        </message>
        <message name="IDS_LOCAL_DISCOVERY_AVAILABLE_DEVICES" desc="Title for 'available devices' section in devices page">
          New devices
        </message>
        <message name="IDS_LOCAL_DISCOVERY_MY_DEVICES" desc="Title for 'my devices' section in devices page">
          My devices
        </message>
        <message name="IDS_LOCAL_DISCOVERY_CLOUD_PRINT_CONNECTOR_DISABLED_LABEL" desc="In local discovery page: The label of the cloud print setup button when it hasn't been set up yet.">
          You can add classic printers connected to your computer to <ph name="CLOUD_PRINT_NAME">$1<ex>Google Cloud Print</ex></ph>.
        </message>
        <message name="IDS_LOCAL_DISCOVERY_CONNECTOR_SECTION" desc="In local discovery page: Title of cloud print connector section.">
          Classic printers
        </message>
        <message name="IDS_LOCAL_DISCOVERY_NOTIFICATIONS_ENABLE_CHECKBOX_LABEL" desc="Label for notificatiosn-enable checkbox">
          Show notifications when new printers are detected on the network
        </message>
        <message name="IDS_LOCAL_DISCOVERY_NOTIFICATIONS_DISABLE_BUTTON_LABEL" desc="Label for button disabling local device notifications">
          Don't show this again
        </message>
      </if>
      <message name="IDS_LOCAL_DISCOVERY_REGISTER_CANCELED_ON_PRINTER" desc="Label for when registration is canceled on the printer side">
        Printer registration has been canceled.
      </message>
      <message name="IDS_LOCAL_DISCOVERY_REGISTER_TIMEOUT_ON_PRINTER" desc="Label for when registration has timed out on the printer side">
        Printer registration has timed out. In order to register a printer, you must confirm registration on the printer.
      </message>

      <!--Tab alert tooltip strings-->
      <message name="IDS_TOOLTIP_TAB_ALERT_STATE_MEDIA_RECORDING" desc="Extra tool tip text, when the tab is recording media.">
        This tab is using your camera or microphone.
      </message>
      <message name="IDS_TOOLTIP_TAB_ALERT_STATE_TAB_CAPTURING" desc="Extra tool tip text, when the tab content is being captured.">
        This tab's content is being shared.
      </message>
      <message name="IDS_TOOLTIP_TAB_ALERT_STATE_AUDIO_PLAYING" desc="Extra tool tip text, when the tab is playing audio.">
        This tab is playing audio.
      </message>
      <message name="IDS_TOOLTIP_TAB_ALERT_STATE_AUDIO_MUTING" desc="Extra tool tip text, when all tab audio output is muted.">
        This tab's audio is being muted.
      </message>
      <message name="IDS_TOOLTIP_TAB_ALERT_STATE_BLUETOOTH_CONNECTED" desc="Extra tool tip text, when tab is connected to a Bluetooth device.">
        This tab is connected to a Bluetooth Device.
      </message>
      <message name="IDS_TOOLTIP_TAB_ALERT_STATE_USB_CONNECTED" desc="Extra tool tip text, when tab is connected to a USB device.">
        This tab is connected to a USB device.
      </message>

      <!-- Tab accessibility labels -->
      <message name="IDS_TAB_AX_LABEL_MEDIA_RECORDING_FORMAT" desc="Accessibility label text, when the tab is recording media. Example: 'Google Hangouts - Camera or microphone recording'">
        <ph name="WINDOW_TITLE">$1<ex>Google Hangouts</ex></ph> - Camera or microphone recording
      </message>
      <message name="IDS_TAB_AX_LABEL_TAB_CAPTURING_FORMAT" desc="Accessibility label text, when the tab content is being captured and shared using screen sharing. Example: 'Google Hangouts - Tab content shared'">
        <ph name="WINDOW_TITLE">$1<ex>Google Hangouts</ex></ph> - Tab content shared
      </message>
      <message name="IDS_TAB_AX_LABEL_AUDIO_PLAYING_FORMAT" desc="Accessibility label text, when the tab is playing audio. Example: 'Google Play Music - Audio playing'">
        <ph name="WINDOW_TITLE">$1<ex>Google Play Music</ex></ph> - Audio playing
      </message>
      <message name="IDS_TAB_AX_LABEL_AUDIO_MUTING_FORMAT" desc="Accessibility label text, when all tab audio output is muted. Example: 'Google Play Music - Audio muted'">
        <ph name="WINDOW_TITLE">$1<ex>Google Play Music</ex></ph> - Audio muted
      </message>
      <message name="IDS_TAB_AX_LABEL_BLUETOOTH_CONNECTED_FORMAT" desc="Accessibility label text, when a tab is connected to and has access to a Bluetooth device. Example: 'Google Photos - Bluetooth device connected'">
        <ph name="WINDOW_TITLE">$1<ex>Google Photos</ex></ph> - Bluetooth device connected
      </message>
      <message name="IDS_TAB_AX_LABEL_USB_CONNECTED_FORMAT" desc="Accessibility label text, when a tab is connected to a USB device. Example: 'Google Photos - USB device connected'">
        <ph name="WINDOW_TITLE">$1<ex>Google Photos</ex></ph> - USB device connected
      </message>
      <message name="IDS_TAB_AX_LABEL_NETWORK_ERROR_FORMAT" desc="Accessibility label text, when tab has encountered a network error such as being disconnected from the internet. Example: 'www.google.com - Network error'">
        <ph name="WINDOW_TITLE">$1<ex>www.google.com</ex></ph> - Network error
      </message>
      <message name="IDS_TAB_AX_LABEL_CRASHED_FORMAT" desc="Accessibility label text, when a tab has crashed. Example: 'Google Search - Crashed'">
        <ph name="WINDOW_TITLE">$1<ex>Google Search</ex></ph> - Crashed
      </message>

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

      <!-- Accessibility alerts -->
      <if expr="chromeos">
        <message name="IDS_A11Y_ALERT_WINDOW_NEEDED" desc="Alert sent to the accessibility api when the user attempts a keyboard command that requires a window to work.">
          Command unavailable. Press control-N to open a new window.
        </message>
        <message name="IDS_A11Y_ALERT_WINDOW_OVERVIEW_MODE_ENTERED" desc="The accessible text read when the user enters window overview mode in Ash.">
          Entered window overview mode
        </message>
        <message name="IDS_A11Y_ALERT_CAPS_OFF" desc="Alert sent to the accessibility api when caps lock is turned off.">
          caps lock off
        </message>
        <message name="IDS_A11Y_ALERT_CAPS_ON" desc="Alert sent to the accessibility api when caps lock is turned on.">
          caps lock on
        </message>
        <message name="IDS_A11Y_ALERT_SCREEN_OFF" desc="Alert sent to the accessibility api when screen is turned off.">
          screen off
        </message>
        <message name="IDS_A11Y_ALERT_SCREEN_ON" desc="Alert sent to the accessibility api when screen is turned on.">
          screen on
        </message>
      </if>

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

      <!-- Push messaging strings -->
      <message name="IDS_PUSH_MESSAGES_TAB_LABEL" desc="Label for the push messages section on Content Settings dialog">
        Push Messages
      </message>
      <message name="IDS_PUSH_MESSSAGING_ALLOW_RADIO" desc="A radio button in Content Settings dialog to allow a site to send push messages.">
        Allow all sites to send background push messages
      </message>
      <message name="IDS_PUSH_MESSSAGING_ASK_RADIO" desc="A radio button in Content Settings dialog to allow a site to query the permision send push messages.">
        Ask me when a site wants to send me push messages (recommended)
      </message>
      <message name="IDS_PUSH_MESSSAGING_BLOCK_RADIO" desc="A radio button in Content Settings dialog to deny a site to send push messages.">
        Do not allow any sites to send push messages
      </message>
      <message name="IDS_PUSH_MESSAGING_GENERIC_NOTIFICATION_BODY" desc="Body text of an auto-generated notification informing the user that the site may have received an update in the background, in case the site did not satisfy the visible notification requirement itself.">
        This site has been updated in the background.
      </message>
      <message name="IDS_NOTIFICATIONS_BACKGROUND_SERVICE_NAME" desc="The name of the Notifications service that can run in the background">
        Notifications
      </message>

      <!-- Easy Unlock strings -->
      <!-- Strings for the Easy Unlock promo notification -->
      <message name="IDS_EASY_UNLOCK_SETUP_NOTIFICATION_TITLE" desc="Title for the notification inviting the user to use the Easy Unlock feature.">
        Automatically unlock your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>
      </message>
      <message name="IDS_EASY_UNLOCK_SETUP_NOTIFICATION_MESSAGE" desc="The body text for the notification inviting the user to use the Easy Unlock feature.">
        Try Smart Lock to unlock your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph> without a password when your phone is nearby.
      </message>
      <message name="IDS_EASY_UNLOCK_SETUP_NOTIFICATION_BUTTON_TITLE" desc="The text to show on the button in the notification inviting the user to use the Easy Unlock feature.">
        Start setup
      </message>
      <!-- Strings for notification shown when the Chromebook is added to Easy Unlock -->
      <message name="IDS_EASY_UNLOCK_CHROMEBOOK_ADDED_NOTIFICATION_TITLE" desc="Title for notification shown when this Chromebook is added to Easy Unlock as an additional Easy Unlock device.">
        Smart Lock is turned on
      </message>
      <message name="IDS_EASY_UNLOCK_CHROMEBOOK_ADDED_NOTIFICATION_MESSAGE" desc="Message for the notification shown when this Chromebook is added to Easy Unlock as an additional Easy Unlock device.">
        Next time, your phone will unlock your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>. Turn off Smart Lock in Settings.
      </message>
      <message name="IDS_EASY_UNLOCK_CHROMEBOOK_ADDED_NOTIFICATION_ABOUT_BUTTON" desc="Label of a button on the new chrome notification to bring user to smart lock settings.">
         Change settings
      </message>
      <!-- Strings for the phone changed (aka old Chromebook setup) notification -->
      <message name="IDS_EASY_UNLOCK_PAIRING_CHANGED_NOTIFICATION_TITLE" desc="Title for notification shown when the paired phone is changed.">
        Smart Lock phone changed
      </message>
      <message name="IDS_EASY_UNLOCK_PAIRING_CHANGED_NOTIFICATION_MESSAGE" desc="Message for notification shown when the paired phone is changed.">
        Next time, a new phone will unlock this <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>. Turn off Smart Lock in Settings.
      </message>
      <message name="IDS_EASY_UNLOCK_PAIRING_CHANGED_NOTIFICATION_UPDATE_BUTTON" desc="Label of a button on the notification shown when the paired phone is changed to update Smart lock now.">
        Update now
      </message>
      <message name="IDS_EASY_UNLOCK_NOTIFICATION_LEARN_MORE_BUTTON" desc="Label of a button on the notification to show Smart lock settings.">
        Change settings
      </message>
      <!-- Strings for the phone change applied notification -->
      <message name="IDS_EASY_UNLOCK_PAIRING_CHANGE_APPLIED_NOTIFICATION_TITLE" desc="Title for notification shown when the pairing change is applied.">
        Phone change updated
      </message>
      <message name="IDS_EASY_UNLOCK_PAIRING_CHANGE_APPLIED_NOTIFICATION_MESSAGE" desc="Message for notification shown when the pairing change is applied.">
        Your <ph name="PHONE_NAME">$1<ex>Moto X</ex></ph> can now unlock this <ph name="DEVICE_TYPE">$2<ex>Chromebook</ex></ph> too.
      </message>

      <!-- Strings for the Easy Unlock setup dialog -->
      <!-- Step 1: Intro -->
      <message name="IDS_EASY_UNLOCK_SETUP_INTRO_HEADER_TITLE" desc="The text to show as the header title of the Easy Unlock dialog during the first, introductory step.">
       Set up Smart Lock for your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>
      </message>
      <message name="IDS_EASY_UNLOCK_SETUP_INTRO_HEADER_TEXT" desc="The text to show as the header body text of the Easy Unlock dialog during the first, introductory step. Note that the &lt;a&gt; element surrounds a link; these HTML elements should be preserved in the translation.">
       Make sure your phone is nearby. To find your phone, Bluetooth will be turned on for all devices that have your account. &lt;a&gt;Learn more&lt;/a&gt;
      </message>
      <message name="IDS_EASY_UNLOCK_SETUP_INTRO_FIND_PHONE_BUTTON_LABEL" desc="The text to show as the 'Find phone' button label in the Easy Unlock dialog. This button is visible during the first, introductory step.">
        Find your phone
      </message>
      <message name="IDS_EASY_UNLOCK_SETUP_INTRO_FINDING_PHONE_BUTTON_LABEL" desc="The text to show as the 'Finding phone...' button label in the Easy Unlock dialog. This button is visible during the first, introductory step.">
        Finding your phone
      </message>
      <message name="IDS_EASY_UNLOCK_SETUP_INTRO_RETRY_FIND_PHONE_BUTTON_LABEL" desc="The text to show as a label for the button in Easy Unlock setup dialog when the setup app fails to find any phones to be used. Finding a phone is the first setup step. Clicking the button restarts the setup flow.">
        Retry
      </message>
      <message name="IDS_EASY_UNLOCK_SETUP_INTRO_CLOSE_FIND_PHONE_BUTTON_LABEL" desc="The text to show as a label for the button in Easy Unlock setup dialog when the setup app finds only phones with out-of-date software. Finding a phone is the first setup step. Clicking the button closes the setup dialog.">
        Close
      </message>
      <message name="IDS_EASY_UNLOCK_SETUP_INTRO_HOW_IS_THIS_SECURE_LINK_TEXT" desc="The displayed text for the link that explains how the Easy Unlock feature is secure. This link is visible during the first, introductory step of the Easy Unlock setup dialog.">
        How this is secure
      </message>
      <!-- Step 1.5: "Secure this phone to continue" -->
      <message name="IDS_EASY_UNLOCK_SETUP_SECURE_PHONE_HEADER_TITLE" desc="The text to show as the header title of the Easy Unlock dialog after a phone has been found but is not secured by a lock screen.">
        Set a screen lock for safety
      </message>
      <message name="IDS_EASY_UNLOCK_SETUP_SECURE_PHONE_HEADER_TEXT" desc="The text to show as the header body text of the Easy Unlock dialog after a suitable phone has been found but is not secured by a lock screen. Note that the &lt;a&gt; element surrounds a link; these HTML elements should be preserved in the translation.">
        The phone you used to unlock your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph> needs a screen lock for security. Usually, that’s a PIN, pattern, or password. Already have a screen lock? Select Check again to verify and continue setup.
      </message>
      <message name="IDS_EASY_UNLOCK_SETUP_SECURE_PHONE_BUTTON_LABEL" desc="The text to show as the 'How to secure the phone' button label in the Easy Unlock dialog. This button is visible during step 1.5, if the user is prompted to secure their phone.">
        Set a Screen Lock
      </message>
      <message name="IDS_EASY_UNLOCK_SETUP_SECURE_PHONE_LINK_TEXT" desc="The text to show for the link to check the phone again, after the user has enabled a secure lock screen. This button is visible during the 1.5th step of the Easy Unlock dialog, when the user is prompted to secure their phone.">
        Check again
      </message>
      <!-- Step 2: Phone Found -->
      <message name="IDS_EASY_UNLOCK_SETUP_FOUND_PHONE_HEADER_TITLE" desc="The text to show as the header title of the Easy Unlock dialog during the second step, after a suitable phone has been found.">
        Choose a phone to unlock your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>
      </message>
      <message name="IDS_EASY_UNLOCK_SETUP_FOUND_PHONE_HEADER_TEXT" desc="The text to show as the header body text of the Easy Unlock dialog during the second step, after a suitable phone has been found. Note that the &lt;a&gt; element surrounds a link; these HTML elements should be preserved in the translation.">
        You’ll get a notification on this phone so keep the phone nearby.
      </message>
      <!-- TODO(isherman): Remove this duplicate string once proximity work is completed. -->
      <message name="IDS_EASY_UNLOCK_SETUP_FOUND_PHONE_USE_THIS_PHONE_BUTTON_LABEL" desc="The text to show as the 'Use this phone' button label in the Easy Unlock dialog. This button is visible during the second step, after a suitable phone is found.">
        Use this phone
      </message>
      <message name="IDS_EASY_UNLOCK_SETUP_FOUND_PHONE_DEVICE_FORMATTED_BUTTON_LABEL" desc="The text to show as the 'Use [insert_phone_name]' button label in the Easy Unlock dialog. This button is visible during the second step, after a suitable phone is found.">
        <ph name="PHONE_NAME">$1<ex>Nexus 6</ex></ph>
      </message>
      <message name="IDS_EASY_UNLOCK_SETUP_FOUND_PHONE_SWITCH_PHONE_LINK_LABEL" desc="The text to show for the link to switch phones in the Easy Unlock dialog. This button is visible during the second step, after serveral suitable phones are found.">
        Show another phone
      </message>
      <message name="IDS_EASY_UNLOCK_SETUP_PAIRING_PHONE_FAILED_BUTTON_LABEL" desc="Text to show as a label for the button in Easy Unlock setup dialog when pairing Chrome with the phone detected during setup fails. Pairing is the second step in the setup. Clicking the button restarts the whole setup flow.">
        Restart
      </message>
      <!-- Step 2.5: "Recommended: Set up Smart Lock for Android" -->
      <message name="IDS_EASY_UNLOCK_SETUP_ANDROID_SMART_LOCK_HEADER_TITLE" desc="The text to show as the header title of the Easy Unlock dialog to encourage the user to enable Smart Lock for Android if it is not currently enabled.">
        Set up Smart Lock for Android
      </message>
      <message name="IDS_EASY_UNLOCK_SETUP_ANDROID_SMART_LOCK_HEADER_TEXT" desc="The text to show as the header body text of the Easy Unlock dialog to encourage the user to enable Smart Lock for Android if it is not currently enabled. Note that the &lt;a&gt; element surrounds a link; these HTML elements should be preserved in the translation.">
        Update your phone's screen lock so it turns off when you're nearby. You'll unlock the phone faster, and enjoy a better Smart Lock experience on your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>.
      </message>
      <message name="IDS_EASY_UNLOCK_SETUP_ANDROID_SMART_LOCK_DONE_BUTTON_LABEL" desc="The text to show as the button label in the Easy Unlock dialog step for encouraging the user to enable Smart Lock for Android. Clicking this button advances the dialog to step 3.">
        Next
      </message>
      <message name="IDS_EASY_UNLOCK_SETUP_ANDROID_SMART_LOCK_ABOUT_LINK_TEXT" desc="The text to show as the link text to access the Smart Lock for Android help article.">
        Learn more
      </message>
      <!-- Step 3: "You're all set" -->
      <message name="IDS_EASY_UNLOCK_SETUP_COMPLETE_HEADER_TITLE" desc="The text to show as the header title of the Easy Unlock dialog during the penultimate step, confirming success.">
        Smart Lock is all set
      </message>
      <message name="IDS_EASY_UNLOCK_SETUP_COMPLETE_HEADER_TEXT" desc="The text to show as the header body text of the Easy Unlock dialog during the penultimate step, confirming success.">
        Your phone also unlocks your other <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>s because they are automatically synced.
      </message>
      <message name="IDS_EASY_UNLOCK_SETUP_COMPLETE_TRY_IT_OUT_BUTTON_LABEL" desc="The text to show as the 'Try it out' button label in the Easy Unlock dialog. This button is visible during the penultimate step, once the Easy Unlock setup succeeds.">
        Try Smart Lock
      </message>
      <message name="IDS_EASY_UNLOCK_SETUP_COMPLETE_SETTINGS_LINK_TEXT" desc="The text to show as the link text to access Easy Unlock settings. This button is visible during the penultimate step, once the Easy Unlock setup succeeds.">
        Settings
      </message>
      <!-- Step 4: Post Lock Screen -->
      <message name="IDS_EASY_UNLOCK_SETUP_POST_LOCK_DISMISS_BUTTON_LABEL" desc="The text to show as the button label in the Easy Unlock dialog during the post lockscreen step. Clicking this button dismisses the dialog.">
        Done
      </message>
      <!-- Error strings for the Easy Unlock setup dialog -->
      <message name="IDS_EASY_UNLOCK_LEARN_MORE_LINK_TITLE" desc="Text to use for links that point to more information about Easy Unlock in the easy unlock setup dialog.">
        Learn more
     </message>
      <message name="IDS_EASY_UNLOCK_SETUP_ERROR_BLUETOOTH_UNAVAILBLE" desc="The error message to display when the user's Chromebook might not have Bluetooth functionality during Easy Unlock setup. Note that the &lt;a&gt; element surrounds a link; these HTML elements should be preserved in the translation.">
        Can’t find your phone. Make sure your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>'s Bluetooth is turned on. &lt;a&gt;Learn more&lt;/a&gt;
      </message>
      <message name="IDS_EASY_UNLOCK_SETUP_ERROR_OFFLINE" desc="The error message to display when the user's Chromebook appears to be offline during Easy Unlock setup. Note that the &lt;a&gt; element surrounds a link; these HTML elements should be preserved in the translation.">
        Can’t find your phone. Make sure your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph> is connected to Wi-Fi or a mobile network. &lt;a&gt;Learn more&lt;/a&gt;
      </message>
      <message name="IDS_EASY_UNLOCK_SETUP_ERROR_REMOTE_SOFTWARE_OUT_OF_DATE" desc="The error message to display when the user's phone software is too old for compatibility with Easy Unlock. Note that the &lt;a&gt; element surrounds a link; these HTML elements should be preserved in the translation.">
        Found your <ph name="PHONE_TYPE">$1<ex>LGE Nexus 5</ex></ph>. But Smart Lock only works on devices with Android 5.0 and up. &lt;a&gt;Learn more&lt;/a&gt;
      </message>
      <message name="IDS_EASY_UNLOCK_SETUP_ERROR_REMOTE_SOFTWARE_OUT_OF_DATE_GENERIC" desc="The generic error message to display when the user's phone software is too old for compatibility with Easy Unlock. This is only shown when the user's phone type is not known. Note that the &lt;a&gt; element surrounds a link; these HTML elements should be preserved in the translation.">
        Found your phone. But Smart Lock only works on devices with Android 5.0 and up. &lt;a&gt;Learn more&lt;/a&gt;
      </message>
      <message name="IDS_EASY_UNLOCK_SETUP_ERROR_FINDING_PHONE" desc="A generic catch-all error message to display when something goes wrong after the user clicks 'Find my phone' during Easy Unlock setup. Note that the &lt;a&gt; element surrounds a link; these HTML elements should be preserved in the translation.">
        Can’t find your phone. Make sure you’re using a compatible Android phone that’s turned on and handy. &lt;a&gt;Learn more&lt;/a&gt;
      </message>
      <message name="IDS_EASY_UNLOCK_SETUP_ERROR_SYNC_PHONE_STATE_FAILED" desc="The error message to display when the Chromebook fails to sync the phone's state.">
        Smart Lock is currently unavailable. Please try again later.
      </message>
      <message name="IDS_EASY_UNLOCK_SETUP_ERROR_CONNECTING_TO_PHONE" desc="A generic catch-all error message to display when something goes wrong after the user clicks 'Use this phone' during Easy Unlock setup. Note that the &lt;a&gt; element surrounds a link; these HTML elements should be preserved in the translation.">
        Can't connect to your phone. Make sure you’re using a compatible Android phone that is turned on and handy. &lt;a&gt;Learn more&lt;/a&gt;
      </message>
      <!-- Easy Unlock strings shown on the lock screen -->
      <message name="IDS_EASY_UNLOCK_SCREENLOCK_TOOLTIP_NO_BLUETOOTH" desc="Tooltip for an icon on a user's lock screen pod shown by Easy Unlock when the Chromebook doesn't have Bluetooth enabled.">
        Bluetooth is off on this <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>. Enter your password, and turn on Bluetooth.
      </message>
      <message name="IDS_EASY_UNLOCK_SCREENLOCK_TOOLTIP_NO_PHONE" desc="Tooltip for an icon on a user's lock screen pod shown by Easy Unlock when a phone eligible to unlock the Chromebook cannot be found.">
        Can’t find your phone. Make sure it’s handy and Bluetooth is turned on.
      </message>
      <message name="IDS_EASY_UNLOCK_SCREENLOCK_TOOLTIP_PHONE_NOT_AUTHENTICATED" desc="Tooltip for an icon on a user's lock screen pod shown by Easy Unlock when no phones eligible to unlock the Chromebook can be authenticated.">
        Unable to unlock. Enter your password.
      </message>
      <message name="IDS_EASY_UNLOCK_SCREENLOCK_TOOLTIP_PHONE_LOCKED" desc="Tooltip for an icon on a user's lock screen pod shown by Easy Unlock when a phone eligible to unlock the Chromebook is detected, but it's locked and thus not allowed to unlock the Chromebook.">
        Your phone is locked. Unlock it to enter.
      </message>
      <message name="IDS_EASY_UNLOCK_SCREENLOCK_TOOLTIP_PHONE_UNLOCKABLE" desc="Tooltip for an icon on a user's lock screen pod shown by Easy Unlock when a phone eligible to unlock the Chromebook is detected, but it does not have lock screen enabled, in which case it is not allowed to unlock Chromebooks.">
        To keep your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph> safe, Smart Lock requires a screen lock on your phone.
      </message>
      <message name="IDS_EASY_UNLOCK_SCREENLOCK_TOOLTIP_RSSI_TOO_LOW" desc="Tooltip for an icon on a user's lock screen pod shown by Easy Unlock when a phone eligible to unlock the Chromebook is detected, but it's not in the Chromebook's proximity (> 30 feet away).">
        Bring your phone closer to unlock your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>.
      </message>
      <message name="IDS_EASY_UNLOCK_SCREENLOCK_TOOLTIP_PHONE_LOCKED_AND_RSSI_TOO_LOW" desc="Tooltip for an icon on a user's lock screen pod shown by Easy Unlock when a phone eligible to unlock the Chromebook is detected, but it's both (a) locked and (b) not in the Chromebook's proximity (> 1 foot away).">
        Unlock your phone and bring it closer to unlock your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>.
      </message>
      <message name="IDS_EASY_UNLOCK_SCREENLOCK_TOOLTIP_INITIAL_AUTHENTICATED" desc="Tooltip text shown on lock screen when a phone eligible to unlock the Chromebook via Easy Unlock is detected and authenticated for the first time.">
        When your phone is unlocked and nearby, just select to unlock. Otherwise, enter your password or PIN.
      </message>
      <message name="IDS_EASY_UNLOCK_SCREENLOCK_TOOLTIP_HARDLOCK_INSTRUCTIONS" desc="Tooltip for an icon on user's lock screen pod shown by Easy Unlock when a phone eligible to unlock the Chromebook is detected and authenticated. The tooltip shows instructions for hard-locking the Chromebook.">
        If you click this icon, you will manually lock this <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>. Next time, you’ll need to type your password to enter.
      </message>
      <message name="IDS_EASY_UNLOCK_SCREENLOCK_TOOLTIP_PASSWORD_REAUTH" desc="Tooltip for an icon on user's lock screen pod shown by EasyUnlock when the user must enter their password instead of using EasyUnlock, because too much time has passed since their last password entry.">
        For added security, Smart Lock will ask you to enter your password after 20 hours.
      </message>
      <message name="IDS_EASY_UNLOCK_SCREENLOCK_TOOLTIP_PASSWORD_REQUIRED_FOR_LOGIN" desc="Tooltip for an icon on user's lock screen pod shown by EasyUnlock when a password is required to login to the Chromebook.">
        To start Smart Lock, enter your password. Next time, you can use your phone to unlock your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>.
      </message>
      <message name="IDS_EASY_UNLOCK_SCREENLOCK_TOOLTIP_UNSUPPORTED_ANDROID_VERSION" desc="Tooltip for the icon on user's lock screen pod shown by Easy Unlock when a phone set up to unlock the Chromebook is detected, but has an unsupported Android version. The user is asked to update the phone.">
        Please update your phone to a newer version of Android to unlock this <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>.
      </message>
      <message name="IDS_EASY_UNLOCK_SCREENLOCK_TOOLTIP_HARDLOCK_USER" desc="Tooltip text shown on a user's lock screen pod when Easy Unlock feature is enabled for the user, but the user hard locked the device. Hard lock is done by clicking the Easy Unlock icon on the user's pod. When a device is hard locked by a user, the Easy Unlock cannot be used to unlock the device as that user. A password has to be entered to unlock the device.">
        Your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph> is locked for security. Manually enter your password to continue.
      </message>
      <message name="IDS_EASY_UNLOCK_SCREENLOCK_TOOLTIP_HARDLOCK_PAIRING_CHANGED" desc="Tooltip text shown on a user's lock screen pod when Easy Unlock feature is enabled for the user, but the pairing data is changed. A password has to be entered to unlock the device.">
        Smart Lock phone changed. Enter your password to update Smart Lock. Next time, your phone will unlock your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>. Turn off Smart Lock in Settings.
      </message>
      <message name="IDS_EASY_UNLOCK_SCREENLOCK_TOOLTIP_HARDLOCK_PAIRING_ADDED" desc="Tooltip text shown on a user's lock screen pod when Easy Unlock pairing data is synced on a new Chromebook.">
        Enter your password to turn on Smart Lock. Next time, your phone will unlock your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>. Turn off Smart Lock in Settings.
      </message>
      <message name="IDS_EASY_UNLOCK_SCREENLOCK_TOOLTIP_LOGIN_FAILURE" desc="Tooltip text shown on a user's lock screen when Smart Lock signin attempt fails.">
        Smart Lock couldn’t verify your account. Type your password to enter.
      </message>
      <message name="IDS_SMART_LOCK_SCREENLOCK_TOOLTIP_HARDLOCK_REAUTH_USER" desc="Tooltip text shown on a user's lock screen pod to reauthenticate the user before setting up Smart Lock. A password has to be entered to unlock the device.">
        To set up Smart Lock for Chromebook, Google needs to make sure it’s you—type your password to get started.
      </message>
      <message name="IDS_EASY_UNLOCK_SCREENLOCK_USER_POD_AUTH_VALUE" desc="Message on lock screen user pod shown in place of password field when Easy Unlock is enabled and a phone that can unlock the Chromebook is detected in proximity.">
        Click your photo
      </message>
      <message name="IDS_SMART_LOCK_SPINNER_ACCESSIBILITY_LABEL" desc="Label for the spinner icon used for accessibility purposes. This label is needed because this state does not have a tooltip.">
        Finding your phone
      </message>
      <!-- Device types -->
      <message name="IDS_EASY_UNLOCK_GENERIC_DEVICE_TYPE" desc="String for an unknown device type. Currently used to cover all non-Chrome-OS devices.">
        Chrome device
      </message>

      <!-- Device permissions dialog strings. -->
      <message name="IDS_DEVICE_PERMISSIONS_DIALOG_SELECT" desc="Button confirming the devices selected for access by the app.">
        Select
      </message>

      <!-- Hotword Audio Verification (opt-in) App strings. -->
      <message name="IDS_HOTWORD_BROWSER_NAME" desc="Name of the device when we're not running in CrOS">
        <ph name="IDS_SHORT_PRODUCT_NAME">$1<ex>Chromium</ex></ph> browser
      </message>
      <message name="IDS_HOTWORD_OPT_IN_CLOSE" desc="Label for the close button for the 'Ok Google' hotword opt-in dialog.">
        Close
      </message>
      <message name="IDS_HOTWORD_OPT_IN_CANCEL" desc="Text on the cancel button for the 'Ok Google' hotword opt-in dialog.">
        CANCEL
      </message>
      <message name="IDS_HOTWORD_OPT_IN_INTRO_TITLE" desc="Title of the intro page of the 'Ok Google' hotword opt-in dialog.">
        Voice search at any time
      </message>
      <message name="IDS_HOTWORD_OPT_IN_INTRO_SUBTITLE" desc="Sub-title of the intro page of the 'Ok Google' hotword opt-in dialog.">
        Say "Ok Google" when your screen is on and unlocked
      </message>
      <message name="IDS_HOTWORD_OPT_IN_INTRO_DESCRIPTION" desc="Description explaining the steps required to continue through the hotword opt-in process.">
        To make this happen, you'll need to enable Voice &amp; Audio Activity and train your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph> in the following steps.
      </message>
      <message name="IDS_HOTWORD_OPT_IN_INTRO_DESCRIPTION_AUDIO_HISTORY_ENABLED" desc="Description explaining the steps required to continue through the hotword opt-in process.">
        To make this happen, you'll need to train your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph> in the following step.
      </message>
      <message name="IDS_HOTWORD_OPT_IN_INTRO_START" desc="Text on the start button for the 'Ok Google' hotword opt-in dialog.">
        Get Started
      </message>
      <message name="IDS_HOTWORD_OPT_IN_AUDIO_HISTORY_TITLE" desc="Title of the Audio History page of the 'Ok Google' hotword opt-in dialog.">
        Enable Voice &amp; Audio Activity
      </message>
      <message name="IDS_HOTWORD_OPT_IN_AUDIO_HISTORY_DESCRIPTION_1" desc="Description of the Audio History page of the 'Ok Google' hotword opt-in dialog.">
        When you use audio activation commands, such as "Ok Google" or touching a microphone icon, your private Voice &amp; Audio Activity stores some voice and other audio to your account. A recording of the following speech/audio, plus a few seconds before, will be stored.
      </message>
      <message name="IDS_HOTWORD_OPT_IN_AUDIO_HISTORY_DESCRIPTION_2" desc="Description of the Audio History page of the 'Ok Google' hotword opt-in dialog.">
        This helps Google recognize your voice and improve speech and audio recognition in order to give you results faster and with fewer hassles. <ph name="BEGIN_LINK">&lt;a target="_blank" href="https://support.google.com/websearch?p=chromebook_audiohistory"&gt;</ph>Learn more<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>
      </message>
      <message name="IDS_HOTWORD_OPT_IN_AUDIO_HISTORY_DESCRIPTION_3" desc="Description of the Audio History page of the 'Ok Google' hotword opt-in dialog.">
        You can change this setting or <ph name="BEGIN_LINK">&lt;a target="_blank" href="https://history.google.com/history/audio"&gt;</ph>manage your private data<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph> whenever you like. Please remember that when Voice &amp; Audio Activity is on, this data may be saved from any of your signed-in devices.
      </message>
      <message name="IDS_HOTWORD_OPT_IN_AUDIO_HISTORY_AGREE" desc="Text on the agree button for the Audio History section of the 'Ok Google' hotword opt-in dialog.">
        Enable
      </message>
      <message name="IDS_HOTWORD_OPT_IN_AUDIO_HISTORY_WAIT" desc="Text displayed when waiting for Audio History setting in the 'Ok Google' hotword opt-in dialog.">
        Enabling Voice &amp; Audio Activity...
      </message>
      <message name="IDS_HOTWORD_OPT_IN_ERROR" desc="Text displayed on error setting Audio History and training in the 'Ok Google' hotword opt-in dialog.">
        Something went wrong. Please try again.
      </message>
      <message name="IDS_HOTWORD_OPT_IN_TRAINING_TITLE" desc="Title of the voice model training page of the 'Ok Google' hotword opt-in dialog.">
        Let's train your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>
      </message>
      <message name="IDS_HOTWORD_OPT_IN_TRAINING_DESCRIPTION" desc="Description on the voice model training page of the 'Ok Google' hotword opt-in dialog.">
        To help your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph> respond to you and for reliable and easy access to voice search, you need to teach Google the sound of your voice.
      </message>
      <message name="IDS_HOTWORD_OPT_IN_TRAINING_SPEAK" desc="The text describing the action the user should take on the voice model training page of the 'Ok Google' hotword opt-in dialog.">
        Just say "Ok Google" three times
      </message>
      <message name="IDS_HOTWORD_OPT_IN_TRAINING_FIRST_PROMPT" desc="The first prompt text on the voice model training page of the 'Ok Google' hotword opt-in dialog.">
        Say "Ok Google"
      </message>
      <message name="IDS_HOTWORD_OPT_IN_TRAINING_MIDDLE_PROMPT" desc="The middle prompt text on the voice model training page of the 'Ok Google' hotword opt-in dialog.">
        Say "Ok Google" again
      </message>
      <message name="IDS_HOTWORD_OPT_IN_TRAINING_LAST_PROMPT" desc="The last prompt text on the voice model training page of the 'Ok Google' hotword opt-in dialog.">
        Say "Ok Google" one last time
      </message>
      <message name="IDS_HOTWORD_OPT_IN_TRAINING_RECORDED" desc="The message displayed when an 'Ok Google' utterance has been completed.">
        Complete
      </message>
      <message name="IDS_HOTWORD_OPT_IN_TRAINING_TIMEOUT" desc="The message displayed when an 'Ok Google' training has time out.">
        Training timed out
      </message>
      <message name="IDS_HOTWORD_OPT_IN_TRAINING_RETRY" desc="Text on the retry button of the voice model training page of the 'Ok Google' hotword opt-in dialog.">
        RETRY
      </message>
      <message name="IDS_HOTWORD_OPT_IN_FINISHED_TITLE" desc="Title of the finished page of the 'Ok Google' hotword opt-in dialog.">
        You're all set!
      </message>
      <message name="IDS_HOTWORD_OPT_IN_FINISHED_LIST_INTRO" desc="The text at the beginning of the list describing the Chromebook's new abilities. ">
        Your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph> can now:
      </message>
      <message name="IDS_HOTWORD_OPT_IN_FINISHED_LIST_ITEM_1" desc="The text of the first item in the list of Chromebook abilities. ">
        Recognize your voice when you say "Ok Google"
      </message>
      <message name="IDS_HOTWORD_OPT_IN_FINISHED_LIST_ITEM_2" desc="The text of the second item in the list of Chromebook abilities. ">
        Respond to "Ok Google" when the screen is on and unlocked
      </message>
      <message name="IDS_HOTWORD_OPT_IN_FINISHED_SETTINGS" desc="The text indicating where the user can change their Chrome settings. ">
        You can change this at any time in <ph name="BEGIN_LINK">&lt;a target="_blank" href="#" id="settings-link"&gt;</ph>Chrome Settings<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>.
      </message>
      <message name="IDS_HOTWORD_OPT_IN_FINISHED_AUDIO_HISTORY" desc="The text indicating where the user can change their account history. ">
        Search queries will be tied to your Google Account. You can view and delete them in your <ph name="BEGIN_LINK">&lt;a target="_blank" href="https://www.google.com/settings/accounthistory"&gt;</ph>Account History<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph>.
      </message>
      <message name="IDS_HOTWORD_OPT_IN_FINISH" desc="Text on the finish button for the 'Ok Google' hotword opt-in dialog.">
        OK
      </message>
      <message name="IDS_HOTWORD_OPT_IN_FINISHED_WAIT" desc="The text displayed when waiting for the voice model training to complete.">
        Processing...
      </message>

      <!-- Hotword Notification -->
      <message name="IDS_HOTWORD_NOTIFICATION_TITLE" desc="The text displayed as the title for the hotword notification. ">
        Voice search at any time
      </message>
      <message name="IDS_HOTWORD_NOTIFICATION_DESCRIPTION" desc="The text displayed as the description for the hotword notification. ">
        Enable "Ok Google" to voice search when your screen is on and unlocked
      </message>
      <message name="IDS_HOTWORD_NOTIFICATION_BUTTON" desc="The text displayed on the button of the hotword notification. ">
        Enable "Ok Google"
      </message>

      <!-- About device logs UI display strings -->
      <message name="IDS_DEVICE_LOG_TITLE" desc="Title of the chrome://device-log page">
        Device Log
      </message>
      <message name="IDS_DEVICE_AUTO_REFRESH" desc="Instructions for how to auto-refresh the page">
        Add a query param in URL to auto-refresh the page: chrome://device-log/?refresh=&lt;sec&gt;
      </message>
      <message name="IDS_DEVICE_LOG_REFRESH" desc="Button to refresh device log">
        Refresh
      </message>
      <message name="IDS_DEVICE_LOG_LEVEL_SHOW" desc="'Show' label before logging level checkboxes">
        Show:
      </message>
      <message name="IDS_DEVICE_LOG_LEVEL_ERROR" desc="Error logging level checkbox">
        Error
      </message>
      <message name="IDS_DEVICE_LOG_LEVEL_USER" desc="User logging level checkbox">
        User
      </message>
      <message name="IDS_DEVICE_LOG_LEVEL_EVENT" desc="Event logging level checkbox">
        Event
      </message>
      <message name="IDS_DEVICE_LOG_LEVEL_DEBUG" desc="Debug logging level checkbox">
        Debug
      </message>
      <message name="IDS_DEVICE_LOG_TYPE_LOGIN" desc="Checkbox to enable showing events of type LOGIN">
        Login
      </message>
      <message name="IDS_DEVICE_LOG_TYPE_NETWORK" desc="Checkbox to enable showing events of type NETWORK">
        Network
      </message>
      <message name="IDS_DEVICE_LOG_TYPE_POWER" desc="Checkbox to enable showing events of type POWER">
        Power
      </message>
      <message name="IDS_DEVICE_LOG_TYPE_BLUETOOTH" desc="Checkbox to enable showing events of type BLUETOOTH">
        Bluetooth
      </message>
      <message name="IDS_DEVICE_LOG_TYPE_USB" desc="Checkbox to enable showing events of type USB">
        USB
      </message>
      <message name="IDS_DEVICE_LOG_TYPE_HID" desc="Checkbox to enable showing events of type HID (Human Interface Device)">
        HID
      </message>
      <message name="IDS_DEVICE_LOG_FILEINFO" desc="File info checkbox in device event log">
        File Info
      </message>
      <message name="IDS_DEVICE_LOG_TIME_DETAIL" desc="Detailed timestamps checkbox in device event log">
        Detailed Timestamps
      </message>
      <message name="IDS_DEVICE_LOG_ENTRY" desc="Format string for lines in chrome://device-log.">
        [<ph name="TIMESTAMP">$1<ex>Timestamp</ex></ph>]
        <ph name="FILE_INFO">$2<ex>file:123</ex></ph>
        <ph name="EVENT_NAME">$3<ex>Event Description</ex></ph>
      </message>

      <!-- Printer detected notification -->
      <if expr="chromeos">
        <message name="IDS_PRINTER_DETECTED_NOTIFICATION_TITLE" desc="Title for notification shown to the user when a printer gets plugged in to a Chrome OS device.">
          Printer from <ph name="VENDOR_NAME">$1<ex>Google</ex></ph> detected
        </message>
        <message name="IDS_PRINTER_DETECTED_NOTIFICATION_TITLE_UNKNOWN_VENDOR" desc="Title for notification shown to the user when a printer gets plugged in to a Chrome OS device in the case the printer manufacturer name is unknown.">
          Printer detected
        </message>
        <message name="IDS_PRINTER_DETECTED_NOTIFICATION_NO_PRINT_APP_BODY" desc="Content for notification shown to the user when a printer gets plugged in to a Chrome OS device if the active user does not have an app that supports the printer installed.">
          Click to find a print app to use this printer.
        </message>
        <message name="IDS_PRINTER_DETECTED_NOTIFICATION_PRINT_APP_FOUND_BODY" desc="Content for notification shown to the user when a printer gets plugged in to a Chrome OS device if the active user already has a print app that supports the printer installed.">
          Your printer is ready.
        </message>
        <message name="IDS_PRINTER_DETECTED_NOTIFICATION_SET_UP_TITLE" desc="Title for notification shown to the user when a printer gets plugged in to a Chrome OS device and ready to be set up.">
          Printer detected
        </message>
        <message name="IDS_PRINTER_DETECTED_NOTIFICATION_SET_UP_IN_PROGRESS_TITLE" desc="Title for notification when the USB printer is in the setup process.">
          Set up printer...
        </message>
        <message name="IDS_PRINTER_DETECTED_NOTIFICATION_SET_UP_SUCCESS_TITLE" desc="Title for notification when the USB printer is setup successfully.">
          Success!
        </message>
        <message name="IDS_PRINTER_DETECTED_NOTIFICATION_SET_UP_FAILED_TITLE" desc="Title for the notification when the setup of the USB printer is failed.">
          Failed to set up printer
        </message>
        <message name="IDS_PRINTER_DETECTED_NOTIFICATION_SET_UP_BUTTON" desc="Content for the notification button to guide the user to go throught the printer setup process.">
          Click to set up
        </message>
        <message name="IDS_PRINTER_DETECTED_NOTIFICATION_SET_UP_CANCEL_BUTTON" desc="Content for the notification button to cancel the USB printer setup process.">
          Cancel printer setup
        </message>
        <message name="IDS_PRINTER_DETECTED_NOTIFICATION_SET_UP_CLOSE_BUTTON" desc="Content for the notification button to close the current notification.">
          Close
        </message>
        <message name="IDS_PRINTER_DETECTED_NOTIFICATION_SET_UP_GET_HELP_BUTTON" desc="Content for the notification button to direct the user to the chrome://setting CUPS printers subpage if the setup process is failed.">
          Get help
        </message>
      </if>

      <!-- External Navigation Strings -->
      <if expr="is_android or chromeos">
        <message name="IDS_EXTERNAL_APP_LEAVE_INCOGNITO_WARNING" desc="Alert dialog text warning the user (who is currently in incognito mode) that the site they are currently using is going to share data with an external application." formatter_data="android_java">
          This site is about to share information with an app outside of incognito mode.
        </message>
        <message name="IDS_EXTERNAL_APP_LEAVE_INCOGNITO_WARNING_TITLE" desc="Title for dialog asking if the user wants to leave incognito mode. [CHAR-LIMIT=32]" formatter_data="android_java">
          Leave incognito mode?
        </message>
        <message name="IDS_EXTERNAL_APP_LEAVE_INCOGNITO_STAY" desc="Label for the dialog button to stay in incognito mode. [CHAR-LIMIT=20]" formatter_data="android_java">
          Stay
        </message>
        <message name="IDS_EXTERNAL_APP_LEAVE_INCOGNITO_LEAVE" desc="Label for the dialog button to leave incognito mode. [CHAR-LIMIT=20]" formatter_data="android_java">
          Leave
        </message>
        <message name="IDS_EXTERNAL_APP_RESTRICTED_ACCESS_ERROR" desc="A message shown to the user if Chrome receives a file view request to something Chrome does not have access to view." formatter_data="android_java">
          Chrome does not have access to the requested resource.
        </message>
      </if>

      <!-- Strings for ARC intent picker -->
      <if expr="chromeos">
        <message name="IDS_INTENT_PICKER_BUBBLE_VIEW_ALWAYS" desc="Message contained in a button shown to the user in order to choose and remember an app selection.">
          Always
        </message>
        <message name="IDS_INTENT_PICKER_BUBBLE_VIEW_JUST_ONCE" desc="Message contained in a button shown to the user in order to choose to open a URL in a given app only once.">
          Just once
        </message>
        <message name="IDS_INTENT_PICKER_BUBBLE_VIEW_OPEN_WITH" desc="Message contained in a label used as a header for a list of applications from which the user will pick one.">
          Open with
        </message>
        <message name="IDS_INTENT_PICKER_BUBBLE_VIEW_REMEMBER_SELECTION" desc="Message contained in a checkbox that must be marked in order for the intent picker to not be shown again for a similar URL.">
          Remember my choice
        </message>
        <message name="IDS_INTENT_PICKER_BUBBLE_VIEW_USE_APP" desc="Message contained in a button to continue the navigation in an ARC app selected by the user.">
          Use app
        </message>
        <message name="IDS_INTENT_PICKER_BUBBLE_VIEW_STAY_IN_CHROME" desc="Message contained in a button to continue the navigation within Chrome.">
          Stay in Chrome
        </message>
      </if>

      <message name="IDS_SAVE_PASSWORD_DIFFERENT_DOMAINS_TITLE" desc="The title of the save password bubble when the submitted form origin isn't equal to the page origin.">
        Do you want <ph name="PASSWORD_MANAGER_BRAND">$1<ex>Google Chrome</ex></ph> to save your password for <ph name="ORIGIN">$2<ex>example.com</ex></ph>?
      </message>
      <message name="IDS_UPDATE_PASSWORD_DIFFERENT_DOMAINS_TITLE" desc="The title of the update password bubble when the submitted form origin isn't equal to saved credentials origin.">
        Do you want <ph name="PASSWORD_MANAGER_BRAND">$1<ex>Google Chrome</ex></ph> to update your password for <ph name="ORIGIN">$2<ex>example.com</ex></ph>?
      </message>
      <message name="IDS_MANAGE_PASSWORDS_TITLE_DIFFERENT_DOMAIN" desc="The title text that is used in the manage passwords bubble when a password is autofilled or after a user has stored a password.">
        Saved passwords for <ph name="ORIGIN">$1<ex>example.com</ex></ph>:
      </message>

    <!-- WebUsb Notification -->
    <message name="IDS_WEBUSB_DEVICE_DETECTED_NOTIFICATION" desc="Content for notification shown to the user when a USB device gets plugged in.">
      Go to <ph name="LANDING_PAGE">$1<ex>www.google.com</ex></ph> to connect.
    </message>
    <message name="IDS_WEBUSB_DEVICE_DETECTED_NOTIFICATION_TITLE" desc="Title for notification shown to the user when a USB device gets plugged in.">
      <ph name="USB_DEVICE_NAME">$1<ex>Nexus 5</ex></ph> detected
    </message>

    <!-- Audio device strings. -->
    <message name="IDS_DEFAULT_AUDIO_DEVICE_NAME" desc="System default audio device (microphone or loudspeaker). This is typically presented to users in a drop-down list of device choices.">
        Default
    </message>
    <if expr="is_win">
      <message name="IDS_COMMUNICATIONS_AUDIO_DEVICE_NAME" desc="System default communications audio device (microphone or loudspeaker). This is typically presented to users in a drop-down list of device choices.">
        Communications
      </message>
    </if>
    <if expr="chromeos">
      <message name="IDS_BEAMFORMING_ON_DEFAULT_AUDIO_INPUT_DEVICE_NAME" desc="Default audio input device (microphone) with a narrow angle coverage. Only the user in front of the device (i.e. you) will be listened to. This is typically presented to users in a drop-down list of device choices.">
        Default (pick up just you)
      </message>
      <message name="IDS_BEAMFORMING_OFF_DEFAULT_AUDIO_INPUT_DEVICE_NAME" desc="Default audio input device (microphone) with a wide angle coverage. All the sounds in the vicinity will be listend to. This is typically presented to users in a drop-down list of device choices.">
        Default (pick up everything)
      </message>
    </if>

    <if expr="is_android">
      <!-- Data Use -->
      <message name="IDS_DATA_USE_TRACKING_STARTED_SNACKBAR_MESSAGE" desc="Message shown when data use tracking starts.">
        Data use is being measured
      </message>
      <message name="IDS_DATA_USE_TRACKING_SNACKBAR_ACTION" desc="Button to learn more when data use tracking starts or ends.">
        More
      </message>
      <message name="IDS_DATA_USE_TRACKING_ENDED_SNACKBAR_MESSAGE" desc="Message shown when data use tracking has ended.">
        Data use measuring has ended
      </message>
      <message name="IDS_DATA_USE_TRACKING_ENDED_TITLE" desc="Message shown on the dialog when data use tracking has ended.">
        Data use measuring ended
      </message>
      <message name="IDS_DATA_USE_TRACKING_ENDED_MESSAGE" desc="Message shown on the dialog when data use tracking has ended.">
        Your data use will no longer be measured.
      </message>
      <message name="IDS_DATA_USE_TRACKING_ENDED_CHECKBOX_MESSAGE" desc="Message shown to opt out of seeing dialogs when data use tracking has ended.">
        Don’t show this again
      </message>
      <message name="IDS_DATA_USE_TRACKING_ENDED_CONTINUE" desc="Continue button for the dialog shown when data use tracking has ended. When clicked, the page resumes loading.">
        Continue
      </message>
      <message name="IDS_DATA_USE_LEARN_MORE_TITLE" desc="Title for the 'Learn more' link in the the dialog shown when data use tracking has ended.">
        Learn more
      </message>
      <message name="IDS_DATA_USE_LEARN_MORE_LINK_URL" desc="URL for the 'Learn more' link in the the dialog shown when data use tracking has ended.">
        <!-- Intentionally empty. This is overridden via Finch. -->
      </message>
    </if>

    <if expr="not is_android">
      <!-- Device Chooser Prompt -->
      <message name="IDS_BLUETOOTH_DEVICE_CHOOSER_PROMPT_ORIGIN" desc="The label that is used to introduce Bluetooth chooser details to the user in a popup when it is from a website.">
        <ph name="Origin">$1<ex>www.google.com</ex></ph> wants to pair
      </message>
      <message name="IDS_BLUETOOTH_DEVICE_CHOOSER_PROMPT_EXTENSION_NAME" desc="The label that is used to introduce Bluetooth chooser details to the user in a popup when it is from a Chrome extension.">
        "<ph name="CHROME_EXTENSION_NAME">$1<ex>Chrome extension name</ex></ph>" wants to pair
      </message>
      <message name="IDS_USB_DEVICE_CHOOSER_PROMPT_ORIGIN" desc="The label that is used to introduce USB chooser details to the user in a popup when it is from a website.">
        <ph name="Origin">$1<ex>www.google.com</ex></ph> wants to connect
      </message>
      <message name="IDS_USB_DEVICE_CHOOSER_PROMPT_EXTENSION_NAME" desc="The label that is used to introduce USB chooser details to the user in a popup when it is from a Chrome extension.">
        "<ph name="CHROME_EXTENSION_NAME">$1<ex>Chrome extension name</ex></ph>" wants to connect
      </message>
      <message name="IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT" desc="The label that is used to inform the user that no devices were found in the chooser popup.">
        No devices found
      </message>
      <message name="IDS_DEVICE_CHOOSER_DEVICE_NAME_WITH_ID" desc="To distinguish devices with the same name, the device chooser shows the device name with id.">
        <ph name="DEVICE_NAME">$1<ex>device name</ex></ph> (<ph name="DEVICE_ID">$2<ex>device id</ex></ph>)
      </message>
      <message name="IDS_BLUETOOTH_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT" desc="The label that is used to inform the user that no Bluetooth devices were found in the chooser popup.">
        No Bluetooth devices found
      </message>
      <message name="IDS_BLUETOOTH_DEVICE_CHOOSER_TURN_ADAPTER_OFF" desc="Text of a link the user can click to get help information when Bluetooth adapter is turned off.">
        <ph name="TURN_ON_BLUETOOTH_LINK">$1<ex>Turn on Bluetooth</ex></ph> to allow pairing
      </message>
      <message name="IDS_BLUETOOTH_DEVICE_CHOOSER_TURN_ON_BLUETOOTH_LINK_TEXT" desc="Text of the 'Turn on Bluetooth' link when Bluetooth adapter is turned off.">
        Turn on Bluetooth
      </message>
      <message name="IDS_BLUETOOTH_DEVICE_CHOOSER_SCANNING" desc="The label that is used to indicate the chooser is scanning for Bluetooth devices.">
        ''' while scanning for devices...
      </message>
      <message name="IDS_BLUETOOTH_DEVICE_CHOOSER_RE_SCAN" desc="Text of a link the user can click to start a new scan for Bluetooth devices.">
        re-scan
      </message>
      <message name="IDS_BLUETOOTH_DEVICE_CHOOSER_PAIR_BUTTON_TEXT" desc="Label on the button that closes the Bluetooth chooser popup and pairs the selected device.">
        Pair
      </message>
      <message name="IDS_USB_DEVICE_CHOOSER_CONNECT_BUTTON_TEXT" desc="Label on the button that closes the USB chooser popup and connects the selected device.">
        Connect
      </message>
      <message name="IDS_DEVICE_CHOOSER_CANCEL_BUTTON_TEXT" desc="Label on the button that closes the chooser popup without selecting an option.">
        Cancel
      </message>
      <message name="IDS_DEVICE_CHOOSER_GET_HELP_LINK_WITH_SCANNING_STATUS" desc="This text is shown at the bottom of the chooser popup with a link to 'Get help'.">
        Get help<ph name="SCANNING_STATUS">$1<ex> while scanning for devices...</ex></ph>
      </message>
      <message name="IDS_DEVICE_CHOOSER_GET_HELP_LINK_WITH_RE_SCAN_LINK" desc="This text is shown at the bottom of the chooser popup with links to 'Get help' and 're-scan'.">
        <ph name="GET_HELP_LINK">$1<ex>Get help</ex></ph> or <ph name="RE_SCAN_LINK">$2<ex>re-scan</ex></ph>
      </message>
      <message name="IDS_DEVICE_CHOOSER_PAIRED_STATUS_TEXT" desc="The label that is used to inform the user that the device is paired.">
        Paired
      </message>
      <message name="IDS_DEVICE_CHOOSER_DEVICE_NAME_AND_PAIRED_STATUS_TEXT" desc="Text of the device name and paired status.">
        <ph name="DEVICE_NAME">$1<ex>device name</ex></ph> - Paired
      </message>
      <message name="IDS_DEVICE_CHOOSER_DEVICE_NAME_UNKNOWN_DEVICE_WITH_VENDOR_NAME" desc="String describing an unknown device by its vendor name.">
        Unknown device from <ph name="VENDOR_NAME">$1<ex>vendor name</ex></ph>
      </message>
      <message name="IDS_DEVICE_CHOOSER_DEVICE_NAME_UNKNOWN_DEVICE_WITH_VENDOR_ID_AND_PRODUCT_ID" desc="String describing a device when only numeric vendor and product IDs are available.">
        Unknown device [<ph name="VENDOR_ID">$1<ex>123</ex></ph>:<ph name="PRODUCT_ID">$2<ex>123</ex></ph>]
      </message>
    </if>

    <!-- Chrome IME API activated bubble. -->
    <message name="IDS_IME_API_ACTIVATED_WARNING" desc="The Warning info when an IME extension is trying to activate.">
      <ph name="EXTENSION_NAME">$1<ex>Gmail Checker</ex></ph> extension may collect all the text you type, including personal data like passwords and credit card numbers. Do you want to use this extension?
    </message>
    <message name="IDS_IME_API_NEVER_SHOW" desc="Checkbox that controls whether this bubble will be shown every time.">
      Never show this again.
    </message>
    <if expr="is_macosx">
      <message name="IDS_ANNOUNCEMENT_COMPLETION_AVAILABLE_MAC" desc="Text to be
read aloud to screenreader users to announce that a completion is available.">
        Completion available: <ph name="COMPLETION_TEXT">$1</ph>
      </message>
    </if>
    <if expr="enable_vr">
      <message name="IDS_VR_SHELL_EXIT_PROMPT_DESCRIPTION" desc="Text on the exit prompt that shows up when the user tries to use a feature that is not supported in VR">
        This feature is not supported in VR
      </message>
      <message name="IDS_VR_SHELL_EXIT_PROMPT_DESCRIPTION_SITE_INFO" desc="Text on the exit prompt that shows up when the user clicks on URL bar security icon in VR">
        Site information is not available in VR
      </message>
      <message name="IDS_VR_SHELL_EXIT_PROMPT_EXIT_VR_BUTTON" desc="Text on the exit button of the exit prompt that shows up when the user clicks on URL bar security icon in VR">
        EXIT VR
      </message>
    </if>

    <!-- Ad Blocking UI strings. -->
    <message name="IDS_ALWAYS_ALLOW_ADS" desc="Explanation associated with a toggle to allow ads after ads have been blocked on the page. To be used on pages where the ad blocking UI is governed by a persistent permissions-based whitelist.">
      Always allow ads on this site
    </message>
    <message name="IDS_ALLOW_ADS" desc="Explanation associated with a toggle to allow ads after ads have been blocked on the page. To be used on pages where the ad blocking UI is governed by a per-tab whitelist.">
      Allow ads on this site
    </message>
    <message name="IDS_BLOCKED_ADS_INFOBAR_MESSAGE" desc="The mini infobar message shown to users on Android when Chrome has blocked ads on the site because the site tends to show intrusive ads. Will be presented as a sentence, next to a Details link to expand the infobar.">
      Ads blocked.
    </message>
    <message name="IDS_BLOCKED_ADS_PROMPT_TITLE" desc="Title of the prompt shown to users on Desktop in the omnibox when Chrome has blocked ads on the site because the site tends to show intrusive ads. The title will stand alone next to an icon so there is no need for a period.">
      Ads blocked
    </message>
    <message name="IDS_BLOCKED_ADS_PROMPT_EXPLANATION" desc="Longer explanation that Chrome has blocked ads on the site. To be shown in an expanded infobar / bubble">
      Chrome blocked ads on this site because this site tends to show intrusive ads.
    </message>
    <message name="IDS_BLOCKED_ADS_PROMPT_TOOLTIP" desc="Explanation that Chrome blocked ads on this site. To be shown as a tooltip on the Ads blocked desktop bubble">
      Ads blocked on this site
    </message>

    <if expr="is_win">
      <message name="IDS_UTILITY_PROCESS_SHELL_HANDLER_NAME" desc="The name of the utility process used to handle shell operations.">
        Shell Handler
      </message>
    </if>

    <!-- Welcome page (chrome://welcome) strings -->
    <if expr="not chromeos">
      <message name="IDS_WELCOME_SUBHEADER" desc="A message which will appear underneath the header on the Welcome UI.">
        The web browser by Google, for you
      </message>
      <message name="IDS_WELCOME_DESCRIPTION" desc="A message on the welcome page explaining the purpose of signing in.">
        Sign in to Chrome with your Google Account to get your bookmarks, history, passwords, and other settings on all your devices.
      </message>
      <message name="IDS_WELCOME_ACCEPT_BUTTON" desc="A button on the welcome page which accepts the offer to sign in to Chrome.">
        Sign in
      </message>
      <message name="IDS_WELCOME_DECLINE_BUTTON" desc="A button on the welcome page which declines the offer to sign in to Chrome.">
        No thanks
      </message>
    </if>

    <!-- Windows 10 toast strings -->
    <if expr="is_win">
      <message name="IDS_WIN10_TOAST_BROWSE_FAST" desc="Toast message variant: browse fast.">
        Browse fast with Google Chrome
      </message>
      <message name="IDS_WIN10_TOAST_BROWSE_SAFELY" desc="Toast message variant: browse safely.">
        Browse safely with Google Chrome
      </message>
      <message name="IDS_WIN10_TOAST_BROWSE_SMART" desc="Toast message variant: browse smart.">
        Browse smart with Chrome
      </message>
      <message name="IDS_WIN10_TOAST_SWITCH_FAST" desc="Toast message variant: switch to a fast browser.">
        Switch to a fast browser
      </message>
      <message name="IDS_WIN10_TOAST_SWITCH_SMART" desc="Toast message variant: switch to a smart browser.">
        Switch to a smart browser
      </message>
      <message name="IDS_WIN10_TOAST_SWITCH_SECURE" desc="Toast message variant: switch to a secure browser.">
        Switch to a secure browser
      </message>
      <message name="IDS_WIN10_TOAST_SWITCH_SMART_AND_SECURE" desc="Toast message variant: switch to a smart and secure browser.">
        Switch to a smart and secure browser
      </message>
      <message name="IDS_WIN10_TOAST_RECOMMENDATION" desc="Toast header label noting Google recommends Chrome.">
        Google recommends Chrome
      </message>
      <message name="IDS_WIN10_TOAST_OPEN_CHROME" desc="The label on the button to dismiss the toast and launch Chrome.">
        Open Chrome
      </message>
      <message name="IDS_WIN10_TOAST_NO_THANKS" desc="The label on the button to dismiss the toast without launching Chrome.">
        No thanks
      </message>
    </if>

    <!-- Windows 10 Welcome page strings -->
    <if expr="is_win">
      <message name="IDS_WIN10_WELCOME_OPEN_SETTINGS" desc="A link which, when clicked, will cause a particular page to open in the external Windows Settings dialog.">
        Open Windows Settings
      </message>
      <message name="IDS_WIN10_WELCOME_CLICK_EDGE" desc="An instruction asking the user to find the Web Browser section of the Windows Settings dialog, then click on Microsoft Edge, which is the current default.">
        Click <ph name="BEGIN_BOLD">&lt;strong&gt;</ph>Microsoft Edge<ph name="END_BOLD">&lt;/strong&gt;</ph> under Web Browser
      </message>
      <message name="IDS_WIN10_WELCOME_BROWSER_LABEL" desc="The label on the Default Web Browser section of the Windows Settings dialog. Used in a mock screenshot illustrating the dialog.">
        Web browser
      </message>
      <message name="IDS_WIN10_WELCOME_EDGE_LABEL" desc="The name of the Microsoft web browser. Used in a mock screenshot illustrating the Windows Settings dialog.">
        Microsoft Edge
      </message>
      <message name="IDS_WIN10_WELCOME_RIGHT_CLICK_TASKBAR" desc="An instruction asking the user to right click on the Chrome/Chromium logo appearing in their Windows taskbar.">
        Right click the <ph name="SMALL_PRODUCT_LOGO">&lt;div class="logo-small"&gt;&lt;/div&gt;</ph> icon in the taskbar
      </message>
      <message name="IDS_WIN10_WELCOME_PIN_INSTRUCTION" desc="An instruction asking the user to choose the Pin to Taskbar option from the right-click menu.">
        Select <ph name="BEGIN_BOLD">&lt;strong&gt;</ph>Pin to taskbar<ph name="END_BOLD">&lt;/strong&gt;</ph>
      </message>
      <message name="IDS_WIN10_WELCOME_PIN_LABEL" desc="The name of the option in the Windows right-click menu for pinning an app to the taskbar. Used in a mock screenshot illustrating the Windows Settings dialog.">
        Pin to taskbar
      </message>
      <message name="IDS_WIN10_WELCOME_CONTINUE" desc="The label on a button which navigates away from the Windows 10 Welcome page.">
        Continue
      </message>
    </if>

    <!-- Consistent omnibox geolocation -->
    <if expr="is_android">
        <message name="IDS_SEARCH_GEOLOCATION_DISCLOSURE_INFOBAR_TEXT" desc="Text to put in the infobar disclosing the default search engine's usage of location. The message contains a link to a settings page. The link text is a separate string in the translation console and appears here as a placeholder text.">
          <ph name="SEARCH_ENGINE_NAME">$1<ex>Google</ex></ph> uses your location to give you local content. You can change this in <ph name="SETTINGS_LINK">$2<ex>Settings</ex></ph>.
        </message>
        <message name="IDS_SEARCH_GEOLOCATION_DISCLOSURE_INFOBAR_SETTINGS_LINK_TEXT" desc="Text to put in the link to the Settings page in the search geolocation disclosure UI.">
          Settings
        </message>
    </if>

    <!-- NTP content suggestions strings -->
    <message name="IDS_NTP_DOWNLOAD_SUGGESTIONS_SECTION_HEADER" desc="Header of the downloads section, which is a list of pages (or files) that the user downloaded, displayed as cards on the New Tab Page.">
      Downloads
    </message>

    <message name="IDS_NTP_DOWNLOADS_SUGGESTIONS_SECTION_EMPTY" desc="On the New Tab Page, text of card explaining to the user that they can expect to see some download related content suggestions in this section in the future.">
      Your downloads appear here
    </message>

    <!-- Automation info bar -->
    <message name="IDS_CONTROLLED_BY_AUTOMATION" desc="Message shown when the browser session is being controlled by an automated test.">
      Chrome is being controlled by automated test software.
    </message>

    <!-- Media capture notification strings -->
    <if expr="is_android or enable_vr">
      <message name="IDS_VIDEO_CALL_NOTIFICATION_TEXT_2" desc="Text to be shown as a notification when a WebRTC video call is in progress." formatter_data="android_java">
        Accessing video input
      </message>
      <message name="IDS_AUDIO_CALL_NOTIFICATION_TEXT_2" desc="Text to be shown as a notification when a WebRTC audio call is in progress" formatter_data="android_java">
        Accessing audio input
      </message>
      <message name="IDS_VIDEO_AUDIO_CALL_NOTIFICATION_TEXT_2" desc="Text to be shown as a notification when a WebRTC video and audio call is in progress" formatter_data="android_java">
        Accessing audio and video input
      </message>
      <message name="IDS_SCREEN_CAPTURE_NOTIFICATION_TEXT_2" desc="Text to be shown as a notification when screen capture is in progress.">
        Sharing screen
      </message>
      <message name="IDS_VR_UNDER_DEVELOPMENT_NOTICE" desc="Text to be shown below the URL bar to announce that this is under development.">
        This is an early release. Some features, like search and text entry, are not yet available.
      </message>
      <message name="IDS_VR_POWERED_BY_CHROME_MESSAGE" desc="A message indicating that the current page is running in Chrome.">
        Powered by Chrome
      </message>
    </if>

    <!-- VR specific strings -->
    <if expr="enable_vr">
      <message name="IDS_PRESS_APP_TO_EXIT" desc="Text displayed in a transient bubble to tell users how to return from cinema mode (where the page displayed in a cinema like environment) or presentation mode (where the WebVR page occupies the entire screen) to normal mode.">
        Press App button to exit
      </message>
    </if>

    <!-- Experimental Fullscreen Exit Control strings -->
    <if expr="toolkit_views">
      <message name="IDS_FULLSCREEN_EXIT_CONTROL_EXIT_FULLSCREEN" desc="Text displayed in a button that exits fullscreen mode.">
        Exit Fullscreen
      </message>
    </if>
  </messages>
 </release>
</grit>
