<?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="pp_ifdef('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="pp_ifdef('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="pp_ifdef('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="pp_ifdef('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="pp_ifdef('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" />
    <output filename="chromium_strings_es-419.pak" type="data_package" lang="es-419" />
    <output filename="chromium_strings_et.pak" type="data_package" lang="et" />
    <if expr="pp_ifdef('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="pp_ifdef('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="pp_ifdef('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="pp_ifdef('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="pp_ifdef('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" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="chromium_strings_ms.pak" type="data_package" lang="ms" />
    </if>
    <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" />
    <output filename="chromium_strings_pt-BR.pak" type="data_package" lang="pt-BR" />
    <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="pp_ifdef('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="pp_ifdef('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_PRODUCT_NAME" desc="The Chrome application name">
        Chromium
      </message>
      <message name="IDS_SHORT_PRODUCT_NAME" desc="The Chrome application short name.">
        Chromium
      </message>
      <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>
      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_PRODUCT_OS_NAME" desc="The Chrome OS application name">
          Chromium OS
        </message>
      </if>
      <if expr="is_win">
        <message name="IDS_PRODUCT_FRAME_NAME" desc="The Chrome Frame application name">
          Chromium Frame
        </message>
        <message name="IDS_VERSIONMISMATCH_HEADER">
          Chromium Frame Update.
        </message>
        <message name="IDS_VERSIONMISMATCH">
          Chromium Frame has been updated. Please relaunch your browser. Chromium version: <ph name="TODO_0001">%ls<ex>TODO</ex></ph>, Chromium Frame version: <ph name="TODO_0002">%ls<ex>TODO</ex></ph>
        </message>
        <message name="IDS_VERSIONUNKNOWN">
          Unknown version.
        </message>
        <message name="IDS_CHROME_FRAME_MENU_ABOUT" desc="About Chrome Frame label">
          About Chromium Frame...
        </message>
        <message name="IDS_CHROME_FRAME_READY_MODE_LEARN_MORE_URL" desc="Link to knowledge-base article about Chromium Frame Ready Mode">
          http://www.google.com/support/chrome/bin/answer.py?hl=[GRITLANGCODE]&amp;answer=161796
        </message>
        <message name="IDS_CHROME_FRAME_READY_MODE_PROMPT" desc="Ready Mode prompt message">
          This site recommends Chromium Frame (already installed).
        </message>
      </if>
      <message name="IDS_INSTANT_OPT_IN_TITLE" desc="Title of the instant opt-in dialog">
        Instant
      </message>
      <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. In general, it is best not to proceed past this point.
      </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. You should not proceed.
      </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. You should ensure that your clock and time zone are set correctly on your computer. If they are not, you should correct any issues and refresh this page. If they are correct, you should not proceed.
      </message>
      <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. You should not proceed, &lt;strong&gt;especially&lt;/strong&gt; if you have never seen this warning before for this site.
      </message>
      <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. Your connection is not secure and you should not proceed.
      </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>
      <!-- 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>
      <message name="IDS_BROWSER_WINDOW_TITLE_FORMAT_NO_LOGO" desc="The format for titles displayed when the window has no distributor logo displayed">
        <ph name="PAGE_TITLE">$1<ex>Google</ex></ph>
      </message>
      <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 © 2006-2011 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">BEGIN_LINK_CHR</ph>Chromium<ph name="END_LINK_CHROMIUM">END_LINK_CHR</ph> open source project and other <ph name="BEGIN_LINK_OSS">BEGIN_LINK_OSS</ph>open source software<ph name="END_LINK_OSS">END_LINK_OSS</ph>.
      </message>
      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_ABOUT_CROS_VERSION_LICENSE" desc="Additional text displayed beneath the Chromium open source URLs for Chromium OS.">
          Chromium OS is made possible by additional <ph name="BEGIN_LINK_CROS_OSS">BEGIN_LINK_CROS_OSS</ph>open source software<ph name="END_LINK_CROS_OSS">END_LINK_CROS_OSS</ph>.
        </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 synch.
      </message>
      <message name="IDS_TERMS_OF_SERVICE" desc="The Terms of Service link text in the About box. Used in IDS_ABOUT_TERMS_OF_SERVICE.">
        Not used in Chromium. Placeholder to keep resource maps in synch.
      </message>
      <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 -->
      <message name="IDS_BROWSER_HUNGBROWSER_MESSAGE" desc="Content of the dialog box shown when the browser is hung">
        Chromium is unresponsive. Relaunch now?
      </message>
      <message name="IDS_IMPORT_PROGRESS_INFO" desc="Explanatory text for the importing progress dialog">
        Chromium is now importing the following items from <ph name="BROWSER_COMPONENT">$1<ex>History</ex></ph>:
      </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>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_BUGREPORT_CHROME_MISBEHAVES" desc="Report a bug/problem type: Browser is misbehaving">
          Chromium is misbehaving
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_BUGREPORT_CHROME_MISBEHAVES" desc="In Title Case: Report a bug/problem type: Browser is misbehaving">
          Chromium is Misbehaving
        </message>
      </if>
      <message name="IDS_ABOUT_CHROME_TITLE" desc="Dialog title">
        About Chromium
      </message>
      <!-- Uninstall messages -->
      <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_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_FIRSTRUN_DLG_TITLE" desc="Dialog title for first-run dialog">
        Welcome to Chromium
      </message>
      <message name="IDS_FIRSTRUN_DLG_OK" desc="Text for OK button on first-run dialog">
        Start Chromium
      </message>
      <message name="IDS_FR_CUSTOMIZE_DEFAULT_BROWSER" desc="Default browser checkbox label">
        Make Chromium the default browser
      </message>
      <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>
      <message name="IDS_NTP4_INTRO_MESSAGE" desc="Message explaning the navigation bar at the bottom of the new NTP.">
        Chromium's New Tab page has been remodeled. Switch between sections by clicking these labels. Chromium will remember your preference for next time.
      </message>
      <if expr="not pp_ifdef('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="pp_ifdef('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 -->
      <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>
      <message name="IDS_UNSUPPORTED_OS" desc="The text used to warn the user that current OS is not supported">
        Chromium does not support <ph name="OS_NAME">$1<ex>Windows 2000</ex></ph>.
      </message>
      <if expr="not pp_ifdef('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="pp_ifdef('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 of Chromium OS and sign in again for this change to take effect.
        </message>
      </if>
      <if expr="pp_ifdef('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 pp_ifdef('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_BACKGROUND_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_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:\n\n<ph name="USER_DATA_DIRECTORY">$1<ex>C:\Documents and Settings\devint\Local Settings\Application Data\Google\Chrome</ex></ph>
      </message>
      <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>
      <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.\n\nSome 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.\n\nSome 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.\n\nChromium 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>
      <message name="IDS_CRASH_RECOVERY_CONTENT" desc="Text content telling the user the browser has crashed.">
        Whoa! Chromium has crashed. Relaunch now?
      </message>
      <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>
      <message name="IDS_FR_BUBBLE_QUESTION" desc="Main text for the bubble">
        Chromium uses your default search engine, which is currently set to <ph name="PAGE_TITLE">$1<ex>Google</ex></ph>. Do you want to keep your default search engine?
      </message>
      <message name="IDS_CANT_WRITE_USER_DIRECTORY_EXIT_BUTTON" desc="Text on button of dialog that closes Chrome if we can't create a directory for this user.">
        Exit Chromium
      </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_CF" desc="Error displayed when higher version already exists.">
        This computer already has a more recent version of Chromium Frame. If the software is not working, please uninstall Chromium Frame and try again.
      </message>
      <message name="IDS_INSTALL_HIGHER_VERSION_CB_CF" desc="Error displayed when higher version of Chromium and Chromium Frame already exists">
        This computer already has a more recent version of Chromium and Chromium Frame. If the software is not working, please uninstall both Chromium and Chromium Frame and try again.
      </message>
      <message name="IDS_INSTALL_SYSTEM_LEVEL_EXISTS" desc="Error displayed during user level install if system level Chromium Frame is already installed.">
        Chromium Frame is already installed and available to all users of this computer. If you want to install Chromium Frame at the user level, you must first uninstall the system-level version installed by an administrator.
      </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_SAME_VERSION_REPAIR_FAILED_CF" desc="Error displayed if installation fails due to Chrome running.">
        Can not install the same Chromium Frame version that is currently running. Please close Chromium Frame 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 or Chromium Frame found to update.
      </message>
      <message name="IDS_INSTALL_APP_CONFLICT" desc="Error displayed if installation fails due to another existing application.">
        A conflict with another installed application has been detected.
      </message>
      <message name="IDS_UNINSTALL_COMPLETE" desc="Text displayed on dialog that is shown when uninstall is complete and no reboot is required.">
        Uninstallation complete.
      </message>
      <message name="IDS_INSTALL_DIR_IN_USE" desc="Error during install if Chromium version is missing from registry but the installation directory exists and can not be deleted.">
        Chromium installation directory seems to be in use. Please reboot your computer and try again.
      </message>
      <message name="IDS_INSTALL_NON_MULTI_INSTALLATION_EXISTS" desc="Error during install if a single-install Chromium or Chromium Frame is present, thereby preventing the installation of a multi-install Chromium or Chromium Frame.">
        A conflicting installation of Chromium or Chromium Frame was found on the system. Please uninstall it and try again.
      </message>
      <message name="IDS_INSTALL_MULTI_INSTALLATION_EXISTS" desc="Error during install if a multi-install Chromium or Chromium Frame is present, thereby preventing the installation of a single-install Chromium or Chromium Frame.">
        A conflicting installation of Chromium or Chromium Frame was found on the system. Please uninstall it and try again.
      </message>
      <message name="IDS_INSTALL_READY_MODE_REQUIRES_CHROME" desc="Chrome Frame in ready mode requires Chrome.">
        Invalid arguments. Chromium Frame cannot be installed in ready mode without also installing Chromium.
      </message>
      <message name="IDS_INSTALL_INCONSISTENT_UPDATE_POLICY" desc="This message does not apply to Chromium.">
      </message>
      <!-- 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>
      <message name="IDS_IMPORT_BOOKMARKS" desc="Explanatory text for the importing progress dialog when importing a bookmarks.html file from the bookmark manager">
        Chromium is now importing Favorites/Bookmarks.
      </message>
      <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_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>
      <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>
      <!-- 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 (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>
      <!-- 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>
      <message name="IDS_PRINT_PREVIEW_NATIVE_DIALOG" desc="Option offering the user to open the native print dialog, displayed when the PDF viewer is missing or when print preview fails.">
        Print using system dialog…
      </message>

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

        <!-- TODO(mark): All helper tasks are currently handled by the helper process.  The following strings exist in support of possibly changing things so that there's a distinct .app bundle for each of the various tasks.  This ensures that if and when a split is made, translated names will be available.  If the helper process is not split into multiple .app bundles, these strings can be removed. -->
        <message name="IDS_RENDERER_APP_NAME" desc="The renderer application's name.  Should contain the Chrome application name (IDS_PRODUCT_NAME). Example: Google Chrome Renderer.">
          Chromium Renderer
        </message>
        <message name="IDS_SHORT_RENDERER_APP_NAME" desc="The renderer application's short name, used for the Mac's application menu, activity monitor, etc. Example: Chrome Renderer, not Google Chrome Renderer.">
          Chromium Renderer
        </message>
        <message name="IDS_PLUGIN_APP_NAME" desc="The plug-in host application's name.  Should contain the Chrome application name (IDS_PRODUCT_NAME). Example: Google Chrome Plug-In Host.">
          Chromium Plug-In Host
        </message>
        <message name="IDS_SHORT_PLUGIN_APP_NAME" desc="The plug-in host application's short name, used for the Mac's application menu, activity monitor, etc. Example: Chrome Plug-In Host, not Google Chrome Plug-In Host.">
          Chromium Plug-In Host
        </message>
        <message name="IDS_WORKER_APP_NAME" desc="The worker application's name.  Should contain the Chrome application name (IDS_PRODUCT_NAME). Example: Google Chrome Worker.">
          Chromium Worker
        </message>
        <message name="IDS_SHORT_WORKER_APP_NAME" desc="The worker application's short name, used for the Mac's application menu, activity monitor, etc. Example: Chrome Worker, not Google Chrome Worker.">
          Chromium Worker
        </message>
        <message name="IDS_UTILITY_APP_NAME" desc="The utility application's name.  Should contain the Chrome application name (IDS_PRODUCT_NAME). Example: Google Chrome Utility.">
          Chromium Utility
        </message>
        <message name="IDS_SHORT_UTILITY_APP_NAME" desc="The utility application's short name, used for the Mac's application menu, activity monitor, etc. Example: Chrome Utility, not Google Chrome Utility.">
          Chromium Utility
        </message>
      </if>
    </messages>
  </release>
</grit>
