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

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

<grit base_dir="." latest_public_release="0" current_release="1"
      source_lang_id="en" enc_check="möl">
  <outputs>
    <output filename="grit/generated_resources.h" type="rc_header">
      <emit emit_type='prepend'></emit>
    </output>
    <output filename="generated_resources_am.rc" type="rc_all" lang="am" />
    <output filename="generated_resources_ar.rc" type="rc_all" lang="ar" />
    <output filename="generated_resources_bg.rc" type="rc_all" lang="bg" />
    <output filename="generated_resources_bn.rc" type="rc_all" lang="bn" />
    <output filename="generated_resources_ca.rc" type="rc_all" lang="ca" />
    <output filename="generated_resources_cs.rc" type="rc_all" lang="cs" />
    <output filename="generated_resources_da.rc" type="rc_all" lang="da" />
    <output filename="generated_resources_de.rc" type="rc_all" lang="de" />
    <output filename="generated_resources_el.rc" type="rc_all" lang="el" />
    <output filename="generated_resources_en-GB.rc" type="rc_all" lang="en-GB" />
    <output filename="generated_resources_en-US.rc" type="rc_all" lang="en" />
    <output filename="generated_resources_es.rc" type="rc_all" lang="es" />
    <output filename="generated_resources_es-419.rc" type="rc_all" lang="es-419" />
    <output filename="generated_resources_et.rc" type="rc_all" lang="et" />
    <output filename="generated_resources_fa.rc" type="rc_all" lang="fa" />
    <output filename="generated_resources_fi.rc" type="rc_all" lang="fi" />
    <output filename="generated_resources_fil.rc" type="rc_all" lang="fil" />
    <output filename="generated_resources_fr.rc" type="rc_all" lang="fr" />
    <output filename="generated_resources_gu.rc" type="rc_all" lang="gu" />
    <output filename="generated_resources_he.rc" type="rc_all" lang="he" />
    <output filename="generated_resources_hi.rc" type="rc_all" lang="hi" />
    <output filename="generated_resources_hr.rc" type="rc_all" lang="hr" />
    <output filename="generated_resources_hu.rc" type="rc_all" lang="hu" />
    <output filename="generated_resources_id.rc" type="rc_all" lang="id" />
    <output filename="generated_resources_it.rc" type="rc_all" lang="it" />
    <output filename="generated_resources_ja.rc" type="rc_all" lang="ja" />
    <output filename="generated_resources_kn.rc" type="rc_all" lang="kn" />
    <output filename="generated_resources_ko.rc" type="rc_all" lang="ko" />
    <output filename="generated_resources_lt.rc" type="rc_all" lang="lt" />
    <output filename="generated_resources_lv.rc" type="rc_all" lang="lv" />
    <output filename="generated_resources_ml.rc" type="rc_all" lang="ml" />
    <output filename="generated_resources_mr.rc" type="rc_all" lang="mr" />
    <output filename="generated_resources_nl.rc" type="rc_all" lang="nl" />
    <!-- The translation console uses 'no' for Norwegian Bokmål. It should
         be 'nb'. -->
    <output filename="generated_resources_nb.rc" type="rc_all" lang="no" />
    <output filename="generated_resources_pl.rc" type="rc_all" lang="pl" />
    <output filename="generated_resources_pt-BR.rc" type="rc_all" lang="pt-BR" />
    <output filename="generated_resources_pt-PT.rc" type="rc_all" lang="pt-PT" />
    <output filename="generated_resources_ro.rc" type="rc_all" lang="ro" />
    <output filename="generated_resources_ru.rc" type="rc_all" lang="ru" />
    <output filename="generated_resources_sk.rc" type="rc_all" lang="sk" />
    <output filename="generated_resources_sl.rc" type="rc_all" lang="sl" />
    <output filename="generated_resources_sr.rc" type="rc_all" lang="sr" />
    <output filename="generated_resources_sv.rc" type="rc_all" lang="sv" />
    <output filename="generated_resources_sw.rc" type="rc_all" lang="sw" />
    <output filename="generated_resources_ta.rc" type="rc_all" lang="ta" />
    <output filename="generated_resources_te.rc" type="rc_all" lang="te" />
    <output filename="generated_resources_th.rc" type="rc_all" lang="th" />
    <output filename="generated_resources_tr.rc" type="rc_all" lang="tr" />
    <output filename="generated_resources_uk.rc" type="rc_all" lang="uk" />
    <output filename="generated_resources_vi.rc" type="rc_all" lang="vi" />
    <output filename="generated_resources_zh-CN.rc" type="rc_all" lang="zh-CN" />
    <output filename="generated_resources_zh-TW.rc" type="rc_all" lang="zh-TW" />
    <output filename="generated_resources_fake-bidi.rc" type="rc_all" lang="fake-bidi" />

    <output filename="generated_resources_am.pak" type="data_package" lang="am" />
    <output filename="generated_resources_ar.pak" type="data_package" lang="ar" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_ast.pak" type="data_package" lang="ast" />
    </if>
    <output filename="generated_resources_bg.pak" type="data_package" lang="bg" />
    <output filename="generated_resources_bn.pak" type="data_package" lang="bn" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_bs.pak" type="data_package" lang="bs" />
    </if>
    <output filename="generated_resources_ca.pak" type="data_package" lang="ca" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_ca@valencia.pak" type="data_package" lang="ca@valencia" />
    </if>
    <output filename="generated_resources_cs.pak" type="data_package" lang="cs" />
    <output filename="generated_resources_da.pak" type="data_package" lang="da" />
    <output filename="generated_resources_de.pak" type="data_package" lang="de" />
    <output filename="generated_resources_el.pak" type="data_package" lang="el" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_en-AU.pak" type="data_package" lang="en-AU" />
    </if>
    <output filename="generated_resources_en-GB.pak" type="data_package" lang="en-GB" />
    <output filename="generated_resources_en-US.pak" type="data_package" lang="en" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_eo.pak" type="data_package" lang="eo" />
    </if>
    <output filename="generated_resources_es.pak" type="data_package" lang="es" />
    <output filename="generated_resources_es-419.pak" type="data_package" lang="es-419" />
    <output filename="generated_resources_et.pak" type="data_package" lang="et" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_eu.pak" type="data_package" lang="eu" />
    </if>
    <output filename="generated_resources_fa.pak" type="data_package" lang="fa" />
    <output filename="generated_resources_fake-bidi.pak" type="data_package" lang="fake-bidi" />
    <output filename="generated_resources_fi.pak" type="data_package" lang="fi" />
    <output filename="generated_resources_fil.pak" type="data_package" lang="fil" />
    <output filename="generated_resources_fr.pak" type="data_package" lang="fr" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_gl.pak" type="data_package" lang="gl" />
    </if>
    <output filename="generated_resources_gu.pak" type="data_package" lang="gu" />
    <output filename="generated_resources_he.pak" type="data_package" lang="he" />
    <output filename="generated_resources_hi.pak" type="data_package" lang="hi" />
    <output filename="generated_resources_hr.pak" type="data_package" lang="hr" />
    <output filename="generated_resources_hu.pak" type="data_package" lang="hu" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_hy.pak" type="data_package" lang="hy" />
      <output filename="generated_resources_ia.pak" type="data_package" lang="ia" />
    </if>
    <output filename="generated_resources_id.pak" type="data_package" lang="id" />
    <output filename="generated_resources_it.pak" type="data_package" lang="it" />
    <output filename="generated_resources_ja.pak" type="data_package" lang="ja" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_ka.pak" type="data_package" lang="ka" />
    </if>
    <output filename="generated_resources_kn.pak" type="data_package" lang="kn" />
    <output filename="generated_resources_ko.pak" type="data_package" lang="ko" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_ku.pak" type="data_package" lang="ku" />
      <output filename="generated_resources_kw.pak" type="data_package" lang="kw" />
    </if>
    <output filename="generated_resources_lt.pak" type="data_package" lang="lt" />
    <output filename="generated_resources_lv.pak" type="data_package" lang="lv" />
    <output filename="generated_resources_ml.pak" type="data_package" lang="ml" />
    <output filename="generated_resources_mr.pak" type="data_package" lang="mr" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_ms.pak" type="data_package" lang="ms" />
    </if>
    <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" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="generated_resources_ug.pak" type="data_package" lang="ug" />
    </if>
    <output filename="generated_resources_uk.pak" type="data_package" lang="uk" />
    <output filename="generated_resources_vi.pak" type="data_package" lang="vi" />
    <output filename="generated_resources_zh-CN.pak" type="data_package" lang="zh-CN" />
    <output filename="generated_resources_zh-TW.pak" type="data_package" lang="zh-TW" />
  </outputs>
  <translations>
    <file path="resources/generated_resources_am.xtb" lang="am" />
    <file path="resources/generated_resources_ar.xtb" lang="ar" />
    <file path="../../third_party/launchpad_translations/generated_resources_ast.xtb" lang="ast" />
    <file path="resources/generated_resources_bg.xtb" lang="bg" />
    <file path="resources/generated_resources_bn.xtb" lang="bn" />
    <file path="../../third_party/launchpad_translations/generated_resources_bs.xtb" lang="bs" />
    <file path="resources/generated_resources_ca.xtb" lang="ca" />
    <file path="../../third_party/launchpad_translations/generated_resources_ca-valencia.xtb" lang="ca@valencia" />
    <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="../../third_party/launchpad_translations/generated_resources_en-AU.xtb" lang="en-AU" />
    <file path="resources/generated_resources_en-GB.xtb" lang="en-GB" />
    <file path="../../third_party/launchpad_translations/generated_resources_eo.xtb" lang="eo" />
    <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="../../third_party/launchpad_translations/generated_resources_eu.xtb" lang="eu" />
    <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="../../third_party/launchpad_translations/generated_resources_gl.xtb" lang="gl" />
    <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="../../third_party/launchpad_translations/generated_resources_hy.xtb" lang="hy" />
    <file path="../../third_party/launchpad_translations/generated_resources_ia.xtb" lang="ia" />
    <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="../../third_party/launchpad_translations/generated_resources_ka.xtb" lang="ka" />
    <file path="resources/generated_resources_kn.xtb" lang="kn" />
    <file path="resources/generated_resources_ko.xtb" lang="ko" />
    <file path="../../third_party/launchpad_translations/generated_resources_ku.xtb" lang="ku" />
    <file path="../../third_party/launchpad_translations/generated_resources_kw.xtb" lang="kw" />
    <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="../../third_party/launchpad_translations/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="../../third_party/launchpad_translations/generated_resources_ug.xtb" lang="ug" />
    <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">
      <!-- TODO add all of your "string table" messages here.  Remember to
      change nontranslateable parts of the messages into placeholders (using the
      <ph> element).  You can also use the 'grit add' tool to help you identify
      nontranslateable parts and create placeholders for them. -->
      <message name="IDS_BACKGROUND_APP_INSTALLED_BALLOON_TITLE" desc="The title of the balloon that is displayed when a background app is installed">
        New background app installed
      </message>
      <message name="IDS_BACKGROUND_APP_INSTALLED_BALLOON_BODY" desc="The contents of the balloon that is displayed when a background app is installed">
        <ph name="APP_NAME">$1<ex>Background App</ex></ph> will launch at system startup and continue to run in the background even once you've closed all other <ph name="PRODUCT_NAME">$2<ex>Google Chrome</ex></ph> windows.
      </message>
      <message name="IDS_BACKGROUND_CRASHED_APP_BALLOON_MESSAGE" desc="The contents of the balloon that is displayed when a background app crashes">
        <ph name="APP_NAME">$1<ex>Background App</ex></ph> has crashed. Click this balloon to restart the app.
      </message>
      <message name="IDS_BACKGROUND_CRASHED_EXTENSION_BALLOON_MESSAGE" desc="The contents of the balloon that is displayed when an extension crashes">
        <ph name="APP_NAME">$1<ex>Extension</ex></ph> has crashed. Click this balloon to reload the extension.
      </message>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_BACKGROUND_APP_NOT_INSTALLED" desc="In Title Case: Label displayed in the status icon context menu when a profile does not have any background apps running.">
          No Background Apps Running
        </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_BACKGROUND_APP_NOT_INSTALLED" desc="Label displayed in the status icon context menu when a profile does not have any background apps running.">
          No background apps running
        </message>
      </if>

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

      <message name="IDS_APPMENU_TOOLTIP" desc="The tooltip to show for the browser menu">
        Customize and control <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>
      </message>

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

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

      <message name="IDS_HISTORY_START_EDITING_HISTORY" desc="Title of the link that allows the user to enable controls for deleting single history items">
        Edit items...
      </message>
      <message name="IDS_HISTORY_STOP_EDITING_HISTORY" desc="Title of the link that allows the user to disable controls for deleting single history items">
        Done removing items
      </message>
      <message name="IDS_HISTORY_REMOVE_SELECTED_ITEMS" desc="Title of the button that allows the user to remove the selected history items">
        Remove selected items
      </message>
      <message name="IDS_HISTORY_OPEN_CLEAR_BROWSING_DATA_DIALOG" desc="Title of the button that will open the clear browsing data dialog.">
        Clear all browsing data...
      </message>
      <message name="IDS_HISTORY_DELETE_PRIOR_VISITS_WARNING" desc="Warning shown before deleting">
        Are you sure you want to delete these pages from your history?
      </message>

      <!-- History HTML UI -->
      <message name="IDS_HISTORY_LOADING" desc="Text shown when we're loading the user's history">
        Loading...
      </message>
      <message name="IDS_HISTORY_DATE_WITH_RELATIVE_TIME" desc="In the history view, some dates are formatted as 'Today - Wednesday, Nov 7, 2007">
        <ph name="RELATIVE_DATE">$1<ex>Today</ex></ph> - <ph name="FULL_DATE">$2<ex>Wednesday, Nov 7, 2007</ex></ph>
      </message>
      <message name="IDS_HISTORY_NO_RESULTS" desc="Text shown when no history search results have been found">
        No search results found.
      </message>
      <message name="IDS_HISTORY_NO_ITEMS" desc="Text shown when the user has no history">
        All the pages you visit will appear here unless you open them in an incognito window. You can use the Search button on this page to search all the pages in your history.
      </message>
      <message name="IDS_HISTORY_SEARCH_BUTTON" desc="Title of the button in the history page that triggers a search">
        Search history
      </message>
      <message name="IDS_HISTORY_NEWEST" desc="HTML text shown as page navigation tool to take the user to the top of their history">
        Newest
      </message>
      <message name="IDS_HISTORY_NEWER" desc="HTML text shown as page navigation tool to take the user back to the more recent page">
        Newer
      </message>
      <message name="IDS_HISTORY_OLDER" desc="HTML text shown as page navigation tool to take the user forward to their older history">
        Older
      </message>
      <message name="IDS_HISTORY_SEARCHRESULTSFOR" desc="Format string for search results">
        Search results for '<ph name="SEARCH_STRING">$1</ph>'
      </message>
      <message name="IDS_HISTORY_BROWSERESULTS" desc="Title of browsing results page">
        History
      </message>
      <message name="IDS_HISTORY_CONTINUED" desc="Shown after the date if the data is continued from the previous page">
        (Cont.)
      </message>
      <message name="IDS_HISTORY_ACTION_MENU_DESCRIPTION" desc="Text used to identify the history entry drop-down menu for screen readers">
        Actions
      </message>
      <message name="IDS_HISTORY_REMOVE_PAGE" desc="Command in the history entry drop-down menu. Removes a page from the history.">
        Remove from history
      </message>
      <message name="IDS_HISTORY_MORE_FROM_SITE" desc="Command in the history entry drop-down menu. Shows more history entries from the same site.">
        More from this site
      </message>

      <!-- Generic terms -->
      <message name="IDS_OK" desc="Used for Ok on buttons">
        OK
      </message>
      <message name="IDS_CANCEL" desc="Used for Cancel on buttons">
        Cancel
      </message>
      <message name="IDS_EDIT" desc="Edit menu item">
        &amp;Edit
      </message>
      <message name="IDS_LEARN_MORE" desc="Learn more text">
        Learn more
      </message>
      <message name="IDS_CLOSE" desc="A generic term for Close on buttons and menus.">
        Close
      </message>
      <message name="IDS_DONE" desc="A generic term for Done on buttons and menus.">
        Done
      </message>
      <message name="IDS_SKIP" desc="A generic term for Skip on buttons and menus.">
        Skip
      </message>
      <message name="IDS_ACCNAME_TAB" desc="A generic description of a tab button's role">
        Tab
      </message>

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

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

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

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

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

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

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

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

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

        <message name="IDS_CONTENT_CONTEXT_UNDO" desc="The name of the Undo command in the content area context menu">
          &amp;Undo
        </message>
        <message name="IDS_CONTENT_CONTEXT_REDO" desc="The name of the Redo command in the content area context menu">
          &amp;Redo
        </message>
        <message name="IDS_CONTENT_CONTEXT_CUT" desc="The name of the Cut command in the content area context menu">
          Cu&amp;t
        </message>
        <message name="IDS_CONTENT_CONTEXT_COPY" desc="The name of the Copy command in the content area context menu">
          &amp;Copy
        </message>
        <message name="IDS_CONTENT_CONTEXT_PASTE" desc="The name of the Paste command in the content area context menu">
          &amp;Paste
        </message>
        <message name="IDS_CONTENT_CONTEXT_DELETE" desc="The name of the Delete command in the content area context menu">
          &amp;Delete
        </message>
        <message name="IDS_CONTENT_CONTEXT_ADD_TO_DICTIONARY" desc="The name of the Add to dictionary command in the content area context menu">
          &amp;Add to dictionary
        </message>
        <message name="IDS_CONTENT_CONTEXT_NO_SPELLING_SUGGESTIONS" desc="The name of the No Spelling Suggestions display in the content area context menu">
          &amp;No spelling suggestions
        </message>
        <message name="IDS_CONTENT_CONTEXT_SPELLCHECK_MENU" desc="The name of the Spellcheck Options submenu in the content area context menu">
          &amp;Spell-checker options
        </message>
        <message name="IDS_CONTENT_CONTEXT_LANGUAGE_SETTINGS" desc="The name of the Language Settings command in the content area context menu">
          &amp;Language settings...
        </message>
        <message name="IDS_CONTENT_CONTEXT_CHECK_SPELLING_OF_THIS_FIELD" desc="The name of the Check the spelling of this field command in the content area context menu">
          &amp;Check the spelling of this field
        </message>
        <message name="IDS_CONTENT_CONTEXT_SHOW_SPELLING_PANEL" desc="The name of the Show Spelling Panel command in the content area context menu">
          &amp;Show spelling panel
        </message>
        <message name="IDS_CONTENT_CONTEXT_HIDE_SPELLING_PANEL" desc="The name of the Hide Spelling Panel command in the content area context menu">
          &amp;Hide spelling panel
        </message>
        <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_GOTOURL" desc="The name of the Go to 'url' command in the content area context menu">
          &amp;Go to <ph name="URL">$1<ex>http://www.google.com/</ex></ph>
        </message>
        <message name="IDS_CONTENT_CONTEXT_ADDSEARCHENGINE" desc="The name of the Add as Search Engine command in the content area context menu">
          Add as search en&amp;gine...
        </message>
        <message name="IDS_CONTENT_CONTEXT_INPUT_METHODS_MENU" desc="The name of the input method submenu in the content area context menu">
          Input &amp;methods
        </message>
        <message name="IDS_CONTENT_CONTEXT_PLUGIN_RUN" desc="The name of the Run command on the blocked plugin context menu">
          Run this 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>
        <message name="IDS_CONTENT_CONTEXT_SPEECH_INPUT_MENU" desc="The name of the Speech input options submenu in the content area context menu">
          Voice recognition options
        </message>
        <message name="IDS_CONTENT_CONTEXT_SPEECH_INPUT_CENSOR_RESULTS" desc="The name of the offensive word filtering command in the content area context menu">
          Block offensive words
        </message>
        <message name="IDS_CONTENT_CONTEXT_SPEECH_INPUT_ABOUT" desc="The name of the Speech input About command in the content area context menu">
          About voice recognition
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_CONTENT_CONTEXT_BACK" desc="In Title Case: The name of the Back command in the content area context menu">
          &amp;Back
        </message>
        <message name="IDS_CONTENT_CONTEXT_FORWARD" desc="In Title Case: The name of the Forward command in the content area context menu">
          &amp;Forward
        </message>
        <message name="IDS_CONTENT_CONTEXT_SAVEPAGEAS" desc="In Title Case: The name of the Save Page As command in the content area context menu">
          Save &amp;As...
        </message>
        <message name="IDS_CONTENT_CONTEXT_PRINT" desc="In Title Case: The name of the Print... command in the content area context menu. Brings a dialog to select the print options">
          P&amp;rint...
        </message>
        <message name="IDS_CONTENT_CONTEXT_VIEWPAGESOURCE" desc="In Title Case: The name of the View Page Source command in the content area context menu">
          &amp;View Page Source
        </message>
        <message name="IDS_CONTENT_CONTEXT_OPENLINKWITH" desc="In Title Case: The name of the Open Link With... command in the content area context menu">
          Open Link With...
        </message>
        <message name="IDS_CONTENT_CONTEXT_OPENLINKWITH_CONFIGURE" desc="In Title Case: The name of the command to configure what handlers are available for the Open Link With... command">
          Configure...
        </message>
        <message name="IDS_CONTENT_CONTEXT_VIEWPAGEINFO" desc="In Title Case: The name of the View Page Info command in the content area context menu">
          View Page &amp;Info
        </message>
        <message name="IDS_CONTENT_CONTEXT_INSPECTELEMENT" desc="In Title Case: The name of the Inspect Element command in the content area context menu">
          I&amp;nspect Element
        </message>
        <message name="IDS_CONTENT_CONTEXT_RELOAD" desc="In Title Case: The name of the Reload command in the content area context menu">
          Re&amp;load
        </message>
        <message name="IDS_CONTENT_CONTEXT_TRANSLATE" desc="In Title Case: The name of the Translate command in the content area context menu">
          &amp;Translate to <ph name="LANGUAGE">$1<ex>English</ex></ph>
        </message>

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

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

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

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

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

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

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

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

        <message name="IDS_CONTENT_CONTEXT_UNDO" desc="In Title Case: The name of the Undo command in the content area context menu">
          &amp;Undo
        </message>
        <message name="IDS_CONTENT_CONTEXT_REDO" desc="In Title Case: The name of the Redo command in the content area context menu">
          &amp;Redo
        </message>
        <message name="IDS_CONTENT_CONTEXT_CUT" desc="In Title Case: The name of the Cut command in the content area context menu">
          Cu&amp;t
        </message>
        <message name="IDS_CONTENT_CONTEXT_COPY" desc="In Title Case: The name of the Copy command in the content area context menu">
          &amp;Copy
        </message>
        <message name="IDS_CONTENT_CONTEXT_PASTE" desc="In Title Case: The name of the Paste command in the content area context menu">
          &amp;Paste
        </message>
        <message name="IDS_CONTENT_CONTEXT_DELETE" desc="In Title Case: The name of the Delete command in the content area context menu">
          &amp;Delete
        </message>
        <message name="IDS_CONTENT_CONTEXT_ADD_TO_DICTIONARY" desc="In Title Case: The name of the Add to dictionary command in the content area context menu">
          &amp;Add to Dictionary
        </message>
        <message name="IDS_CONTENT_CONTEXT_NO_SPELLING_SUGGESTIONS" desc="In Title Case: The name of the No Spelling Suggestions display in the content area context menu">
          &amp;No Spelling Suggestions
        </message>
        <message name="IDS_CONTENT_CONTEXT_SPELLCHECK_MENU" desc="In Title Case: The name of the Spellcheck Options submenu in the content area context menu">
          &amp;Spell-checker Options
        </message>
        <message name="IDS_CONTENT_CONTEXT_LANGUAGE_SETTINGS" desc="In Title Case: The name of the Language Settings command in the content area context menu">
          &amp;Language Settings...
        </message>
        <message name="IDS_CONTENT_CONTEXT_CHECK_SPELLING_OF_THIS_FIELD" desc="In Title Case: The name of the Check the spelling of this field command in the content area context menu">
          &amp;Check Spelling in This Field
        </message>
        <message name="IDS_CONTENT_CONTEXT_SHOW_SPELLING_PANEL" desc="In Title Case: The name of the Show Spelling Panel command in the content area context menu">
          &amp;Show Spelling Panel
        </message>
        <message name="IDS_CONTENT_CONTEXT_HIDE_SPELLING_PANEL" desc="In Title Case: The name of the Hide Spelling Panel command in the content area context menu">
          &amp;Hide Spelling Panel
        </message>
        <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_GOTOURL" desc="In Title Case: The name of the Go to url for 'string' command in the content area context menu">
          &amp;Go to <ph name="URL">$1<ex>http://www.google.com/</ex></ph>
        </message>
        <message name="IDS_CONTENT_CONTEXT_ADDSEARCHENGINE" desc="In Title Case: The name of the Add as Search Engine command in the content area context menu">
          Add As Search En&amp;gine...
        </message>
        <message name="IDS_CONTENT_CONTEXT_INPUT_METHODS_MENU" desc="In Title Case: The name of the input method submenu in the content area context menu">
          Input &amp;Methods
        </message>
        <message name="IDS_CONTENT_CONTEXT_PLUGIN_RUN" desc="In Title Case: The name of the Run command on the blocked plugin context menu">
          Run This 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>
        <message name="IDS_CONTENT_CONTEXT_SPEECH_INPUT_MENU" desc="In Title Case: The name of the Speech input options submenu in the content area context menu">
          Voice Recognition Options
        </message>
        <message name="IDS_CONTENT_CONTEXT_SPEECH_INPUT_CENSOR_RESULTS" desc="In Title Case: The name of the offensive word filtering command in the content area context menu">
          Block Offensive Words
        </message>
        <message name="IDS_CONTENT_CONTEXT_SPEECH_INPUT_ABOUT" desc="In Title Case: The name of the Speech input About command in the content area context menu">
          About Voice Recognition
        </message>
      </if>

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

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

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

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

      <!-- App menu -->
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_SHOW_HISTORY" desc="The show history menu in the app menu">
          &amp;History
        </message>
        <message name="IDS_SHOW_BOOKMARK_BAR" desc="The toggle to show the bookmark bar">
          &amp;Always show bookmarks bar
        </message>
        <message name="IDS_PROFILING_ENABLED" desc="The toggle to turn profiling on / off">
          &amp;Profiling enabled
        </message>
        <message name="IDS_FULLSCREEN" desc="Switches into fullscreen mode">
          &amp;Full screen
        </message>
        <message name="IDS_ACCNAME_FULLSCREEN" desc="The accessible name of the fullscreen button in the new merged menu">
          Full screen
        </message>
        <message name="IDS_CLEAR_BROWSING_DATA" desc="The text label for the menu item for clearing of browsing data">
          &amp;Clear browsing data...
        </message>
        <message name="IDS_SHOW_DOWNLOADS" desc="The show downloads menu in the app menu">
          &amp;Downloads
        </message>
        <message name="IDS_SHOW_EXTENSIONS" desc="The show extensions menu in the app menu">
          &amp;Extensions
        </message>
        <message name="IDS_SETTINGS" desc="The text label of the Settings menu item">
          &amp;Settings
        </message>
        <message name="IDS_OPTIONS" desc="The text label of the Options menu item">
          &amp;Options
        </message>
        <message name="IDS_HELP_PAGE" desc="The text label of the Help menu item">
          H&amp;elp
        </message>
        <message name="IDS_ABOUT" desc="The text label of the About Chrome menu item">
          About &amp;<ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>
        </message>
        <message name="IDS_UPDATE_NOW" desc="The text label of the Update Chrome Now menu item">
          Update &amp;<ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>
        </message>
        <message name="IDS_VIEW_INCOMPATIBILITIES" desc="The text label of the View incompatibilities menu item">
          View incompatibilities
        </message>
        <message name="IDS_VIEW_BACKGROUND_PAGES" desc="The text label of the View background pages menu item">
          View background pages (<ph name="NUM_BACKGROUND_APPS">$1<ex>3</ex></ph>)
        </message>
        <message name="IDS_EXIT" desc="The text label of the Exit menu item">
          E&amp;xit
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_SHOW_HISTORY" desc="In Title Case: The show history menu in the app menu">
          &amp;History
        </message>
        <message name="IDS_SHOW_BOOKMARK_BAR" desc="In Title Case: The toggle to show the bookmark bar">
          &amp;Always Show Bookmarks Bar
        </message>
        <message name="IDS_PROFILING_ENABLED" desc="In Title Case: The toggle to turn profiling on / off">
          &amp;Profiling Enabled
        </message>
        <message name="IDS_FULLSCREEN" desc="In Title Case: Switches into fullscreen mode">
          &amp;Full Screen
        </message>
        <message name="IDS_CLEAR_BROWSING_DATA" desc="In Title Case: The text label for the menu item for clearing of browsing data">
          &amp;Clear Browsing Data...
        </message>
        <message name="IDS_SHOW_DOWNLOADS" desc="In Title Case: The show downloads menu in the app menu">
          &amp;Downloads
        </message>
        <message name="IDS_SHOW_EXTENSIONS" desc="In Title Case: The show extensions menu in the app menu">
          &amp;Extensions
        </message>
        <message name="IDS_SETTINGS" desc="In Title Case: The text label of the Settings menu item">
          &amp;Settings
        </message>
        <message name="IDS_OPTIONS" desc="In Title Case: The text label of the Options menu item">
          &amp;Options
        </message>
        <message name="IDS_HELP_PAGE" desc="In Title Case: The text label of the Help menu item">
          H&amp;elp
        </message>
        <message name="IDS_ABOUT" desc="In Title Case: The text label of the About Chrome menu item">
          About &amp;<ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>
        </message>
        <message name="IDS_UPDATE_NOW" desc="In Title Case: The text label of the Update Chrome Now menu item">
          Update &amp;<ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>
        </message>
        <message name="IDS_VIEW_INCOMPATIBILITIES" desc="The text label of the View incompatibilities menu item">
          View Incompatibilities
        </message>
        <message name="IDS_VIEW_BACKGROUND_PAGES" desc="The text label of the View background pages menu item">
          View Background Pages (<ph name="NUM_BACKGROUND_APPS">$1<ex>3</ex></ph>)
        </message>
        <message name="IDS_EXIT" desc="In Title Case: The text label of the Exit menu item">
          E&amp;xit
        </message>
      </if>
      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_SIGN_OUT" desc="The text label of the Sign Out menu item">
          Sign out
        </message>
        <message name="IDS_EXIT_GUEST_MODE" desc="The text label of the Exit guest session menu item">
          Exit guest session
        </message>
      </if>

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

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

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

      <message name="IDS_DEFAULT_SEARCH_TITLE" desc="The title of the default search engine dialog. This dialog asks if the user would like to set a new default search engine.">
        Change Default Search Engine
      </message>

      <message name="IDS_DEFAULT_SEARCH_SUMMARY" desc="Text at the top of the dialog to explain why the dialog is displayed. Displayed in the default search engine dialog.">
        <ph name="ENGINE_HOST_NAME">$1<ex>google.com</ex></ph> wants to be your search engine.
       </message>
      <message name="IDS_DEFAULT_SEARCH_LABEL_CURRENT" desc="The text above the button which keeps the current search engine. Displayed in the default search engine dialog.">
        Current search engine:
      </message>
      <message name="IDS_DEFAULT_SEARCH_LABEL_PROPOSED" desc="The text above the button which accepts a new default search engine. Displayed in the default search engine dialog.">
        New search engine:
      </message>
      <message name="IDS_DEFAULT_SEARCH_PROMPT_PROPOSED" desc="The text below the button which accepts a new default search engine. Displayed in the default search engine dialog.">
        Change to <ph name="ENGINE_NAME">$1<ex>Google</ex></ph>
      </message>
      <message name="IDS_DEFAULT_SEARCH_PROMPT_CURRENT" desc="The text below the button which keeps the current search engine. Displayed in the default search engine dialog.">
        Keep using <ph name="ENGINE_NAME">$1<ex>Google</ex></ph>
      </message>

      <message name="IDS_TIME_SECS_DEFAULT"
               desc="This is necessary for every language. This is the default for all the numbers NOT covered by special cases (singular, dual/two, few, many) some languages need. For CJK, Vietnamese, Turkish and Kannada, this is the only string necessary. For languages with singular-plural distinction, this is the generic plural. For Lithuanian, NUMBER_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> secs
      </message>

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

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

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

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

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


      <message name="IDS_TIME_MINS_DEFAULT"
               desc="This is necessary for every language. This is the default for all the numbers NOT covered by special cases (singular, dual/two, few, many) some languages need. For CJK, Vietnamese, Turkish and Kannada, this is the only string necessary. For languages with singular-plural distinction, this is the generic plural. For Lithuanian, NUMBER_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> mins
      </message>

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

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

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

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

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


      <message name="IDS_TIME_HOURS_DEFAULT"
               desc="This is necessary for every language. This is the default for all the numbers NOT covered by special cases (singular, dual/two, few, many) some languages need. For CJK, Vietnamese, Turkish and Kannada, this is the only string necessary. For languages with singular-plural distinction, this is the generic plural. For Lithuanian, NUMBER_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> hours
      </message>

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

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

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

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

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


      <message name="IDS_TIME_DAYS_DEFAULT"
               desc="This is necessary for every language. This is the default for all the numbers NOT covered by special cases (singular, dual/two, few, many) some languages need. For CJK, Vietnamese, Turkish and Kannada, this is the only string necessary. For languages with singular-plural distinction, this is the generic plural. For Lithuanian, NUMBER_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> days
      </message>

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

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

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

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

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


      <message name="IDS_TIME_REMAINING_SECS_DEFAULT"
               desc="This is necessary for every language. This is the default for all the numbers NOT covered by special cases (singular, dual/two, few, many) some languages need. For CJK, Vietnamese, Turkish and Kannada, this is the only string necessary. For languages with singular-plural distinction, this is the generic plural. For Lithuanian, NUMBER_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> secs left
      </message>

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

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

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

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

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


      <message name="IDS_TIME_REMAINING_MINS_DEFAULT"
               desc="This is necessary for every language. This is the default for all the numbers NOT covered by special cases (singular, dual/two, few, many) some languages need. For CJK, Vietnamese, Turkish and Kannada, this is the only string necessary. For languages with singular-plural distinction, this is the generic plural. For Lithuanian, NUMBER_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> mins left
      </message>

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

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

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

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

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


      <message name="IDS_TIME_REMAINING_HOURS_DEFAULT"
               desc="This is necessary for every language. This is the default for all the numbers NOT covered by special cases (singular, dual/two, few, many) some languages need. For CJK, Vietnamese, Turkish and Kannada, this is the only string necessary. For languages with singular-plural distinction, this is the generic plural. For Lithuanian, NUMBER_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> hours left
      </message>

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

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

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

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

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


      <message name="IDS_TIME_REMAINING_DAYS_DEFAULT"
               desc="This is necessary for every language. This is the default for all the numbers NOT covered by special cases (singular, dual/two, few, many) some languages need. For CJK, Vietnamese, Turkish and Kannada, this is the only string necessary. For languages with singular-plural distinction, this is the generic plural. For Lithuanian, NUMBER_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> days left
      </message>

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

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

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

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

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


      <message name="IDS_TIME_ELAPSED_SECS_DEFAULT"
               desc="This is necessary for every language. This is the default for all the numbers NOT covered by special cases (singular, dual/two, few, many) some languages need. For CJK, Vietnamese, Turkish and Kannada, this is the only string necessary. For languages with singular-plural distinction, this is the generic plural. For Lithuanian, NUMBER_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> secs ago
      </message>

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

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

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

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

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


      <message name="IDS_TIME_ELAPSED_MINS_DEFAULT"
               desc="This is necessary for every language. This is the default for all the numbers NOT covered by special cases (singular, dual/two, few, many) some languages need. For CJK, Vietnamese, Turkish and Kannada, this is the only string necessary. For languages with singular-plural distinction, this is the generic plural. For Lithuanian, NUMBER_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> mins ago
      </message>

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

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

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

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

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


      <message name="IDS_TIME_ELAPSED_HOURS_DEFAULT"
               desc="This is necessary for every language. This is the default for all the numbers NOT covered by special cases (singular, dual/two, few, many) some languages need. For CJK, Vietnamese, Turkish and Kannada, this is the only string necessary. For languages with singular-plural distinction, this is the generic plural. For Lithuanian, NUMBER_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> hours ago
      </message>

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

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

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

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

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


      <message name="IDS_TIME_ELAPSED_DAYS_DEFAULT"
               desc="This is necessary for every language. This is the default for all the numbers NOT covered by special cases (singular, dual/two, few, many) some languages need. For CJK, Vietnamese, Turkish and Kannada, this is the only string necessary. For languages with singular-plural distinction, this is the generic plural. For Lithuanian, NUMBER_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> days ago
      </message>

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

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

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

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

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

      <message name="IDS_PAST_TIME_TODAY" desc="Relative day today">
        Today
      </message>
      <message name="IDS_PAST_TIME_YESTERDAY" desc="Relative day yesterday">
        Yesterday
      </message>
      <!-- Download Shelf-->
      <if expr="is_macosx">
        <message name="IDS_SHOW_ALL"
                 desc="In Title Case: Button text on a button that opens the downloads page">
          Show All
        </message>
      </if>
      <message name="IDS_SHOW_ALL_DOWNLOADS"
               desc="Link label shown at the corner of the download shelf">
        Show all downloads...
      </message>
      <message name="IDS_DOWNLOAD_STATUS_INTERRUPTED"
               desc="The download experienced an error and was interrupted, size downloaded/total.">
        <ph name="DOWNLOAD_RECEIVED">$1<ex>54kB</ex></ph>/<ph name="DOWNLOAD_TOTAL">$2<ex>154MB</ex></ph>, Interrupted
      </message>

      <!-- Download Shelf Items -->
      <message name="IDS_DOWNLOAD_STATUS_STARTING"
               desc="When starting a download, let the user know we're starting the download.">
        Starting...
      </message>
      <message name="IDS_DOWNLOAD_STATUS_IN_PROGRESS"
               desc="Size and units downloaded, time remaining.">
        <ph name="DOWNLOAD_RECEIVED">$1<ex>54kB</ex></ph>/<ph name="DOWNLOAD_TOTAL">$2<ex>154MB</ex></ph>, <ph name="TIME_LEFT">$3<ex>5s</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_CRX_INSTALL_RUNNING"
               desc="Message shown when a CRX has been downloaded and is being unpacked.">
        Installing...
      </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_CANCELED" desc="Text that appears under the downloaded files that have been canceled.">
        Canceled
      </message>
      <message name="IDS_DOWNLOAD_STATUS_REMOVED" desc="Text that appears under the downloaded files that have been removed.">
        Removed
      </message>
      <message name="IDS_DOWNLOAD_UNCONFIRMED_PREFIX" desc="The prefix used in the unconfirmed download file.">
        Unconfirmed
      </message>

      <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>
      <message name="IDS_PROMPT_UNSAFE_DOWNLOAD_URL"
         desc="Message shown to the user to validate the download when the download url is classified to lead to malware by the safebrowsing database.">
        This file is malicious. Do you want to keep it anyway?
      </message>
      <message name="IDS_CONFIRM_DOWNLOAD"
               desc="Text for the button used to validate the downloading of a dangerous download.">
        Keep
      </message>
      <message name="IDS_CONTINUE_EXTENSION_DOWNLOAD"
               desc="Text for the button used to validate the installation of an extension.">
        Continue
      </message>
      <message name="IDS_DISCARD_DOWNLOAD"
               desc="Text for the button used to stop a dangerous download.">
        Discard
      </message>

      <!-- Download Tab Items -->
      <message name="IDS_DOWNLOAD_LINK_PAUSE"
               desc="In the download view, 'Pause' link text">
        Pause
      </message>
      <message name="IDS_DOWNLOAD_SEARCH_BUTTON" desc="Title of the button in the download page that triggers a search">
        Search downloads
      </message>
      <message name="IDS_DOWNLOAD_SEARCHRESULTSFOR" desc="Format string for search results">
        Search results for '<ph name="SEARCH_STRING">$1</ph>'
      </message>
      <message name="IDS_DOWNLOAD_LINK_RESUME"
               desc="In the download view, 'Resume' link text">
        Resume
      </message>
      <message name="IDS_DOWNLOAD_LINK_REMOVE"
               desc="In the download view, 'Remove from list' link text">
        Remove from list
      </message>
      <message name="IDS_DOWNLOAD_LINK_CANCEL"
               desc="In the download view, 'Cancel' link text">
        Cancel
      </message>
      <message name="IDS_DOWNLOAD_LINK_RETRY"
               desc="In the download view, 'Retry download' link text">
        Retry download
      </message>
      <if expr="not is_macosx">
        <message name="IDS_DOWNLOAD_LINK_SHOW"
                 desc="In the download view, 'Show in folder' link text">
          Show in folder
        </message>
      </if>
      <if expr="is_macosx">
        <message name="IDS_DOWNLOAD_LINK_SHOW"
                 desc="Mac: In the download view, 'Show in Finder' link text">
          Show in Finder
        </message>
      </if>
      <message name="IDS_DOWNLOAD_TAB_CANCELED"
               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 next to the downloaded files that have been removed">
        Removed
      </message>
      <message name="IDS_DOWNLOAD_TAB_PROGRESS_STATUS_TIME_UNKNOWN"
               desc="The status text for a download in progress in the download manager. This includes information such as speed and received byte counts and is used when we do not know the remaining time">
        <ph name="SPEED">$1<ex>10kB/s</ex></ph> - <ph name="RECEIVED_AMOUNT">$2<ex>40kB</ex></ph>
      </message>
      <message name="IDS_DOWNLOAD_TAB_PROGRESS_STATUS"
               desc="The status text for a download in progress in the download manager. This includes information such as speed, received byte counts as well as remaining time">
        <ph name="SPEED">$1<ex>10kB/s</ex></ph> - <ph name="RECEIVED_AMOUNT">$2<ex>40kB</ex></ph>, <ph name="TIME_REMAINING">$3<ex>42 mins left</ex></ph>
      </message>
      <message name="IDS_DOWNLOAD_TAB_PROGRESS_SIZE"
               desc="Speed and received byte counts (with total)">
        <ph name="RECEIVED_AMOUNT">$1<ex>40kB</ex></ph> of <ph name="TOTAL_SIZE">$2<ex>250kB</ex></ph>
      </message>
      <message name="IDS_DOWNLOAD_PROGRESS_PAUSED"
               desc="Indicate the download is in progress but paused">
        Paused
      </message>
      <message name="IDS_DOWNLOAD_PROGRESS_INTERRUPTED"
               desc="Indicate the download was interrupted">
        Interrupted
      </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>

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

      <!-- Remove in-progress downloads confirmation dialog -->
      <message name="IDS_SINGLE_DOWNLOAD_REMOVE_CONFIRM_WARNING" desc="Title of the dialog asking for user confirmation to close the browser when one download is in-progress.">
        Do you want to exit <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> with a download in progress?
      </message>
      <message name="IDS_MULTIPLE_DOWNLOADS_REMOVE_CONFIRM_WARNING" desc="Title of the dialog asking for user confirmation to close the browser when multiple downloads are in-progress.">
        Do you want to exit <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> with <ph name="DOWNLOAD_COUNT">$2<ex>3</ex></ph> downloads in progress?
      </message>
      <message name="IDS_SINGLE_DOWNLOAD_REMOVE_CONFIRM_EXPLANATION" desc="Explanation of the dialog asking for user confirmation to close the browser when one download is in-progress.">
        If you close <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> now, this download will be canceled.
      </message>
      <message name="IDS_MULTIPLE_DOWNLOADS_REMOVE_CONFIRM_EXPLANATION" desc="Explanation of the dialog asking for user confirmation to close the browser when multiple downloads are in-progress.">
        If you close <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> now, these downloads will be canceled.
      </message>
      <message name="IDS_SINGLE_DOWNLOAD_REMOVE_CONFIRM_OK_BUTTON_LABEL" desc="Button text for OKing to close the browser when a single download is in-progress.">
        Close and cancel download
      </message>
      <message name="IDS_MULTIPLE_DOWNLOADS_REMOVE_CONFIRM_OK_BUTTON_LABEL" desc="Button text for OKing to close the browser when multiple downloads are in-progress.">
        Close and cancel downloads
      </message>
      <message name="IDS_SINGLE_DOWNLOAD_REMOVE_CONFIRM_CANCEL_BUTTON_LABEL" desc="Button text for canceling the closing of the browser when a single download is in-progress.">
        Wait for download to finish
      </message>
      <message name="IDS_MULTIPLE_DOWNLOADS_REMOVE_CONFIRM_CANCEL_BUTTON_LABEL" desc="Button text for canceling the closing of the browser when downloads are in-progress.">
        Wait for downloads to finish
      </message>

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

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

      <!-- Content blocking strings -->
      <message name="IDS_BLOCKED_COOKIES_TITLE" desc="Tooltip and bubble info header text when a page is not allowed to write cookies or other site data.">
        This page was prevented from setting cookies.
      </message>
      <message name="IDS_ACCESSED_COOKIES_TITLE" desc="Tooltip and bubble info header text when a page wrote cookies or other site data.">
        This page set cookies.
      </message>
      <message name="IDS_BLOCKED_COOKIES_LINK" desc="Link to cookie section of content blocking management dialog, displayed in bubble when a page tries to write cookies or other site data.">
        Manage cookie blocking...
      </message>
      <message name="IDS_BLOCKED_COOKIES_INFO" desc="Info link to a dialog showing the blocked/allowed cookies, displayed in bubble when a page tries to write cookies or other site data.">
        Show cookies and other site data...
      </message>
      <message name="IDS_BLOCKED_IMAGES_TITLE" desc="Tooltip and bubble info header text when a page is not allowed to display images.">
        Images were blocked on this page.
      </message>
      <message name="IDS_BLOCKED_COOKIES_UNBLOCK" desc="Radio button choice to unblock a site from setting cookies, displayed in bubble when a page tries to set cookies.">
        Always allow <ph name="HOST">$1<ex>mail.google.com</ex></ph> to set cookies
      </message>
      <message name="IDS_BLOCKED_IMAGES_UNBLOCK" desc="Radio button choice to unblock a site from showing images, displayed in bubble when a page tries to display images.">
        Always allow <ph name="HOST">$1<ex>mail.google.com</ex></ph> to show images
      </message>
      <message name="IDS_BLOCKED_COOKIES_NO_ACTION" desc="Radio button choice to continue blocking a site from setting cookies, displayed in bubble when a page tries to set cookies.">
        Continue blocking cookies
      </message>
      <message name="IDS_BLOCKED_IMAGES_NO_ACTION" desc="Radio button choice to continue blocking a site from showing images, displayed in bubble when a page tries to display images.">
        Continue blocking images
      </message>
      <message name="IDS_BLOCKED_IMAGES_LINK" desc="Link to images section of content blocking management dialog, displayed in bubble when a page tries to display images.">
        Manage image blocking...
      </message>
      <message name="IDS_BLOCKED_POPUPS_TOOLTIP" desc="Tooltip text when a page is not allowed to display popups.">
        Pop-ups were blocked on this page.
      </message>
      <message name="IDS_BLOCKED_POPUPS_TITLE" desc="Bubble info header text when a page is not allowed to display popups.  This appears above a list of popup titles.">
        The following pop-ups were blocked on this page:
      </message>
      <message name="IDS_BLOCKED_POPUPS_UNBLOCK" desc="Radio button choice to unblock a site from showing popups, displayed in bubble when a page tries to display popups.">
        Always allow pop-ups from <ph name="HOST">$1<ex>mail.google.com</ex></ph>
      </message>
      <message name="IDS_BLOCKED_POPUPS_NO_ACTION" desc="Radio button choice to continue blocking a site from showing popups, displayed in bubble when a page tries to display popups.">
        Continue blocking pop-ups
      </message>
      <message name="IDS_BLOCKED_POPUPS_LINK" desc="Link to popups section of content blocking management dialog, displayed in bubble when a page tries to display popups.">
        Manage pop-up blocking...
      </message>
      <message name="IDS_BLOCKED_POPUPS_EXPLANATORY_TEXT" desc="Explanatory animated text that appears (and then disappears) in the address line when popup is blocked">
        Pop-up blocked
      </message>
      <message name="IDS_BLOCKED_JAVASCRIPT_TITLE" desc="Tooltip and bubble info header text when a page is not allowed to run JavaScript.">
        JavaScript was blocked on this page.
      </message>
      <message name="IDS_BLOCKED_JAVASCRIPT_UNBLOCK" desc="Radio button choice to unblock a site from running JavaScript, displayed in bubble when a page tries to run JavaScript.">
        Always allow JavaScript on <ph name="HOST">$1<ex>mail.google.com</ex></ph>
      </message>
      <message name="IDS_BLOCKED_JAVASCRIPT_NO_ACTION" desc="Radio button choice to continue blocking a site from running JavaScript, displayed in bubble when a page tries to run JavaScript.">
        Continue blocking JavaScript
      </message>
      <message name="IDS_BLOCKED_JAVASCRIPT_LINK" desc="Link to JavaScript section of content blocking management dialog, displayed in bubble when a page tries to run JavaScript.">
        Manage JavaScript blocking...
      </message>
      <message name="IDS_BLOCKED_PLUGINS_TITLE" desc="Bubble info header text when a page is not allowed to display plug-ins.">
        The following plug-ins were blocked on this page:
      </message>
      <message name="IDS_BLOCKED_PLUGINS_MESSAGE" desc="Tooltip and message when a page is not allowed to display plug-ins.">
        Plug-ins were blocked on this page.
      </message>
      <message name="IDS_BLOCKED_PLUGINS_UNBLOCK_ALL" desc="Radio button choice to unblock a site from using plug-ins, displayed in bubble when a page tries to use plug-ins.">
        Always allow plug-ins on <ph name="HOST">$1<ex>mail.google.com</ex></ph>
      </message>
      <message name="IDS_BLOCKED_PLUGINS_UNBLOCK" desc="Radio button choice to unblock a site from using *a specific set* of plug-ins, displayed in bubble when a page tries to use plug-ins.">
        Always allow these plug-ins on <ph name="HOST">$1<ex>mail.google.com</ex></ph>
      </message>
      <message name="IDS_BLOCKED_PLUGINS_NO_ACTION" desc="Radio button choice to continue blocking a site from using plug-ins, displayed in bubble when a page tries to use plug-ins.">
        Continue blocking plug-ins
      </message>
      <message name="IDS_BLOCKED_PLUGINS_LINK" desc="Link to plug-ins section of content blocking management dialog, displayed in bubble when a page tries to display plug-ins.">
        Manage plug-in blocking...
      </message>
      <message name="IDS_BLOCKED_PLUGINS_LOAD_ALL" desc="Button to load all blocked plugins on a page, displayed in bubble when a page tries to display plug-ins.">
        Run all plug-ins this time
      </message>
      <message name="IDS_PRERENDER_SUCCEED_TOOLTIP" desc="Location bar icon tooltip text when the current page is prerendered.">
        This page was prerendered.
      </message>

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

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

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

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

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

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

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

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

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

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

      <message name="IDS_CERT_ERROR_NOT_IN_DNS_TITLE" desc="Title of the error page for a certificate which was excluded by DNS data">
        Unlisted Server Certificate
      </message>
      <message name="IDS_CERT_ERROR_NOT_IN_DNS_DESCRIPTION" desc="Description of the error for a certificate which was excluded by DNS data">
        Server's certificate is not included in DNS.
      </message>
      <message name="IDS_CERT_ERROR_NOT_IN_DNS_DETAILS" desc="Details of the error for a certificate which was excluded by DNS data">
        This site lists all its valid certificates in DNS. However the server used one which isn't listed.
      </message>
      <message name="IDS_CERT_ERROR_NOT_IN_DNS_EXTRA_INFO" desc="Extra for when a certificate was excluded by DNS data">
        This is an experimental scheme where by HTTPS certificates can be authenticated and rejected by (DNSSEC secured) DNS records. If you are seeing this message then you have enabled experiemental features using command line options. You can remove those command line options to ignore this error.
      </message>

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


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


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


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

      <message name="IDS_CERT_DETAILS_CERTIFICATE_HIERARCHY_LABEL" desc="The label of the Certificate Hierarchy tree in the details page of the certificate info dialog.">
        Certificate Hierarchy
      </message>
      <message name="IDS_CERT_DETAILS_CERTIFICATE_FIELDS_LABEL" desc="The label of the Certificate Fields tree in the details page of the certificate info dialog.">
        Certificate Fields
      </message>
      <message name="IDS_CERT_DETAILS_CERTIFICATE_FIELD_VALUE_LABEL" desc="The label of the Certificate Field Value text in the details page of the certificate info dialog.">
        Field Value
      </message>
      <message name="IDS_CERT_DETAILS_CERTIFICATE" desc="The label of the Certificate element in the details page of the certificate info dialog.">
        Certificate
      </message>
      <message name="IDS_CERT_DETAILS_VERSION" desc="The label of the Version element in the details page of the certificate info dialog.">
        Version
      </message>
      <message name="IDS_CERT_DETAILS_VERSION_FORMAT" desc="The format of the Version field value in the details page of the certificate info dialog.">
        Version <ph name="NUMBER">$1<ex>3</ex></ph>
      </message>
      <message name="IDS_CERT_DETAILS_SERIAL_NUMBER" desc="The label of the Serial Number element in the details page of the certificate info dialog.">
        Serial Number
      </message>
      <message name="IDS_CERT_DETAILS_CERTIFICATE_SIG_ALG" desc="The label of the Certificate Signature Algorithm element in the details page of the certificate info dialog.">
        Certificate Signature Algorithm
      </message>
      <message name="IDS_CERT_DETAILS_ISSUER" desc="The label of the Issuer element in the details page of the certificate info dialog.">
        Issuer
      </message>
      <message name="IDS_CERT_DETAILS_VALIDITY" desc="The label of the Validity element in the details page of the certificate info dialog.">
        Validity
      </message>
      <message name="IDS_CERT_DETAILS_NOT_BEFORE" desc="The label of the Validity->Not Before element in the details page of the certificate info dialog.">
        Not Before
      </message>
      <message name="IDS_CERT_DETAILS_NOT_AFTER" desc="The label of the Validity->Not After element in the details page of the certificate info dialog.">
        Not After
      </message>
      <message name="IDS_CERT_DETAILS_SUBJECT" desc="The label of the Subject element in the details page of the certificate info dialog. (In this case, subject refers to the entity the certificate was issued to.)">
        Subject
      </message>
      <message name="IDS_CERT_DETAILS_SUBJECT_KEY_INFO" desc="The label of the Subject Public Key Info element in the details page of the certificate info dialog. (In this case, subject refers to the entity the certificate was issued to.)">
        Subject Public Key Info
      </message>
      <message name="IDS_CERT_DETAILS_SUBJECT_KEY_ALG" desc="The label of the Subject Public Key Algorithm element in the details page of the certificate info dialog. (In this case, subject refers to the entity the certificate was issued to.)">
        Subject Public Key Algorithm
      </message>
      <message name="IDS_CERT_DETAILS_SUBJECT_KEY" desc="The label of the Subject's Public Key element in the details page of the certificate info dialog. (In this case, subject refers to the entity the certificate was issued to.)">
        Subject's Public Key
      </message>
      <message name="IDS_CERT_RSA_PUBLIC_KEY_DUMP_FORMAT" desc="Format for displaying a textual dump of an RSA public key.">
        Modulus (<ph name="MODULUS_NUM_BITS">$1<ex>1024</ex></ph> bits):\n<ph name="MODULUS_HEX_DUMP">$2<ex>00 0A 38 CF ...</ex></ph>\n\nPublic Exponent (<ph name="PUBLIC_EXPONENT_NUM_BITS">$3<ex>24</ex></ph> bits):\n<ph name="EXPONENT_HEX_DUMP">$4<ex>01 00 01</ex></ph>
      </message>
      <message name="IDS_CERT_DETAILS_EXTENSIONS" desc="The label of the Extensions element in the details page of the certificate info dialog.">
        Extensions
      </message>
      <message name="IDS_CERT_DETAILS_CERTIFICATE_SIG_VALUE" desc="The label of the Certificate Signature Value element in the details page of the certificate info dialog.">
        Certificate Signature Value
      </message>
      <message name="IDS_CERT_DETAILS_EXPORT_CERTIFICATE" desc="The label of the button to export the selected certificate">
        E&amp;xport...
      </message>
      <message name="IDS_CERT_EXPORT_TYPE_BASE64" desc="The description of saving a single certificate in base64 encoding.">
        Base64-encoded ASCII, single certificate
      </message>
      <message name="IDS_CERT_EXPORT_TYPE_BASE64_CHAIN" desc="The description of saving a certificate chain in base64 encoding.">
        Base64-encoded ASCII, certificate chain
      </message>
      <message name="IDS_CERT_EXPORT_TYPE_DER" desc="The description of saving a single certificate in DER encoding.">
        DER-encoded binary, single certificate
      </message>
      <message name="IDS_CERT_EXPORT_TYPE_PKCS7" desc="The description of saving a single certificate in PKCS #7 encoding.">
        PKCS #7, single certificate
      </message>
      <message name="IDS_CERT_EXPORT_TYPE_PKCS7_CHAIN" desc="The description of saving a single certificate in PKCS #7 encoding.">
        PKCS #7, certificate chain
      </message>

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

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

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

      <!-- Certificate manager dialog strings.  These are only used on platforms that don't have a native certificate manager dialog, such as Linux. -->
      <message name="IDS_CERTIFICATE_MANAGER_TITLE" desc="String to be displayed in the title bar of the certificate manager dialog">
        Certificate Manager
      </message>
      <message name="IDS_CERT_MANAGER_PERSONAL_CERTS_TAB_LABEL" desc="Title of the notebook page displaying the user's own certificates">
        Your Certificates
      </message>
      <message name="IDS_CERT_MANAGER_SERVER_CERTS_TAB_LABEL" desc="Title of the notebook page displaying server certificates">
        Servers
      </message>
      <message name="IDS_CERT_MANAGER_CERT_AUTHORITIES_TAB_LABEL" desc="Title of the notebook page displaying certificate authorities">
        Authorities
      </message>
      <message name="IDS_CERT_MANAGER_UNKNOWN_TAB_LABEL" desc="Title of the notebook page displaying certificates that don't fall under any of the other categories">
        Others
      </message>
      <message name="IDS_CERT_MANAGER_USER_TREE_DESCRIPTION" desc="Description label above the tree showing the user's own certificates">
        You have certificates from these organizations that identify you:
      </message>
      <message name="IDS_CERT_MANAGER_SERVER_TREE_DESCRIPTION" desc="Description label above the tree showing server certificates">
        You have certificates on file that identify these servers:
      </message>
      <message name="IDS_CERT_MANAGER_AUTHORITIES_TREE_DESCRIPTION" desc="Description label above the Certificate Authorities tree">
        You have certificates on file that identify these certificate authorities:
      </message>
      <message name="IDS_CERT_MANAGER_UNKNOWN_TREE_DESCRIPTION" desc="Description label above the tree showing certificates that don't fall under any of the other categories">
        You have certificates on file that do not fit in any of the other categories:
      </message>
      <message name="IDS_CERT_MANAGER_NAME_COLUMN_LABEL" desc="Label for the certificate name column of the certificate tree in the certificate manager">
        Certificate Name
      </message>
      <message name="IDS_CERT_MANAGER_DEVICE_COLUMN_LABEL" desc="Label for the certificate store column of the certificate tree in the certificate manager">
        Certificate Store
      </message>
      <message name="IDS_CERT_MANAGER_SERIAL_NUMBER_COLUMN_LABEL" desc="Label for the serial number column of the certificate tree in the certificate manager">
        Serial Number
      </message>
      <message name="IDS_CERT_MANAGER_EXPIRES_COLUMN_LABEL" desc="Label for the expires on column of the certificate tree in the certificate manager">
        Expires On
      </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_EXPORT_ALL_BUTTON" desc="Label for the button in the certificate manager which saves all personal certificates and their private keys">
        Export All...
      </message>
      <message name="IDS_CERT_MANAGER_EDIT_BUTTON" desc="Label for the button in the certificate manager which allows you to edit certificate trust">
        Edit...
      </message>
      <message name="IDS_CERT_MANAGER_DELETE_BUTTON" desc="Label for the button in the certificate manager which allows you to delete certificates">
        Delete...
      </message>
      <message name="IDS_CERT_MANAGER_DELETE_USER_FORMAT" desc="Confirmation in certificate manager dialog for deleting a user certificate">
        Delete certificate "<ph name="CERTIFICATE_NAME">$1<ex>VeriSign Browser Certificate</ex></ph>"?
      </message>
      <message name="IDS_CERT_MANAGER_DELETE_USER_DESCRIPTION" desc="Description of impact of deleting a user certificate">
        If you delete one of your own certificates, you can no longer use it to identify yourself.
      </message>
      <message name="IDS_CERT_MANAGER_DELETE_SERVER_FORMAT" desc="Confirmation in certificate manager dialog for deleting a server certificate">
        Delete server certificate "<ph name="CERTIFICATE_NAME">$1<ex>www.example.com</ex></ph>"?
      </message>
      <message name="IDS_CERT_MANAGER_DELETE_SERVER_DESCRIPTION" desc="Description of impact of deleting a server certificate">
        If you delete a server certificate, you restore the usual security checks for that server and require it uses a valid certificate.
      </message>
      <message name="IDS_CERT_MANAGER_DELETE_CA_FORMAT" desc="Confirmation in certificate manager dialog for deleting a certification authority certificate">
        Delete CA certificate "<ph name="CERTIFICATE_NAME">$1<ex>Verisign Class 1 Public Primary Certification Authority</ex></ph>"?
      </message>
      <message name="IDS_CERT_MANAGER_DELETE_CA_DESCRIPTION" desc="Description of impact of deleting a certification authority certificate">
        If you delete a Certification Authority (CA) certificate, your browser will no longer trust any certificates issued by that CA.
      </message>
      <message name="IDS_CERT_MANAGER_DELETE_UNKNOWN_FORMAT" desc="Confirmation in certificate manager dialog for deleting a certificate of other type">
        Delete certificate "<ph name="CERTIFICATE_NAME">$1<ex>Example Certificate</ex></ph>"?
      </message>
      <message name="IDS_CERT_MANAGER_EXPORT_PASSWORD_DESC" desc="Description of password prompt in certificate manager for exporting a personal certificate">
        Please enter a password to encrypt this certificate file.
      </message>
      <message name="IDS_CERT_MANAGER_EXPORT_PASSWORD_HELP" desc="Text in password prompt of certificate manager for exporting a personal certificate, reminding user that if they forget the password they're screwed.">
        The password you choose will be required to restore this file later.  Please record it in a safe location.
      </message>
      <message name="IDS_CERT_MANAGER_RESTORE_PASSWORD_DESC" desc="Description of password prompt in certificate manager for restoring a personal certificate">
        Please enter the password that was used to encrypt this certificate file.
      </message>
      <message name="IDS_CERT_MANAGER_PASSWORD_LABEL" desc="The label of the password field in the certificate manager for restoring or exporting a personal certificate">
        Password:
      </message>
      <message name="IDS_CERT_MANAGER_CONFIRM_PASSWORD_LABEL" desc="The label of the field in the certificate manager for re-entering the password when creating a export.">
        Confirm Password:
      </message>
      <message name="IDS_CERT_MANAGER_PKCS12_FILES" desc="The label in the file selector dialog for PKCS #12 file type.">
        PKCS #12 Files
      </message>
      <message name="IDS_CERT_MANAGER_PKCS12_EXPORT_ERROR_TITLE" desc="The title in the error dialog for PKCS #12 file export errors.">
        PKCS #12 Export Error
      </message>
      <message name="IDS_CERT_MANAGER_WRITE_ERROR_FORMAT" desc="The text in the error dialog for PKCS #12 file write errors.">
        There was an error while trying to write the file: <ph name="ERROR_TEXT">$1<ex>Permission denied.</ex></ph>.
      </message>
      <message name="IDS_CERT_MANAGER_PKCS12_IMPORT_ERROR_TITLE" desc="The title in the error dialog for PKCS #12 file import errors.">
        PKCS #12 Import Error
      </message>
      <message name="IDS_CERT_MANAGER_PKCS12_IMPORT_INVALID_MAC" desc="The message in the error dialog for PKCS #12 files with invalid MAC.">
        Incorrect password or corrupt file.
      </message>
      <message name="IDS_CERT_MANAGER_PKCS12_IMPORT_INVALID_FILE" desc="The message in the error dialog for corrupt PKCS #12 files.">
        Invalid or corrupt file.
      </message>
      <message name="IDS_CERT_MANAGER_PKCS12_IMPORT_UNSUPPORTED" desc="The message in the error dialog for unsupported PKCS #12 files.">
        File uses unsupported features.
      </message>
      <message name="IDS_CERT_MANAGER_READ_ERROR_FORMAT" desc="The text in the error dialog for PKCS #12 file read errors.">
        There was an error while trying to read the file: <ph name="ERROR_TEXT">$1<ex>File not found.</ex></ph>.
      </message>
      <message name="IDS_CERT_MANAGER_BAD_PASSWORD" desc="The text in the error dialog for entering an incorrect password when importing an encrypted certificate file.">
        Incorrect password.
      </message>
      <message name="IDS_CERT_MANAGER_CERT_PARSE_ERROR" desc="The message in the certificate manager error dialog for importing invalid certificate files.">
        Unable to parse file.
      </message>
      <message name="IDS_CERT_MANAGER_UNKNOWN_ERROR" desc="The text in the error dialog when an unknown error occurs during an operation on the certificate database.">
        Unknown error.
      </message>
      <message name="IDS_CERT_MANAGER_ERROR_NOT_CA" desc="The error message when trying to import certificate authorities and a certificate is not a certification authority">
        Not a Certification Authority.
      </message>
      <message name="IDS_CERT_MANAGER_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_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 web sites.
      </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_EDIT_SERVER_TRUST_DESCRIPTION_FORMAT" desc="Description in dialog for editing server certificate trust flags.  The following line will contain information about the issuer.">
        The certificate "<ph name="CERTIFICATE_NAME">$1<ex>www.example.com</ex></ph>" was issued by:
      </message>
      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_CERT_MANAGER_IMPORT_AND_BIND_BUTTON" desc="Label for the button in the certificate manager which allows you to import certificates and bind to your device.">
          Import and Bind to Device...
        </message>
        <message name="IDS_CERT_MANAGER_KEY_FORMAT_LONG" desc="A longer format for keys in the wifi / vpn config dialogs.">
          <ph name="ISSUED_BY">$1<ex>Google Inc</ex></ph> [<ph name="ISSUED_TO">$2<ex>John Doe</ex></ph>]
        </message>
        <message name="IDS_CERT_MANAGER_HARDWARE_BACKED_KEY_FORMAT" desc="A format used to create label for hardware-backed keys.">
          <ph name="KEY_NAME">$1<ex>John Doe</ex></ph> (<ph name="DEVICE">$2<ex>hardware-backed</ex></ph>)
        </message>
        <message name="IDS_CERT_MANAGER_HARDWARE_BACKED_KEY_FORMAT_LONG" desc="A longer format for hardware-backed keys in the wifi / vpn config dialogs.">
          <ph name="ISSUED_BY">$1<ex>Google Inc</ex></ph> [<ph name="ISSUED_TO">$2<ex>John Doe</ex></ph>] (<ph name="DEVICE">$3<ex>hardware-backed</ex></ph>)
        </message>
        <message name="IDS_CERT_MANAGER_HARDWARE_BACKED" desc="A device name to be used for ChromeOS device backed keys.">
          hardware-backed
        </message>
      </if>

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

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

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

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


      <!-- Fullscreen mode -->
      <if expr="not pp_ifdef('chromeos')">
        <message name="IDS_EXIT_FULLSCREEN_MODE" desc="Clickable message displayed on entering fullscreen mode to tell users how to return to normal mode">
          Exit full screen (<ph name="ACCELERATOR">$1<ex>F11</ex></ph>)
        </message>
      </if>
      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_EXIT_FULLSCREEN_MODE" desc="Clickable message displayed on entering fullscreen mode to tell users how to return to normal mode (for Chrome OS, which has a dedicated fullscreen key on the top row in the F3 position)">
          Exit full screen
        </message>
      </if>


      <!-- Task Manager Window -->
      <message name="IDS_TASK_MANAGER_KILL" desc="The caption of the Task Manager kill button">
        &amp;End process
      </message>
      <message name="IDS_TASK_MANAGER_KILL_CHROMEOS" desc="The caption of the Task Manager kill button in WebUI">
        End process
      </message>
      <message name="IDS_TASK_MANAGER_PURGE_MEMORY" desc="The caption of the Task Manager purge memory button">
        Purge memory
      </message>
      <message name="IDS_TASK_MANAGER_ABOUT_MEMORY_LINK" desc="The caption of the Task Manager link to about:memory">
        Stats for nerds
      </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_PAGE_COLUMN" desc="The text of the page column">
        Page
      </message>
      <message name="IDS_TASK_MANAGER_NET_COLUMN" desc="The text of the network usage column">
        Network
      </message>
      <message name="IDS_TASK_MANAGER_CPU_COLUMN" desc="The text of the CPU usage column">
        CPU
      </message>
      <message name="IDS_TASK_MANAGER_PHYSICAL_MEM_COLUMN" desc="Task manager process memory column. This is the similar to the process 'working set' reported by the Windows Task Manager">
        Memory
      </message>
      <message name="IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN" desc="Task manager process private memory column. This is the allocated size that cannot be shared with other processes">
        Private Memory
      </message>
      <message name="IDS_TASK_MANAGER_SHARED_MEM_COLUMN" desc="Task manager process shared memory column. Shows the size of the memory used by the process which is shared with other processes">
        Shared Memory
      </message>
      <message name="IDS_TASK_MANAGER_GOATS_TELEPORTED_COLUMN" desc="The goats teleported column">
        Goats Teleported
      </message>
      <message name="IDS_TASK_MANAGER_WEBCORE_IMAGE_CACHE_COLUMN" desc="Task manager WebCore image cache size column.">
        Image cache
      </message>
      <message name="IDS_TASK_MANAGER_WEBCORE_SCRIPTS_CACHE_COLUMN" desc="Task manager WebCore scripts cache size column.">
        Script cache
      </message>
      <message name="IDS_TASK_MANAGER_WEBCORE_CSS_CACHE_COLUMN" desc="Task manager WebCore CSS cache size column.">
        CSS cache
      </message>
      <message name="IDS_TASK_MANAGER_FPS_COLUMN" desc="The text of the FPS column">
        FPS
      </message>
      <message name="IDS_TASK_MANAGER_SQLITE_MEMORY_USED_COLUMN" desc="Amount of memory used by SQLite.">
        SQLite memory
      </message>
      <message name="IDS_TASK_MANAGER_JAVASCRIPT_MEMORY_ALLOCATED_COLUMN" desc="Task manager JavaScript memory allocated column.  Shows the amount of memory used by JavaScript within a process">
        JavaScript memory
      </message>
      <message name="IDS_TASK_MANAGER_MEM_CELL_TEXT" desc="The value displayed in the memory usage cells.">
        <ph name="NUM_KILOBYTES">$1<ex>5,000</ex></ph>K
      </message>
      <message name="IDS_TASK_MANAGER_CACHE_SIZE_CELL_TEXT" desc="The value displayed in the cache size cells.">
        <ph name="NUM_KILOBYTES">$1<ex>5,000</ex></ph>K (<ph name="NUM_KILOBYTES_LIVE">$2<ex>5,000</ex></ph>K live)
      </message>
      <message name="IDS_TASK_MANAGER_NA_CELL_TEXT" desc="The value displayed for network / webcache usage when the information is not available (Not Applicable).">
        N/A
      </message>
      <message name="IDS_TASK_MANAGER_WEB_BROWSER_CELL_TEXT" desc="The text of the web browser process row">
        Browser
      </message>
      <message name="IDS_TASK_MANAGER_EXTENSION_PREFIX" desc="The prefix for a Task Manager extension row (always visible if the extension has a view)">
        Extension: <ph name="EXTENSION_NAME">$1<ex>Sample Extension</ex></ph>
      </message>
      <message name="IDS_TASK_MANAGER_EXTENSION_INCOGNITO_PREFIX" desc="The prefix for a Task Manager incognito extension row (may not be visible if incognito is not open)">
        Incognito Extension: <ph name="EXTENSION_NAME">$1<ex>Sample Extension</ex></ph>
      </message>
      <message name="IDS_TASK_MANAGER_APP_PREFIX" desc="The prefix for a Task Manager app row (always visible if the app has a view)">
        App: <ph name="APP_NAME">$1<ex>Sample App</ex></ph>
      </message>
      <message name="IDS_TASK_MANAGER_APP_INCOGNITO_PREFIX" desc="The prefix for a Task Manager incognito app row (may not be visible if the app is not open in incognito)">
        Incognito App: <ph name="APP_NAME">$1<ex>Sample App</ex></ph>
      </message>
      <message name="IDS_TASK_MANAGER_TAB_PREFIX" desc="The prefix for a Task Manager Tab row">
        Tab: <ph name="TAB_NAME">$1<ex>Google</ex></ph>
      </message>
      <message name="IDS_TASK_MANAGER_BACKGROUND_PREFIX" desc="The prefix for a Task Manager background page row">
        Background Page: <ph name="BACKGROUND_PAGE_URL">$1<ex>http://www.google.com</ex></ph>
      </message>
      <message name="IDS_TASK_MANAGER_PLUGIN_PREFIX" desc="The prefix for a Task Manager plugin row">
        Plug-in: <ph name="PLUGIN_NAME">$1<ex>Unknown Plug-in</ex></ph> (<ph name="PLUGIN_VERSION">$2<ex>3.4.255.1b</ex></ph>)
      </message>
      <message name="IDS_TASK_MANAGER_PRERENDER_PREFIX" desc="The prefix for a Task Manager prerender row">
        Prerender: <ph name="PRERENDER_CONTENTS_NAME">$1<ex>http://www.google.com</ex></ph>
      </message>
      <message name="IDS_TASK_MANAGER_UNKNOWN_PLUGIN_NAME" desc="The prefix for a Task Manager plugin row">
        Unknown plug-in
      </message>
      <message name="IDS_TASK_MANAGER_WORKER_PREFIX" desc="The prefix for a Task Manager HTML5 Web Worker process row">
        Web Worker: <ph name="WORKER_NAME">$1<ex>http://www.domain.com</ex></ph>
      </message>
      <message name="IDS_TASK_MANAGER_UTILITY_PREFIX" desc="The prefix for a utility process row">
        Utility:
      </message>
      <message name="IDS_TASK_MANAGER_NACL_PREFIX" desc="The prefix for a Task Manager Native Client module row">
        Native Client module: <ph name="NEXE_NAME">$1<ex>Unknown Native Client module</ex></ph>
      </message>
      <message name="IDS_TASK_MANAGER_NACL_BROKER_PREFIX" desc="Task Manager row for Native Client broker, which acts as the sanbox manager for NaCl processes">
        Native Client security manager
      </message>
      <message name="IDS_TASK_MANAGER_GPU_PREFIX" desc="Task Manager row for the GPU process, which is the process doing all accelerated graphics rendering">
        GPU Process
      </message>
      <message name="IDS_TASK_MANAGER_NOTIFICATION_PREFIX" desc="The prefix for a Desktop Notification in the Task Manager">
        Notification: <ph name="NOTIFICATION_NAME">$1<ex>http://www.domain.com</ex></ph>
      </message>

      <!-- 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 info bar -->
      <message name="IDS_EXTENSION_DISABLED_INFOBAR_LABEL" desc="Text displayed on an infobar when an extension was disabled due to a new upgrade requiring an explicit permission check from the user.">
        The newest version of the extension "<ph name="EXTENSION_NAME">$1<ex>Flashblock</ex></ph>" requires more permissions, so it has been disabled.
      </message>
      <message name="IDS_APP_DISABLED_INFOBAR_LABEL" desc="Text displayed on an infobar when an app was disabled due to a new upgrade requiring an explicit permission check from the user.">
        The newest version of the app "<ph name="APP_NAME">$1<ex>Pandora</ex></ph>" requires more permissions, so it has been disabled.
      </message>
      <message name="IDS_EXTENSION_DISABLED_INFOBAR_ENABLE_BUTTON" desc="Text displayed on the button to re-enable the disabled extension or app.">
        Re-enable
      </message>

      <!-- Extension/App install prompt -->
      <message name="IDS_EXTENSION_INSTALL_PROMPT_TITLE" desc="Titlebar of the extension or app installation prompt window">
        Confirm Installation
      </message>
      <message name="IDS_EXTENSION_UNINSTALL_PROMPT_TITLE" desc="Titlebar of the extension or app uninstallation prompt window">
        Confirm Uninstallation
      </message>
      <message name="IDS_EXTENSION_RE_ENABLE_PROMPT_TITLE" desc="Titlebar of the extension or app prompt window when re-enabling an extension that requires additional permissions">
        Confirm Re-enable
      </message>
      <message name="IDS_EXTENSION_PERMISSIONS_PROMPT_TITLE" desc="Titlebar of the extension or app permissions prompt window">
        Confirm Permissions
      </message>
      <message name="IDS_EXTENSION_INSTALL_PROMPT_HEADING" desc="First bold line in the content area of the extension or app installation prompt. Asks the user if they want to install a particular extension or app.">
        Install <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.">
        Uninstall "<ph name="EXTENSION_NAME">$1<ex>Gmail Checker</ex></ph>"?
      </message>
      <message name="IDS_EXTENSION_RE_ENABLE_PROMPT_HEADING" desc="First bold line in the content area of the extension or app installation prompt. Asks the user if they want to re-enable a particular extension or app.">
        The newest version of "<ph name="EXTENSION_NAME">$1<ex>Gmail Checker</ex></ph>" has been disabled because it requires more permissions.
      </message>
      <message name="IDS_EXTENSION_PERMISSIONS_PROMPT_HEADING" desc="First bold line in the content area of the extension or app permissions prompt. Asks the user if they want to grant the permissions to the particular extension or app.">
        The extension "<ph name="EXTENSION_NAME">$1<ex>Gmail Checker</ex></ph>" has requested additional permissions.
      </message>

      <!-- Extension/App install dialog strings -->
      <message name="IDS_EXTENSION_PROMPT_WILL_HAVE_ACCESS_TO" desc="Second line in the content area of the extension or app installation prompt. Note that the exact wording is important. This should mean that the extension or app _can_ access the listed privileges, but not necessarily that it will or needs to.">
        It can access:
      </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 access:
      </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 access:
      </message>

      <message name="IDS_EXTENSION_PROMPT_WARNING_FULL_ACCESS" desc="Permission string for full access to the computer and all websites.">
        All 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.">
        Your data on all websites
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_1_HOST" desc="Permission string for access to data on one website.">
        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.">
        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.">
        Your data on <ph name="WEBSITE_1">$1<ex>www.google.com</ex></ph>, <ph name="WEBSITE_2">$2<ex>www.reddit.com</ex></ph>, and <ph name="WEBSITE_3">$3<ex>news.ycombinator.com</ex></ph>
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_4_OR_MORE_HOSTS" desc="Permission string for access to data on four or more websites.">
        Your data on <ph name="WEBSITE_1">$1<ex>www.google.com</ex></ph>, <ph name="WEBSITE_2">$2<ex>www.yahoo.com</ex></ph>, and <ph name="NUMBER_OF_OTHER_WEBSITES">$3<ex>3</ex></ph> other websites
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_BOOKMARKS" desc="Permission string for access to bookmarks.">
        Your bookmarks
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_BROWSING_HISTORY" desc="Permission string for access to browsing history.">
        Your browsing history
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_GEOLOCATION" desc="Permisson string for access to geolocation.">
        Your physical location
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_MANAGEMENT" desc="Permisson string for access to extension management.">
        Your list of installed apps, extensions, and themes
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_TABS" desc="Permission string for access to tabs.">
        Your tabs and browsing activity
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_DEBUGGER" desc="Permission string for access to debugger.">
        Your data on all websites
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_CLIPBOARD" desc="Permission string for access to clipboard.">
        Data you copy and paste
      </message>
      <message name="IDS_EXTENSION_PROMPT_WARNING_TTS_ENGINE" desc="Permission string for access to clipboard.">
        Any text spoken using synthesized speech
      </message>

      <!-- Extension/App error messages -->
      <message name="IDS_EXTENSION_CANT_GET_ABSOLUTE_PATH" desc="Warning displayed in pack dialog when the absolute path to the extension directory can not be found.">
        Can't find the absolute path to the directory to pack.
      </message>
      <message name="IDS_EXTENSION_DIRECTORY_NO_EXISTS" desc="Warning displayed in pack dialog when the extension directory does not exist.">
        Input directory must exist.
      </message>
      <message name="IDS_EXTENSION_DISALLOW_NON_DOWNLOADED_GALLERY_INSTALLS" desc="Error displayed when an app or extension that has an update URL used by the gallery is installed when not directly downloaded from the gallery.">
        This can only be installed 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_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 that a version that it already installed.">
        Attempted to downgrade extension.
      </message>
      <message name="IDS_EXTENSION_CANT_INSTALL_BLACKLISTED" desc="Error message when a user tries to install an extension that is blacklisted.">
        This extension is blacklisted.
      </message>
      <message name="IDS_EXTENSION_CANT_INSTALL_POLICY_BLACKLIST" desc="Error message when a user tries to install an extension that is blacklisted by administrator policy.">
        This extension is blacklisted by admin policy.
      </message>
      <message name="IDS_EXTENSION_MOVE_DIRECTORY_TO_PROFILE_FAILED" desc="">
        Could not move extension directory into profile.
      </message>
      <message name="IDS_EXTENSION_MANIFEST_UNREADABLE" desc="">
        Manifest file is missing or unreadable.
      </message>
      <message name="IDS_EXTENSION_MANIFEST_INVALID" desc="">
        Manifest file is invalid.
      </message>
      <message name="IDS_EXTENSION_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 install application because it conflicts with '<ph name="APP_NAME">$1<ex>Google Mail</ex></ph>', which is already installed.
      </message>
      <message name="IDS_EXTENSION_LOCALES_NO_DEFAULT_LOCALE_SPECIFIED" desc="">
        Localization used, but default_locale wasn't specified in the manifest.
      </message>
      <message name="IDS_EXTENSION_INVALID_IMAGE_PATH" desc="">
        Could not load '<ph name="IMAGE_PATH">$1<ex>/path/to/file</ex></ph>' for theme.
      </message>
      <message name="IDS_EXTENSION_LOAD_ICON_FAILED" desc="">
        Could not load extension icon '<ph name="ICON">$1<ex>icon.png</ex></ph>'.
      </message>
      <message name="IDS_EXTENSION_LOAD_JAVASCRIPT_FAILED" desc="">
        Could not load javascript '<ph name="RELATIVE_PATH">$1<ex>javas.js</ex></ph>' for content script.
      </message>
      <message name="IDS_EXTENSION_LOAD_CSS_FAILED" desc="">
        Could not load css '<ph name="RELATIVE_PATH">$1<ex>file.css</ex></ph>' for content script.
      </message>
      <message name="IDS_EXTENSION_BAD_FILE_ENCODING" desc="">
        Could not load file '<ph name="RELATIVE_PATH">$1<ex>file.js</ex></ph>' for content script. It isn't UTF-8 encoded.
      </message>
      <message name="IDS_EXTENSION_LOAD_PLUGIN_PATH_FAILED" desc="">
        Could not load '<ph name="PLUGIN_PATH">$1<ex>/path/to/file</ex></ph>' for plugin.
      </message>
      <message name="IDS_EXTENSION_LOAD_ICON_FOR_PAGE_ACTION_FAILED" desc="">
        Could not load icon '<ph name="ICON">$1<ex>icon.png</ex></ph>' for page action.
      </message>
      <message name="IDS_EXTENSION_LOAD_ICON_FOR_BROWSER_ACTION_FAILED" desc="">
        Could not load icon '<ph name="ICON">$1<ex>icon.png</ex></ph>' for browser action.
      </message>
      <message name="IDS_EXTENSION_LOAD_BACKGROUND_PAGE_FAILED" desc="">
        Could not load background page '<ph name="BACKGROUND_PAGE">$1<ex>page.html</ex></ph>'.
      </message>
      <message name="IDS_EXTENSION_LOAD_OPTIONS_PAGE_FAILED" desc="">
        Could not load options page '<ph name="OPTIONS_PAGE">$1<ex>page.html</ex></ph>'.
      </message>
      <message name="IDS_EXTENSION_LOAD_SIDEBAR_PAGE_FAILED" desc="">
        Could not load sidebar page '<ph name="SIDEBAR_PAGE">$1<ex>page.html</ex></ph>'.
      </message>
      <if expr="is_win">
        <message name="IDS_EXTENSION_UNPACK_FAILED" desc="On windows, it is possible to mount a disk without the root of that disk having a drive letter.  The sandbox does not support this. See crbug/49530 .">
          Can not unpack extension.  To safely unpack an extension, there must be a path to your profile directory that starts with a drive letter and does not contain a junction, mount point, or symlink.  No such path exists for your profile.
        </message>
      </if>
      <if expr="not is_win">
        <message name="IDS_EXTENSION_UNPACK_FAILED" desc="">
          Can not unpack extension.  To safely unpack an extension, there must be a path to your profile directory that does not contain a symlink.  No such path exists for your profile.
        </message>
      </if>
      <message name="IDS_EXTENSION_PACKAGE_ERROR_MESSAGE" desc="The cases where we get an error message string back from some other component. The message might be in English, but these are typically developer errors, and the extension SDK is English.">
        Package is invalid. Details: '<ph name="ERROR_MESSAGE">$1<ex>error</ex></ph>'.
      </message>
      <message name="IDS_EXTENSION_PACKAGE_ERROR_CODE" desc="Error message in cases where we fail to install the extension because the crx file is invalid. For example, because the crx header or signature is invalid.">
        Package is invalid: '<ph name="ERROR_CODE">$1<ex>error</ex></ph>'.
      </message>
      <message name="IDS_EXTENSION_PACKAGE_INSTALL_ERROR" desc="Error message in case package fails to install because of some problem with the filesystem.">
        Could not install package: '<ph name="ERROR_CODE">$1<ex>error</ex></ph>'
      </message>

      <!-- Extension installed bubble -->
      <message name="IDS_EXTENSION_INSTALLED_HEADING" desc="First line in the content area of the extension installed bubble. Instructs that the extension was installed.">
        <ph name="EXTENSION_NAME">$1<ex>Gmail Checker</ex></ph> is now installed.
      </message>

      <message name="IDS_EXTENSION_INSTALLED_APP_INFO" desc="Text displayed inside a link when an app is installed. Clicking this link opens up the New Tab Page to show the app's icon.">
        Show me
      </message>

      <message name="IDS_EXTENSION_INSTALLED_PAGE_ACTION_INFO" desc="Text displayed in the InfoBubble which explains that the UI of this extension is a Page Action icon which may appear for some pages.">
        This icon will be visible when the extension can act on the current page.
      </message>
      <message name="IDS_EXTENSION_INSTALLED_OMNIBOX_KEYWORD_INFO" desc="Text displayed in the InfoBubble which explains that this extension has an keyword that can be used with the omnibox.">
        To use this extension, type "<ph name="EXTENSION_KEYWORD">$1<ex>search</ex></ph>", then TAB, then your command or search.
      </message>

      <message name="IDS_MANAGE_EXTENSIONS" desc="The 'Manage Extensions...' text in the context menu for when right-clicking on extension icons">
        Manage extensions...
      </message>
      <message name="IDS_EXTENSION_INSTALLED_MANAGE_INFO" desc="Text displayed in the InfoBubble with instructions on how to find the chrome://extensions/ management page">
        You can manage your installed extensions by clicking Extensions in the Tools menu.
      </message>
      <message name="IDS_EXTENSION_INSTALLED_MANAGE_INFO_MAC" desc="Text displayed in the InfoBubble with instructions on how to find the chrome://extensions/ management page on MAC OS X">
        You can manage your installed extensions by clicking Extensions in the Window menu.
      </message>
      <message name="IDS_ACCNAME_INFOBAR_CONTAINER" desc="The accessible name for the infobar container.">
        Infobar Container
      </message>
      <message name="IDS_ACCNAME_INFOBAR_WARNING" desc="The accessible name for the warning infobar type.">
        Warning
      </message>
      <message name="IDS_ACCNAME_INFOBAR_PAGE_ACTION" desc="The accessible name for page action infobar type.">
        Page Action
      </message>

      <!-- chrome://extensions page -->
      <message name="IDS_EXTENSIONS_DEVELOPER_MODE_LINK" desc="Text of the link for developer mode.">
        Developer mode
      </message>
      <message name="IDS_EXTENSIONS_DEVELOPER_MODE_PREFIX" desc="Text of the prefix for the developer mode buttons.">
        Developer mode:
      </message>
      <message name="IDS_EXTENSIONS_INSPECT_POPUPS_INSTRUCTIONS" desc="Text that appears under 'Inspect Active Views' with instructions on how to inspect a page or browser action.">
        To inspect a popup, right-click the page or browser action's icon and choose Inspect popup.
      </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... No extensions installed :-(
      </message>
      <message name="IDS_EXTENSIONS_NONE_INSTALLED_SUGGEST_GALLERY" desc="Text on next line after IDS_EXTENSIONS_NONE_INSTALLED that suggests the user look in the gallery for extensions to install.">
        Want to <ph name="BEGIN_LINK">$1</ph>browse the gallery<ph name="END_LINK">$2</ph> instead?
      </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_DISABLED_EXTENSION" desc="Text that signifies that the extension is currently disabled.">
        (Disabled)
      </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_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_VERSION" desc="The version label text in front of the version number.">
        Version:
      </message>
      <message name="IDS_EXTENSIONS_INSPECT_VIEWS" desc="The text for the label in front of the links to inspect active views.">
        Inspect active views:
      </message>
      <message name="IDS_EXTENSIONS_DISABLE" desc="The link for disabling extensions.">
        Disable
      </message>
      <message name="IDS_EXTENSIONS_ENABLE" desc="The link for enabling extensions.">
        Enable
      </message>
      <message name="IDS_EXTENSIONS_ENABLE_INCOGNITO" desc="The checkbox for enabling extensions in incognito.">
        Allow in incognito
      </message>
      <message name="IDS_EXTENSIONS_ALLOW_FILE_ACCESS" desc="The checkbox for allowing an extension access to run scripts on file URLs.">
        Allow access to file URLs
      </message>
      <message name="IDS_EXTENSIONS_INCOGNITO_WARNING" desc="Warns the user that Chrome cannot prevent extensions from recording history in incognito mode. Displayed in extensions management UI after an extension is selected to be run in incognito mode.">
        <ph name="BEGIN_BOLD">&lt;b&gt;</ph>Warning:<ph name="END_BOLD">&lt;/b&gt;</ph> <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> cannot prevent extensions from recording your browsing history. To disable this extension in incognito mode, unselect this option.
      </message>
      <message name="IDS_EXTENSIONS_RELOAD" desc="The link for reloading extensions.">
        Reload
      </message>
      <message name="IDS_EXTENSIONS_UNINSTALL" desc="The link for uninstalling extensions.">
        Uninstall
      </message>
      <message name="IDS_EXTENSIONS_OPTIONS" desc="The button text for the options button.">
        Options
      </message>
      <message name="IDS_EXTENSIONS_SHOW_BUTTON" desc="The text for the Show link.">
        Show button
      </message>
      <message name="IDS_EXTENSIONS_HIDE_BUTTON" desc="The text for the Hide context menu item.">
        Hide button
      </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.">
        Inspect popup
      </message>
      <message name="IDS_EXTENSIONS_POLICY_CONTROLLED" desc="The text informing the user that an extension is policy controlled">
        (this extension is managed and can not be uninstalled or disabled)
      </message>
      <message name="IDS_GET_MORE_EXTENSIONS" desc="The link 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_EXTENSION_PACK_DIALOG_TITLE" desc="Title of pack extension dialog">
        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_ROOT" desc="Heading in file browse dialog instructing user to select an extension to pack.">
        Select extension root directory.
      </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_INSTALL_FAILURE_TITLE" desc="Message shown in titlebar/header of the dialog informing the user that an extension failed to install.">
        Extension Install Failure
      </message>

      <message name="IDS_EXTENSION_PROMPT_INSTALL_BUTTON" desc="Text for the install button on the extension install prompt">
        Install
      </message>
      <message name="IDS_EXTENSION_PROMPT_UNINSTALL_BUTTON" desc="Text for the uninstall button on the extension 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_ABORT_BUTTON" desc="Text for the deny button on the extension permissions prompt">
        Deny
      </message>
      <message name="IDS_EXTENSION_WEB_STORE_TITLE" desc="Text for the Chrome Web Store">
        Web Store
      </message>

      <!-- Plugins -->
      <message name="IDS_PLUGINS_TITLE" desc="Title for the chrome://plugins page.">
        Plug-ins
      </message>
      <message name="IDS_PLUGINS_DETAILS_MODE_LINK" desc="Text of the link for details mode.">
        Details
      </message>
      <message name="IDS_PLUGINS_NONE_INSTALLED" desc="Text that lets the user know that no plug-ins are installed.">
        No plug-ins installed.
      </message>
      <message name="IDS_PLUGINS_DISABLED_PLUGIN" desc="Text that signifies that the plug-in is currently disabled.">
        (Disabled)
      </message>
      <message name="IDS_PLUGINS_DISABLED_BY_POLICY_PLUGIN" desc="Text that signifies that the plug-in is currently disabled by enterprise policy.">
        (Disabled by enterprise policy)
      </message>
      <message name="IDS_PLUGINS_CANNOT_ENABLE_DUE_TO_POLICY" desc="Text that indicates a plug-in cannot be enabled because it has been disabled by enterprise policy.">
        Cannot enable plug-ins that are disabled by enterprise policy
      </message>
      <message name="IDS_PLUGINS_ENABLED_BY_POLICY_PLUGIN" desc="Text that signifies that the plug-in is currently enabled by enterprise policy.">
        (Enabled by enterprise policy)
      </message>
      <message name="IDS_PLUGINS_CANNOT_DISABLE_DUE_TO_POLICY" desc="Text that indicates a plug-in cannot be disabled because it has been enabled by enterprise policy.">
        Cannot disable plug-ins that are enabled by enterprise policy
      </message>
      <message name="IDS_PLUGINS_VERSION" desc="The label in front of a plug-in version number.">
        Version:
      </message>
      <message name="IDS_PLUGINS_DESCRIPTION" desc="The label in front of a plug-in description.">
        Description:
      </message>
      <message name="IDS_PLUGINS_PATH" desc="The label in front of a plug-in path (file/location on disk).">
        Location:
      </message>
      <message name="IDS_PLUGINS_MIME_TYPES" desc="The label in front of a plug-in's MIME types table.">
        MIME types:
      </message>
      <message name="IDS_PLUGINS_MIME_TYPES_MIME_TYPE" desc="The label over the MIME type column in a plug-in's MIME types table.">
        MIME type
      </message>
      <message name="IDS_PLUGINS_MIME_TYPES_DESCRIPTION" desc="The label over the description column in a plug-in's MIME types table.">
        Description
      </message>
      <message name="IDS_PLUGINS_MIME_TYPES_FILE_EXTENSIONS" desc="The label over the file extensions column in a plug-in's MIME types table.">
        File extensions
      </message>
      <message name="IDS_PLUGINS_DISABLE" desc="The link for disabling a plug-in.">
        Disable
      </message>
      <message name="IDS_PLUGINS_ENABLE" desc="The link for enabling a plug-in.">
        Enable
      </message>
      <message name="IDS_PLUGINS_DOWNLOAD" desc="The link label to download the latest version of this plug-in">
        Download Critical Security Update
      </message>
      <message name="IDS_PLUGINS_NAME" desc="The label for the name of this plug-in">
        Name:
      </message>
      <message name="IDS_PLUGINS_NO_PLUGINS" desc="Text that indicates that no plugins are installed">
        No plugins are installed
      </message>
      <message name="IDS_PLUGINS_DISABLED_HEADER" desc="Text right before the plugins disabled body text.">
        Plugin preferences have been disabled.
      </message>
      <message name="IDS_PLUGINS_DISABLED_TEXT" desc="Text at the top of the about:plugins page on profiles launched after the first profile, warning that they may not control plugins during this browser session.">
        There are multiple simultaneous users of Chrome on this computer. Only the first user to launch Chrome can modify these preferences. Sorry about that!
      </message>

      <!-- about:policy -->
      <message name="IDS_POLICY_TITLE" desc="The title for the about:policies page.">
        Policies
      </message>
      <message name="IDS_POLICY_FETCH" desc="The label for the button that fetches policies.">
        Fetch policies now
      </message>
      <message name="IDS_POLICY_STATUS_TITLE" desc="The title for the status section.">
        Status
      </message>
      <message name="IDS_POLICY_DEVICE_POLICIES" desc="The title for the device policies status box.">
        Device Policies
      </message>
      <message name="IDS_POLICY_USER_POLICIES" desc="The title for the user policies status box.">
        User policies
      </message>
      <message name="IDS_POLICY_ENROLLMENT_DOMAIN" desc="The label for the enrollment domain in the status boxes.">
        Enrollment domain:
      </message>
      <message name="IDS_POLICY_LAST_FETCHED" desc="The label for the last fetched time in the status boxes.">
        Last fetched:
      </message>
      <message name="IDS_POLICY_FETCH_INTERVAL" desc="The label for the fetch interval in the status boxes.">
        Fetch interval:
      </message>
      <message name="IDS_POLICY_SERVER_STATUS" desc="The label for the server status in the status boxes.">
        Status:
      </message>
      <message name="IDS_POLICY_SHOW_UNSENT" desc="The label for the checkbox that enables/disables the display of policies not sent by the server.">
        Also show policies not sent by the server
      </message>
      <message name="IDS_POLICY_FILTER" desc="The placeholder for the search box.">
        Filter policies by name
      </message>
      <message name="IDS_POLICY_NO_POLICIES_SET" desc="The text that appears if no policies were received
      by the client.">
        No policies are currently active!
      </message>
      <message name="IDS_POLICY_APPLIES_TO" desc="The table header for the column in the policy table that details whether a policy is a user or a device policy.">
        Applies To
      </message>
      <message name="IDS_POLICY_LEVEL" desc="The table header for the column in the policy table that details whether a policy is mandatory or recommended.">
        Level
      </message>
      <message name="IDS_POLICY_ENTRY_NAME" desc="The table header for the column in the policy table that contains the name of the policy.">
        Policy Name
      </message>
      <message name="IDS_POLICY_ENTRY_VALUE" desc="The table header for the column in the policy table that contains the value of the policy.">
        Policy Value
      </message>
      <message name="IDS_POLICY_ENTRY_STATUS" desc="The table header for the column in policy table that contains the status of the policy.">
        Status
      </message>

      <!-- about:flags -->
      <message name="IDS_FLAGS_LONG_TITLE" desc="Long version of the title for the about:flags page.">
        Careful, these experiments may bite
      </message>
      <message name="IDS_FLAGS_TABLE_TITLE" desc="Title for the experiments table on the about:flags page.">
        Experiments
      </message>
      <message name="IDS_FLAGS_WARNING_HEADER" desc="Text right before the warning body text.">
        WARNING
      </message>
      <message name="IDS_FLAGS_WARNING_TEXT" desc="Text at the top of the about:flags page, warning users that the about:flags contents are volatile.">
        These experimental features may change, break, or disappear at any time. We make absolutely no guarantees about what may happen if you turn one of these experiments on, and your browser may even spontaneously combust. Jokes aside, your browser may delete all your data, or your security and privacy could be compromised in unexpected ways. Any experiments you enable will be enabled for all users of this browser. Please proceed with caution.
      </message>
      <message name="IDS_FLAGS_NO_EXPERIMENTS_AVAILABLE" desc="Shown if no experiments are available">
        Aww, it looks like there are currently no experiments available.
      </message>
      <if expr="not pp_ifdef('chromeos')">
        <message name="IDS_FLAGS_RELAUNCH_NOTICE" desc="Notifies the user that he needs to relaunch chrome. Shown next to a button that says 'Relaunch Now'.">
          Your changes will take effect the next time you relaunch <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
        </message>
        <message name="IDS_FLAGS_RELAUNCH_BUTTON" desc="Text on a button that relaunches chrome when clicked. ">
          Relaunch Now
        </message>
      </if>
      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_FLAGS_RELAUNCH_NOTICE" desc="Notifies the user that he needs to restart Chrome OS. Shown next to a button that says 'Restart Now'.">
          Your changes will take effect the next time you restart <ph name="PRODUCT_NAME">$1<ex>Google Chrome OS</ex></ph>.
        </message>
        <message name="IDS_FLAGS_RELAUNCH_BUTTON" desc="Text on a button that restarts Chrome OS when clicked. ">
          Restart Now
        </message>
      </if>
      <message name="IDS_FLAGS_DISABLE" desc="The link for disabling a labs experiment.">
        Disable
      </message>
      <message name="IDS_FLAGS_ENABLE" desc="The link for enabling a labs experiment.">
        Enable
      </message>
      <message name="IDS_FLAGS_TABPOSE_NAME" desc="Name of the 'Tab Overview' lab.">
        Tab Overview
      </message>
      <message name="IDS_FLAGS_TABPOSE_DESCRIPTION" desc="Description of the 'Tab Overview' lab.">
        Swipe down with three fingers on your trackpad to see an overview of all your tabs. Click on a thumbnail to select it. Works great in fullscreen mode.
      </message>
      <message name="IDS_FLAGS_SIDE_TABS_NAME" desc="Name of the 'Left Tabs' lab.">
        Side Tabs
      </message>
      <message name="IDS_FLAGS_SIDE_TABS_DESCRIPTION" desc="Description of the 'Left Tabs' lab.">
        Adds a "Use Side Tabs" entry to the tabstrip's context menu. Use this to toggle between tabs on top (default) and tabs on the side. Useful on widescreen monitors.
      </message>
      <message name="IDS_FLAGS_INSTANT_AUTOCOMPLETE_IMMEDIATELY_NAME" desc="Name of the 'Instant Autocomplete Immediately' lab.">
        Instant Autocomplete Immediately
      </message>
      <message name="IDS_FLAGS_INSTANT_AUTOCOMPLETE_IMMEDIATELY_DESCRIPTION" desc="Description of the 'Instant Autocomplete Immediately' lab.">
        Whether the search provider suggestion should be autocompleted immediately when instant is enabled.
      </message>
      <message name="IDS_FLAGS_REMOTING_NAME" desc="Description of the 'Remoting' lab.">
        Remoting
      </message>
      <message name="IDS_FLAGS_REMOTING_DESCRIPTION" desc="Description of the 'Remoting' client lab.">
        Enable the Remoting client plugin. Warning: This is currently for developer testing only. Unless you are on the dev team and whitelisted, nothing in the enabled UI will work.
      </message>
      <message name="IDS_FLAGS_FOCUS_EXISTING_TAB_ON_OPEN_NAME" desc="Name for 'Focus existing tab on open' lab">
        Focus existing tab on open
      </message>
      <message name="IDS_FLAGS_FOCUS_EXISTING_TAB_ON_OPEN_DESCRIPTION" desc="Description of the 'Focus existing tab on open' lab.">
        Typing a URL of an existing tab into the omnibox results in refocusing the tab instead of loading in the current tab.
      </message>
      <message name="IDS_FLAGS_ENABLE_NACL_NAME" desc="Description of the 'Enable Native Client' lab.">
        Native Client
      </message>
      <message name="IDS_FLAGS_ENABLE_NACL_DESCRIPTION" desc="Description of the 'Enable Native Client' lab.">
        Enable support for Native Client.
      </message>
      <message name="IDS_FLAGS_ENABLE_SHORTCUTS_PROVIDER" desc="Name of the 'Enable better ranking of previously selected shortcuts in omnibox' lab.">
        Enable 'shortcuts' in the omnibox.
      </message>
      <message name="IDS_FLAGS_ENABLE_SHORTCUTS_PROVIDER_DESCRIPTION" desc=" Description of the 'Enable better ranking of previously selected shortcuts in omnibox' lab.">
        Remembers commonly selected autocomplete results based on the omnibox search term and offers those URLs the next time that same search term is typed.
      </message>
      <message name="IDS_FLAGS_MEMORY_WIDGET_NAME" desc="Name of the 'Show memory status' lab.">
        Show memory status
      </message>
      <message name="IDS_FLAGS_MEMORY_WIDGET_DESCRIPTION" desc="Description of the 'Show memory status' lab.">
        Shows the amount of free memory in the status area. Click on the menu for more information about system memory.
      </message>
      <message name="IDS_FLAGS_DOWNLOADS_NEW_UI_NAME" desc="Name of the 'New Downloads UI' lab.">
        New Downloads UI
      </message>
      <message name="IDS_FLAGS_DOWNLOADS_NEW_UI_DESCRIPTION" desc="Description of the 'New Downloads UI' lab.">
        Shows an experimental new UI instead of the download shelf.
      </message>
      <message name="IDS_FLAGS_XSS_AUDITOR_NAME" desc="Description of the 'XSS Auditor' lab.">
        XSS Auditor
      </message>
      <message name="IDS_FLAGS_XSS_AUDITOR_DESCRIPTION" desc="Description of the 'XSS Auditor' lab.">
        Enables WebKit's XSS Auditor (cross-site scripting protection). This feature aims to protect you from certain attacks of malicious web sites. It improves your security, but it might not be compatible with all web sites.
      </message>
      <message name="IDS_FLAGS_CLOUD_PRINT_PROXY_NAME" desc="Title of the Cloud Print Proxy lab">
        Cloud Print Proxy
      </message>
      <message name="IDS_FLAGS_CLOUD_PRINT_PROXY_DESCRIPTION" desc="Description of the Cloud Print Proxy lab">
        Enables a background service that connects the <ph name="CLOUD_PRINT_NAME">Google Cloud Print</ph> service to any printers installed on this computer. Once this lab is enabled, you can turn <ph name="CLOUD_PRINT_NAME">Google Cloud Print</ph> on by logging in with your Google account in the Options/Preferences in the Under the Hood section.
      </message>
      <message name="IDS_FLAGS_CRXLESS_WEB_APPS_NAME" desc="Title of the CRX-less web apps lab">
        CRX-less Web Apps
      </message>
      <message name="IDS_FLAGS_CRXLESS_WEB_APPS_DESCRIPTION" desc="Description of the CRX-less web apps lab">
        Enables support for installing Chrome apps that are deployed using a manifest file on a webpage, rather than by packaging the manifest and icons into a crx file.
      </message>
      <message name="IDS_FLAGS_LAZY_BACKGROUND_PAGES_NAME" desc="Title of the flag to enable lazy loading of extension background pages.">
        Lazy Background Pages
      </message>
      <message name="IDS_FLAGS_LAZY_BACKGROUND_PAGES_DESCRIPTION" desc="Description of the flag to enable lazy loading of extension background pages.">
        Enables some extension background pages to be loaded when they are needed rather than when the extensions are first loaded.
      </message>
      <message name="IDS_FLAGS_CONFLICTS_CHECK_NAME" desc="Title of the run conflicts check flag">
        Check for known conflicts with 3rd party modules.
      </message>
      <message name="IDS_FLAGS_CONFLICTS_CHECK_DESCRIPTION" desc="Description of the conflicts check flag">
        Enables a background check that warns you when a software incompatibility is detected (ie. 3rd party modules that crash the browser).
      </message>
      <message name="IDS_FLAGS_ACCELERATED_COMPOSITING_NAME" desc="Name of the 'GPU Accelerated Compositing' lab.">
        GPU Accelerated Compositing
      </message>
      <message name="IDS_FLAGS_ACCELERATED_COMPOSITING_DESCRIPTION" desc="Description of the 'GPU Accelerated Compositing' lab.">
        Enables 3D CSS and higher performance compositing of webpages using Graphics Processor Unit (GPU) hardware.
      </message>
      <message name="IDS_FLAGS_COMPOSITED_LAYER_BORDERS" desc="Name of the 'Composited layer borders' lab.">
        Composited render layer borders
      </message>
      <message name="IDS_FLAGS_COMPOSITED_LAYER_BORDERS_DESCRIPTION" desc="Description of the 'Composited layer borders' lab.">
        Renders a border around composited Render Layers to help debug and study layer compositing.
      </message>
      <message name="IDS_FLAGS_ACCELERATED_DRAWING_NAME" desc="Title for the flag to enable accelerated drawing">
        GPU Accelerated Drawing
      </message>
      <message name="IDS_FLAGS_ACCELERATED_DRAWING_DESCRIPTION" desc="Description for the flag to enable accelerated drawing">
        Enable GPU accelerated drawing of page contents when compositing is enabled.
      </message>
      <message name="IDS_FLAGS_SHOW_FPS_COUNTER" desc="Name of the 'Show FPS counter' lab.">
        FPS counter
      </message>
      <message name="IDS_FLAGS_SHOW_FPS_COUNTER_DESCRIPTION" desc="Description of the 'Show FPS counter' lab.">
        Shows a page's actual frame rate, in frames per second, when hardware acceleration is active.
      </message>
      <message name="IDS_FLAGS_COMPOSITE_TO_TEXTURE_NAME" desc="Name of the 'Offscreen Compositing' lab.">
        Composite to Texture
      </message>
      <message name="IDS_FLAGS_COMPOSITE_TO_TEXTURE_DESCRIPTION" desc="Description of the 'Offscreen Compositing' lab.">
        Enables compositing to offscreen texture instead of directly to display.
      </message>
      <message name="IDS_FLAGS_FORCE_COMPOSITING_MODE_NAME" desc="Name of the 'Force compositing mode' lab.">
        GPU compositing on all pages
      </message>
      <message name="IDS_FLAGS_FORCE_COMPOSITING_MODE_DESCRIPTION" desc="Description of the 'Force compositing mode' lab.">
        Uses GPU accelerated compositing on all pages, not just those that include GPU-accelerated layers.
      </message>
      <message name="IDS_FLAGS_IGNORE_GPU_BLACKLIST_NAME" desc="Name of the 'Ignore GPU blacklist' lab.">
        Override software rendering list
      </message>
      <message name="IDS_FLAGS_IGNORE_GPU_BLACKLIST_DESCRIPTION" desc="Description of the 'Ignore GPU blacklist' lab.">
        Overrides the built-in software rendering list and enables GPU-acceleration on unsupported system configurations.
      </message>
      <message name="IDS_FLAGS_DISABLE_GPU_VSYNC_NAME" desc="Name of the 'Disable GPU VSync' lab.">
        Disable GPU VSync
      </message>
      <message name="IDS_FLAGS_DISABLE_GPU_VSYNC_DESCRIPTION" desc="Description of the 'Disable GPU VSync' lab.">
        Disables synchronization with the display's vertical refresh rate when GPU rendering. This allows frame rates to exceed
        60 hertz. While useful for benchmarking purposes, this also results in visual tearing during rapid screen updates.
      </message>
      <message name="IDS_FLAGS_WEBGL_NAME" desc="Name of the 'WebGL' lab.">
        WebGL
      </message>
      <message name="IDS_FLAGS_WEBGL_DESCRIPTION" desc="Description of the 'WebGL' lab.">
        Enables canvas elements to use 3D graphics via the WebGL API.
      </message>
      <message name="IDS_FLAGS_PRINT_PREVIEW_NAME" desc="Name of the 'Print Preview' lab.">
        Print Preview
      </message>
      <message name="IDS_FLAGS_PRINT_PREVIEW_DESCRIPTION" desc="Description of the 'Print Preview' lab.">
        Enables an in-tab preview of a print operation.
      </message>
      <message name="IDS_FLAGS_EXPERIMENTAL_EXTENSION_APIS_NAME" desc="Name of the 'Experimental Extension APIs' lab.">
        Experimental Extension APIs
      </message>
      <message name="IDS_FLAGS_EXPERIMENTAL_EXTENSION_APIS_DESCRIPTION" desc="Description of the 'Experimental Extension APIs' lab.">
        Enables experimental extension APIs. Note that the extension gallery doesn't allow you to upload extensions that use experimental APIs.
      </message>
      <message name="IDS_FLAGS_APPS_NEW_INSTALL_BUBBLE_NAME" desc="Name of the 'New Apps Install Bubble' lab">
        New Apps Install Bubble
      </message>
      <message name="IDS_FLAGS_APPS_NEW_INSTALL_BUBBLE_DESCRIPTION" desc="Description of the 'New Apps Install Bubble' lab">
        When installing an app, always show a bubble pointing at the new tab page button on the tabstrip instead of opening a new tab page.
      </message>
      <message name="IDS_FLAGS_CLICK_TO_PLAY_NAME" desc="Name of the 'Click to play' lab.">
        Click to play
      </message>
      <message name="IDS_FLAGS_CLICK_TO_PLAY_DESCRIPTION" desc="Description of the 'Click to play' lab.">
        Enables a "click to play" option in the plug-in content settings.
      </message>
      <message name="IDS_FLAGS_DISABLE_HYPERLINK_AUDITING_NAME" desc="Name of the 'Disable hyperlink auditing' lab.">
        Disable hyperlink auditing
      </message>
      <message name="IDS_FLAGS_DISABLE_HYPERLINK_AUDITING_DESCRIPTION" desc="Description of the 'Disable hyperlink auditing' lab.">
        Disable sending hyperlink auditing pings.
      </message>
      <message name="IDS_FLAGS_EXPERIMENTAL_LOCATION_FEATURES_NAME" desc="Name of the 'Enable experimental location features' lab.">
        Experimental location features
      </message>
      <message name="IDS_FLAGS_EXPERIMENTAL_LOCATION_FEATURES_DESCRIPTION" desc="Description of the 'Enable experimental location features' lab.">
        Enables experimental extensions to the geolocation feature. Includes using operating system location APIs (where available), and sending additional local network configuration data to the Google location service to provide higher accuracy positioning.
      </message>
      <message name="IDS_FLAGS_BLOCK_ALL_THIRD_PARTY_COOKIES_NAME" desc="Name of the 'Block all third-party cookies' lab.">
        Block all third-party cookies
      </message>
      <message name="IDS_FLAGS_BLOCK_ALL_THIRD_PARTY_COOKIES_DESCRIPTION" desc="Description of the 'Block all third-party cookies' lab.">
        When the option to block third-party cookies from being set is enabled, also block third-party cookies from being read.
      </message>
      <message name="IDS_FLAGS_DISABLE_INTERACTIVE_FORM_VALIDATION_NAME" desc="Name of the 'Disable HTML5 interactive form validation' lab.">
        Disable HTML5 interactive form validation
      </message>
      <message name="IDS_FLAGS_DISABLE_INTERACTIVE_FORM_VALIDATION_DESCRIPTION" desc="Description of the 'Disable HTML5 interactive form validation' lab.">
        Disable showing validation messages and preventing form submission.
      </message>
      <message name="IDS_COMPACT_NAVIGATION_BAR" desc="The menu item on the app menu to toggle compact navigation bar">
        Compact Navigation Bar
      </message>
      <message name="IDS_FLAGS_STATIC_IP_CONFIG_NAME" desc="Name of the static ip config lab.">
        Experimental static ip configuration
      </message>
      <message name="IDS_FLAGS_STATIC_IP_CONFIG_DESCRIPTION" desc="Description of the static ip config lab.">
        Enables static ip configuration. May not work.
      </message>
      <message name="IDS_FLAGS_TAB_GROUPS_CONTEXT_MENU_NAME" desc="Name of the context menu for enabling tab grouping in the context menu">
        Add grouping to tab context menu
      </message>
      <message name="IDS_FLAGS_TAB_GROUPS_CONTEXT_MENU_DESCRIPTION" desc="Description of the context menu for enabling tab grouping in the context menu lab.">
        Adds items to the tab context menu for grouping tabs.
      </message>
      <message name="IDS_FLAGS_PPAPI_FLASH_IN_PROCESS_NAME" desc="Title for the flag to run the custom flash in-process">
        Run PPAPI Flash in the renderer process
      </message>
      <message name="IDS_FLAGS_PPAPI_FLASH_IN_PROCESS_DESCRIPTION" desc="Description for the flag to run the custom flash in-process">
        If the PPAPI version of Flash is in use, run it in each renderer process rather than in a dedicated plugin process.
      </message>
      <message name="IDS_FLAGS_ENABLE_VPN_NAME" desc="Title for the flag to enable VPN support">
        VPN support
      </message>
      <message name="IDS_FLAGS_ENABLE_VPN_DESCRIPTION" desc="Description for the flag to enable VPN support">
        Show Private networks in the Network menu to enable conencting to a VPN.
      </message>
      <message name="IDS_FLAGS_MULTI_PROFILES_NAME" desc="Title for the flag to enable multiprofile support">
        Multiple Profiles
      </message>
      <message name="IDS_FLAGS_MULTI_PROFILES_DESCRIPTION" desc="Description for the flag to enable multiprofile support">
        Associates every browser window with a profile, and adds a profile switcher in the upper right corner. Every profile has its own bookmarks, extensions, apps, etc.
      </message>
      <message name="IDS_FLAGS_RESTRICT_INSTANT_TO_SEARCH_NAME" desc="Title for the flag to restrict Instant to search">
        Restrict Instant To Search
      </message>
      <message name="IDS_FLAGS_RESTRICT_INSTANT_TO_SEARCH_DESCRIPTION" desc="Description for the flag to restrict Instant to search">
        Restrict Instant to loading only search pages.
      </message>
      <message name="IDS_FLAGS_PRELOAD_INSTANT_SEARCH_NAME" desc="Title for the flag to preload Instant search">
        Preload Instant Search
      </message>
      <message name="IDS_FLAGS_PRELOAD_INSTANT_SEARCH_DESCRIPTION" desc="Description for the flag to preload Instant search">
        Preload the default search engine for Instant.
      </message>
      <message name="IDS_FLAGS_ENABLE_SMOOTH_SCROLLING_NAME" desc="Title for the flag to turn on smooth scrolling">
        Smooth Scrolling
      </message>
      <message name="IDS_FLAGS_ENABLE_SMOOTH_SCROLLING_DESCRIPTION" desc="Description for the flag to turn on smooth scrolling">
        Enable the experimental smooth scrolling implementation.
      </message>
      <message name="IDS_FLAGS_PRE_LOGIN_NAME" desc="Title for the flag to pre-login the user">
        Turn off pre-login
      </message>
      <message name="IDS_FLAGS_PRE_LOGIN_DESCRIPTION" desc="Description for the flag to pre-login the user">
        When pre-login is turned on, connecting a profile to a Google Account will add the account's cookies
        to the profile's cookie jar, so that retyping the username and password in the browser is not necessary.
        Pre-login is always disabled if the profile is not connected to a Google Account.
      </message>
      <message name="IDS_FLAGS_SHOW_AUTOFILL_TYPE_PREDICTIONS_NAME" desc="Title for the flag to show Autofill field type predictions for all forms">
        Show Autofill predictions
      </message>
      <message name="IDS_FLAGS_SHOW_AUTOFILL_TYPE_PREDICTIONS_DESCRIPTION" desc="Description for the flag to show Autofill field type predictions for all forms">
        Annotates web forms with Autofill field type predictions as placeholder text.
      </message>
      <message name="IDS_FLAGS_SYNC_SESSIONS_NAME" desc="Title for the flag to enable syncing the Sessions datatype">
        Enable syncing sessions
      </message>
      <message name="IDS_FLAGS_SYNC_SESSIONS_DESCRIPTION" desc="Description for the flag to enable syncing the Sessions datatype">
        Enable sessions in the sync options. This allows syncing your sessions to other clients.
      </message>
      <message name="IDS_FLAGS_SYNC_SEARCH_ENGINES_NAME" desc="Title for the flag to enable syncing the Search Engines datatype">
        Enable syncing search engines
      </message>
      <message name="IDS_FLAGS_SYNC_SEARCH_ENGINES_DESCRIPTION" desc="Description for the flag to enable syncing the Search Engines datatype">
        Enable search engines in the sync options. This allows syncing your custom search engines to other clients.
      </message>
      <message name="IDS_FLAGS_SYNC_OAUTH_NAME" desc="Title for the flag to enable authenticating with OAuth">
        Use OAuth to authenticate Sync operations.
      </message>
      <message name="IDS_FLAGS_SYNC_OAUTH_DESCRIPTION" desc="Description for the flag to enable authenticating with OAuth">
        Use OAuth, rather than ClientLogin, to authenticate Sync operations.  This decouples authentication-specific user interface elements from the browser and enables a rich set of second-factor mechanisms.
      </message>
      <message name="IDS_FLAGS_SYNC_TYPED_URLS_NAME" desc="Title for the flag to enable syncing the TypedUrl datatype">
        Enable syncing Omnibox History
      </message>
      <message name="IDS_FLAGS_SYNC_TYPED_URLS_DESCRIPTION" desc="Description for the flag to enable syncing the TypedURL datatype">
        Enable Omnibox History in the sync options. This allows syncing your typed URL history to other clients to assist in omnibox auto-completion.
      </message>
      <message name="IDS_FLAGS_PRERENDER_FROM_OMNIBOX_NAME" desc="Title for the flag to prerender from the omnibox">
        Prerender from omnibox
      </message>
      <message name="IDS_FLAGS_PRERENDER_FROM_OMNIBOX_DESCRIPTION" desc="Description for the flag to prerender from the omnibox">
        Enables prerendering of suggestions from the Omnibox and predicts appropriate network actions (prerendering, Instant, DNS preconnect) by calculating a confidence value for each Omnibox result.
      </message>
      <message name="IDS_FLAGS_ENABLE_ADDITIONAL_AUTOFILL_FEEDBACK_NAME" desc="Title for the flag to enable prompts for Autofill feedback">
        Send additional Autofill feedback
      </message>
      <message name="IDS_FLAGS_ENABLE_ADDITIONAL_AUTOFILL_FEEDBACK_DESCRIPTION" desc="Description for the flag to enable prompts for Autofill feedback">
        Help improve Autofill.  With this enabled, Chrome will occasionally prompt you to send additional feedback to the Autofill team.
      </message>
      <message name="IDS_FLAGS_ENABLE_PANELS_NAME" desc="Name of the 'Enable Panels' lab.">
        Panels
      </message>
      <message name="IDS_FLAGS_ENABLE_PANELS_DESCRIPTION" desc="Description for the flag to enable Panel windows.">
        Enable experimental extensions to open Panel windows outside of the browser frame.
      </message>

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

      <!-- chrome://sessions -->
      <message name="IDS_SESSIONS_TITLE" desc="Title for the chrome://sessions page.">
        Sessions
      </message>
      <message name="IDS_SESSIONS_SESSION_COUNT_BANNER_FORMAT" desc="Format for sessions count banner on chrome://sessions">
        Sessions (<ph name="SESSION_COUNT">$1<ex>3</ex></ph>)
      </message>
      <message name="IDS_SESSIONS_NO_SESSIONS_MESSAGE" desc="The explanatory message for chrome://sessions when there are no sessions">
        There are no sessions.
      </message>
      <message name="IDS_SESSIONS_MAGIC_LIST_BANNER_FORMAT" desc="Format for magic list count banner on chrome://sessions">
        Magic List (<ph name="MAGIC_COUNT">$1<ex>3</ex></ph>)
      </message>
      <message name="IDS_SESSIONS_NO_MAGIC_MESSAGE" desc="The explanatory message for chrome://sessions when there are no entries in the magic list">
        There is no magic.
      </message>

      <!-- Instant -->
      <message name="IDS_INSTANT_OPT_IN_ENABLE" desc="Button shown in the omnibox dropdown for enabling instant">
        Enable...
      </message>
      <message name="IDS_INSTANT_OPT_IN_NO_THANKS" desc="Button shown in the omnibox dropdodown for not enabling instant">
        No thanks
      </message>
      <message name="IDS_INSTANT_OPT_IN_LABEL" desc="Label shown in the omnibox dropdown for enabling instant">
        Enable Instant for faster searching and browsing?
      </message>
      <message name="IDS_INSTANT_OPT_IN_MESSAGE" desc="Message shown in the instant opt-in dialog">
        With Instant enabled, most webpages begin loading as soon as you type a URL in the omnibox, before you hit Enter. In addition, if supported by your default search engine, search results appear instantly as you type queries in the omnibox, and in-line predictions help guide your search.\n\nBecause search results are requested even while you're typing your query, your default search engine may be logging these as search queries.\n
      </message>
      <message name="IDS_INSTANT_PREF" desc="Preference for enabling instant">
        Enable Instant for faster searching and browsing
      </message>
      <message name="IDS_INSTANT_PREF_WARNING" desc="Warning displayed beneath instant pref">
        Omnibox input may be logged
      </message>
      <message name="IDS_INSTANT_LEARN_MORE_URL" desc="URL of help center page that explains browser instant" translateable="false">
        http://www.google.com/support/chrome/bin/answer.py?answer=180655&amp;hl=[GRITLANGCODE]
      </message>

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

      <!-- Click to play -->
      <message name="IDS_PLUGIN_LOAD" desc="The link for loading a blocked plug-in, displayed in the click to play UI.">
        Click to run the <ph name="PLUGIN_NAME">$1<ex>Flash</ex></ph> plug-in.
      </message>
      <message name="IDS_PLUGIN_HIDE" desc="The tooltip for hiding a blocked plug-in, displayed in the click to play UI.">
        Hide this plug-in
      </message>
      <message name="IDS_PLUGIN_UPDATE" desc="The link for updating an outdated plug-in.">
        Update plug-in...
      </message>
      <message name="IDS_PLUGIN_BLOCKED" desc="The placeholder text for a blocked disabled plug-in.">
        The <ph name="PLUGIN_NAME">$1<ex>Flash</ex></ph> plug-in is not allowed.
      </message>
      <message name="IDS_PLUGIN_OUTDATED" desc="The placeholder text for an outdated disabled plug-in.">
        The <ph name="PLUGIN_NAME">$1<ex>Flash</ex></ph> plug-in is out of date.
      </message>
      <message name="IDS_PLUGIN_NOT_AUTHORIZED" desc="The placeholder text for a plug-in that requires user permission to run.">
        The <ph name="PLUGIN_NAME">$1<ex>Java</ex></ph> plug-in needs your permission to run.
      </message>

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

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

      <!-- Monoscope warning info bar -->
      <message name="IDS_DNS_CERT_PROVENANCE_CHECKING_WARNING_MESSAGE" desc="Message shown when the user has DNS certificate provenance checking enabled. This message is followed by a 'Learn more' link.">
        You have DNS certificate provenance checking enabled. This may result in private information being sent to Google.
      </message>

      <!-- Obsolete System info bar -->
      <message name="IDS_SYSTEM_OBSOLETE_MESSAGE" desc="Message shown when your OS is no longer supported. This messages is followed by a 'Learn more' link.">
         <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> is no longer updating because your operating system is obsolete.
      </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 has insecure content.
      </message>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_ALLOW_INSECURE_CONTENT_BUTTON" desc="Button to allow insecure content to be displayed">
          Load Anyway
        </message>
        <message name="IDS_BLOCK_INSECURE_CONTENT_BUTTON" desc="Button to prevent insecure content from being displayed">
          Don't Load (Recommended)
        </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_ALLOW_INSECURE_CONTENT_BUTTON" desc="Button to allow insecure content to be displayed">
          Load anyway
        </message>
        <message name="IDS_BLOCK_INSECURE_CONTENT_BUTTON" desc="Button to prevent insecure content from being displayed">
          Don't load (recommended)
        </message>
      </if>

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

        <!-- SMS Notifications -->
        <message name="IDS_SMS_NOTIFICATION_TITLE" desc="Title of SMS message notification.">
          SMS from <ph name="PHONE_NUMBER">$1<ex>08700 776655</ex></ph>
        </message>

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

        <!-- about:system strings -->
        <message name="IDS_ABOUT_SYS_TITLE" desc="about:system page title">
          About System
        </message>
        <message name="IDS_ABOUT_SYS_DESC" desc="about:system page description">
          System diagnostic data
        </message>
        <message name="IDS_ABOUT_SYS_TABLE_TITLE" desc="Title of a table that contains system details">
          Details
        </message>
        <message name="IDS_ABOUT_SYS_EXPAND_ALL" desc="name of a button that shows (expands) all system details">
          Expand all...
        </message>
        <message name="IDS_ABOUT_SYS_COLLAPSE_ALL" desc="name of a button that hides (collapses) all system details">
          Collapse all...
        </message>
        <message name="IDS_ABOUT_SYS_EXPAND" desc="name of a button that shows (expands) specific system details">
          Expand...
        </message>
        <message name="IDS_ABOUT_SYS_COLLAPSE" desc="name of a button that hides (collapses) specific system details">
          Collapse...
        </message>

        <!-- chrome://mobilesetup strings -->
        <message name="IDS_MOBILE_SETUP_TITLE" desc="ChromeOS mobile device activation page title">
          Mobile data service management
        </message>
        <message name="IDS_MOBILE_CONNECTING_HEADER" desc="Mobile connection page header while connecting to the provider">
          Connecting to <ph name="PROVIDER_NAME">$1<ex>Acme Mobile</ex></ph>
        </message>
        <message name="IDS_MOBILE_ERROR_HEADER" desc="Mobile connection page header when connection error occur">
          Connection error
        </message>
        <message name="IDS_MOBILE_ACTIVATING_HEADER" desc="Message header when data service is being activated">
          Activating your mobile data service
        </message>
        <message name="IDS_MOBILE_COMPLETED_HEADER" desc="Message header when data service is completed">
          Activation complete
        </message>
        <message name="IDS_MOBILE_PLEASE_WAIT" desc="Message user the header displayed while mobile plan is being activated">
          (this might take a few minutes)
        </message>
        <message name="IDS_MOBILE_COMPLETED_TEXT" desc="Message when cellular data service activation or payment is completed">
          Your mobile data service is activated and ready to use
        </message>
      </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>

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

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

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

      <!-- Shelf and Add shelf item dialog -->
      <message name="IDS_ASI_ADD_TITLE" desc="Title for the shelf item dialog when adding an item.">
        Add Page
      </message>
      <message name="IDS_ASI_ADD" desc="The add button">
        Add
      </message>
      <message name="IDS_ASI_URL" desc="The URL: label in the dialog">
        URL:
      </message>
      <message name="IDS_ASI_PAGE_COLUMN" desc="The page column in the table">
        Page
      </message>
      <message name="IDS_ASI_URL_COLUMN" desc="The URL column in the table">
        URL
      </message>
      <message name="IDS_ASI_DESCRIPTION" desc="Title shown about the recently visited sites table">
        Recently visited sites
      </message>

      <!-- Omnibox -->
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_PASTE_AND_GO" desc="The text label of the Paste And Go menu item when the clipboard contains a URL">
          Pa&amp;ste and go
        </message>
        <message name="IDS_PASTE_AND_SEARCH" desc="The text label of the Paste And Go menu item when the clipboard contains a string to search for">
          Pa&amp;ste and search
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_PASTE_AND_GO" desc="In Title Case: The text label of the Paste And Go menu item when the clipboard contains a URL">
          Pa&amp;ste and Go
        </message>
        <message name="IDS_PASTE_AND_SEARCH" desc="In Title Case: The text label of the Paste And Go menu item when the clipboard contains a string to search for">
          Pa&amp;ste and Search
        </message>
      </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 and is labelled with IDS_OMNIBOX_KEYWORD_HINT_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 and is labelled with IDS_OMNIBOX_KEYWORD_HINT_KEY. $2 is replaced with the description of the keyword.">
        Press <ph name="SEARCH_KEY">$1<ex>Tab</ex></ph> to send commands to <ph name="EXTENSION_NAME">$2<ex>Google Talk</ex></ph>
      </message>
      <message name="IDS_OMNIBOX_KEYWORD_TEXT" desc="Text shown in the search button at the front of the omnibox when the user has selected a keyword">
        Search <ph name="SITE_NAME">$1<ex>google.com</ex></ph>:
      </message>
      <message name="IDS_OMNIBOX_EXTENSION_KEYWORD_TEXT" desc="Text shown in the search button at the front of the omnibox when the user has selected an extension keyword">
        <ph name="EXTENSION_NAME">$1<ex>Google Talk</ex></ph>
      </message>

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

      <!--Tooltip strings-->
      <message name="IDS_TOOLTIP_BACK" desc="The tooltip for back button">
        Click to go back, hold to see history
      </message>
      <message name="IDS_ACCNAME_TOOLTIP_BACK" desc="The tooltip for back button suited for non-mouse users">
        Press enter to go back, context menu key to see history
      </message>
      <message name="IDS_TOOLTIP_FORWARD" desc="The tooltip for forward button">
        Click to go forward, hold to see history
      </message>
      <message name="IDS_ACCNAME_TOOLTIP_FORWARD" desc="The tooltip for forward button  suited for non-mouse users">
        Press enter to go forward, context menu key to see history
      </message>
      <message name="IDS_TOOLTIP_HOME" desc="The tooltip for the home button">
        Open the home page
      </message>
      <message name="IDS_TOOLTIP_RELOAD" desc="The tooltip for reload button">
        Reload this page
      </message>
      <message name="IDS_TOOLTIP_FEEDBACK" desc="Tooltip for the feedback button.">
        Report an Issue
      </message>
      <message name="IDS_TOOLTIP_STOP" desc="The tooltip for the stop button">
        Stop loading this page
      </message>
      <message name="IDS_TOOLTIP_STAR" desc="The tooltip for bookmark button">
        Bookmark this page
      </message>
      <message name="IDS_TOOLTIP_STARRED" desc="The tooltip for bookmark button when bookmarked">
        Edit bookmark for this page
      </message>
      <message name="IDS_TOOLTIP_CLOSE_TAB" desc="The tooltip for the close tab button">
        Close
      </message>
      <message name="IDS_TOOLTIP_LOCATION_ICON" desc="The tooltip for location icon in the omnibox">
        View site information
      </message>

      <!--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_BACK" desc="The accessible name for the back button.">
        Back
      </message>
      <message name="IDS_ACCNAME_FORWARD" desc="The accessible name for the forward button.">
        Forward
      </message>
      <message name="IDS_ACCNAME_HOME" desc="The accessible name for the home button">
        Home
      </message>
      <message name="IDS_ACCNAME_RELOAD" desc="The accessible name for the reload/stop button.">
        Reload
      </message>
      <message name="IDS_ACCNAME_LOCATION" desc="The accessible name for the location bar edit field.">
        Location
      </message>
      <message name="IDS_ACCNAME_STAR" desc="The accessible name for the bookmark button.">
        Bookmark
      </message>
      <message name="IDS_ACCNAME_FIND" desc="The accessible name for the find button.">
        Find
      </message>
      <message name="IDS_ACCNAME_PREVIOUS" desc="The accessible name for the previous button.">
        Previous
      </message>
      <message name="IDS_ACCNAME_NEXT" desc="The accessible name for the next button.">
        Next
      </message>
      <message name="IDS_ACCNAME_TABSTRIP" desc="The accessible name for the application's tabstrip.">
        Tabstrip
      </message>
      <message name="IDS_ACCNAME_BOOKMARKS" desc="The accessible name for the Bookmarks toolbar.">
        Bookmarks
      </message>
      <message name="IDS_ACCNAME_BOOKMARKS_CHEVRON" desc="The accessible name for the chevron visible if not all the bookmark buttons fit.">
        Menu containing hidden bookmarks
      </message>
      <message name="IDS_ACCNAME_SEPARATOR" desc="The accessible name for a separator.">
        Separator
      </message>
      <message name="IDS_ACCNAME_EXTENSIONS" desc="The accessible name for the Extensions toolbar.">
        Extensions
      </message>
      <message name="IDS_ACCNAME_EXTENSIONS_BROWSER_ACTION" desc="The accessible name for a browser action.">
        Browser Action
      </message>
      <message name="IDS_ACCNAME_EXTENSIONS_CHEVRON" desc="The accessible name for the chevron visible if not all the extension buttons fit.">
        Menu containing hidden extensions
      </message>
      <message name="IDS_ACCNAME_NEWTAB" desc="The accessible name for the New Tab (+) button.">
        New Tab
      </message>
      <message name="IDS_ACCNAME_MINIMIZE" desc="The accessible name for the Minimize button.">
        Minimize
      </message>
      <message name="IDS_ACCNAME_MAXIMIZE" desc="The accessible name for the Maximize button.">
        Maximize
      </message>
      <message name="IDS_ACCNAME_RESTORE" desc="The accessible name for the Restore button.">
        Restore
      </message>
      <message name="IDS_ACCNAME_CLOSE" desc="The accessible name for the Close button.">
        Close
      </message>
      <message name="IDS_ACCNAME_SYNC_ERROR_BUTTON" desc="The accessible name for the sync error button on the bookmarks bar.">
        Sync Error - please sign in again
      </message>
      <message name="IDS_ACCNAME_WEB_CONTENTS" desc="The accessible name for the web contents.">
        Web Contents
      </message>
      <message name="IDS_ACCNAME_SIDE_BAR" desc="The accessible name for the side bar.">
        Sidebar
      </message>

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

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

      <!-- Passwords and Exceptions Dialog -->
      <message name="IDS_PASSWORDS_EXCEPTIONS_WINDOW_TITLE" desc="Title for 'Passwords and exceptions dialog'">
        Passwords
      </message>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_PASSWORDS_SHOW_PASSWORDS_TAB_TITLE" desc="Title for 'Saved passwords' tab">
          Saved passwords
        </message>
        <message name="IDS_PASSWORDS_EXCEPTIONS_TAB_TITLE" desc="Title for 'Never saved' tab">
          Never saved
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_PASSWORDS_SHOW_PASSWORDS_TAB_TITLE" desc="Title for 'Saved passwords' tab">
          Saved Passwords
        </message>
        <message name="IDS_PASSWORDS_EXCEPTIONS_TAB_TITLE" desc="Title for 'Never saved' tab">
          Never Saved
        </message>
      </if>
      <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_SITE_COLUMN" desc="Password table view Site column title">
        Site
      </message>
      <message name="IDS_PASSWORDS_PAGE_VIEW_USERNAME_COLUMN" desc="Password table view Username column title">
        Username
      </message>
      <message name="IDS_PASSWORDS_PAGE_VIEW_REMOVE_BUTTON" desc="Passwords page view's 'Remove' button text">
        Remove
      </message>
      <message name="IDS_PASSWORDS_PAGE_VIEW_TEXT_DELETE_ALL_PASSWORDS" desc ="Passwords page view's confirmation message before removing all stored passwords">
        Are you sure you want to remove all passwords?
      </message>
      <message name="IDS_PASSWORDS_PAGE_VIEW_CAPTION_DELETE_ALL_PASSWORDS" desc="Passwords page view's remove all confirmation message box window title">
        Remove all 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>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_PASSWORDS_PAGE_VIEW_REMOVE_ALL_BUTTON" desc="In sentence case: Passwords page view's 'Remove all' button text">
          Remove all
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_PASSWORDS_PAGE_VIEW_REMOVE_ALL_BUTTON" desc="In Title Case: Passwords page view's 'Remove all' button text">
          Remove All
        </message>
      </if>

      <!-- 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_SAVE_BUTTON" desc="Save button text for password manager">
        Save password
      </message>
      <message name="IDS_PASSWORD_MANAGER_BLACKLIST_BUTTON" desc="Button text for the 'Save Password' infobar's 'Never remember for this site' option">
        Never for this site
      </message>

      <!-- Import Settings Dialog -->
      <message name="IDS_IMPORT_SETTINGS_TITLE" desc="Dialog title for import dialog">
        Import Bookmarks and Settings
      </message>
      <message name="IDS_IMPORT_FROM_LABEL" desc="Label before profile select combo box">
        From:
      </message>
      <message name="IDS_IMPORT_FROM_IE" desc="browser combo box: Microsoft Internet Explorer">
        Microsoft Internet Explorer
      </message>
      <message name="IDS_IMPORT_FROM_FIREFOX" desc="browser combo box: Mozilla Firefox">
        Mozilla Firefox
      </message>
      <message name="IDS_IMPORT_FROM_GOOGLE_TOOLBAR" desc="browser combo box: Google Toolbar">
        Google Toolbar
      </message>
      <message name="IDS_IMPORT_FROM_SAFARI" desc="browser combo box: Safari">
        Safari
      </message>
      <message name="IDS_IMPORT_ITEMS_LABEL" desc="Label before item select checkboxes">
        Select items to import:
      </message>
      <message name="IDS_IMPORT_HISTORY_CHKBOX" desc="Checkbox for importing browsing history">
        Browsing history
      </message>
      <message name="IDS_IMPORT_FAVORITES_CHKBOX" desc="Checkbox for importing favorites">
        Favorites/Bookmarks
      </message>
      <message name="IDS_IMPORT_PASSWORDS_CHKBOX" desc="Checkbox for importing saved passwords">
        Saved passwords
      </message>
      <message name="IDS_IMPORT_SEARCH_ENGINES_CHKBOX" desc="Checkbox for importing search engines">
        Search engines
      </message>
      <message name="IDS_IMPORT_LOADING_PROFILES" desc="Status text to notify the user that profiles are being loaded">
        Loading...
      </message>
      <message name="IDS_IMPORT_SUCCEEDED" desc="Status text to notify the user that the import succeeded">
        Success!
      </message>
      <message name="IDS_IMPORT_FIND_YOUR_BOOKMARKS" desc="Helpful reminder for where to find imported bookmarks">
        Find your bookmarks in the Wrench menu or on the bookmarks bar.
      </message>

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

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

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

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

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

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

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

      <!-- Report Bug or Broken Web Site Dialog -->
      <message name="IDS_BUGREPORT_TITLE" desc="Dialog title for bug report dialog">
        Whoops. Let's fix that.
      </message>
      <message name="IDS_BUGREPORT_REPORT_PAGE_TITLE" desc="Label showing the title of the page that will be reported">
        Feedback
      </message>
      <message name="IDS_BUGREPORT_REPORT_URL_LABEL" desc="Label showing the URL that will be reported">
        Include this URL:
      </message>
      <message name="IDS_BUGREPORT_USER_EMAIL_LABEL" desc="Label showing the e-mail address that will be reported">
        Include this email:
      </message>
      <message name="IDS_BUGREPORT_DESCRIPTION_LABEL" desc="Label for the description field">
        Tell us what is happening. (required)
      </message>
      <if expr="pp_ifdef('chromeos')">
      <message name="IDS_BUGREPORT_SCREENSHOT_LABEL" desc="Label for the screenshot field if current screenshots are being shown">
        Include the current screenshot:
      </message>
      </if>
      <if expr="not pp_ifdef('chromeos')">
      <message name="IDS_BUGREPORT_SCREENSHOT_LABEL" desc="Label for the screenshot field if current screenshots are being shown">
        Include this screenshot:
      </message>
      </if>
      <message name="IDS_BUGREPORT_SAVED_SCREENSHOT_LABEL" desc="Label for the screenshot field if saved screenshots are being shown">
        Include a saved screenshot:
      </message>
      <!-- For Mac compatibility -->
      <message name="IDS_BUGREPORT_SOMETHING_MISSING" desc="In Title Case: Report a bug/problem type: Something's missing">
        Something's Missing
      </message>
      <message name="IDS_BUGREPORT_BROWSER_CRASH" desc="Report a bug/problem type: Browser crashed">
        Browser crash... go boom
      </message>
      <message name="IDS_BUGREPORT_OTHER_PROBLEM" desc="Report a bug/problem type: General feedback/other">
        General feedback/other
      </message>
      <message name="IDS_BUGREPORT_PAGE_LOOKS_ODD" desc="Report a bug/problem type: Page looks odd">
        Page looks odd
      </message>
      <message name="IDS_BUGREPORT_PAGE_WONT_LOAD" desc="Report a bug/problem type: Page won't load">
        Page won't load
      </message>
      <message name="IDS_BUGREPORT_CANT_SIGN_IN" desc="Report a bug/problem type: Can't sign in">
        Can't sign in
      </message>
      <!-- /Mac Compat -->
      <message name="IDS_BUGREPORT_NOTIFICATION_TITLE" desc="Title for the notification given to the user on completion (successful or failed) of user feedback">
        Feedback submission status
      </message>
      <message name="IDS_BUGREPORT_FEEDBACK_STATUS_SUCCESS" desc="Message for the status of a feedback submission on success">
        User Feedback submission succeeded
      </message>
      <message name="IDS_BUGREPORT_FEEDBACK_STATUS_FAIL" desc="Message for the status of a feedback submission failure">
        User feedback submission failed: $1
      </message>
      <message name="IDS_BUGREPORT_INCLUDE_LAST_SCREEN_IMAGE" desc="Radio button for including the last screen image on the bug report dialog box">
        Send last saved screen shot
      </message>
      <message name="IDS_BUGREPORT_CURRENT_SCREENSHOTS" desc="Radio button for including the last screen image on the bug report dialog box">
        Send a current page screen shot
      </message>
      <message name="IDS_BUGREPORT_SAVED_SCREENSHOTS" desc="Radio button for including the last screen image on the bug report dialog box">
        Send a saved screen shot
      </message>
      <message name="IDS_BUGREPORT_INCLUDE_SYSTEM_INFORMATION_CHKBOX" desc="Checkbox for including system information on the bug report dialog box">
        Send system information
      </message>
      <message name="IDS_BUGREPORT_SYSTEM_INFORMATION_URL_TEXT" desc="Text for system information url on the bug report dialog box">
        Include System Information
      </message>
      <message name="IDS_BUGREPORT_CHOOSE_DIFFERENT_SCREENSHOT" desc="Text for changing the screenshot selection from current to saved">
        (Choose a different screenshot)
      </message>
      <message name="IDS_BUGREPORT_CHOOSE_ORIGINAL_SCREENSHOT" desc="Text for changing the screenshot selection from saved to current">
        (Go back to original screenshot)
      </message>
      <if expr="pp_ifdef('chromeos')">
      <message name="IDS_BUGREPORT_PRIVACY_NOTE" desc="Text for the privacy note included with Chrome OS">
        Note: When you click "Send Feedback," Chrome OS includes a log of
        system events from your device. This information is used by
        us to diagnose problems, understand how you interact with
        the device, and to help us improve its performance. Any
        personal information included with the feedback report,
        whether explicitly in your comments or incidentally in the
        system logs and the screenshot, will be protected in
        accordance with our <ph name="BEGIN_LINK">&lt;a target="_blank"
        href="http://www.google.com/intl/en/chromeos/privacy.html"&gt;</ph>
        privacy policies.<ph name="END_LINK">&lt;/a&gt;</ph>
        To not send any system logs at all, please uncheck the
        "Include System Information" box.
      </message>
      </if>
      <if expr="not pp_ifdef('chromeos')">
      <message name="IDS_BUGREPORT_PRIVACY_NOTE" desc="Text for the privacy note included with Chrome OS">
        Note: When you click "Send Feedback," Chrome includes a log of your
        Chrome version and OS version and the URL associated with your feedback.
        You may also choose to include a screenshot associated with your
        feedback.  This information is used by us to diagnose problems and to
        help us improve Chrome’s performance.  Any personal information included
        with the feedback report, whether explicitly in your comments or
        incidentally in the log, URL or screenshot, will be protected in
        accordance with our privacy policies.  To not send the URL, please
        uncheck the “Include this URL:” box.  To not send the screenshot, leave the box
        “Include this screenshot:” unchecked.  You agree that Google may use any feedback that you
        provide to improve any Google products or services.
      </message>
      </if>
      <message name="IDS_BUGREPORT_INCLUDE_PAGE_SOURCE_CHKBOX" desc="Checkbox for including page source">
        Send source of current page
      </message>
      <message name="IDS_BUGREPORT_INCLUDE_PAGE_IMAGE_CHKBOX" desc="Checkbox for including page image">
        Send screen shot of current page
      </message>
      <message name="IDS_BUGREPORT_INCLUDE_NEW_SCREEN_IMAGE" desc="Radio button for including a new screen image on the bug report dialog box">
        Send last active tab screen shot
      </message>
      <message name="IDS_BUGREPORT_INCLUDE_NO_SCREENSHOT" desc="Radio button for not including a screen image on the bug report dialog box">
        Do not send a screen shot
      </message>
      <message name="IDS_BUGFEEDBACK_TYPE" desc="Label for bug type">
        Bug type:
      </message>
      <message name="IDS_BUGREPORT_PHISHING_PAGE" desc="Report a bug/problem type: Phishing page">
        Phishing page
      </message>
      <message name="IDS_BUGREPORT_NO_ISSUE_SELECTED" desc="Message shown when no issue is selected before hitting send feedback">
        Please tell where you are having problems before sending the feedback.
      </message>
      <message name="IDS_BUGREPORT_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_BUGREPORT_NO_SAVED_SCREENSHOTS_HELP" desc="Message shown when no screenshots are available for selection">
        You can select saved screenshots from here. Currently there are no screenshots available. You can press Ctrl + the "Overview Mode" key together to take a screenshot. The last three screenshots that you have taken will appear here.
      </message>
      <message name="IDS_BUGREPORT_ISSUE_WITH" desc="Label for issue with">
        Where are you having problems? (required)
      </message>
      <message name="IDS_BUGREPORT_CHOOSE_ISSUE" desc="Report a bug/problem type: Choose issue with">
        (choose an issue below)
      </message>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_BUGREPORT_SEND_REPORT" desc="In sentence case: Text for OK button on dialog">
          Send feedback
        </message>
        <message name="IDS_BUGREPORT_SEND_PHISHING_REPORT" desc="In sentence case: Text for report phishing button">
          Open phishing report
        </message>
        <message name="IDS_BUGREPORT_PAGE_FORMATTING" desc="In sentence case: Report a bug/problem type: Page formatting or layout">
          Page formatting or layout
        </message>
        <message name="IDS_BUGREPORT_PAGE_LOAD" desc="In sentence case: Report a bug/problem type: Pages not loading">
          Pages not loading
        </message>
        <message name="IDS_BUGREPORT_PLUGINS" desc="In sentence case: Report a bug/problem type: Plug-ins">
          Plug-ins (e.g. Adobe Flash Player, Quicktime, etc)
        </message>
        <message name="IDS_BUGREPORT_TABS" desc="In sentence case: Report a bug/problem type: Tabs or windows">
          Tabs or windows
        </message>
        <message name="IDS_BUGREPORT_NETWORK" desc="In sentence case: Report a bug/problem type: Network connection">
          Network connection
        </message>
        <message name="IDS_BUGREPORT_CONNECTIVITY" desc="In Setence Case: Report a bug/problem type: Connectivity issues">
          Network connection
        </message>
        <message name="IDS_BUGREPORT_STANDBY_RESUME" desc="In sentence case: Report a bug/problem type: Standby or Resume">
          Standby or Resume
        </message>
        <message name="IDS_BUGREPORT_SYNC" desc="In sentence case: Report a bug/problem type: Synced preferences">
          Synced preferences
        </message>
        <message name="IDS_BUGREPORT_CRASHES" desc="In sentence case: Report a bug/problem type: Crashes">
          Crashes
        </message>
        <message name="IDS_BUGREPORT_EXTENSIONS" desc="In sentence case: Report a bug/problem type: Extensions or apps">
          Extensions or apps
        </message>
        <message name="IDS_BUGREPORT_OTHER" desc="In sentence case: Report a bug/problem type: Other">
          Other
        </message>
        <message name="IDS_BUGREPORT_AUTOFILL" desc="In sentence case: Report a bug/problem type: Autofill">
          Autofill
        </message>
        <message name="IDS_BUGREPORT_GENERAL" desc="In sentence case: Report a bug/problem type: General feedback/other">
          General feedback/other
        </message>
        <message name="IDS_BUGREPORT_PREVIEW_REPORT" desc="In sentence case: Text for the preview report button on dialog">
          Preview report
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_BUGREPORT_SEND_REPORT" desc="Text for the send report button on dialog">
          Send Feedback
        </message>
        <message name="IDS_BUGREPORT_SEND_PHISHING_REPORT" desc="Text for report phishing button">
          Open Phishing Report
        </message>
        <message name="IDS_BUGREPORT_PAGE_FORMATTING" desc="In Title Case: Report a bug/problem type: Page formatting or layout">
          Page Formatting or Layout
        </message>
        <message name="IDS_BUGREPORT_PAGE_LOAD" desc="In Title Case: Report a bug/problem type: Pages not loading">
          Pages not Loading
        </message>
        <message name="IDS_BUGREPORT_PLUGINS" desc="In Title Case: Report a bug/problem type: Plug-ins">
          Plug-ins (e.g. Adobe Flash Player, Quicktime, etc)
        </message>
        <message name="IDS_BUGREPORT_TABS" desc="In Title Case: Report a bug/problem type: Tabs or windows">
          Tabs or Windows
        </message>
        <message name="IDS_BUGREPORT_NETWORK" desc="In Title Case: Report a bug/problem type: Network connection">
          Network Connection
        </message>
        <message name="IDS_BUGREPORT_SYNC" desc="In Title Case: Report a bug/problem type: Synced preferences">
          Synced Preferences
        </message>
        <message name="IDS_BUGREPORT_CRASHES" desc="In Title Case: Report a bug/problem type: Crashes">
          Crashes
        </message>
        <message name="IDS_BUGREPORT_EXTENSIONS" desc="In Title Case: Report a bug/problem type: Extensions or apps">
          Extensions or Apps
        </message>
        <message name="IDS_BUGREPORT_OTHER" desc="In Title Case: Report a bug/problem type: Other">
          Other
        </message>
        <message name="IDS_BUGREPORT_AUTOFILL" desc="In Title Case: Report a bug/problem type: Autofill">
          Autofill
        </message>
      </if>

      <!-- Clear Browsing Data -->
      <message name="IDS_CLEAR_BROWSING_DATA_TITLE" desc="Dialog title">
        Clear Browsing Data
      </message>
      <message name="IDS_CLEAR_BROWSING_DATA_LABEL" desc="Label at the top of the client area of the dialog, preceding the period combo box">
        Obliterate the following items from:
      </message>
      <message name="IDS_DEL_BROWSING_HISTORY_CHKBOX" desc="Checkbox for deleting Browsing History">
        Clear browsing history
      </message>
      <message name="IDS_DEL_DOWNLOAD_HISTORY_CHKBOX" desc="Checkbox for deleting Download History">
        Clear download history
      </message>
      <message name="IDS_DEL_CACHE_CHKBOX" desc="Checkbox for deleting Cache">
        Empty the cache
      </message>
      <message name="IDS_DEL_COOKIES_CHKBOX" desc="Checkbox for deleting Cookies and other site data">
        Delete cookies and other site data
      </message>
      <message name="IDS_DEL_COOKIES_FLASH_CHKBOX" desc="Checkbox for deleting Cookies and other site data">
        Delete cookies and other site and plug-in data
      </message>
      <message name="IDS_DEL_PASSWORDS_CHKBOX" desc="Checkbox for deleting Passwords">
        Clear saved passwords
      </message>
      <message name="IDS_DEL_FORM_DATA_CHKBOX" desc="Checkbox for deleting form data saved for Autofill">
        Clear saved Autofill form data
      </message>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_CLEAR_BROWSING_DATA_COMMIT" desc="In Title Case: Text for OK button on dialog">
          Clear Browsing Data
        </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_CLEAR_BROWSING_DATA_COMMIT" desc="In sentence case: Text for OK button on dialog">
          Clear browsing data
        </message>
      </if>
      <message name="IDS_FLASH_STORAGE_SETTINGS" desc="Link for opening Adobe Flash Player storage settings">
        Adobe Flash Player storage settings...
      </message>
      <message name="IDS_CLEAR_DATA_HOUR" desc="deletion period combo box: hour">
        the past hour
      </message>
      <message name="IDS_CLEAR_DATA_DAY" desc="deletion period combo box: day">
        the past day
      </message>
      <message name="IDS_CLEAR_DATA_WEEK" desc="deletion period combo box: week">
        the past week
      </message>
      <message name="IDS_CLEAR_DATA_4WEEKS" desc="deletion period combo box: 4 weeks">
        the last 4 weeks
      </message>
      <message name="IDS_CLEAR_DATA_EVERYTHING" desc="deletion period combo box: everything">
        the beginning of time
      </message>
      <message name="IDS_CLEAR_DATA_DELETING" desc="The progress message">
        Clearing...
      </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.">
        Allow local data to be set for the current session only
      </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_EXCEPTIONS_BUTTON" desc="A button in the Content Settings dialog for opening cookie storing exception rules dialog.">
        Exceptions...
      </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 from being set
      </message>
      <message name="IDS_INTENTS_TAB_LABEL" desc="Label for Web Intents tab on Content Settings page">
        Web Intents
      </message>

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

      <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_SETTING_LABEL" desc="A label on top of Pop-up Windows tab on Content Settings dialog">
        Pop-up Settings:
      </message>
      <message name="IDS_POPUP_ALLOW_RADIO" desc="A radio button in the Content Settings dialog for allowing pop-up windows in the browser.">
        Allow all sites to show pop-ups
      </message>
      <message name="IDS_POPUP_BLOCK_RADIO" desc="A radio button in the Content Settings dialog for preventing showing pop-up windows on any sites.">
        Do not allow any site to show pop-ups (recommended)
      </message>
      <message name="IDS_PLUGIN_TAB_LABEL" desc="Label for Plug-ins tab on Content Settings dialog">
        Plug-ins
      </message>
      <message name="IDS_PLUGIN_HEADER" desc="Header for plugin exception management page on Content Settings dialog">
        Plug-in Exceptions
      </message>
      <message name="IDS_PLUGIN_SETTING_LABEL" desc="A label on top of Plug-Ins tab on Content Settings dialog">
        When I encounter plug-ins on a site:
      </message>
      <message name="IDS_PLUGIN_LOAD_RADIO" desc="A radio button in the Content Settings dialog for allowing plug-ins use on any site.">
        Run automatically (recommended)
      </message>
      <message name="IDS_PLUGIN_ASK_RADIO" desc="A radio button in the Content Settings dialog for allowing plug-ins use on any site.">
        Click to play
      </message>
      <message name="IDS_PLUGIN_NOLOAD_RADIO" desc="A radio button in the Content Settings dialog for preventing plug-ins use on any site.">
        Block all
      </message>
      <message name="IDS_PLUGIN_SELECTIVE_DISABLE" desc="Link to selectively disable plug-ins">
        Disable individual plug-ins...
      </message>
      <message name="IDS_JAVASCRIPT_TAB_LABEL" desc="Label for JavaScript tab on Content Settings dialog">
        JavaScript
      </message>
      <message name="IDS_JAVASCRIPT_HEADER" desc="Label for JavaScript exception management page on Content Settings dialog">
        JavaScript Exceptions
      </message>
      <message name="IDS_JS_ALLOW_RADIO" desc="A radio button in the Content Settings dialog for allowing JavaScript use on any site.">
        Allow all sites to run JavaScript (recommended)
      </message>
      <message name="IDS_JS_DONOTALLOW_RADIO" desc="A radio button in the Content Settings dialog for preventing JavaScript use on any site.">
        Do not allow any site to run JavaScript
      </message>
      <message name="IDS_HANDLERS_TAB_LABEL" desc="Label for Handlers tab on Content Settings dialog">
        Handlers
      </message>
      <message name="IDS_HANDLERS_ALLOW_RADIO" desc="A radio button in the Content Settings dialog for allowing sites to register themselves as handlers for protocols.">
        Allow sites to ask to become default handlers for protocols
      </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_BLOCKED_HANDLERS_TITLE" desc="Bubble info header text when a page is not allowed register handlers.">
        This site was prevented from registering a custom URL handler.
      </message>
    <message name="IDS_HANDLERS_BUBBLE_MANAGE_LINK" desc="Link on the register protocol handler bubble that opens up the Content Settings management dialog.">
      Manage handler settings...
    </message>
    <message name="IDS_HANDLERS_TYPE_COLUMN_HEADER" desc="Header on the settings page for the column showing handler protocols.">
        Type
    </message>
    <message name="IDS_HANDLERS_SITE_COLUMN_HEADER" desc="Header on the settings page for the column showing handler sites.">
        Site
    </message>
    <message name="IDS_HANDLERS_REMOVE_HANDLER_LINK" desc="Text on the link that removes a registered protocol handler from a user's settings.">
        remove this site
    </message>
    <message name="IDS_HANDLERS_NONE_HANDLER" desc="Text in the dropdown for handlers for a given protocol that indicates that the protocol shouldn't be handled.">
        (none)
    </message>
    <message name="IDS_HANDLERS_ACTIVE_HEADING" desc="Header for the section of the handlers settings page that lists handlers that are active, that is, can be used to handle links.">
        Active protocol handlers
    </message>
    <message name="IDS_HANDLERS_IGNORED_HEADING" desc="Header for the section of the handlers settings page that lists handlers that are ignored.">
        Ignored protocol handlers
    </message>

    <message name="IDS_HANDLER_OPTIONS_WINDOW_TITLE" desc="The title of the window that lets a user change what handlers they have registered for various protocols / mimetypes.">
      Protocol Handlers
    </message>
      <message name="IDS_GEOLOCATION_TAB_LABEL" desc="Label for Geolocation tab on Content Settings dialog">
        Location
      </message>
      <message name="IDS_GEOLOCATION_HEADER" desc="Label for Geolocation exception management page on Content Settings dialog">
        Geolocation Exceptions
      </message>
      <message name="IDS_GEOLOCATION_ALLOW_RADIO" desc="A radio button in the Content Settings dialog for allowing all sites access to geolocation data.">
        Allow all sites to track my physical location
      </message>
      <message name="IDS_GEOLOCATION_ASK_RADIO" desc="A radio button in the Content Settings dialog for asking before allowing sites access to gelocation data.">
        Ask me when a site tries to track my physical location (recommended)
      </message>
      <message name="IDS_GEOLOCATION_BLOCK_RADIO" desc="A radio button in the Content Settings dialog for blocking sites from accessing geolocation data.">
        Do not allow any site to track my physical location
      </message>
      <message name="IDS_GEOLOCATION_EXCEPTION_TITLE" desc="Title for geolocation exceptions dialog">
        Location Exceptions
      </message>
      <message name="IDS_NOTIFICATIONS_TAB_LABEL" desc="Label for Notifications tab on Content Settings dialog">
        Notifications
      </message>
      <message name="IDS_NOTIFICATIONS_HEADER" desc="Label for Notifications exception management page on Content Settings dialog">
        Notifications Exceptions
      </message>
      <message name="IDS_NOTIFICATIONS_SETTINGS_BUTTON" desc="Label for the Settings button for Notifications tab of Content Settings dialog.">
        Settings...
      </message>
      <message name="IDS_NOTIFICATIONS_ALLOW_RADIO" desc="A radio button in Content Settings dialog to allow all sites to show notifications.">
        Allow all sites to show desktop notifications
      </message>
      <message name="IDS_NOTIFICATIONS_BLOCK_RADIO" desc="A radio button in Content Settings dialog to deny all sites to show notifications.">
        Do not allow any site to show desktop notifications
      </message>
      <message name="IDS_NOTIFICATIONS_ASK_RADIO" desc="A radio button in Content Settings dialog to configure notifications per-site.">
        Ask me when a site wants to show desktop notifications (recommended)
      </message>
      <message name="IDS_INTENTS_HEADER" desc="Header for intent exception management page on Content Settings dialog">
        Web Intents Exceptions
      </message>
      <message name="IDS_INTENTS_ALLOW_RADIO" desc="A radio button in the Content Settings dialog for allowing intents to register themselves on all sites.">
        Allow all sites to register intents
      </message>
      <message name="IDS_INTENTS_BLOCK_RADIO" desc="A radio button in the Content Settings dialog for preventing intents to register themselves on any sites.">
        Do not allow any site to register intents
      </message>
      <message name="IDS_INTENTS_ASK_RADIO" desc="A radio button in Content Settings dialog to configure web-intents per-site.">
        Ask me when a site wants to register intents (recommended)
      </message>
      <message name="IDS_EXCEPTIONS_HOSTNAME_HEADER" desc="A column header for the hostname column of the cookie/image/javascript/plugins exceptions dialog">
        Site
      </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_ADD_BUTTON" desc="A button in the cookie/image/javascript/plugins exceptions dialog for adding new exception rules.">
        Add...
      </message>
      <message name="IDS_EXCEPTIONS_EDIT_BUTTON" desc="A button in the cookie/image/javascript/plugins exceptions dialog for editing an exception.">
        Edit...
      </message>
      <message name="IDS_EXCEPTIONS_REMOVE_BUTTON" desc="A button in exception dialogs for removing individual exception rules.">
        Remove
      </message>
      <message name="IDS_EXCEPTIONS_REMOVEALL_BUTTON" desc="A button in exception dialogs for removing all exception rules.">
        Remove All
      </message>
      <message name="IDS_EXCEPTIONS_ALLOW_BUTTON" desc="A label to display in the exception page's action column when a site's content setting is allowed for a given domain">
        Allow
      </message>
      <message name="IDS_EXCEPTIONS_ASK_BUTTON" desc="A label to display in the exception page's action column when a site's content setting is set to promt for a given domain.">
        Ask
      </message>
      <message name="IDS_EXCEPTIONS_SESSION_ONLY_BUTTON" desc="A label to display in the exception page's action column when a site's content setting is allow but only for the duration of the session for a given domain.">
        Session only
      </message>
      <message name="IDS_EXCEPTIONS_BLOCK_BUTTON" desc="A label to display in the exception page's action column when a site's content setting is blocked for a given domain.">
        Block
      </message>
      <message name="IDS_EXCEPTIONS_OTR_LABEL" desc="A label informing the user that the table below the label shows incognito-only exceptions">
        Exceptions below only apply to the current incognito session.
      </message>
      <message translateable="false" name="IDS_EXCEPTIONS_PATTERN_EXAMPLE" desc="Example pattern when the user is adding a new exception" >
        [*.]example.com
      </message>
      <message name="IDS_EXCEPTIONS_ADD_NEW_INSTRUCTIONS" desc="Placeholder text before the user adds a new exception" >
        Add a new hostname pattern
      </message>
      <message name="IDS_EXCEPTIONS_NOT_SET_BUTTON" desc="A label to display in the exception page's action column when a site's content setting has not yet been set for a given domain.">
        Not set
      </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_EXCEPTIONS_GEOLOCATION_EMBEDDED_ANY_OTHER" desc="A child row in the Geolocation Exceptions page view. Sets the default permission for the parent page when embedded on any other site.">
        embedded on any other site
      </message>

      <if expr="pp_ifdef('use_titlecase')">
        <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>
      </if>
      <if expr="not pp_ifdef('use_titlecase')">
        <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>
      </if>

      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_INTENTS_MANAGE_BUTTON" desc="">
          Manage Intents...
        </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_INTENTS_MANAGE_BUTTON" desc="">
          Manage intents...
        </message>
      </if>

      <!-- Cookie/Images/JavaScript/Plugins/Pop-ups/Location exception editor dialogs -->
      <message name="IDS_EXCEPTION_EDITOR_PATTERN_TITLE" desc="Title of the pattern field in the exception editor">
        Hostname Pattern:
      </message>
      <message name="IDS_EXCEPTION_EDITOR_OTR_TITLE" desc="Title of the incognito checkbox in the exception editor">
        Only apply to this incognito session
      </message>

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

      <!-- About Chrome View -->
      <if expr="is_macosx">
        <message name="IDS_ABOUT_CHROME_PROMOTE_UPDATER" desc="The 'Set Up Automatic Updates for All Users' button in the About window.  Mac-only.">
          Set Up Automatic Updates for All Users
        </message>
      </if>
      <message name="IDS_ABOUT_CHROME_UPDATE_CHECK" desc="The Check for Updates button">
        Update Now
      </message>
      <message name="IDS_UPGRADE_CHECK_STARTED" desc="Status label: About to start checking for updates">
        Checking for updates...
      </message>
      <message name="IDS_UPGRADE_STARTED" desc="Status label: About to start updating Chrome">
        Installing new version...
      </message>
      <message name="IDS_UPGRADE_AVAILABLE" desc="Status label: A new version of Chrome is available">
        A new version of <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> is available
      </message>
      <message name="IDS_UPGRADE_SUCCESSFUL" desc="Status label: Successfully upgraded">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> has been updated to <ph name="VERSION">$2<ex>0.1.131</ex></ph>
      </message>
      <message name="IDS_UPGRADE_SUCCESSFUL_NOVERSION" desc="Status label: Successfully upgraded">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> has been updated
      </message>
      <message name="IDS_UPGRADE_SUCCESSFUL_RELAUNCH" desc="Status label: Successfully updated">
        Relaunch <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> to finish updating
      </message>
      <if expr="pp_ifdef('chromeos')">
      <message name="IDS_UPGRADE_ALREADY_UP_TO_DATE" desc="Status label: Already up to date">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> is up to date
      </message>
      </if>
      <if expr="not pp_ifdef('chromeos')">
      <message name="IDS_UPGRADE_ALREADY_UP_TO_DATE" desc="Status label: Already up to date">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> is up to date (<ph name="VERSION">$2<ex>0.1.131</ex></ph>)
      </message>
      </if>
      <message name="IDS_UPGRADE_ERROR" desc="Status label: Error occurred during upgrade">
        Update server not available (error: <ph name="ERROR_NUMBER">$1<ex>1</ex></ph>)
      </message>
      <message name="IDS_UPGRADE_DISABLED_BY_POLICY" desc="Status label: Upgrades disabled by policy">
        Updates are disabled by the administrator
      </message>

      <!-- Print -->
      <message name="IDS_DEFAULT_PRINT_DOCUMENT_TITLE" desc="Default title for a print document">
        Untitled Document
      </message>
      <message name="IDS_DEFAULT_PRINTER_NOT_FOUND_WARNING" desc="The message of the warning dialog when no printer is available">
        No printer found. Please install a printer.
      </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">Google Cloud Print</ph>
      </message>
      <message name="IDS_CLOUD_PRINT_CHROMEOS_OPTION_BUTTON" desc="Text on a button to go to the cloud print home page from the Chrome OS advanced options dialog.">
        Open <ph name="CLOUD_PRINT_NAME">Google Cloud Print</ph>
      </message>
      <message name="IDS_CLOUD_PRINT_SETUP_DIALOG_TITLE" desc="Title of the cloud print setup dialog.">
        Set up <ph name="CLOUD_PRINT_NAME">Google Cloud Print</ph>
      </message>
      <message name="IDS_CLOUD_PRINT_SETUP_HEADER" desc="Intro line of the cloud print setup dialog.">
        Access and share your printers online with <ph name="CLOUD_PRINT_NAME">Google Cloud Print</ph>
      </message>
      <message name="IDS_CLOUD_PRINT_SETUP_EXPLAIN" desc="Explanation of the cloud print setup dialog.">
        <ph name="CLOUD_PRINT_NAME">Google Cloud Print</ph> is built on the idea that printing can be more intuitive, accessible, and useful. Using <ph name="CLOUD_PRINT_NAME">Google Cloud Print</ph> you can make your printers available to you from any <ph name="CLOUD_PRINT_NAME">Google Cloud Print</ph> enabled web or mobile app.
      </message>
      <message name="IDS_CLOUD_PRINT_SETUP_ANYWHERE_HEADER" desc="Intro line about printing from anywhere.">
        Print from anywhere
      </message>
      <message name="IDS_CLOUD_PRINT_SETUP_ANYWHERE_EXPLAIN" desc="Explanation about printing from anywhere.">
        Access your printers from any computer or smart phone. <ph name="BEGIN_LINK">&lt;a href="#" onclick="cloudprint.learnMore()"&gt;</ph>Learn more<ph name="END_LINK">&lt;/a&gt;</ph>
      </message>
      <message name="IDS_CLOUD_PRINT_SETUP_PRINTER_HEADER" desc="Intro line about printer management.">
        Manage your printer
      </message>
      <message name="IDS_CLOUD_PRINT_SETUP_PRINTER_EXPLAIN" desc="Explanation about printer management.">
        Review your print jobs and printer status online.
      </message>
      <message name="IDS_CLOUD_PRINT_SETUP_SHARING_HEADER" desc="Intro line about printer management.">
        Shared access
      </message>
      <message name="IDS_CLOUD_PRINT_SETUP_SHARING_EXPLAIN" desc="Explanation about printer management.">
        Share and control access to your printers with any Google account.
      </message>
      <message name="IDS_CLOUD_PRINT_SETUP_DONE" desc="Message on completed set up of cloud print.">
        You have successfully enabled <ph name="CLOUD_PRINT_NAME">Google Cloud Print</ph>!  <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> has registered the printers on this machine with &lt;b&gt;<ph name="EMAIL_ADDRESSES">$2<ex>foo@example.com</ex></ph>&lt;/b&gt;.  You can now print to your printers from any <ph name="CLOUD_PRINT_NAME">Google Cloud Print</ph> enabled web or mobile app!
      </message>
      <message name="IDS_CLOUD_PRINT_SETUP_TEST_PAGE" desc="Label on button for printing a test page.">
        Print a Test Page
      </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">Google Cloud Print</ph>.
      </message>
      <message name="IDS_CLOUD_PRINT_XPS_UNAVAILABLE" desc="Status message to be sent to the Cloud Print server when the XPS framework is missing.">
        The <ph name="CLOUD_PRINT_NAME">Google Cloud Print</ph> connector requires that the Microsoft XML Paper Specification Essentials Pack be installed.
      </message>
      <message name="IDS_CLOUD_PRINT_ENUM_FAILED" desc="Status message to be sent to the Cloud Print server when enumerating printers failed.">
        There was a problem listing printers. Some of your printers may not have registered successfully with <ph name="CLOUD_PRINT_NAME">Google Cloud Print</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">Google Cloud Print</ph> connector process has crashed. Restart?
      </message>

      <!-- Enterprise enrollment strings -->

      <!-- Print Preview -->
      <message name="IDS_PRINT_PREVIEW_TITLE" desc="Fallback title for print preview page.">
        Print
      </message>
      <message name="IDS_PRINT_PREVIEW_TITLE_FORMAT" desc="The format for the print preview page title.">
        Print - <ph name="PREVIEW_TAB_TITLE">$1<ex>Google Search</ex></ph>
      </message>
      <message name="IDS_PRINT_PREVIEW_LOADING" desc="Message to display while the print preview is still loading.">
        Loading preview
      </message>
      <message name="IDS_PRINT_PREVIEW_FAILED" desc="Message to display when print preview fails.">
        Print preview failed.
      </message>
      <message name="IDS_PRINT_PREVIEW_INITIATOR_TAB_CRASHED" desc="Error message displayed when print preview fails because the tab that initiated the print preview crashed.">
        Print is unavailable because the page you were trying to print has crashed.
      </message>
      <message name="IDS_PRINT_PREVIEW_INITIATOR_TAB_CLOSED" desc="Error message displayed when print preview fails because the user closed the tab that initiated the print preview.">
        Print is unavailable because the page you were trying to print has been closed.
      </message>
      <message name="IDS_PRINT_PREVIEW_REOPEN_PAGE" desc="Text for button displayed when print preview fails because the user closed the tab that initiated the print preview. Clicking the button reopens the page that was closed.">
        Reopen the page
      </message>
      <message name="IDS_PRINT_PREVIEW_PRINT_BUTTON" desc="Print button.">
        Print
      </message>
      <message name="IDS_PRINT_PREVIEW_PRINTING" desc="Text shown after the user clicks on the print button and before the print preview tab is closed to let him know that printing is in progress.">
        Printing...
      </message>
      <message name="IDS_PRINT_PREVIEW_CANCEL_BUTTON" desc="Cancel button.">
        Cancel
      </message>
      <message name="IDS_PRINT_PREVIEW_OPTION_ALL_PAGES" desc="Option to print all pages.">
        All
      </message>
      <message name="IDS_PRINT_PREVIEW_DESTINATION_LABEL" desc="Destination option label. It is displayed right on top of the available printers list.">
        Destination
      </message>
      <message name="IDS_PRINT_PREVIEW_OPTION_BW" desc="Option to print in black and white.">
        Black and white
      </message>
      <message name="IDS_PRINT_PREVIEW_OPTION_COLLATE" desc="Option to collate multiple copies.">
        Collate
      </message>
      <message name="IDS_PRINT_PREVIEW_OPTION_COLOR" desc="Option to print in color.">
        Color
      </message>
      <message name="IDS_PRINT_PREVIEW_OPTION_LANDSCAPE" desc="Option to print in landscape mode.">
        Landscape
      </message>
      <message name="IDS_PRINT_PREVIEW_OPTION_PORTRAIT" desc="Option to print in portrait mode.">
        Portrait
      </message>
      <message name="IDS_PRINT_PREVIEW_OPTION_TWO_SIDED" desc="Option to do two-sided (duplex) printing.">
        Two-sided
      </message>
      <message name="IDS_PRINT_PREVIEW_PAGES_LABEL" desc="Page range option label.">
        Pages
      </message>
      <message name="IDS_PRINT_PREVIEW_LAYOUT_LABEL" desc="Layout option label.">
        Layout
      </message>
      <message name="IDS_PRINT_PREVIEW_COPIES_LABEL" desc="Copies option label.">
        Copies
      </message>
      <message name="IDS_PRINT_PREVIEW_EXAMPLE_PAGE_RANGE_TEXT" desc="Example page range text.">
        e.g. 1-5, 8, 11-13
      </message>
      <message name="IDS_PRINT_PREVIEW_PAGE_RANGE_TEXT" desc="Aria-label page range text.">
        page range text box
      </message>
      <message name="IDS_PRINT_PREVIEW_PAGE_RANGE_RADIO" desc="Aria-label page range radio.">
        page range radio button
      </message>
      <message name="IDS_PRINT_PREVIEW_INVALID_NUMBER_OF_COPIES"
               desc="Warning message shown when the text entered by the user does not represent a valid number of copies.">
        Invalid number of copies
      </message>
      <message name="IDS_PRINT_PREVIEW_PRINT_TO_PDF"
               desc="Option shown on printer drop-down list for saving previewed document to PDF.">
        Print to PDF
      </message>
      <message name="IDS_PRINT_PREVIEW_SIGN_IN"
          desc="Option shown in printer drop-down list when the user isn't signed in to cloud print.  Choosing it will display a sign in dialog.">
        Sign in to access cloud printers...
      </message>
      <message name="IDS_PRINT_PREVIEW_MORE_PRINTERS"
          desc="Option shown in printer drop-down list that displays an interface for finding/using additional cloud based printers.">
        More printers...
      </message>
      <message name="IDS_PRINT_PREVIEW_ADD_CLOUD_PRINTER"
          desc="Option shown in printer drop-down list that takes the user to a page to add cloud based printers.">
        Add cloud printers...
      </message>
      <message name="IDS_PRINT_PREVIEW_CLOUD_PRINTERS"
          desc="Option shown in printer drop-down list that serves as a heading above all cloud based printers.">
        Cloud printers
      </message>
      <message name="IDS_PRINT_PREVIEW_LOCAL_PRINTERS"
          desc="Option shown in printer drop-down list that serves as a heading above all locally installed printers.">
        Local printers
      </message>
      <message name="IDS_PRINT_PREVIEW_MANAGE_CLOUD_PRINTERS"
          desc="Option shown in printer drop-down list for managing cloud based printers.">
        Manage cloud printers...
      </message>
      <message name="IDS_PRINT_PREVIEW_MANAGE_PRINTERS"
          desc="Option shown in printer drop-down list for managing printers.">
        Manage printers...
      </message>
      <message name="IDS_PRINT_PREVIEW_MANAGE_LOCAL_PRINTERS"
          desc="Option shown in printer drop-down list for managing local printers.">
        Manage local printers...
      </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>
      <message name="IDS_PRINT_PREVIEW_SYSTEM_DIALOG_OPTION" desc="Option allowing the user to access advanced printer settings using the native print system dialog instead of printing through the print preview mechanism. Shortcut key is not translated">
        Print using system dialog... <ph name="SHORTCUT_KEY">$1<ex>(Shift+Ctrl+P)</ex></ph>
      </message>
      <message name="IDS_PRINT_PREVIEW_PAGE_RANGE_INSTRUCTION" desc="Instruction shown when the user enters an invalid page range.">
        Invalid page range, use <ph name="EXAMPLE_PAGE_RANGE">$1<ex>e.g. 1-5, 8, 11-13</ex></ph>
      </message>
      <message name="IDS_PRINT_PREVIEW_COPIES_INSTRUCTION" desc="Instruction shown when the user enters an invalid number of copies.">
        Use a number to indicate how many copies to print (1 or more).
      </message>
      <message name="IDS_PRINT_PREVIEW_INCREMENT_TITLE" desc="Title shown when the user hovers mouse over the increment button. Also added for improved accessibility">
      Increment
      </message>
      <message name="IDS_PRINT_PREVIEW_DECREMENT_TITLE" desc="Title shown when the user hovers mouse over the decrement button. Also added for improved accessibility">
      Decrement
      </message>
      <message name="IDS_PRINT_PREVIEW_PRINT_PAGES_LABEL" desc="ARIA label used by screen reader to explain the purpose of the page selection textbox">
      Print Specific Pages
      </message>
      <message name="IDS_PRINT_PREVIEW_OPTIONS_LABEL" desc="Options label currently providing the choice to print headers and footers.">
        Options
      </message>
      <message name="IDS_PRINT_PREVIEW_OPTION_HEADER_FOOTER" desc="Checkbox label that provides a choice to print the headers and footers.">
        Headers and footers
      </message>
      <message name="IDS_PRINT_PREVIEW_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>

      <!-- Load State -->
      <message name="IDS_LOAD_STATE_WAITING_FOR_DELEGATE">
        Waiting for <ph name="LOAD_STATE_PARAMETER">$1<ex>extension Adblock</ex></ph>...
      </message>
      <message name="IDS_LOAD_STATE_PARAMETER_EXTENSION" desc="Parameter to IDS_LOAD_STATE_WAITING_FOR_DELEGATE when we are waiting for an extension. The variable is the extension name.">
        extension <ph name="EXTENSION_NAME">$1<ex>Adblock</ex></ph>
      </message>
      <message name="IDS_LOAD_STATE_WAITING_FOR_CACHE">
        Waiting for cache...
      </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">
        Resolving host...
      </message>
      <message name="IDS_LOAD_STATE_CONNECTING">
        Connecting...
      </message>
      <message name="IDS_LOAD_STATE_SSL_HANDSHAKE">
        Establishing secure connection...
      </message>
      <message name="IDS_LOAD_STATE_SENDING_REQUEST">
        Sending request...
      </message>
      <message name="IDS_LOAD_STATE_SENDING_REQUEST_WITH_PROGRESS">
        Uploading (<ph name="PROGRESS_PERCENT">$1<ex>27</ex></ph>%)...
      </message>
      <message name="IDS_LOAD_STATE_WAITING_FOR_RESPONSE">
        Waiting for <ph name="HOST_NAME">$1<ex>www.google.com</ex></ph>...
      </message>

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

      <!-- Bookmarks bar -->
      <message name="IDS_BOOKMARKS_NO_ITEMS" desc="Text shown when the user has no bookmarks">
        For quick access, place your bookmarks here on the bookmarks bar.
      </message>

      <!-- The location for special bookmark groups -->
      <message name="IDS_BOOKMARK_GROUP_FROM_IE" desc="The group name of bookmarks from Internet Explorer">
        Imported From IE
      </message>
      <message name="IDS_BOOKMARK_GROUP_FROM_FIREFOX" desc="The group name of bookmarks from Firefox">
        Imported From Firefox
      </message>
      <message name="IDS_BOOKMARK_GROUP_FROM_SAFARI" desc="The group name of bookmarks from Safari">
        Imported From Safari
      </message>
      <message name="IDS_BOOKMARK_GROUP_FROM_GOOGLE_TOOLBAR" desc="The group name of bookmarks from Google Toolbar">
        Imported From Google Toolbar
      </message>
      <message name="IDS_BOOKMARK_GROUP" desc="The group name of bookmarks imported from a file">
        Imported
      </message>

  <!-- bookmark editor messages-->
      <message name="IDS_BOOKMARK_EDITOR_NAME_LABEL" desc="Label shown before the title/name of the URL.">
        Name:
      </message>
      <message name="IDS_BOOKMARK_EDITOR_URL_LABEL" desc="Label shown before the URL.">
        URL:
      </message>
      <message name="IDS_BOOKMARK_EDITOR_NEW_FOLDER_BUTTON" desc="Text on the new folder button.">
        New folder
      </message>
      <message name="IDS_BOOKMARK_EDITOR_NEW_FOLDER_MENU_ITEM" desc="Text on the new folder context menu item.">
        &amp;New folder
      </message>
      <message name="IDS_BOOKMARK_EDITOR_TITLE" desc="Title of the window the bookmark editor is in.">
        Edit Bookmark
      </message>
      <message name="IDS_BOOKMARK_EDITOR_CONFIRM_DELETE" desc="The message shown in the dialog asking the user to confirm deleting a folder.">
        This folder contains <ph name="COUNT">$1<ex>5</ex></ph> bookmarks. Are you sure you want to delete it?
      </message>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_BOOKMARK_BAR_FOLDER_NAME" desc="Name shown in the tree for the bookmarks bar folder">
          Bookmarks bar
        </message>
        <message name="IDS_BOOKMARK_BAR_SYNCED_FOLDER_NAME" desc="Name shown in the tree for the synced bookmarks folder">
          Synced bookmarks
        </message>
        <message name="IDS_BOOKMARK_BAR_OTHER_FOLDER_NAME" desc="Name shown in the tree for the other bookmarks folder">
          Other bookmarks
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_BOOKMARK_BAR_FOLDER_NAME" desc="In Title Case: Name shown in the tree for the bookmarks bar folder">
          Bookmarks Bar
        </message>
        <message name="IDS_BOOKMARK_BAR_SYNCED_FOLDER_NAME" desc="In Title Case: Name shown in the tree for the synced bookmarks folder">
          Synced Bookmarks
        </message>
        <message name="IDS_BOOKMARK_BAR_OTHER_FOLDER_NAME" desc="In Title Case: Name shown in the tree for the other bookmarks folder">
          Other Bookmarks
        </message>
      </if>
      <message name="IDS_BOOKMARK_EDITOR_NEW_FOLDER_NAME" desc="Name for newly created groups">
        New folder
      </message>
      <message name="IDS_BOOKMARK_FOLDER_EDITOR_WINDOW_TITLE" desc="Window title of editor for bookmark folders">
        Edit folder name
      </message>
      <message name="IDS_BOOKMARK_FOLDER_EDITOR_WINDOW_TITLE_NEW" desc="Window title of editor for new bookmark folders">
        New folder
      </message>

      <!-- bookmark info bubble messages -->
      <message name="IDS_BOOKMARK_BUBBLE_ADD_BOOKMARK" desc="Accessible title of the bubble before bookmarking something">
        Add Bookmark
      </message>
      <message name="IDS_BOOKMARK_BUBBLE_PAGE_BOOKMARKED" desc="Title of the bubble after bookmarking something">
        Bookmark Added!
      </message>
      <message name="IDS_BOOKMARK_BUBBLE_PAGE_BOOKMARK" desc="Title of the bubble when re-clicking on a bookmark">
        Bookmark
      </message>
      <message name="IDS_BOOKMARK_BUBBLE_OPTIONS" desc="Title of the link the user can click to edit details of the bookmark">
        Edit...
      </message>
      <message name="IDS_BOOKMARK_BUBBLE_REMOVE_BOOKMARK" desc="Link for removing the bookmark">
        Remove
      </message>
      <message name="IDS_BOOKMARK_BUBBLE_TITLE_TEXT" desc="Text preceding the title of the page that was bookmarked">
        Name:
      </message>
      <message name="IDS_BOOKMARK_BUBBLE_FOLDER_TEXT" desc="Text preceding the folder selector">
        Folder:
      </message>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_BOOKMARK_BUBBLE_CHOOSER_ANOTHER_FOLDER" desc="Text in the combobox allowing the user to choose another folder (by bringing up th editor).">
          Choose another folder...
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_BOOKMARK_BUBBLE_CHOOSER_ANOTHER_FOLDER" desc="In Title Case: Text in the combobox allowing the user to choose another folder (by bringing up th editor).">
          Choose Another Folder...
        </message>
      </if>

      <!-- Application window menu -->
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_APP_MENU_RELOAD" desc="The reload menu in application windows">
          Reload
        </message>
        <message name="IDS_APP_MENU_COPY_URL" desc="The copy url menu in application windows">
          Copy URL
        </message>
        <message name="IDS_APP_MENU_NEW_WEB_PAGE" desc="The new webpage menu in application windows">
          Open browser window
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_APP_MENU_RELOAD" desc="In Title Case: The reload menu in application windows">
          Reload
        </message>
        <message name="IDS_APP_MENU_COPY_URL" desc="In Title Case: The copy url menu in application windows">
          Copy URL
        </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>

      <!-- bookmark bar messages -->
      <message name="IDS_BOOKMARK_BAR_OTHER_BOOKMARKED" desc="Title of button showing other bookmarks">
        Other bookmarks
      </message>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_BOOKMARK_BAR_OPEN_IN_NEW_TAB" desc="Menu description for loading bookmark in a new tab">
          &amp;Open in new tab
        </message>
        <message name="IDS_BOOKMARK_BAR_OPEN_IN_NEW_WINDOW" desc="Menu description for loading bookmark in a new window">
          Open in &amp;new window
        </message>
        <message name="IDS_BOOKMARK_BAR_OPEN_INCOGNITO" desc="Menu description for opening bookmark in incognito window">
          Open in &amp;incognito window
        </message>
        <message name="IDS_BOOKMARK_BAR_ADD_NEW_BOOKMARK" desc="Menu title for adding a new bookmark entry">
          Add pa&amp;ge...
        </message>
        <message name="IDS_BOOKMARK_BAR_NEW_FOLDER" desc="Menu title for adding a new folder">
          Add &amp;folder...
        </message>
        <message name="IDS_BOOKMARK_BAR_OPEN_ALL" desc="Menu title for opening all urls in a bookmark folder">
          &amp;Open all bookmarks
        </message>
        <message name="IDS_BOOKMARK_BAR_OPEN_ALL_NEW_WINDOW" desc="Menu title for opening all urls in a bookmark folder in a new window">
          Open all bookmarks in &amp;new window
        </message>
        <message name="IDS_BOOKMARK_BAR_OPEN_ALL_INCOGNITO" desc="Menu description for opening all urls in a bookmark folder in an incognito window">
          Open all bookmarks in &amp;incognito window
        </message>
        <message name="IDS_BOOKMARK_BAR_REMOVE" desc="Menu title for removing/unstarring a bookmark">
          &amp;Delete
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_BOOKMARK_BAR_OPEN_IN_NEW_TAB" desc="In Title Case: Menu description for loading bookmark in a new tab">
          &amp;Open in New Tab
        </message>
        <message name="IDS_BOOKMARK_BAR_OPEN_IN_NEW_WINDOW" desc="In Title Case: Menu description for loading bookmark in a new window">
          Open in &amp;New Window
        </message>
        <message name="IDS_BOOKMARK_BAR_OPEN_INCOGNITO" desc="In Title Case: Menu description for opening bookmark in incognito window">
          Open in &amp;Incognito Window
        </message>
        <message name="IDS_BOOKMARK_BAR_ADD_NEW_BOOKMARK" desc="In Title Case: Menu title for adding a new bookmark entry">
          Add Pa&amp;ge...
        </message>
        <message name="IDS_BOOKMARK_BAR_NEW_FOLDER" desc="In Title Case: Menu title for adding a new folder">
          Add &amp;Folder...
        </message>
        <message name="IDS_BOOKMARK_BAR_OPEN_ALL" desc="In Title Case: Menu title for opening all urls in a bookmark folder">
          &amp;Open All Bookmarks
        </message>
        <message name="IDS_BOOKMARK_BAR_OPEN_ALL_NEW_WINDOW" desc="In Title Case: Menu title for opening all urls in a bookmark folder in a new window">
          Open All Bookmarks in &amp;New Window
        </message>
        <message name="IDS_BOOKMARK_BAR_OPEN_ALL_INCOGNITO" desc="In Title Case: Menu description for opening all urls in a bookmark folder in an incognito window">
          Open All Bookmarks in &amp;Incognito Window
        </message>
        <message name="IDS_BOOKMARK_BAR_REMOVE" desc="In Title Case: Menu title for removing/unstarring a bookmark">
          &amp;Delete
        </message>
      </if>
      <message name="IDS_BOOKMARK_BAR_EDIT_FOLDER_LABEL" desc="Title of label before text field in edit folder dialog">
        Name:
      </message>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_BOOKMARK_BAR_EDIT"
                 desc="Title of the bookmark context menu item that brings up the bookmark editor">
          &amp;Edit...
        </message>
        <message name="IDS_BOOKMARK_BAR_RENAME_FOLDER"
                 desc="Title of the bookmark context menu item that brings up a dialog to rename a folder">
          &amp;Rename...
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_BOOKMARK_BAR_EDIT"
                 desc="In Title Case: Title of the bookmark context menu item that brings up the bookmark editor">
          &amp;Edit...
        </message>
        <message name="IDS_BOOKMARK_BAR_RENAME_FOLDER"
                 desc="In Title Case: Title of the bookmark context menu item that brings up a dialog to rename a folder">
          &amp;Rename...
        </message>
      </if>
      <message name="IDS_BOOKMARK_BAR_SHOULD_OPEN_ALL"
               desc="Message in the message box shown if user asks to open a lot of bookmarks in a folder">
        Are you sure you want to open <ph name="TAB_COUNT">$1<ex>20</ex></ph> tabs?
      </message>

      <!-- error page messages -->
      <message name="IDS_ERRORPAGES_SUGGESTION_HEADING" desc="Heading in the error page above the actual suggestions">
        Here are some suggestions:
      </message>

      <message name="IDS_ERRORPAGES_SUGGESTION_RELOAD" desc="When a page fails to load, we provide a suggestion that the user try reloading the page later">
        <ph name="BEGIN_LINK">&lt;a jsvalues="href:reloadUrl"&gt;</ph>Reload<ph name="END_LINK">&lt;/a&gt;</ph> this webpage later.
      </message>
      <message name="IDS_ERRORPAGES_SUGGESTION_HOMEPAGE" desc="When a page fails to load, sometimes we provide a suggesting of trying just the hostname of the site.">
        Go to the home page of the site:
      </message>
      <message name="IDS_ERRORPAGES_SUGGESTION_CHECK_CONNECTION" desc="When a page fails to load, sometimes we suggest checking the network connection.">
        Check your Internet connection. Restart any router, modem, or other
        network devices you may be using.
      </message>
      <message name="IDS_ERRORPAGES_SUGGESTION_DNS_CONFIG" desc="When a page fails to load, sometimes we suggest checking the DNS configuration.">
        Check your DNS settings. Contact your network administrator if you're
        not sure what this means.
      </message>
      <message name="IDS_ERRORPAGES_SUGGESTION_NETWORK_PREDICTION" desc="When a page fails to load, sometimes we suggest disabling network prediction.">
        Try disabling network prediction by following these steps:
        Go to
        <ph name="BEGIN_BOLD">&lt;strong&gt;</ph>
        the wrench menu &gt;
        <ph name="SETTINGS_TITLE">&lt;span jscontent="settingsTitle"&gt;&lt;/span&gt;<ex>Settings</ex></ph>
        &gt;
        <ph name="ADVANCED_TITLE">&lt;span jscontent="advancedTitle"&gt;&lt;/span&gt;<ex>Under the Hood</ex></ph>
        <ph name="END_BOLD">&lt;/strong&gt;</ph>
        and deselect &quot;<ph name="NO_PREFETCH_DESCRIPTION">&lt;span jscontent="noNetworkPredictionTitle"&gt;&lt;/span&gt;<ex>Predict network actions to improve page load performance</ex></ph>.&quot;
        If this does not resolve the issue, we recommend selecting this option
        again for improved performance.
      </message>
      <message name="IDS_ERRORPAGES_SUGGESTION_FIREWALL_CONFIG" desc="When a webpage fails to load, in some cases we suggest reconfiguring the firewall.">
        Add
        <ph name="PRODUCT_NAME">&lt;span jscontent="productName"&gt;&lt;/span&gt;<ex>Google Chrome</ex></ph>
        as a permitted program in your firewall's or antivirus software's settings. If it is
        already a permitted program, try deleting it from the list of permitted programs
        and adding it again.
      </message>
      <message name="IDS_ERRORPAGES_SUGGESTION_PROXY_CONFIG" desc="When a webpage fails to load, in some cases we suggest checking the proxy server configuration, or disabling the proxy server.">
        If you use a proxy server, check your proxy settings or contact your
        network administrator to make sure the proxy server is working. If you
        don't believe you should be using a proxy server, adjust your proxy
        settings:
        <ph name="PLATFORM_TEXT">$1<ex>Goto the wrench menu and choose Fix It</ex></ph>
      </message>
      <if expr="is_macosx">
        <message name="IDS_ERRORPAGES_SUGGESTION_PROXY_DISABLE_PLATFORM" desc="Mac OSX instructions for disabling use of a proxy server.">
          Go to
          <ph name="BEGIN_BOLD">&lt;strong&gt;</ph>
          Applications &gt; System Preferences &gt; Network &gt; Advanced &gt; Proxies
          <ph name="END_BOLD">&lt;/strong&gt;</ph>
          and deselect any proxies that have been selected.
        </message>
      </if>
      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_ERRORPAGES_SUGGESTION_PROXY_DISABLE_PLATFORM" desc="ChromeOS instructions for disabling use of a proxy server.">
          Go to
          <ph name="BEGIN_BOLD">&lt;strong&gt;</ph>
          the wrench menu &gt;
          <ph name="SETTINGS_TITLE">&lt;span jscontent="settingsTitle"&gt;&lt;/span&gt;<ex>Settings</ex></ph>
          &gt;
          <ph name="INTERNET_TITLE">&lt;span jscontent="internetTitle"&gt;&lt;/span&gt;<ex>Internet</ex></ph>
          &gt;
          <ph name="OPTIONS_BUTTON">&lt;span jscontent="optionsButton"&gt;&lt;/span&gt;<ex>Options...</ex></ph>
          of connected network &gt;
          <ph name="NETWORK_TAB">&lt;span jscontent="networkTab"&gt;&lt;/span&gt;<ex>Network</ex></ph>
          tab &gt;
          <ph name="PROXY_BUTTON">&lt;span jscontent="proxyButton"&gt;&lt;/span&gt;<ex>Change proxy settings...</ex></ph>
          <ph name="END_BOLD">&lt;/strong&gt;</ph>
          and make sure your configuration is set to &quot;Direct&quot;.
        </message>
      </if>
      <if expr="not pp_ifdef('chromeos') and is_posix and not is_macosx">
        <message name="IDS_ERRORPAGES_SUGGESTION_PROXY_DISABLE_PLATFORM" desc="Linux instructions for disabling use of a proxy server.">
          Go to
          <ph name="BEGIN_BOLD">&lt;strong&gt;</ph>
          the wrench menu &gt;
          <ph name="SETTINGS_TITLE">&lt;span jscontent="settingsTitle"&gt;&lt;/span&gt;<ex>Settings</ex></ph>
          &gt;
          <ph name="ADVANCED_TITLE">&lt;span jscontent="advancedTitle"&gt;&lt;/span&gt;<ex>Under the Hood</ex></ph>
          &gt;
          <ph name="PROXIES_TITLE">&lt;span jscontent="proxyTitle"&gt;&lt;/span&gt;<ex>Change proxy settings...</ex></ph>
          <ph name="END_BOLD">&lt;/strong&gt;</ph>
          and make sure your configuration is set to &quot;no proxy&quot; or &quot;direct.&quot;
        </message>
      </if>
      <if expr="is_win">
        <message name="IDS_ERRORPAGES_SUGGESTION_PROXY_DISABLE_PLATFORM" desc="Windows instructions for disabling use of a proxy server.">
          Go to
          <ph name="BEGIN_BOLD">&lt;strong&gt;</ph>
          the wrench menu &gt;
          <ph name="SETTINGS_TITLE">&lt;span jscontent="settingsTitle"&gt;&lt;/span&gt;<ex>Settings</ex></ph>
          &gt;
          <ph name="ADVANCED_TITLE">&lt;span jscontent="advancedTitle"&gt;&lt;/span&gt;<ex>Under the Hood</ex></ph>
          &gt;
          <ph name="PROXIES_TITLE">&lt;span jscontent="proxyTitle"&gt;&lt;/span&gt;<ex>Change proxy settings...</ex></ph>
          &gt;
          LAN Settings
          <ph name="END_BOLD">&lt;/strong&gt;</ph>
          and deselect the &quot;Use a proxy server for your LAN&quot; checkbox.
        </message>
      </if>

      <message name="IDS_ERRORPAGES_SUGGESTION_LEARNMORE" desc="When a webpage fails to load, we provide a link to the help center to learn more about the failure.">
        <ph name="BEGIN_LINK">&lt;a jsvalues="href:learnMoreUrl"&gt;</ph>Learn more<ph name="END_LINK">&lt;/a&gt;</ph> about this problem.
      </message>

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

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

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

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

      <message name="IDS_ERRORPAGES_SUMMARY_ESET_ANTI_VIRUS_SSL_INTERCEPTION" desc="Summary in the error page when we detect that ESET anti-virus is running and intercepting our HTTPS connections. 'ESET' is a product name and may be best left untranslated. 'Learn more' should be the contents of IDS_LEARN_MORE.">
        <ph name="PRODUCT_NAME">&lt;span jscontent="productName"&gt;&lt;/span&gt;<ex>Google Chrome</ex></ph>
        has detected that an ESET product is intercepting secure connections.
        This is typically not a security issue as the ESET software is
        usually running on the same computer. However, due to an intolerance
        to specific aspects of
        <ph name="PRODUCT_NAME">&lt;span jscontent="productName"&gt;&lt;/span&gt;<ex>Google Chrome</ex></ph>'s
        secure connections, ESET products have to be configured to not
        perform this interception. Click the 'Learn more' link for
        instructions.
      </message>

      <message name="IDS_ERRORPAGES_SUMMARY_KASPERSKY_ANTI_VIRUS_SSL_INTERCEPTION" desc="Summary in the error page when we detect that Kaspersky anti-virus is running and intercepting our HTTPS connections. 'Kaspersky' is a product name and may be best left untranslated. 'Learn more' should be the contents of IDS_LEARN_MORE.">
        <ph name="PRODUCT_NAME">&lt;span jscontent="productName"&gt;&lt;/span&gt;<ex>Google Chrome</ex></ph>
        has detected that a Kaspersky product is intercepting secure connections.
        This is typically not a security issue as the Kaspersky software is
        usually running on the same computer. However, due to an intolerance
        to specific aspects of
        <ph name="PRODUCT_NAME">&lt;span jscontent="productName"&gt;&lt;/span&gt;<ex>Google Chrome</ex></ph>'s
        secure connections, Kaspersky products have to be configured to not
        perform this interception. Click the 'Learn more' link for
        instructions which guide you to the configuration option that should be
        disabled.
      </message>

      <message name="IDS_ERRORPAGES_SUMMARY_NETNANNY_SSL_INTERCEPTION" desc="Summary in the error page when we detect that NetNanny is running and intercepting our HTTPS connections. 'NetNanny' is a product name and may be best left untranslated. 'Learn more' should be the contents of IDS_LEARN_MORE.">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> has detected that
        NetNanny is intercepting secure connections. This is typically
        not a security issue as the NetNanny software is usually running on the
        same computer. However, due to an intolerance to specific aspects of
        Chrome's secure connections, NetNanny has to be configured to not
        perform this interception. Click the 'Learn more' link for instructions.
      </message>

      <message name="IDS_ERRORPAGES_DETAILS_TEMPLATE" desc="On the bottom of the error page text, there is a box that includes extra information for tech savvy users.">
        Error <ph name="ERROR_NUMBER">$1<ex>5</ex></ph> (<ph name="ERROR_NAME">$2<ex>net::ERR_FILE_NOT_FOUND</ex></ph>): <ph name="ERROR_TEXT">$3<ex>The requested file is not found.</ex></ph>
      </message>
      <message name="IDS_ERRORPAGES_HTTP_DETAILS_TEMPLATE" desc="On the bottom of the error page text for http errors, there is a box that includes extra information for tech savvy users.">
        HTTP Error <ph name="ERROR_NUMBER">$1<ex>500</ex></ph> (<ph name="ERROR_NAME">$2<ex>Internal Server Error</ex></ph>): <ph name="ERROR_TEXT">$3<ex>The server encountered an internal error.</ex></ph>
      </message>

      <message name="IDS_ERRORPAGES_DETAILS_TIMED_OUT" desc="The error message displayed when a page takes too long to load.">
        The operation timed out.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_CONNECTION_CLOSED" desc="The error message displayed when the server unexpectedly closes a connection.">
        The server unexpectedly closed the connection.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_CONNECTION_RESET" desc="The error message displayed when a connection was reset.">
        The connection was reset.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_CONNECTION_REFUSED" desc="The error message displayed when we try and connect to a server, but the server doesn't let us.">
        The server refused the connection.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_CONNECTION_FAILED" desc="The error message displayed when we can not reach the website.">
        The attempt to connect to the server failed.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_NAME_NOT_RESOLVED" desc="The error message displayed when a dns look up fails.">
        Unable to resolve the server's DNS address.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_ADDRESS_UNREACHABLE" desc="The error message displayed when we can't reach a server.">
        Unable to reach the server.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_NETWORK_ACCESS_DENIED" desc="The error message displayed when we're not being allowed to access the network.">
        Unable to access the network.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_PROXY_CONNECTION_FAILED" desc="The error message displayed when the proxy server connection failed.">
        Proxy server connection failed.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_INTERNET_DISCONNECTED" desc="The error message displayed when we have no Internet access.">
        The Internet connection has been lost.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_CACHE_READ_FAILURE" desc="The error message displayed when we encountered an error reading from the cache.  Generally this happens when the disk cache is corrupted from improper shutdown.">
        Error reading data from cache.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_CACHE_MISS" desc="The error message displayed when we couldn't find a resource in the cache, and cannot fall back to the network.">
        The requested entry was not found in the cache.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_NETWORK_IO_SUSPENDED" desc="The error message displayed when a page load failed due to the computer entering sleep/suspend mode.">
        Network IO suspended.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_FILE_NOT_FOUND" desc="The error message displayed when a local file can not be found.">
        The file or directory could not be found.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_TOO_MANY_REDIRECTS" desc="The error message displayed when there are too many redirects.">
        There were too many redirects.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_EMPTY_RESPONSE" desc="The error message displayed when no data is received.">
        The server closed the connection without sending any data.
      </message>
      <message name="IDS_ERRORPAGES_DETAILS_UNKNOWN" desc="The default error message displayed if we don't have a more specific error message.">
        Unknown error.
      </message>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      <message name="IDS_SAVEAS_ALL_FILES" desc="Save As dialog box default text">
        All Files
      </message>

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

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

      <message name="IDS_PAGE_INFO_EV_IDENTITY_TITLE" desc="The title of the identity section when the page is secure with an EV cert.">
        <ph name="ORGANIZATION_NAME">$1<ex>Google Inc</ex></ph> (<ph name="DOMAIN_NAME">$2<ex>www.google.com</ex></ph>)
      </message>

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

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

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

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

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

      <!-- SSL Blocking Page -->
      <message name="IDS_SSL_BLOCKING_PAGE_TITLE" desc="The title of the SSL blocking page.">
        SSL Error
      </message>
      <message name="IDS_SSL_BLOCKING_PAGE_PROCEED" desc="Proceed button text of the SSL blocking page.">
        Proceed anyway
      </message>
      <message name="IDS_SSL_BLOCKING_PAGE_EXIT" desc="'Back' button text of the SSL blocking page.">
        Back to safety
      </message>

      <!-- SSL Error Page -->
      <message name="IDS_SSL_ERROR_PAGE_TITLE" desc="The title of the SSL error page.">
        Security Error
      </message>
      <message name="IDS_SSL_ERROR_PAGE_BACK" desc="Back button text of the SSL error page.">
        Back
      </message>

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

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

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

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

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

      <!-- Language & spell-checker settings -->
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_DIALOG_TITLE">
        Languages
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_AND_INPUT_DIALOG_TITLE">
        Languages and Input
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_LANGUAGES" desc="The label for the list of languages">
        Languages
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_ADD_BUTTON"
               desc="The label for the add button for adding a language">
        Add
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_REMOVE_BUTTON"
               desc="The label for the remove button for removing a language">
        Remove
      </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_PLEASE_ADD_ANOTHER_LANGUAGE"
               desc="Warning invoked when the user tries to remove the last language">
        Please add another language before removing this one.
      </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>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_THIS_LANGUAGE_IS_CURRENTLY_IN_USE"
               desc="Warning invoked when the user tries to remove the language used for displaying Chrome OS">
        This language is currently in use for displaying <ph name="PRODUCT_NAME">$1<ex>Chrome OS</ex></ph>.
      </message>
      <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 OS">
        Use this language for spell checking
      </message>
      <message name="IDS_OPTIONS_SETTINGS_CANNOT_BE_USED_FOR_SPELL_CHECKING"
               desc="The label for a language that cannot be used for spell checking">
        This language cannot be used for spell checking
      </message>
      <message name="IDS_OPTIONS_SETTINGS_IS_USED_FOR_SPELL_CHECKING"
               desc="The label for a language that is currently used for spell checking">
        This language is used for spell checking
      </message>
      <if expr="not pp_ifdef('chromeos')">
        <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_RELAUNCH_BUTTON"
                 desc="The label for the relaunch button for changing UI language">
          Relaunch
        </message>
      </if>
      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_RELAUNCH_BUTTON"
                 desc="The label for the restart button for changing UI language">
          Restart
        </message>
      </if>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_VIRTUAL_KEYBOARD_BUTTON"
               desc="The label for the virtual keyboard button for customizing virtual keyboard settings">
        Change virtual keyboard settings...
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_VIRTUAL_KEYBOARD_SETTINGS_TITLE"
               desc="The label for the virtual keyboard manager page">
        Virtual Keyboard Settings
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_VIRTUAL_KEYBOARD_LAYOUT_COLUMN_TITLE"
               desc="The label for the virtual keyboard manager page">
        Layout
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_VIRTUAL_KEYBOARD_KEYBOARD_COLUMN_TITLE"
               desc="The label for the virtual keyboard manager page">
        Virtual Keyboard
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_DEFAULT_VIRTUAL_KEYBOARD"
               desc="The label for a default virtual keyboard in a drop down menu">
        Default
      </message>
      <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>

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

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

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

      <!-- Search engine dialog messages -->
      <message name="IDS_FR_SEARCH_MAIN_LABEL" desc="Tells the user to choose a search engine">
        Choose a search engine
      </message>
      <message name="IDS_FR_SEARCH_TEXT" desc="Explains the omnibox and asks the user to choose a search engine for this feature">
        <ph name="PRODUCT_NAME">
          $1<ex>Google Chrome</ex></ph> allows you to search the web using the omnibox. Please choose which search engine you would like it to use:
      </message>
      <message name="IDS_FR_SEARCH_CHOOSE" desc="Command on button to choose a search engine">
        Choose
      </message>

      <!-- First run bubble popup -->
      <message name="IDS_FR_BUBBLE_TITLE" desc="Bubble-like popup dialog title">
        Search from right here
      </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_OK" desc="Text for the OK button on the bubble">
        Keep <ph name="PAGE_TITLE">$1<ex>Google</ex></ph> as the default search engine
      </message>
      <message name="IDS_FR_BUBBLE_CHANGE" desc="Text for the change button on the bubble">
        Change search engine
      </message>

      <!-- First run alternative minibubble popup -->
      <message name="IDS_FR_OEM_BUBBLE_TITLE_1" desc="Bubble-like popup dialog title, part 1">
        New!
      </message>
      <message name="IDS_FR_OEM_BUBBLE_TITLE_2" desc="Bubble-like popup dialog title, part 2">
        Search from the address bar.
      </message>
      <message name="IDS_FR_OEM_BUBBLE_SUBTEXT" desc="Text under the title for the bubble. 'Orchids' may be translated into any locale-appropriate search term.">
        Try it out - type "orchids" and press Enter.
      </message>

      <!-- First run bubble popup with new search engine dialog -->
      <message name="IDS_FR_SE_BUBBLE_TITLE" desc="Bubble-like popup dialog title">
        Search using <ph name="SEARCH_ENGINE">$1<ex>Google</ex></ph> from right here
      </message>

      <!-- Sad Tab Strings -->
      <message name="IDS_SAD_TAB_TITLE" desc="The title of the sad tab page that is shown when a tab crashes. This is intended to be a humorous exclamation of dismay.">
        Aw, Snap!
      </message>
      <message name="IDS_SAD_TAB_MESSAGE" desc="The message displayed on the sad tab page.">
        Something went wrong while displaying this webpage. To continue, reload or go to another page.
      </message>

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

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

      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_SETTINGS_TITLE" desc="Title for the settings tab.">
          Settings
        </message>
      </if>
      <if expr="not pp_ifdef('chromeos') and is_posix">
        <message name="IDS_SETTINGS_TITLE" desc="Title for the settings tab.">
          Preferences
        </message>
      </if>
      <if expr="is_win">
        <message name="IDS_SETTINGS_TITLE" desc="Title for the settings tab.">
          Options
        </message>
      </if>

      <!-- Options Window -->
      <message name="IDS_OPTIONS_DIALOG_TITLE" desc="The title of the Options dialog box">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> Options
      </message>
      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_OPTIONS_SYSTEM_TAB_LABEL" desc="The title of the System tab">
          System
        </message>
        <message name="IDS_OPTIONS_INTERNET_TAB_LABEL" desc="The title of the Internet tab">
          Internet
        </message>
        <message name="IDS_OPTIONS_ACCOUNTS_TAB_LABEL" desc="The title of the Accounts tab">
          Users
        </message>
        <message name="IDS_OPTIONS_PROXY_TAB_LABEL" desc="The title of the proxy subtab">
          Proxy
        </message>
      </if>
      <message name="IDS_OPTIONS_GENERAL_TAB_LABEL" desc="The title of the Basics tab">
        Basics
      </message>
      <message name="IDS_OPTIONS_CONTENT_TAB_LABEL" desc="The title of the Personal Stuff tab">
        Personal Stuff
      </message>
      <message name="IDS_OPTIONS_ADVANCED_TAB_LABEL" desc="The title of the Under the Hood tab">
        Under the Hood
      </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>

      <!-- The About page is now part of options. -->
      <message name="IDS_ABOUT_TAB_TITLE" desc="Label used for tab of about page.">
        About
      </message>
      <message name="IDS_ABOUT_PAGE_FIRMWARE" desc="Label used for Chrome OS bios firmware version.">
        Firmware
      </message>
      <message name="IDS_PLATFORM_LABEL" desc="Label for Platform">
        Platform
      </message>
      <message name="IDS_ABOUT_PAGE_LOADING" desc="Label used for async data before data is available. Example is Chrome OS version.">
        Loading&#x2026;
      </message>
      <message name="IDS_ABOUT_PAGE_MORE_INFO" desc="Title for _More_info_ link.">
        More Info
      </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.">
        Dev - Unstable
      </message>
      <message name="IDS_ABOUT_PAGE_CHANNEL_CANARY" desc="The canary option in the channel select.">
        Canary
      </message>
      <message name="IDS_ABOUT_PAGE_CHANNEL_WARNING_HEADER" desc="Text right before the warning body text.">
        WARNING
      </message>
      <message name="IDS_ABOUT_PAGE_CHANNEL_WARNING_TEXT" desc="The warning text show on the release channel switching UI.">
        The development channel is where ideas get tested, but can be very unstable at times. Please proceed with caution.
      </message>
      <message name="IDS_ABOUT_PAGE_CHECK_NOW" desc="Button title for checking for updates now.">
        Check for update
      </message>


      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_OPTIONS_STARTUP_GROUP_NAME" desc="The title of the startup group">
          On startup
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_OPTIONS_STARTUP_GROUP_NAME" desc="In Title Case: The title of the startup group">
          On Startup
        </message>
      </if>
      <message name="IDS_OPTIONS_STARTUP_SHOW_DEFAULT_AND_NEWTAB" desc="The label of the 'Show home page' startup option radio button">
        Open the home page
      </message>
      <message name="IDS_OPTIONS_STARTUP_SHOW_LAST_SESSION" desc="The label of the 'Restore previously open pages' startup option radio button">
        Reopen the pages that were open last
      </message>
      <message name="IDS_OPTIONS_STARTUP_SHOW_PAGES" desc="The label of the 'Show these pages:' startup option radio button">
        Open the following pages:
      </message>
      <message name="IDS_OPTIONS_STARTUP_PAGE_TOOLTIP" desc="A tooltip to display for a page in the list of pages to open on startup">
        <ph name="PAGE_TITLE">$1<ex>Google</ex></ph> - <ph name="PAGE_URL">$2<ex>http://www.google.com/</ex></ph>
      </message>
      <message name="IDS_OPTIONS_STARTUP_ADD_BUTTON" desc="The label of the 'Add...' button for the custom startup urls list">
        Add...
      </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>

      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_OPTIONS_STARTUP_USE_CURRENT" desc="In Title Case: The label of the 'Use Current' button for the custom startup urls list">
          Use Current Pages
        </message>
        <message name="IDS_OPTIONS_DEFAULTSEARCH_MANAGE_ENGINES" desc="In Title Case: The label of the 'Manage search engines' button">
          Manage Search Engines...
        </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_OPTIONS_STARTUP_USE_CURRENT" desc="In sentence case: The label of the 'Use Current' button for the custom startup urls list">
          Use current pages
        </message>
        <message name="IDS_OPTIONS_DEFAULTSEARCH_MANAGE_ENGINES" desc="In sentence case: The label of the 'Manage search engines' button">
          Manage search engines...
        </message>
      </if>

      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_OPTIONS_HOMEPAGE_GROUP_NAME" desc="The title of the home pages group">
          Home page
        </message>
        <message name="IDS_OPTIONS_TOOLBAR_GROUP_NAME" desc="The title of the toolbar group">
          Toolbar
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_OPTIONS_HOMEPAGE_GROUP_NAME" desc="In Title Case: The title of the home pages group">
          Home Page
        </message>
        <message name="IDS_OPTIONS_TOOLBAR_GROUP_NAME" desc="In Title Case: The title of the toolbar group">
          Toolbar
        </message>
      </if>
      <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_TOOLBAR_SHOW_BOOKMARKS_BAR" desc="The label of the 'Show bookmarks bar' checkbox">
        Always show the bookmarks bar
      </message>

      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_OPTIONS_DEFAULTSEARCH_GROUP_NAME" desc="The title of the default search engine group">
          Search
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_OPTIONS_DEFAULTSEARCH_GROUP_NAME" desc="In Title Case: The title of the default search engine group">
          Search
        </message>
      </if>

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

      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_OPTIONS_DEFAULTBROWSER_GROUP_NAME" desc="The title of the default browser group">
          Default browser
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_OPTIONS_DEFAULTBROWSER_GROUP_NAME" desc="In Title Case: The title of the default browser group">
          Default Browser
        </message>
      </if>
      <message name="IDS_OPTIONS_DEFAULTBROWSER_DEFAULT" desc="The text displayed when Chrome is not the default browser">
        The default browser is currently <ph name="BROWSER_NAME">$1<ex>Firefox</ex></ph>.
      </message>
      <message name="IDS_OPTIONS_DEFAULTBROWSER_NOTDEFAULT" desc="The text displayed when Chrome is not the default browser">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> is not currently your default browser.
      </message>
      <message name="IDS_OPTIONS_DEFAULTBROWSER_UNKNOWN" desc="The text displayed when Chrome cannot determine or set the default browser">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> cannot determine or set the default browser.
      </message>
      <message name="IDS_OPTIONS_DEFAULTBROWSER_SXS" desc="The text displayed when Chrome is installed in side-by-side mode, which does not support setting as the default browser.">
        This is a secondary installation of <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>, and cannot be made your default browser.
      </message>

      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_OPTIONS_DEFAULTBROWSER_USEASDEFAULT" desc="In Title Case: The label of the 'Use Chrome as default' browser button">
          Make <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> My Default Browser
        </message>
        <message name="IDS_OPTIONS_DOWNLOADLOCATION_GROUP_NAME" desc="The title of the download location group">
          Downloads
        </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_OPTIONS_DEFAULTBROWSER_USEASDEFAULT" desc="In sentence case: The label of the 'Use Chrome as default' browser button">
          Make <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> my default browser
        </message>
        <message name="IDS_OPTIONS_DOWNLOADLOCATION_GROUP_NAME" desc="In Title Case: The title of the download location group">
          Downloads
        </message>
      </if>

      <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_BROWSE_WINDOW_TITLE" desc="In the 'Browse For Folder' dialog on Linux, this is the text that appears in the window's title bar.">
        Download Location
      </message>
      <message name="IDS_OPTIONS_DOWNLOADLOCATION_ASKFORSAVELOCATION" desc="The 'Ask for save location before downloading' checkbox label">
        Ask where to save each file before downloading
      </message>

      <message name="IDS_OPTIONS_OPEN_FILE_TYPES_AUTOMATICALLY" desc="The information label for the 'Clear auto-opening settings' button">
        You have chosen to open certain file types automatically after downloading.
      </message>

      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_OPTIONS_AUTOOPENFILETYPES_RESETTODEFAULT" desc="In Title Case: The label of the 'Reset always open files' button">
          Clear Auto-opening Settings
        </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_OPTIONS_AUTOOPENFILETYPES_RESETTODEFAULT" desc="In sentence case: The label of the 'Reset always open files' button">
          Clear auto-opening settings
        </message>
      </if>

      <message name="IDS_OPTIONS_TRANSLATE_ENABLE_TRANSLATE" desc="The label of the check-box that enables page translate">
        Offer to translate pages that aren't in a language I read
      </message>

      <message name="IDS_OPTIONS_PASSWORDS_ASKTOSAVE" desc="The label of the 'Ask me to save passwords' radio button">
        Offer to save passwords
      </message>
      <message name="IDS_OPTIONS_PASSWORDS_NEVERSAVE" desc="The label of the 'Never save passwords' radio button">
        Never save passwords
      </message>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_OPTIONS_PASSWORDS_MANAGE_PASSWORDS" desc="In Title Case: The label of the 'Manage saved passwords' button">
          Manage Saved Passwords...
        </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_OPTIONS_PASSWORDS_MANAGE_PASSWORDS" desc="In sentence case: The label of the 'Manage saved passwords' button">
          Manage saved passwords...
        </message>
      </if>
      <message name="IDS_OPTIONS_PASSWORDS_AUTOLOGIN" desc="The label of the 'autologinEnabled' checkbox">
        Enable automatic sign in for Google sites
      </message>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_AUTOFILL_SETTING_WINDOWS_GROUP_NAME" desc="The title of the form Autofill group">
          Form autofill
        </message>
        <message name="IDS_OPTIONS_PASSWORDS_GROUP_NAME" desc="The title of the 'Passwords' group">
          Passwords
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_AUTOFILL_SETTING_WINDOWS_GROUP_NAME" desc="In Title Case: The title of the form Autofill group">
          Form Autofill
        </message>
        <message name="IDS_OPTIONS_PASSWORDS_GROUP_NAME" desc="In Title Case: The title of the 'Passwords' group">
          Passwords
        </message>
      </if>
      <message name="IDS_AUTOFILL_CC_INFOBAR_TEXT" desc="Text to show in the Autofill credit card request infobar.">
        Do you want Chrome to save this credit card information for completing web forms?
      </message>
      <message name="IDS_OPTIONS_AUTOFILL_ENABLE" desc="The label of the 'Ask me to enable Autofill' radio button">
        Enable Autofill to fill out web forms in a single click
      </message>
      <message name="IDS_AUTOFILL_CC_INFOBAR_ACCEPT" desc="Text to show for the Autofill credit card request infobar accept button.">
        Save info
      </message>
      <message name="IDS_AUTOFILL_CC_INFOBAR_DENY" desc="Text to show for the Autofill credit card request infobar deny button.">
        Don't save
      </message>
      <message name="IDS_AUTOFILL_CLEAR_FORM_MENU_ITEM" desc="The entry in the suggestions dropdown that clears an auto-filled form.">
        Clear form
      </message>
      <message name="IDS_AUTOFILL_WARNING_FORM_DISABLED" desc="Warning text to show when autofill is disabled by the website for a given form.">
        This webpage has disabled automatic filling for this form.
      </message>
      <message name="IDS_AUTOFILL_WARNING_INSECURE_CONNECTION" desc="Warning text to show when credit card autofill is disabled because the website is not using a secure connection.">
        Automatic credit card filling is disabled because this form does not use a secure connection.
      </message>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_OPTIONS_MANAGE_AUTOFILL_SETTINGS" desc="The label of the 'Manage Autofill settings' button">
          Manage Autofill settings...
        </message>
        <message name="IDS_AUTOFILL_ADD_ADDRESS_BUTTON" desc="The label of the button that adds a new Autofill address.">
          Add new street address...
        </message>
        <message name="IDS_AUTOFILL_ADD_CREDITCARD_BUTTON" desc="The label of the button that adds a new Autofill credit card.">
          Add new credit card...
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_OPTIONS_MANAGE_AUTOFILL_SETTINGS" desc="In Title Case: The label of the 'Manage Autofill Settings' button">
          Manage Autofill Settings...
        </message>
        <message name="IDS_AUTOFILL_ADD_ADDRESS_BUTTON" desc="In Title Case: The label of the button that adds a new Autofill address.">
          Add New Street Address...
        </message>
        <message name="IDS_AUTOFILL_ADD_CREDITCARD_BUTTON" desc="In Title Case: The label of the button that adds a new Autofill credit card.">
          Add New Credit Card...
        </message>
      </if>

      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_AUTOFILL_OPTIONS_TITLE" desc="The title of the Autofill dialog.">
          Autofill Settings
        </message>
        <message name="IDS_AUTOFILL_OPTIONS" desc="The value of the Autofill options button.">
          Autofill Settings...
        </message>
        <message name="IDS_AUTOFILL_OPTIONS_POPUP" desc="The value of the Autofill options menu entry.">
          <ph name="PRODUCT_NAME_SHORT">$1<ex>Chrome</ex></ph> Autofill settings
        </message>
      </if>

      <if expr="is_posix and not pp_ifdef('chromeos')">
        <message name="IDS_AUTOFILL_OPTIONS_TITLE" desc="The title of the Autofill dialog.">
          Autofill Preferences
        </message>
        <message name="IDS_AUTOFILL_OPTIONS" desc="The value of the Autofill options button.">
          Autofill Preferences...
        </message>
        <message name="IDS_AUTOFILL_OPTIONS_POPUP" desc="The value of the Autofill options menu entry.">
          <ph name="PRODUCT_NAME_SHORT">$1<ex>Chrome</ex></ph> Autofill Preferences
        </message>
      </if>

      <if expr="is_win">
        <message name="IDS_AUTOFILL_OPTIONS_TITLE" desc="The title of the Autofill dialog.">
          Autofill Options
        </message>
        <message name="IDS_AUTOFILL_OPTIONS" desc="The value of the Autofill options button.">
          Autofill options...
        </message>
        <message name="IDS_AUTOFILL_OPTIONS_POPUP" desc="The value of the Autofill options menu entry.">
          <ph name="PRODUCT_NAME_SHORT">$1<ex>Chrome</ex></ph> Autofill options
        </message>
      </if>

      <message name="IDS_AUTOFILL_USE_MAC_ADDRESS_BOOK" desc="Checkbox label to enable Address Book on Mac.">
        Include addresses from my Address Book card
      </message>

      <message name="IDS_AUTOFILL_CC_AMEX" desc="American Express credit card name, for use as an image's 'alt' attribute.">
        American Express
      </message>
      <message name="IDS_AUTOFILL_CC_DINERS" desc="Diners Club credit card name, for use as an image's 'alt' attribute.">
        Diners Club
      </message>
      <message name="IDS_AUTOFILL_CC_DISCOVER" desc="Discover credit card name, for use as an image's 'alt' attribute.">
        Discover
      </message>
      <message name="IDS_AUTOFILL_CC_GENERIC" desc="Generic credit card description, for use as an image's 'alt' attribute.">
        Credit card (other)
      </message>
      <message name="IDS_AUTOFILL_CC_JCB" desc="JCB credit card name, for use as an image's 'alt' attribute.">
        JCB
      </message>
      <message name="IDS_AUTOFILL_CC_MASTERCARD" desc="MasterCard credit card name, for use as an image's 'alt' attribute.">
        MasterCard
      </message>
      <message name="IDS_AUTOFILL_CC_SOLO" desc="Solo credit card name, for use as an image's 'alt' attribute.">
        Solo debit card
      </message>
      <message name="IDS_AUTOFILL_CC_VISA" desc="Visa credit card name, for use as an image's 'alt' attribute.">
        Visa
      </message>

      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_AUTOFILL_ADDRESSES_GROUP_NAME" desc="In sentence case: The name of the Addresses group of the Autofill dialog.">
          Addresses
        </message>
        <message name="IDS_AUTOFILL_CREDITCARDS_GROUP_NAME" desc="In sentence case: The name of the Credit Cards group of the Autofill dialog.">
          Credit cards
        </message>
        <message name="IDS_AUTOFILL_EDIT_ADDRESS_CAPTION" desc="In sentence case: The caption on the edit Autofill address dialog.">
          Edit address
        </message>
        <message name="IDS_AUTOFILL_ADD_ADDRESS_CAPTION" desc="In sentence case: The caption on the edit Autofill address dialog for the new entry.">
          Add an address
        </message>
        <message name="IDS_AUTOFILL_EDIT_CREDITCARD_CAPTION" desc="In sentence case: The caption on the edit Autofill credit card dialog.">
          Edit credit card
        </message>
        <message name="IDS_AUTOFILL_ADD_CREDITCARD_CAPTION" desc="In sentence case: The caption on the edit Autofill credit card dialog the new entry.">
          Add a credit card
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_AUTOFILL_ADDRESSES_GROUP_NAME" desc="In Title Case: The name of the Addresses group of the Autofill dialog.">
          Addresses
        </message>
        <message name="IDS_AUTOFILL_CREDITCARDS_GROUP_NAME" desc="In Title Case: The name of the Credit Cards group of the Autofill dialog.">
          Credit Cards
        </message>
        <message name="IDS_AUTOFILL_EDIT_ADDRESS_CAPTION" desc="In Title Case: The caption on the edit Autofill address dialog.">
          Edit Address
        </message>
        <message name="IDS_AUTOFILL_ADD_ADDRESS_CAPTION" desc="In Title Case: The caption on the edit Autofill address dialog for the new entry.">
          Add an Address
        </message>
        <message name="IDS_AUTOFILL_EDIT_CREDITCARD_CAPTION" desc="In Title Case: The caption on the edit Autofill credit card dialog.">
          Edit Credit Card
        </message>
        <message name="IDS_AUTOFILL_ADD_CREDITCARD_CAPTION" desc="In Title Case: The caption on the edit Autofill credit card dialog the new entry.">
          Add a Credit Card
        </message>
      </if>
      <message name="IDS_AUTOFILL_LIST_HEADER_SUMMARY" desc="The text on the list view header over the summary.">
        Summary
      </message>
      <message name="IDS_AUTOFILL_MAC_ADDRESS_LINE_SEPARATOR" desc="The separator character used to join multi-line addresses on the Mac.">
        , '''
      </message>
      <message name="IDS_AUTOFILL_DIALOG_ADDRESS_SUMMARY_SEPARATOR" desc="The separator character used in the summary of an address.">
        , '''
      </message>
      <message name="IDS_AUTOFILL_DIALOG_ADDRESS_SUMMARY_FAX_FORMAT" desc="This is a format of a fax number to differentiate it with regular phone. $1=number">
        fax:#<ph name="FAX">$1<ex>1(123)123-4567</ex></ph>
      </message>
      <message name="IDS_CREDIT_CARD_NUMBER_PREVIEW_FORMAT"
               desc="Credit card preview format">
        <ph name="OBFUSCATED_CC_NUMBER">$1<ex>************1234</ex>
        </ph>, Exp: <ph name="CC_EXPIRATION_DATE">$2<ex>03/2020</ex>
        </ph>
      </message>
      <message name="IDS_SAVE_PAGE_STATUS_INTERRUPTED" desc="Saving the page was interrupted, the number of bytes saved and total bytes expected">
        <ph name="SAVED_BYTES">$1<ex>5</ex></ph> / <ph name="TOTAL_BYTES">$2<ex>13</ex></ph> bytes, Interrupted
      </message>

      <message name="IDS_AUTOFILL_DIALOG_FULL_NAME" desc="The label of the Full name entry.">
        Full name
      </message>
      <message name="IDS_AUTOFILL_DIALOG_EMAIL" desc="The label of the Email entry.">
        Email
      </message>
      <message name="IDS_AUTOFILL_DIALOG_COMPANY_NAME" desc="The label of the Company name entry.">
        Company name
      </message>
      <message name="IDS_AUTOFILL_DIALOG_ADDRESS_LINE_1" desc="The label of the Address Line 1 entry.">
        Address line 1
      </message>
      <message name="IDS_AUTOFILL_DIALOG_ADDRESS_LINE_2" desc="The label of the Address Line 2 entry.">
        Address line 2
      </message>
      <message name="IDS_AUTOFILL_DIALOG_CITY" desc="The label of the City entry.">
        City/Town
      </message>
      <!-- These are all variants of the same logical field: The major subdivision below the "country" level. -->
      <message name="IDS_AUTOFILL_DIALOG_STATE" desc="The label of the State entry.">
        State
      </message>
      <message name="IDS_AUTOFILL_DIALOG_AREA" desc="The label of the Area entry.">
        Area
      </message>
      <message name="IDS_AUTOFILL_DIALOG_COUNTY" desc="The label of the County entry.">
        County
      </message>
      <message name="IDS_AUTOFILL_DIALOG_DEPARTMENT" desc="The label of the Department entry.">
        Department
      </message>
      <message name="IDS_AUTOFILL_DIALOG_DISTRICT" desc="The label of the District entry.">
        District
      </message>
      <message name="IDS_AUTOFILL_DIALOG_EMIRATE" desc="The label of the Emirate entry.">
        Emirate
      </message>
      <message name="IDS_AUTOFILL_DIALOG_ISLAND" desc="The label of the Island entry.">
        Island
      </message>
      <message name="IDS_AUTOFILL_DIALOG_PARISH" desc="The label of the Parish entry.">
        Parish
      </message>
      <message name="IDS_AUTOFILL_DIALOG_PREFECTURE" desc="The label of the Prefecture entry.">
        Prefecture
      </message>
      <message name="IDS_AUTOFILL_DIALOG_PROVINCE" desc="The label of the Province entry.">
        Province
      </message>
      <!-- End state variants. -->
      <message name="IDS_AUTOFILL_DIALOG_ZIP_CODE" desc="The label of the ZIP code entry.">
        ZIP code
      </message>
      <message name="IDS_AUTOFILL_DIALOG_POSTAL_CODE" desc="The label of the Postal code entry.">
        Postal code
      </message>
      <message name="IDS_AUTOFILL_DIALOG_COUNTRY" desc="The label of the Country entry.">
        Country
      </message>
      <message name="IDS_AUTOFILL_DIALOG_PHONE" desc="The label of the Phone entry.">
        Phone
      </message>
      <message name="IDS_AUTOFILL_DIALOG_FAX" desc="The label of the Fax entry.">
        Fax
      </message>
      <message name="IDS_AUTOFILL_DIALOG_ADD_NEW_NAME" desc="The placeholder text of the name field.">
        Add new name
      </message>
      <message name="IDS_AUTOFILL_DIALOG_ADD_NEW_PHONE" desc="The placeholder text of the phone field.">
        Add new phone
      </message>
      <message name="IDS_AUTOFILL_DIALOG_ADD_NEW_FAX" desc="The placeholder text of the fax field.">
        Add new fax
      </message>
      <message name="IDS_AUTOFILL_DIALOG_ADD_NEW_EMAIL" desc="The placeholder text of the email field.">
        Add new email
      </message>
      <message name="IDS_AUTOFILL_DIALOG_NAME_ON_CARD" desc="The label of the Name on card entry.">
        Name on card
      </message>
      <message name="IDS_AUTOFILL_DIALOG_CREDIT_CARD_NUMBER" desc="The label of the Credit card number entry.">
        Credit card number
      </message>
      <message name="IDS_AUTOFILL_DIALOG_EXPIRATION_DATE" desc="The label of the Expiration date entry.">
        Expiration date
      </message>

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

      <message name="IDS_AUTOFILL_SHOW_PREDICTIONS_TITLE" desc="The title for form elements when annotated with Autofill predictions.">
        heuristic type: <ph name="HEURISTIC_TYPE">$1<ex>NAME_FIRST</ex></ph>\nserver type: <ph name="SERVER_TYPE">$2<ex>NAME_FIRST</ex></ph>\nfield signature: <ph name="FIELD_SIGNATURE">$3<ex>12345678</ex></ph>\nform signature: <ph name="FORM_SIGNATURE">$4<ex>1234567812345678</ex></ph>\nexperiment id: "<ph name="EXPERIMENT_ID">$5<ex>ar1</ex></ph>"
      </message>

      <message name="IDS_AUTOFILL_FEEDBACK_INFOBAR_TEXT" desc="Description text for the Autofill feedback infobar.">
        Help make Autofill better.
      </message>

      <message name="IDS_AUTOFILL_FEEDBACK_INFOBAR_LINK_TEXT" desc="Link text for the Autofill feedback infobar.">
        Send feedback to Google.
      </message>

      <message name="IDS_AUTOFILL_FEEDBACK_POPULAR_FORM_MESSAGE" desc="Feedback message template used when a popular Autofill form is found.">
        The form signature <ph name="FORM_SIGNATURE">$1<ex>15146752457155269744</ex></ph> is for <ph name="FORM_URL">$2<ex>http://www.facebook.com</ex></ph>.
      </message>

      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_THEMES_GROUP_NAME" desc="In sentence case: The title of the themes group">
          Themes
        </message>
        <message name="IDS_THEMES_RESET_BUTTON" desc="The button to reset your theme">
          Reset to default theme
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_THEMES_GROUP_NAME" desc="In Title Case: The title of the themes group">
          Themes
        </message>
        <message name="IDS_THEMES_RESET_BUTTON" desc="In title case: The button to reset your theme">
          Reset To Default Theme
        </message>
      </if>

      <if expr="is_posix and not is_macosx">
        <message name="IDS_APPEARANCE_GROUP_NAME" desc="In Title Case: The title of the themes group">
          Appearance
        </message>
        <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_RADIO" desc="A radio button in the options dialog for using the system title bar and borders.">
          Use system title bar and borders
        </message>
        <message name="IDS_HIDE_WINDOW_DECORATIONS_RADIO" desc="A radio button in the options dialog for using the chrome custom frame and hiding the system title bar.">
          Hide system title bar and use compact borders
        </message>
      </if>
      <message name="IDS_THEMES_GALLERY_BUTTON" desc="The button to get more themes">
        Get themes
      </message>

      <message name="IDS_OPTIONS_PROXIES_LABEL" desc="The info label for the 'Proxy settings' button">
        Set up a proxy to connect to the network.
      </message>
      <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>
      <message name="IDS_OPTIONS_EXTENSION_PROXIES_LABEL" desc="The info label for the 'Proxy settings' button when managed by an extension.">
        Your network proxy settings are being managed by an extension.
      </message>

      <message name="IDS_OPTIONS_CLOUD_PRINT_PROXY_DISABLED_LABEL" desc="The label of the cloud print setup button when it hasn't been set up yet.">
        <ph name="CLOUD_PRINT_NAME">Google Cloud Print</ph> lets you access this computer's printers from anywhere. Sign in to enable.
      </message>
      <message name="IDS_OPTIONS_CLOUD_PRINT_PROXY_DISABLED_BUTTON" desc="The label of the cloud proxy configure button when it hasn't been set up yet.">
        Sign in to <ph name="CLOUD_PRINT_NAME">Google Cloud Print</ph>
      </message>
      <message name="IDS_OPTIONS_CLOUD_PRINT_PROXY_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">Google Cloud Print</ph> using the account <ph name="EMAIL">$1<ex>foo@bar.com</ex></ph>
      </message>
      <message name="IDS_OPTIONS_CLOUD_PRINT_PROXY_ENABLED_BUTTON" desc="The label of the cloud proxy configure button when it has been set up.">
        Disable <ph name="CLOUD_PRINT_NAME">Google Cloud Print</ph>
      </message>
      <message name="IDS_OPTIONS_CLOUD_PRINT_PROXY_ENABLED_MANAGE_BUTTON" desc="The label of the link item for the cloud print management URL.">
        Manage Print Settings...
      </message>
      <message name="IDS_OPTIONS_CLOUD_PRINT_PROXY_ENABLING_BUTTON" desc="The label of the cloud proxy configure button while it is being set up.">
        Signing in...
      </message>
      <message name="IDS_OPTIONS_SAFEBROWSING_ENABLEPROTECTION" desc="The label of the 'Enable phishing and malware protection' checkbox">
        Enable phishing and malware protection
      </message>
      <message name="IDS_OPTIONS_SSL_GROUP_DESCRIPTION" desc="The description of the 'SSL Connections' group">
        Computer-wide SSL settings:
      </message>
      <message name="IDS_OPTIONS_SSL_CHECKREVOCATION" desc="The label of the 'Check for server certificate revocation' checkbox">
        Check for server certificate revocation
      </message>
      <message name="IDS_OPTIONS_SSL_USESSL3" desc="The label of the 'Use SSL 3.0' checkbox (Only used on Linux.)">
        Use SSL 3.0
      </message>
      <message name="IDS_OPTIONS_SSL_USETLS1" desc="The label of the 'Use TLS 1.0' checkbox (Only used on Linux.)">
        Use TLS 1.0
      </message>

      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_OPTIONS_BROWSING_DATA_GROUP_NAME" desc="The title of the 'Browsing data' group.">
          Browsing data
        </message>
        <message name="IDS_OPTIONS_IMPORT_DATA_BUTTON" desc="In sentence case: Label for the import data button.">
          Import data from another browser...
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_OPTIONS_BROWSING_DATA_GROUP_NAME" desc="In Title Case: The title of the 'Browsing data' group.">
          Browsing Data
        </message>
        <message name="IDS_OPTIONS_IMPORT_DATA_BUTTON" desc="In Title Case: Label for the import data button.">
          Import Data from Another Browser...
        </message>
      </if>

      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_OPTIONS_POLICY_MANAGED_PREFS" desc="Banner displayed in case there are policy-managed options the user won't be able to change.">
          Some settings have been disabled by your administrator.
        </message>
        <message name="IDS_OPTIONS_EXTENSION_MANAGED_PREFS" desc="Banner displayed in case there are extension-managed options the user won't be able to change.">
          Some settings are being managed by an extension.
        </message>
        <message name="IDS_OPTIONS_POLICY_EXTENSION_MANAGED_PREFS" desc="Banner displayed in case there are policy- and extension-managed options the user won't be able to change.">
          Some settings have been disabled by your administrator and others are being managed by an extension.
        </message>
      </if>
      <if expr="not pp_ifdef('chromeos') and is_posix">
        <message name="IDS_OPTIONS_POLICY_MANAGED_PREFS" desc="Banner displayed in case there are policy-managed options the user won't be able to change.">
          Some preferences have been disabled by your administrator.
        </message>
        <message name="IDS_OPTIONS_EXTENSION_MANAGED_PREFS" desc="Banner displayed in case there are extension-managed options the user won't be able to change.">
          Some preferences are being managed by an extension.
        </message>
        <message name="IDS_OPTIONS_POLICY_EXTENSION_MANAGED_PREFS" desc="Banner displayed in case there are policy- and extension-managed options the user won't be able to change.">
          Some preferences have been disabled by your administrator and others are being managed by an extension.
        </message>
      </if>
      <if expr="is_win">
        <message name="IDS_OPTIONS_POLICY_MANAGED_PREFS" desc="Banner displayed in case there are policy-managed options the user won't be able to change.">
          Some options have been disabled by your administrator.
        </message>
        <message name="IDS_OPTIONS_EXTENSION_MANAGED_PREFS" desc="Banner displayed in case there are extension-managed options the user won't be able to change.">
          Some options are being managed by an extension.
        </message>
        <message name="IDS_OPTIONS_POLICY_EXTENSION_MANAGED_PREFS" desc="Banner displayed in case there are policy- and extension-managed options the user won't be able to change.">
          Some options have been disabled by your administrator and others are being managed by an extension.
        </message>
      </if>

      <!-- 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>
      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_OPTIONS_SEARCH_PLACEHOLDER" desc="Text placeholder for an empty search field on ChromeOS.">
          Search settings
        </message>
      </if>
      <if expr="not pp_ifdef('chromeos') and is_posix">
        <message name="IDS_OPTIONS_SEARCH_PLACEHOLDER" desc="Text placeholder for an empty search field on Mac/Linux.">
          Search preferences
        </message>
      </if>
      <if expr="is_win">
        <message name="IDS_OPTIONS_SEARCH_PLACEHOLDER" desc="Text placeholder for an empty search field on Windows.">
          Search options
        </message>
      </if>

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

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

      <!-- Auto-login infobar -->
      <message name="IDS_AUTOLOGIN_INFOBAR_MESSAGE" desc="The string shown in the infobar explaining that they can press one button to auto-login instead of entering their user name and password.">
        Sign in to this site using: <ph name="EMAIL_ADDRESS">$1</ph>
      </message>
      <message name="IDS_AUTOLOGIN_INFOBAR_OK_BUTTON" desc="The string used in the infobar button that the user presses to perform the auto-login.">
        Sign in
      </message>
      <message name="IDS_AUTOLOGIN_INFOBAR_CANCEL_BUTTON" desc="The string used in the infobar button that the user presses to never see this infobar again.">
        Never offer to sign me in
      </message>

      <!-- 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 Other Data
      </message>
      <message name="IDS_COOKIES_SEARCH_COOKIES" desc="Placeholder text shown in the search box in the Cookies Window">
        Search cookies
      </message>
      <message name="IDS_COOKIES_REMOVE_LABEL" desc="The label of the 'Remove' button in the Cookies Window">
        Remove
      </message>
      <message name="IDS_COOKIES_REMOVE_ALL_LABEL" desc="The label of the 'Remove All' button in the Cookies Window">
        Remove All
      </message>
      <message name="IDS_COOKIES_COOKIE_NAME_LABEL" desc="The Cookie Name label">
        Name:
      </message>
      <message name="IDS_COOKIES_COOKIE_CONTENT_LABEL" desc="The Cookie Content label">
        Content:
      </message>
      <message name="IDS_COOKIES_COOKIE_DOMAIN_LABEL" desc="The Cookie Domain label">
        Domain:
      </message>
      <message name="IDS_COOKIES_COOKIE_PATH_LABEL" desc="The Cookie Path label">
        Path:
      </message>
      <message name="IDS_COOKIES_COOKIE_SENDFOR_LABEL" desc="The Cookie Send For label">
        Send For:
      </message>
      <message name="IDS_COOKIES_COOKIE_ACCESSIBLE_TO_SCRIPT_LABEL" desc="The Cookie Accessible to Script label">
        Accessible to Script:
      </message>
      <message name="IDS_COOKIES_COOKIE_CREATED_LABEL" desc="The Cookie Created label">
        Created:
      </message>
      <message name="IDS_COOKIES_COOKIE_EXPIRES_LABEL" desc="The Cookie Expires label">
        Expires:
      </message>

      <!-- Intents Window -->
      <message name="IDS_INTENTS_MANAGER_WINDOW_TITLE" desc="The title of the Intents page that lets you manage intent services for websites">
        Intents
      </message>
      <message name="IDS_INTENTS_DOMAIN_COLUMN_HEADER" desc="Label for the Site column in the intents manager page.">
        Site
      </message>
      <message name="IDS_INTENTS_SERVICE_DATA_COLUMN_HEADER" desc="Label for the Service Data column in the intents manager page.">
        Service Data
      </message>
      <message name="IDS_INTENTS_REMOVE_INTENT_BUTTON" desc="Text on the button to remove an intent.">
        Remove Intent
      </message>

      <!-- Mac users do not close their browser; they quit it. -->
      <if expr="not is_macosx">
        <message name="IDS_COOKIES_COOKIE_EXPIRES_SESSION" desc="The Cookie Expires field value for a session cookie">
          When I close my browser
        </message>
      </if>
      <if expr="is_macosx">
        <message name="IDS_COOKIES_COOKIE_EXPIRES_SESSION" desc="The Cookie Expires field value for a session cookie (Mac)">
          When I quit my browser
        </message>
      </if>

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

      <!-- New Tab -->
      <message name="IDS_NEW_TAB_APPS" desc="The 'Apps' heading on the new tab page">
        Apps
      </message>
      <message name="IDS_NEW_TAB_TITLE"
          desc="Title of the new tab page, this is only shown while loading, then the title comes from the page">
        New Tab
      </message>
      <message name="IDS_NEW_TAB_MOST_VISITED"
               desc="The 'Most Visited' heading on the new tab page">
        Most visited
      </message>
      <message name="IDS_NEW_TAB_BOOKMARKS_PAGE_TITLE" desc="The 'Bookmarks' title on the new tab page">
        Bookmarks
      </message>
      <message name="IDS_NEW_TAB_BOOKMARKS_MANAGER_LINK_TITLE" desc="The title of the link to invoke the bookmarks manager from the New Tab Page.">
        More...
      </message>
      <message name="IDS_NEW_TAB_RESTORE_THUMBNAILS_LINK"
         desc="The link that restores previously removed thumbnails">
        Restore all removed thumbnails
      </message>
      <message name="IDS_NEW_TAB_RESTORE_THUMBNAILS_SHORT_LINK"
         desc="The link that restores previously removed thumbnails. Context is 'Thumbnail removed. Undo | Restore all'">
        Restore all
      </message>
      <message name="IDS_NEW_TAB_RECENTLY_CLOSED"
               desc="The 'Recently Closed' heading on the new tab page">
        Recently closed
      </message>
      <message name="IDS_NEW_TAB_OTR_MESSAGE"
               desc="Used when a person opens an OTR window">
        <ph name="BEGIN_BOLD">&lt;strong&gt;</ph>You've gone incognito<ph name="END_BOLD">"&lt;/strong&gt;</ph>. Pages you view in this window won't appear in your browser history or search history, and they won't leave other traces, like cookies, on your computer after you close &lt;strong&gt;all&lt;/strong&gt; open incognito windows. Any files you download or bookmarks you create will be preserved, however.
        <ph name="LINE_BREAK">&lt;br /&gt;&lt;br /&gt;</ph>
        <ph name="BEGIN_BOLD">&lt;strong&gt;</ph>Going incognito doesn't affect the behavior of other people, servers, or software. Be wary of:<ph name="END_BOLD">&lt;/strong&gt;</ph>
        <ph name="BEGIN_LIST">&lt;ul&gt;</ph>
          <ph name="BEGIN_LIST_ITEM">&lt;li&gt;</ph>Websites that collect or share information about you<ph name="END_LIST_ITEM">&lt;/li&gt;</ph>
          <ph name="BEGIN_LIST_ITEM">&lt;li&gt;</ph>Internet service providers or employers that track the pages you visit<ph name="END_LIST_ITEM">&lt;/li&gt;</ph>
          <ph name="BEGIN_LIST_ITEM">&lt;li&gt;</ph>Malicious software that tracks your keystrokes in exchange for free smileys<ph name="END_LIST_ITEM">&lt;/li&gt;</ph>
          <ph name="BEGIN_LIST_ITEM">&lt;li&gt;</ph>Surveillance by secret agents<ph name="END_LIST_ITEM">&lt;/li&gt;</ph>
          <ph name="BEGIN_LIST_ITEM">&lt;li&gt;</ph>People standing behind you<ph name="END_LIST_ITEM">&lt;/li&gt;</ph>
        <ph name="END_LIST">&lt;/ul&gt;</ph>
        <ph name="BEGIN_LINK">&lt;a href="$1"&gt;</ph>Learn more<ph name="END_LINK">&lt;/a&gt;</ph> about incognito browsing.
      </message>
      <message name="IDS_NEW_TAB_OTR_EXTENSIONS_MESSAGE"
               desc="Explanation in a new OTR window that extensions have been disabled while in OTR.">
        Because <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> does not control how extensions handle your personal data, all extensions have been disabled for incognito windows. You can reenable them individually in the
        <ph name="BEGIN_LINK">&lt;a href="$2"&gt;</ph>extensions manager<ph name="END_LINK">&lt;/a&gt;</ph>.
      </message>
      <message name="IDS_NEW_TAB_GUEST_SESSION_MESSAGE"
          desc="Used when a person enters Guest Session">
          <ph name="BEGIN_BOLD">&lt;strong&gt;</ph>You're browsing as a guest<ph name="END_BOLD">&lt;/strong&gt;</ph>. Pages you view in this window won't appear in the browser history or search history, and they won't leave other traces, like cookies, on the computer after you sign out. Files you download and bookmarks you create won't be preserved.
        <ph name="LINE_BREAK">&lt;br /&gt;&lt;br /&gt;</ph>
        <ph name="BEGIN_LINK">&lt;a href="$1"&gt;</ph>Learn more<ph name="END_LINK">&lt;/a&gt;</ph> about guest mode.
      </message>
      <message name="IDS_NEW_TAB_RECENTLY_CLOSED_WINDOW_SINGLE"
               desc="Title of recently closed windows in the recently closed section of the new tab page when the window has a single tab">
        1 Tab
      </message>
      <message name="IDS_NEW_TAB_RECENTLY_CLOSED_WINDOW_MULTIPLE"
               desc="Title of recently closed windows in the recently closed section of the new tab page when the window has more than one tab. The % is replaced by the number of tabs">
        <ph name="TAB_COUNT">$1<ex>3</ex></ph> Tabs
      </message>
      <message name="IDS_NEW_TAB_ATTRIBUTION_INTRO"
               desc="Leading sentence above a custom logo that the theme artist has provided">
        Theme created by
      </message>
      <message name="IDS_NEW_TAB_THUMBNAIL_REMOVED_NOTIFICATION"
               desc="Notification text shown when a thumbnail has been removed from the most visited section.">
        Thumbnail removed.
      </message>
      <message name="IDS_NEW_TAB_UNDO_THUMBNAIL_REMOVE"
         desc="Action link text to undo removing a thumbnail from the most visited section.">
        Undo
      </message>
      <message name="IDS_NEW_TAB_REMOVE_THUMBNAIL_TOOLTIP"
         desc="Tooltip text for the button that removes/blacklists the thumbnail. Once removed the thumbnail will not show up on the new tab page again.">
        Don't show on this page
      </message>
      <message name="IDS_NEW_TAB_PIN_THUMBNAIL_TOOLTIP"
         desc="Tooltip text for the button that pins the thumbnail. Once pinned the thumbnail will always be shown on the new tab page and it will alwyas be shown in the same position.">
        Keep on this page
      </message>
      <message name="IDS_NEW_TAB_UNPIN_THUMBNAIL_TOOLTIP"
         desc="Tooltip text for the button that unpins the thumbnail. Once unpinned the thumbnail might not be displayed on the new tab page any more.">
        Don't keep on this page
      </message>
      <message name="IDS_NEW_TAB_SHOW_HIDE_THUMBNAIL_TOOLTIP"
         desc="Tooltip text for the button that shows and hides the thumbnail.">
        Thumbnail view
      </message>
      <message name="IDS_NEW_TAB_SHOW_HIDE_LIST_TOOLTIP"
         desc="Tooltip text for the button that shows and hides the list view.">
        List view
      </message>
      <message name="IDS_NEW_TAB_PAGE_DISPLAY_TOOLTIP"
         desc="Tooltip text for the button that shows the menu that hides and shows different sections on the new tab page.">
        Change page layout
      </message>
      <message name="IDS_NEW_TAB_HOME_PAGE_SET_NOTIFICATION"
         desc="Notification text to show after the user has made the NTP his/her home page.">
        Welcome to your home page!
      </message>
      <message name="IDS_NEW_TAB_HOME_PAGE_HIDE_NOTIFICATION"
         desc="The action text to show as the close link for the notification shown after the user has set his/her home page.">
        Close
      </message>
      <message name="IDS_NEW_TAB_MAKE_THIS_HOMEPAGE"
               desc="Text for link that sets new tab page as home page">
        Make this my home page
      </message>
      <message name="IDS_NEW_TAB_HISTORY"
               desc="The text of the link that takes the user to the history page. This is shown in the footer.">
        History
      </message>
      <message name="IDS_NEW_TAB_DOWNLOADS"
               desc="The text of the link that takes the user to the downloads page. This is shown in the footer.">
        Downloads
      </message>
      <message name="IDS_NEW_TAB_HELP"
               desc="The text of the link that takes the user to the help page. This is shown in the footer.">
        Help
      </message>
      <message name="IDS_NEW_TAB_APP_SETTINGS"
               desc="Text for the tooltip that is used for the button that shows the settings for an app icon.">
        Settings
      </message>
      <message name="IDS_NEW_TAB_APP_UNINSTALL"
               desc="Text for the button that allows uninstalling an app.">
        Uninstall
      </message>
      <message name="IDS_NEW_TAB_APP_OPTIONS"
               desc="Text for the button that takes the user to the options of an app.">
        Options
      </message>
      <message name="IDS_NEW_TAB_APP_CREATE_SHORTCUT"
               desc="Text for the button that creates an app shortcut.">
        Create shortcut
      </message>
      <message name="IDS_NEW_TAB_TRASH_LABEL"
               desc="Text for the trash can that appears when the user drags apps.">
        Remove from <ph name="SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph>.
      </message>
      <message name="IDS_NEW_TAB_WEBSTORE_PAGE_TITLE"
         desc="Title for the hard coded thumbnail that represents the webstore page. This is used on the NTP when there aren't enough thumbnails to show.">
        Apps, Extensions and Themes
      </message>
      <message name="IDS_APP_DEFAULT_PAGE_NAME"
               desc="Default name for the first 'Apps' page on the New Tab Page.">
        Apps
      </message>
      <message name="IDS_APP_CONTEXT_MENU_OPEN_PINNED"
               desc="Text for the button that opens the app in a pinned tab.">
        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.">
        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.">
        Open as window
      </message>
      <message name="IDS_APP_CONTEXT_MENU_OPEN_FULLSCREEN"
               desc="Text for the button that opens the app full screen.">
        Open full screen
      </message>
      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_NEW_TAB_CLOSE_MENU_EXPAND" desc="Text for the closed section menu footer that will restore the section.">
          Expand
        </message>
      </if>

      <!-- Offline page  -->
      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_OFFLINE_LOAD_HEADLINE" desc="Offline Page HTML headline">
          Your device is offline
        </message>
        <message name="IDS_SITE_OFFLINE_LOAD_DESCRIPTION" desc="offline site">
          The webpage at <ph name="HOST_NAME">&lt;strong&gt;$1<ex>www.offline.com</ex>&lt;/strong&gt;</ph> cannot be reached because your network connection is down. The page will be loaded when the network connection is restored. <ph name="LINE_BREAK">&lt;br&gt;<ex>&lt;br&gt;</ex></ph>
        </message>
        <message name="IDS_APP_OFFLINE_LOAD_DESCRIPTION" desc="offline app">
          The app at <ph name="HOST_NAME">&lt;strong&gt;$1<ex>www.offline.com</ex>&lt;/strong&gt;</ph> cannot be reached because your network connection is down. The page will be loaded when the network connection is restored. <ph name="LINE_BREAK">&lt;br&gt;<ex>&lt;br&gt;</ex></ph>
        </message>
        <message name="IDS_OFFLINE_TRY_LOADING">
          Try loading the page anyway
        </message>
        <message name="IDS_OFFLINE_NETWORK_SETTINGS">
          Network settings
        </message>
      </if>

      <!-- Multi-profile -->
      <message name="IDS_PROFILES_OPTIONS_GROUP_NAME" desc="The name of the sync group in the options dialog.">
        Users
      </message>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_PROFILES_CREATE_NEW_PROFILE_OPTION" desc="Create new profile menu item and button title.">
          Add new user
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_PROFILES_CREATE_NEW_PROFILE_OPTION" desc="In Title Case. Create new profile menu item and button title.">
          Add New User
        </message>
      </if>
      <message name="IDS_PROFILES_CREATE_NEW_PROFILE_LINK" desc="Link in the avatar menu bubble view to create a new profile.">
        Add new user
      </message>
      <message name="IDS_PROFILES_CUSTOMIZE_PROFILE_ACCESSIBLE_NAME" desc="Description of the customize profile button. This is used for accessibility.">
        Customize user: <ph name="PROFILE_NAME">$1<ex>First user</ex></ph>
      </message>
      <message name="IDS_PROFILES_SWITCH_TO_PROFILE_ACCESSIBLE_NAME" desc="Description of the switch to profile button. This is used for accessibility.">
        Switch to user: <ph name="PROFILE_NAME">$1<ex>First user</ex></ph>
      </message>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_PROFILES_MENU" desc="The title of the profiles submenu in the wrench menu.">
          Users
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_PROFILES_MENU" desc="In Title Case. The title of the profiles submenu in the wrench menu.">
          Users
        </message>
      </if>
      <message name="IDS_DEFAULT_PROFILE_NAME" desc="The default name given to a profile. Displayed in wrench menu and settings UI.">
        First user
      </message>
      <message name="IDS_NUMBERED_PROFILE_NAME" desc="The name given to a newly created profile. Displayed in wrench menu and settings UI.">
        User <ph name="VALUE">$1<ex>1</ex></ph>
      </message>
      <message name="IDS_NUMBERED_AVATAR_NAME" desc="The name for a profile avatar icon.">
        Icon <ph name="VALUE">$1<ex>1</ex></ph>
      </message>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_PROFILES_CUSTOMIZE_PROFILE" desc="Customize profile menu item and button title.">
          Customize user...
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_PROFILES_CUSTOMIZE_PROFILE" desc="In Title Case. Customize profile menu item.">
          Customize User...
        </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_PROFILES_CONNECT_BUTTON_LABEL" desc="The label that appears on the profile connect button in the options dialog when the user has not connected a Google Account to their profile.">
          Enable these features...
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_PROFILES_CONNECT_BUTTON_LABEL" desc="In Title Case. The label that appears on the profile connect button in the options dialog when the user has not connected a Google Account to their profile.">
          Enable These Features...
        </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_PROFILES_CREATE_BUTTON_LABEL" desc="The label that appears on the profile create button in the options dialog to allow a user to create a new profile.">
          Add new user
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_PROFILES_CREATE_BUTTON_LABEL" desc="In Title Case. The label that appears on the profile create button in the options dialog to allow a user to create a new profile.">
          Add New User
        </message>
      </if>
      <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.">
        Manage...
      </message>
      <message name="IDS_PROFILES_DELETE_BUTTON_LABEL" desc="The label that appears on the profile delete button in the options dialog to allow a user to delete their profile.">
        Delete...
      </message>
      <message name="IDS_PROFILES_SYNCED_TO_USER_WITH_TIME" desc="The message that appears in the options dialog indicating that account is synced to a user with the given email address. The last sync also appears in the message.">
        Using Chrome profile <ph name="USER_EMAIL_ADDRESS">
          $1<ex>foo@gmail.com</ex>
        </ph>. Last synced: <ph name="LAST_SYNC_TIME">
          $2<ex>12 seconds ago</ex>
        </ph>
      </message>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_PROFILES_DISCONNECT_BUTTON_LABEL" desc="The text to display on the button to indicate profile disconnect (i.e., stop syncing) functionality.">
          Disconnect this account...
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_PROFILES_DISCONNECT_BUTTON_LABEL" desc="The text to display on the button to indicate profile disconnect (i.e., stop syncing) functionality.">
          Disconnect This Account...
        </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_PROFILES_SYNC_CUSTOMIZE_BUTTON_LABEL" desc="The text to display on the button to customize the profile's sync preferences.">
          Customize sync settings...
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_PROFILES_SYNC_CUSTOMIZE_BUTTON_LABEL" desc="The text to display on the button to customize the profile's sync preferences.">
          Customize Sync Settings...
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_PROFILES_NOT_SIGNED_IN_MENU" desc="The text to display on the browser frame when the user is not using a personalized profile.">
          Not Signed In
        </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_PROFILES_NOT_SIGNED_IN_MENU" desc="The text to display on the browser frame when the user is not using a personalized profile.">
          not signed in
        </message>
      </if>
      <message name="IDS_PROFILES_DEFAULT_NAME" desc="The name to display for a profile when the user is not signed in.">
        Default
      </message>
      <message name="IDS_SYNC_CUSTOMIZE_LINK_LABEL" desc="The text to display on the link to customize the sync preferences.">
        Advanced
      </message>
      <message name="IDS_SYNC_USE_DEFAULT_SETTINGS" desc="The text to display on the link to go back to the default sync preferences.">
        Use default settings
      </message>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_SHOW_SYNC_SETUP" desc="In title case. The title of the menu item to open the sync setup page. Shown in the Wrench menu.">
          Sign in to <ph name="SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph>
        </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_SHOW_SYNC_SETUP" desc="The title of the menu item to open the sync setup page. Shown in the Wrench menu.">
          Sign in to <ph name="SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph>
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_SHOW_SYNC_SETUP_USERNAME" desc="In title case. The title of the menu item to open the sync setup page. Shown in the Wrench menu when the user is signed into sync.">
          Signed in to <ph name="SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph> as <ph name="USER_NAME">$2<ex>pat@example.com</ex></ph>
        </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_SHOW_SYNC_SETUP_USERNAME" desc="The title of the menu item to open the sync setup page. Shown in the Wrench menu when the user is signed into sync.">
          Signed in to <ph name="SHORT_PRODUCT_NAME">$1<ex>Chrome</ex></ph> as <ph name="USER_NAME">$2<ex>pat@example.com</ex></ph>
        </message>
      </if>
     <!-- SafeBrowsing -->
      <message name="IDS_SAFE_BROWSING_MALWARE_TITLE" desc="SafeBrowsing Malware HTML title">
        Malware Detected!
      </message>
      <message name="IDS_SAFE_BROWSING_MALWARE_HEADLINE" desc="SafeBrowsing Malware HTML headline">
        Warning: Something's Not Right Here!
      </message>
      <message name="IDS_SAFE_BROWSING_MALWARE_DESCRIPTION1" desc="SafeBrowsing Malware HTML description, first line">
        <ph name="HOST_NAME">&lt;strong&gt;$1<ex>www.malware.com</ex>&lt;/strong&gt;</ph> contains malware. Your computer might catch a virus if you visit this site.
      </message>
      <message name="IDS_SAFE_BROWSING_MALWARE_DESCRIPTION2" desc="SafeBrowsing Malware HTML description, second line">
        Google has found malicious software may be installed onto your computer if you proceed. If you've visited this site in the past or you trust this site, it's possible that it has just recently been compromised by a hacker. You should not proceed, and perhaps try again tomorrow or go somewhere else.
      </message>
      <message name="IDS_SAFE_BROWSING_MALWARE_DESCRIPTION3" desc="SafeBrowsing Malware HTML description, last line">
        If you understand that visiting this site may harm your computer, <ph name="PROCEED_LINK">$1<ex>proceed anyway</ex></ph>.
      </message>
      <message name="IDS_SAFE_BROWSING_MALWARE_PROCEED_LINK" desc="SafeBrowsing Malware HTML description, last line proceed link part.">
        proceed anyway
      </message>
      <message name="IDS_SAFE_BROWSING_MALWARE_DESCRIPTION4" desc="SafeBrowsing Malware HTML description, first line for case of subresource malicious">
        <ph name="HOST_NAME">&lt;strong&gt;$1<ex>www.malware.com</ex>&lt;/strong&gt;</ph> contains content from <ph name="ELEMENTS_HOST_NAME">&lt;strong&gt;$2<ex>www.evil.cn</ex>&lt;/strong&gt;</ph>, a site known to distribute malware. Your computer might catch a virus if you visit this site.
      </message>
      <message name="IDS_SAFE_BROWSING_MALWARE_DESCRIPTION5" desc="SafeBrowsing Malware HTML description, detailed information, click button to span.">
        We have already notified <ph name="HOST_NAME">&lt;strong&gt;$1<ex>evil.com</ex>&lt;/strong&gt;</ph> that we found malware on the site. For more about the problems found on <ph name="HOST_NAME2">$2<ex>www.malware.com</ex></ph>, visit the Google <ph name="DIAGNOSTIC_PAGE">$3<ex>diagnostic page</ex></ph>.
      </message>
      <message name="IDS_SAFE_BROWSING_MALWARE_BACK_BUTTON" desc="SafeBrowsing Malware, back button">
        Go back
      </message>
      <message name="IDS_SAFE_BROWSING_MALWARE_DIAGNOSTIC_PAGE" desc="SafeBrowsing Malware diagnostic page">
        Safe Browsing diagnostic page
      </message>
      <message name="IDS_SAFE_BROWSING_PRIVACY_POLICY_PAGE" desc="Label for the link to SafeBrowsing Privacy policy page">
        Safe Browsing privacy policies
      </message>
      <message name="IDS_SAFE_BROWSING_MALWARE_REPORTING_AGREE" desc="SafeBrowsing Malware Details label next to checkbox">
        Help improve detection of malware by sending additional data to Google about sites on which you see this warning. This data will be handled in accordance with the <ph name="PRIVACY_PAGE_LINK">$1</ph>.
      </message>
      <message name="IDS_SAFE_BROWSING_PHISHING_TITLE" desc="SafeBrowsing Phishing HTML title">
        Phishing Detected!
      </message>
      <message name="IDS_SAFE_BROWSING_PHISHING_HEADLINE" desc="SafeBrowsing Phishing HTML headline">
        Warning: Suspected phishing site!
      </message>
      <message name="IDS_SAFE_BROWSING_PHISHING_DESCRIPTION1" desc="SafeBrowsing Phishing HTML description, first line">
        The website at <ph name="HOST_NAME">&lt;strong&gt;$1<ex>www.malware.com</ex>&lt;/strong&gt;</ph> has been reported as a “phishing” site.  Phishing sites trick users into disclosing personal or financial information, often by pretending to represent trusted institutions, such as banks.
      </message>
      <message name="IDS_SAFE_BROWSING_PHISHING_DESCRIPTION2" desc="SafeBrowsing Phishing HTML description, second line, link to more information.">
        Learn more about phishing scams.
      </message>
      <message name="IDS_SAFE_BROWSING_PHISHING_DESCRIPTION3" desc="SafeBrowsing Phishing HTML description, last line">
        If you feel you understand the risks, you may <ph name="PROCEED_LINK">$1<ex>proceed anyway</ex></ph>.
      </message>
      <message name="IDS_SAFE_BROWSING_PHISHING_PROCEED_LINK" desc="SafeBrowsing Phishing HTML description, last line proceed link part.">
        proceed anyway
      </message>
      <message name="IDS_SAFE_BROWSING_PHISHING_BACK_BUTTON" desc="SafeBrowsing Phishing, back button">
        Go back
      </message>
      <message name="IDS_SAFE_BROWSING_PHISHING_REPORT_ERROR" desc="SafeBrowsing Phishing, report error link">
        Report an error
      </message>

      <message name="IDS_SAFE_BROWSING_MULTI_THREAT_TITLE" desc="SafeBrowsing Multi threat HTML title">
        Malware and phishing Detected!
      </message>
      <message name="IDS_SAFE_BROWSING_MULTI_THREAT_DESCRIPTION1" desc="SafeBrowsing multiple threat HTML description, first line">
        The website at <ph name="HOST_NAME">&lt;strong&gt;$1<ex>www.malware.com</ex>&lt;/strong&gt;</ph> contains elements from sites which appear to host malware – software that can hurt your computer or otherwise operate without your consent.  Just visiting a site that hosts malware can infect your computer. The website also hosts contents from sites that have been reported as a “phishing” sites.  Phishing sites trick users into disclosing personal or financial information, often by pretending to represent trusted institutions, such as banks.
      </message>
      <message name="IDS_SAFE_BROWSING_MULTI_THREAT_DESCRIPTION2" desc="SafeBrowsing multiple threat HTML description, second line">
        Below is a list of all the unsafe elements for the page. Click on the Diagnostic link for more information on the malware thread for a specific resource. If you know that a resource has been erroneously reported as phishing, click the 'Report error' link.
      </message>
      <message name="IDS_SAFE_BROWSING_MULTI_MALWARE_DESCRIPTION1" desc="SafeBrowsing Malware HTML description, first line for case of several malicious subresource">
        The website at <ph name="HOST_NAME">&lt;strong&gt;$1<ex>www.goodsite.com</ex>&lt;/strong&gt;</ph> contains elements from sites which appear to host malware – software that can hurt your computer or otherwise operate without your consent.  Just visiting a site that contains malware can infect your computer.
      </message>
      <message name="IDS_SAFE_BROWSING_MULTI_MALWARE_DESCRIPTION2" desc="SafeBrowsing Malware HTML description, second line for case of several malicious subresource">
        Below is a list of all the unsafe elements for the page. Click on the Diagnostic link for more information on the thread for a specific element.
      </message>
      <message name="IDS_SAFE_BROWSING_MULTI_MALWARE_DESCRIPTION3" desc="SafeBrowsing Malware HTML description, third line for case of several malicious subresource">
        Learn more about how to protect yourself from harmful software online.
      </message>
      <message name="IDS_SAFE_BROWSING_MULTI_PHISHING_DESCRIPTION1" desc="SafeBrowsing Phishing HTML description, first line for case of several malicious subresource">
        The website at <ph name="HOST_NAME">&lt;strong&gt;$1<ex>www.malware.com</ex>&lt;/strong&gt;</ph> contains elements from sites which have been reported as “phishing” sites.  Phishing sites trick users into disclosing personal or financial information, often by pretending to represent trusted institutions, such as banks.
      </message>
      <message name="IDS_SAFE_BROWSING_PHISHING_LABEL" desc="SafeBrowsing multiple threats, phishing label in the table showing the reported threats.">
        Phishing
      </message>
      <message name="IDS_SAFE_BROWSING_MALWARE_LABEL" desc="SafeBrowsing multiple threats, malware label in the table showing the reported threats.">
        Malware
      </message>
      <message name="IDS_SAFE_BROWSING_MULTI_MALWARE_DESCRIPTION_AGREE" desc="SafeBrowsing Malware, agree checkbox text">
        I understand that visiting this site may harm my computer.
      </message>
      <message name="IDS_SAFE_BROWSING_MULTI_MALWARE_PROCEED_BUTTON" desc="SafeBrowsing Malware, proceed button">
        Proceed anyway
      </message>

      <message name="IDS_PLUGININSTALLER_MISSINGPLUGIN_PROMPT" desc="Info Bar message to prompt installing missing plugin">
        An additional plug-in is required to display some elements on this page.
      </message>
      <message name="IDS_PLUGININSTALLER_INSTALLPLUGIN_BUTTON" desc="Info Bar button to install missing plugin">
        Install plug-in...
      </message>
      <message name="IDS_PLUGININSTALLER_PROBLEMSINSTALLING" desc="Infobar text for link to help center">
        Problems installing?
      </message>
      <message name="IDS_PLUGIN_OUTDATED_PROMPT" desc="Info Bar message when an outdated plugin was disabled">
        The <ph name="PLUGIN_NAME">$1<ex>Flash</ex></ph> plug-in was blocked because it is out of date.
      </message>
      <message name="IDS_PLUGIN_ENABLE_TEMPORARILY" desc="Info Bar button to run a blocked outdated plugin">
        Run this time
      </message>
      <message name="IDS_PLUGIN_ENABLE_ALWAYS" desc="Info Bar button to always run blocked plugins for this web site">
        Always run on this site
      </message>
      <message name="IDS_PLUGIN_CRASHED_PROMPT" desc="Info Bar message to notify about a crashed plugin">
        The following plug-in has crashed: <ph name="PLUGIN_NAME">$1<ex>Shockwave</ex></ph>
      </message>
      <message name="IDS_WEBWORKER_CRASHED_PROMPT" desc="Info Bar message to notify about a crashed WebWorker">
        A part of this page (HTML WebWorker) has crashed, so it might not function correctly.
      </message>

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

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

      <!-- External Protocol Dialog -->
      <message name="IDS_EXTERNAL_PROTOCOL_TITLE" desc="External Protocol Dialog Title">
        External Protocol Request
      </message>
      <if expr="not pp_ifdef('chromeos')">
        <message name="IDS_EXTERNAL_PROTOCOL_OK_BUTTON_TEXT" desc="Button in External Protocol Dialog that launches the application associated with the protocol">
          Launch Application
        </message>
        <message name="IDS_EXTERNAL_PROTOCOL_CANCEL_BUTTON_TEXT" desc="Button in External Protocol Dialog that cancels the application launch">
          Do Nothing
        </message>
        <message name="IDS_EXTERNAL_PROTOCOL_APPLICATION_TO_LAUNCH" desc="Information about the application being launched by the external protocol">
          The following application will be launched if you accept this request:\n\n <ph name="APPLICATION">$1<ex>C:\Program Files\Adobe\Reader 8.0\Reader\AcroRd32.exe /u "%1"</ex></ph>
        </message>
        <message name="IDS_EXTERNAL_PROTOCOL_WARNING" desc="Warn user about external protocols.">
          If you did not initiate this request, it may represent an attempted attack on your system. Unless you took an explicit action to initiate this request, you should press Do Nothing.
        </message>
        <message name="IDS_EXTERNAL_PROTOCOL_CHECKBOX_TEXT" desc="Checkbox to remember users decision.">
          Remember my choice for all links of this type.
        </message>
      </if>
      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_EXTERNAL_PROTOCOL_OK_BUTTON_TEXT" desc="Button in External Protocol Dialog that closes the dialog">
          Close
        </message>
        <message name="IDS_EXTERNAL_PROTOCOL_CHECKBOX_TEXT" desc="Checkbox to remember users decision.">
          Never show the dialog again for all links of this type.
        </message>
      </if>

      <!-- Strings used in local directory listings -->
      <message name="IDS_DIRECTORY_LISTING_HEADER" desc="When viewing a local directory, this is the title of the page.">
        Index of <ph name="LOCATION">LOCATION<ex>c:\Documents and Settings</ex></ph>
      </message>
      <message name="IDS_DIRECTORY_LISTING_PARENT" desc="When viewing a local directory, this is the text for a link to the parent directory.">
        [parent directory]
      </message>
      <message name="IDS_DIRECTORY_LISTING_NAME" desc="When viewing a local directory, this is the text for the column above the filenames.">
        Name
      </message>
      <message name="IDS_DIRECTORY_LISTING_SIZE" desc="When viewing a local directory, this is the text for the column above the file sizes.">
        Size
      </message>
      <message name="IDS_DIRECTORY_LISTING_DATE_MODIFIED" desc="When viewing a local directory, this is the text for the column above the last modified dates.">
        Date Modified
      </message>
      <message name="IDS_DIRECTORY_LISTING_PARSING_ERROR_BOX_TEXT" desc="Text to show in a box when we failed to parse FTP directory listing.">
        Oh, no! This server is sending data <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> can't understand. Please <ph name="BEGIN_LINK">&lt;a href="http://code.google.com/p/chromium/issues/entry"&gt;</ph>report a bug<ph name="END_LINK">&lt;/a&gt;</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.">
        Web Page, HTML Only
      </message>
      <message name="IDS_SAVE_PAGE_DESC_COMPLETE" desc="In the Save Page dialog, the description of saving both the HTML and all shown resources.">
        Web Page, Complete
      </message>
      <message name="IDS_SAVE_PAGE_STATUS_COMPLETED" desc="Save page status: completed">
        Completed
      </message>
      <message name="IDS_SAVE_PAGE_STATUS_CANCELED" desc="Save page status: canceled">
        Canceled
      </message>
      <message name="IDS_SAVE_PAGE_PROGRESS" desc="Text string for saving page progress, the number of saved files and total files">
        <ph name="SAVED_FILES">$1<ex>5</ex></ph> / <ph name="TOTAL_FILES">$2<ex>13</ex></ph> files
      </message>

      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_OPTIONS_PRIVACY_CONTENT_SETTINGS_BUTTON" desc="Text for content settings button in Privacy options">
          Content settings...
        </message>
        <message name="IDS_OPTIONS_PRIVACY_CLEAR_DATA_BUTTON" desc="Text for clear browsing data dialog in Privacy options">
          Clear browsing data...
        </message>
        <message name="IDS_OPTIONS_FONTSETTINGS_CUSTOMIZE_FONTS_BUTTON" desc="The label of the 'Customize fonts' button">
          Customize fonts...
        </message>
        <message name="IDS_OPTIONS_PROXIES_CONFIGURE_BUTTON" desc="The label of the 'Configure proxy settings' button">
          Change proxy settings...
        </message>
        <message name="IDS_OPTIONS_CERTIFICATES_MANAGE_BUTTON" desc="The label of the 'Manage Certificates' button">
          Manage certificates...
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_OPTIONS_PRIVACY_CONTENT_SETTINGS_BUTTON" desc="In Title Case: Text for content settings button in Privacy options">
          Content Settings...
        </message>
        <message name="IDS_OPTIONS_PRIVACY_CLEAR_DATA_BUTTON" desc="In Title Case: Text for clear browsing data dialog in Privacy options">
          Clear Browsing Data...
        </message>
        <message name="IDS_OPTIONS_FONTSETTINGS_CUSTOMIZE_FONTS_BUTTON" desc="In Title Case: The label of the 'Customize fonts' button">
          Customize Fonts...
        </message>
        <message name="IDS_OPTIONS_PROXIES_CONFIGURE_BUTTON" desc="In Title Case: The label of the 'Configure proxy settings' button">
          Change Proxy Settings...
        </message>
        <message name="IDS_OPTIONS_CERTIFICATES_MANAGE_BUTTON" desc="The label of the 'Manage Certificates' button">
          Manage Certificates...
        </message>
      </if>

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

      <message name="IDS_OPTIONS_SUGGEST_PREF" desc="The documentation string of the 'Use Suggest' preference">
        Use a prediction service to help complete searches and URLs typed in the address bar
      </message>

      <message name="IDS_OPTIONS_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_TABS_TO_LINKS_PREF" desc="The documentation string of the 'Tabs to Links' preference">
        Pressing Tab on a webpage highlights links, as well as form fields
      </message>

      <message name="IDS_OPTIONS_FONTSETTINGS_INFO" desc="Information text about font and language options for webpages">
        Change the default font and language for webpages.
      </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>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_OPTIONS_LANGUAGE_AND_SPELLCHECK_BUTTON" desc="Button title for invoking the 'Languages and Spell-checker' panel.">
          Languages and spell-checker settings...
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_OPTIONS_LANGUAGE_AND_SPELLCHECK_BUTTON" desc="Button title for invoking the 'Languages and Spell-checker' panel.">
          Languages and Spell-checker Settings...
        </message>
      </if>

      <message name="IDS_OPTIONS_ENABLE_SPELLCHECK" desc="The documentation string of the 'Enable spellcheck' option">
        Enable spell checking
      </message>
      <message name="IDS_OPTIONS_ENABLE_AUTO_SPELL_CORRECTION" desc="The documentation string of the 'Enable auto spell correction' option">
        Enable automatic spell correction
      </message>

      <!-- General app failure messages -->
      <message name="IDS_COULDNT_OPEN_PROFILE_ERROR" desc="Error displayed on startup when the profile can not be opened correctly due to problems reading or writing files in it">
        Your profile could not be opened correctly.\n\nSome features may be unavailable.  Please check that the profile exists and you have permission to read and write its contents.
      </message>
      <message name="IDS_REFUSE_TO_RUN_AS_ROOT" desc="Short error message in displayed in an error dialog on startup if the user tries to run chrome as root">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> can not be run as root.
      </message>
      <message name="IDS_REFUSE_TO_RUN_AS_ROOT_2" desc="Detailed message in the error dialog when the user tries to start chrome as root">
        Please start <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> as a normal user. To run as root, you must specify an alternate --user-data-dir for storage of profile information.
      </message>

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

      <!-- Advanced Section Titles -->
      <message name="IDS_OPTIONS_ADVANCED_SECTION_TITLE_PRIVACY">
        Privacy
      </message>
      <message name="IDS_OPTIONS_ADVANCED_SECTION_TITLE_CONTENT">
        Web Content
      </message>
      <message name="IDS_OPTIONS_ADVANCED_SECTION_TITLE_SECURITY">
        HTTPS/SSL
      </message>
      <message name="IDS_OPTIONS_ADVANCED_SECTION_TITLE_NETWORK">
        Network
      </message>
      <message name="IDS_OPTIONS_ADVANCED_SECTION_TITLE_TRANSLATE">
        Translate
      </message>
      <message name="IDS_OPTIONS_ADVANCED_SECTION_TITLE_CLOUD_PRINT">
        <ph name="CLOUD_PRINT_NAME">Google Cloud Print</ph>
      </message>
      <message name="IDS_OPTIONS_ADVANCED_SECTION_TITLE_BACKGROUND">
        Background Apps
      </message>

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

      <!-- File Browser -->
      <message name="IDS_FILE_BROWSER_ROOT_DIRECTORY_LABEL" desc="Root directory label.">
        Files
      </message>
      <message name="IDS_FILE_BROWSER_DOWNLOADS_DIRECTORY_LABEL" desc="/Downloads directory label.">
        File Shelf
      </message>
      <message name="IDS_FILE_BROWSER_ARCHIVE_DIRECTORY_LABEL" desc="/archive directory label.">
        Archives
      </message>
      <message name="IDS_FILE_BROWSER_REMOVABLE_DIRECTORY_LABEL" desc="/removable directory label.">
        External Storage
      </message>
      <message name="IDS_FILE_BROWSER_MEDIA_DIRECTORY_LABEL" desc="/media directory label.">
        External Storage
      </message>
      <message name="IDS_FILE_BROWSER_DOWNLOADS_DIRECTORY_WARNING" desc="Warning displayed to user when viewing downloads folder.">
	<ph name="BEGIN_BOLD">&lt;strong&gt;</ph>Caution:<ph name="END_BOLD">&lt;/strong&gt;</ph>  These files are temporary and may be automatically deleted to free up disk space.  <ph name="BEGIN_LINK">&lt;a href="$1"&gt;</ph>Learn More<ph name="END_LINK">&lt;/a&gt;</ph>
      </message>
      <message name="IDS_FILE_BROWSER_NAME_COLUMN_LABEL" desc="Name column label.">
        Name
      </message>
      <message name="IDS_FILE_BROWSER_SIZE_COLUMN_LABEL" desc="Size column label.">
        Size
      </message>
      <message name="IDS_FILE_BROWSER_DATE_COLUMN_LABEL" desc="Date column label.">
        Date
      </message>
      <message name="IDS_FILE_BROWSER_PREVIEW_COLUMN_LABEL" desc="Preview column label.">
        Preview
      </message>

      <message name="IDS_FILE_BROWSER_ERROR_CREATING_FOLDER" desc="Message displayed when we can't create a folder.">
        Unable to create folder "$1": $2
      </message>
      <message name="IDS_FILE_BROWSER_ERROR_INVALID_CHARACTER" desc="Error message displayed when the user enters an invalid character in a file or directory name.">
        Invalid character: $1
      </message>
      <message name="IDS_FILE_BROWSER_ERROR_RESERVED_NAME" desc="Error message displayed when the user enters a file name which is reserved.">
        This name may not be used as a file of folder name
      </message>
      <message name="IDS_FILE_BROWSER_ERROR_HIDDEN_NAME" desc="Error message displayed when the user tries to rename to or create a file started with dot.">
        Names starting with dot are reserved for the system. Please choose another name.
      </message>
      <message name="IDS_FILE_BROWSER_ERROR_WHITESPACE_NAME" desc="Error message displayed when the user enters a file name consisting of only whitespace characters.">
        Invalid name
      </message>
      <message name="IDS_FILE_BROWSER_NEW_FOLDER_PROMPT" desc="Prompt displayed in a message box when user trys to create a new folder.">
        Enter a name for the new folder
      </message>
      <message name="IDS_FILE_BROWSER_ERROR_NEW_FOLDER_EMPTY_NAME" desc="Warning displayed when user trys to enter empty name for the new folder.">
        Please specify a folder name
      </message>
      <message name="IDS_FILE_BROWSER_NEW_FOLDER_BUTTON_LABEL" desc="Label on the 'New folder' button.">
        New folder
      </message>
      <message name="IDS_FILE_BROWSER_FILENAME_LABEL" desc="Filename text area label.">
        File name
      </message>

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

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

      <message name="IDS_FILE_BROWSER_ARCHIVE_MOUNT_FAILED" desc="Title of the error dialog when file mount operation failed.">
        Unable to open open "$1": $2
      </message>
      <message name="IDS_FILE_BROWSER_MOUNT_ARCHIVE" desc="Title of the action for mounting an archive file to work with its contents.">
        Open archive
      </message>
      <message name="IDS_FILE_BROWSER_UNMOUNT_ARCHIVE" desc="Title of the action for unmounting the archive file.">
        Close archive
      </message>
      <message name="IDS_FILE_BROWSER_FORMAT_DEVICE" desc="Title of the action for formatting removable device.">
        Format device
      </message>

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

      <message name="IDS_FILE_BROWSER_ERROR_DELETING" desc="Error Message.">
        Unable to delete "$1": $2
      </message>
      <message name="IDS_FILE_BROWSER_DELETE_BUTTON_LABEL" desc="Button Label.">
        Delete
      </message>

      <message name="IDS_FILE_BROWSER_ERROR_MOVING" desc="Error Message.">
        Unable to move "$1": $2
      </message>
      <message name="IDS_FILE_BROWSER_MOVE_BUTTON_LABEL" desc="Button Label.">
        Move
      </message>

      <message name="IDS_FILE_BROWSER_ERROR_PASTING" desc="Error Message.">
        Unable to paste "$1": $2
      </message>
      <message name="IDS_FILE_BROWSER_PASTE_BUTTON_LABEL" desc="Button Label.">
        Paste
      </message>

      <message name="IDS_FILE_BROWSER_COPY_BUTTON_LABEL" desc="Button Label.">
        Copy
      </message>
      <message name="IDS_FILE_BROWSER_CUT_BUTTON_LABEL" desc="Button Label.">
        Cut
      </message>

      <message name="IDS_FILE_BROWSER_SELECTION_COPIED" desc="File picker status message.">
	Selection copied to clipboard.
      </message>
      <message name="IDS_FILE_BROWSER_SELECTION_CUT" desc="File picker status message.">
	Selection cut to clipboard.
      </message>
      <message name="IDS_FILE_BROWSER_PASTE_STARTED" desc="File picker status message.">
	Pasting...
      </message>
      <message name="IDS_FILE_BROWSER_PASTE_SOME_PROGRESS" desc="File picker status message.  'Item' is used here as a generic term for file or directory.">
	Pasting $1 of $2 items...
      </message>
      <message name="IDS_FILE_BROWSER_PASTE_COMPLETE" desc="File picker status message.">
	Paste complete.
      </message>
      <message name="IDS_FILE_BROWSER_PASTE_CANCELLED" desc="File picker status message.">
	Paste cancelled.
      </message>
      <message name="IDS_FILE_BROWSER_PASTE_TARGET_EXISTS_ERROR" desc="File picker status message.  'Item' is used here as a generic term for file or directory.">
	Paste failed, item exists: $1
      </message>
      <message name="IDS_FILE_BROWSER_PASTE_FILESYSTEM_ERROR" desc="File picker status message.">
	Paste failed, file system error: $1'
      </message>
      <message name="IDS_FILE_BROWSER_PASTE_UNEXPECTED_ERROR" desc="File picker status message.">
	Paste failed, unexpected error: $1
      </message>

      <message name="IDS_FILE_BROWSER_DEVICE_TYPE_FLASH" desc="Indication of mounted device type.">
        Flash Device
      </message>
      <message name="IDS_FILE_BROWSER_DEVICE_TYPE_HDD" desc="Indication of mounted device type.">
        Hard Disk Device
      </message>
      <message name="IDS_FILE_BROWSER_DEVICE_TYPE_OPTICAL" desc="Indication of mounted device type.">
        Optical Device
      </message>
      <message name="IDS_FILE_BROWSER_DEVICE_TYPE_UNDEFINED" desc="Indication of mounted device type.">
        Unknown Device
      </message>

      <message name="IDS_FILE_BROWSER_CANCEL_LABEL" desc="Cancel label.">
        Cancel
      </message>
      <message name="IDS_FILE_BROWSER_OPEN_LABEL" desc="Open label.">
        Open
      </message>
      <message name="IDS_FILE_BROWSER_SAVE_LABEL" desc="Save label.">
        Save
      </message>
      <message name="IDS_FILE_BROWSER_OK_LABEL" desc="Ok label.">
        Ok
      </message>

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

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

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

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

      <message name="IDS_FILE_BROWSER_COMPUTING_SELECTION" desc="Computing selection...">
        Computing selection...
      </message>
      <message name="IDS_FILE_BROWSER_NOTHING_SELECTED" desc="Nothing selected.">
        No files selected
      </message>
      <message name="IDS_FILE_BROWSER_ONE_FILE_SELECTED" desc="One file selected.">
        One file selected, $1
      </message>
      <message name="IDS_FILE_BROWSER_ONE_DIRECTORY_SELECTED" desc="One directory selected.">
        One directory selected
      </message>
      <message name="IDS_FILE_BROWSER_MANY_FILES_SELECTED" desc="Many files selected.">
        $1 files selected, $2
      </message>
      <message name="IDS_FILE_BROWSER_MANY_DIRECTORIES_SELECTED" desc="Many directories selected.">
        $1 directories selected
      </message>
      <message name="IDS_FILE_BROWSER_MANY_ENTRIES_SELECTED" desc="Many items (both files and directories) selected.">
        $1 items selected, $2
      </message>
      <message name="IDS_FILE_BROWSER_PLAYBACK_ERROR" desc="Error playing back.">
        Error playing back
      </message>
      <message name="IDS_FILE_BROWSER_ID3_ALBUM" desc="Album">
        Album
      </message>
      <message name="IDS_FILE_BROWSER_ID3_BPM" desc="BPM ">
        BPM
      </message>
      <message name="IDS_FILE_BROWSER_ID3_COMPOSER" desc="Composer">
        Composer
      </message>
      <message name="IDS_FILE_BROWSER_ID3_COPYRIGHT_MESSAGE" desc="Copyright message">
        Copyright message
      </message>
      <message name="IDS_FILE_BROWSER_ID3_DATE" desc="Date">
        Date
      </message>
      <message name="IDS_FILE_BROWSER_ID3_PLAYLIST_DELAY" desc="Playlist delay">
        Playlist delay
      </message>
      <message name="IDS_FILE_BROWSER_ID3_ENCODED_BY" desc="Encoded by">
        Encoded by
      </message>
      <message name="IDS_FILE_BROWSER_ID3_LYRICIST" desc="Lyricist">
        Lyricist
      </message>
      <message name="IDS_FILE_BROWSER_ID3_FILE_TYPE" desc="File type">
        File type
      </message>
      <message name="IDS_FILE_BROWSER_ID3_TIME" desc="Time">
        Time
      </message>
      <message name="IDS_FILE_BROWSER_ID3_TITLE" desc="Title">
        Title
      </message>
      <message name="IDS_FILE_BROWSER_ID3_LENGTH" desc="Length">
        Length
      </message>
      <message name="IDS_FILE_BROWSER_ID3_FILE_OWNER" desc="File owner">
        File owner
      </message>
      <message name="IDS_FILE_BROWSER_ID3_LEAD_PERFORMER" desc="Artist">
        Artist
      </message>
      <message name="IDS_FILE_BROWSER_ID3_BAND" desc="Band">
        Band
      </message>
      <message name="IDS_FILE_BROWSER_ID3_TRACK_NUMBER" desc="Track number">
        Track number
      </message>
      <message name="IDS_FILE_BROWSER_ID3_YEAR" desc="Year">
        Year
      </message>
      <message name="IDS_FILE_BROWSER_ID3_COPYRIGHT" desc="Copyright">
        Copyright
      </message>
      <message name="IDS_FILE_BROWSER_ID3_OFFICIAL_AUDIO_FILE_WEBPAGE" desc="Official audio file webpage">
        Official audio file webpage
      </message>
      <message name="IDS_FILE_BROWSER_ID3_OFFICIAL_ARTIST" desc="Official artist">
        Official artist
      </message>
      <message name="IDS_FILE_BROWSER_ID3_OFFICIAL_AUDIO_SOURCE_WEBPAGE" desc="Official audio source webpage">
        Official audio source webpage
      </message>
      <message name="IDS_FILE_BROWSER_ID3_PUBLISHERS_OFFICIAL_WEBPAGE" desc="Publishers official webpage">
        Publishers official webpage
      </message>
      <message name="IDS_FILE_BROWSER_ID3_USER_DEFINED_URL_LINK_FRAME" desc="User defined URL link frame">
        User defined URL link frame
      </message>

      <!-- Bookmark manager -->
      <message name="IDS_BOOKMARK_MANAGER_TITLE" desc="Title of the bookmark manager window.">
        Bookmark Manager
      </message>
      <message name="IDS_BOOKMARK_MANAGER_SEARCH_BUTTON" desc="Title of the button in the bookmark manager that triggers a search">
        Search bookmarks
      </message>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_BOOKMARK_MANAGER" desc="The label of the menu item that shows the bookmark manager">
          &amp;Bookmark manager
        </message>
        <message name="IDS_BOOKMARK_MANAGER_SHOW_IN_FOLDER" desc="The label of the menu item in the bookmark manager context menu that changes the selection in the tree to match the folder of the selected item in the table.">
          Show in folder
        </message>
        <message name="IDS_BOOKMARK_MANAGER_SORT" desc="The label of the menu item in the bookmark manager organize menu that alphabetizes the bookmarks/folders by title.">
          Reorder by title
        </message>
        <message name="IDS_BOOKMARK_MANAGER_ORGANIZE_MENU" desc="Title of the organize menu in the bookmark manager.">
          Organize
        </message>
        <message name="IDS_BOOKMARK_MANAGER_TOOLS_MENU" desc="Title of the tools menu in the bookmark manager.">
          Tools
        </message>
        <message name="IDS_BOOKMARK_MANAGER_IMPORT_MENU" desc="Title of the import menu item in the bookmark manager.">
          Import bookmarks from HTML file...
        </message>
        <message name="IDS_BOOKMARK_MANAGER_EXPORT_MENU" desc="Title of the export menu item in the bookmark manager.">
          Export bookmarks to HTML file...
        </message>
        <message name="IDS_BOOKMARK_MANAGER_NAME_INPUT_PLACE_HOLDER" desc="Text to show in the URL input field when editing or creating bookmarks.">
          Name
        </message>
        <message name="IDS_BOOKMARK_MANAGER_URL_INPUT_PLACE_HOLDER" desc="Text to show in the URL input field when editing or creating bookmarks.">
          URL
        </message>
        <message name="IDS_BOOKMARK_MANAGER_INVALID_URL" desc="Error message to display when the user tries to edit or create a bookmark with an invalud URL.">
          Invalid URL.
        </message>
        <message name="IDS_BOOKMARK_MANAGER_RECENT" desc="The label for the tree item that shows the recently added bookmarks.">
          Recent
        </message>
        <message name="IDS_BOOKMARK_MANAGER_SEARCH" desc="The label for the tree item that shows the search results for the bookmarks.">
          Search
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_BOOKMARK_MANAGER" desc="In Title Case: The label of the menu item that shows the bookmark manager">
          &amp;Bookmark Manager
        </message>
        <message name="IDS_BOOKMARK_MANAGER_SHOW_IN_FOLDER" desc="In Title Case: The label of the menu item in the bookmark manager context menu that changes the selection in the tree to match the folder of the selected item in the table.">
          Show in Folder
        </message>
        <message name="IDS_BOOKMARK_MANAGER_SORT" desc="In Title Case: The label of the menu item in the bookmark manager organize menu that alphabetizes the bookmarks/folders by title.">
          Reorder by Title
        </message>
        <message name="IDS_BOOKMARK_MANAGER_ORGANIZE_MENU" desc="In Title Case: Title of the organize menu in the bookmark manager.">
          Organize
        </message>
        <message name="IDS_BOOKMARK_MANAGER_TOOLS_MENU" desc="In Title Case: Title of the tools menu in the bookmark manager.">
          Tools
        </message>
        <message name="IDS_BOOKMARK_MANAGER_IMPORT_MENU" desc="In Title Case: Title of the import menu item in the bookmark manager.">
          Import Bookmarks from HTML file...
        </message>
        <message name="IDS_BOOKMARK_MANAGER_EXPORT_MENU" desc="In Title Case: Title of the export menu item in the bookmark manager.">
          Export Bookmarks to HTML file...
        </message>
        <message name="IDS_BOOKMARK_MANAGER_NAME_INPUT_PLACE_HOLDER" desc="In Title Case: Text to show in the URL input field when editing or creating bookmarks.">
          Name
        </message>
        <message name="IDS_BOOKMARK_MANAGER_URL_INPUT_PLACE_HOLDER" desc="In Title Case: Text to show in the URL input field when editing or creating bookmarks.">
          URL
        </message>
        <message name="IDS_BOOKMARK_MANAGER_INVALID_URL" desc="In Title Case: Error message to display when the user tries to edit or create a bookmark with an invalud URL.">
          Invalid URL.
        </message>
        <message name="IDS_BOOKMARK_MANAGER_RECENT" desc="In Title Case: The label for the tree item that shows the recently added bookmarks.">
          Recent
        </message>
        <message name="IDS_BOOKMARK_MANAGER_SEARCH" desc="In Title Case: The label for the tree item that shows the search results for the bookmarks.">
          Search
        </message>
      </if>
      <message name="IDS_BOOKMARKS_MENU" desc="The title of the bookmarks menu in the wrench menu and in the mac menu bar">
        &amp;Bookmarks
      </message>

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

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

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

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

      <message name="IDS_OMNIBOX_SEARCH_HINT_INFOBAR_TEXT" desc="The text displayed in the info-bar to tell users they can type their search queries directly in the location bar.">
        Did you know you can search directly from the box above?
      </message>
      <message name="IDS_OMNIBOX_SEARCH_HINT_INFOBAR_BUTTON_LABEL" desc="The label of the 'Show Me' button on the omnibox search hint infobar.">
        Show Me
      </message>
      <message name="IDS_OMNIBOX_SEARCH_HINT_OMNIBOX_TEXT" desc="The text displayed selected in the omnibox once the user clicked the 'Show Me' button on the omnibox search hint infobar.">
        Type your search query here
      </message>

      <!-- Sync strings -->

      <!-- Sync options dialog strings -->
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_SYNC_OPTIONS_GROUP_NAME" desc="The name of the sync group in the options dialog.">
          Sync
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_SYNC_OPTIONS_GROUP_NAME" desc="In Title Case: The name of the sync group in the options dialog.">
          Sync
        </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_SYNC_OPTIONS_SELECT_DATATYPES" desc="In sentence case: The select option that allows the user to select which datatypes to sync.">
          Choose what to sync
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_SYNC_OPTIONS_SELECT_DATATYPES" desc="In Title Case: The select option that allows the user to select which datatypes to sync.">
          Choose What to Sync
        </message>
      </if>
      <message name="IDS_SYNC_OPTIONS_SELECT_EVERYTHING" desc="The select option that selects all features to be synced.">
        Everything
      </message>
      <message name="IDS_SYNC_OVERVIEW" desc="The message that appears in the options dialog when sync has not been set up by the user.">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> securely syncs your data with your Google account.
      </message>
      <message name="IDS_SYNC_FURTHER_OVERVIEW" desc="The second message that appears in the options dialog when sync has not been set up by the user.">
        Keep everything synced or choose what data to sync from this computer.
      </message>
      <if expr="not pp_ifdef('use_titlecase')">
        <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.">
          Set up sync...
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_SYNC_START_SYNC_BUTTON_LABEL" desc="In Title Case. The label that appears on the sync button in the options dialog when sync has not been set up by the user.">
          Set Up Sync...
        </message>
      </if>
      <message name="IDS_SYNC_SETUP_ERROR" desc="The message displayed when an unspecified but unrecoverable error occurs during sync setup.">
        An error occurred while trying to set up sync.
      </message>
      <message name="IDS_SYNC_SETUP_ABORTED_BY_PENDING_CLEAR" desc="The error message displayed to the user when setup was aborted because the server reported that a pending clear private data operation is in progress">
        The sync server is busy, please try again later.
      </message>
      <message name="IDS_SYNC_ACCOUNT_SYNCED_TO_USER_WITH_TIME" desc="The message that appears in the options dialog indicating that account is synced to a user with the given email address. The last sync also appears in the message.">
        Synced to <ph name="USER_EMAIL_ADDRESS">$1<ex>foo@gmail.com</ex></ph>. Last synced: <ph name="LAST_SYNC_TIME">$2<ex>12 seconds ago</ex></ph>
      </message>
      <message name="IDS_SYNC_ACCOUNT_SYNCING_TO_USER" desc="The message that appears in the options dialog indicating that account is syncing to a user with the given email address.">
        Last synced to <ph name="USER_EMAIL_ADDRESS">$1<ex>foo@gmail.com</ex></ph>. Manage sync data on <ph name="BEGIN_LINK">&lt;a href="$2"&gt;</ph>Google Dashboard<ph name="END_LINK">&lt;/a&gt;.</ph>
      </message>
      <message name="IDS_SYNC_ACCOUNT_DETAILS_NOT_ENTERED" desc="The sync setup is underway and the user has not yet entered credentials.">
        Account sign-in details are not yet entered.
      </message>
      <message name="IDS_SYNC_AUTHENTICATING_LABEL" desc="Label to display while the user is being authenticated to use sync.">
        Authenticating...
      </message>
      <message name="IDS_SYNC_INVALID_USER_CREDENTIALS" desc="Error message to display when the user name or password entered by the user are invalid.">
        Invalid user name or password.
      </message>
      <message name="IDS_SYNC_GAIA_CAPTCHA_INSTRUCTIONS" desc="Explanatory message shown when the user must type letters shown in a captcha image to reauthenticate.">
        Enter the correct password above and then type the characters you see in the picture below.
      </message>
      <message name="IDS_SYNC_GAIA_CAPTCHA_CASE_INSENSITIVE_TIP" desc="Message shown below a GAIA captcha explaining that the letters typed are not case sensitive">
        Letters are not case sensitive
      </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_CONFIGURE_ENCRYPTION" desc="Link to configure sync encryption for passwords">
        Please update your sync passphrase.
      </message>
      <message name="IDS_SYNC_NEW_PASSWORD_SYNC" desc="Promotional message for password sync setup.">
        New! Configure password sync.
      </message>
      <message name="IDS_SYNC_PASSWORD_SYNC_ATTENTION" desc="Message indicating password sync needs attention.">
        Please update your sync passphrase.
      </message>

      <message name="IDS_SYNC_PLEASE_SIGN_IN" desc="An title for a sign in dialog.">
        Please sign in
      </message>
      <message name="IDS_SYNC_LOGIN_FOR_ENCRYPTION" desc="Explanation of login for the purpose of encryption.">
        <ph name="PRODUCT_NAME">$1<ex>Chrome</ex></ph> can now sync your passwords. To protect your data, you need to confirm your account information.
      </message>
      <message name="IDS_SYNC_PASSPHRASE_ENCRYPTION_MESSAGE" desc="Message explaining that passwords are encrypted.">
        For added security, <ph name="PRODUCT_NAME">$1<ex>Chrome</ex></ph> will encrypt your data.
      </message>
      <message name="IDS_SYNC_PASSPHRASE_OPT_GOOGLE" desc="Radio button label for using Google password.">
        Use my Google Account password
      </message>
      <message name="IDS_SYNC_PASSPHRASE_OPT_EXPLICIT" desc="Radio button label for using explicit passphrase.">
        Choose my own passphrase
      </message>
      <message name="IDS_SYNC_PASSPHRASE_OPT_CANCEL" desc="Radio button label for not syncing encrypted types.">
        Do not sync my passwords
      </message>
      <message name="IDS_SYNC_PASSPHRASE_MSG_GOOGLE" desc="Message when Google password is selected.">
        You have chosen to encrypt data using your Google password; you can always change your mind later by changing your sync settings.
      </message>
      <message name="IDS_SYNC_PASSPHRASE_MSG_EXPLICIT" 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 reset sync.
      </message>
      <message name="IDS_SYNC_PASSPHRASE_MSG_EXPLICIT_PREFIX" desc="Message when explicit passphrase is selected.">
        Only someone with your passphrase can read your encrypted data -- the passphrase is not sent to or stored by Google. If you forget your passphrase, you will need to
      </message>
      <message name="IDS_SYNC_PASSPHRASE_MSG_EXPLICIT_POSTFIX" desc="Postfix of the message show when explicit passphrase is selected.">
        reset sync
      </message>
      <message name="IDS_SYNC_PASSPHRASE_MSG_CANCEL" desc="Message when not syncing passwords is selected.">
        You have chosen not to sync passwords; you can always change your mind later by changing your sync settings.
      </message>
      <message name="IDS_SYNC_LOGIN_INFO_OUT_OF_DATE" desc="The login information for the user is out of date - for example, the user changed their password and therefore signing in again is required.">
        Account sign-in details are out of date.
      </message>
      <message name="IDS_SYNC_SERVER_IS_UNREACHABLE" desc="The message to display in the New Tab Page sync section when the server is unreachable.">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> could not sync your data because it could not connect to the sync server. Retrying...
      </message>
      <message name="IDS_SYNC_RELOGIN_LINK_LABEL" desc="The text to display on in the hyperlink when the user needs to sign in again to use sync.">
        Sign in again
      </message>
      <message name="IDS_SYNC_PRIVACY_DASHBOARD_LINK_LABEL" desc="The label on a link that brings users to the Google Privacy Dashboard to control sync">
        Remove synced data on Google Dashboard
      </message>
      <message name="IDS_SYNC_CUSTOMIZE_BUTTON_LABEL" desc="The text to display on the button to customize which data types the user is syncing.">
        Customize...
      </message>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_SYNC_STOP_SYNCING_BUTTON_LABEL" desc="The text to display on the button to indicate stop syncing functionality.">
          Stop syncing this account...
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_SYNC_STOP_SYNCING_BUTTON_LABEL" desc="In title case: the text to display on the button to indicate stop syncing functionality.">
          Stop Syncing This Account...
        </message>
      </if>
      <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.">
        Stop syncing
      </message>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_SYNC_STOP_SYNCING_DIALOG_TITLE" desc="The title of the dialog that explains what 'stop syncing' means.">
          Stop syncing this account
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_SYNC_STOP_SYNCING_DIALOG_TITLE" desc="In title case: the title of the dialog that explains what 'stop syncing' means.">
          Stop Syncing This Account
        </message>
      </if>
      <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.">
        If you stop syncing, the data stored on this computer as well as the data stored in your Google Account will remain in both places. However, new data or changes you make to your data will not be synchronized between them.
      </message>
      <!-- Sync time strings -->
      <message name="IDS_SYNC_TIME_NEVER" desc="Indicates that the first sync has never completed.">
        Never
      </message>
      <message name="IDS_SYNC_TIME_JUST_NOW" desc="Indicates that a sync cycle just finished.">
        Just now
      </message>
      <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 options
      </message>
      <message name="IDS_SYNC_ADDED_SESSIONS_AND_TYPED_URLS" desc="The text in the new tab page notifying the user that we've enabled session and typed url sync.">
        New! Chrome is now syncing your Omnibox History and Foreign Sessions.
      </message>
      <message name="IDS_SYNC_ADDED_SESSIONS" desc="The text in the new tab page notifying the user that we've enabled session sync.">
        New! Chrome is now syncing your Foreign Sessions.
      </message>
      <message name="IDS_SYNC_ADDED_TYPED_URLS" desc="The text in the new tab page notifying the user that we've enabled typed url sync.">
        New! Chrome is now syncing your Omnibox History.
      </message>

      <!-- Sync / Extension interaction messages -->
      <message name="IDS_SYNC_EXTENSIONS_MALFUNCTION_DISABLE_SYNC_OPTION" desc="The label of a button allowing the user to choose to disable sync when an extension is believed to be causing sync problems preventing sync operation.">
        Disable Sync
      </message>
      <message name="IDS_SYNC_EXTENSIONS_MALFUNCTION_EXTENSION_DISABLED" desc="A message shown on a dialog when an extension or app has been disabled due to problems arising from interactions with sync.">
        <ph name="NAME_OF_EXTENSION">$1<ex>foo extension</ex></ph> has been disabled. If you stop syncing your bookmarks, you can re-enable it on the extensions page, accessible through the Tools menu.
      </message>

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

      <!-- Customize Sync dialog -->
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_SYNC_SETUP_CONFIGURE_TITLE" desc="The title of the Customize page of the sync setup dialog.">
          Customize sync preferences
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_SYNC_SETUP_CONFIGURE_TITLE" desc="In title case: the title of the Customize page of the sync setup dialog.">
          Customize Sync Preferences
        </message>
      </if>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_SYNC_CONFIRM_SYNC_PREFERENCES" desc="The title of the 'Confirm Sync Preferences' page of the customize sync dialog.">
          Confirm sync preferences
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_SYNC_CONFIRM_SYNC_PREFERENCES" desc="In title case: The title of the 'Confirm Sync Preferences' page of the customize sync dialog.">
          Confirm Sync Preferences
        </message>
      </if>
      <message name="IDS_SYNC_SYNC_EVERYTHING" desc="The text of the OK button of the 'Confirm Sync Preferences' page of the customize sync dialog.">
        OK, sync everything
      </message>

      <!-- Choose data types dialog strings -->
      <message name="IDS_CUSTOMIZE_SYNC_DESCRIPTION" desc="The first line of the Customize Sync dialog, explaining what this box does.">
        Sync the following items automatically:
      </message>
      <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 options.
      </message>
      <message name="IDS_SYNC_EVERYTHING" desc="A radio button for users who want to sync all data types.">
        Sync everything
      </message>
      <message name="IDS_SYNC_CHOOSE_DATATYPES" desc="A radio button for users who want to select some datatypes to sync">
        Choose what to sync
      </message>
      <message name="IDS_SYNC_ZERO_DATA_TYPES_ERROR" desc="Error message if you try to sync, but uncheck all the data type choices.">
        You must select at least one data type to sync.
      </message>
      <message name="IDS_SYNC_DATATYPE_BOOKMARKS" desc="Bookmarks, one of the data types that we allow syncing.">
        Bookmarks
      </message>
      <message name="IDS_SYNC_DATATYPE_PREFERENCES" desc="Preferences, one of the data types that we allow syncing.">
        Preferences
      </message>
      <message name="IDS_SYNC_DATATYPE_AUTOFILL" desc="Form Autofill items, one of the data types that we allow syncing.">
        Autofill
      </message>
      <message name="IDS_SYNC_DATATYPE_THEMES" desc="Themes, one of the data types that we allow syncing.">
        Themes
      </message>
      <message name="IDS_SYNC_DATATYPE_EXTENSIONS" desc="Extensions, one of the data types that we allow syncing.">
        Extensions
      </message>
      <message name="IDS_SYNC_DATATYPE_PASSWORDS" desc="Saved passwords, one of the data types that we allow syncing.">
        Passwords
      </message>
      <message name="IDS_SYNC_DATATYPE_TYPED_URLS" desc="Typed URLs, one of the data types that we allow syncing.">
        Omnibox History
      </message>
      <message name="IDS_SYNC_DATATYPE_APPS" desc="Apps, one of the data types that we allow syncing.">
        Apps
      </message>
      <message name="IDS_SYNC_DATATYPE_SEARCH_ENGINES" desc="Search Engines, one of the data types that we allow syncing.">
        Search Engines
      </message>
      <message name="IDS_SYNC_DATATYPE_SESSIONS" desc="Sessions, one of the data types that we allow syncing.">
        Foreign Sessions
      </message>

      <!-- Encryption tab of the configure sync dialog -->
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_SYNC_ENCRYPTION_DATA_TYPES_TITLE" desc="Title of the section containing the data types to encrypt.">
          Encrypted data types
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_SYNC_ENCRYPTION_DATA_TYPES_TITLE" desc="In title case: the title of the section containing the data types to encrypt.">
          Encrypted Data Types
        </message>
      </if>
      <message name="IDS_SYNC_ENCRYPT_SENSITIVE_DATA" desc="Text of the radio that when selected causes sync to encrypt sensitive data.">
        Encrypt passwords
      </message>
      <message name="IDS_SYNC_ENCRYPT_ALL_DATA" desc="Text of the radio that when selected causes sync to encrypt all data.">
        Encrypt all synced data
      </message>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_SYNC_PASSPHRASE_SECTION_TITLE" desc="Title of the section containing sync passphrase preferences.">
          Encryption passphrase
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_SYNC_PASSPHRASE_SECTION_TITLE" desc="In title case: the title of the section containing sync passphrase preferences.">
          Encryption Passphrase
        </message>
      </if>
      <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_ENCRYPT_ALL_LABEL" desc="Label for the checkbox that enables encryption of everything.">
        Encrypt all my data
      </message>
      <message name="IDS_SYNC_PASSPHRASE_CHECKBOX_LABEL" desc="Label for the checkbox that enables a passphrase for sync.">
        Use a sync passphrase to encrypt my data
      </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_STATUS_NOT_CONNECTED" desc="Status shown in the new tab page when the user is not signed into sync">
        not signed in
      </message>
      <message name="IDS_SYNC_STATUS_CONNECTED" desc="Status shown in the new tab page when the user is signed into sync">
        Signed in to <ph name="PRODUCT_NAME">$1<ex>Chrome</ex></ph> as <ph name="USER_NAME">$2<ex>pat@example.com</ex></ph>
      </message>

      <!-- Passphrase dialog strings -->
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_SYNC_ENTER_PASSPHRASE_TITLE" desc="Title for the dialog where the user enters the passphrase.">
          Enter your sync passphrase
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_SYNC_ENTER_PASSPHRASE_TITLE" desc="In title case: title for the dialog where the user enters the passphrase.">
          Enter Your Sync Passphrase
        </message>
      </if>
      <message name="IDS_SYNC_ENTER_PASSPHRASE_BODY" desc="Instructions for the dialog where the user enters the passphrase.">
        You already have data that is encrypted with a passphrase. Please enter it below.
      </message>
      <message name="IDS_SYNC_ENTER_OTHER_PASSPHRASE_BODY" desc="Instructions for the dialog where the user needs to enter a different passphrase.">
        The passphrase you entered can't be used because you already have data encrypted with a passphrase. Please enter your existing sync passphrase below.
      </message>
      <message name="IDS_SYNC_PASSPHRASE_LABEL" desc="Label for the passphrase field.">
        Passphrase
      </message>
      <message name="IDS_SYNC_CONFIRM_PASSPHRASE_LABEL" desc="Label for the confirm-passphrase field.">
        Confirm passphrase
      </message>
      <message name="IDS_SYNC_EMPTY_PASSPHRASE_ERROR" desc="Error message when the passphrase is empty.">
        Empty passphrase is not allowed.
      </message>
      <message name="IDS_SYNC_PASSPHRASE_MISMATCH_ERROR" desc="Error message when the passphrase and confirmation don't match.">
        You must enter the same passphrase twice.
      </message>
      <message name="IDS_SYNC_INCORRECT_PASSPHRASE" desc="Message when the passphrase is incorrect.">
        The passphrase you entered is incorrect.
      </message>
      <message name="IDS_SYNC_PASSPHRASE_RECOVER" desc="Message about how to recover from a lost passphrase.">
        If you've forgotten your passphrase, stop and reset Sync via <ph name="BEGIN_LINK">&lt;a href="$1" target=&quot;_blank&quot;&gt;</ph>Google Dashboard<ph name="END_LINK">&lt;/a&gt;</ph>.
      </message>

      <message name="IDS_SYNC_PASSPHRASE_CANCEL_WARNING_HEADER" desc="Header for the passphrase cancel warning.  Should be phrased as a yes-or-no question.">
        Skip syncing encrypted data?
      </message>
      <message name="IDS_SYNC_PASSPHRASE_CANCEL_WARNING" desc="Warning message when the passphrase entry is canceled.">
        Without a passphrase, your passwords and other encrypted data will not be synced on this computer.
      </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_LOGIN_INTRODUCTION" desc="The message to display at the top of the login dialog">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> sync makes it easy to share your data (such as bookmarks and preferences) between your computers.
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> synchronizes your data by storing it online with Google when you sign in with your Google Account.
      </message>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_SYNC_SETUP_TITLE" desc="The title of the Sync Setup overlay.">
          Sign in with your Google Account
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_SYNC_SETUP_TITLE" desc="In title case: The title of the Sync Setup overlay.">
          Sign In With Your Google Account
        </message>
      </if>
      <message name="IDS_SYNC_LOGIN_SIGNIN_PREFIX" desc="The first part of the sentence that is displayed after the login info">
        Sign in with your
      </message>
      <message name="IDS_SYNC_LOGIN_SIGNIN_SUFFIX" desc="The second part of the sentence. Google will be replaced by the Google logo. The translation of 'Account' will be display in bold">
        Google Account
      </message>
      <message name="IDS_SYNC_LOGIN_EMAIL" desc="The user Email address of the Google account">
        Email:
      </message>
      <message name="IDS_SYNC_LOGIN_PASSWORD" desc="The user password of the Google account">
        Password:
      </message>
      <message name="IDS_SYNC_SIGNIN" desc="The label of the button to log to your Google account">
        Sign in
      </message>
      <message name="IDS_SYNC_CANNOT_ACCESS_ACCOUNT" desc="The text of a hyperlink">
        I cannot access my account
      </message>
      <message name="IDS_SYNC_CREATE_ACCOUNT" desc="The text of a hyperlink to create a Google account">
        Create a Google account
      </message>
      <message name="IDS_SYNC_CANNOT_BE_BLANK" desc="The input error message when the user hasn't entered a username or password">
        Required field cannot be left blank
      </message>
      <message name="IDS_SYNC_LOGIN_COULD_NOT_CONNECT" desc="The connect error message">
        Could not connect to the server
      </message>
      <message name="IDS_SYNC_LOGIN_SETTING_UP_SYNC" desc="For the connect error message">
        Setting up sync
      </message>
      <message name="IDS_SYNC_LOGIN_SETTING_UP" desc="A progress message">
        Setting up...
      </message>
      <message name="IDS_SYNC_SUCCESS" desc="Operation successful">
        Success!
      </message>
      <message name="IDS_SYNC_LOGIN_ACCOUNT_MISMATCH" desc="A warning message shown at sync login when the user is signed in to the web store already.">
        Your web store account is <ph name="EMAIL_ADDRESS">$1<ex>user@gmail.com</ex></ph> - signing in to sync with a different account will result in incompatibilities.
      </message>
      <message name="IDS_SYNC_ENTER_ACCESS_CODE_LABEL" desc="A message asking the user to enter an application-specific password (aka access code).">
        Enter your application-specific password:
      </message>
      <message name="IDS_SYNC_ACCESS_CODE_HELP_LABEL" desc="A help link message for users who don't know what an application-specific password (aka access code) is">
        What's this?
      </message>
      <message name="IDS_SYNC_INVALID_ACCESS_CODE_LABEL" desc="A message telling the user the application-specific password (aka access code) they entered is invalid.">
        Invalid application-specific password.
      </message>
      <message name="IDS_SYNC_SERVICE_UNAVAILABLE" desc="Error message to display when the user domain entered by the user has sync disabled.">
        Sync service is not available for your domain.
      </message>

      <!-- Web Store login dialog strings -->
      <message name="IDS_WEB_STORE_LOGIN_INTRODUCTION_1" desc="The first message to display in the Web Store login dialog.">
        To use the Chrome Web Store, you must sign in with a Google Account.
      </message>
      <message name="IDS_WEB_STORE_LOGIN_INTRODUCTION_2" desc="The second message to display in the Web Store login dialog.">
        <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will sync any apps you install, so you will be able to access them from any <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> browser you sign in to.
      </message>

      <!-- Sync app menu item strings -->
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_SYNC_MENU_SYNCED_LABEL" desc="The text for the sync app menu item when bookmark sync has been enabled">
          Synced...
        </message>
        <message name="IDS_SYNC_MENU_SYNC_ERROR_LABEL" desc="The text for the sync app menu item when a bookmark sync error has occured">
          Sync error...
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_SYNC_MENU_SYNCED_LABEL" desc="In Title Case: The text for the sync app menu item when bookmark sync has been enabled">
          Synced...
        </message>
        <message name="IDS_SYNC_MENU_SYNC_ERROR_LABEL" desc="In Title Case: The text for the sync app menu item when a bookmark sync error has occured">
          Sync Error...
        </message>
      </if>

      <!-- Success dialog strings -->
      <message name="IDS_SYNC_SETUP_OK_BUTTON_LABEL" desc="The button label on the 'OK' button displayed at the end of sync setup.">
        OK
      </message>
      <!-- Bookmarks bar strings -->
      <message name="IDS_SYNC_BOOKMARK_BAR_ERROR" desc="The text to display on the bookmark bar button which indicates a sync error.">
        Sync Error
      </message>
      <message name="IDS_SYNC_BOOKMARK_BAR_ERROR_DESC" desc="The detailed description of the error to associate with the bookmark bar error button.">
        Please update your sync passphrase.
      </message>

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

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

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


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

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

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

        <!-- Menubar Menu Titles -->
        <message name="IDS_FILE_MENU_LINUX" desc="The menu title of the Linux file menu.">
          &amp;File
        </message>
        <message name="IDS_EDIT_MENU_LINUX" desc="The menu title of the Linux edit menu.">
          &amp;Edit
        </message>
        <message name="IDS_VIEW_MENU_LINUX" desc="The menu title of the Linux view menu.">
          &amp;View
        </message>
        <message name="IDS_HISTORY_MENU_LINUX" desc="The menu title of the Linux history menu.">
          Hi&amp;story
        </message>
        <message name="IDS_BOOKMARKS_MENU_LINUX" desc="The menu title of the Linux bookmarks menu.">
          &amp;Bookmarks
        </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>

        <!-- Bookmarks menu -->
        <message name="IDS_BOOKMARK_CURRENT_PAGE_LINUX" desc="The Linux menu item for bookmarking the current page in the bookmark menu.">
          Bookmark This Page...
        </message>
        <message name="IDS_BOOKMARK_ALL_TABS_LINUX" desc="The Linux menu item for bookmarking all tabs in the current window.">
          Bookmark All Tabs...
        </message>
      </if>

    <!-- File chooser dialog default titles (only used on Linux) -->
    <message name="IDS_SELECT_FOLDER_DIALOG_TITLE" desc="The default title for the Select Folder file chooser dialog.">
      Select Folder
    </message>
    <message name="IDS_SAVE_AS_DIALOG_TITLE" desc="The default title for the Save As file chooser dialog.">
      Save File
    </message>
    <message name="IDS_OPEN_FILE_DIALOG_TITLE" desc="The default title for the Open File file chooser dialog (single file).">
      Open File
    </message>
    <message name="IDS_OPEN_FILES_DIALOG_TITLE" desc="The default title for the Open File file chooser dialog (multiple files).">
      Open Files
    </message>

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

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

    <!-- Theme UI -->
    <message name="IDS_THEME_LOADING_TITLE" desc="The text to be displayed in a window while a theme is loading.">
      Loading...
    </message>

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

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

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

    <!-- File Selection Dialog Policy - Infobar -->
    <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>

    <!-- Filebrowser Strings -->
    <message name="IDS_FILEBROWSER_TITLE" desc="Title of the filebrowser">
      Content Browser
    </message>
    <message name="IDS_FILEBROWSER_PAUSE" desc="Action which allows the user to pause a current download">
      pause
    </message>
    <message name="IDS_FILEBROWSER_RESUME" desc="Action which allows the user to resume a paused download">
      resume
    </message>
    <message name="IDS_FILEBROWSER_SCANNING" desc="Notification to the user that we have detected a device and are now mounting it">
      Scanning Device...
    </message>
    <message name="IDS_FILEBROWSER_CONFIRM_YES" desc="Confirm yes to a previous question.">
      Yes
    </message>
    <message name="IDS_FILEBROWSER_CONFIRM_CANCEL" desc="Cancel a previous question.">
      Cancel
    </message>
    <message name="IDS_FILEBROWSER_CONFIRM_DOWNLOAD" desc="Used to download a dangerous file.">
      Allow Download?
    </message>
    <message name="IDS_FILEBROWSER_PROMPT_FILENAME" desc="Prompts the user for a filename.">
      File name:
    </message>
    <message name="IDS_FILEBROWSER_SAVE" desc="Save button text">
      Save
    </message>
    <message name="IDS_FILEBROWSER_NEW_FOLDER" desc="New Folder Button">
      New Folder
    </message>
    <message name="IDS_FILEBROWSER_OPEN" desc="Open Button text">
      Open
    </message>
    <message name="IDS_FILEBROWSER_UPLOAD_EMAIL" desc="Upload to email menu item">
      Email
    </message>
    <message name="IDS_FILEBROWSER_DELETE" desc="Delete file menu item">
      Delete
    </message>
    <message name="IDS_FILEBROWSER_ENQUEUE" desc="Enqueue file menu item used for media playback">
      Enqueue
    </message>
    <message name="IDS_FILEBROWSER_ERROR_TITLE" desc="Title text of an error message prompt.">
      Error
    </message>
    <message name="IDS_FILEBROWSER_ERROR_UNKNOWN_FILE_TYPE" desc="Error message when user attempts to open a file of unknown type in file browser.">
      <ph name="FILENAME">$1</ph> - Unknown file type.
    </message>
    <message name="IDS_FILEBROWSER_SHOW_ALL_DOWNLOADS"
             desc="Link label shown at the bottom of the downloads panel">
      Show all downloads
    </message>

    <!-- Imageburn Strings -->
    <if expr="pp_ifdef('chromeos')">
      <message name="IDS_CHECKING_FOR_UPDATES" desc="Notification for checking for update">
        Checking for updates...
      </message>
      <message name="IDS_IMAGEBURN_HEADER_TITLE" desc="Title that is displayed on image burning webpage ">
        Create OS Recovery Media
      </message>
      <message name="IDS_IMAGEBURN_HEADER_DESCRIPTION" desc="Text diplayed under image burning page title">
        If you ever need to restore your computer's operating system you'll need a recovery SD card or USB memory stick.
      </message>
      <message name="IDS_IMAGEBURN_HEADER_LINK" desc="Link to more info on system recovery">
        Learn more about system recovery
      </message>
      <message name="IDS_IMAGEBURN_NO_DEVICES_STATUS" desc="Message telling user to insert removable media image will be burnt to">
        Insert an SD card or USB memory stick
      </message>
      <message name="IDS_IMAGEBURN_NO_DEVICES_WARNING" desc="Warning that device must be at least 4GB big">
        The device must have capacity of 4GB or greater.
      </message>
      <message name="IDS_IMAGEBURN_MUL_DEVICES_STATUS" desc="Message telling user to select storage device to use for burning">
        Select a removable storage device to use
      </message>
      <message name="IDS_IMAGEBURN_USB_DEVICE_STATUS" desc="Message telling user that an USB memory stick has been detected">
        USB memory stick detected
      </message>
      <message name="IDS_IMAGEBURN_SD_DEVICE_STATUS" desc="Message telling user that a SD card has been detected">
        SD card detected
      </message>
      <message name="IDS_IMAGEBURN_DEVICES_WARNING" desc="Warning that data on selected device will be erased">
        All files on <ph name="DEVICE_NAME">$1<ex>Kingston DataTraveler</ex></ph> will be erased.
      </message>
      <message name="IDS_IMAGEBURN_NO_CONNECTION_STATUS" desc="Message telling user that the device is not connected to the Internet">
        Internet not connected
      </message>
      <message name="IDS_IMAGEBURN_NO_CONNECTION_WARNING" desc="Message instructing user to connect to the Internet">
        Please connect to the Internet to proceed.
      </message>
      <message name="IDS_IMAGEBURN_INSUFFICIENT_SPACE_STATUS" desc="Message telling user that removable device has insufficient space">
        Insufficient space
      </message>
      <message name="IDS_IMAGEBURN_INSUFFICIENT_SPACE_WARNING" desc="Message instructing user to insert device with enough capacity">
        The storage device has a capacity of <ph name="DEVICE_CAPACITY">$1<ex>1MB</ex></ph>. Please insert a SD card or USB memory stick with at least 4GB of capacity.
      </message>
      <message name="IDS_IMAGEBURN_DOWNLOADING_STATUS" desc="Message telling user that the image is being downloaded">
        Downloading recovery image...
      </message>
      <message name="IDS_IMAGEBURN_DOWNLOAD_PROGRESS_TEXT" desc="Information on downloaded amount">
        <ph name="DOWNLOADED_AMOUNT">$1<ex>40kB</ex></ph> of <ph name="TOTAL_SIZE">$2<ex>250kB</ex></ph> downloaded
      </message>
      <message name="IDS_IMAGEBURN_DOWNLOAD_TIME_REMAINING" desc="Expected remaining time of the download">
        Time remaining: <ph name="TIME_REMAINING">$1<ex>5s</ex></ph>
      </message>
      <message name="IDS_IMAGEBURN_UNZIP_STATUS" desc="Message telling user that the image is being extracted">
        Extracting recovery image...
      </message>
      <message name="IDS_IMAGEBURN_BURN_STATUS" desc="Message telling user that the image is being copied">
        Copying recovery image...
      </message>
      <message name="IDS_IMAGEBURN_BURN_PROGRESS_TEXT" desc="Information on burned amount">
        <ph name="BURNT_AMOUNT">$1<ex>40kB</ex></ph> of <ph name="TOTAL_SIZE">$2<ex>250kB</ex></ph> copied
      </message>
      <message name="IDS_IMAGEBURN_PROGRESS_TIME_UNKNOWN" desc="Message telling user that a tast could take few minutes">
        This may take a few minutes
      </message>
      <message name="IDS_IMAGEBURN_ERROR_STATUS" desc="Message telling user that an error occured">
        An error occurred
      </message>
      <message name="IDS_IMAGEBURN_DOWNLOAD_ERROR" desc="Message telling user that an error occured during download">
        There was a problem during recovery image download.
      </message>
      <message name="IDS_IMAGEBURN_EXTRACTING_ERROR" desc="Message telling user that downloaded zip could not be extracted">
        There was a problem extracting image to the machine.
      </message>
      <message name="IDS_IMAGEBURN_BURN_ERROR" desc="Message telling user that something went wrong while burning the image to the device">
        There was a problem during copying recovery image to device.
      </message>
      <message name="IDS_IMAGEBURN_DEVICE_NOT_FOUND_ERROR" desc="Message telling user that targetd device could not be found">
        There was a problem while creating OS recovery media. Used storage device could not be found.
      </message>
      <message name="IDS_IMAGEBURN_USER_ERROR" desc="Message shown when user cancels burn process">
        OS Recovery Media creation has been cancelled.
      </message>
      <message name="IDS_IMAGEBURN_NETWORK_ERROR" desc="Message shown when we loose network connectivity during download">
        There was a problem during recovery image download. Network connection has been lost.
      </message>
      <message name="IDS_IMAGEBURN_SUCCESS_STATUS" desc="Message telling user that image burning was successful">
        Success
      </message>
      <message name="IDS_IMAGEBURN_SUCCESS_DESC" desc="Message teling user that recovery media is ready to be used">
        Your recovery media is ready. You may remove it from your system.
      </message>
      <message name="IDS_IMAGEBURN_PAGE_TITLE" desc="Image-burn html page title">
        Create a Recovery Media
      </message>
      <message name="IDS_IMAGEBURN_CONFIRM_BUTTON" desc="Text on the button that starts burn process">
        OK
      </message>
      <message name="IDS_IMAGEBURN_CANCEL_BUTTON" desc="Text on the button that cancels download">
        Cancel
      </message>
      <message name="IDS_IMAGEBURN_RETRY_BUTTON" desc="Text on the button that triggers burn restart">
        Try again
      </message>
    </if>
    <!-- Chrome OS Strings -->
    <if expr="pp_ifdef('chromeos')">
      <message name="IDS_NETWORK_PURCHASE_MORE_MESSAGE" desc="Message for purchase more link on notification when there is no cellular plan">
        Buy plan...
      </message>
      <message name="IDS_NETWORK_MORE_INFO_MESSAGE" desc="Message for more info link on cellular plan low data notification">
        More info...
      </message>
      <message name="IDS_NETWORK_LOW_DATA_TITLE" desc="Title for network low data notification">
        Low <ph name="network">$1<ex>YBH</ex></ph> data
      </message>
      <message name="IDS_NETWORK_OUT_OF_DATA_TITLE" desc="Title for network out of data notification">
        Out of <ph name="network">$1<ex>YBH</ex></ph> data
      </message>
      <message name="IDS_NETWORK_DATA_REMAINING_MESSAGE" desc="Message for network data remaining notification">
        <ph name="megabytes">$1<ex>50</ex></ph> MB remaining
      </message>
      <message name="IDS_NETWORK_DATA_MB_AVAILABLE_MESSAGE" desc="Message for network data available menu item in megabytes">
        <ph name="megabytes">$1<ex>50</ex></ph> MB available
      </message>
      <message name="IDS_NETWORK_DATA_LESS_THAN_ONE_MB_AVAILABLE_MESSAGE" desc="Message for network data available menu item when less than 1 MB available">
        Less than 1 MB available
      </message>
      <message name="IDS_NETWORK_DATA_NONE_AVAILABLE_MESSAGE" desc="Message for network data available menu item when none available">
        No data available
      </message>
      <message name="IDS_NETWORK_NO_DATA_PLAN_MESSAGE" desc="Message for network data remaining notification">
        You are out of mobile data. Purchase another plan to use <ph name="network">$1<ex>YBH</ex></ph>.
      </message>
      <message name="IDS_NETWORK_NEARING_EXPIRATION_TITLE" desc="Title for network nearing expiration notification">
        Nearing <ph name="network">$1<ex>YBH</ex></ph> expiration
      </message>
      <message name="IDS_NETWORK_NO_DATA_PLAN_TITLE" desc="Title for no cellular data plan notification">
        <ph name="network">$1<ex>YBH</ex></ph> no data plan
      </message>
      <message name="IDS_NETWORK_DATA_EXPIRED_TITLE" desc="Title for network data expired notification">
        <ph name="network">$1<ex>YBH</ex></ph> data expired
      </message>
      <message name="IDS_NETWORK_CONNECTION_ERROR_TITLE" desc="Title for network connection error notification">
        Network Connection Error
      </message>
      <message name="IDS_NETWORK_CONNECTION_ERROR_MESSAGE" desc="Message for network connection error notification">
        Failed to connect to network '<ph name="name">$1<ex>GoogleGuest</ex></ph>'.
      </message>
      <message name="IDS_LOW_BATTERY_TITLE" desc="Title for low battery notification">
        Battery Low
      </message>
      <message name="IDS_LOW_BATTERY_MESSAGE" desc="Message for low battery notification">
        Less than <ph name="MINUTES">$1<ex>15 mins left</ex></ph>.
      </message>
      <message name="IDS_UPDATE_TITLE" desc="Title for update notification">
        System Update
      </message>
      <message name="IDS_UPDATE_ERROR" desc="Notification for failed update">
        System update failed.
      </message>
      <message name="IDS_UPDATE_AVAILABLE" desc="Notification for available update">
        System update available. Preparing to download&#x2026;
      </message>
      <message name="IDS_UPDATE_DOWNLOADING" desc="Notification for update download progress">
        System update downloading: <ph name="PERCENT">$1<ex>10</ex></ph>&#37; complete.
      </message>
      <message name="IDS_UPDATE_VERIFYING" desc="Notification for update verifying">
        Verifying system update&#x2026;
      </message>
      <message name="IDS_UPDATE_FINALIZING" desc="Notification for update finalizing">
        Finalizing system update&#x2026;
      </message>
      <message name="IDS_UPDATE_COMPLETED" desc="Notification for update completed">
        System update complete. Please restart the system.
      </message>
      <message name="IDS_INSTALLING_UPDATE" desc="Label shown on the updates installation screen during OOBE">
        Please wait while <ph name="PRODUCT_NAME">$1<ex>Chrome OS</ex></ph> installs the latest system updates.
      </message>
      <message name="IDS_INSTALLING_UPDATE_DESC" desc="Additional info shown on the updates installation screen during OOBE">
        Your computer will restart when the update is complete.
      </message>
      <message name="IDS_UPDATE_CANCEL" desc="Message telling to press Escape to cancel update on a non-official build">
        Press ESCAPE to skip (Non-official builds only).
      </message>
      <message name="IDS_UPDATE_CANCELLED" desc="Message shown when the update has been cancelled by user">
        Cancelling update...
      </message>
      <message name="IDS_WELCOME_SCREEN_TITLE" desc="Title of the OOBE welcome screen">
        Connect
      </message>
      <message name="IDS_EULA_SCREEN_TITLE" desc="Title of the OOBE EULA screen">
        The small print
      </message>
      <message name="IDS_UPDATE_SCREEN_TITLE" desc="Title of the OOBE update screen">
        Update
      </message>
      <message name="IDS_SIGNIN_SCREEN_TITLE" desc="Title of OOBE/Add User sign in screen">
        Sign in
      </message>
      <message name="IDS_NETWORK_SELECTION_TITLE" desc="Welcome title shown on network selection screen">
        Let's get started
      </message>
      <message name="IDS_NETWORK_SELECTION_SELECT" desc="Label for network selection dropdown">
        Select a network:
      </message>
      <message name="IDS_LANGUAGE_SELECTION_SELECT" desc="Label for language selection dropdown">
        Select your language:
      </message>
      <message name="IDS_KEYBOARD_SELECTION_SELECT" desc="Label for keyboard selection dropdown">
        Select your keyboard:
      </message>
      <message name="IDS_NETWORK_SELECTION_NONE" desc="Text shown in combobox when no network are selected">
        No selection
      </message>
      <message name="IDS_NETWORK_SELECTION_CONNECTING" desc="Text shown when known device is connecting to known network">
        Connecting to <ph name="NETWORK_ID">$1<ex>Public Wifi</ex></ph>
      </message>
      <message name="IDS_NETWORK_SELECTION_CONTINUE_BUTTON" desc="Text shown on continue button">
        Continue
      </message>
      <message name="IDS_NETWORK_SELECTION_ERROR" desc="Error shown when connection to network failed or timed out.">
        <ph name="PRODUCT_NAME">$1<ex>Chrome OS</ex></ph> was unable to connect to <ph name="NETWORK_ID">$2<ex>Public Wifi</ex></ph>. Please select another network or try again.
      </message>
      <message name="IDS_LOGIN_TITLE" desc="Title of sign in box">
        Sign in
      </message>
      <message name="IDS_LOGIN_TITLE_HINT" desc="Hint under title 'Sign in to Chrome OS'">
        with your Google Account
      </message>
      <message name="IDS_LOGIN_USERNAME">
        Email
      </message>
      <message name="IDS_LOGIN_PASSWORD">
        Password
      </message>
      <message name="IDS_LOGIN_BUTTON">
        Sign in
      </message>
      <message name="IDS_ENTER_GUEST_SESSION_BUTTON">
        Enter
      </message>
      <message name="IDS_LOGIN_REMOVE">
        Remove
      </message>
      <message name="IDS_LOGIN_CHANGE_PHOTO">
        Change picture
      </message>
      <message name="IDS_LOGIN_PASSWORD_CHANGED_DIALOG_BOX_TITLE" desc="Title for the password changed dialog box">
        Sign in
      </message>
      <message name="IDS_LOGIN_PASSWORD_CHANGED_TITLE" desc="Title of the dialog shown when password change has been detected">
        Your password has changed
      </message>
      <message name="IDS_LOGIN_PASSWORD_CHANGED_DESC" desc="Detailed description of the password changed dialog">
        Your Google Account password has changed since the last time you signed in on this computer.
      </message>
      <message name="IDS_LOGIN_PASSWORD_CHANGED_RESET" desc="Reset option of the password changed dialog">
        Synchronize all settings and data\n(may take some time)
      </message>
      <message name="IDS_LOGIN_PASSWORD_CHANGED_MIGRATE" desc="Migrate option of the password changed dialog">
        Only synchronize settings and data that have\nchanged since last sign in\n(requires your previous password)
      </message>
      <message name="IDS_LOGIN_PREVIOUS_PASSWORD" desc="Password field text on the password changed dialog">
        Previous password
      </message>
      <message name="IDS_SCREEN_LOCK_ACTIVE_USER">
        Currently signed in
      </message>
      <message name="IDS_SCREEN_LOCK_SIGN_OUT">
        Sign out
      </message>
      <message name="IDS_CREATE_ACCOUNT_BUTTON">
        Create a Google Account now
      </message>
      <message name="IDS_CANT_ACCESS_ACCOUNT_BUTTON">
        Can't access your account?
      </message>
      <message name="IDS_BROWSE_WITHOUT_SIGNING_IN_BUTTON">
        Skip sign-in and browse as Guest
      </message>
      <message name="IDS_GO_INCOGNITO_BUTTON">
        Browse as Guest
      </message>
      <message name="IDS_SHUTDOWN_BUTTON" desc="Text shown on shutdown button on login/locker screen">
        Shut down
      </message>
      <message name="IDS_ADD_USER_BUTTON" desc="Text shown on an add user button on login/locker screen">
        Add user
      </message>
      <message name="IDS_LOGIN_OOBE_HELP_DIALOG_TITLE" desc="Default title for help dialogs during OOBE/login">
        Help
      </message>
      <message name="IDS_LOGIN_CAPTCHA_DIALOG_TITLE" desc="Title shown for captcha input dialog">
        Sign in
      </message>
     <message name="IDS_LOGIN_CAPTCHA_INSTRUCTIONS" desc="Explanatory message shown when the user must type letters shown in a captcha image to reauthenticate.">
        Type the characters you see in the picture below.
      </message>
      <message name="IDS_OPTIONS_SETTINGS_SECTION_TITLE_DATETIME">
        Date and time
      </message>
      <message name="IDS_OPTIONS_SETTINGS_SECTION_TITLE_WIRED_NETWORK" desc="Title for section in settings/internet for list of wired networks (usually one)">
        Wired network
      </message>
      <message name="IDS_OPTIONS_SETTINGS_SECTION_TITLE_WIRELESS_NETWORK" desc="Title for section in settings/internet for list of wireless networks (wifi and cellular)">
        Wireless networks
      </message>
      <message name="IDS_OPTIONS_SETTINGS_SECTION_TITLE_VIRTUAL_NETWORK" desc="Title for section in settings/internet for list of Virtual Private Networks (VPN)">
        Private networks
      </message>
      <message name="IDS_OPTIONS_SETTINGS_SECTION_TITLE_REMEMBERED_NETWORK" desc="Title for section in settings/internet for list of remembered (favirote) networks">
        Remembered networks
      </message>
      <message name="IDS_OPTIONS_SETTINGS_SECTION_TITLE_TOUCHPAD">
        Touchpad
      </message>
      <message name="IDS_OPTIONS_SETTINGS_SECTION_TITLE_LANGUAGE">
        Language
      </message>
      <message name="IDS_OPTIONS_SETTINGS_SECTION_TITLE_ACCESSIBILITY">
        Accessibility
      </message>
      <message name="IDS_OPTIONS_SETTINGS_TIMEZONE_DESCRIPTION" desc="In the settings tab, the text next to the timezone combobox.">
        Time zone:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_USE_24HOUR_CLOCK_DESCRIPTION" desc="In the settings tab, the text next to the checkbox that enables 24-hour clock.">
        Use 24-hour clock
      </message>
      <message name="IDS_OPTIONS_SETTINGS_TIMEZONE_DISPLAY_TEMPLATE" desc="In the settings tab, the display template of a timezone in the pull-down list of timezones">
        (<ph name="UTCOffset">$1<ex>UTC-8:00</ex></ph>) <ph name="LongTZName">$2<ex>Pacific Standard Time</ex></ph> (<ph name="ExemplarCity">$3<ex>Los Angeles</ex></ph>)
      </message>
      <message name="IDS_OPTIONS_SETTINGS_TAP_TO_CLICK_ENABLED_DESCRIPTION" desc="In the settings tab, the text next to the checkbox that enables tap-to-click.">
        Enable tap-to-click
      </message>
      <message name="IDS_OPTIONS_SETTINGS_SENSITIVITY_DESCRIPTION" desc="In the settings tab, the text next to the slider for the touchpad touch sensitivity.">
        Pointer speed:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_SENSITIVITY_LESS_DESCRIPTION" desc="In the settings tab, the text under the left (less sensitive) side of the slider for the touchpad touch sensitivity.">
        Slow
      </message>
      <message name="IDS_OPTIONS_SETTINGS_SENSITIVITY_MORE_DESCRIPTION" desc="In the settings tab, the text under the right (more sensitive) side of the slider for the touchpad touch sensitivity.">
        Fast
      </message>
      <message name="IDS_OPTIONS_SETTINGS_ACCESSIBILITY_DESCRIPTION" desc="In the settings tab, the text next to the checkbox for accessbility.">
        Enable accessibility features
      </message>
      <message name="IDS_OPTIONS_SETTINGS_KEYBOARD_LAYOUT_TEXT" desc="In the settings tab, the text of the keyboard layouti label.">
        Keyboard Layout:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_CONNECT" desc="In the settings tab, the text on the button to connect to a network.">
        Connect
      </message>
      <message name="IDS_OPTIONS_SETTINGS_DISCONNECT" desc="In the settings tab, the text on the button to disconnect from a network.">
        Disconnect
      </message>
      <message name="IDS_OPTIONS_SETTINGS_FORGET" desc="In the settings tab, the text on the button to forget this network.">
        Forget this network
      </message>
      <message name="IDS_OPTIONS_SETTINGS_SHARED_NETWORK" desc="In settings Internet options, the label for shared networks.">
        Shared
      </message>
      <message name="IDS_OPTIONS_SETTINGS_ACTIVATE" desc="In the settings tab, the text on the button to activate a cellular network.">
        Activate
      </message>
      <message name="IDS_OPTIONS_SETTINGS_BUY_PLAN" desc="In settings Internet options, the title for buy cellular data plan button.">
        Buy plan
      </message>
      <message name="IDS_OPTIONS_SETTINGS_NO_PLAN_LABEL" desc="In settings Internet options, the title for buy cellular data plan button.">
        No data plan
      </message>
      <message name="IDS_OPTIONS_SETTINGS_OPTIONS" desc="In the settings tab, the text on the button to display more options.">
        Options...
      </message>
      <message name="IDS_OPTIONS_SETTINGS_OTHER_WIFI_NETWORKS" desc="In the settings tab, the text on the button to display other Wi-Fi networks.">
        Other Wi-Fi network...
      </message>
      <message name="IDS_OPTIONS_SETTINGS_OTHER_CELLULAR_NETWORKS" desc="In the settings tab, the text on the button to display other cellular networks.">
        Other mobile network...
      </message>
      <message name="IDS_OPTIONS_SETTINGS_JOIN_WIFI_NETWORKS" desc="The title for the dialog to join a wifi network.">
        Join Wi-Fi network
      </message>
      <message name="IDS_OPTIONS_SETTINGS_ADD_VPN" desc="In the settings tab, the text on the button to add a private network.">
        Add private network
      </message>
      <message name="IDS_OPTIONS_SETTINGS_USE_SHARED_PROXIES" desc="In the settings tab, the text next to the checkbox for allowing proxy settings for shared networks.">
        Allow proxies for shared networks
      </message>
      <message name="IDS_OPTIONS_SETTINGS_ENABLE_DATA_ROAMING" desc="In the settings tab, the text next to the checkbox for data roaming.">
        Allow mobile data roaming
      </message>
      <message name="IDS_OPTIONS_ACCOUNTS_ALLOW_BWSI_DESCRIPTION" desc="In the Accounts settings tab, the text on the checkbox to allow browse without signing in.">
        Enable guest browsing
      </message>
      <message name="IDS_OPTIONS_ACCOUNTS_USE_WHITELIST_DESCRIPTION" desc="In the Accounts settings tab, the text on the checkbox to restrict allowed user to a whitelist.">
        Restrict sign-in to the following users:
      </message>
      <message name="IDS_OPTIONS_ACCOUNTS_SHOW_USER_NAMES_ON_SINGIN_DESCRIPTION" desc="In the Accounts settings tab, the text on the checkbox to show user names and pictures on sign-in screen.">
        Show usernames and photos on the sign-in screen
      </message>
      <message name="IDS_OPTIONS_ACCOUNTS_USERNAME_EDIT_HINT" desc="In the Accounts settings tab, the instruction text on an empty username edit.">
        Enter names or addresses.
      </message>
      <message name="IDS_OPTIONS_ACCOUNTS_USERNAME_FORMAT" desc="In the Accounts settings tab, the text format to create user name and owner tag.">
        <ph name="NAME">$1<ex>John Doe</ex></ph> - Owner
      </message>
      <message name="IDS_OPTIONS_ACCOUNTS_ADD_USERS" desc="In the Accounts settings tab, the label text above the user name edit box.">
        Add users
      </message>
      <message name="IDS_OPTIONS_ACCOUNTS_OWNER_ONLY" desc="In the Accounts settings tab, the warning text noticing that only the owner can modify these settings.">
        These settings may only be modified by the owner:
      </message>
      <message name="IDS_OPTIONS_PERSONAL_ACCOUNT_GROUP_NAME" desc="In sentence case: In the Personal Stuff settings tab, the title text for Account section.">
        Account
      </message>
      <message name="IDS_OPTIONS_ENABLE_SCREENLOCKER_CHECKBOX" desc="In the Personal Stuff settings tab, the text on the checkbox to enable screenlocker for current user.">
        Require password to wake from sleep
      </message>
      <message name="IDS_OPTIONS_CHANGE_PICTURE" desc="In the Personal Stuff settings tab, the text on the button to change picture for the current user.">
        Change picture
      </message>
      <message name="IDS_OPTIONS_CHANGE_PICTURE_DIALOG_TITLE" desc="Title of the dialog shown when user wants to change his/her picture.">
        Change picture
      </message>
      <message name="IDS_OPTIONS_CHANGE_PICTURE_DIALOG_TEXT" desc="Text with description of what to do on Change picture dialog.">
        Choose a picture to display for your account on the sign-in screen.
      </message>
      <message name="IDS_OPTIONS_CHANGE_PICTURE_CHOOSE_FILE" desc="Text on a button that shows file dialog to choose a picture from file.">
        Choose a file
      </message>
      <message name="IDS_OPTIONS_CROP_IMAGE_DIALOG_TITLE" desc="Title of the dialog shown when user wants to crop his/her picture.">
        Crop image
      </message>
      <message name="IDS_OPTIONS_CROP_IMAGE_DIALOG_TEXT" desc="Text with description of what to do on Crop image dialog.">
        Select a square region of the image.
      </message>
      <message name="IDS_OPTIONS_CHANGE_PICTURE_TAKE_PHOTO" desc="The text on the button to take photo of the current user.">
        Take photo
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_TAB_WIFI" desc="In settings Internet options, the title for the wifi tab.">
        Wi-Fi
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_TAB_VPN" desc="In settings Internet options, the title for the VPN (Virtual Private Network) tab.">
        VPN
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_TAB_PLAN" desc="In settings Internet options, the title for buy cellular data plan button.">
        Plan
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_TAB_CONNECTION" desc="In settings Internet options, the title for buy cellular data plan button.">
        Connection
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_TAB_DEVICE" desc="In settings Internet options, the title for buy cellular data plan button.">
        Device
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_TAB_NETWORK" desc="In settings Internet options, the title for buy cellular data plan button.">
        Network
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_TAB_SECURITY" desc="In settings Internet options, the title for security tab.">
        Security
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_NETWORK_ID" desc="In settings Internet options, the label for the network id.">
        SSID:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_EAP_METHOD" desc="In settings Internet options, the label for the EAP method.">
        EAP method:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_EAP_METHOD_NONE" desc="In settings Internet options, a string specifying EAP method none.">
        Choose...
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_EAP_METHOD_PEAP" desc="In settings Internet options, a string specifying EAP method PEAP.">
        PEAP
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_EAP_METHOD_TLS" desc="In settings Internet options, a string specifying EAP method TLS.">
        EAP-TLS
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_EAP_METHOD_TTLS" desc="In settings Internet options, a string specifying EAP method TTLS.">
        EAP-TTLS
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_EAP_METHOD_LEAP" desc="In settings Internet options, a string specifying EAP method LEAP.">
        LEAP
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_PHASE_2_AUTH" desc="In settings Internet options, the label for the phase 2 authentication.">
        Phase 2 authentication:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_PHASE_2_AUTH_AUTO" desc="In settings Internet options, a string specifying phase 2 authentication auto.">
        Automatic
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_PHASE_2_AUTH_MD5" desc="In settings Internet options, a string specifying phase 2 authentication EAP-MD5.">
        EAP-MD5
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_PHASE_2_AUTH_MSCHAPV2" desc="In settings Internet options, a string specifying phase 2 authentication MSCHAPv2.">
        MSCHAPv2
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_PHASE_2_AUTH_MSCHAP" desc="In settings Internet options, a string specifying phase 2 authentication MSCHAP.">
        MSCHAP
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_PHASE_2_AUTH_PAP" desc="In settings Internet options, a string specifying phase 2 authentication PAP.">
        PAP
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_PHASE_2_AUTH_CHAP" desc="In settings Internet options, a string specifying phase 2 authentication CHAP.">
        CHAP
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_CERT_IDENTITY" desc="In settings Internet options, the user identity for authentication.">
        Identity:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_CERT_IDENTITY_ANONYMOUS" desc="In settings Internet options, the anonymous identity for authentication.">
        Anonymous identity:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_CERT_SERVER_CA" desc="In settings Internet options, the server certificate to use.">
        Server CA certificate:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_CERT_SERVER_CA_DEFAULT" desc="In settings Internet options, a string specifying to use the default certificates.">
        Default
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_CERT_SERVER_CA_DO_NOT_CHECK" desc="In settings Internet options, a string specifying to not check certificates.">
        Do not check
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_CERT" desc="In settings Internet options, the x509 certificate to use.">
        User certificate:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_CERT_BUTTON" desc="In settings Internet options, the prompt on the certificate-selection button.">
        Select certificate file
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_SECURITY" desc="In settings Internet options, the label for the security.">
        Security:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_PASSPHRASE" desc="In settings Internet options, the label for the passphrase.">
        Password:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_PASSPHRASE_SHOW" desc="In settings Internet options, the label for the passphrase visible toggle button to show passphrase.">
        Click to show password
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_PASSPHRASE_HIDE" desc="In settings Internet options, the label for the passphrase visible toggle button to hide passphrase.">
        Click to hide password
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_SAVE_CREDENTIALS" desc="In settings Internet options, the label for the checkbox to save identity and password.">
        Save identity and password
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_ADVANCED_BUTTON" desc="In settings Internet options, Join other network, the text on the button to show advanced settings.">
        Advanced
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_BAD_PASSPHRASE" desc="In settings Internet options, the label for the bad passphrase.">
        Incorrect password.
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_NET_PROTECTED" desc="In settings Internet options, the message in network details page for password protected networks.">
        Access to this network is protected.
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_BAD_WEPKEY" desc="In settings Internet options, the label for the bad WEP key.">
        Password format is incorrect.
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_PREFER_NETWORK" desc="In settings Internet options, the label for prefer network checkbox.">
        Prefer this network
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_AUTO_CONNECT" desc="In settings Internet options, the label for the auto-connect checkbox.">
        Automatically connect to this network
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_SHARE_NETWORK" desc="In settings Internet options, the label for the share checkbox.">
        Share this network with other users
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_NETWORK_SHARED" desc="In settings Internet options, text for when a network is shared.">
        This network is shared with other users.
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_PURCHASE_MORE" desc="In settings Internet options, the title for buy cellular data plan button.">
        Buy data plan...
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_UNKNOWN_ERROR" desc="In settings Internet options, the label for an unknown connection error.">
        Failed to connect to network.
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELL_PLAN_NAME" desc="In settings Internet options, the label displayed next to cellular plan name.">
        Plan name:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_LOADING_PLAN" desc="In settings Internet options, the message displayed while cellular data plan information is being loaded.">
        Loading mobile data plan information, please wait...
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_NO_PLANS_FOUND" desc="In settings Internet options, the message displayed while cellular data plans are missing or could not be found.">
        Plan information not available.
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_DATA_REMAINING" desc="In settings Internet options, the label for mobile plan remaining data info.">
        Data remaining:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_UNLIMITED" desc="In settings Internet options, the label of data info for mobile unlimited data plan.">
        Unlimited
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_EXPIRES" desc="In settings Internet options, the label for mobile plan expiration time info.">
        Expires:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_SHOW_MOBILE_NOTIFICATION" desc="In settings Internet options, the label for show mobile plan data notification checkbox.">
        Show notifications when data is low or nearing expiration
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_RECEIVED_FREE_DATA" desc="In settings Internet options, the label that tells user free data received.">
        You received <ph name="DATA_AMOUNT">$1<ex>100MB</ex></ph> free usage on <ph name="DATE">$2<ex>January 1, 2011</ex></ph>
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_PURCHASE_DATA" desc="In settings Internet options, the label that shows user has purchased a mobile data plan.">
        You purchased <ph name="DATA_AMOUNT">$1<ex>3GB</ex></ph> of data on <ph name="DATE">$2<ex>January 1, 2011</ex></ph>
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_PURCHASE_UNLIMITED_DATA" desc="In settings Internet options, the label that shows user has purchased an unliminted mobile data plan.">
        You purchased unlimited data on <ph name="DATE">$1<ex>January 1, 2011</ex></ph>
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_CUSTOMER_SUPPORT" desc="In settings Internet options, the text for customer support hyper link.">
        Customer support
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_LOGIN" desc="In settings Internet options, the label for the button to sign in.">
        Sign in
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CONNECTION_STATE" desc="In settings Internet options, the label for connection status.">
        Connection Status:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_USE_DHCP" desc="In settings Internet options, the label for use DHCP.">
        Use DHCP
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_USE_STATIC_IP" desc="In settings Internet options, the label for use static ip.">
        Use static IP
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_ADDRESS" desc="In settings Internet options, the label for IP address.">
        Address:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_SUBNETMASK" desc="In settings Internet options, the label for subnet mask.">
        Subnet mask:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_GATEWAY" desc="In settings Internet options, the label for gateway.">
        Gateway:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_DNSSERVER" desc="In settings Internet options, the label dns server.">
        DNS server:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_CHANGE_PROXY_BUTTON" desc="In settings Internet options, the button to configure proxy settings.">
        Change proxy settings...
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_ENABLE_SHARED_PROXIES_HINT" desc="In settings Internet options, when proxy can't be changed, the hint for user to do so by enabling the setting for IDS_OPTIONS_SETTINGS_USE_SHARED_PROXIES.">
        To change proxy settings, enable "<ph name="USE_SHARED_PROXIES">$1<ex>Allow proxies for shared networks</ex></ph>" setting.
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_POLICY_MANAGED_PROXY_TEXT" desc="In settings Internet options, the text to display when proxy is policy-managed and user won't be able to change.">
        Proxy settings have been disabled by your administrator.
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_EXTENSION_MANAGED_PROXY_TEXT" desc="In settings Internet options, the text to display when proxy is extension-managed and user won't be able to change.">
        Proxy settings are being managed by an extension.
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_UNMODIFIABLE_PROXY_TEXT" desc="In settings Internet options, the text to display when proxy is not modifiable by user.">
        Proxy settings cannot be modified by user.
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_HARDWARE_ADDRESS" desc="In settings Internet options, the label hardware address.">
        Hardware address:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_SECURITY_NONE" desc="In settings Internet options, a string specifying security none.">
        None
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_SECURITY_WEP" desc="In settings Internet options, a string specifying security WEP.">
        WEP
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_SECURITY_PSK" desc="In settings Internet options, a string specifying security PSK (either WPA-PSK or RSN-PSK).">
        PSK (WPA or RSN)
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_PASSWORD" desc="In settings Internet options, a string telling the user where the network certificate is installed to.">
        Password
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_SSID" desc="In settings Internet options, a string telling the user where the network certificate is installed to.">
        SSID
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_SHOWPASSWORD" desc="In settings Internet options, a string telling the user where the network certificate is installed to.">
        Show password
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_STATUS_TITLE" desc="In settings Internet options, Title of the overlay when the user is connected.">
        Connection Details
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_CONNECT_TITLE" desc="In settings Internet options, Title of the overlay when the user is not connected and can.">
        Connect to network
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_L2TP_IPSEC_PSK" desc="In settings Internet options, a string specifying L2TP/IPsec + PSK.">
        L2TP/IPsec + Pre-shared key
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_L2TP_IPSEC_USER_CERT" desc="In settings Internet options, a string specifying L2TP/IPsec + User Certificate.">
        L2TP/IPsec + User certificate
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_OPEN_VPN" desc="In settings Internet options, a string specifying OpenVPN.">
        OpenVPN
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_VPN_SERVICE_NAME" desc="In settings Internet options, a string specifying VPN service name.">
        Service name:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_VPN_SERVER_HOSTNAME" desc="In settings Internet options, a string specifying VPN server hostname.">
        Server hostname:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_VPN_PROVIDER_TYPE" desc="In settings Internet options, a string specifying VPN provider type.">
        Provider type:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_VPN_PSK_PASSPHRASE" desc="In settings Internet options, a string specifying VPN PSK passphrase.">
        Pre-shared key:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_VPN_USER_CERT" desc="In settings Internet options, a string specifying VPN user certificate.">
        User certificate:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_VPN_USERNAME" desc="In settings Internet options, a string specifying VPN username.">
        Username:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_VPN_USER_PASSPHRASE" desc="In settings Internet options, a string specifying VPN user passphrase.">
        Password:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_VPN_GROUP_NAME" desc="In settings Internet options, a string specifying VPN group name.">
        Group name:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_USER_CERT_NONE_INSTALLED" desc="In settings Internet options, when creating a VPN or enterprise Wi-Fi connection, combobox item to display when no user certificates are installed.">
        None installed
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_CERT_LOADING" desc="In settings Internet options, when creating a VPN or enterprise Wi-Fi connection, combobox item to display when certificates are loading.">
        Loading...
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_PLEASE_INSTALL_USER_CERT" desc="In the network connect dialog, when creating a VPN or enterprise Wi-Fi connection, error message to display when no user certificates are installed.">
        Please install a user certificate.
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_LOGIN_FOR_USER_CERT" desc="In the network connect dialog, when creating a VPN or enterprise Wi-Fi connection, error message to display when not logged in and  user certificates are required.">
        Login required for user certificate.
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_REQUIRE_HARDWARE_BACKED" desc="In the network connect dialog, when creating a VPN or enterprise Wi-Fi connection, error message to display when a non hardware-backed user certificate is selected.">
        User certificate must be hardware-backed.
      </message>
      <message name="IDS_NETWORK_RECONNECT_TITLE" desc="In network menu, title of the reconnect button that allows user to retry connection on error.">
        Reconnect
      </message>
      <message name="IDS_NETWORK_SSID_HINT" desc="In network menu, hint text for network name field.">
        network name
      </message>
      <message name="IDS_NETWORK_PASSWORD_HINT" desc="In network menu, hint text for network password field.">
        network password
      </message>

      <message name="IDS_NETWORK_CHOOSE_MOBILE_NETWORK" desc="Title of the window for choosing mobile network.">
        Choose a Mobile Network
      </message>
      <message name="IDS_NETWORK_SCANNING_FOR_MOBILE_NETWORKS" desc="Text which appears while scanning for mobile networks.">
        Scanning for networks.
      </message>
      <message name="IDS_NETWORK_SCANNING_THIS_MAY_TAKE_A_MINUTE" desc="Text which appears while scanning for mobile networks, right after IDS_NETWORK_SCANNING_FOR_MOBILE_NETWORKS text.">
        This may take a minute...
      </message>
      <message name="IDS_NETWORK_NO_MOBILE_NETWORKS" desc="Text which appears when no mobile networks were found.">
        No networks found.
      </message>

      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_SERVICE_NAME" desc="Cellular service name under network details in chrome:settings/internet.">
        Service name:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_NETWORK_TECHNOLOGY" desc="Cellular network technology label under network details in chrome:settings/internet.">
        Network technology:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_OPERATOR" desc="Cellular network operator name label under network details in chrome:settings/internet.">
        Operator:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_OPERATOR_CODE" desc="Cellular network operator code label under network details in chrome:settings/internet.">
        Operator code:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_ACTIVATION_STATE" desc="Cellular network activation status label under network details in chrome:settings/internet.">
        Activation:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_ROAMING_STATE" desc="Cellular network roaming status label under network details in chrome:settings/internet.">
        Roaming:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_RESTRICTED_POOL" desc="Cellular network restricted network status label under network details in chrome:settings/internet.">
        Restricted pool:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_ERROR_STATE" desc="Cellular network error status label under network details in chrome:settings/internet.">
        Error info:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_MANUFACTURER" desc="Cellular device manufacturer label under network details in chrome:settings/internet.">
        Manufacturer:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_MODEL_ID" desc="Cellular device model ID label under network details in chrome:settings/internet.">
        Model:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_FIRMWARE_REVISION" desc="Cellular device firmware revision label under network details in chrome:settings/internet.">
        Firmware:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_HARDWARE_REVISION" desc="Cellular device hardware revision label under network details in chrome:settings/internet.">
        Hardware:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_PRL_VERSION" desc="Cellular device PRL version label under network details in chrome:settings/internet.">
        PRL version:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_APN" desc="Cellular device APN label under network details in chrome:settings/internet.">
        Access Point Name:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_APN_USERNAME" desc="Cellular device APN user name label under network details in chrome:settings/internet.">
        User name:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_APN_PASSWORD" desc="Cellular device APN password label under network details in chrome:settings/internet.">
        Password:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_APN_CLEAR" desc="Cellular device use default APN settings button under network details in chrome:settings/internet.">
        Use default
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_APN_SET" desc="Cellular device set APN settings button under network details in chrome:settings/internet.">
        Save
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_ACCESS_SECURITY_TAB" desc="In settings Internet options, the text of the link shown when SIM card is locked, to access security tab.">
        To access Security settings enter the SIM card PIN
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_LOCK_SIM_CARD" desc="Cellular device enable SIM card PIN lock checkbox label in chrome:settings/internet.">
        Lock SIM card (require PIN to use mobile data)
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_CHANGE_PIN_BUTTON" desc="Cellular device change PIN button text in chrome:settings/internet.">
        Change PIN
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_CHANGE_PIN_TITLE" desc="Cellular device change PIN dialog title in chrome:settings/internet.">
        Change SIM Card PIN
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_CHANGE_PIN_MESSAGE" desc="Cellular device change PIN dialog message in chrome:settings/internet.">
        Please enter old and new PIN.
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_CHANGE_PIN_INCORRECT_ERROR" desc="Cellular device change PIN dialog error message in chrome:settings/internet.">
        Incorrect PIN, please try again.
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_CHANGE_PIN_OLD_PIN" desc="Cellular device change PIN dialog old PIN label text in chrome:settings/internet.">
        Old PIN:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_CHANGE_PIN_NEW_PIN" desc="Cellular device change PIN dialog new PIN label text in chrome:settings/internet.">
        New PIN:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_CHANGE_PIN_RETYPE_PIN" desc="Cellular device change PIN dialog re-type new PIN label text in chrome:settings/internet.">
        Re-type new PIN:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_PINS_DONT_MATCH_ERROR" desc="Cellular device change PIN dialog message shown when entered new PINs don't match in chrome:settings/internet.">
        PINs don't match!
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_APN_CANCEL" desc="Cellular device cancel APN settings edit button under network details in chrome:settings/internet.">
        Cancel
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_APN_OTHER" desc="Select user defined APN in the lost of predefined APNs under network details in chrome:settings/internet.">
        Other...
      </message>

      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CONTROL_TITLE" desc="In settings Internet options, Title of the section which houses the enable/disable buttons.">
        General
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_CUSTOMIZE" desc="In settings system options, the label for the customize button for languages and input">
        Customize languages and input...
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_MODIFIER_KEYS_CUSTOMIZE" desc="In settings system options, the label for the customize button for modifier keys">
        Modifier keys...
      </message>

      <message name="IDS_SIM_UNLOCK_ENTER_PIN_TITLE" desc="Title of the SIM card unlock dialog in chrome:sim-unlock.">
        Enter SIM Card PIN
      </message>
      <message name="IDS_SIM_ENTER_PIN_MESSAGE" desc="Message on the the SIM card dialog asking to enter PIN in chrome:sim-unlock.">
        Please enter PIN.
      </message>
      <message name="IDS_SIM_UNLOCK_ENTER_PIN_TRIES_MESSAGE" desc="Message on the the SIM card unlock dialog asking to enter PIN in chrome:sim-unlock.">
        SIM card is locked, please enter PIN. Tries left: <ph name="TRIES_COUNT">$1<ex>42</ex></ph>
      </message>
      <message name="IDS_SIM_UNLOCK_INCORRECT_PIN_TRIES_MESSAGE" desc="Incorrect PIN message with the number of tries left shown on SIM card unlock dialog in chrome:sim-unlock.">
        Incorrect PIN, please try again. Tries left: <ph name="TRIES_COUNT">$1<ex>42</ex></ph>
      </message>
      <message name="IDS_SIM_UNLOCK_INCORRECT_PIN_TITLE" desc="Title of the Incorrect PIN stage (no tries left) shown on SIM card unlock dialog in chrome:sim-unlock.">
        Incorrect PIN
      </message>
      <message name="IDS_SIM_UNLOCK_NO_PIN_TRIES_LEFT_MESSAGE" desc="Message shown when there's no PIN tries left, shown on SIM card unlock dialog in chrome:sim-unlock.">
        You have entered the incorrect PIN too many times. Please contact <ph name="CARRIER_ID">$1<ex>your carrier</ex></ph> to obtain a new 8-digit PIN Unlocking Key.
      </message>
      <message name="IDS_SIM_UNLOCK_DEFAULT_CARRIER" desc="Generic carrier name shown on SIM unlock dialog. Ex.: IDS_SIM_UNLOCK_NO_PIN_TRIES_LEFT_MESSAGE, IDS_SIM_UNLOCK_ENTER_PUK_MESSAGE">
        your carrier
      </message>
      <message name="IDS_SIM_UNLOCK_ENTER_PUK_BUTTON" desc="Text of the button that will take to Enter PUK dialog, part of SIM card unlock dialog in chrome:sim-unlock.">
        Enter PIN Unlocking Key
      </message>
      <message name="IDS_SIM_UNLOCK_ENTER_PUK_TITLE" desc="Title of the Enter PUK dialog, which is part of SIM card unlock dialog in chrome:sim-unlock.">
        Enter PIN Unlocking Key
      </message>
      <message name="IDS_SIM_UNLOCK_ENTER_PUK_WARNING" desc="Warning on the Enter PUK dialog with the number of tries left, which is part of SIM card unlock dialog in chrome:sim-unlock.">
        Your SIM card will be permanently disabled if you cannot enter the correct PIN Unlocking Key. Tries left: <ph name="TRIES_COUNT">$1<ex>42</ex></ph>
      </message>
      <message name="IDS_SIM_UNLOCK_ENTER_PUK_MESSAGE" desc="Message on the Enter PUK dialog, which is part of SIM card unlock dialog in chrome:sim-unlock.">
        Please enter the 8-digit PIN Unlocking Key provided by <ph name="CARRIER_ID">$1<ex>your carrier</ex></ph>.
      </message>
      <message name="IDS_SIM_UNLOCK_CHOOSE_PIN_TITLE" desc="Title of the Choose new PIN dialog, which is part of SIM card unlock dialog in chrome:sim-unlock.">
        Choose New PIN
      </message>
      <message name="IDS_SIM_UNLOCK_CHOOSE_PIN_MESSAGE" desc="Message on the Choose new PIN dialog, which is part of SIM card unlock dialog in chrome:sim-unlock.">
        Please choose a new PIN.
      </message>
      <message name="IDS_SIM_UNLOCK_NO_PUK_TRIES_LEFT_MESSAGE" desc="Message shown when there're not PUK tries left, right after last try was used and SIM card is now disabled.">
        You have entered the incorrect PIN Unlocking Key too many times. Your SIM card is permanently disabled.
      </message>
      <message name="IDS_SIM_UNLOCK_SIM_DISABLED_TITLE" desc="Title shown when there're not PUK tries left and SIM card is disabled.">
        SIM Card Disabled
      </message>
      <message name="IDS_SIM_UNLOCK_SIM_DISABLED_MESSAGE" desc="Message shown when there're not PUK tries left and SIM card is disabled.">
        This SIM card is disabled and cannot be used. Please contact your service provider for a replacement.
      </message>

      <message name="IDS_EULA_BACK_BUTTON" desc="Back button shown on EULA screen.">
        Back
      </message>
      <message name="IDS_EULA_ACCEPT_AND_CONTINUE_BUTTON" desc="Accept button text below EULA terms of service">
        Accept and continue
      </message>
      <message name="IDS_EULA_SYSTEM_SECURITY_SETTING" desc="Link from the EULA wizard screen and title of the according dialog box">
        System security setting
      </message>
      <message name="IDS_EULA_SYSTEM_SECURITY_SETTING_DESCRIPTION" desc="Dialog box text">
        Your computer contains a Trusted Platform Module (TPM) security device, which is used to implement many critical security features in Chrome OS.
      </message>
      <message name="IDS_EULA_SYSTEM_SECURITY_SETTING_DESCRIPTION_KEY" desc="Dialog box text">
        Below is the randomly generated TPM password that has been assigned to your computer:
      </message>
      <message name="IDS_EULA_SYSTEM_SECURITY_SETTING_WAIT" desc="Dialog box text">
       The TPM is being set up. Please be patient; this may take a few minutes.
      </message>
      <message name="IDS_EULA_TPM_BUSY" desc="Message bubble text">
        TPM is being prepared, please wait (this may take a few minutes)...
      </message>
      <message name="IDS_EULA_TPM_DISABLED" desc="Tooltip text describing why 'System security setting' link is disabled.">
        Trusted Platform Module (TPM) chip is disabled or absent.
      </message>

      <message name="IDS_OPTION_DISABLED_BY_POLICY" desc="Tooltip for options managed by enterprise policy">
        This option is controlled by enterprise policy. Please contact your administrator for more information.
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTINGS_TITLE"
               desc="The title for the Chewing input settings dialog. Please note that 'Chewing' here is name of an input method and not 'an act of biting and grinding with the teeth'.">
        Chewing Input Settings
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_AUTO_SHIFT_CUR"
               desc="The checkbox label for a Chewing input method preference">
        Automatically move cursor to the next character
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_ADD_PHRASE_DIRECTION"
               desc="The checkbox label for a Chewing input method preference">
        Add phrases in front
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_EASY_SYMBOL_INPUT"
               desc="The checkbox label for a Chewing input method preference">
        Easy symbol input
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_ESC_CLEAN_ALL_BUF"
               desc="The checkbox label for a Chewing input method preference">
        Esc cleans whole pre-edit buffer
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_FORCE_LOWER_CASE_ENGLISH"
               desc="The checkbox label for a Chewing input method preference">
        Ignore CapsLock status and input lowercase by default
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_PLAIN_ZHUYIN"
               desc="The checkbox label for a Chewing input method preference">
        Plain Zhuyin mode.  Automatic candidate selection and related options
        are disabled or ignored.
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_PHRASE_CHOICE_REARWARD"
               desc="The checkbox label for a Chewing input method preference">
        Choose phrases from the back, without moving the cursor
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_SPACE_AS_SELECTION"
               desc="The checkbox label for a Chewing input method preference">
        Press Space to select the candidate
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_MAX_CHI_SYMBOL_LEN"
               desc="The label for a Chewing input method preference">
        Maximum Chinese characters in pre-edit buffer, including inputing Zhuyin
        symbols
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_CAND_PER_PAGE"
               desc="The label for a Chewing input method preference">
        Number of candidates to display per page
      </message>

      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE"
               desc="The combobox description for the Chewing keyboard type">
        Keyboard Type
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DEFAULT"
               desc="The combobox value for the Chewing keyboard type">
        Default
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_HSU"
               desc="The combobox value for the Chewing keyboard type">
        Hsu
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_IBM"
               desc="The combobox value for the Chewing keyboard type">
        IBM
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_GIN_YIEH"
               desc="The combobox value for the Chewing keyboard type">
        Gin Yieh
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_ETEN"
               desc="The combobox value for the Chewing keyboard type">
        Eten
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_ETEN26"
               desc="The combobox value for the Chewing keyboard type">
        Eten 26
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DVORAK"
               desc="The combobox value for the Chewing keyboard type">
        Dvorak
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DVORAK_HSU"
               desc="The combobox value for the Chewing keyboard type">
        Dvorak (Hsu)
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DACHEN_26"
               desc="The combobox value for the Chewing keyboard type">
        Dachen 26
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_HANYU"
               desc="The combobox value for the Chewing keyboard type">
        Hanyu
      </message>

      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS"
               desc="The combobox description for the Chewing selection keys">
        Selection Keys
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_1234567890"
               desc="The combobox value for the Chewing selection keys">
        1234567890
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_ASDFGHJKLS"
               desc="The combobox value for the Chewing selection keys">
        asdfghjkl;
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_ASDFZXCV89"
               desc="The combobox value for the Chewing selection keys">
        asdfzxcv89
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_ASDFJKL789"
               desc="The combobox value for the Chewing selection keys">
        asdfjkl789
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_AOEUSQJKIX"
               desc="The combobox value for the Chewing selection keys">
        aoeu;qjkix (Dvorak)
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_AOEUHTNSID"
               desc="The combobox value for the Chewing selection keys">
        aoeuhtnsid (Dvorak)
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_AOEUIDHTNS"
               desc="The combobox value for the Chewing selection keys">
        aoeuidhtns (Dvorak)
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_1234QWERAS"
               desc="The combobox value for the Chewing selection keys">
        1234qweras
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_HSU_SEL_KEY_TYPE"
               desc="The combobox description for the Hsu selection key type">
        Hsu's keyboard selection keys
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_HSU_SEL_KEY_TYPE_1"
               desc="The combobox value for the Hsu selection key type">
        asdfjkl789
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_HSU_SEL_KEY_TYPE_2"
               desc="The combobox value for the Hsu selection key type">
        asdfzxcv89
      </message>

      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_HANGUL_SETTINGS_TITLE"
               desc="The title for the Hangul input settings dialog">
        Hangul Input Settings
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_HANGUL_SETTINGS_KEYBOARD_2_SET"
               desc="The keyboard layout name for Korean input. (Dubeol-sik)">
        2 Set
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_HANGUL_SETTINGS_KEYBOARD_3_SET_FINAL"
               desc="The keyboard layout name for Korean input. (Sebeol-sik Final)">
        3 Set (Final)
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_HANGUL_SETTINGS_KEYBOARD_3_SET_390"
               desc="The keyboard layout name for Korean input. (Sebeol-sik 390)">
        3 Set (390)
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_HANGUL_SETTINGS_KEYBOARD_3_SET_NO_SHIFT"
               desc="The keyboard layout name for Korean input. (Sebeol-sik No-shift)">
        3 Set (No shift)
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_HANGUL_SETTINGS_KEYBOARD_ROMAJA"
               desc="The keyboard layout name for Korean input. (Romaja)">
        Romaja
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTINGS_TITLE"
               desc="The title for the Pinyin input settings dialog">
        Pinyin Input Settings
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_CORRECT_PINYIN"
               desc="The checkbox label for a Pinyin input method preference">
        Automatically correct input
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_FUZZY_PINYIN"
               desc="The checkbox label for a Pinyin input method preference">
        Enable Fuzzy-Pinyin mode
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_SHIFT_SELECT_PINYIN"
               desc="The checkbox label for a Pinyin input method preference">
        Use left and right Shift keys to select 2nd and 3rd candidates
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_MINUS_EQUAL_PAGE"
               desc="The checkbox label for a Pinyin input method preference">
        Use - and = keys to page a candidate list
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_COMMA_PERIOD_PAGE"
               desc="The checkbox label for a Pinyin input method preference">
        Use , and . keys to page a candidate list
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_AUTO_COMMIT"
               desc="The checkbox label for a Pinyin input method preference">
        Auto-commit a string
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_DOUBLE_PINYIN"
               desc="The checkbox label for a Pinyin input method preference">
        Enable Double-Pinyin mode
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_CHINESE"
               desc="The checkbox label for a Pinyin input method preference">
        Initial input language is Chinese
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_FULL"
               desc="The checkbox label for a Pinyin input method preference">
        Initial character width is Full
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_FULL_PUNCT"
               desc="The checkbox label for a Pinyin input method preference">
        Initial punctuation width is Full
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_SIMPLIFIED_CHINESE"
               desc="The checkbox label for a Pinyin input method preference">
        Initial Chinese mode is Simplified Chinese
      </message>

      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA"
               desc="The combobox description for the double Pinyin schema">
        Double Pinyin schema
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_MSPY"
               desc="The combobox value for the double Pinyin schema (might be non-translateable?)">
        MSPY
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_ZRM"
               desc="The combobox value for the double Pinyin schema (might be non-translateable?)">
        ZRM
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_ABC"
               desc="The combobox value for the double Pinyin schema (might be non-translateable?)">
        ABC
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_ZGPY"
               desc="The combobox value for the double Pinyin schema (might be non-translateable?)">
        ZGPY
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_PYJJ"
               desc="The combobox value for the double Pinyin schema (might be non-translateable?)">
        PYJJ
      </message>

      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SETTINGS_TITLE"
               desc="The title for the Mozc Japanese input settings dialog">
        Japanese Input Settings
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_RESET_TO_DEFAULTS_BUTTON"
               desc="The label for the reset to default button for resetting the Mozc preferences to the default values">
        Reset to defaults
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PREEDIT_METHOD"
               desc="The combobox description for the Mozc input method preference">
        Input Method
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PREEDIT_METHOD_ROMAN"
               desc="The combobox value for the Mozc input method preference">
        Romaji
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PREEDIT_METHOD_KANA"
               desc="The combobox value for the Mozc input method preference">
        Kana
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SESSION_KEYMAP"
               desc="The combobox description for the Mozc input method preference">
        Keymap style
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SESSION_KEYMAP_ATOK"
               desc="The combobox value for the Mozc input method preference (might be non-translateable?)">
        ATOK
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SESSION_KEYMAP_MSIME"
               desc="The combobox value for the Mozc input method preference (might be non-translateable?)">
        MS-IME
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SESSION_KEYMAP_KOTOERI"
               desc="The combobox value for the Mozc input method preference. When lang is ja, it should be written in Hiragana">
        Kotoeri
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PUNCTUATION_METHOD"
               desc="The combobox description for the Mozc input method preference">
        Punctuation style
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PUNCTUATION_METHOD_KUTEN_TOUTEN"
               desc="The combobox value for the Mozc input method preference">
        &#x3001;&#x3002;
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PUNCTUATION_METHOD_COMMA_PERIOD"
               desc="The combobox value for the Mozc input method preference">
        &#xff0c;&#xff0e;
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PUNCTUATION_METHOD_KUTEN_PERIOD"
               desc="The combobox value for the Mozc input method preference">
        &#x3001;&#xff0e;
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PUNCTUATION_METHOD_COMMA_TOUTEN"
               desc="The combobox value for the Mozc input method preference">
        &#xff0c;&#x3002;
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SYMBOL_METHOD"
               desc="The combobox description for the Mozc input method preference">
        Symbol style
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SYMBOL_METHOD_CORNER_BRACKET_MIDDLE_DOT"
               desc="The combobox value for the Mozc input method preference">
        &#x300c;&#x300d;&#x30fb;
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SYMBOL_METHOD_SQUARE_BRACKET_SLASH"
               desc="The combobox value for the Mozc input method preference">
        &#xff3b;&#xff3d;&#xff0f;
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SYMBOL_METHOD_CORNER_BRACKET_SLASH"
               desc="The combobox value for the Mozc input method preference">
        &#x300c;&#x300d;&#xff0f;
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SYMBOL_METHOD_SQUARE_BRACKET_MIDDLE_DOT"
               desc="The combobox value for the Mozc input method preference">
        &#xff3b;&#xff3d;&#x30fb;
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SPACE_CHARACTER_FORM"
               desc="The combobox description for the Mozc input method preference">
        Space input style
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SPACE_CHARACTER_FORM_FUNDAMENTAL_INPUT_MODE"
               desc="The combobox value for the Mozc input method preference">
        Follow input mode
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SPACE_CHARACTER_FORM_FUNDAMENTAL_FULL_WIDTH"
               desc="The combobox value for the Mozc input method preference">
        Fullwidth
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SPACE_CHARACTER_FORM_FUNDAMENTAL_HALF_WIDTH"
               desc="The combobox value for the Mozc input method preference">
        Halfwidth
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_HISTORY_LEARNING_LEVEL"
               desc="The combobox description for the Mozc input method preference">
        Adjust conversion based on previous input
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_HISTORY_LEARNING_LEVEL_DEFAULT_HISTORY"
               desc="The combobox value for the Mozc input method preference">
        Yes
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_HISTORY_LEARNING_LEVEL_READ_ONLY"
               desc="The combobox value for the Mozc input method preference">
        Yes (don't record new data)
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_HISTORY_LEARNING_LEVEL_NO_HISTORY"
               desc="The combobox value for the Mozc input method preference">
        No
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SELECTION_SHORTCUT"
               desc="The combobox description for the Mozc input method preference">
        Selection shortcut
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SELECTION_SHORTCUT_NO_SHORTCUT"
               desc="The combobox value for the Mozc input method preference">
        No shortcut
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SELECTION_SHORTCUT_SHORTCUT_123456789"
               desc="The combobox value for the Mozc input method preference">
        1 -- 9
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SELECTION_SHORTCUT_SHORTCUT_ASDFGHJKL"
               desc="The combobox value for the Mozc input method preference">
        A -- L
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SHIFT_KEY_MODE_SWITCH"
               desc="The combobox description for the Mozc input method preference">
        Shift key mode switch
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SHIFT_KEY_MODE_SWITCH_OFF"
               desc="The combobox value for the Mozc input method preference">
        Off
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SHIFT_KEY_MODE_SWITCH_ASCII_INPUT_MODE"
               desc="The combobox value for the Mozc input method preference">
        Alphanumeric
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SHIFT_KEY_MODE_SWITCH_KATAKANA_INPUT_MODE"
               desc="The combobox value for the Mozc input method preference">
        Katakana
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_NUMPAD_CHARACTER_FORM"
               desc="The combobox description for the Mozc input method preference">
        Numpad style
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_NUMPAD_CHARACTER_FORM_NUMPAD_INPUT_MODE"
               desc="The combobox value for the Mozc input method preference">
        Follow input mode
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_NUMPAD_CHARACTER_FORM_NUMPAD_FULL_WIDTH"
               desc="The combobox value for the Mozc input method preference">
        Fullwidth
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_NUMPAD_CHARACTER_FORM_NUMPAD_HALF_WIDTH"
               desc="The combobox value for the Mozc input method preference">
        Halfwidth
      </message>
      <message translateable="false"
               name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_NUMPAD_CHARACTER_FORM_NUMPAD_DIRECT_INPUT"
               desc="The combobox value for the Mozc input method preference">
        Direct input
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_INCOGNITO_MODE"
               desc="The checkbox label for a Mozc input method preference">
        Temporarily disable conversion personalization, history-based suggestions and user dictionary
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_USE_AUTO_IME_TURN_OFF"
               desc="The checkbox label for a Mozc input method preference">
        Automatically switch to halfwidth
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_USE_HISTORY_SUGGEST"
               desc="The checkbox label for a Mozc input method preference">
        Use input history
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_USE_DICTIONARY_SUGGEST"
               desc="The checkbox label for a Mozc input method preference">
        Use system dictionary
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SUGGESTIONS_SIZE"
               desc="The slider label for a Mozc input method preference">
        Maximum number of suggestions
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_XKB_MODIFIER_NO_REMAP"
               desc="The label for 'Configure modifier keys' drop-down">
        Do not swap modifier keys
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_XKB_MODIFIER_REMAP_CTRL_ALT"
               desc="The label for 'Configure modifier keys' drop-down">
        Swap Left Control and Left Alt keys
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_XKB_MODIFIER_REMAP_SEARCH_CTRL"
               desc="The label for 'Configure modifier keys' drop-down">
        Swap Search and Left Control keys
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_CONFIGURE"
               desc="The label for the configure button for input methods">
        Configure...
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_INPUT_METHOD"
               desc="The label for the section header for input methods">
        Input Method
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_SIGN_OUT_BUTTON"
               desc="The label for the sign out button for changing UI language">
        Sign out
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_PLEASE_ADD_ANOTHER_INPUT_METHOD"
               desc="Warning invoked when the user tries to remove the last input method">
        Please add another input method before removing this one.
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_INPUT_METHOD_INSTRUCTIONS"
               desc="Explanatory message about how to select input methods">
        For text input, select a language to see available input methods.
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_SWITCH_INPUT_METHODS_HINT"
               desc="Explanatory message about how to switch input methods">
        Press alt+shift to switch between input methods.
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_SELECT_PREVIOUS_INPUT_METHOD_HINT"
               desc="Explanatory message about how to select the previous input method">
        Press ctrl+space to select the previous input method.
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_M17N_STANDARD_INPUT_METHOD"
               desc="The label for a input method">
        Standard input method
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_M17N_CHINESE_CANGJIE_INPUT_METHOD"
               desc="The label for the Chinese input method">
        Chinese input method (cangjie)
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_M17N_CHINESE_QUICK_INPUT_METHOD"
               desc="The label for the Chinese input method">
        Chinese input method (quick)
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_M17N_PERSIAN_ISIRI_2901_INPUT_METHOD"
               desc="The label for the Persian (Farsi) input method">
        Persian input method (ISIRI 2901 layout)
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_M17N_THAI_KESMANEE_INPUT_METHOD"
               desc="The label for the Thai input method">
        Thai input method (Kesmanee keyboard)
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_M17N_THAI_TIS820_INPUT_METHOD"
               desc="The label for the Thai input method">
        Thai input method (TIS-820.2538 keyboard)
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_M17N_THAI_PATTACHOTE_INPUT_METHOD"
               desc="The label for the Thai input method">
        Thai input method (Pattachote keyboard)
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_M17N_VIETNAMESE_TCVN_INPUT_METHOD"
               desc="The label for the Vietnamese input method">
        Vietnamese input method (TCVN6064)
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_M17N_VIETNAMESE_TELEX_INPUT_METHOD"
               desc="The label for the Vietnamese input method">
        Vietnamese input method (TELEX)
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_M17N_VIETNAMESE_VIQR_INPUT_METHOD"
               desc="The label for the Vietnamese input method">
        Vietnamese input method (VIQR)
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_M17N_VIETNAMESE_VNI_INPUT_METHOD"
               desc="The label for the Vietnamese input method">
        Vietnamese input method (VNI)
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_INPUT_METHOD"
               desc="The label for the Chewing traditional Chinese input method">
        Chewing input method
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_INPUT_METHOD"
               desc="The label for the Pinyin simplified Chinese input method">
        Pinyin input method
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DV_INPUT_METHOD"
               desc="The label for the Pinyin simplified Chinese input method">
        Pinyin input method (for US Dvorak keyboard)
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_JAPANESE_MOZC_US_INPUT_METHOD"
               desc="The label for the Japanese input method for US keyboard">
        Japanese input method (for US keyboard)
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_JAPANESE_MOZC_US_DV_INPUT_METHOD"
               desc="The label for the Japanese input method for US Dvorak keyboard">
        Japanese input method (for US Dvorak keyboard)
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_JAPANESE_MOZC_JP_INPUT_METHOD"
               desc="The label for the Japanese input method for Japanese keyboard">
        Japanese input method (for Japanese keyboard)
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_JAPANESE_GOOGLE_US_INPUT_METHOD"
               desc="The label for the Google Japanese Input input method for US keyboard">
        Google Japanese Input (for US keyboard)
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_JAPANESE_GOOGLE_US_DV_INPUT_METHOD"
               desc="The label for the Google Japanese Input input method for US Dvorak keyboard">
        Google Japanese Input (for US Dvorak keyboard)
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_JAPANESE_GOOGLE_JP_INPUT_METHOD"
               desc="The label for the Google Japanese Input input method for Japanese keyboard">
        Google Japanese Input (for Japanese keyboard)
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_JAPANESE_HANDWRITING_INPUT_METHOD"
               desc="The label for the Japanese handwriting input method">
        Handwriting input method for Japanese
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_KOREAN_INPUT_METHOD"
               desc="The label for the Korean input method">
        Korean input method
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_XKB_KEY_SEARCH_LABEL"
               desc="The label for 'Customize modifier keys' overlay">
        Search
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_XKB_KEY_LEFT_CTRL_LABEL"
               desc="The label for 'Customize modifier keys' overlay">
        Ctrl
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_XKB_KEY_LEFT_ALT_LABEL"
               desc="The label for 'Customize modifier keys' overlay">
        Alt
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_XKB_KEY_SEARCH"
               desc="The dropdown list item for 'Customize modifier keys' overlay">
        Search
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_XKB_KEY_LEFT_CTRL"
               desc="The dropdown list item for 'Customize modifier keys' overlay">
        Ctrl
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_XKB_KEY_LEFT_ALT"
               desc="The dropdown list item for 'Customize modifier keys' overlay">
        Alt
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_XKB_KEY_VOID"
               desc="The dropdown list item for 'Customize modifier keys' overlay">
        Disabled
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_XKB_KEY_CAPS_LOCK"
               desc="The dropdown list item for 'Customize modifier keys' overlay">
        Caps Lock
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_XKB_KEY_REPEAT_SPEED_FAST"
               desc="The label for the Chrome OS configuration dialog">
        fast
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_XKB_KEY_REPEAT_SPEED_FAST"
               desc="The label for the Chrome OS configuration dialog">
        fast
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_XKB_KEY_REPEAT_SPEED_FAST"
               desc="The label for the Chrome OS configuration dialog">
        fast
      </message>
      <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_XKB_KEY_REPEAT_SPEED_FAST"
               desc="The label for the Chrome OS configuration dialog">
        fast
      </message>
      <message name="IDS_STATUSBAR_ACCESSIBILITY_ENABLED" desc="The tooltip for the status bar button to indicate that accessibility is enabled.">
	Accessibility features are enabled.
      </message>
      <message name="IDS_STATUSBAR_DISABLE_SPOKEN_FEEDBACK" desc="The menu option to disable spoken feedback accessibility feature.">
        Disable Spoken Feedback
      </message>
      <message name="IDS_STATUSBAR_NETWORK_LOCKED" desc="Message displayed while access to network devices is temporarily locked due to mobile network activation">
        Please wait while we set up your mobile network.
      </message>
      <message name="IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET" desc="The ethernet network device.">
        Ethernet
      </message>
      <message name="IDS_STATUSBAR_NETWORK_DEVICE_WIFI" desc="The wifi network device.">
        Wi-Fi
      </message>
      <message name="IDS_STATUSBAR_NETWORK_DEVICE_CELLULAR" desc="The cellular network device.">
        Mobile Data
      </message>
      <message name="IDS_STATUSBAR_NETWORK_DEVICE_CONNECTING" desc="The network device status connecting.">
        Connecting...
      </message>
      <message name="IDS_STATUSBAR_NETWORK_DEVICE_CONNECTED" desc="The network device status connected.">
        Connected
      </message>
      <message name="IDS_STATUSBAR_NETWORK_DEVICE_DISCONNECTED" desc="The network device status disconnected.">
        Disconnected
      </message>
      <message name="IDS_STATUSBAR_NETWORK_DEVICE_NOT_CONFIGURED" desc="The network device status not configured.">
        Not configured
      </message>
      <message name="IDS_STATUSBAR_NETWORK_DEVICE_DISABLED" desc="The network device status disabled.">
        Off
      </message>
      <message name="IDS_STATUSBAR_NETWORK_DEVICE_ACTIVATING" desc="The network device is activating.">
        Activating...
      </message>
      <message name="IDS_STATUSBAR_NETWORK_DEVICE_ACTIVATE" desc="Activate the network device.">
        Activate <ph name="NETWORKSERVICE">$1<ex>YBH Cellular</ex></ph>
      </message>
      <message name="IDS_STATUSBAR_NETWORK_DEVICE_ENABLE" desc="Enable the network device.">
        Enable <ph name="NETWORKDEVICE">$1<ex>Wifi</ex></ph>
      </message>
      <message name="IDS_STATUSBAR_NETWORK_DEVICE_DISABLE" desc="Disable the network device.">
        Disable <ph name="NETWORKDEVICE">$1<ex>Wifi</ex></ph>
      </message>
      <message name="IDS_STATUSBAR_NETWORK_DEVICE_STATUS" desc="The status of the network device.">
        <ph name="NETWORKDEVICE">$1<ex>Wifi</ex></ph>: <ph name="STATUS">$2<ex>Connecting</ex></ph>
      </message>
      <message name="IDS_STATUSBAR_NETWORK_MENU_ITEM_INDENT" desc="A menu item label with an indentation. For left-to-right languages, we use 3 spaces on the left.">
        '''   <ph name="LABEL">$1<ex>Wifi SSID</ex></ph>'''
      </message>
      <message name="IDS_STATUSBAR_NETWORK_OFFLINE_MODE" desc="The offline mode.">
        Offline mode
      </message>
      <message name="IDS_STATUSBAR_NETWORK_OPEN_OPTIONS_DIALOG" desc="The menu item in the network menu button for opening the options dialog">
        Network settings...
      </message>
      <message name="IDS_STATUSBAR_NETWORK_OPEN_PROXY_SETTINGS_DIALOG" desc="The menu item in the network menu button at login screen for opening the options dialog">
        Proxy settings...
      </message>
      <message name="IDS_STATUSBAR_NETWORK_MORE" desc="Message for last link in the network menu requesting more technical and less common stuff (proxy settings, IP and hardware addresses)">
        More...
      </message>
      <message name="IDS_STATUSBAR_NETWORK_PRIVATE_NETWORKS" desc="In the network status menu, the text for submenu of private networks.">
        Private networks
      </message>
      <message name="IDS_STATUSBAR_NETWORK_ADD_VPN" desc="In the network status menu, the text in Private networks submenu to add a private network.">
        Add private network...
      </message>
      <message name="IDS_STATUSBAR_NETWORK_DISCONNECT_VPN" desc="In the network status menu, the text in Private networks submenu to disconnect from a private network.">
        Disconnect private network
      </message>
      <message name="IDS_STATUSBAR_NETWORK_VIEW_ACCOUNT" desc="In the network status menu, the text of the top-up URL link.">
        View Account
      </message>
      <message name="IDS_STATUSBAR_NO_NETWORKS_MESSAGE" desc="No networks are available">
        No networks are available
      </message>
      <message name="IDS_STATUSBAR_WIFI_SCANNING_MESSAGE" desc="Scanning for wifi networks">
        Searching for Wi-Fi networks...
      </message>
      <message name="IDS_STATUSBAR_CAPS_LOCK_ENABLED" desc="The tooltip for the caps lock indicator button.">
        CAPS LOCK is on\nPress both Shift keys to cancel
      </message>
      <message name="IDS_STATUSBAR_CAPS_LOCK_ENABLED_PRESS_SEARCH" desc="The tooltip for the caps lock indicator button.">
        CAPS LOCK is on\nPress Search key to cancel
      </message>
      <message name="IDS_STATUSBAR_CLOCK_OPEN_OPTIONS_DIALOG" desc="The menu item in the clock menu button for opening the options dialog">
        Open date and time options...
      </message>
      <message name="IDS_STATUSBAR_BATTERY_PERCENTAGE" desc="In the power menu button, this shows what percentage of battery is left.">
        Battery: <ph name="PRECENTAGE">$1<ex>100</ex></ph>%
      </message>
      <message name="IDS_STATUSBAR_NO_BATTERY" desc="In the power menu button, menu item label shown when there is no battery installed in the device.">
        No battery
      </message>
      <message name="IDS_STATUSBAR_BATTERY_TIME_UNTIL_FULL" desc="In the power menu button, this shows how much time until fully charged.">
        <ph name="HOUR">$1<ex>2</ex></ph>:<ph name="MINUTE">$2<ex>30</ex></ph> until full
      </message>
      <message name="IDS_STATUSBAR_BATTERY_TIME_UNTIL_EMPTY" desc="In the power menu button, this shows how much time until empty.">
        <ph name="HOUR">$1<ex>2</ex></ph>:<ph name="MINUTE">$2<ex>30</ex></ph> remaining
      </message>
      <message name="IDS_STATUSBAR_BATTERY_CALCULATING_TIME_UNTIL_FULL" desc="In the power menu button, this is the message the shows when we are calculating time until full.">
        Calculating time until full
      </message>
      <message name="IDS_STATUSBAR_BATTERY_CALCULATING_TIME_UNTIL_EMPTY" desc="In the power menu button, this is the message the shows when we are calculating time until empty.">
        Calculating remaining time
      </message>
      <message name="IDS_STATUSBAR_BATTERY_DISCHARGING" desc="In the power menu popup, indicates that the battery is being used.">
        Battery
      </message>
      <message name="IDS_STATUSBAR_BATTERY_CHARGING" desc="In the power menu popup, indicates that the battery is being charged.">
        Charging
      </message>
      <message name="IDS_STATUSBAR_BATTERY_IS_CHARGED" desc="In the power menu button, the battery is charged message.">
        Battery full
      </message>
      <message name="IDS_STATUSBAR_FEEDBACK_TOOLTIP" desc="Tooltip for the feedback status bar icon.">
        Report a bug
      </message>
      <message name="IDS_STATUSBAR_NETWORK_NO_NETWORK_TOOLTIP" desc="Tooltip for the network menu status bar icon when no network is connected.">
        No network
      </message>
      <message name="IDS_STATUSBAR_NETWORK_CONNECTING_TOOLTIP" desc="Tooltip for the network menu status bar icon when connecting to a network.">
        Associating with <ph name="NAME">$1<ex>GoogleGuest</ex></ph>
      </message>
      <message name="IDS_STATUSBAR_NETWORK_CONFIGURING_TOOLTIP" desc="Tooltip for the network menu status bar icon when configure ip addres for a network.">
        Configuring IP Address for <ph name="NAME">$1<ex>GoogleGuest</ex></ph>
      </message>
      <message name="IDS_STATUSBAR_NETWORK_CONNECTED_TOOLTIP" desc="Tooltip for the network menu status bar icon when connected to a network.">
        Connected to <ph name="NAME">$1<ex>GoogleGuest</ex></ph>
      </message>
      <message name="IDS_STATUSBAR_CLOCK_TOOLTIP" desc="Tooltip for the clock in the status bar.">
        <ph name="DATE">$1<ex>Aug 16, 2010</ex></ph>
      </message>
      <message name="IDS_STATUSBAR_WINDOW_MAXIMIZE_TOOLTIP" desc="Tooltip for the layout mode button in the status bar when the window is unmaximized.">
        Maximize
      </message>
      <message name="IDS_STATUSBAR_WINDOW_RESTORE_TOOLTIP" desc="Tooltip for the layout mode button in the status bar when the window is maximized.">
        Restore
      </message>
      <message name="IDS_VERSION_FIELD_PREFIX" desc="Display the OS version to the user.">
        version
      </message>
      <message name="IDS_PROXY_PAGE_TITLE_FORMAT" desc="The title of the proxy page for a specific network.">
        Network proxy for <ph name="NETWORK_NAME">$1<ex>Ethernet</ex></ph>
      </message>
      <message name="IDS_PROXY_CONFIG_TITLE" desc="The title of the basic proxy config.">
        Proxy Configuration
      </message>
      <message name="IDS_PROXY_DIRECT_CONNECTION" desc="Radio used to tell it to just connect directly, not use a proxy.">
        Direct Internet connection
      </message>
      <message name="IDS_PROXY_MANUAL_CONFIG" desc="Radio used to tell it to configure manually.">
        Manual proxy configuration
      </message>
      <message name="IDS_PROXY_SAME_FORALL" desc="Radio used to tell it to use the same proxy.">
        Use the same proxy for all protocols
      </message>
      <message name="IDS_PROXY_HTTP_PROXY" desc="Label for the http proxy box.">
        HTTP proxy
      </message>
      <message name="IDS_PROXY_HTTP_SECURE_HTTP_PROXY" desc="Label for the secure http proxy box.">
        Secure HTTP proxy
      </message>
      <message name="IDS_PROXY_FTP_PROXY" desc="Label for the ftp proxy box.">
        FTP proxy
      </message>
      <message name="IDS_PROXY_SOCKS_HOST" desc="Label for the SOCKS host box.">
        SOCKS host
      </message>
      <message name="IDS_PROXY_AUTOMATIC" desc="Radio to select configuring from a URL.">
        Automatic proxy configuration
      </message>
      <message name="IDS_PROXY_CONFIG_URL" desc="Label for the proxy config URL box.">
        Autoconfiguration URL
      </message>
      <message name="IDS_PROXY_ADVANCED_CONFIG" desc="Label for the Advanced Proxy.">
        Advanced Configuration
      </message>
      <message name="IDS_PROXY_ADD_HOST" desc="Label for the Add host button.">
        Add
      </message>
      <message name="IDS_PROXY_REMOVE_HOST" desc="Label for the Remove host button.">
        Remove
      </message>
      <message name="IDS_PROXY_PORT" desc="Label for the Port box.">
        Port
      </message>
      <message name="IDS_PROXY_BYPASS" desc="Label for the proxy bypass list.">
        Do not use the proxy settings for these hosts and domains:
      </message>

      <!-- Accessibility strings, to be spoken -->
      <message name="IDS_CHROMEOS_ACC_BUTTON" desc="Label indicating that a control is a pushbutton.">
        Button
      </message>
      <message name="IDS_CHROMEOS_ACC_CHECKBOX_UNCHECKED" desc="Label indicating that a control is an unchecked check box.">
        Unchecked check box
      </message>
      <message name="IDS_CHROMEOS_ACC_CHECKBOX_CHECKED" desc="Label indicating that a control is a checked check box.">
        Checked check box
      </message>
      <message name="IDS_CHROMEOS_ACC_RADIO_UNSELECTED" desc="Label indicating that a control is an unselected radio button.">
        Unselected radio button
      </message>
      <message name="IDS_CHROMEOS_ACC_RADIO_SELECTED" desc="Label indicating that a control is a selected radio button.">
        Selected radio button
      </message>
      <message name="IDS_CHROMEOS_ACC_COMBOBOX" desc="Label indicating that a control is a combo box, a control that pops down a list of options to choose from.">
        Combo box
      </message>
      <message name="IDS_CHROMEOS_ACC_LISTBOX" desc="Label indicating that a control is a list box, a control that shows a fixed list of options to choose from.">
        List box
      </message>
      <message name="IDS_CHROMEOS_ACC_LINK" desc="Label indicating that a control is a clickable link.">
        Link
      </message>
      <message name="IDS_CHROMEOS_ACC_MENU" desc="Label indicating that a control is a menu that will drop down to reveal options if you click on it.">
        Menu
      </message>
      <message name="IDS_CHROMEOS_ACC_TAB" desc="Label indicating that a control is one tab in a tabbed dialog or window.">
        Tab
      </message>
      <message name="IDS_CHROMEOS_ACC_TEXTBOX" desc="Label indicating that a control is an editable text box.">
        Text box
      </message>
      <message name="IDS_CHROMEOS_ACC_PASSWORDBOX" desc="Label indicating that a control is a secure editable text box for a password, where the keys you type will be obscured.">
        Password text box
      </message>
      <message name="IDS_CHROMEOS_ACC_INDEX_OF_COUNT" desc="Phrase indicating that the current selected item is number INDEX out of a list of COUNT choices, for example if the list is A, B, C, D, E and the user has selected C the phrase would be '3 of 5'.">
        <ph name="INDEX">$1<ex>3</ex></ph> of <ph name="COUNT">$2<ex>5</ex></ph>
      </message>
      <message name="IDS_CHROMEOS_ACC_HAS_SUBMENU" desc="Phrase indicating that a menu item has a submenu.">
        Has submenu
      </message>
      <message name="IDS_CHROMEOS_ACC_SELECTED" desc="Phrase indicating that a control was selected or activated.">
        Selected
      </message>
      <message name="IDS_CHROMEOS_ACC_EXCLAMATION_POINT" desc="The name of the exclamation point character.">
        Exclamation point
      </message>
      <message name="IDS_CHROMEOS_ACC_LEFT_PAREN" desc="The name of the left parenthesis character, abbreviated or shortened if possible.">
        Left paren
      </message>
      <message name="IDS_CHROMEOS_ACC_RIGHT_PAREN" desc="The name of the left parenthesis character, abbreviated or shortened if possible.">
        Right paren
      </message>
      <message name="IDS_CHROMEOS_ACC_SEMICOLON" desc="The name of the semicolon character.">
        Semicolon
      </message>
      <message name="IDS_CHROMEOS_ACC_COLON" desc="The name of the colon character.">
        Colon
      </message>
      <message name="IDS_CHROMEOS_ACC_QUOTE" desc="The name of the quotation mark character, abbreviated or shortened if possible.">
        Quote
      </message>
      <message name="IDS_CHROMEOS_ACC_COMMA" desc="The name of the comma character.">
        Comma
      </message>
      <message name="IDS_CHROMEOS_ACC_PERIOD" desc="The name of the period character.">
        Period
      </message>
      <message name="IDS_CHROMEOS_ACC_SPACE" desc="The name of a space character.">
        Space
      </message>
      <message name="IDS_CHROMEOS_ACC_TEXT_UNSELECTED" desc="A phrase to indicate to the user that text has been unselected.">
        Unselected
      </message>
      <message name="IDS_CHROMEOS_ACC_ACCESS_ENABLED" desc="A phrase to speak when accessibility is enabled.">
        Enabling spoken feedback.
      </message>
      <message name="IDS_CHROMEOS_ACC_ACCESS_DISABLED" desc="A phrase to speak when accessibility is disabled.">
        Disabling spoken feedback.
      </message>
      <message name="IDS_CHROMEOS_ACC_USERNAME_LABEL" desc="Label for the username text field.">
        Username.
      </message>
      <message name="IDS_CHROMEOS_ACC_LOGIN_SIGNING_IN" desc="Status when signing in.">
        Signing in.
      </message>
      <message name="IDS_CHROMEOS_ACC_LOGIN_SIGNIN_OFFRECORD" desc="Status when signing in incognito.">
        Signing in guest mode.
      </message>
      <message name="IDS_CHROMEOS_ACC_ACCOUNT_PICTURE" desc="Tooltip for the take account picture button.">
        Take picture.
      </message>

      <!-- Removable device notifications -->
      <message name="IDS_REMOVABLE_DEVICE_DETECTION_TITLE" desc="Text of notification message which is shown when user inserts removable device (SD card, USB key...)">
        Removable device detected
      </message>
      <message name="IDS_REMOVABLE_DEVICE_SCANNING_MESSAGE" desc="Text of notification message which is shown when user inserts removable device (SD card, USB key...)">
        Scanning content...
      </message>
      <message name="IDS_DEVICE_UNSUPPORTED_MESSAGE" desc="Text of notification message which is shown when user inserts removable device (SD card, USB key...)">
       Sorry, <ph name="DEVICE_LABEL">$1<ex>SD card</ex></ph> is not supported on your Chromebook at this time.
      </message>
      <message name="IDS_DEVICE_UNSUPPORTED_DEFAULT_MESSAGE" desc="Text of notification message which is shown when user inserts removable device (SD card, USB key...)">
       Sorry, the external storage device is not supported on your Chromebook at this time.
      </message>

      <!-- Formatting device notifications -->
      <message name="IDS_FORMATTING_OF_DEVICE_PENDING_TITLE" desc="Text of notification message which is shown when formatting process of some device is pending">
        Formatting pending
      </message>
      <message name="IDS_FORMATTING_OF_DEVICE_FINISHED_TITLE" desc="Text of notification message which is shown when formatting process finshes">
        Formatting finished
      </message>
      <message name="IDS_FORMATTING_OF_DEVICE_PENDING_MESSAGE" desc="Text of notification message which is shown when formatting process of some device is pending">
        The formatting process can take a couple of seconds. Please wait.
      </message>
      <message name="IDS_FORMATTING_STARTED_FAILURE_MESSAGE" desc="Text of notification message which is shown when formatting process can not be started.">
        Could not start the formatting process.
      </message>
      <message name="IDS_FORMATTING_FINISHED_SUCCESS_MESSAGE" desc="Text of notification message which is shown when formatting finishes without any errors.">
        Formatting finished successfully!
      </message>
      <message name="IDS_FORMATTING_FINISHED_FAILURE_MESSAGE" desc="Text of notification message which is shown when there are some errors while formatting.">
        Aw, Snap! There've been some errors while formatting...
      </message>

      <!-- Network state strings for ChromeOS -->
      <message name="IDS_CHROMEOS_NETWORK_STATE_UNKNOWN" desc="Network state in about:network: UNKNOWN">
        Unknown
      </message>
      <message name="IDS_CHROMEOS_NETWORK_STATE_IDLE" desc="Network state in about:network: IDLE">
        Idle
      </message>
      <message name="IDS_CHROMEOS_NETWORK_STATE_CARRIER" desc="Network state in about:network: CARRIER">
        Carrier
      </message>
      <message name="IDS_CHROMEOS_NETWORK_STATE_ASSOCIATION" desc="Network state in about:network: ASSOCIATION">
        Association
      </message>
      <message name="IDS_CHROMEOS_NETWORK_STATE_CONFIGURATION" desc="Network state in about:network: CONFIGURATION">
        Configuration
      </message>
      <message name="IDS_CHROMEOS_NETWORK_STATE_READY" desc="Network state in about:network: READY">
        Connected
      </message>
      <message name="IDS_CHROMEOS_NETWORK_STATE_DISCONNECT" desc="Network state in about:network: DISCONNECT">
        Disconnect
      </message>
      <message name="IDS_CHROMEOS_NETWORK_STATE_FAILURE" desc="Network state in about:network: FAILURE">
        Failure
      </message>
      <message name="IDS_CHROMEOS_NETWORK_STATE_ACTIVATION_FAILURE" desc="Network state in about:network: ACTIVATION_FAILURE">
        Activation failure
      </message>
      <message name="IDS_CHROMEOS_NETWORK_STATE_UNRECOGNIZED" desc="Network state in about:network: Unrecognized">
        Unrecognized state
      </message>
      <message name="IDS_CHROMEOS_NETWORK_STATE_PORTAL" desc="Network state in about:network: Portal">
        Portal state
      </message>
      <message name="IDS_CHROMEOS_NETWORK_STATE_ONLINE" desc="Network state in about:network: Online">
        Online state
      </message>

      <!-- Network error strings for ChromeOS -->
      <message name="IDS_CHROMEOS_NETWORK_ERROR_UNKNOWN" desc="Network error in about:network: UNKNOWN">
        Unknown network error
      </message>
      <message name="IDS_CHROMEOS_NETWORK_ERROR_OUT_OF_RANGE" desc="Network error in about:network: OUT_OF_RANGE">
        Out of range
      </message>
      <message name="IDS_CHROMEOS_NETWORK_ERROR_PIN_MISSING" desc="Network error in about:network: PIN_MISSING">
        PIN missing
      </message>
      <message name="IDS_CHROMEOS_NETWORK_ERROR_DHCP_FAILED" desc="Network error in about:network: DHCP_FAILED">
        DHCP lookup failed
      </message>
      <message name="IDS_CHROMEOS_NETWORK_ERROR_CONNECT_FAILED" desc="Network error in about:network: CONNECT_FAILED">
        Connect failed
      </message>
      <message name="IDS_CHROMEOS_NETWORK_ERROR_BAD_PASSPHRASE" desc="Network error in about:network: BAD_PASSPHRASE">
        Bad passphrase
      </message>
      <message name="IDS_CHROMEOS_NETWORK_ERROR_BAD_WEPKEY" desc="Network error in about:network: BAD_WEPKEY">
        Bad WEP key
      </message>
      <message name="IDS_CHROMEOS_NETWORK_ERROR_ACTIVATION_FAILED" desc="Network error in about:network: ACTIVATION_FAILED">
        Activation failed
      </message>
      <message name="IDS_CHROMEOS_NETWORK_ERROR_NEED_EVDO" desc="Network error in about:network: NEED_EVDO">
        Need EVDO
      </message>
      <message name="IDS_CHROMEOS_NETWORK_ERROR_NEED_HOME_NETWORK" desc="Network error in about:network: NEED_HOME_NETWORK">
        Need home network
      </message>
      <message name="IDS_CHROMEOS_NETWORK_ERROR_OTASP_FAILED" desc="Network error in about:network: OTASP_FAILED">
        OTASP failed
      </message>
      <message name="IDS_CHROMEOS_NETWORK_ERROR_AAA_FAILED" desc="Network error in about:network: AAA_FAILED">
        AAA check failed
      </message>
      <message name="IDS_CHROMEOS_NETWORK_ERROR_INTERNAL" desc="Network error in about:network: INTERNAL">
        Internal error
      </message>
      <message name="IDS_CHROMEOS_NETWORK_ERROR_DNS_LOOKUP_FAILED" desc="Network error in about:network: DNS_LOOKUP_FAILED">
        DNS lookup failed
      </message>
      <message name="IDS_CHROMEOS_NETWORK_ERROR_HTTP_GET_FAILED" desc="Network error in about:network: HTTP_GET_FAILED">
        HTTP get failed
      </message>
      <message name="IDS_CHROMEOS_NETWORK_ERROR_UNRECOGNIZED" desc="Network error in about:network: Unrecognized">
        Unrecognized error
      </message>

      <!-- Cellular network technology description strings for ChromeOS -->
      <message name="IDS_CHROMEOS_NETWORK_CELLULAR_TECHNOLOGY_UNKNOWN" desc="Description of unknown cellular network technology. Shown under details on chrome:stettings/internet page.">
        Unknown
      </message>

      <!-- Cellular network activation state description strings for ChromeOS -->
      <message name="IDS_CHROMEOS_NETWORK_ACTIVATION_STATE_ACTIVATED" desc="Description of state of activated cellular data plan. Shown under details on chrome:stettings/internet page.">
        Activated
      </message>
      <message name="IDS_CHROMEOS_NETWORK_ACTIVATION_STATE_ACTIVATING" desc="Description of state of currently activating cellular data plan. Shown under details on chrome:stettings/internet page.">
        Activating
      </message>
      <message name="IDS_CHROMEOS_NETWORK_ACTIVATION_STATE_NOT_ACTIVATED" desc="Description of state of unactivated cellular data plan. Shown under details on chrome:stettings/internet page.">
        Not activated
      </message>
      <message name="IDS_CHROMEOS_NETWORK_ACTIVATION_STATE_PARTIALLY_ACTIVATED" desc="Description of state of partially activated cellular data plan state. Shown under details on chrome:stettings/internet page.">
        Partially activated
      </message>
      <message name="IDS_CHROMEOS_NETWORK_ACTIVATION_STATE_UNKNOWN" desc="Description of cellular data plan with unknown status. Shown under details on chrome:stettings/internet page.">
        Unknown
      </message>

      <!-- Cellular network roaming status description strings for ChromeOS -->
      <message name="IDS_CHROMEOS_NETWORK_ROAMING_STATE_HOME" desc="Description of cellular roaming status while connected to home network. Shown under details on chrome:stettings/internet page.">
        Home network, not roaming
      </message>
      <message name="IDS_CHROMEOS_NETWORK_ROAMING_STATE_ROAMING" desc="Description of cellular roaming status while roaming. Shown under details on chrome:stettings/internet page.">
        Roaming
      </message>
      <message name="IDS_CHROMEOS_NETWORK_ROAMING_STATE_UNKNOWN" desc="Description of unknown cellular roaming status. Shown under details on chrome:stettings/internet page.">
        Unknown
      </message>

      <!-- Cellular network details -->
      <message name="IDS_CHROMEOS_NETWORK_STATE" desc="Label for network state field under in chrome://options/internet">
        Network status:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_OPERATOR" desc="Label for cellular network operator name under chrome://options/internet">
        Operator:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_OPERATOR_CODE" desc="Label for cellular network operator code under chrome://options/internet">
        Operator code:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_NETWORK_TECHNOLOGY" desc="Label for cellular network technology type under chrome://options/internet">
        Technology:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_ACTIVATION_STATE" desc="Label for cellular network activation status under chrome://options/internet">
        Activation status:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_ROAMING_STATE" desc="Label for cellular network roaming status under chrome://options/internet">
        Roaming status:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_RESTRICTED_POOL" desc="Label for cellular network restricted network access under chrome://options/internet">
        Restricted IP:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_ERROR_STATE" desc="Label for cellular network error details under chrome://options/internet">
        Error details:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_MANUFACTURER" desc="Label for cellular network modem manufacturer under chrome://options/internet">
        Device manufacturer:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_MODEL_ID" desc="Label for cellular network modem model under chrome://options/internet">
        Device model:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_FIRMWARE_REVISION" desc="Label for cellular network modem firmware revision under chrome://options/internet">
        Firmware revision:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_HARDWARE_REVISION" desc="Label for cellular network modem hardware revision under chrome://options/internet">
        Hardware revision:
      </message>
      <message name="IDS_OPTIONS_SETTINGS_INTERNET_CELLULAR_PRL_VERSION" desc="Label for cellular network modem PRL (Preferred Roaming List) version under chrome://options/internet">
        PRL version:
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_TITLE" desc="The title of the keyboard overlay.">
        Keyboard Overlay
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_INSTRUCTIONS" desc="The instructions for the keyboard overlay.">
        Hold Control, Alt, or Shift to see keyboard shortcuts for those modifiers.
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_INSTRUCTIONS_HIDE" desc="The instruction for hiding the keyboard overlay.">
        Type Ctrl+Alt+/ or Escape to hide
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_ACTIVATE_LAST_TAB" desc="The text in the keyboard overlay to explain the shortcut.">
        Activate last tab
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_ACTIVATE_LAST_WINDOW" desc="The text in the keyboard overlay to explain the shortcut (go to the last window open).">
        Activate last window
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_ACTIVATE_NEXT_TAB" desc="The text in the keyboard overlay to explain the shortcut.">
        Activate next tab
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_ACTIVATE_PREVIOUS_TAB" desc="The text in the keyboard overlay to explain the shortcut.">
        Activate previous tab
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_ACTIVATE_TAB_1" desc="The text in the keyboard overlay to explain the shortcut.">
        Activate tab 1
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_ACTIVATE_TAB_2" desc="The text in the keyboard overlay to explain the shortcut.">
        Activate tab 2
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_ACTIVATE_TAB_3" desc="The text in the keyboard overlay to explain the shortcut.">
        Activate tab 3
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_ACTIVATE_TAB_4" desc="The text in the keyboard overlay to explain the shortcut.">
        Activate tab 4
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_ACTIVATE_TAB_5" desc="The text in the keyboard overlay to explain the shortcut.">
        Activate tab 5
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_ACTIVATE_TAB_6" desc="The text in the keyboard overlay to explain the shortcut.">
        Activate tab 6
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_ACTIVATE_TAB_7" desc="The text in the keyboard overlay to explain the shortcut.">
        Activate tab 7
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_ACTIVATE_TAB_8" desc="The text in the keyboard overlay to explain the shortcut.">
        Activate tab 8
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_ACTIVATE_WINDOW_1" desc="The text in the keyboard overlay to explain the shortcut (go to the window at the specified position).">
        Activate window 1
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_ACTIVATE_WINDOW_2" desc="The text in the keyboard overlay to explain the shortcut (go to the window at the specified position).">
        Activate window 2
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_ACTIVATE_WINDOW_3" desc="The text in the keyboard overlay to explain the shortcut (go to the window at the specified position).">
        Activate window 3
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_ACTIVATE_WINDOW_4" desc="The text in the keyboard overlay to explain the shortcut (go to the window at the specified position).">
        Activate window 4
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_ACTIVATE_WINDOW_5" desc="The text in the keyboard overlay to explain the shortcut (go to the window at the specified position).">
        Activate window 5
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_ACTIVATE_WINDOW_6" desc="The text in the keyboard overlay to explain the shortcut (go to the window at the specified position).">
        Activate window 6
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_ACTIVATE_WINDOW_7" desc="The text in the keyboard overlay to explain the shortcut (go to the window at the specified position).">
        Activate window 7
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_ACTIVATE_WINDOW_8" desc="The text in the keyboard overlay to explain the shortcut (go to the window at the specified position).">
        Activate window 8
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_ADD_WWW_AND_COM_AND_OPEN_ADDRESS" desc="The text in the keyboard overlay to explain the shortcut.">
        Add www. and .com and open address
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_BOOKMARK_ALL_TABS" desc="The text in the keyboard overlay to explain the shortcut.">
        Bookmark all tabs
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_BOOKMARK_CURRENT_PAGE" desc="The text in the keyboard overlay to explain the shortcut.">
        Bookmark current page
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_BOOKMARK_MANAGER" desc="The text in the keyboard overlay to explain the shortcut (open the Bookmark Manager).">
        Bookmark Manager
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_CLEAR_BROWSING_DATA_DIALOG" desc="The text in the keyboard overlay to explain the shortcut.">
        "Clear browsing data" dialog
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_CLOSE_TAB" desc="The text in the keyboard overlay to explain the shortcut.">
        Close tab
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_CLOSE_WINDOW" desc="The text in the keyboard overlay to explain the shortcut.">
        Close window
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_CONTENT_BROWSER" desc="The text in the keyboard overlay to explain the shortcut.">
        Content browser
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_COPY" desc="The text in the keyboard overlay to explain the shortcut.">
        Copy
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_CUT" desc="The text in the keyboard overlay to explain the shortcut.">
        Cut
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_CYCLE_THROUGH_INPUT_METHODS" desc="The text in the keyboard overlay to explain the shortcut.">
        Cycle through input methods
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_DELETE" desc="The text in the keyboard overlay to explain the shortcut.">
        Delete
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_DELETE_WORD" desc="The text in the keyboard overlay to explain the shortcut.">
        Delete word
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_DEVELOPER_TOOLS" desc="The text in the keyboard overlay to explain the shortcut.">
        Developer Tools
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_DOM_INSPECTOR" desc="The text in the keyboard overlay to explain the shortcut.">
        DOM Inspector
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_DOWNLOADS" desc="The text in the keyboard overlay to explain the shortcut.">
        Downloads
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_END" desc="The text in the keyboard overlay to explain the shortcut.">
        End
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_FIND_PREVIOUS_TEXT" desc="The text in the keyboard overlay to explain the shortcut.">
        Find previous text
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_FIND_TEXT" desc="The text in the keyboard overlay to explain the shortcut.">
        Find text
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_FIND_TEXT_AGAIN" desc="The text in the keyboard overlay to explain the shortcut.">
        Find text again
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_FOCUS_ADDRESS_BAR" desc="The text in the keyboard overlay to explain the shortcut.">
        Focus address bar
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_FOCUS_ADDRESS_BAR_IN_SEARCH_MODE" desc="The text in the keyboard overlay to explain the shortcut.">
        Focus address bar in search mode
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_FOCUS_BOOKMARKS" desc="The text in the keyboard overlay to explain the shortcut.">
        Focus bookmarks
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_FOCUS_NEXT_PANE" desc="The text in the keyboard overlay to explain the shortcut (switch focus to the next keyboard-accessible pane).">
        Focus next pane
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_FOCUS_PREVIOUS_PANE" desc="The text in the keyboard overlay to explain the shortcut (switch focus to the previous keyboard-accessible pane).">
        Focus previous pane
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_FOCUS_STATUS_ICON" desc="The text in the keyboard overlay to explain the shortcut.">
        Focus status icon
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_FOCUS_TOOLBAR" desc="The text in the keyboard overlay to explain the shortcut.">
        Focus toolbar
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_FOCUS_WRENCH_MENU" desc="The text in the keyboard overlay to explain the shortcut.">
        Focus wrench menu
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_GO_BACK" desc="The text in the keyboard overlay to explain the shortcut.">
        Go back
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_GO_FORWARD" desc="The text in the keyboard overlay to explain the shortcut.">
        Go forward
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_HELP" desc="The text in the keyboard overlay to explain the shortcut.">
        Help
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_HISTORY" desc="The text in the keyboard overlay to explain the shortcut.">
        History
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_HOME" desc="The text in the keyboard overlay to explain the shortcut.">
        Home
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_INPUT_UNICODE_CHARACTERS" desc="The text in the keyboard overlay to explain the shortcut.">
        Input Unicode characters
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_JAVASCRIPT_CONSOLE" desc="The text in the keyboard overlay to explain the shortcut.">
        JavaScript Console
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_LOCK_SCREEN_OR_POWER_OFF" desc="The text in the keyboard overlay to explain the shortcut.">
        Lock screen or power off
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_NEW_INCOGNITO_WINDOW" desc="The text in the keyboard overlay to explain the shortcut.">
        New Incognito window
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_NEW_TAB" desc="The text in the keyboard overlay to explain the shortcut.">
        New tab
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_NEW_WINDOW" desc="The text in the keyboard overlay to explain the shortcut.">
        New window
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_NEXT_WINDOW" desc="The text in the keyboard overlay to explain the shortcut.">
        Next window
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_NEXT_WORD" desc="The text in the keyboard overlay to explain the shortcut (move the text cursor to the end of the next word).">
        Next word
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_OPEN_ADDRESS_IN_NEW_TAB" desc="The text in the keyboard overlay to explain the shortcut.">
        Open address in new tab
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_OPEN_FILE_MANAGER" desc="The text in the keyboard overlay to explain the shortcut.">
        Open file manager
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_PAGE_DOWN" desc="The text in the keyboard overlay to explain the shortcut.">
        Page Down
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_PAGE_UP" desc="The text in the keyboard overlay to explain the shortcut.">
        Page Up
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_PASTE" desc="The text in the keyboard overlay to explain the shortcut.">
        Paste
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_PASTE_AS_PLAIN_TEXT" desc="The text in the keyboard overlay to explain the shortcut.">
        Paste as plain text
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_PREVIOUS_WINDOW" desc="The text in the keyboard overlay to explain the shortcut.">
        Previous window
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_PREVIOUS_WORD" desc="The text in the keyboard overlay to explain the shortcut (move the text cursor to the start of the previous word).">
        Previous word
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_PRINT" desc="The text in the keyboard overlay to explain the shortcut.">
        Print
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_RELOAD_CURRENT_PAGE" desc="The text in the keyboard overlay to explain the shortcut.">
        Reload current page
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_RELOAD_IGNORING_CACHE" desc="The text in the keyboard overlay to explain the shortcut.">
        Reload ignoring cache
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_REOPEN_LAST_CLOSED_TAB" desc="The text in the keyboard overlay to explain the shortcut.">
        Reopen last-closed tab
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_RESET_ZOOM" desc="The text in the keyboard overlay to explain the shortcut.">
        Reset zoom
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_RESIZE_LEFT" desc="The text in the keyboard overlay to explain the shortcut (resize the focused window towards the left).">
        Resize left
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_RESIZE_RIGHT" desc="The text in the keyboard overlay to explain the shortcut (resize the focused window towards the right).">
        Resize right
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_SAVE" desc="The text in the keyboard overlay to explain the shortcut.">
        Save
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_SCREENSHOT_REGION" desc="The text in the keyboard overlay to explain the shortcut (take a screenshot of the selected region).">
        Screenshot region
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_SCROLL_UP_ONE_PAGE" desc="The text in the keyboard overlay to explain the shortcut.">
        Scroll up one page
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_SELECT_ALL" desc="The text in the keyboard overlay to explain the shortcut.">
        Select all
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_SELECT_PREVIOUS_INPUT_METHOD" desc="The text in the keyboard overlay to explain the shortcut.">
        Select previous input method
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_SELECT_WORD_AT_A_TIME" desc="The text in the keyboard overlay to explain the shortcut.">
        Select "word at a time"
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_SHOW_WRENCH_MENU" desc="The text in the keyboard overlay to explain the shortcut.">
        Show wrench menu
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_SIGN_OUT" desc="The text in the keyboard overlay to explain the shortcut.">
        Sign out
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_TAKE_SCREENSHOT" desc="The text in the keyboard overlay to explain the shortcut.">
        Take screenshot
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_TASK_MANAGER" desc="The text in the keyboard overlay to explain the shortcut.">
        Task Manager
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_TOGGLE_ACCESSIBILITY_FEATURES" desc="The text in the keyboard overlay to explain the shortcut (enable or disable accessibility features).">
        Toggle accessibility features
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_TOGGLE_BOOKMARK_BAR" desc="The text in the keyboard overlay to explain the shortcut.">
        Toggle bookmark bar
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_UNDO" desc="The text in the keyboard overlay to explain the shortcut.">
        Undo
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_VIEW_KEYBOARD_OVERLAY" desc="The text in the keyboard overlay to explain the shortcut.">
        View keyboard overlay
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_VIEW_SOURCE" desc="The text in the keyboard overlay to explain the shortcut.">
        View source
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_WORD_MOVE" desc="The text in the keyboard overlay to explain the shortcut.">
        Word move
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_ZOOM_IN" desc="The text in the keyboard overlay to explain the shortcut.">
        Zoom in
      </message>
      <message name="IDS_KEYBOARD_OVERLAY_ZOOM_OUT" desc="The text in the keyboard overlay to explain the shortcut.">
        Zoom out
      </message>
    </if>
    <if expr="pp_ifdef('chromeos') and lang == 'ja'">
      <message name="IDS_STATUSBAR_IME_JAPANESE_IME_STATUS_HIRAGANA" desc="In the language menu button, this shows a character set in use is set to Hiragana.">
        Hiragana
      </message>
      <message name="IDS_STATUSBAR_IME_JAPANESE_IME_STATUS_KATAKANA" desc="In the language menu button, this shows a character set in use is set to KATAKANA.">
        Katakana
      </message>
    </if>
    <if expr="pp_ifdef('chromeos') and lang != 'ja'">
      <message translateable="false" name="IDS_STATUSBAR_IME_JAPANESE_IME_STATUS_HIRAGANA" desc="">
        Hiragana
      </message>
      <message translateable="false" name="IDS_STATUSBAR_IME_JAPANESE_IME_STATUS_KATAKANA" desc="">
        Katakana
      </message>
    </if>
    <if expr="pp_ifdef('chromeos')">
      <message name="IDS_STATUSBAR_IME_JAPANESE_IME_STATUS_DIRECT_INPUT" desc="In the language menu button, this shows a character set in use is set to 'direct input' mode.">
        Direct input
      </message>
      <!-- "Half width" part is translateable. -->
      <message name="IDS_STATUSBAR_IME_JAPANESE_IME_STATUS_HALF_WIDTH_KATAKANA" desc="In the language menu button, this shows a character set in use is set to half width Katakana.">
        Half width Katakana
      </message>
      <message name="IDS_STATUSBAR_IME_JAPANESE_IME_STATUS_LATIN" desc="In the language menu button, this shows a character set in use is set to Latin.">
        Latin
      </message>
      <message name="IDS_STATUSBAR_IME_JAPANESE_IME_STATUS_WIDE_LATIN" desc="In the language menu button, this shows a character set in use is set to wide Latin.">
        Wide Latin
      </message>
      <message name="IDS_STATUSBAR_IME_KOREAN_HANJA_INPUT_MODE" desc="In the language menu button, this shows the input mode.">
        Hanja mode
      </message>
      <message name="IDS_STATUSBAR_IME_KOREAN_HANGUL_INPUT_MODE" desc="In the language menu button, this shows the input mode.">
        Hangul mode
      </message>
      <message name="IDS_STATUSBAR_IME_CHINESE_PINYIN_TOGGLE_CHINESE_ENGLISH" desc="In the language menu button, this shows the input mode.">
        Toggle Chinese/English mode
      </message>
      <message name="IDS_STATUSBAR_IME_CHINESE_PINYIN_TOGGLE_FULL_HALF" desc="In the language menu button, this shows the input mode.">
        Toggle full/half width mode
      </message>
      <message name="IDS_STATUSBAR_IME_CHINESE_PINYIN_TOGGLE_FULL_HALF_PUNCTUATION" desc="In the language menu button, this shows the input mode.">
        Toggle full/half width punctuation mode
      </message>
      <message name="IDS_STATUSBAR_IME_CHINESE_PINYIN_TOGGLE_S_T_CHINESE" desc="In the language menu button, this shows the input mode.">
        Toggle Simplified/Traditional Chinese mode
      </message>

      <message name="IDS_STATUSBAR_IME_CHINESE_MOZC_CHEWING_ENGLISH_MODE" desc="In the language menu button, this shows the input mode.">
        English
      </message>
      <message name="IDS_STATUSBAR_IME_CHINESE_MOZC_CHEWING_CHINESE_MODE" desc="In the language menu button, this shows the input mode.">
        Chinese
      </message>
      <message name="IDS_STATUSBAR_IME_CHINESE_MOZC_CHEWING_FULL_WIDTH_ENGLISH_MODE" desc="In the language menu button, this shows the input mode.">
        Full-width English
      </message>

      <message name="IDS_STATUSBAR_LAYOUT_JAPAN" desc="In the language menu button, this shows the input mode.">
        Japanese keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_SLOVENIA" desc="In the language menu button, this shows the input mode.">
        Slovenian keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_GERMANY" desc="In the language menu button, this shows the input mode.">
        German keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_GERMANY_NEO2" desc="In the language menu button, this shows the input mode.">
        German Neo 2 keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_ITALY" desc="In the language menu button, this shows the input mode.">
        Italian keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_ESTONIA" desc="In the language menu button, this shows the input mode.">
        Estonian keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_HUNGARY" desc="In the language menu button, this shows the input mode.">
        Hungarian keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_POLAND" desc="In the language menu button, this shows the input mode.">
        Polish keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_DENMARK" desc="In the language menu button, this shows the input mode.">
        Danish keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_CROATIA" desc="In the language menu button, this shows the input mode.">
        Croatian keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_BRAZIL" desc="In the language menu button, this shows the input mode.">
        Brazilian keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_SERBIA" desc="In the language menu button, this shows the input mode.">
        Serbian keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_CZECHIA" desc="In the language menu button, this shows the input mode.">
        Czech keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_USA_DVORAK" desc="In the language menu button, this shows the input mode.">
        US Dvorak keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_USA_COLEMAK" desc="In the language menu button, this shows the input mode.">
        US Colemak keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_ROMANIA" desc="In the language menu button, this shows the input mode.">
        Romanian keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_USA" desc="In the language menu button, this shows the input mode.">
        US keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_USA_EXTENDED" desc="In the language menu button, this shows the input mode.">
        US extended keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_USA_INTERNATIONAL" desc="In the language menu button, this shows the input mode.">
        US international keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_LITHUANIA" desc="In the language menu button, this shows the input mode.">
        Lithuanian keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_UNITED_KINGDOM" desc="In the language menu button, this shows the input mode.">
        UK keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_UNITED_KINGDOM_DVORAK" desc="In the language menu button, this shows the input mode.">
        UK Dvorak keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_SLOVAKIA" desc="In the language menu button, this shows the input mode.">
        Slovakian keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_RUSSIA" desc="In the language menu button, this shows the input mode.">
        Russian keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_RUSSIA_PHONETIC" desc="In the language menu button, this shows the input mode.">
        Russian phonetic keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_GREECE" desc="In the language menu button, this shows the input mode.">
        Greek keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_BELGIUM" desc="In the language menu button, this shows the input mode.">
        Belgian keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_BULGARIA" desc="In the language menu button, this shows the input mode.">
        Bulgarian keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_BULGARIA_PHONETIC" desc="In the language menu button, this shows the input mode.">
        Bulgarian phonetic keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_SWITZERLAND" desc="In the language menu button, this shows the input mode.">
        Swiss keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_SWITZERLAND_FRENCH" desc="In the language menu button, this shows the input mode.">
        Swiss French keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_TURKEY" desc="In the language menu button, this shows the input mode.">
        Turkish keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_PORTUGAL" desc="In the language menu button, this shows the input mode.">
        Portuguese keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_SPAIN" desc="In the language menu button, this shows the input mode.">
        Spanish keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_FINLAND" desc="In the language menu button, this shows the input mode.">
        Finnish keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_UKRAINE" desc="In the language menu button, this shows the input mode.">
        Ukrainian keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_SPAIN_CATALAN" desc="In the language menu button, this shows the input mode.">
        Catalan keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_FRANCE" desc="In the language menu button, this shows the input mode.">
        French keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_NORWAY" desc="In the language menu button, this shows the input mode.">
        Norwegian keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_SWEDEN" desc="In the language menu button, this shows the input mode.">
        Swedish keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_NETHERLANDS" desc="In the language menu button, this shows the input mode.">
        Dutch keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_LATIN_AMERICAN" desc="In the language menu button, this shows the input mode.">
        Latin American keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_LATVIA" desc="In the language menu button, this shows the input mode.">
        Latvian keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_CANADA" desc="In the language menu button, this shows the input mode.">
        Canadian French keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_CANADA_ENGLISH" desc="In the language menu button, this shows the input mode.">
        Canadian English keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_ISRAEL" desc="In the language menu button, this shows the input mode.">
        Hebrew keyboard
      </message>
      <message name="IDS_STATUSBAR_LAYOUT_KOREA_104" desc="In the language menu button, this shows the input mode.">
        Korean keyboard
      </message>

      <message name="IDS_LOGIN_ERROR_WHITELIST" desc="Couldn't sign in because user is not whitelisted.">
        Sorry, you don't have permission to sign in. Check with the notebook owner.
      </message>
      <message name="IDS_LOGIN_ERROR_AUTHENTICATING" desc="Couldn't sign in because password is invalid">
        Sorry, your password could not be verified. Please try again.
      </message>
      <message name="IDS_LOGIN_ERROR_PASSWORD_CHANGED" desc="Couldn't log in because password specified matched as old one, but not new one (online) - password change has been detected.">
        Your password has changed. Please try again with your new password.
      </message>
      <message name="IDS_LOGIN_ERROR_RESTRICTED" desc="Couldn't log in because account is disabled/deleted or not signed up">
        Your account may have been deleted or disabled. Please sign out.
      </message>
      <message name="IDS_LOGIN_ERROR_AUTHENTICATING_NEW" desc="Couldn't sign in because username or password invalid">
        Sorry, your email or password could not be verified. Please try again.
      </message>
      <message name="IDS_LOGIN_ERROR_AUTHENTICATING_HOSTED" desc="Couldn't sign in because hosted account is used">
        Your account does not work on <ph name="PRODUCT_NAME">$1<ex>Google Chrome OS</ex></ph>. Please contact your domain administrator or use a regular Google Account to sign in.
      </message>
      <message name="IDS_LOGIN_ERROR_OFFLINE_FAILED_NETWORK_NOT_CONNECTED" desc="Couldn't sign in because offline sign-in has failed and network is not connected">
        Sorry, your email or password could not be verified. Try connecting to a network first.
      </message>
      <message name="IDS_LOGIN_ERROR_ADD_USER_OFFLINE" desc="Error message that shows up when user tries to add user without a connected network.">
        To add a user, please connect to a network first.
      </message>
      <message name="IDS_LOGIN_ERROR_NO_NETWORK_LIBRARY" desc="Couldn't sign in because nework library couldn't be loaded">
        Can't access network library
      </message>
      <message name="IDS_LOGIN_ERROR_KEYBOARD_SWITCH_HINT" desc="A hint text for the login and lock screens">
        Hit Shift-Alt to switch keyboard layout
      </message>
      <message name="IDS_LOGIN_ERROR_CAPTIVE_PORTAL" desc="An error message shown when we suggest that user may be behind the captive portal.">
        Before signing in, please start a Guest session to activate the network <ph name="NETWORK_ID">$1<ex>Public Wifi</ex></ph>
      </message>
      <message name="IDS_LOGIN_FIX_CAPTIVE_PORTAL" desc="An link text to fix Internet connection (captive portal) in guest mode.">
        Start a Guest session
      </message>
      <message name="IDS_LOGIN_ERROR_CAPTIVE_PORTAL_NO_GUEST_MODE" desc="An error message shown when we suggest that user may be behind the captive portal but Guest mode is disabled.">
        Your password cannot be verified on this current network. Please select another network.
      </message>
      <message name="IDS_NOTIFICATION_PANEL_TITLE" desc="Text for the title of the notification panel.">
        Notifications
      </message>
      <message name="IDS_LOGIN_OFFLINE_TITLE" desc="Title of an offline message that shows up in OOBE sign-in screen.">
        You are currently offline
      </message>
      <message name="IDS_LOGIN_OFFLINE_MESSAGE" desc="An offline message that shows up in OOBE sign-in screen.">
        Please use the network menu (above right) to connect to the Internet to complete setup of your Chromebook.
      </message>
      <message name="IDS_GUEST" desc="Shown in login panel for users that would like to browse without signing in.">
        Guest
      </message>
      <message name="IDS_ADD_USER" desc="Shown in login panel for adding new user to login screen.">
        Add a user
      </message>
      <message name="IDS_LANGUAGES_MORE" desc="Main language list 'more' link. Expands all possible languages, not only the main ones.">
        More...
      </message>
      <message name="IDS_LOGIN_POD_EMPTY_PASSWORD_TEXT" desc="Text to display in the password field for user pod when no password has been entered.">
        Enter password
      </message>
      <message name="IDS_LOGIN_MANAGED_BY_LABEL_FORMAT" desc="Text format for a 'Managed by DOMAIN' label on login screen.">
        Managed by <ph name="DOMAIN">$1<ex>yourdomain.com</ex></ph>
      </message>
      <message name="IDS_LOGIN_MANAGED_BY_WITH_STATUS_LABEL_FORMAT" desc="Text format for a 'Managed by DOMAIN' label on login screen, with additional status message.">
        Managed by <ph name="DOMAIN">$1<ex>yourdomain.com</ex></ph> (<ph name="STATUS">$2<ex>network error</ex></ph>)
      </message>
      <message name="IDS_LOGIN_MANAGED_BY_STATUS_PENDING" desc="Text for the pending status in 'Managed by DOMAIN' label on login screen.">
        Handshake with device management service pending...
      </message>
      <message name="IDS_LOGIN_MANAGED_BY_STATUS_LOST_CONNECTION" desc="Text for the lost connection status in 'Managed by DOMAIN' label on login screen.">
        Lost connection with the policy service. Please reset the device or contact your support representative.
      </message>
      <message name="IDS_LOGIN_MANAGED_BY_STATUS_NETWORK_ERROR" desc="Text for the network error status in 'Managed by DOMAIN' label on login screen.">
        Network error while communicating with the device management service.
      </message>
    </if>
    <message name="IDS_BOOKMARK_BAR_IMPORT_LINK" desc="text shown for importing ">
      Import bookmarks now...
    </message>

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

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

    <if expr="is_macosx">
      <message name="IDS_SELECT_FOLDER_BUTTON_TITLE" desc="The name of the Select button in the folder selection dialog.">
        Select
      </message>
    </if>

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

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

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

    <!-- Cloud Print Strings -->
    <message name="IDS_CLOUD_PRINT_TOKEN_EXPIRED_MESSAGE" desc="The message to display when the cloud print token has expired.">
      The credentials used to share your printers to  <ph name="CLOUD_PRINT_NAME">Google Cloud Print</ph> have expired. Please click here to re-enter your username and password.
    </message>
    <message name="IDS_FLAGS_CLOUD_PRINT_NAME">
      <ph name="CLOUD_PRINT_NAME">Google Cloud Print</ph>
    </message>
    <message name="IDS_FLAGS_CLOUD_PRINT_DESCRIPTION">
      Enable printing via <ph name="CLOUD_PRINT_NAME">Google Cloud Print</ph>.  Note, that this will likely only work if Print Preview is also enabled.
    </message>

    <!-- Enterprise enrollment dialog -->
    <if expr="pp_ifdef('chromeos')">
      <message name="IDS_ENTERPRISE_ENROLLMENT_LOGIN_HEADER" desc="The title on the enterprise enrollment dialog">
        Enterprise enrollment
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_LOGIN_EXPLAIN" desc="Description text on the enterprise enrollment dialog">
        By signing in with your Google Apps for your Domain account, you can remotely manage the configuration of this <ph name="PRODUCT_NAME">$1<ex>Google Chrome OS</ex></ph> device from the cloud.
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_CLOUD_HEADER" desc="Heading for the cloud management item on the enterprise enrollment dialog">
        Manage your devices from the cloud
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_CLOUD_EXPLAIN" desc="Description text for the cloud management item on the enterprise enrollment dialog">
        Chrome OS for enterprise allows you to connect your device to Google Apps for Your Domain, allowing you to find and control your device from your Google Apps for Your Domain Control Panel.
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_ACCESSCONTROL_HEADER" desc="Heading for the access control item on the enterprise enrollment dialog">
        Set access control for your devices
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_ACCESSCONTROL_EXPLAIN" desc="Description text for the access control item on the enterprise enrollment dialog">
        Control which users are allowed to log in to a device and configure whether guest browsing sessions are permitted.
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_CONFIRMATION_HEADER" desc="Heading for the confirmation screen in the enterprise enrollment dialog">
        Enrollment successful
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_CONFIRMATION_MESSAGE" desc="Message on confirmation screen in the enterprise enrollment dialog">
        Your device has successfully been enrolled for enterprise management.
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_CONFIRMATION_CLOSE" desc="Label for the close button on the confirmation screen in the enterprise enrollment dialog">
        Done
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_ACCOUNT_ERROR" desc="Error message to show when there is a problem with the user account.">
        This user account is not eligible for the service.
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_FATAL_AUTH_ERROR" desc="Error message to show when there is an unrecoverable error while authenticating with GAIA.">
        Oops!  Something went wrong when trying to authenticate you.  Please double-check your login credentials and try again.
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_NETWORK_ENROLLMENT_ERROR" desc="Error message to show when there is a network problem talking to the device management server.">
        Oops!  A network communication problem occurred while trying to enroll this device.  Please check your network connection and try again.
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_FATAL_ENROLLMENT_ERROR" desc="Error message to show when there is an unrecoverable error while performing enrollment.">
        Oops!  Something went really wrong while enrolling this device.  Please try again or contact your support representative.
      </message>

      <!-- Strings for the new-style OAuth-based enterprise enrollment page -->
      <message name="IDS_ENTERPRISE_ENROLLMENT_SCREEN_TITLE" desc="The title on the enterprise enrollment dialog.">
        Enterprise enrollment
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_RETRY" desc="Label for the retry button on the error step in the enterprise enrollment dialog.">
        Try again
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_CANCEL" desc="Label for the cancel button on the enterprise enrollment dialog.">
        Cancel
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_DONE" desc="Label for the done button on the success screen in the enterprise enrollment dialog.">
        Done
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_SUCCESS" desc="Success message to be shown once enterprise enrollment completes.">
        Your device has successfully been enrolled for enterprise management.
      </message>
      <message name="IDS_ENTERPRISE_ENROLLMENT_WORKING" desc="Status message to show while enterprise enrollment is underway.">
        Enrolling the device. Please wait...
      </message>
    </if>

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

    <!-- Web Intents -->
    <message name="IDS_REGISTER_INTENT_HANDLER_CONFIRM" desc="The message to display when asking the user to confirm registration of an intent handler.">
      Allow <ph name="INTENT_HANDLE_TITLE">$1<ex>Google Search</ex></ph> (<ph name="INTENT_HANDLE_HOSTNAME">$2<ex>google.com</ex></ph>) to handle intents?
    </message>
    <message name="IDS_REGISTER_INTENT_HANDLER_ACCEPT" desc="Text to show for the accept button for the register intent handler request infobar.">
      Use <ph name="INTENT_HANDLER_TITLE">$1<ex>Google Search</ex></ph>
    </message>
    <message name="IDS_REGISTER_INTENT_HANDLER_DENY" desc="Text to show for the deny button for the register intent handler request infobar.">
      No
    </message>
    <message name="IDS_CHOOSE_INTENT_HANDLER_MESSAGE" desc="Text to display when user is choosing a intent handler to respond to a web intent.">
      Complete action using:
    </message>

    <!-- PDF with unsupported feature Info Bar -->
    <message name="IDS_PDF_INFOBAR_QUESTION_READER_INSTALLED" desc="Question asked on the info bar when a user views a PDF with an unsupported feature and they have Adobe Reader installed.">
      Parts of this PDF document could not be displayed.  Open in Adobe Reader?
    </message>

    <message name="IDS_PDF_INFOBAR_QUESTION_READER_NOT_INSTALLED" desc="Question asked on the info bar when a user views a PDF with an unsupported feature and they don't have Adobe Reader installed.">
      Parts of this PDF document could not be displayed.  Install Adobe Reader?
    </message>

    <message name="IDS_PDF_INFOBAR_QUESTION_ALWAYS_USE_READER" desc="Question asked on the info bar when a user opens a PDF with Reader and we want to ask them if they always want to use it for viewing PDF files.">
      Use Adobe Reader as your default PDF viewer?
    </message>

    <message name="IDS_PDF_INFOBAR_ALWAYS_USE_READER_BUTTON" desc="The label of the 'always' button on the infobar that asks the user if they want to set Adobe Reader as default.">
      Always
    </message>
    <message name="IDS_PDF_INFOBAR_NEVER_USE_READER_BUTTON" desc="The label of the 'never' button on the infobar that asks the user if they want to set Adobe Reader as default">
      Never
    </message>

    <!-- Adobe Reader is out of date Blocking Page -->
    <message name="IDS_READER_OUT_OF_DATE_BLOCKING_PAGE_TITLE" desc="The title of the Adobe Reader out of date blocking page.">
      Adobe Reader Out Of Date
    </message>
    <message name="IDS_READER_OUT_OF_DATE_BLOCKING_PAGE_BODY" desc="The body of the Adobe Reader out of date blocking page.">
      Adobe Reader is out of date and may be insecure.
    </message>
    <message name="IDS_READER_OUT_OF_DATE_BLOCKING_PAGE_UPDATE" desc="The name of the radio button option to go to the Adobe Reader installer website.">
      Update Adobe Reader now
    </message>
    <message name="IDS_READER_OUT_OF_DATE_BLOCKING_PAGE_PROCEED" desc="The name of the radio button to proceed to open the PDF with the out of date Adobe Reader.">
      Proceed without updating Adobe Reader (not recommended)
    </message>
    <message name="IDS_READER_OUT_OF_DATE_BLOCKING_PAGE_OK" desc="OK button text of the Adobe Reader out of date blocking page.">
      OK
    </message>
    <message name="IDS_READER_OUT_OF_DATE_BLOCKING_PAGE_CANCEL" desc="Cancel button text of the Adobe Reader out of date blocking page.">
      Cancel
    </message>
    <message name="IDS_EXPORT_BOOKMARKS_DEFAULT_FILENAME" desc="Filename that pre-populates the filename field when user clicks attempts to export his bookmarks.">
      bookmarks_<ph name="DATESTAMP">$1<ex>02_11_11</ex></ph>.html
    </message>

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

    <!-- Manage Profile Dialog -->
    <if expr="pp_ifdef('use_titlecase')">
      <message name="IDS_PROFILES_MANAGE_TITLE" desc="In Title Case: Title of the manage profile dialog">
        Manage User
      </message>
      <message name="IDS_PROFILES_MANAGE_NAME_LABEL" desc="In Title Case: Label next to the profile name text field.">
        Name:
      </message>
      <message name="IDS_PROFILES_MANAGE_ICON_LABEL" desc="In Title Case: Label next to the profile avatar icon chooser.">
        Icon:
      </message>
    </if>
    <if expr="not pp_ifdef('use_titlecase')">
      <message name="IDS_PROFILES_MANAGE_TITLE" desc="Title of the manage profile dialog">
        Manage user
      </message>
      <message name="IDS_PROFILES_MANAGE_NAME_LABEL" desc="Label next to the profile name text field.">
        Name:
      </message>
      <message name="IDS_PROFILES_MANAGE_ICON_LABEL" desc="Label next to the profile avatar icon chooser.">
        Icon:
      </message>
    </if>
    <message name="IDS_PROFILES_MANAGE_DUPLICATE_NAME_ERROR" desc="error bubble displayed when the user is attempting to rename a profile to a name that is used.">
      Whoops, this name is already in use!
    </message>

    <!-- Delete Profile Dialog -->
    <if expr="pp_ifdef('use_titlecase')">
      <message name="IDS_PROFILES_DELETE_TITLE" desc="In Title Case: Title of the delete profile dialog">
        Delete User
      </message>
      <message name="IDS_PROFILES_DELETE_OK_BUTTON_LABEL" desc="In Title Case: The text to display on the button to confirm deleting the profile.">
        Delete
      </message>
    </if>
    <if expr="not pp_ifdef('use_titlecase')">
      <message name="IDS_PROFILES_DELETE_TITLE" desc="Title of the delete profile dialog">
        Delete user
      </message>
      <message name="IDS_PROFILES_DELETE_OK_BUTTON_LABEL" desc="The text to display on the button to confirm deleting the profile.">
        Delete
      </message>
    </if>
    <message name="IDS_PROFILES_DELETE_MESSAGE" desc="Message explaining to the user what will happen if they delete this profile">
      Are you sure you want to delete "<ph name="PROFILE_NAME">$1<ex>New User</ex></ph>" and all the data associated with it from this computer? This cannot be undone!
    </message>
    <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>

    <!-- Tracing about page strings -->
    <message name="IDS_TRACING_TITLE" desc="Title for the about:tracing page.">
      Tracing
    </message>
    </messages>
    <structures fallback_to_english="true">
      <!-- Make sure these stay in sync with the structures in generated_resources.grd. -->
      <structure name="IDD_CHROME_FRAME_FIND_DIALOG" file="cf_resources.rc" type="dialog" >
      </structure>
      <structure name="IDD_CHROME_FRAME_READY_PROMPT" file="cf_resources.rc" type="dialog" >
      </structure>
    </structures>
  </release>
</grit>
