<?xml version="1.0" encoding="UTF-8"?>
<!-- This file contains definitions of strings that are distribution specific.
These strings will not be translated and only english versions will
be available for now. -->

<grit base_dir="." latest_public_release="0" current_release="1"
      source_lang_id="en" enc_check="möl">
  <outputs>
    <output filename="grit/chromium_strings.h" type="rc_header">
      <emit emit_type='prepend'></emit>
    </output>
    <output filename="chromium_strings_am.pak" type="data_package" lang="am" />
    <output filename="chromium_strings_ar.pak" type="data_package" lang="ar" />
    <if expr="use_third_party_translations">
      <output filename="chromium_strings_ast.pak" type="data_package" lang="ast" />
    </if>
    <output filename="chromium_strings_bg.pak" type="data_package" lang="bg" />
    <output filename="chromium_strings_bn.pak" type="data_package" lang="bn" />
    <if expr="use_third_party_translations">
      <output filename="chromium_strings_bs.pak" type="data_package" lang="bs" />
    </if>
    <output filename="chromium_strings_ca.pak" type="data_package" lang="ca" />
    <if expr="use_third_party_translations">
      <output filename="chromium_strings_ca@valencia.pak" type="data_package" lang="ca@valencia" />
    </if>
    <output filename="chromium_strings_cs.pak" type="data_package" lang="cs" />
    <output filename="chromium_strings_da.pak" type="data_package" lang="da" />
    <output filename="chromium_strings_de.pak" type="data_package" lang="de" />
    <output filename="chromium_strings_el.pak" type="data_package" lang="el" />
    <if expr="use_third_party_translations">
      <output filename="chromium_strings_en-AU.pak" type="data_package" lang="en-AU" />
    </if>
    <output filename="chromium_strings_en-GB.pak" type="data_package" lang="en-GB" />
    <output filename="chromium_strings_en-US.pak" type="data_package" lang="en" />
    <if expr="use_third_party_translations">
      <output filename="chromium_strings_eo.pak" type="data_package" lang="eo" />
    </if>
    <output filename="chromium_strings_es.pak" type="data_package" lang="es" />
    <if expr="is_ios">
      <!-- iOS uses es-MX for es-419 -->
      <output filename="chromium_strings_es-MX.pak" type="data_package" lang="es-419" />
    </if>
    <if expr="not is_ios">
      <output filename="chromium_strings_es-419.pak" type="data_package" lang="es-419" />
    </if>
    <output filename="chromium_strings_et.pak" type="data_package" lang="et" />
    <if expr="use_third_party_translations">
      <output filename="chromium_strings_eu.pak" type="data_package" lang="eu" />
    </if>
    <output filename="chromium_strings_fa.pak" type="data_package" lang="fa" />
    <output filename="chromium_strings_fake-bidi.pak" type="data_package" lang="fake-bidi" />
    <output filename="chromium_strings_fi.pak" type="data_package" lang="fi" />
    <output filename="chromium_strings_fil.pak" type="data_package" lang="fil" />
    <output filename="chromium_strings_fr.pak" type="data_package" lang="fr" />
    <if expr="use_third_party_translations">
      <output filename="chromium_strings_gl.pak" type="data_package" lang="gl" />
    </if>
    <output filename="chromium_strings_gu.pak" type="data_package" lang="gu" />
    <output filename="chromium_strings_he.pak" type="data_package" lang="he" />
    <output filename="chromium_strings_hi.pak" type="data_package" lang="hi" />
    <output filename="chromium_strings_hr.pak" type="data_package" lang="hr" />
    <output filename="chromium_strings_hu.pak" type="data_package" lang="hu" />
    <if expr="use_third_party_translations">
      <output filename="chromium_strings_hy.pak" type="data_package" lang="hy" />
      <output filename="chromium_strings_ia.pak" type="data_package" lang="ia" />
    </if>
    <output filename="chromium_strings_id.pak" type="data_package" lang="id" />
    <output filename="chromium_strings_it.pak" type="data_package" lang="it" />
    <output filename="chromium_strings_ja.pak" type="data_package" lang="ja" />
    <if expr="use_third_party_translations">
      <output filename="chromium_strings_ka.pak" type="data_package" lang="ka" />
    </if>
    <output filename="chromium_strings_kn.pak" type="data_package" lang="kn" />
    <output filename="chromium_strings_ko.pak" type="data_package" lang="ko" />
    <if expr="use_third_party_translations">
      <output filename="chromium_strings_ku.pak" type="data_package" lang="ku" />
      <output filename="chromium_strings_kw.pak" type="data_package" lang="kw" />
    </if>
    <output filename="chromium_strings_lt.pak" type="data_package" lang="lt" />
    <output filename="chromium_strings_lv.pak" type="data_package" lang="lv" />
    <output filename="chromium_strings_ml.pak" type="data_package" lang="ml" />
    <output filename="chromium_strings_mr.pak" type="data_package" lang="mr" />
    <output filename="chromium_strings_ms.pak" type="data_package" lang="ms" />
    <output filename="chromium_strings_nl.pak" type="data_package" lang="nl" />
    <output filename="chromium_strings_nb.pak" type="data_package" lang="no" />
    <!-- 'no' for Norwegian Bokmål. It should be 'nb'. -->
    <output filename="chromium_strings_pl.pak" type="data_package" lang="pl" />
    <if expr="is_ios">
      <!-- iOS uses pt for pt-BR -->
      <output filename="chromium_strings_pt.pak" type="data_package" lang="pt-BR" />
    </if>
    <if expr="not is_ios">
      <output filename="chromium_strings_pt-BR.pak" type="data_package" lang="pt-BR" />
    </if>
    <output filename="chromium_strings_pt-PT.pak" type="data_package" lang="pt-PT" />
    <output filename="chromium_strings_ro.pak" type="data_package" lang="ro" />
    <output filename="chromium_strings_ru.pak" type="data_package" lang="ru" />
    <output filename="chromium_strings_sk.pak" type="data_package" lang="sk" />
    <output filename="chromium_strings_sl.pak" type="data_package" lang="sl" />
    <output filename="chromium_strings_sr.pak" type="data_package" lang="sr" />
    <output filename="chromium_strings_sv.pak" type="data_package" lang="sv" />
    <output filename="chromium_strings_sw.pak" type="data_package" lang="sw" />
    <output filename="chromium_strings_ta.pak" type="data_package" lang="ta" />
    <output filename="chromium_strings_te.pak" type="data_package" lang="te" />
    <output filename="chromium_strings_th.pak" type="data_package" lang="th" />
    <output filename="chromium_strings_tr.pak" type="data_package" lang="tr" />
    <if expr="use_third_party_translations">
      <output filename="chromium_strings_ug.pak" type="data_package" lang="ug" />
    </if>
    <output filename="chromium_strings_uk.pak" type="data_package" lang="uk" />
    <output filename="chromium_strings_vi.pak" type="data_package" lang="vi" />
    <output filename="chromium_strings_zh-CN.pak" type="data_package" lang="zh-CN" />
    <output filename="chromium_strings_zh-TW.pak" type="data_package" lang="zh-TW" />
  </outputs>
  <translations>
    <if expr="not use_third_party_translations">
      <file path="resources/chromium_strings_am.xtb" lang="am" />
      <file path="resources/chromium_strings_ar.xtb" lang="ar" />
      <file path="resources/chromium_strings_bg.xtb" lang="bg" />
      <file path="resources/chromium_strings_bn.xtb" lang="bn" />
      <file path="resources/chromium_strings_ca.xtb" lang="ca" />
      <file path="resources/chromium_strings_cs.xtb" lang="cs" />
      <file path="resources/chromium_strings_da.xtb" lang="da" />
      <file path="resources/chromium_strings_de.xtb" lang="de" />
      <file path="resources/chromium_strings_el.xtb" lang="el" />
      <file path="resources/chromium_strings_en-GB.xtb" lang="en-GB" />
      <file path="resources/chromium_strings_es.xtb" lang="es" />
      <file path="resources/chromium_strings_es-419.xtb" lang="es-419" />
      <file path="resources/chromium_strings_et.xtb" lang="et" />
      <file path="resources/chromium_strings_fa.xtb" lang="fa" />
      <file path="resources/chromium_strings_fi.xtb" lang="fi" />
      <file path="resources/chromium_strings_fil.xtb" lang="fil" />
      <file path="resources/chromium_strings_fr.xtb" lang="fr" />
      <file path="resources/chromium_strings_gu.xtb" lang="gu" />
      <file path="resources/chromium_strings_hi.xtb" lang="hi" />
      <file path="resources/chromium_strings_hr.xtb" lang="hr" />
      <file path="resources/chromium_strings_hu.xtb" lang="hu" />
      <file path="resources/chromium_strings_id.xtb" lang="id" />
      <file path="resources/chromium_strings_it.xtb" lang="it" />
      <!-- The translation console uses 'iw' for Hebrew, but we use 'he'. -->
      <file path="resources/chromium_strings_iw.xtb" lang="he" />
      <file path="resources/chromium_strings_ja.xtb" lang="ja" />
      <file path="resources/chromium_strings_kn.xtb" lang="kn" />
      <file path="resources/chromium_strings_ko.xtb" lang="ko" />
      <file path="resources/chromium_strings_lt.xtb" lang="lt" />
      <file path="resources/chromium_strings_lv.xtb" lang="lv" />
      <file path="resources/chromium_strings_ml.xtb" lang="ml" />
      <file path="resources/chromium_strings_mr.xtb" lang="mr" />
      <file path="resources/chromium_strings_ms.xtb" lang="ms" />
      <file path="resources/chromium_strings_nl.xtb" lang="nl" />
      <file path="resources/chromium_strings_no.xtb" lang="no" />
      <file path="resources/chromium_strings_pl.xtb" lang="pl" />
      <file path="resources/chromium_strings_pt-BR.xtb" lang="pt-BR" />
      <file path="resources/chromium_strings_pt-PT.xtb" lang="pt-PT" />
      <file path="resources/chromium_strings_ro.xtb" lang="ro" />
      <file path="resources/chromium_strings_ru.xtb" lang="ru" />
      <file path="resources/chromium_strings_sk.xtb" lang="sk" />
      <file path="resources/chromium_strings_sl.xtb" lang="sl" />
      <file path="resources/chromium_strings_sr.xtb" lang="sr" />
      <file path="resources/chromium_strings_sv.xtb" lang="sv" />
      <file path="resources/chromium_strings_sw.xtb" lang="sw" />
      <file path="resources/chromium_strings_ta.xtb" lang="ta" />
      <file path="resources/chromium_strings_te.xtb" lang="te" />
      <file path="resources/chromium_strings_th.xtb" lang="th" />
      <file path="resources/chromium_strings_tr.xtb" lang="tr" />
      <file path="resources/chromium_strings_uk.xtb" lang="uk" />
      <file path="resources/chromium_strings_vi.xtb" lang="vi" />
      <file path="resources/chromium_strings_zh-CN.xtb" lang="zh-CN" />
      <file path="resources/chromium_strings_zh-TW.xtb" lang="zh-TW" />
    </if>
    <if expr="use_third_party_translations">
      <file path="../../third_party/launchpad_translations/chromium_strings_ast.xtb" lang="ast" />
      <file path="../../third_party/launchpad_translations/chromium_strings_bg.xtb" lang="bg" />
      <file path="../../third_party/launchpad_translations/chromium_strings_bs.xtb" lang="bs" />
      <file path="../../third_party/launchpad_translations/chromium_strings_ca.xtb" lang="ca" />
      <file path="../../third_party/launchpad_translations/chromium_strings_ca-valencia.xtb" lang="ca@valencia" />
      <file path="../../third_party/launchpad_translations/chromium_strings_cs.xtb" lang="cs" />
      <file path="../../third_party/launchpad_translations/chromium_strings_da.xtb" lang="da" />
      <file path="../../third_party/launchpad_translations/chromium_strings_de.xtb" lang="de" />
      <file path="../../third_party/launchpad_translations/chromium_strings_en-AU.xtb" lang="en-AU" />
      <file path="../../third_party/launchpad_translations/chromium_strings_eo.xtb" lang="eo" />
      <file path="../../third_party/launchpad_translations/chromium_strings_es.xtb" lang="es" />
      <file path="../../third_party/launchpad_translations/chromium_strings_et.xtb" lang="et" />
      <file path="../../third_party/launchpad_translations/chromium_strings_eu.xtb" lang="eu" />
      <file path="../../third_party/launchpad_translations/chromium_strings_fi.xtb" lang="fi" />
      <file path="../../third_party/launchpad_translations/chromium_strings_fr.xtb" lang="fr" />
      <file path="../../third_party/launchpad_translations/chromium_strings_gl.xtb" lang="gl" />
      <file path="../../third_party/launchpad_translations/chromium_strings_he.xtb" lang="he" />
      <file path="../../third_party/launchpad_translations/chromium_strings_hy.xtb" lang="hy" />
      <file path="../../third_party/launchpad_translations/chromium_strings_ia.xtb" lang="ia" />
      <file path="../../third_party/launchpad_translations/chromium_strings_id.xtb" lang="id" />
      <file path="../../third_party/launchpad_translations/chromium_strings_it.xtb" lang="it" />
      <file path="../../third_party/launchpad_translations/chromium_strings_ja.xtb" lang="ja" />
      <file path="../../third_party/launchpad_translations/chromium_strings_ka.xtb" lang="ka" />
      <file path="../../third_party/launchpad_translations/chromium_strings_ku.xtb" lang="ku" />
      <file path="../../third_party/launchpad_translations/chromium_strings_kw.xtb" lang="kw" />
      <file path="../../third_party/launchpad_translations/chromium_strings_lt.xtb" lang="lt" />
      <file path="../../third_party/launchpad_translations/chromium_strings_ms.xtb" lang="ms" />
      <file path="../../third_party/launchpad_translations/chromium_strings_nl.xtb" lang="nl" />
      <file path="../../third_party/launchpad_translations/chromium_strings_no.xtb" lang="no" />
      <file path="../../third_party/launchpad_translations/chromium_strings_pt-BR.xtb" lang="pt-BR" />
      <file path="../../third_party/launchpad_translations/chromium_strings_ru.xtb" lang="ru" />
      <file path="../../third_party/launchpad_translations/chromium_strings_sl.xtb" lang="sl" />
      <file path="../../third_party/launchpad_translations/chromium_strings_sr.xtb" lang="sr" />
      <file path="../../third_party/launchpad_translations/chromium_strings_sv.xtb" lang="sv" />
      <file path="../../third_party/launchpad_translations/chromium_strings_ug.xtb" lang="ug" />
      <file path="../../third_party/launchpad_translations/chromium_strings_vi.xtb" lang="vi" />
      <file path="../../third_party/launchpad_translations/chromium_strings_zh-CN.xtb" lang="zh-CN" />
      <file path="../../third_party/launchpad_translations/chromium_strings_zh-TW.xtb" lang="zh-TW" />
    </if>
  </translations>
  <release seq="1" allow_pseudo="false">
    <messages fallback_to_english="true">
      <message name="IDS_PROFILES_DISCONNECT_MANAGED_PROFILE_TEXT" desc="Message explaining to the user what will happen if they disconnect the managed profile.">
        Disconnecting <ph name="USERNAME">$1<ex>someone@example.com</ex></ph> will clear your history, bookmarks, settings, and other Chromium data stored on this device. Data stored in your Google Account will not be cleared and can be managed on <ph name="GOOGLE_DASHBOARD_LINK">&lt;a target="_blank" href="$2"&gt;</ph>Google Dashboard<ph name="END_GOOGLE_DASHBOARD_LINK">&lt;/a&gt;</ph>.
      </message>
      <message name="IDS_PRODUCT_NAME" desc="The Chrome application name">
        Chromium
      </message>
      <message name="IDS_SHORT_PRODUCT_NAME" desc="The Chrome application short name.">
        Chromium
      </message>
      <if expr="is_win">
        <message name="IDS_SXS_SHORTCUT_NAME" desc="The Chrome short cut name for SxS channel">
          Chromium
        </message>
        <message name="IDS_PRODUCT_DESCRIPTION" desc="Browser description">
          Chromium is a web browser that runs webpages and applications with lightning speed. It's fast, stable, and easy to use. Browse the web more safely with malware and phishing protection built into Chromium.
        </message>
        <message name="IDS_APP_LAUNCHER_PRODUCT_DESCRIPTION" desc="App Launcher description">
          Chromium App Launcher is a standalone platform for Chromium apps.
        </message>
      </if>
      <if expr="chromeos">
        <message name="IDS_PRODUCT_OS_NAME" desc="The Chrome OS application name">
          Chromium OS
        </message>
        <message name="IDS_SHORT_PRODUCT_OS_NAME" desc="The Chrome OS application short name">
          Chromium OS
        </message>
      </if>
      <if expr="is_win">
        <message name="IDS_PRODUCT_APP_LAUNCHER_NAME" desc="The Chrome App Launcher application name">
          Chromium App Launcher
        </message>
        <message name="IDS_PRODUCT_BINARIES_NAME" desc="The Chrome Binaries application name">
          Chromium Binaries
        </message>
        <message name="IDS_CHROME_FRAME_TURNDOWN_LEARN_MORE_URL" desc="Link to knowledge-base article about Chromium Frame's turndown">
          http://support.google.com/chrome/?p=ib_chromeframe
        </message>
        <message name="IDS_CHROME_FRAME_TURNDOWN_TEXT_IE_OLDER" desc="Text of Chromium Frame turndown prompt for IE 6, 7, and 8">
          This site is using the Chromium Frame plug-in which will soon be unsupported. Please uninstall it and upgrade to a modern browser.
        </message>
        <message name="IDS_CHROME_FRAME_TURNDOWN_TEXT_IE_NEWER" desc="Text of Chromium Frame turndown prompt for IE 9 and 10">
          This site is using the Chromium Frame plug-in that will soon be unsupported. Please uninstall it and download a compatible browser.
        </message>
        <message name="IDS_SHORTCUT_NEW_WINDOW" desc="The text label of the New window shortcut context menu entry as of Windows 8">
          New window
        </message>
      </if>
      <message name="IDS_CERT_ERROR_COMMON_NAME_INVALID_EXTRA_INFO_2" desc="2nd paragraph of extra information for an unsafe common name in an X509 certificate">
        In this case, the address listed in the certificate does not match the address of the website your browser tried to go to. One possible reason for this is that your communications are being intercepted by an attacker who is presenting a certificate for a different website, which would cause a mismatch. Another possible reason is that the server is set up to return the same certificate for multiple websites, including the one you are attempting to visit, even though that certificate is not valid for all of those websites. Chromium can say for sure that you reached &lt;strong&gt;<ph name="DOMAIN2">$1<ex>paypal.com</ex></ph>&lt;/strong&gt;, but cannot verify that that is the same site as &lt;strong&gt;<ph name="DOMAIN">$2<ex>www.paypal.com</ex></ph>&lt;/strong&gt; which you intended to reach. If you proceed, Chromium will not check for any further name mismatches.
      </message>
      <message name="IDS_CERT_ERROR_EXPIRED_DETAILS" desc="Details for an expired X509 certificate">
        You attempted to reach &lt;strong&gt;<ph name="DOMAIN">$1<ex>paypal.com</ex></ph>&lt;/strong&gt;, but the server presented an expired certificate. No information is available to indicate whether that certificate has been compromised since its expiration. This means Chromium cannot guarantee that you are communicating with &lt;strong&gt;<ph name="DOMAIN2">$2<ex>paypal.com</ex></ph>&lt;/strong&gt; and not an attacker. Your computer's clock is currently set to <ph name="CURRENT_TIME">$3<ex>Monday, July 18th, 2012 12:31PM</ex></ph>. Does that look right? If not, you should correct the error and refresh this page.
      </message>
      <message name="IDS_CERT_ERROR_NOT_YET_VALID_DETAILS" desc="Details for an X509 certificate that is not yet valid">
        You attempted to reach &lt;strong&gt;<ph name="DOMAIN">$1<ex>paypal.com</ex></ph>&lt;/strong&gt;, but the server presented a certificate that is not yet valid. No information is available to indicate whether that certificate can be trusted. Chromium cannot reliably guarantee that you are communicating with &lt;strong&gt;<ph name="DOMAIN2">$2<ex>paypal.com</ex></ph>&lt;/strong&gt; and not an attacker. Your computer's clock is currently set to <ph name="CURRENT_TIME">$3<ex>Monday, July 18th, 2012 12:31PM</ex></ph>. Does that look right? If not, you should correct your system's clock and then refresh this page.
      </message>
      <if expr="is_ios">
        <message name="IDS_CERT_ERROR_AUTHORITY_INVALID_DETAILS" desc="Details for an X509 certificate with an invalid authority">
          You attempted to reach &lt;strong&gt;<ph
name="DOMAIN">$1<ex>paypal.com</ex></ph>&lt;/strong&gt;, but the server presented a certificate issued by an entity that is not trusted by Chromium. This may mean that the server has generated its own security credentials, which Chromium cannot rely on for identity information, or an attacker may be trying to intercept your communications.
        </message>
      </if>
      <if expr="not is_ios">
        <message name="IDS_CERT_ERROR_AUTHORITY_INVALID_DETAILS" desc="Details for an X509 certificate with an invalid authority">
          You attempted to reach &lt;strong&gt;<ph name="DOMAIN">$1<ex>paypal.com</ex></ph>&lt;/strong&gt;, but the server presented a certificate issued by an entity that is not trusted by your computer's operating system. This may mean that the server has generated its own security credentials, which Chromium cannot rely on for identity information, or an attacker may be trying to intercept your communications.
        </message>
      </if>
      <message name="IDS_CERT_ERROR_CONTAINS_ERRORS_DETAILS" desc="Details of the error page for an X509 certificate that contains errors">
        You attempted to reach &lt;strong&gt;<ph name="DOMAIN">$1<ex>paypal.com</ex></ph>&lt;/strong&gt;, but the certificate that the server presented contains errors. Chromium cannot use a certificate with errors and cannot validate the identity of the site that you have attempted to connect to.
      </message>
      <message name="IDS_TASK_MANAGER_TITLE" desc="The title of the Task Manager window">
        Task Manager - Chromium
      </message>
      <message name="IDS_SESSION_CRASHED_VIEW_MESSAGE" desc="Message shown when the last session didn't exit cleanly.">
        Chromium didn't shut down correctly. To reopen the pages you had open, click Restore.
      </message>
      <message name="IDS_SESSION_CRASHED_VIEW_UMA_OPTIN" desc="Text besides the checkbox to let users optin to UMA in the restore from previous crash bubble.">
        Help make Chromium better by sending crash reports and <ph name="UMA_LINK">$1<ex>usage statistics</ex></ph> to Google
      </message>
      <!-- Browser Window Title Format -->
      <message name="IDS_BROWSER_WINDOW_TITLE_FORMAT" desc="The format for titles displayed in tabs and popup windows">
        <ph name="PAGE_TITLE">$1<ex>Google</ex></ph> - Chromium
      </message>
      <if expr="not chromeos">
        <message name="IDS_GET_HELP_USING_CHROME" desc="Text of the button which takes the user to the Chrome help page.">
          Get help with using Chromium
        </message>
      </if>
      <if expr="chromeos">
        <message name="IDS_GET_HELP_USING_CHROME" desc="Text of the button which takes the user to the Chrome help page.">
          Get help with using Chromium OS
        </message>
      </if>
      <message name="IDS_ABOUT_VERSION_COMPANY_NAME" desc="Company name on the about pages">
        The Chromium Authors
      </message>
      <message name="IDS_ABOUT_VERSION_COPYRIGHT" desc="Copyright information on the about pages">
        Copyright <ph name="YEAR">$1</ph> The Chromium Authors. All rights reserved.
      </message>
      <message name="IDS_ABOUT_VERSION_LICENSE" desc="The label below the copyright message, containing the URLs.">
        Chromium is made possible by the <ph name="BEGIN_LINK_CHROMIUM">&lt;a target="_blank" href="$1"&gt;</ph>Chromium<ph name="END_LINK_CHROMIUM">&lt;/a&gt;</ph> open source project and other <ph name="BEGIN_LINK_OSS">&lt;a target="_blank" href="$2"&gt;</ph>open source software<ph name="END_LINK_OSS">&lt;/a&gt;</ph>.
      </message>
      <if expr="chromeos">
        <message name="IDS_ABOUT_VERSION_LICENSE_EULA" desc="The label below the copyright message, containing the URLs.">
          Chromium open source licenses
        </message>
        <message name="IDS_ABOUT_CROS_VERSION_LICENSE" desc="Additional text displayed beneath the Chromium open source URLs for Chrome OS.">
          Chromium OS is made possible by additional <ph name="BEGIN_LINK_CROS_OSS">&lt;a target="_blank" href="$1"&gt;</ph>open source software<ph name="END_LINK_CROS_OSS">&lt;/a&gt;</ph>.
        </message>
        <message name="IDS_ABOUT_CROS_VERSION_LICENSE_EULA"  desc="Additional text displayed beneath the Chromium open source URLs for Chrome OS.">
          Chromium OS open source licenses
        </message>
      </if>
      <message name="IDS_ABOUT_TERMS_OF_SERVICE" desc="The terms of service label in the About box.">
        Not used in Chromium. Placeholder to keep resource maps in sync. It expects one argument: $1.
      </message>
      <if expr="is_macosx">
        <!-- Mac 32-bit deprecation -->
        <message name="IDS_MAC_32_BIT_OBSOLETE_SOON" desc="A message displayed on an at-launch infobar and About (Help) page warning the user that the computer they are using is about to become unsupported.">
          This computer will soon stop receiving Chromium updates because its hardware is no longer supported.
        </message>
        <message name="IDS_MAC_32_BIT_OBSOLETE_NOW" desc="A message displayed on an at-launch infobar and About (Help) page warning the user that the computer they are using is no longer supported.">
          This computer will no longer receive Chromium updates because its hardware is no longer supported.
        </message>
      </if>
      <if expr="is_win">
        <!-- Windows non-SSE2 deprecation -->
        <message name="IDS_WIN_SSE_OBSOLETE_NOW" desc="A message displayed on an at-launch infobar and About (Help) page warning the user that the computer they are using is no longer supported.">
          This computer will no longer receive Chromium updates because its hardware is no longer supported.
        </message>
      </if>
      <message name="IDS_ACCNAME_APP" desc="The accessible name for the app menu.">
        Chromium
      </message>
      <message name="IDS_ACCNAME_TOOLBAR" desc="The accessible name for the application's toolbar.">
        Chromium Toolbar
      </message>
      <!-- Hung Browser Detector -->
      <if expr="is_win">
        <message name="IDS_BROWSER_HUNGBROWSER_MESSAGE" desc="Content of the dialog box shown when the browser is hung">
          Chromium is unresponsive. Relaunch now?
        </message>
      </if>
      <message name="IDS_IMPORT_FIND_YOUR_BOOKMARKS" desc="Helpful reminder for where to find imported bookmarks">
        Find your bookmarks in the Chromium menu or on the bookmarks bar.
      </message>
      <message name="IDS_IMPORTER_LOCK_TEXT" desc="The message to be displayed on dialog">
        Sadly, your Mozilla Firefox settings are not available while that browser is running. To import those settings to Chromium, save your work and close all Firefox windows. Then click Continue.
      </message>
      <!-- Uninstall messages -->
      <if expr="is_win">
        <message name="IDS_UNINSTALL_CLOSE_APP" desc="Message to user when uninstall detects other app instance running">
          Please close all Chromium windows and try again.
        </message>
        <message name="IDS_UNINSTALL_CLOSE_APP_IMMERSIVE" desc="Message to user when uninstall detects other app instance running, possibly in the Windows 8 immersive mode">
          Please close all Chromium windows (including those in Windows 8 mode) and try again.
        </message>
        <message name="IDS_UNINSTALL_VERIFY" desc="Message to confirm user wants to uninstall">
          Are you sure you want to uninstall Chromium?
        </message>
        <message name="IDS_UNINSTALL_CHROME" desc="The text of the shortcut in the Start Menu for uninstalling chrome.">
          Uninstall Chromium
        </message>
        <message name="IDS_UNINSTALL_APP_LAUNCHER" desc="The text of the shortcut in the Start Menu for uninstalling App Launcher.">
          Uninstall Chromium App Launcher
        </message>
      </if>
      <message name="IDS_FR_CUSTOMIZE_DEFAULT_BROWSER" desc="Default browser checkbox label">
        Make Chromium the default browser
      </message>
      <if expr="chromeos">
        <message name="IDS_NEW_TAB_CHROME_WELCOME_PAGE_TITLE"
                 desc="Title for the hard-coded thumbnail that represents the Chromium OS Welcome page. This is used on the NTP when there aren't enough thumbnails to show.">
          Get Started with Chromium OS
        </message>
      </if>
      <if expr="is_ios">
        <message name="IDS_NEW_TAB_CHROME_WELCOME_PAGE_TITLE"
                 desc="Title for the hard-coded thumbnail that represents the Google Chrome Welcome page.  This is used on the NTP when there aren't enough thumbnails to show. [Length: 14em]">
          Welcome
        </message>
      </if>
      <if expr="not chromeos and not is_ios">
        <message name="IDS_NEW_TAB_CHROME_WELCOME_PAGE_TITLE"
                 desc="Title for the hard-coded thumbnail that represents the Google Chrome Welcome page.  This is used on the NTP when there aren't enough thumbnails to show.">
          Welcome to Chromium
        </message>
      </if>
      <if expr="not chromeos">
        <message name="IDS_EXTERNAL_PROTOCOL_INFORMATION" desc="General information about what Chrome is trying to do when opening this external protocol">
          Chromium needs to launch an external application to handle <ph name="SCHEME">$1<ex>acrobat:</ex></ph> links. The link requested is <ph name="PROTOLINK">$2<ex>acrobat:yourpdf</ex></ph>.
        </message>
      </if>
      <if expr="chromeos">
        <message name="IDS_EXTERNAL_PROTOCOL_INFORMATION" desc="General information about what Chrome is trying to do when opening this external protocol">
          Chromium OS does not support launching an external application to handle <ph name="SCHEME">$1<ex>acrobat:</ex></ph> links. The link requested is <ph name="PROTOLINK">$2<ex>acrobat:yourpdf</ex></ph>.
        </message>
      </if>
      <!-- Strings used to warn that an OS is not supported -->
      <if expr="is_win">
        <message name="IDS_UNSUPPORTED_OS_PRE_WIN_XP" desc="The text used to warn the user that Windows pre-XP is not supported">
          Chromium requires Windows XP or later. Some features may not work.
        </message>
      </if>
      <if expr="not chromeos">
        <message name="IDS_OPTIONS_RELAUNCH_REQUIRED" desc="The message displayed for an option that requires a relaunch to take effect. This appears in a message box if an option is changed that requires a relaunch.">
          Please close all Chromium windows and relaunch Chromium for this change to take effect.
        </message>
      </if>
      <if expr="chromeos">
        <message name="IDS_OPTIONS_RELAUNCH_REQUIRED" desc="The message displayed for an option that requires a relaunch to take effect. This appears in a message box if an option is changed that requires a relaunch.">
          Please sign out and sign in again for this change to take effect.
        </message>
      </if>
      <if expr="use_titlecase">
        <message name="IDS_STATUS_TRAY_KEEP_CHROME_RUNNING_IN_BACKGROUND" desc="In Title Case: The checkbox in the status tray context menu that controls whether chrome keeps running in the background after the last window is closed">
          Let Chromium Run In The Background
        </message>
      </if>
      <if expr="not use_titlecase">
        <message name="IDS_STATUS_TRAY_KEEP_CHROME_RUNNING_IN_BACKGROUND" desc="The checkbox in the status tray context menu that controls whether chrome keeps running in the background after the last window is closed">
          Let Chromium run in the background
        </message>
      </if>
      <message name="IDS_OPTIONS_SYSTEM_ENABLE_BACKGROUND_MODE" desc="The label of the check-box that enables background mode">
        Continue running background apps when Chromium is closed
      </message>
      <message name="IDS_OPTIONS_SYSTEM_ENABLE_HARDWARE_ACCELERATION_MODE" desc="The label of the check-box that enables hardware acceleration mode">
        Use hardware acceleration when available
      </message>
      <message name="IDS_OPTIONS_SYSTEM_ENABLE_HARDWARE_ACCELERATION_MODE_RESTART" desc="The restart string after changing hardware acceleration mode">
        (requires Chromium <ph name="BEGIN_BUTTON">&lt;button id="gpu-mode-reset-restart-button" type="button" class="link-button standalone-link-button"&gt;</ph>restart<ph name="END_BUTTON">&lt;/button&gt;</ph>)
      </message>
      <message name="IDS_CANT_WRITE_USER_DIRECTORY_SUMMARY" desc="Summary of problem displayed in dialog when we can't create a directory for this user.">
Chromium cannot read and write to its data directory:

<ph name="USER_DATA_DIRECTORY">$1<ex>C:\Documents and Settings\devint\Local Settings\Application Data\Google\Chrome</ex></ph>
      </message>
      <if expr="chromeos">
        <message name="IDS_EULA_CHECKBOX_ENABLE_LOGGING" desc="The label of the checkbox to enable/disable crash and user metrics logging">
          Optional: Help make Chromium better by automatically sending usage statistics and crash reports to Google.
        </message>
      </if>
      <message name="IDS_PROFILE_TOO_NEW_ERROR" desc="Error displayed on startup when the profile is from a newer version of the product and can not be read">
Your profile can not be used because it is from a newer version of Chromium.

Some features may be unavailable. Please specify a different profile directory or use a newer version of Chromium.
      </message>
      <message name="IDS_PREFERENCES_UNREADABLE_ERROR" desc="Error displayed on startup when user preferences file can not be read">
Your preferences can not be read.

Some features may be unavailable and changes to preferences won't be saved.
      </message>
      <message name="IDS_PREFERENCES_CORRUPT_ERROR" desc="Error displayed on startup when user preferences file can not be read">
Your preferences file is corrupt or invalid.

Chromium is unable to recover your settings.
      </message>
      <!-- Crash Recovery Dialog -->
      <message name="IDS_CRASH_RECOVERY_TITLE" desc="Title of dialog shown when the browser crashes.">
        Chromium
      </message>
      <if expr="is_win">
        <message name="IDS_CRASH_RECOVERY_CONTENT" desc="Text content telling the user the browser has crashed.">
          Whoa! Chromium has crashed. Relaunch now?
        </message>
      </if>
      <message name="IDS_PASSWORD_GENERATION_SUGGESTION" desc="Text shown next to a generated password describing it as a suggestion.">
        Suggested by Chromium
      </message>
      <if expr="not is_android">
        <message name="IDS_PASSWORD_MANAGER_SAVE_PASSWORD_PROMPT" desc="Info bar message to save a password">
          Do you want Chromium to save your password?
        </message>
      </if>
      <if expr="is_android">
        <message name="IDS_PASSWORD_MANAGER_SAVE_PASSWORD_PROMPT" desc="Mobile: Info bar message to save a password">
          Do you want Chromium to save your password for this site?
        </message>
      </if>
      <if expr="is_macosx">
        <message name="IDS_PASSWORDS_PAGE_AUTHENTICATION_PROMPT" desc="Text for the dialog box that prompts the user for their OS account password before revealing plaintext passwords on the password page.">
          Chromium is trying to show passwords.
        </message>
      </if>
      <if expr="is_win">
        <message name="IDS_PASSWORDS_PAGE_AUTHENTICATION_PROMPT" desc="Text for the dialog box that prompts the user for their OS account password before revealing plaintext passwords on the password page.">
          Chromium is trying to show passwords. Type your Windows password to allow this.
        </message>
        <message name="IDS_MACHINE_LEVEL_INSTALL_CONFLICT" desc="Error message to display when user tries to run user level Chromium even though machine level Chromium is already installed.">
          An administrator has installed Chromium on this system, and it is available for all users. The system-level Chromium will replace your user-level installation now.
        </message>
        <message name="IDS_INSTALL_HIGHER_VERSION" desc="Error displayed when higher version already exists.">
          This computer already has a more recent version of Chromium. If the software is not working, please uninstall Chromium and try again.
        </message>
        <message name="IDS_INSTALL_HIGHER_VERSION_APP_LAUNCHER" desc="Error displayed when higher version of the Chromium App Launcher already exists.">
          This computer already has a more recent version of the Chromium components. Please use a more recent installer.
        </message>
        <message name="IDS_INSTALL_FAILED" desc="Error displayed if installation fails due to some unknown error.">
          Installation failed due to unspecified error. If Chromium is currently running, please close it and try again.
        </message>
        <message name="IDS_SAME_VERSION_REPAIR_FAILED" desc="Error displayed if installation fails due to Chrome running.">
          Can not install the same Chromium version that is currently running. Please close Chromium and try again.
        </message>
        <message name="IDS_SETUP_PATCH_FAILED" desc="Error message when setup.exe fails to patch itself.">
          Installation failed due to unspecified error. Please download Chromium again.
        </message>
        <message name="IDS_INSTALL_OS_NOT_SUPPORTED" desc="Error displayed if OS is not supported">
          Chromium requires Windows Vista or Windows XP with SP2 or higher.
        </message>
        <message name="IDS_INSTALL_OS_ERROR" desc="Error displayed when any Windows API call fails and we do not have more specific information.">
          An operating system error occurred during installation. Please download Chromium again.
        </message>
        <message name="IDS_INSTALL_TEMP_DIR_FAILED" desc="Error displayed when we fail to create temporary directory during installation.">
          The installer couldn't create a temporary directory. Please check for free disk space and permission to install software.
        </message>
        <message name="IDS_INSTALL_UNCOMPRESSION_FAILED" desc="Error when when we can not uncompress installation archive.">
          The installer failed to uncompress archive. Please download Chromium again.
        </message>
        <message name="IDS_INSTALL_INVALID_ARCHIVE" desc="Error displayed when we can not open the installation archive.">
          The installer archive is corrupted or invalid. Please download Chromium again.
        </message>
        <message name="IDS_INSTALL_INSUFFICIENT_RIGHTS" desc="Error displayed when a non admin user tries to attempt system level install/uninstall.">
          You do not have appropriate rights for system-level install. Try running the installer again as Administrator.
        </message>
        <message name="IDS_INSTALL_NO_PRODUCTS_TO_UPDATE" desc="Error displayed if the installer is not provided one or more products to install/update.">
          No installation of Chromium found to update.
        </message>
        <message name="IDS_INSTALL_MULTI_INSTALLATION_EXISTS" desc="Error during install if a multi-install Chromium is present, thereby preventing the installation of a single-install Chromium.">
          A conflicting installation of Chromium was found on the system. Please uninstall it and try again.
        </message>
        <message name="IDS_INSTALL_INCONSISTENT_UPDATE_POLICY" desc="This message does not apply to Chromium.">
        </message>
      </if>
      <!-- Options Dialog -->
      <message name="IDS_OPTIONS_IMPROVE_BROWSING_EXPERIENCE" desc="The text in the options panel that describes how we use web services to improve browsing experience.">
        Chromium may use web services to improve your browsing experience.
      </message>
      <if expr="is_win">
        <message name="IDS_OEM_MAIN_SHORTCUT_NAME" desc="Name of the desktop shortcut to start the application for OEM pre-installations.">
          Internet Browser
        </message>
        <message name="IDS_SHORTCUT_TOOLTIP" desc="Text for the hover-on tooltip for the Chromium shortcuts.">
          Access the Internet
        </message>
        <message name="IDS_APP_LAUNCHER_SHORTCUT_TOOLTIP" desc="Text for the hover-on tooltip for the App Launcher shortcut.">
          Launch Chromium apps
        </message>
        <message name="IDS_UNINSTALL_DELETE_PROFILE" desc="Text to show user to ask whether to delete all the profile data also during uninstallation.">
          Also delete your browsing data?
        </message>
        <message name="IDS_UNINSTALL_SET_DEFAULT_BROWSER" desc="Text to ask whether to set another browser as default when Chromium is uninstalled.">
          Change default browser to:
        </message>
        <message name="IDS_UNINSTALL_BUTTON_TEXT" desc="Label for uninstall button on Uninstall confirmation dialog.">
          Uninstall
        </message>
      </if>
      <message name="IDS_DEFAULT_BROWSER_INFOBAR_SHORT_TEXT" desc="More compact text to show in the default browser query infobar.">
        Chromium isn't your default browser.
      </message>
      <if expr="chromeos">
        <message name="IDS_SYNC_OVERVIEW" desc="Chrome OS: The message that appears in the options dialog when sync has not been set up by the user.">
          Set up Sync to save your personalized browser features to the web and access them from Chromium on any computer.
        </message>
      </if>
      <if expr="is_win">
        <!-- Try Chrome Toast Dialog -->
        <message name="IDS_TRY_TOAST_HEADING" desc="Top line of the try-chrome-again dialog">
          There is a new version of Chromium available.
        </message>
        <message name="IDS_TRY_TOAST_HEADING2" desc="Top line of the try-chrome-again dialog">
          There's a new version of Chromium available, and it's faster than ever.
        </message>
        <message name="IDS_TRY_TOAST_HEADING3" desc="Top line of the try-chrome-again dialog">
          There's a new, safer version of Chromium available.
        </message>
        <message name="IDS_TRY_TOAST_HEADING4" desc="Top line of the try-chrome-again dialog">
          Chromium has been updated, but you haven't used it for at least 30 days.
        </message>
        <message name="IDS_TRY_TOAST_HEADING_SKYPE" desc="Top line of the try-chrome-again dialog">
          Chromium lets you click a phone number on the web and call it with Skype!
        </message>
        <message name="IDS_TRY_TOAST_TRY_OPT" desc="First option radio button on the dialog to try chrome">
          Try it out, it's already installed
        </message>
        <message name="IDS_TRY_TOAST_CANCEL" desc="Try chrome again dialog Cancel button">
          Don't bug me
        </message>
        <message name="IDS_TRY_TOAST_WHY" desc="Text of the url link that explains why this dialog is being shown">
          Why am I seeing this?
        </message>
        <!-- about:conflicts strings -->
        <message name="IDS_CONFLICTS_CHECK_PAGE_TITLE_LONG" desc="The long title on the compatibility page">
          Modules loaded into Chromium
        </message>
        <message name="IDS_CONFLICTS_CHECK_WARNING_CONFIRMED" desc="Warning label on the compatibility page">
          This module is known to conflict with Chromium.
        </message>
        <message name="IDS_CONFLICTS_CHECK_WARNING_SUSPECTED" desc="Warning label on the compatibility page">
          A module with the same name has been known to conflict with Chromium.
        </message>
      </if>
      <!-- chrome://crashes strings -->
      <message name="IDS_CRASHES_DISABLED_MESSAGE" desc="The explanatory message for chrome://crashes when crash reporting is disabled">
        Crash reporting is not available in Chromium.
      </message>
      <!-- Page Info bubble -->
      <message name="IDS_PAGE_INFO_INTERNAL_PAGE" desc="Message to display in the page info bubble when the page you are on is a chrome:// page or about:something.">
        You are viewing a secure Chromium page.
      </message>
      <!-- Print Preview -->
      <message name="IDS_PRINT_PREVIEW_NO_PLUGIN" desc="Message to display when the PDF viewer is missing.">
        Chromium does not include the PDF viewer which is required for Print Preview to function.
      </message>

      <!-- Download Shelf Items -->
      <message name="IDS_DOWNLOAD_STATUS_CRX_INSTALL_RUNNING"
               desc="Message shown when a CRX has been downloaded and is being unpacked.">
        Adding to Chromium...
      </message>

      <message name="IDS_PROMPT_DOWNLOAD_CHANGES_SETTINGS"
               desc="Message shown on the download shelf when the download is known to change settings in the browser in a malicious way.">
        <ph name="FILE_NAME">$1<ex>bla.exe</ex></ph> may harm your browsing experience, so Chromium has blocked it.
      </message>

      <message name="IDS_PROMPT_MALICIOUS_DOWNLOAD_URL"
         desc="Message shown to the user to validate the download when the download url is classified to lead to malware by the safebrowsing database.">
        This file is malicious, and Chromium has blocked it.
      </message>
      <message name="IDS_PROMPT_MALICIOUS_DOWNLOAD_CONTENT"
         desc="Message shown to the user to validate the download when the download content is classified to lead to malware by safebrowsing.">
        <ph name="FILE_NAME">$1<ex>malware.exe</ex></ph> is malicious, and Chromium has blocked it.
      </message>

      <!-- Remove in-progress downloads confirmation dialog -->
      <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.">
        A download is currently in progress. Do you want to exit Chromium and cancel the download?
      </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.">
        Downloads are currently in progress. Do you want to exit Chromium and cancel the downloads?
      </message>
      <message name="IDS_DOWNLOAD_REMOVE_CONFIRM_OK_BUTTON_LABEL" desc="Button text for OKing to close the browser when one or more downloads are in progress.">
        Yes, exit Chromium
      </message>

      <!-- Quit all apps confirmation dialog -->
      <if expr="is_macosx">
        <message name="IDS_QUIT_WITH_APPS_TITLE" desc="Title for a notification explaining that Chrome is running in the background.">
          Chromium is running in the background.
        </message>
      </if>

      <!-- Autolaunch infobar -->
      <if expr="is_win">
        <message name="IDS_AUTO_LAUNCH_INFOBAR_TEXT" desc="The text to show in the infobar when Chromium was automatically launched on startup">
          Chromium is configured to automatically launch when you start your computer.
        </message>
      </if>

      <!-- about:flags -->
      <if expr="not chromeos">
        <message name="IDS_FLAGS_RELAUNCH_NOTICE" desc="Notifies the user that he needs to relaunch Chromium. Shown next to a button that says 'Relaunch Now'.">
          Your changes will take effect the next time you relaunch Chromium.
        </message>
      </if>
      <if expr="chromeos">
        <message name="IDS_FLAGS_RELAUNCH_NOTICE" desc="Notifies the user that he needs to restart Chromium OS. Shown next to a button that says 'Restart Now'.">
          Your changes will take effect the next time you restart your device.
        </message>
      </if>

      <!-- Obsolete System info bar -->
      <message name="IDS_SYSTEM_OBSOLETE_MESSAGE" desc="Message shown when your OS is no longer supported. This message is followed by a 'Learn more' link.">
         Chromium has stopped updating and no longer supports this version of your operating system.
      </message>

      <!-- Google API keys info bar -->
      <message name="IDS_MISSING_GOOGLE_API_KEYS" desc="Message shown when Google API keys are missing. This message is followed by a 'Learn more' link.">
        Google API keys are missing. Some functionality of Chromium will be disabled.
      </message>

      <!-- about:memory -->
      <if expr="not is_android">
        <message name="IDS_MEMORY_USAGE_SUMMARY_DESC" desc="Describes the browser summary table in the about memory page, which shows memory usage for Chromium and any other active browsers." translateable="false">
Summary of memory used by currently active browsers. For browsers which use multiple processes, memory reflects aggregate memory used across all browser processes.

For Chromium, processes used to display diagnostics information (such as this "about:memory") are excluded.
        </message>
      </if>
      <if expr="is_android">
        <message name="IDS_MEMORY_USAGE_SUMMARY_DESC" desc="Describes the browser summary table in the about memory page, which shows memory usage for Chromium." translateable="false">
Summary of memory used by Chromium. Since Chromium uses multiple processes, memory reflects aggregate memory used across all browser processes.

For Chromium, processes used to display diagnostics information (such as this "about:memory") are excluded.
        </message>
      </if>

      <!-- About Chrome page -->
      <if expr="not chromeos">
        <message name="IDS_UPGRADE_SUCCESSFUL_RELAUNCH" desc="Status label: Successfully updated Chromium">
          Nearly up-to-date! Relaunch Chromium to finish updating.
        </message>
      </if>
      <if expr="chromeos">
        <message name="IDS_UPGRADE_SUCCESSFUL_RELAUNCH" desc="Status label: Successfully updated Chromium OS">
          Nearly up-to-date! Restart your device to finish updating.
        </message>
      </if>
      <if expr="chromeos">
        <message name="IDS_UPGRADE_SUCCESSFUL_CHANNEL_SWITCH" desc="Status label: Channel was successfully switched on Chromium OS">
          Channel changed. Restart your device to apply changes.
        </message>
      </if>
      <if expr="not chromeos">
        <message name="IDS_UPGRADE_UP_TO_DATE" desc="Status label: Already up to date (Chromium)">
          Chromium is up to date.
        </message>
      </if>
      <if expr="chromeos">
        <message name="IDS_UPGRADE_UP_TO_DATE" desc="Status label: Already up to date (Chromium OS)">
          Your device is up to date.
        </message>
      </if>
      <if expr="not chromeos">
        <message name="IDS_UPGRADE_UPDATING" desc="Status label: Updating Chromium">
          Updating Chromium...
        </message>
      </if>
      <if expr="chromeos">
        <message name="IDS_UPGRADE_UPDATING" desc="Status label: Updating Chromium OS">
          Updating your device...
        </message>
      </if>
      <if expr="chromeos">
        <message name="IDS_UPGRADE_UPDATING_CHANNEL_SWITCH" desc="Status label: Updating Chromium OS to a specified channel">
          Updating your device to <ph name="CHANNEL_NAME">$1<ex>stable</ex></ph> channel...
        </message>
      </if>

      <!-- iOS Upgrade available info bar-->
      <if expr="is_ios">
        <message name="IDS_UPGRADE_AVAILABLE" desc="Text to inform the user of the presence of a new version of the application">
          Chromium just got better! A new version is available.
        </message>
        <message name="IDS_UPGRADE_AVAILABLE_BUTTON" desc="Diplayed on a button the user can use to upgrade the a more recent version of the application. [Length: 10em]">
          Update
        </message>
      </if>

      <!-- Extension/App install prompt -->
      <message name="IDS_EXTENSION_INLINE_INSTALL_PROMPT_TITLE" desc="Titlebar of the extension or app inline installation prompt window">
        Add to Chromium
      </message>

      <!-- Extension installed bubble -->
      <if expr="enable_extensions">
        <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> has been added to Chromium.
        </message>
        <message name="IDS_EXTENSION_INSTALLED_SIGNIN_PROMO_LINK" desc="The first part of the sign-in promo paragraph. This part will be converted to a link and will get more text appended to it (see IDS_EXTENSION_INSTALLED_SIGNIN_PROMO). Keep this text short.">
          Sign in to Chromium
        </message>
      </if>

      <!-- chrome://settings/extensions page -->
      <message name="IDS_EXTENSIONS_INCOGNITO_WARNING" desc="Warns the user that Chromium 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> Chromium cannot prevent extensions from recording your browsing history. To disable this extension in incognito mode, unselect this option.
      </message>
      <message name="IDS_EXTENSIONS_UNINSTALL" desc="The link for uninstalling extensions.">
        Remove from Chromium
      </message>

      <if expr="enable_extensions">
        <message name="IDS_EXTENSIONS_UNSUPPORTED_DISABLED_BODY" desc="Body of the dialog shown when unsupported extensions have been disabled">
          To make Chromium safer, we disabled some extensions that aren't listed in the <ph name="IDS_EXTENSION_WEB_STORE_TITLE">$1<ex>Chrome Web Store</ex></ph> and may have been added without your knowledge.
        </message>
      </if>

      <!-- Main Chrome menu -->
      <message name="IDS_APPMENU_TOOLTIP" desc="The tooltip to show for the browser menu">
        Customize and control Chromium
      </message>

      <if expr="use_titlecase and not chromeos">
        <message name="IDS_ABOUT" desc="In Title Case: The text label of the About Chrome menu item">
          About &amp;Chromium
        </message>
        <message name="IDS_UPDATE_NOW" desc="In Title Case: The text label of the Update Chrome Now menu item">
          Update &amp;Chromium
        </message>
      </if>
      <if expr="not use_titlecase and not chromeos">
        <message name="IDS_ABOUT" desc="The text label of the About Chrome menu item">
          About &amp;Chromium
        </message>
        <message name="IDS_UPDATE_NOW" desc="The text label of the Update Chrome Now menu item">
          Update &amp;Chromium
        </message>
      </if>
      <if expr="chromeos">
        <message name="IDS_ABOUT" desc="The text label of the About Chrome OS menu item">
          About &amp;Chromium OS
        </message>
        <message name="IDS_UPDATE_NOW" desc="The text label of the Update Chrome OS Now menu item">
          Update &amp;Chromium OS
        </message>
      </if>

      <if expr="is_macosx">
        <message name="IDS_APP_MENU_PRODUCT_NAME" desc="The application's short name, used for the Mac's application menu, activity monitor, etc. This should be less than 16 characters. Example: Chrome, not Google Chrome.">
          Chromium
        </message>
        <message name="IDS_HELPER_NAME" desc="The helper application's name.  Should contain the Chrome application name (IDS_PRODUCT_NAME). Example: Google Chrome Helper.">
          Chromium Helper
        </message>
        <message name="IDS_SHORT_HELPER_NAME" desc="The helper application's short name, used for the Mac's application menu, activity monitor, etc. Example: Chrome Helper, not Google Chrome Helper.">
          Chromium Helper
        </message>
      </if>

      <!-- Chrome sign-in page -->
      <message name="IDS_CHROME_SIGNIN_TITLE" desc="Title on the about:chrome-signin page">
        Chromium
      </message>

      <!-- Tutorial card in the avatar menu bubble -->
      <message name="IDS_PROFILES_PREVIEW_ENABLED_TUTORIAL_CONTENT_TEXT" desc="The main content of the tutorial card in the avatar menu bubble view shown when user enables the new profile management preview.">
        You can add your other Google Accounts and lock your Chromium below.
      </message>
      <message name="IDS_PROFILES_PREVIEW_TUTORIAL_TITLE" desc="The title of the tutorial card in the avatar menu bubble view that asks the user to preview the new profile management UI.">
        Preview the new Chromium
      </message>
      <message name="IDS_PROFILES_PREVIEW_TUTORIAL_CONTENT_TEXT" desc="The main content of the tutorial card in the avatar menu bubble view that asks the user to preview the new profile management UI.">
       Try the new way to use Chromium with your Google Account and on shared computers.
      </message>
      <message name="IDS_PROFILES_FEEDBACK_TUTORIAL_CONTENT_TEXT" desc="The main content of the tutorial card in the avatar menu bubble view that asks the user to send feedback about the new profile management UI.">
       You're previewing the new Chromium.
      </message>

      <!-- Account removal view in the avatar menu bubble -->
      <message name="IDS_PROFILES_ACCOUNT_REMOVAL_TEXT" desc="Main text of the account removal view when removing a secondary account.">
        After removing your account from Chromium, you may need to reload your open tabs to take effect.
      </message>
      <message name="IDS_PROFILES_PRIMARY_ACCOUNT_REMOVAL_TEXT" desc="Main text of the account removal view when removing a primary account.">
        You're using <ph name="PROFILE_EMAIL">$1<ex>jessica@gmail.com</ex></ph> to sync your Chromium stuff. To update your sync preference or to use Chromium without a Google account, visit <ph name="SETTINGS_LINK">$2<ex>settings</ex></ph>.
      </message>

      <!-- End-preview view in the avatar menu bubble -->
      <message name="IDS_PROFILES_END_PREVIEW_TEXT" desc="Main text of the end-preview view.">
        Thanks for trying out the new Chromium. Chromium needs to restart to make sure you've saved any open work before continuing.
      </message>

      <!-- One click sign-in infobar -->
      <if expr="not chromeos">
        <!-- New one-click sign-in dialog contents for SAML support -->
        <message name="IDS_ONE_CLICK_SIGNIN_DIALOG_TITLE_NEW" desc="The title of the modal dialog window that opens when the user chooses to use one click sign-in.">
          You're signed in to Chromium!
        </message>
        <message name="IDS_ONE_CLICK_SIGNIN_DIALOG_MESSAGE_NEW" desc="The message of the one click sign-in dialog.">
          You're signed in as <ph name="USER_EMAIL_ADDRESS">$1<ex>foo@gmail.com</ex></ph>. Now you can access your bookmarks, history, and other settings on all your signed in devices.
        </message>
        <message name="IDS_ONE_CLICK_SIGNIN_BUBBLE_SYNC_DISABLED_MESSAGE" desc="The body of the sign-in bubble, when sync has been disabled.">
          You're now signed in to Chromium! Sync is disabled by your administrator.
        </message>
        <message name="IDS_SYNC_WRONG_EMAIL" desc="Message shown when sync setup failed due to the user entering the wrong email address for sign-in.">
          You were signed in to Chromium as <ph name="USER_EMAIL_ADDRESS">$1<ex>foo@gmail.com</ex></ph>. Please use the same account to sign in again.
        </message>
        <message name="IDS_ONE_CLICK_SIGNIN_CONFIRM_EMAIL_DIALOG_MESSAGE" desc="Error message to display when setting up sync for a second time and the user name is different from the previous user name.">
          Someone previously signed in to Chromium on this computer as <ph name="ACCOUNT_EMAIL_LAST">$1<ex>user@example.com</ex></ph>. If that isn't your account, create a new Chromium user to keep your information separate.

Signing in anyway will merge Chromium information like bookmarks, history, and other settings to <ph name="ACCOUNT_EMAIL_NEW">$2<ex>user@example.com</ex></ph>.
        </message>
      </if>

      <!-- Enterprise sign-in profile linking -->
      <if expr="not is_android">
        <message name="IDS_ENTERPRISE_SIGNIN_TITLE" desc="The title of the dialog to confirm linking the browser profile with the signed-in enterprise account">
          Important information regarding your Chromium data
        </message>
        <message name="IDS_ENTERPRISE_SIGNIN_EXPLANATION" desc="The warning message displayed to an enterprise user about to link their profile to their Google account. This message is followed by a 'Learn more' link.">
          You are signing in with a managed account and giving its administrator control over your Chromium profile. Your Chromium data, such as your apps, bookmarks, history, passwords, and other settings will become permanently tied to <ph name="USER_NAME">$1<ex>pat@example.com</ex></ph>. You will be able to delete this data via the Google Accounts Dashboard, but you will not be able to associate this data with another account.
        </message>
        <message name="IDS_ENTERPRISE_SIGNIN_CREATE_NEW_PROFILE_MESSAGE" desc="The text of the prompt to create a new profile after signing in to an enterprise account">
          If you prefer to keep your existing Chromium data separate, you can create a new Chromium user for <ph name="USER_NAME">$1<ex>pat@example.com</ex></ph>.
        </message>
        <message name="IDS_ENTERPRISE_SIGNIN_CONTINUE" desc="Text of the button to link the current profile with the signed-in enterprise account">
          Link my Chromium data to this account
        </message>
      </if>

      <!-- Enterprise sign-in dialog (new-style) -->
      <!-- TODO(dconnelly): remove "new-style" once the old dialog is gone. -->
      <if expr="toolkit_views or is_macosx">
        <message name="IDS_ENTERPRISE_SIGNIN_TITLE_NEW_STYLE" desc="The title of the dialog to confirm linking the browser profile with the signed-in enterprise account">
          Link your Chromium data to this account?
        </message>
        <message name="IDS_ENTERPRISE_SIGNIN_EXPLANATION_WITHOUT_PROFILE_CREATION_NEW_STYLE" desc="The warning message displayed to an enterprise user about to link their profile to their Google account. This message is followed by a 'Learn more' link.">
          You are signing in with a managed account and giving its administrator control over your Chromium profile. Your Chromium data, such as your apps, bookmarks, history, passwords, and other settings will become permanently tied to <ph name="USER_NAME">$1<ex>pat@example.com</ex></ph>. You will be able to delete this data via the Google Accounts Dashboard, but you will not be able to associate this data with another account. <ph name="LEARN_MORE">$2<ex>Learn more</ex></ph>
        </message>
        <message name="IDS_ENTERPRISE_SIGNIN_EXPLANATION_WITH_PROFILE_CREATION_NEW_STYLE" desc="The warning message displayed to an enterprise user about to link their profile to their Google account. Additionally notifies the user that they can create a new profile instead. This message is followed by a 'Learn more' link.">
          You are signing in with a managed account and giving its administrator control over your Chromium profile. Your Chromium data, such as your apps, bookmarks, history, passwords, and other settings will become permanently tied to <ph name="USER_NAME">$1<ex>pat@example.com</ex></ph>. You will be able to delete this data via the Google Accounts Dashboard, but you will not be able to associate this data with another account. You can optionally create a new profile to keep your existing Chromium data separate. <ph name="LEARN_MORE">$2<ex>Learn more</ex></ph>
        </message>
      </if>

      <!-- Sync/sign-in error messages -->
      <if expr="not chromeos">
        <message name="IDS_SYNC_PASSPHRASE_ERROR_BUBBLE_VIEW_MESSAGE" desc="Message in the sync error bubble view when the user needs to update their sync passphrase.">
          Chromium could not sync your data. Please update your Sync passphrase.
        </message>
        <message name="IDS_SYNC_SIGN_IN_ERROR_BUBBLE_VIEW_MESSAGE" desc="Message in the sign-in error bubble view when the user's sign-in credentials are out of date.">
          Chromium could not sync your data because your account sign-in details are out of date.
        </message>
        <message name="IDS_SYNC_UNAVAILABLE_ERROR_BUBBLE_VIEW_MESSAGE" desc="Message in the sign-in error bubble view when sync is not available for their domain.">
          Chromium could not sync your data because Sync is not available for your domain.
        </message>
        <message name="IDS_SYNC_OTHER_SIGN_IN_ERROR_BUBBLE_VIEW_MESSAGE" desc="Message in the sign-in error bubble view when there's an error signing in.">
          Chromium could not sync your data due to an error signing in.
        </message>
      </if>
      <if expr="chromeos">
        <message name="IDS_SYNC_PASSPHRASE_ERROR_BUBBLE_VIEW_MESSAGE" desc="Message in the sync error notification when the user needs to update their sync passphrase.">
          Chromium OS could not sync your data. Please update your Sync passphrase.
        </message>
        <message name="IDS_SYNC_SIGN_IN_ERROR_BUBBLE_VIEW_MESSAGE" desc="Message in the sign-in error notification when the user's sign-in credentials are out of date.">
          Chromium OS could not sync your data because your account sign-in details are out of date.
        </message>
        <message name="IDS_SYNC_UNAVAILABLE_ERROR_BUBBLE_VIEW_MESSAGE" desc="Message in the sign-in error notification when sync is not available for their domain.">
          Chromium OS could not sync your data because Sync is not available for your domain.
        </message>
        <message name="IDS_SYNC_OTHER_SIGN_IN_ERROR_BUBBLE_VIEW_MESSAGE" desc="Message in the sign-in error notification when there's an error signing in.">
          Chromium OS could not sync your data due to an error signing in.
        </message>
      </if>

      <if expr="is_macosx">
        <message name="IDS_OPTIONS_PASSWORDS_MAC_WARNING" desc="The warning for OS X that passwords are shared across profiles in the keychain.">
          On Mac, passwords are saved to your Keychain and may be accessed or synced by other Chromium users sharing this OS X account.
        </message>
        <message name="IDS_AUTOFILL_ADDRESS_BOOK_PROMPT_DESCRIPTION" desc="Text to show in dialog requesting permission to access the user's Address Book contents.">
          Details from your contacts can help you fill out forms more quickly in Chromium.
        </message>
      </if>
      <message name="IDS_AUTOFILL_CC_INFOBAR_TEXT" desc="Text to show in the Autofill credit card request infobar.">
        Do you want Chromium to save this credit card information for completing web forms?
      </message>
      <message name="IDS_AUTOFILL_DIALOG_SAVE_LOCALLY_CHECKBOX" desc="Checkbox that controls whether info the user types into the autofill dialog is saved by chrome.">
        Save details in Chromium
      </message>
      <message name="IDS_AUTOFILL_DIALOG_SAVE_LOCALLY_TOOLTIP" desc="Tooltip which explains function of checkbox that controls whether info the user types into the autofill dialog is saved by chrome.">
        Chromium will securely store your information so you don't need to type it in again, but you will still need to verify your card's security code for future payments.
      </message>
      <message name="IDS_AUTOFILL_NEW_CREDIT_CARD_BUBBLE_TITLE" desc="Title text of the new credit card bubble informing a user their billing information has been saved in chrome.">
        Your billing details have been saved in Chromium.
      </message>
      <message name="IDS_AUTOFILL_WALLET_UPGRADE_CHROME_ERROR" desc="Text explaining that user must upgrade Chrome to use Wallet.">
        You must upgrade Chromium to use Google Wallet [<ph name="ERROR_CODE">$1<ex>54</ex></ph>].
      </message>

      <!-- Network Error Pages -->
      <message name="IDS_ERRORPAGES_SUGGESTION_NETWORK_PREDICTION_BODY" desc="When a page fails to load, sometimes we suggest disabling predicting network actions.  These are details below a header.">
        Go to
        the Chromium 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>
        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_HEADER" desc="When a webpage fails to load, in some cases we suggest reconfiguring the firewall.  This is a header above some details.">
        Allow Chromium to access the network in your firewall or antivirus
        settings.
      </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
          Applications &gt; System Preferences &gt; Network &gt; Advanced &gt; Proxies
          and deselect any proxies that have been selected.
        </message>
      </if>
      <if expr="is_android or is_ios">
        <message name="IDS_ERRORPAGES_SUGGESTION_PROXY_DISABLE_PLATFORM" desc="Instructions for disabling use of a proxy server (leave empty for Android and iOS).">
        </message>
      </if>
      <if expr="not chromeos and is_posix and not is_macosx and not is_android and not is_ios">
        <message name="IDS_ERRORPAGES_SUGGESTION_PROXY_DISABLE_PLATFORM" desc="Linux instructions for disabling use of a proxy server.">
          Go to
          the Chromium 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>
          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
          the Chromium 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
          and deselect the &quot;Use a proxy server for your LAN&quot; checkbox.
        </message>
      </if>

      <!-- Chrome OS keyboard overlay-->
      <if expr="chromeos">
        <message name="IDS_KEYBOARD_OVERLAY_SHOW_WRENCH_MENU" desc="The text in the keyboard overlay to explain the shortcut that opens the main Chrome menu.">
          Show the Chromium menu
        </message>
      </if>

      <!-- App list -->
      <if expr="enable_app_list">
        <message name="IDS_APP_LIST_SHORTCUT_NAME" desc="Name for the Chromium App List to appear in the taskbar and in any shortcuts to it.">
          Chromium App Launcher
        </message>
        <if expr="is_win or is_macosx">
          <message name="IDS_APP_LIST_SHORTCUT_NAME_CANARY" desc="Name for the Chromium App List to appear in the taskbar and in any shortcuts to it.">
            Chromium App Launcher
          </message>
        </if>
        <message name="IDS_APP_LIST_SIGNIN_HEADING" desc="Heading for when the launcher needs to sign in.">
          Sign in to Chromium
        </message>
        <message name="IDS_APP_LIST_SIGNIN_TEXT" desc="Text for when the launcher needs to sign in.">
          You need to be signed in to Chromium to use apps. This allows Chromium to sync your apps, bookmarks, history, passwords and other settings across devices.
        </message>
      </if>

      <!-- App shortcuts -->
      <message name="IDS_APP_SHORTCUTS_SUBDIR_NAME" desc="Name for the Chromium Apps Start Menu folder name.">
        Chromium Apps
      </message>
      <message name="IDS_APP_SHORTCUTS_SUBDIR_NAME_CANARY" desc="Name for the Chrome Apps Start Menu folder name.">
        Chromium Apps
      </message>

      <!-- Chrome Conflicts bubble -->
      <if expr="is_win">
        <message name="IDS_OPTIONS_CONFLICTING_MODULE" desc="Shown in a bubble when a conflict has been detected.">
          Software running on your computer is incompatible with Chromium.
        </message>
      </if>

      <!-- Chrome OS OOBE Terms of Service screen-->
      <if expr="chromeos">
        <message name="IDS_TERMS_OF_SERVICE_SCREEN_SUBHEADING" desc="Subheading at the top of the Terms of Service screen.">
          <ph name="DOMAIN">$1<ex>example.com</ex></ph> requires that you read and accept the following Terms of Service before using this device. These terms do not expand, modify or limit the Chromium OS Terms.
        </message>
      </if>

      <!-- Chrome Notifications center -->
      <if expr="enable_notifications">
        <if expr="is_win">
          <message name="IDS_MESSAGE_CENTER_BALLOON_TITLE" desc="Title of the first run notification ballon describing the notification center.">
            Chromium Notification Center
          </message>
          <message name="IDS_MESSAGE_CENTER_BALLOON_TEXT" desc="Body text for the the first run notification ballon describing the notification center.">
            You can see all your notifications from Chromium apps, extensions, and websites here.
          </message>
        </if>
        <message name="IDS_MESSAGE_CENTER_TOOLTIP" desc="Tooltip for notification tray icon without unread notifications">
          Chromium - Notifications
        </message>
        <message name="IDS_MESSAGE_CENTER_TOOLTIP_UNREAD" desc="Tooltip for notification tray icon with unread notifications">
          Chromium - Notifications (<ph name="QUANTITY">$1<ex>3</ex></ph> unread)
        </message>
      </if>

      <!-- MediaStream capture status tray icon -->
      <message name="IDS_MEDIA_STREAM_STATUS_TRAY_TEXT_AUDIO_AND_VIDEO" desc="Tool tip for the capture status tray icon when microphone and camera are being used">
        Chromium is using your camera and microphone.
      </message>
      <message name="IDS_MEDIA_STREAM_STATUS_TRAY_TEXT_AUDIO_ONLY" desc="Tool tip for the capture status tray icon when microphone is being used">
        Chromium is using your microphone.
      </message>
      <message name="IDS_MEDIA_STREAM_STATUS_TRAY_TEXT_VIDEO_ONLY" desc="Tool tip for the capture status tray icon when camera is being used">
        Chromium is using your camera.
      </message>

      <!-- ProcessSingleton -->
      <if expr="is_linux or is_macosx">
        <message name="IDS_PROFILE_IN_USE_POSIX" 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 another Chromium process (<ph name="PROCESS_ID">$1<ex>12345</ex></ph>) on another computer (<ph name="HOST_NAME">$2<ex>example.com</ex></ph>). Chromium has locked the profile so that it doesn't get corrupted. If you are sure no other processes are using this profile, you can unlock the profile and relaunch Chromium.
        </message>
      </if>

      <!-- Mac First-run dialog messages -->
      <if expr="is_macosx">
        <message name="IDS_FIRSTRUN_DLG_MAC_SET_DEFAULT_BROWSER_LABEL" desc="Label for checkbox that sets the default browser">
          Set Chromium as your default browser
        </message>
      </if>

      <!-- chrome://settings. Android uses native UI for settings -->
      <if expr="not is_android">
        <message name="IDS_AUTOLAUNCH_TEXT" desc="The text displayed in settings to explain whether Chromium is set to auto-launch on startup or not.">
          Launch Chromium automatically when your computer starts
        </message>
        <message name="IDS_OPTIONS_DEFAULTBROWSER_USEASDEFAULT" desc="The label of the 'Use Chromium as default' browser button">
          Make Chromium the default browser
        </message>
      </if>

      <!-- Toast experiment. -->
      <if expr="is_win">
        <message name="IDS_TRY_TOAST_SET_DEFAULT" desc="Text of the checkbox to make Chromium the default browser">
          Make Chromium the default browser
        </message>
      </if>

      <!-- User manager tutorial -->
      <if expr="not is_android and not is_ios and not chromeos">
        <message name="IDS_USER_MANAGER_TUTORIAL_SLIDE_INTRO_TITLE" desc="Title of the tutorial introduction slide">
          Chromium just got better
        </message>
        <message name="IDS_USER_MANAGER_TUTORIAL_SLIDE_INTRO_TEXT" desc="Main text of the tutorial introduction slide">
          Now it's easier to use Chromium with your Google Account and on shared computers.
        </message>
        <message name="IDS_USER_MANAGER_TUTORIAL_SLIDE_YOUR_CHROME_TITLE" desc="Title of the slide about personalizing the browser">
          This is your Chromium
        </message>
        <message name="IDS_USER_MANAGER_TUTORIAL_SLIDE_YOUR_CHROME_TEXT" desc="Main text of the slide about personalizing the browser">
          Your web, bookmarks, and other Chromium stuff live here.
        </message>
        <message name="IDS_USER_MANAGER_TUTORIAL_SLIDE_GUEST_TEXT" desc="Main text of the guest user slide">
          Guests can use Chromium without leaving anything behind.
        </message>
        <message name="IDS_USER_MANAGER_TUTORIAL_SLIDE_FRIENDS_TEXT" desc="Main text of the friends and family slide">
          If you share a computer, friends and family can browse separately and set up Chromium just the way they want.
        </message>
        <message name="IDS_USER_MANAGER_TUTORIAL_SLIDE_OUTRO_TEXT" desc="Main text of the tutorial completion slide">
          Click your name to open Chromium and start browsing.
        </message>
        <message name="IDS_USER_MANAGER_TUTORIAL_SLIDE_OUTRO_ADD_USER" desc="Text of the add a new user button">
          Add yourself to Chromium
        </message>
      </if>

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

      <!-- Windows firewall rule strings. -->
      <if expr="is_win">
        <message name="IDS_INBOUND_MDNS_RULE_NAME" desc="The name of the firewall rule allowing inbound mDNS traffic.">
          Chromium (mDNS-In)
        </message>
        <message name="IDS_INBOUND_MDNS_RULE_NAME_CANARY" desc="The name of the firewall rule allowing inbound mDNS traffic for canary.">
          Chromium (mDNS-In)
        </message>
        <message name="IDS_INBOUND_MDNS_RULE_DESCRIPTION" desc="The description of the firewall rule allowing inbound mDNS traffic.">
          Inbound rule for Chromium to allow mDNS traffic.
        </message>
        <message name="IDS_INBOUND_MDNS_RULE_DESCRIPTION_CANARY" desc="The description of the firewall rule allowing inbound mDNS traffic canary.">
          Inbound rule for Chromium to allow mDNS traffic.
        </message>
      </if>

      <!-- Update bubble -->
      <message name="IDS_REINSTALL_APP" desc="Text for the button the user clicks to reinstall the app.">
        Reinstall Chromium
      </message>
      <if expr="use_titlecase">
        <message name="IDS_UPGRADE_BUBBLE_MENU_ITEM" desc="In Title Case: Text for the Chrome menu option replacing Update required.">
          Chromium is Out of Date
        </message>
      </if>
      <if expr="not use_titlecase">
        <message name="IDS_UPGRADE_BUBBLE_MENU_ITEM" desc="Text for the Chrome menu option replacing Update required.">
          Chromium is out of date
        </message>
      </if>
      <message name="IDS_UPGRADE_BUBBLE_TITLE" desc="Text for the title of the upgrade bubble view.">
        Chromium is out of date
      </message>
      <message name="IDS_UPGRADE_BUBBLE_TEXT" desc="Text for the upgrade bubble view full description.">
        Chromium could not update itself to the latest version, so you are missing out on awesome new features and security fixes. You need to manually reinstall Chromium.
      </message>
      <message name="IDS_UPGRADE_BUBBLE_REENABLE_TEXT" desc="Text for the upgrade bubble view full description.">
        Chromium could not update itself to the latest version, so you are missing out on awesome new features and security fixes. You need to update Chromium.
      </message>

      <!-- Dialog that asks whether user wants to participate in Safe Browsing Extended Reporting -->
      <message name="IDS_FEEDBACK_SERVICE_DIALOG_TITLE" desc="Title of the dialog asking whether the user wants to upload suspected malicious files for analysis">
        Help make Chromium better
      </message>
      <message name="IDS_FEEDBACK_SERVICE_DIALOG_EXPLANATION" desc="Explanation of the dialog asking whether the user wants to upload suspected malicious files for analysis">
        You can help make Chromium safer and easier to use by automatically reporting details of possible security incidents to Google.
      </message>
    </messages>
  </release>
</grit>
