<?xml version="1.0" encoding="UTF-8"?>
<!-- This file contains definitions of strings that are specific to
Google Chrome. These strings will be translated for each locale that Google
Chrome supports. -->

<grit base_dir="." latest_public_release="0" current_release="1"
      source_lang_id="en" enc_check="möl">
  <outputs>
    <output filename="grit/google_chrome_strings.h" type="rc_header">
      <emit emit_type='prepend'></emit>
    </output>
    <output filename="google_chrome_strings_am.pak" type="data_package" lang="am" />
    <output filename="google_chrome_strings_ar.pak" type="data_package" lang="ar" />
    <output filename="google_chrome_strings_bg.pak" type="data_package" lang="bg" />
    <output filename="google_chrome_strings_bn.pak" type="data_package" lang="bn" />
    <output filename="google_chrome_strings_ca.pak" type="data_package" lang="ca" />
    <output filename="google_chrome_strings_cs.pak" type="data_package" lang="cs" />
    <output filename="google_chrome_strings_da.pak" type="data_package" lang="da" />
    <output filename="google_chrome_strings_de.pak" type="data_package" lang="de" />
    <output filename="google_chrome_strings_el.pak" type="data_package" lang="el" />
    <output filename="google_chrome_strings_en-GB.pak" type="data_package" lang="en-GB" />
    <output filename="google_chrome_strings_en-US.pak" type="data_package" lang="en" />
    <output filename="google_chrome_strings_es.pak" type="data_package" lang="es" />
    <output filename="google_chrome_strings_es-419.pak" type="data_package" lang="es-419" />
    <output filename="google_chrome_strings_et.pak" type="data_package" lang="et" />
    <output filename="google_chrome_strings_fa.pak" type="data_package" lang="fa" />
    <output filename="google_chrome_strings_fi.pak" type="data_package" lang="fi" />
    <output filename="google_chrome_strings_fil.pak" type="data_package" lang="fil" />
    <output filename="google_chrome_strings_fr.pak" type="data_package" lang="fr" />
    <output filename="google_chrome_strings_gu.pak" type="data_package" lang="gu" />
    <output filename="google_chrome_strings_he.pak" type="data_package" lang="he" />
    <output filename="google_chrome_strings_hi.pak" type="data_package" lang="hi" />
    <output filename="google_chrome_strings_hr.pak" type="data_package" lang="hr" />
    <output filename="google_chrome_strings_hu.pak" type="data_package" lang="hu" />
    <output filename="google_chrome_strings_id.pak" type="data_package" lang="id" />
    <output filename="google_chrome_strings_it.pak" type="data_package" lang="it" />
    <output filename="google_chrome_strings_ja.pak" type="data_package" lang="ja" />
    <output filename="google_chrome_strings_kn.pak" type="data_package" lang="kn" />
    <output filename="google_chrome_strings_ko.pak" type="data_package" lang="ko" />
    <output filename="google_chrome_strings_lt.pak" type="data_package" lang="lt" />
    <output filename="google_chrome_strings_lv.pak" type="data_package" lang="lv" />
    <output filename="google_chrome_strings_ml.pak" type="data_package" lang="ml" />
    <output filename="google_chrome_strings_mr.pak" type="data_package" lang="mr" />
    <output filename="google_chrome_strings_nl.pak" type="data_package" lang="nl" />
    <output filename="google_chrome_strings_nb.pak" type="data_package" lang="no" />
    <!-- 'no' for Norwegian Bokmål. It should be 'nb'. -->
    <output filename="google_chrome_strings_pl.pak" type="data_package" lang="pl" />
    <output filename="google_chrome_strings_pt-BR.pak" type="data_package" lang="pt-BR" />
    <output filename="google_chrome_strings_pt-PT.pak" type="data_package" lang="pt-PT" />
    <output filename="google_chrome_strings_ro.pak" type="data_package" lang="ro" />
    <output filename="google_chrome_strings_ru.pak" type="data_package" lang="ru" />
    <output filename="google_chrome_strings_sk.pak" type="data_package" lang="sk" />
    <output filename="google_chrome_strings_sl.pak" type="data_package" lang="sl" />
    <output filename="google_chrome_strings_sr.pak" type="data_package" lang="sr" />
    <output filename="google_chrome_strings_sv.pak" type="data_package" lang="sv" />
    <output filename="google_chrome_strings_sw.pak" type="data_package" lang="sw" />
    <output filename="google_chrome_strings_ta.pak" type="data_package" lang="ta" />
    <output filename="google_chrome_strings_te.pak" type="data_package" lang="te" />
    <output filename="google_chrome_strings_th.pak" type="data_package" lang="th" />
    <output filename="google_chrome_strings_tr.pak" type="data_package" lang="tr" />
    <output filename="google_chrome_strings_uk.pak" type="data_package" lang="uk" />
    <output filename="google_chrome_strings_vi.pak" type="data_package" lang="vi" />
    <output filename="google_chrome_strings_zh-CN.pak" type="data_package" lang="zh-CN" />
    <output filename="google_chrome_strings_zh-TW.pak" type="data_package" lang="zh-TW" />
    <output filename="google_chrome_strings_fake-bidi.pak" type="data_package" lang="fake-bidi" />
  </outputs>
  <translations>
    <file path="resources/google_chrome_strings_am.xtb" lang="am" />
    <file path="resources/google_chrome_strings_ar.xtb" lang="ar" />
    <file path="resources/google_chrome_strings_bg.xtb" lang="bg" />
    <file path="resources/google_chrome_strings_bn.xtb" lang="bn" />
    <file path="resources/google_chrome_strings_ca.xtb" lang="ca" />
    <file path="resources/google_chrome_strings_cs.xtb" lang="cs" />
    <file path="resources/google_chrome_strings_da.xtb" lang="da" />
    <file path="resources/google_chrome_strings_de.xtb" lang="de" />
    <file path="resources/google_chrome_strings_el.xtb" lang="el" />
    <file path="resources/google_chrome_strings_en-GB.xtb" lang="en-GB" />
    <file path="resources/google_chrome_strings_es.xtb" lang="es" />
    <file path="resources/google_chrome_strings_es-419.xtb" lang="es-419" />
    <file path="resources/google_chrome_strings_et.xtb" lang="et" />
    <file path="resources/google_chrome_strings_fa.xtb" lang="fa" />
    <file path="resources/google_chrome_strings_fi.xtb" lang="fi" />
    <file path="resources/google_chrome_strings_fil.xtb" lang="fil" />
    <file path="resources/google_chrome_strings_fr.xtb" lang="fr" />
    <file path="resources/google_chrome_strings_gu.xtb" lang="gu" />
    <file path="resources/google_chrome_strings_hi.xtb" lang="hi" />
    <file path="resources/google_chrome_strings_hr.xtb" lang="hr" />
    <file path="resources/google_chrome_strings_hu.xtb" lang="hu" />
    <file path="resources/google_chrome_strings_id.xtb" lang="id" />
    <file path="resources/google_chrome_strings_it.xtb" lang="it" />
    <!-- The translation console uses 'iw' for Hebrew, but we use 'he'. -->
    <file path="resources/google_chrome_strings_iw.xtb" lang="he" />
    <file path="resources/google_chrome_strings_ja.xtb" lang="ja" />
    <file path="resources/google_chrome_strings_kn.xtb" lang="kn" />
    <file path="resources/google_chrome_strings_ko.xtb" lang="ko" />
    <file path="resources/google_chrome_strings_lt.xtb" lang="lt" />
    <file path="resources/google_chrome_strings_lv.xtb" lang="lv" />
    <file path="resources/google_chrome_strings_ml.xtb" lang="ml" />
    <file path="resources/google_chrome_strings_mr.xtb" lang="mr" />
    <file path="resources/google_chrome_strings_nl.xtb" lang="nl" />
    <file path="resources/google_chrome_strings_no.xtb" lang="no" />
    <file path="resources/google_chrome_strings_pl.xtb" lang="pl" />
    <file path="resources/google_chrome_strings_pt-BR.xtb" lang="pt-BR" />
    <file path="resources/google_chrome_strings_pt-PT.xtb" lang="pt-PT" />
    <file path="resources/google_chrome_strings_ro.xtb" lang="ro" />
    <file path="resources/google_chrome_strings_ru.xtb" lang="ru" />
    <file path="resources/google_chrome_strings_sk.xtb" lang="sk" />
    <file path="resources/google_chrome_strings_sl.xtb" lang="sl" />
    <file path="resources/google_chrome_strings_sr.xtb" lang="sr" />
    <file path="resources/google_chrome_strings_sv.xtb" lang="sv" />
    <file path="resources/google_chrome_strings_sw.xtb" lang="sw" />
    <file path="resources/google_chrome_strings_ta.xtb" lang="ta" />
    <file path="resources/google_chrome_strings_te.xtb" lang="te" />
    <file path="resources/google_chrome_strings_th.xtb" lang="th" />
    <file path="resources/google_chrome_strings_tr.xtb" lang="tr" />
    <file path="resources/google_chrome_strings_uk.xtb" lang="uk" />
    <file path="resources/google_chrome_strings_vi.xtb" lang="vi" />
    <file path="resources/google_chrome_strings_zh-CN.xtb" lang="zh-CN" />
    <file path="resources/google_chrome_strings_zh-TW.xtb" lang="zh-TW" />
  </translations>
  <release seq="1" allow_pseudo="false">
    <messages fallback_to_english="true">
      <message name="IDS_PRODUCT_NAME" desc="The Chrome application name">
        Google Chrome
      </message>
      <message name="IDS_SHORT_PRODUCT_NAME" desc="The Chrome application short name">
        Chrome
      </message>
      <message name="IDS_SXS_SHORTCUT_NAME" desc="The Chrome short cut name for SxS channel">
        Google Chrome Canary
      </message>
      <message name="IDS_PRODUCT_DESCRIPTION" desc="Browser description">
        Google Chrome is a web browser that runs web pages 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 Google Chrome.
      </message>
      <if expr="pp_ifdef('chromeos')">
        <message name="IDS_PRODUCT_OS_NAME" desc="The Chrome OS application name">
          Chrome OS
        </message>
      </if>
      <if expr="is_win">
        <message name="IDS_PRODUCT_FRAME_NAME" desc="The Chrome Frame application name">
          Google Chrome Frame
        </message>
        <message name="IDS_VERSIONMISMATCH_HEADER">
          Chrome Frame Update.
        </message>
        <message name="IDS_VERSIONMISMATCH">
          Chrome Frame has been updated. Please relaunch your browser. Chrome version: <ph name="TODO_0001">%ls<ex>TODO</ex></ph>, Chrome 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 Chrome Frame...
        </message>
        <message name="IDS_CHROME_FRAME_READY_MODE_LEARN_MORE_URL" desc="Link to knowledge-base article about Chrome 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 Google Chrome Frame (already installed).
        </message>
      </if>
      <message name="IDS_INSTANT_OPT_IN_TITLE" desc="Title of the instant opt-in dialog">
        Google Chrome 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. Google Chrome 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, Chrome 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 Google Chrome 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. Google Chrome 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 Google Chrome 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. Google Chrome 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 - Google Chrome
      </message>
      <message name="IDS_SESSION_CRASHED_VIEW_MESSAGE" desc="Message shown when the last session didn't exit cleanly.">
        Google Chrome 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> - Google Chrome
      </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">
        Google Inc.
      </message>
      <message name="IDS_ABOUT_VERSION_COPYRIGHT" desc="Copyright information on the about pages">
        Copyright © 2006-2011 Google Inc. All Rights Reserved.
      </message>
      <message name="IDS_ABOUT_VERSION_LICENSE" desc="The label below the copyright message, containing the URLs.">
        Google Chrome 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 Chrome OS.">
          Chrome 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.">
        Google Chrome <ph name="TERMS_OF_SERVICE_LINK">$1<ex>Terms of Service</ex></ph>
      </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.">
        Terms of Service
      </message>
      <message name="IDS_ACCNAME_APP" desc="The accessible name for the app menu.">
        Chrome
      </message>
      <message name="IDS_ACCNAME_TOOLBAR" desc="The accessible name for the application's toolbar.">
        Google Chrome Toolbar
      </message>
      <!-- Hung Browser Detector -->
      <message name="IDS_BROWSER_HUNGBROWSER_MESSAGE" desc="Content of the dialog box shown when the browser is hung">
        Google Chrome is unresponsive. Relaunch now?
      </message>
      <message name="IDS_IMPORT_PROGRESS_INFO" desc="Explanatory text for the importing progress dialog">
        Google Chrome 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 Google Chrome, 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">
          Google Chrome 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">
          Google Chrome is Misbehaving
        </message>
      </if>
      <message name="IDS_ABOUT_CHROME_TITLE" desc="Dialog title">
        About Google Chrome
      </message>
      <!-- Uninstall messages -->
      <message name="IDS_UNINSTALL_CLOSE_APP" desc="Message to user when uninstall detects other app instance running">
        Please close all Google Chrome 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 Google Chrome?
      </message>
      <message name="IDS_UNINSTALL_CHROME" desc="The text of the shortcut in the Start Menu for uninstalling chrome.">
        Uninstall Google Chrome
      </message>
      <message name="IDS_FIRSTRUN_DLG_TITLE" desc="Dialog title for first-run dialog">
        Welcome to Google Chrome
      </message>
      <message name="IDS_FIRSTRUN_DLG_OK" desc="Text for OK button on first-run dialog">
        Start Google Chrome
      </message>
      <message name="IDS_FR_CUSTOMIZE_DEFAULT_BROWSER" desc="Default browser checkbox label">
        Make Google Chrome 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 Google Chrome
      </message>
      <message name="IDS_NTP4_INTRO_MESSAGE" desc="Message explaning the navigation bar at the bottom of the new NTP.">
        Chrome's New Tab page has been remodeled. Switch between sections by clicking these labels. Chrome 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">
          Google Chrome 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">
          Google ChromeOS 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">
        Google Chrome 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">
        Google Chrome 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 Google Chrome windows and relaunch it 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 Chrome 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 Google Chrome 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 Google Chrome 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 Google Chrome 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.">
        Google Chrome 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 on EULA screen.">
        Optional: Help make Chrome OS 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 Google Chrome.\n\nSome features may be unavailable. Please specify a different profile directory or use a newer version of Chrome.
      </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\nGoogle Chrome 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.">
        Google Chrome
      </message>
      <message name="IDS_CRASH_RECOVERY_CONTENT" desc="Text content telling the user the browser has crashed.">
        Whoa! Google Chrome has crashed. Relaunch now?
      </message>
      <message name="IDS_PASSWORD_MANAGER_SAVE_PASSWORD_PROMPT" desc="Info bar message to save a password">
        Do you want Google Chrome to save your password?
      </message>
      <message name="IDS_FR_BUBBLE_QUESTION" desc="Main text for the bubble">
        Google Chrome 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 Chrome
      </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 Google Chrome on this system, and it is available for all users. The system-level Google Chrome 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 Google Chrome. If the software is not working, please uninstall Google Chrome and try again.
      </message>
      <message name="IDS_INSTALL_HIGHER_VERSION_CF" desc="Error displayed when higher version of Chrome Frame already exists">
        This computer already has a more recent version of Google Chrome Frame. If the software is not working, please uninstall Google Chrome Frame and try again.
      </message>
      <message name="IDS_INSTALL_HIGHER_VERSION_CB_CF" desc="Error displayed when higher version of Chrome and Chrome Frame already exists">
        This computer already has a more recent version of Google Chrome and Google Chrome Frame. If the software is not working, please uninstall both Google Chrome and Google Chrome Frame and try again.
      </message>
      <message name="IDS_INSTALL_SYSTEM_LEVEL_EXISTS" desc="Error displayed during user level install if system level Chromium is already installed.">
        Google Chrome is already installed and available to all users of this computer. If you want to install Google Chrome 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 Google Chrome 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 Google Chrome version that is currently running. Please close Google Chrome and try again.
      </message>
      <message name="IDS_SAME_VERSION_REPAIR_FAILED_CF" desc="Error displayed if installation fails due to Chrome Frame already running.">
        Can not install the same Google Chrome Frame version that is currently running. Please close Google Chrome 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 Google Chrome again.
      </message>
      <message name="IDS_INSTALL_OS_NOT_SUPPORTED" desc="Error displayed if OS is not supported">
        Google Chrome 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 Google Chrome 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 Google Chrome 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 Google Chrome 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 Google Chrome or Google Chrome 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_FAILED" desc="Error during uninstall if we can not find the installation directory from registry.">
        Google Chrome is not installed or it failed to find installation directory. Please download Google Chrome again.
      </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 Google Chrome version is missing from registry but the installation directory exists and can not be deleted.">
        Google Chrome 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 Google Chrome or Google Chrome Frame is present, thereby preventing the installation of a multi-install Google Chrome or Google Chrome Frame.">
        A conflicting installation of Google Chrome or Google Chrome 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 Google Chrome or Google Chrome Frame is present, thereby preventing the installation of a single-install Google Chrome or Google Chrome Frame.">
        A conflicting installation of Google Chrome or Google Chrome Frame was found on the system. Please uninstall it and try again.
      </message>
      <message name="IDS_INSTALL_CONFLICTING_CHANNEL_EXISTS" desc="Error during install if a version of Google Chrome on a different update channel exists when installing Google Chrome Frame.">
        A conflicting installation of Google Chrome 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. Google Chrome Frame cannot be installed in ready mode without also installing Google Chrome.
      </message>
      <message name="IDS_INSTALL_INCONSISTENT_UPDATE_POLICY" desc="Error during install if the update policies settings in Group Policy are inconsistent.">
        Google Chrome or Google Chrome Frame cannot be updated on account of inconsistent Google Update Group Policy settings. Use the Group Policy Editor to set the update policy override for the Google Chrome Binaries application and try again.
      </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.">
        Google Chrome 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">
        Google Chrome 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 Google Chrome 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.">
        Google Chrome 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 Google Chrome available.
      </message>
      <message name="IDS_TRY_TOAST_HEADING2" desc="Top line of the try-chrome-again dialog">
        There's a new version of Google Chrome 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 Google Chrome available.
      </message>
      <message name="IDS_TRY_TOAST_HEADING4" desc="Top line of the try-chrome-again dialog">
        Google Chrome 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">
        Google Chrome 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 Google Chrome
      </message>
      <message name="IDS_CONFLICTS_CHECK_WARNING_CONFIRMED" desc="Warning label on the compatibility page">
        This module is known to conflict with Google Chrome.
      </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 Google Chrome.
      </message>
      <!-- chrome://crashes strings -->
      <message name="IDS_CRASHES_DISABLED_MESSAGE" desc="The explanatory message for chrome://crashes when crash reporting is disabled">
        This page only shows information on your recent crashes if you <ph name="BEGIN_LINK">&lt;a href="https://www.google.com/support/chrome/bin/answer.py?answer=96817"&gt;</ph>enable crash reporting<ph name="END_LINK">&lt;/a&gt;</ph>.
      </message>
      <!-- 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 Google Chrome page.
      </message>
      <!-- Print Preview -->
      <message name="IDS_PRINT_PREVIEW_NO_PLUGIN" desc="Message to display when the PDF viewer is missing.">
        Google Chrome cannot show the print preview when the built-in PDF viewer is disabled. In order to see the preview, please visit <ph name="BEGIN_LINK">&lt;a target="_blank" rel="noreferrer" href="$1"&gt;</ph>$1<ph name="END_LINK">&lt;/a&gt;</ph>, enable the "Chrome PDF Viewer", and try again.
      </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.">
          Chrome
        </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.">
          Google Chrome 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.">
          Chrome 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.">
          Google Chrome 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.">
          Chrome 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.">
          Google Chrome 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.">
          Chrome 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.">
          Google Chrome 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.">
          Chrome 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.">
          Google Chrome 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.">
          Chrome Utility
        </message>
      </if>
    </messages>
  </release>
</grit>
