<?xml version="1.0" encoding="UTF-8"?>
<grit current_release="1" latest_public_release="0">
  <outputs>
    <output filename="values-am/android_chrome_strings.xml" lang="am" type="android" />
    <output filename="values-ar/android_chrome_strings.xml" lang="ar" type="android" />
    <output filename="values-bg/android_chrome_strings.xml" lang="bg" type="android" />
    <output filename="values-ca/android_chrome_strings.xml" lang="ca" type="android" />
    <output filename="values-cs/android_chrome_strings.xml" lang="cs" type="android" />
    <output filename="values-da/android_chrome_strings.xml" lang="da" type="android" />
    <output filename="values-de/android_chrome_strings.xml" lang="de" type="android" />
    <output filename="values-el/android_chrome_strings.xml" lang="el" type="android" />
    <output filename="values/android_chrome_strings.xml" lang="en" type="android" />
    <output filename="values-en-rGB/android_chrome_strings.xml" lang="en-GB" type="android" />
    <output filename="values-es/android_chrome_strings.xml" lang="es" type="android" />
    <output filename="values-es-rUS/android_chrome_strings.xml" lang="es-419" type="android" />
    <output filename="values-fa/android_chrome_strings.xml" lang="fa" type="android" />
    <output filename="values-fi/android_chrome_strings.xml" lang="fi" type="android" />
    <output filename="values-tl/android_chrome_strings.xml" lang="fil" type="android" />
    <output filename="values-fr/android_chrome_strings.xml" lang="fr" type="android" />
    <output filename="values-hi/android_chrome_strings.xml" lang="hi" type="android" />
    <output filename="values-hr/android_chrome_strings.xml" lang="hr" type="android" />
    <output filename="values-hu/android_chrome_strings.xml" lang="hu" type="android" />
    <output filename="values-in/android_chrome_strings.xml" lang="id" type="android" />
    <output filename="values-it/android_chrome_strings.xml" lang="it" type="android" />
    <output filename="values-iw/android_chrome_strings.xml" lang="iw" type="android" />
    <output filename="values-ja/android_chrome_strings.xml" lang="ja" type="android" />
    <output filename="values-ko/android_chrome_strings.xml" lang="ko" type="android" />
    <output filename="values-lt/android_chrome_strings.xml" lang="lt" type="android" />
    <output filename="values-lv/android_chrome_strings.xml" lang="lv" type="android" />
    <output filename="values-nl/android_chrome_strings.xml" lang="nl" type="android" />
    <output filename="values-nb/android_chrome_strings.xml" lang="no" type="android" />
    <output filename="values-pl/android_chrome_strings.xml" lang="pl" type="android" />
    <output filename="values-pt-rBR/android_chrome_strings.xml" lang="pt-BR" type="android" />
    <output filename="values-pt-rPT/android_chrome_strings.xml" lang="pt-PT" type="android" />
    <output filename="values-ro/android_chrome_strings.xml" lang="ro" type="android" />
    <output filename="values-ru/android_chrome_strings.xml" lang="ru" type="android" />
    <output filename="values-sk/android_chrome_strings.xml" lang="sk" type="android" />
    <output filename="values-sl/android_chrome_strings.xml" lang="sl" type="android" />
    <output filename="values-sr/android_chrome_strings.xml" lang="sr" type="android" />
    <output filename="values-sv/android_chrome_strings.xml" lang="sv" type="android" />
    <output filename="values-sw/android_chrome_strings.xml" lang="sw" type="android" />
    <output filename="values-th/android_chrome_strings.xml" lang="th" type="android" />
    <output filename="values-tr/android_chrome_strings.xml" lang="tr" type="android" />
    <output filename="values-uk/android_chrome_strings.xml" lang="uk" type="android" />
    <output filename="values-vi/android_chrome_strings.xml" lang="vi" type="android" />
    <output filename="values-zh-rCN/android_chrome_strings.xml" lang="zh-CN" type="android" />
    <output filename="values-zh-rTW/android_chrome_strings.xml" lang="zh-TW" type="android" />
  </outputs>
  <translations>
    <file lang="am" path="translations/android_chrome_strings_am.xtb" />
    <file lang="ar" path="translations/android_chrome_strings_ar.xtb" />
    <file lang="bg" path="translations/android_chrome_strings_bg.xtb" />
    <file lang="ca" path="translations/android_chrome_strings_ca.xtb" />
    <file lang="cs" path="translations/android_chrome_strings_cs.xtb" />
    <file lang="da" path="translations/android_chrome_strings_da.xtb" />
    <file lang="de" path="translations/android_chrome_strings_de.xtb" />
    <file lang="el" path="translations/android_chrome_strings_el.xtb" />
    <file lang="en-GB" path="translations/android_chrome_strings_en-GB.xtb" />
    <file lang="es" path="translations/android_chrome_strings_es.xtb" />
    <file lang="es-419" path="translations/android_chrome_strings_es-419.xtb" />
    <file lang="fa" path="translations/android_chrome_strings_fa.xtb" />
    <file lang="fi" path="translations/android_chrome_strings_fi.xtb" />
    <file lang="fil" path="translations/android_chrome_strings_fil.xtb" />
    <file lang="fr" path="translations/android_chrome_strings_fr.xtb" />
    <file lang="hi" path="translations/android_chrome_strings_hi.xtb" />
    <file lang="hr" path="translations/android_chrome_strings_hr.xtb" />
    <file lang="hu" path="translations/android_chrome_strings_hu.xtb" />
    <file lang="id" path="translations/android_chrome_strings_id.xtb" />
    <file lang="it" path="translations/android_chrome_strings_it.xtb" />
    <file lang="iw" path="translations/android_chrome_strings_iw.xtb" />
    <file lang="ja" path="translations/android_chrome_strings_ja.xtb" />
    <file lang="ko" path="translations/android_chrome_strings_ko.xtb" />
    <file lang="lt" path="translations/android_chrome_strings_lt.xtb" />
    <file lang="lv" path="translations/android_chrome_strings_lv.xtb" />
    <file lang="nl" path="translations/android_chrome_strings_nl.xtb" />
    <file lang="no" path="translations/android_chrome_strings_no.xtb" />
    <file lang="pl" path="translations/android_chrome_strings_pl.xtb" />
    <file lang="pt-BR" path="translations/android_chrome_strings_pt-BR.xtb" />
    <file lang="pt-PT" path="translations/android_chrome_strings_pt-PT.xtb" />
    <file lang="ro" path="translations/android_chrome_strings_ro.xtb" />
    <file lang="ru" path="translations/android_chrome_strings_ru.xtb" />
    <file lang="sk" path="translations/android_chrome_strings_sk.xtb" />
    <file lang="sl" path="translations/android_chrome_strings_sl.xtb" />
    <file lang="sr" path="translations/android_chrome_strings_sr.xtb" />
    <file lang="sv" path="translations/android_chrome_strings_sv.xtb" />
    <file lang="sw" path="translations/android_chrome_strings_sw.xtb" />
    <file lang="th" path="translations/android_chrome_strings_th.xtb" />
    <file lang="tr" path="translations/android_chrome_strings_tr.xtb" />
    <file lang="uk" path="translations/android_chrome_strings_uk.xtb" />
    <file lang="vi" path="translations/android_chrome_strings_vi.xtb" />
    <file lang="zh-CN" path="translations/android_chrome_strings_zh-CN.xtb" />
    <file lang="zh-TW" path="translations/android_chrome_strings_zh-TW.xtb" />
  </translations>
  <release allow_pseudo="false" seq="1">
    <messages fallback_to_english="true">
      <!-- Generic strings -->
      <message name="IDS_OK" desc="Label for a confirm button. Used in multiple contexts. [CHAR-LIMIT=20]">
        OK
      </message>
      <message name="IDS_CANCEL" desc="Label for a cancel button. Used in multiple contexts. [CHAR-LIMIT=20]">
        Cancel
      </message>
      <message name="IDS_SAVE" desc="Label for a button to save a change. Used in multiple contexts. [CHAR-LIMIT=20]">
        Save
      </message>
      <message name="IDS_DELETE" desc="Label for a delete button. Used in multiple contexts. [CHAR-LIMIT=20]">
        Delete
      </message>
      <message name="IDS_TEXT_ON" desc="Text indicating that an option is turned on. [CHAR-LIMIT=20]">
        On
      </message>
      <message name="IDS_TEXT_OFF" desc="Text indicating that an option is turned off. [CHAR-LIMIT=20]">
        Off
      </message>
      <message name="IDS_LEARN_MORE" desc="Generic label for menu item to learn more about a feature. [CHAR-LIMIT=32]">
        Learn more
      </message>
      <message name="IDS_MORE" desc="Generic label for a button to show more items or options. [CHAR-LIMIT=20]">
        More
      </message>
      <message name="IDS_CLOSE" desc="Content description for a button to close a dialog or popup" >
        Close
      </message>
      <message name="IDS_NO_THANKS" desc="Generic label to say no thanks for a feature. [CHAR-LIMIT=32]">
        No Thanks
      </message>

      <!-- Main Preferences -->
      <message name="IDS_PREFERENCES" desc="Title for Chrome's Settings.">
        Settings
      </message>
      <message name="IDS_MENU_HELP" desc="Menu item for opening the help page. [CHAR-LIMIT=27]">
        Help &amp; feedback
      </message>
      <message name="IDS_HELP" desc="Title for the help view.">
        Help
      </message>
      <message name="IDS_MANAGED_BY_YOUR_ADMINISTRATOR" desc="Popup message when the user clicks a UI element that has been disabled by enterprise policy.">
        Managed by your administrator
      </message>
      <message name="IDS_MANAGED_BY_YOUR_PARENTS" desc="Popup message when the user clicks a UI element that has been disabled by his/her parents.">
        Managed by your parents
      </message>
      <message name="IDS_MANAGED_BY_YOUR_PARENT" desc="Popup message when the user clicks a UI element that has been disabled by his/her parent.">
        Managed by your parent
      </message>

      <!-- Sign-in preference -->
      <message name="IDS_SIGN_IN_TO_CHROME" desc="Title for the button to sign in to Chrome using one's Google account. [CHAR-LIMIT=27]">
        Sign in to Chrome
      </message>
      <message name="IDS_SIGN_IN_TO_CHROME_SUMMARY" desc="Summary for the button to sign in to Chrome, explaining benefits of signing in.">
        Sign in to get your tabs, bookmarks, history, and other settings on all your devices
      </message>
      <message name="IDS_NUMBER_OF_SIGNED_IN_ACCOUNTS" desc="Summary indicating the number of accounts (always greater than 1) the user is signed in to the content area.">
        <ph name="NUMBER_OF_ACCOUNTS">%1$d<ex>3</ex></ph> accounts
      </message>

      <!-- Search engine preferences -->
      <message name="IDS_PREFS_SEARCH_ENGINE" desc="Title for Search Engine preferences. [CHAR-LIMIT=32]">
        Search engine
      </message>
      <message name="IDS_SEARCH_ENGINE_NAME_AND_DOMAIN" desc="Label for a search engine, that includes its name and its domain, e.g. Google (google.co.uk).">
        <ph name="SEARCH_ENGINE_NAME">%1$s<ex>Google</ex></ph> (<ph name="SEARCH_ENGINE_DOMAIN">%2$s<ex>google.co.uk</ex></ph>)
      </message>
      <message name="IDS_SEARCH_ENGINE_LOCATION_ALLOWED" desc="The text of a link displayed when location permission for a particular search engine is allowed.">
        Location is allowed
      </message>
      <message name="IDS_SEARCH_ENGINE_LOCATION_BLOCKED" desc="The text of a link displayed when location permission for a particular search engine is blocked.">
        Location is blocked
      </message>

      <!-- Autofill preferences -->
      <message name="IDS_PREFS_AUTOFILL" desc="Title for 'Autofill forms' settings, which control what personal data can be automatically filled into web page forms. [CHAR-LIMIT=32]">
        Autofill forms
      </message>
      <message name="IDS_AUTOFILL_PROFILES_TITLE" desc="Header above the list of profiles (which contain the user's name, address, etc) that can be automatically filled into web page forms. [CHAR-LIMIT=32]">
        Addresses
      </message>
      <message name="IDS_AUTOFILL_CREDIT_CARDS_TITLE" desc="Header above the list of the user's credit cards that can be automatically filled into web page forms. [CHAR-LIMIT=32]">
        Credit cards
      </message>
      <message name="IDS_AUTOFILL_CREATE_PROFILE" desc="Button that allows the user to create a new profile (which contains the user's name, address, etc) that will be automatically filled into web page forms. [CHAR-LIMIT=32]">
        Add address
      </message>
      <message name="IDS_AUTOFILL_EDIT_PROFILE" desc="Button that allows the user to edit a profile (which contains the user's name, address, etc) that can be automatically filled into web page forms. [CHAR-LIMIT=32]">
        Edit address
      </message>
      <message name="IDS_AUTOFILL_CREATE_CREDIT_CARD" desc="Button that allows the user to add a new credit card that will be automatically filled into web page forms. [CHAR-LIMIT=32]">
        Add credit card
      </message>
      <message name="IDS_AUTOFILL_EDIT_CREDIT_CARD" desc="Button that allows the user to edit a credit card that can be automatically filled into web page forms. [CHAR-LIMIT=32]">
        Edit credit card
      </message>
     <message name="IDS_AUTOFILL_PROFILE_EDITOR_COUNTRY" desc="Label for a spinner input field containg a list of countries or regions [CHAR-LIMIT=32]">
        Country/Region
      </message>
      <message name="IDS_AUTOFILL_PROFILE_EDITOR_EMAIL_ADDRESS" desc="Label for text input field containing an e-mail address. [CHAR-LIMIT=32]">
        Email
      </message>
      <message name="IDS_AUTOFILL_PROFILE_EDITOR_PHONE_NUMBER" desc="Label for text input field containing a phone number. [CHAR-LIMIT=32]">
        Phone
      </message>
      <message name="IDS_AUTOFILL_CREDIT_CARD_EDITOR_NAME" desc="Label for text input field containing the name on a credit card. [CHAR-LIMIT=32]">
        Name on card
      </message>
      <message name="IDS_AUTOFILL_CREDIT_CARD_EDITOR_NUMBER" desc="Label for text input field containing a credit card number. [CHAR-LIMIT=32]">
        Credit card number
      </message>
      <message name="IDS_AUTOFILL_CREDIT_CARD_EDITOR_EXPIRATION_DATE" desc="Label for text input field containing a credit card expiration date. [CHAR-LIMIT=32]">
        Expiration date
      </message>
      <message name="IDS_AUTOFILL_DESCRIBE_LOCAL_COPY" desc="Text label that described a Wallet credit card which has been copied to the local Chrome instance.">
         Copied to Chrome
       </message>

      <!-- Autofill/Wallet integration preferences -->
      <message name="IDS_AUTOFILL_WALLET_TITLE" desc="Text for checkbox that enables or disables import of Wallet data for Autofill.">
        Show addresses and credit cards from Google Wallet
      </message>
      <message name="IDS_AUTOFILL_WALLET_MANAGEMENT_LINK_TEXT" desc="Text for link that allows users to see and edit their Wallet information.">
        Edit
      </message>
      <message name="IDS_AUTOFILL_MANAGE_WALLET_CARDS_URL" desc="URL for managing wallet credit cards" translateable="false">
        https://wallet.google.com/manage/paymentMethods
      </message>
      <message name="IDS_AUTOFILL_MANAGE_WALLET_ADDRESSES_URL" desc="URL for managing wallet addresses" translateable="false">
        https://wallet.google.com/manage/addressBook
      </message>
      <message name="IDS_AUTOFILL_FROM_GOOGLE_ACCOUNT_LONG" desc="Text that indicates an address or credit card came from Google servers.">
        From Google Wallet
      </message>

      <!-- Save passwords preferences -->
      <message name="IDS_PREFS_SAVED_PASSWORDS" desc="Title for the Saved Passwords preferences. [CHAR-LIMIT=32]">
        Save passwords
      </message>
     <message name="IDS_PASSWORDS_AUTO_SIGNIN_TITLE" desc="Title for checkbox to enable automatically signing the user in to websites">
        Auto Sign-in
      </message>
      <message name="IDS_PASSWORDS_AUTO_SIGNIN_DESCRIPTION" desc="Text under 'Auto sign-in' checkbox">
       Automatically sign in to websites using stored credentials. When the feature is off, you'll be asked for verification every time before signing in to a website.
      </message>
      <message name="IDS_SECTION_SAVED_PASSWORDS" desc="Header for the list of passwords that have been saved in Chrome. [CHAR-LIMIT=32]">
        Passwords
      </message>
      <message name="IDS_SECTION_SAVED_PASSWORDS_EXCEPTIONS" desc="Header for the list of websites for which user selected to never save passwords. [CHAR-LIMIT=32]">
        Never saved
      </message>
      <message name="IDS_MANAGE_PASSWORDS_TEXT" desc="Text for link to manage passwords on Account Central.">
        Manage saved passwords in your <ph name="BEGIN_LINK">&lt;link&gt;</ph>Google Account<ph name="END_LINK">&lt;/link&gt;</ph>
      </message>
      <message name="IDS_SAVED_PASSWORDS_NONE_TEXT" desc="Text when there are no saved passwords/exceptions.">
        Saved passwords will appear here.
      </message>
      <message name="IDS_PASSWORD_ENTRY_EDITOR_TITLE" desc='Title of the "edit a name/password" screen.'>
        Edit saved name/password or exception
      </message>

      <!-- Homepage preferences -->
      <message name="IDS_HOMEPAGE_DEFAULT_TITLE" desc="Label for checkbox to use the default homepage">
        Default
      </message>

      <!-- Privacy preferences -->
      <message name="IDS_PREFS_PRIVACY" desc="Title for the Privacy preferences. [CHAR-LIMIT=32]">
        Privacy
      </message>
      <message name="IDS_NAVIGATION_ERROR_TITLE" desc="Title for checkbox to enable or disable navigation error suggestions.">
        Navigation error suggestions
      </message>
      <message name="IDS_NAVIGATION_ERROR_SUMMARY" desc="Summary for navigation error suggestions.">
        Show suggestions when a web address does not resolve or a connection cannot be made
      </message>
      <message name="IDS_SEARCH_SUGGESTIONS_TITLE" desc="Title for search and url suggestions.">
        Search and URL suggestions
      </message>
      <message name="IDS_SEARCH_SUGGESTIONS_SUMMARY" desc="Summary for search and url suggestions.">
        Use a prediction service to show related queries and popular websites as you type in the address bar
      </message>
      <message name="IDS_NETWORK_PREDICTIONS_TITLE" desc="Title for Prefetch page resources.">
        Prefetch page resources
      </message>
      <message name="IDS_NETWORK_PREDICTIONS_SUMMARY" desc="Summary for Prefetch page resources.">
        Improve page load performance
      </message>
      <message name="IDS_NETWORK_PREDICTION_ALWAYS_VALUE" desc="Internal value for prefetch page resources preference" translateable="false">
        network_prediction_always
      </message>
      <message name="IDS_NETWORK_PREDICTION_WIFI_ONLY_VALUE" desc="Internal value for prefetch page resources preference" translateable="false">
        network_prediction_wifi_only
      </message>
      <message name="IDS_NETWORK_PREDICTION_NEVER_VALUE" desc="Internal value for prefetch page resources preference" translateable="false">
        network_prediction_never
      </message>
      <message name="IDS_CONTEXTUAL_SEARCH_TITLE" desc="Name for the Contextual Search feature, which allows users to search for a term in a web page by tapping on it.">
        Touch to Search
      </message>
      <message name="IDS_CONTEXTUAL_SEARCH_ACTION_BAR" desc="Message shown on the action bar, to invite the user to tap to search for a term.">
        Search for “<ph name="SEARCH_TERM">%1$s<ex>Eiffel Tower</ex></ph>”
      </message>
      <message name="IDS_CONTEXTUAL_SEARCH_DESCRIPTION" desc="Description for Contextual Search preference">
        Learn about topics on websites without leaving the page. Touch to Search sends a word and its surrounding context to Google Search, returning definitions, pictures, search results, and other details.

To adjust your search term, long press to select. To refine your search, slide the panel all the way up and touch the search box.
      </message>
      <message name="IDS_CONTEXTUAL_SEARCH_LEARN_MORE_URL" desc="URL for learning more about Contextual Search preference" translateable="false">
        https://support.google.com/chrome/answer/95440#android
      </message>
      <message name="IDS_CONTEXTUAL_SEARCH_SHORT_DESCRIPTION" desc="A promo message shown to users who have Touch to Search enabled to explain the new behavior and provide an option to opt out">
        Touch to Search sends the selected word and the current page as context to Google Search. You can turn it off in <ph name="BEGIN_LINK">&lt;link&gt;</ph>Settings<ph name="END_LINK">&lt;/link&gt;</ph>.
      </message>
      <message name="IDS_CONTEXTUAL_SEARCH_GOT_IT_BUTTON" desc="A button to confirm and dismiss opt out promo">
        Allow
      </message>
      <message name="IDS_CONTEXTUAL_SEARCH_NO_THANKS_BUTTON" desc="A button to confirm and dismiss opt out promo">
        No thanks
      </message>
      <message name="IDS_CRASH_DUMP_UPLOAD_TITLE" desc="Title for crash upload upload preference">
        Usage and crash reports
      </message>
      <message name="IDS_CRASH_DUMP_NEVER_UPLOAD" desc="Settings option never to upload crash reports [CHAR-LIMIT=32]">
        Never send
      </message>
      <message name="IDS_CRASH_DUMP_ALWAYS_UPLOAD" desc="Settings option to upload crash reports only anytime (when on Wi-Fi or mobile data) [CHAR-LIMIT=32]">
        Always send
      </message>
      <message name="IDS_CRASH_DUMP_ONLY_WITH_WIFI" desc="Settings option to upload crash reports only over Wi-Fi [CHAR-LIMIT=32]">
        Only send on Wi-Fi
      </message>
      <message name="IDS_CRASH_DUMP_NEVER_UPLOAD_VALUE" desc="Internal value for crash uploading preference." translateable="false">
        crash_dump_never_upload
      </message>
      <message name="IDS_CRASH_DUMP_ALWAYS_UPLOAD_VALUE" desc="Internal value for crash uploading preference." translateable="false">
        crash_dump_always_upload
      </message>
      <message name="IDS_CRASH_DUMP_ONLY_WITH_WIFI_VALUE" desc="Internal value for crash uploading preference." translateable="false">
        crash_dump_only_with_wifi
      </message>
      <message name="IDS_DO_NOT_TRACK_TITLE" desc="Title for 'Do Not Track' preference">
        ‘Do Not Track’
      </message>
      <message name="IDS_DO_NOT_TRACK_DESCRIPTION" desc="Description for 'Do Not Track' preference">
        Enabling ‘Do Not Track’ means that a request will be included with your browsing traffic. Any effect depends on whether a website responds to the request, and how the request is interpreted.

For example, some websites may respond to this request by showing you ads that aren’t based on other websites you’ve visited. Many websites will still collect and use your browsing data - for example to improve security, to provide content, ads and recommendations on their websites, and to generate reporting statistics.
      </message>
      <message name="IDS_DO_NOT_TRACK_LEARN_MORE_URL" desc="URL for learning more about 'Do Not Track' preference" translateable="false">
      https://support.google.com/chrome/?p=settings_do_not_track
      </message>
      <message name="IDS_CLEAR_BROWSING_DATA_TITLE" desc="Button to Clear Browsing Data [CHAR-LIMIT=24]">
        Clear browsing data
      </message>
      <message name="IDS_CLEAR_CACHE_TITLE" desc="Title for Clear Cache in Clear Browsing Data dialog">
        Cache
      </message>
      <message name="IDS_CLEAR_HISTORY_TITLE" desc="Title for Clear History in Clear Browsing Data dialog">
        Browsing history
      </message>
      <message name="IDS_CLEAR_COOKIES_AND_SITE_DATA_TITLE" desc="Title for Clear Cookies and site data in Clear Browsing Data dialog">
        Cookies, site data
      </message>
      <message name="IDS_CLEAR_COOKIES_NO_SIGN_OUT_SUMMARY" desc="Text at the bottom of the Clear Browsing Data dialog informing that clearing cookies wouldn't sign the user out of Google Accounts. Dialog also contains a link which opens the Account Management screen.">
        You won't be signed out of your <ph name="BEGIN_LINK">&lt;link&gt;</ph>Google Accounts<ph name="END_LINK">&lt;/link&gt;</ph>
      </message>
      <message name="IDS_CLEAR_PASSWORDS_TITLE" desc="Title for Clear Passwords in Clear Browsing Data preference">
        Saved passwords
      </message>
      <message name="IDS_CLEAR_FORMDATA_TITLE" desc="Title for Clear Form Data in Clear Browsing Data preference">
        Autofill data
      </message>
      <message name="IDS_CLEAR_BOOKMARKS_TITLE" desc="Title for Clear Bookmarks data in Clear Synced Data dialog">
        Bookmarks
      </message>
      <message name="IDS_CLEAR_BROWSING_DATA_PROGRESS_TITLE" desc='Title for the progress dialog used when waiting for "clear browsing data" to complete.'>
        Clearing browsing data
      </message>
      <message name="IDS_CLEAR_DATA_DELETE" desc="Button that allows the user to clear their browsing data. [CHAR-LIMIT=20]">
        Clear
      </message>
      <message name="IDS_CLEAR_BROWSING_DATA_PROGRESS_MESSAGE" desc='Message on the progress dialog used when waiting for "clear browsing data" to complete.'>
        Please wait…
      </message>
      <message name="IDS_CAN_NOT_CLEAR_BROWSING_HISTORY_TOAST" desc="Message on the toast explaining that child account users can not clear their browsing history.">
        Browsing history can't be cleared with accounts for kids
      </message>
      <message name="IDS_USAGE_AND_CRASH_REPORTS_TITLE" desc="Title for 'Usage and crash reports' preference">
        Usage and crash reports
      </message>
      <message name="IDS_USAGE_AND_CRASH_REPORTS_DESCRIPTION" desc="Description for 'Usage and crash reports' preference">
        Help us prioritize the features and improvements we should work on by sending Google information about the files, applications, and services running whenever you experience a crash.

        Usage statistics include information such as preferences, button clicks, and memory usage. They do not include webpage URLs or any personal information. Crash reports contain system information at the time of the crash, and may contain web page URLs or personal information, depending on what was happening at the time of the crash.
      </message>
      <message name="IDS_USAGE_AND_CRASH_REPORTS_LEARN_MORE_URL" desc="URL for learning more about 'Usage and crash reports' preference" translateable="false">
        https://support.google.com/chrome/answer/96817
      </message>

      <!-- Accessibility preferences -->
      <message name="IDS_PREFS_ACCESSIBILITY" desc="Title of Accessibility settings, which allows the user to change webpage font sizes. [CHAR-LIMIT=32]">
        Accessibility
      </message>
      <message name="IDS_FONT_SIZE" desc="Title for font size preference.">
        Text scaling
      </message>
      <message name="IDS_FONT_SIZE_PREVIEW_TEXT" desc="Preview text for font-size slider.">
        Drag the slider until you can read this comfortably. Text should look at least this big after double-tapping on a paragraph.
      </message>
      <message name="IDS_FORCE_ENABLE_ZOOM_TITLE" desc="Title of preference that allows the user to zoom in on any webpage, even if the page tries to disable zooming.">
        Force enable zoom
      </message>
      <message name="IDS_FORCE_ENABLE_ZOOM_SUMMARY" desc="Summary of preference that allows the user to zoom in on any webpage, even if the page tries to disable zooming.">
        Override a website’s request to prevent zooming in
      </message>

      <!-- Site settings -->
      <message name="IDS_PREFS_CONTENT_SETTINGS" desc="Title of the Website Settings screen. [CHAR-LIMIT=32]">
        Site settings
      </message>
      <message name="IDS_ALL_SITES" desc='Title of the "All sites" settings screen that allows the user to see permissions for all websites. [CHAR-LIMIT=32]'>
        All sites
      </message>
      <message name="IDS_COOKIES_TITLE" desc="Title for the Cookies settings screen [CHAR-LIMIT=32]">
        Cookies
      </message>
      <message name="IDS_ALLOW_THIRD_PARTY_COOKIES_TITLE" desc="Title for Allow Third Party Cookies preference">
        Allow third-party cookies
      </message>
      <message name="IDS_ALLOW_THIRD_PARTY_COOKIES_SUMMARY" desc="Summary text for Allow Third Party Cookies preference">
        Third-party websites can save and read cookie data
      </message>
      <message name="IDS_IMAGES_PERMISSION_TITLE" desc="Title of the permission to show images [CHAR-LIMIT=32]">
        Images
      </message>
      <message name="IDS_JAVASCRIPT_PERMISSION_TITLE" desc="Title of the permission to run javascript [CHAR-LIMIT=32]">
        JavaScript
      </message>
      <message name="IDS_POPUP_PERMISSION_TITLE" desc="Title of the permission to display pop-up windows [CHAR-LIMIT=32]">
        Pop-ups
      </message>
      <message name="IDS_PUSH_NOTIFICATIONS_PERMISSION_TITLE" desc="Title for the permission for showing push notifications [CHAR-LIMIT=32]">
        Notifications
      </message>
      <message name="IDS_MIDI_SYSEX_PERMISSION_TITLE" desc="Title of the permission that allows a website to get full control of MIDI devices [CHAR-LIMIT=32]">
        Allow full control of MIDI devices
      </message>
      <message name="IDS_WEBSITE_SETTINGS_ADD_SITE" desc="The label for the button to add a new website to the exception list.">
        Add site
      </message>
      <message name="IDS_WEBSITE_SETTINGS_ADD_SITE_DIALOG_TITLE" desc="The title of the dialog to add a website to a list.">
        Add site
      </message>
      <message name="IDS_WEBSITE_SETTINGS_ADD_SITE_ADD_BUTTON" desc="The label for the button to add a website to a list.">
        Add
      </message>
      <message name="IDS_WEBSITE_SETTINGS_ADD_SITE_TOAST" desc="The toast shown when a new site has been added to the whitelist.">
        Site <ph name="SITE_NAME">%1$s<ex>google.com</ex></ph> added
      </message>
      <message name="IDS_WEBSITE_SETTINGS_ADD_SITE_DESCRIPTION_JAVASCRIPT" desc="The description for the allow Javascript for website dialog.">
        Allow JavaScript on websites you specify while blocking it for the rest of the web
      </message>
      <message name="IDS_WEBSITE_SETTINGS_ADD_SITE_DESCRIPTION_IMAGES" desc="The description for the allow Images on website dialog.">
        Allow images on websites you specify while blocking them for the rest of the web
      </message>
      <message name="IDS_WEBSITE_SETTINGS_ADD_SITE_SITE_URL" desc="The label for the input field where the user can type a website URL.">
        Site URL
      </message>
      <message name="IDS_EXAMPLE_URL" desc="The hint for a website url field, showing an example url.">
        www.example.com
      </message>
      <message name="IDS_WEBSITE_SETTINGS_SITE_CATEGORY" desc="The headline above the website name on the website details page.">
        Site
      </message>
      <message name="IDS_WEBSITE_SETTINGS_USAGE_CATEGORY" desc="The headline above the usage stats (how much storage the site is using) on the website details page.">
        Usage
      </message>
      <message name="IDS_WEBSITE_SETTINGS_PERMISSIONS_CATEGORY" desc="The headline above all the permissions on the website details page.">
        Permissions
      </message>
      <message name="IDS_WEBSITE_SETTINGS_CATEGORY_ALLOWED" desc="Summary text explaining that a permission is allowed, e.g. JavaScript: allowed.">
        Allowed
      </message>
      <message name="IDS_WEBSITE_SETTINGS_CATEGORY_BLOCKED" desc="Summary text explaining that a permission is blocked, e.g. JavaScript: blocked.">
        Blocked
      </message>
      <message name="IDS_WEBSITE_SETTINGS_CATEGORY_ALLOWED_EXCEPT_THIRD_PARTY" desc="Summary text for when only third-party cookies are blocked.">
        Allowed, except third-party
      </message>
      <message name="IDS_WEBSITE_SETTINGS_CATEGORY_ASK" desc="Summary text explaining that Chrome will ask the user before allowing a site to use a certain permission, e.g. JavaScript: ask first.">
        Ask first
      </message>
      <message name="IDS_WEBSITE_SETTINGS_BLOCKED_GROUP_HEADING" desc="The heading for a list of websites that have been blocked from using a particular permission, e.g. blocked from accessing the user's location.">
        Blocked
      </message>
      <message name="IDS_WEBSITE_SETTINGS_ALLOWED_GROUP_HEADING" desc="The heading for a list of websites that have been allowed to use a particular permission, e.g. allowed to access a user's location.">
        Allowed
      </message>
      <message name="IDS_WEBSITE_SETTINGS_EXCEPTIONS_GROUP_HEADING" desc="The heading for a list of websites that have been granted an exception to access a particular permission, e.g. to access the user's location.">
        Exceptions
      </message>
      <message name="IDS_ACCESSIBILITY_EXPANDED_GROUP" desc="The accessibility text to read when the selected widget is expanded.">
        Expanded - click to collapse.
      </message>
      <message name="IDS_ACCESSIBILITY_COLLAPSED_GROUP" desc="The accessibility text to read when the selected widget is collapsed.">
        Collapsed - click to expand.
      </message>
      <message name="IDS_WEBSITE_SETTINGS_CATEGORY_BLOCK_ALL" desc="Summary text explaining that a permission is blocked for all sites.">
        Block all sites
      </message>
      <message name="IDS_WEBSITE_SETTINGS_CATEGORY_BLOCK_RECOMMENDED" desc="Summary text explaining that a permission is blocked, which is the recommended setting.">
        Block (recommended)
      </message>
      <message name="IDS_WEBSITE_SETTINGS_CATEGORY_ASK_BEFORE_SENDING" desc="Summary text explaining that permission will be requested before sending things, e.g. notifications.">
        Ask before sending (recommended)
      </message>
      <message name="IDS_WEBSITE_SETTINGS_CATEGORY_ASK_BEFORE_ACCESSING" desc="Summary text explaining that permission will be requested before accessing something, like location.">
        Ask before accessing (recommended)
      </message>
      <message name="IDS_WEBSITE_SETTINGS_CATEGORY_ASK_BEFORE_ACCESSING_CAMERA" desc="Summary text explaining that permission will be requested before accessing the camera.">
        Ask before accessing camera (recommended)
      </message>
      <message name="IDS_WEBSITE_SETTINGS_CATEGORY_ASK_BEFORE_ACCESSING_MIC" desc="Summary text explaining that permission will be requested before accessing the microphone.">
        Ask before accessing microphone (recommended)
      </message>
      <message name="IDS_WEBSITE_SETTINGS_CATEGORY_COOKIE_ALLOWED" desc="Summary text explaining that sites are allowed to use cookies and that it is the recommended setting.">
        Allow sites to save and read cookie data (recommended)
      </message>
      <message name="IDS_WEBSITE_SETTINGS_PERMISSIONS_ALLOW" desc="Summary text explaining that the user will allow a website to access some permission, e.g. JavaScript: allow.">
        Allow
      </message>
      <message name="IDS_WEBSITE_SETTINGS_PERMISSIONS_BLOCK" desc="Summary text explaining that the user will block a website from accessing some permission, e.g. JavaScript: block.">
        Block
      </message>
      <message name="IDS_WEBSITE_SETTINGS_SEARCH" desc="The label for the search button on the Website Settings page.">
        Search
      </message>
      <message name="IDS_WEBSITE_SETTINGS_CHANGE" desc="The label for the text allowing users to change the Location/Protected content default setting.">
        Change
      </message>
      <message name="IDS_WEBSITE_RESET" desc="The label for the button allowing users to clear all data and reset the permissions for a website.">
        Clear &amp; reset
      </message>
      <message name="IDS_WEBSITE_RESET_CONFIRMATION" desc="The confirmation text asking if the user is sure about clearing all data and reset the permissions for a site.">
        Are you sure you want to clear all local data, including cookies, and reset all permissions for this website?
      </message>
      <message name="IDS_WEBSTORAGE_CLEAR_DATA_DIALOG_TITLE" desc="Title of the confirmation dialog when the user ask to clear all data for an origin">
        Clear stored data
      </message>
      <message name="IDS_WEBSTORAGE_CLEAR_DATA_DIALOG_MESSAGE" desc="Text of the confirmation dialog when the user ask to clear all data for an origin">
        All local data stored by this website, including cookies, will be deleted.
      </message>
      <message name="IDS_WEBSTORAGE_CLEAR_DATA_DIALOG_OK_BUTTON" desc="Button confirming site data cleanup [CHAR-LIMIT=20]">
        Clear all
      </message>
      <message name="IDS_WEBSITE_SETTINGS_EMBEDDED_IN" desc="String used to indicate the embedder origin of a site">
        Embedded in <ph name="WEBSITE_URL">%1$s<ex>google.com</ex></ph>
      </message>

      <!-- Single site settings -->
      <message name="IDS_NO_SAVED_WEBSITE_SETTINGS" desc="Text to display when there are no saved webiste settings.">
        You have no saved website settings.
      </message>

      <!-- Location preferences -->
      <message name="IDS_WEBSITE_SETTINGS_DEVICE_LOCATION" desc="Title for Location settings, which control which websites can access your location.">
        Location
      </message>
      <message name="IDS_GEOLOCATION_PERMISSION_TITLE" desc="Title for the permission of accessing the current location of a device [CHAR-LIMIT=32]">
        Location access
      </message>
      <message name="IDS_ANDROID_LOCATION_OFF" desc="Text at the top of the Website list, explaining to the user that the location service in Android is turned off. Contains a link to the settings menu to change it.">
        Turn on location in <ph name="BEGIN_LINK">&lt;link&gt;</ph>Android Settings<ph name="END_LINK">&lt;/link&gt;</ph>.
      </message>

      <!-- Camera and microphone preferences -->
      <message name="IDS_WEBSITE_SETTINGS_USE_CAMERA" desc="The category filter 'Camera' for content settings.">
        Camera
      </message>
      <message name="IDS_WEBSITE_SETTINGS_USE_MIC" desc="The category filter 'Mic' for content settings.">
        Microphone
      </message>
      <message name="IDS_CAMERA_PERMISSION_TITLE" desc="Title text to be shown when the user has allowed/denied video access for the website [CHAR-LIMIT=32]">
        Access your camera
      </message>
      <message name="IDS_MIC_PERMISSION_TITLE" desc="Title text to be shown when the user has allowed/denied voice access for the website [CHAR-LIMIT=32]">
        Access your microphone
      </message>
      <message name="IDS_VOICE_AND_VIDEO_PERMISSION_TITLE" desc="Title text to be shown when the user has allowed/denied voice and video access for the website [CHAR-LIMIT=32]">
        Access your mic and camera
      </message>

      <!-- Protected content preferences -->
      <message name="IDS_PROTECTED_CONTENT" desc="Title for link to protected content settings [CHAR-LIMIT=32]">
        Protected content
      </message>
      <message name="IDS_PROTECTED_CONTENT_PREFS_DESCRIPTION" desc="Description of Protected Content preference">
        When protected content is ON, websites will be able to authenticate your device to ensure it is authorized to play premium, protected videos.

If OFF, you may not be able to play premium videos on this device.
      </message>
      <message name="IDS_PROTECTED_CONTENT_RESET_FAILED" desc="Protected content preference device credential reset failure toast">
        Reset failed. Ensure your device is online and try again.
      </message>
      <message name="IDS_RESET_DEVICE_CREDENTIALS" desc="Title for device credential reset menu preference">
        Reset device credentials
      </message>
      <message name="IDS_PROTECTED_CONTENT_RESET_TITLE" desc="Title for device credential reset menu preference">
        Confirm device credential deletion
      </message>
      <message name="IDS_PROTECTED_CONTENT_RESET_MESSAGE" desc="Title for device credential reset menu preference">
        Content (movies, music, etc.) downloaded in other applications may no longer be playable until those application re-acquire licenses based on a new device credential.

To obtain new licenses, connect to the internet and play your downloaded content.
      </message>
      <message name="IDS_PROTECTED_CONTENT_LEARN_MORE_URL" desc="URL for learning more about device credential reset menu preference" translateable="false">
        https://support.google.com/chrome/?p=mobile_protected_content
      </message>

      <!-- Google translate preferences -->
      <message name="IDS_GOOGLE_TRANSLATE" desc='Title for the Google Translate settings screen. [CHAR-LIMIT=32]'>
        Google Translate
      </message>
      <message name="IDS_TRANSLATE_PREFS_DESCRIPTION" desc="Translate preference description">
        When this feature is turned on, Chrome will offer to translate pages written in other languages using Google Translate.
      </message>
      <message name="IDS_TRANSLATE_PREFS_TOAST_DESCRIPTION" desc="Translate settings reset toast when resetting defaults">
        Your translate settings have been reset.
      </message>
      <message name="IDS_RESET_TRANSLATE_DEFAULTS" desc="Title for translate reset menu preference">
        Reset translate settings
      </message>

      <!-- Storage preferences -->
      <message name="IDS_WEBSITE_SETTINGS_STORAGE" desc="Title for Storage settings which show how much data websites are storing on the user's device. [CHAR-LIMIT=32]">
        Storage
      </message>
      <message name="IDS_ORIGIN_SETTINGS_STORAGE_USAGE_BRIEF" desc="Explanation of how much local storage a website is using">
        <ph name="STORAGE_AMOUNT">%1$s<ex>2 MB</ex></ph> stored data
      </message>

      <!-- Fullscreen preferences -->
      <message name="IDS_WEBSITE_SETTINGS_FULLSCREEN" desc="Title for Fullscreen settings, which control which websites can enter fullscreen without popup alert.">
        Fullscreen
      </message>
      <message name="IDS_FULLSCREEN_PERMISSION_TITLE" desc="Title for the permission of entering fullscreen without popup alert [CHAR-LIMIT=32]">
        Fullscreen
      </message>

      <!-- Data Saver -->
      <message name="IDS_REDUCE_DATA_USAGE_TITLE" desc="Menu item for reducing data usage.">
        Data Saver
      </message>
      <message name="IDS_REDUCE_DATA_USAGE_DESCRIPTION" desc="Description text for reducing data usage">
        When this feature is turned on, Chrome will use Google servers to compress pages you visit before downloading them. SSL and incognito pages will not be included.
      </message>
      <message name="IDS_DATA_REDUCTION_MENU_ITEM_SUMMARY" desc="Summary text for data reduction menu item.">
        <ph name="PERCENT">%1$s<ex>49%</ex></ph> data savings
      </message>
      <message name="IDS_DATA_REDUCTION_STATISTICS_TITLE" desc="Data reduction statistics title.">
        Data savings
      </message>
      <message name="IDS_DATA_REDUCTION_ORIGINAL_SIZE_LABEL" desc="Data Reduction statistics original size label">
        Original size
      </message>
      <message name="IDS_DATA_REDUCTION_COMPRESSED_SIZE_LABEL" desc="Data Reduction statistics compressed size label">
        After compression
      </message>
      <message name="IDS_DATA_REDUCTION_PROXY_UNREACHABLE_WARN" desc="Warning message shown when Google data reduction proxy servers are not reachable.">
        Chrome is unable to reach Google servers for data compression. Your data savings may be limited.
      </message>
      <message name="IDS_REDUCE_DATA_USAGE_LEARN_URL" desc="URL for learn more about reducing_data_usage" translateable="false">
        https://support.google.com/chrome/?p=mobile_bandwidth
      </message>
      <message name="IDS_SAFE_BROWSING_DESCRIPTION" desc="Description text for safe browsing">
        Chrome’s Safe Browsing system will also be used to detect malicious pages and protect you from phishing, malware, and harmful downloads.
      </message>
      <message name="IDS_DATA_REDUCTION_CAVEATS_DESCRIPTION" desc="Description text for usage caveats">
        This feature may interfere with access to premium data services provided by your carrier.
      </message>
      <message name="IDS_DATA_REDUCTION_EXPERIMENT_DESCRIPTION" desc="Text to be displayed in settings when an experiment is running">
        If you enable this feature, you will be part of an experiment that proxies HTTPS pages through Google servers.
      </message>
      <message name="IDS_DATA_REDUCTION_EXPERIMENT_LINK_URL" desc="A link provided in settings when an experiment is running" translateable="false">
        <!-- Intentionally empty. This is overridden downstream. -->
      </message>
      <message name="IDS_DATA_REDUCTION_INFOBAR_TEXT" desc="Text to be displayed in the data reduction proxy infobar">
        We are testing the proxying of HTTPS pages through Google servers as part of an experiment.
      </message>

      <!-- Data Saver Promo -->
      <message name="IDS_DATA_REDUCTION_TITLE_1" desc="First part of the headline for the promo inviting users to enable Data Saver" >
        Browse more for less
      </message>
      <message name="IDS_DATA_REDUCTION_TITLE_2" desc="Second part of the headline for the promo inviting users to enable Data Saver" >
        Spend less on data by using Google to <ph name="BEGIN_LINK">&lt;link&gt;</ph>optimize the pages you visit<ph name="END_LINK">&lt;/link&gt;</ph>.
      </message>
      <message name="IDS_DATA_REDUCTION_TITLE_3" desc="Third part of the headline for the promo inviting users to enable Data Saver" >
        Pages accessed with HTTPS or Incognito will not be optimized or seen by Google.
      </message>
      <message name="IDS_DATA_REDUCTION_ENABLE_BUTTON" desc="Button the user presses if they want to enable Data Saver" >
        Turn on Data Saver
      </message>
      <message name="IDS_DATA_REDUCTION_ENABLED_TOAST" desc="Toast message displayed after the user enables Data Saver from the promo" >
        Data Saver is on. Manage it in Settings.
      </message>

      <!-- About Chrome preferences -->
      <message name="IDS_PREFS_ABOUT_CHROME" desc="Title for the About Chrome page. [CHAR-LIMIT=32]">
        About Chrome
      </message>
      <message name="IDS_LEGAL_INFORMATION_SUMMARY" desc="Summary for legal information" meaning="Android">
        Copyright <ph name="year">%1$d<ex>2014</ex></ph> Google Inc. All rights reserved.
      </message>
      <message name="IDS_APPLICATION_VERSION_TITLE" desc="Title for application version">
        Application version
      </message>
      <message name="IDS_VERSION_WITH_UPDATE_TIME" desc="Message showing Chrome's version and the time it was last updated">
        <ph name="VERSION">%1$s<ex>Chrome 40.0.2214.67</ex></ph> (Updated <ph name="TIME_SINCE_UPDATE">%2$s<ex>5 minutes ago</ex></ph>)
      </message>
      <message name="IDS_OS_VERSION_TITLE" desc="Title for operating system version">
        Operating system
      </message>
      <message name="IDS_BLINK_VERSION_TITLE" desc="Title for the version of the Blink rendering engine">
        Blink version
      </message>
      <message name="IDS_JAVASCRIPT_VERSION_TITLE" desc="Title for JavaScript version">
        JavaScript version
      </message>
      <message name="IDS_EXECUTABLE_PATH_TITLE" desc="Title for the path to the Chrome executable">
        Executable path
      </message>
      <message name="IDS_PROFILE_PATH_TITLE" desc="Title for the path where Chrome stores profile data">
        Profile path
      </message>
      <message name="IDS_DEPRECATION_WARNING" desc="Warning about Chrome updates no longer being supported">
        Chrome updates are no longer supported for this version of Android.
      </message>

      <!-- Account management UI strings. -->
      <message name="IDS_ACCOUNT_MANAGEMENT_ADD_ACCOUNT_TITLE" desc="Button text for opening the add account dialog to add a new account to a user's profile. [CHAR-LIMIT=20]">
        Add account for <ph name="ADD_ACCOUNT_USER_NAME">%1$s<ex>Pablo Picasso</ex></ph>
      </message>
      <message name="IDS_ACCOUNT_MANAGEMENT_TITLE" desc="Header title for the account management screen. [CHAR-LIMIT=32]">
        Accounts
      </message>
      <message name="IDS_ACCOUNT_MANAGEMENT_GO_INCOGNITO_TEXT" desc="Summary text for going incognito.">
        Go incognito to browse privately or sign in temporarily
      </message>
      <message name="IDS_ACCOUNT_MANAGEMENT_NOT_YOU_TEXT" desc="Title text for the section with the incognito button.">
        Not <ph name="NOT_YOU_USER_NAME">%1$s<ex>Pablo Picasso</ex></ph>?
      </message>

      <!-- Child accounts -->
      <message name="IDS_KIDS_ACCOUNT" desc="Identifies an account as a child account.">
        This is a kid's account
      </message>
      <message name="IDS_ACCOUNT_MANAGEMENT_PARENTAL_SETTINGS" desc="Title of parental settings section of account page for child account.">
        Parental Settings
      </message>
      <message name="IDS_ACCOUNT_MANAGEMENT_NO_PARENTAL_DATA" desc="String saying that we are waiting for family information.">
        Waiting for details of parents.
      </message>
      <message name="IDS_ACCOUNT_MANAGEMENT_ONE_PARENT_NAME" desc="String for name of single parent for child account.">
        This account is managed by <ph name="PARENT_NAME">%1$s<ex>parent1@gmail.com</ex></ph>.
      </message>
      <message name="IDS_ACCOUNT_MANAGEMENT_TWO_PARENT_NAMES" desc="String for names of two parents for child account.">
        This account is managed by <ph name="PARENT_NAME_1">%1$s<ex>parent1@gmail.com</ex></ph> and <ph name="PARENT_NAME_2">%2$s<ex>parent2@gmail.com</ex></ph>.
      </message>
      <message name="IDS_ACCOUNT_MANAGEMENT_CHILD_CONTENT_TITLE" desc="Title of the Content setting, which controls which websites a child is allowed to visit.">
        Content
      </message>
      <message name="IDS_ACCOUNT_MANAGEMENT_CHILD_CONTENT_APPROVED" desc="Setting that permits child accounts to visit only sites approved by their parents.">
        Only approved sites
      </message>
      <message name="IDS_ACCOUNT_MANAGEMENT_CHILD_CONTENT_ALL" desc="Setting that permits child accounts to visit any websites.">
        Uncontrolled
      </message>
      <message name="IDS_ACCOUNT_MANAGEMENT_CHILD_SAFE_SEARCH_TITLE" desc="Title of Google SafeSearch, which blocks inappropriate or explicit search results.">
        SafeSearch
      </message>

      <!-- Sync strings in account management dialog -->
      <message name="IDS_SYNC_ANDROID_MASTER_SYNC_DISABLED" desc="Message to show when Android master sync flag is disabled">
        Android system sync disabled. Please re-enable and try again.
      </message>
      <message name="IDS_SYNC_IS_ENABLED" desc="Message to show when Chrome sync is enabled">
        Sync is on
      </message>
      <message name="IDS_SYNC_IS_DISABLED" desc="Message to show when Chrome sync is disabled">
        Sync is off
      </message>
      <message name="IDS_SYNC_NEED_PASSPHRASE" desc="Error message when a passphrase is needed for decrypting sync data.">
        Passphrase required
      </message>
      <message name="IDS_SYNC_NEED_PASSWORD" desc="Error message when a password is needed for decrypting sync data.">
        Password required
      </message>
      <message name="IDS_SYNC_SETUP_PROGRESS" desc="Message indicating that sync setup is in progress">
        Setup in progress…
      </message>

      <!-- Confirm Sync account change dialog. -->
      <message name="IDS_CONFIRM_ACCOUNT_CHANGE_DIALOG_TITLE" desc="Confirm Account change dialog title. This Dialog warns the user that signing in to sync will merge all their browsing data with the new sync email account. This dialog is displayed when user signs out of sync and tries to sign in again with a different account. Dialog also contains a link which opens a new dialog to clear sync data. [CHAR-LIMIT=40].">
        Confirm Google Account
      </message>
      <message name="IDS_CONFIRM_ACCOUNT_CHANGE_DIALOG_MESSAGE" desc="Message to display for google account change confirmation dialog.">
        <ph name="ACCOUNT_EMAIL_LAST">%1$s<ex>user@example.com</ex></ph> was signed in. Signing in with <ph name="ACCOUNT_EMAIL_NEW">%2$s<ex>user@example.com</ex></ph> will merge synced data like bookmarks between accounts. To keep information separate, clear browsing data in <ph name="BEGIN_LINK">&lt;link&gt;</ph>settings<ph name="END_LINK">&lt;/link&gt;</ph>.
      </message>
      <message name="IDS_CONFIRM_ACCOUNT_CHANGE_DIALOG_SIGNIN" desc="The string used in the dialog for the button that means user has confirmed to sign in as a different user and merge information.  [CHAR-LIMIT=24]">
        Sign in
      </message>

      <!-- Legal information preferences -->
      <message name="IDS_LEGAL_INFORMATION_TITLE" desc="Title for legal information [CHAR-LIMIT=32]">
        Legal information
      </message>
      <message name="IDS_OPEN_SOURCE_LICENSE_TITLE" desc="Title for open source license">
        Open source licenses
      </message>
      <message name="IDS_OPEN_SOURCE_LICENSE_URL" desc="URL for open source license" translateable="false">
        chrome://credits
      </message>
      <message name="IDS_TERMS_OF_SERVICE_TITLE" desc="Title for terms of service">
        Chrome Terms of Service
      </message>
      <message name="IDS_PRIVACY_NOTICE_TITLE" desc="Title for the Chrome privacy notice">
        Chrome Privacy Notice
      </message>
      <message name="IDS_CHROME_PRIVACY_NOTICE_URL" desc="URL for the Chrome privacy notice" translateable="false">
        https://www.google.com/intl/[GRITLANGCODE]/chrome/browser/privacy/
      </message>
      <message name="IDS_CHROME_TERMS_OF_SERVICE_URL" desc="URL for Google Chrome Terms of Service" translateable="false">
        https://www.google.com/intl/[GRITLANGCODE]/chrome/browser/privacy/eula_text.html
      </message>

      <message desc="Popup button for user to confirm a beforeunload dialog box triggered by a page navigation, i.e. they want to leave the current page [CHAR-LIMIT=20]" name="IDS_LEAVE_THIS_PAGE">
        Leave this Page
      </message>
      <message desc="Popup button for user to cancel a beforeunload dialog box triggerd by a page navigation, i.e. they want to stay on the current page [CHAR-LIMIT=20]" name="IDS_STAY_ON_THIS_PAGE">
        Stay on this Page
      </message>
      <message desc="Popup button for user to confirm a beforeunload dialog box triggered by a page reload action, i.e. they want to reload the current page [CHAR-LIMIT=20]" name="IDS_RELOAD_THIS_PAGE">
        Reload this Page
      </message>
      <message desc="Popup button for user to cancel a beforeunload dialog box triggered by a page reload action, i.e. they do not want to reload the current page [CHAR-LIMIT=20]" name="IDS_DONT_RELOAD_THIS_PAGE">
        Don't reload
      </message>
      <message desc="Standard popup button for allowing user confirmation of some webpage event. [CHAR-LIMIT=12]" name="IDS_JS_MODAL_DIALOG_CONFIRM">
        OK
      </message>
      <message desc="Standard popup button for allowing user to cancel some webpage event. [CHAR-LIMIT=12]" name="IDS_JS_MODAL_DIALOG_CANCEL">
        Cancel
      </message>
      <message desc="Checkbox allowing users to forgoe an additional prompts from a web page. [CHAR-LIMIT=None]" name="IDS_SUPPRESS_JS_MODAL_DIALOGS">
        Prevent this page from creating additional dialogs
      </message>
      <message desc="Content description for the input javascript modal dialog prompt. [CHAR-LIMIT=32]" name="IDS_ACCESSIBILITY_JS_MODAL_DIALOG_PROMPT">
        Prompt
      </message>
      <message desc="Dialog box title for viewing security certificates. [CHAR-LIMIT=32]" name="IDS_CERTTITLE">
        Certificate Viewer
      </message>

      <!-- Sign-in strings -->
      <message name="IDS_ADD_ACCOUNT_TITLE" desc="Title for add Google account dialog [CHAR-LIMIT=40]">
        Add a Google Account
      </message>
      <message name="IDS_ADD_ACCOUNT_MESSAGE" desc="Message to display for add Google account dialog">
        You have not yet set up a Google Account on this device
      </message>
      <message name="IDS_ADD_ACCOUNT_CONTINUE" desc="Continue button for add Google account dialog [CHAR-LIMIT=20]">
        Continue
      </message>
      <message name="IDS_SIGN_IN_ACCOUNTS_MESSAGE" desc="Description of the signed-in section shown below the header">
        You’re signed in to the following Google Accounts. Add or remove accounts in Android settings.
      </message>
      <message name="IDS_SIGN_IN_ACCOUNTS_MESSAGE_CHILD" desc="Description of the signed-in section shown below the header for child accounts">
        You’re signed in to the following Google Account.
      </message>
      <message name="IDS_SIGNOUT_TITLE" desc="Title for sign out of Chrome dialog [CHAR-LIMIT=40]">
        Sign out of Chrome
      </message>
      <message name="IDS_SIGNOUT_MESSAGE" desc="Message to display for sign out of Chrome dialog">
        The data stored on this device as well as the data stored in your Google Account will remain in both places. However, new data or changes you make to your data will not be synchronized between them.
      </message>
      <message name="IDS_SIGNOUT_MANAGED_ACCOUNT_MESSAGE" desc="Message to display for sign out of Chrome dialog when the account has enterprise management, and all user data will be erased">
        You are signing out of an account managed by <ph name="DOMAIN_NAME">%1$s<ex>google.com</ex></ph>. This will delete the Chrome data stored on this device, but the data will remain in your Google Account.
      </message>
      <message name="IDS_FIRSTRUN_SIGNED_IN_TITLE" desc="Message informing the user that they are now signed in.">
        You're now signed in to Chrome.
      </message>
      <message name="IDS_FIRSTRUN_SIGNED_IN_DESCRIPTION" desc="Message informing the user what is being synced.">
        Your open tabs, bookmarks, history, and more are being synced with your Google Account.
      </message>

      <!-- Sync strings -->
      <message name="IDS_SIGN_IN_SYNC" desc="Sync preference title in signed-in prefs and prefix for notification related to sync [CHAR-LIMIT=32]">
        Sync
      </message>
      <message name="IDS_SYNC_DATA_TYPES" desc="Preference category name for customization of synced data types. [CHAR-LIMT=32]">
        Data types
      </message>
      <message name="IDS_SYNC_EVERYTHING_PREF" desc="Title for preference which enables sync'ing of all data types. [CHAR-LIMT=32]">
        Sync everything
      </message>
      <message name="IDS_SYNC_AUTOFILL" desc="Title for preference which enables sync'ing of autofill. [CHAR-LIMT=32]">
        Autofill
      </message>
      <message name="IDS_SYNC_BOOKMARKS" desc="Title for preference which enables sync'ing of bookmarks. [CHAR-LIMT=32]">
        Bookmarks
      </message>
      <message name="IDS_SYNC_HISTORY" desc="Title for preference which enables sync'ing of history data. [CHAR-LIMT=32]">
        History
      </message>
      <message name="IDS_SYNC_PASSWORDS" desc="Title for preference which enables sync'ing of passwords. [CHAR-LIMT=32]">
        Passwords
      </message>
      <message name="IDS_SYNC_RECENT_TABS" desc="Title for preference which enables sync'ing of open tabs. [CHAR-LIMT=32]">
        Open tabs
      </message>
      <message name="IDS_SYNC_ENCRYPTION" desc="Preference category name for sync encryption. [CHAR-LIMT=32]">
        Encryption
      </message>
      <message name="IDS_SYNC_MANAGE_DATA" desc="Title for link to Google Dashboard to manage sync data.">
        Manage synced data
      </message>
      <message name="IDS_SYNC_PASSPHRASE_TYPE_TITLE" desc="Title of sync passphrase type dialog. [CHAR-LIMIT=24]">
        Encryption
      </message>
      <message name="IDS_SYNC_PASSPHRASE_TYPE_NONE" desc="Option to encrypt sync data with no passphrase.">
        Don’t encrypt
      </message>
      <message name="IDS_SYNC_PASSPHRASE_TYPE_KEYSTORE" desc="Option to encrypt only passwords, using your Google credentials.">
        Encrypt passwords with Google credentials
      </message>
      <message name="IDS_SYNC_PASSPHRASE_TYPE_FROZEN" desc="Option to encrypt all data, using your Google password frozen on the substituted date.">
        Encrypt all with Google password as of <ph name="TIME">%1$s<ex>Oct 3, 2014</ex></ph>
      </message>
      <message name="IDS_SYNC_PASSPHRASE_TYPE_CUSTOM" desc="Option to encrypt all sync data with a custom passphrase.">
        Encrypt all with passphrase
      </message>
      <message name="IDS_SIGN_IN_GOOGLE_ACCOUNT" desc="Title of sign in account selection dialog. [CHAR-LIMIT=32]">
        Google Account
      </message>
      <message name="IDS_SYNC_CUSTOM_PASSPHRASE" desc="Prompt user to create a custom sync password.">
        Only someone with your passphrase can read your encrypted data. This passphrase is not sent to or stored by Google. If you forget your passphrase, you will need to reset sync.
      </message>
      <message name="IDS_SYNC_DASHBOARD_URL" desc="URL for the sync dashboard." translateable="false">
        https://www.google.com/settings/chrome/sync
      </message>
      <message name="IDS_SYNC_ENTER_CUSTOM_PASSPHRASE_HINT" desc="Hint for the passphrase field when user is to type in a passphrase. [CHAR-LIMIT=30]">
        Passphrase
      </message>
      <message name="IDS_SYNC_ENTER_CUSTOM_PASSPHRASE_HINT_CONFIRM" desc="Hint for the passphrase confirmation field when user is to type in a passphrase. [CHAR-LIMIT=30]">
        Confirm passphrase
      </message>
      <message name="IDS_SYNC_ENTER_GOOGLE_PASSPHRASE" desc="Prompt user to enter their custom sync password.">
        Sign in with your Google Account:
      </message>
      <message name="IDS_SYNC_ENTER_GOOGLE_PASSPHRASE_HINT" desc="Hint for the password field when user is to type in a Google Account password. [CHAR-LIMIT=30]">
        Password
      </message>
      <message name="IDS_SYNC_PASSPHRASE_CANNOT_BE_BLANK" desc="Inform user that they cannot use a blank password [CHAR-LIMIT=40]">
        This field cannot be blank
      </message>
      <message name="IDS_SYNC_PASSPHRASE_RESET_INSTRUCTIONS" desc="Inform the user how they can reset their passphrase if they have forgotten it." meaning="Android">
        If you've forgotten your passphrase, stop and reset Sync via <ph name="BEGIN_LINK">&lt;link&gt;</ph>Google Dashboard<ph name="END_LINK">&lt;/link&gt;</ph>.
      </message>
      <message name="IDS_SYNC_PASSPHRASES_DO_NOT_MATCH" desc="Inform user that their sync password does not match.">
        Passphrases do not match
      </message>
      <message name="IDS_SYNC_PASSPHRASE_INCORRECT" desc="Inform the user that the passphrase they entered for sync is incorrect. [CHAR-LIMIT=40]">
        Incorrect passphrase
      </message>
      <message name="IDS_SYNC_VERIFYING" desc="Inform the user that their sync encryption information is being verified. [CHAR-LIMIT=20]">
        Verifying…
      </message>
      <message name="IDS_SYNC_LOADING" desc="Preference title to let the user change their encryption password. [CHAR-LIMIT=20]">
        Loading…
      </message>

      <!-- Sync error strings -->
      <message desc="Sync error string for generic error. [CHAR-LIMIT=80]" name="IDS_SYNC_ERROR_GENERIC">
        Sync error
      </message>
      <message desc="Sync error string for when the needs to update the sign-in details [CHAR-LIMIT=80]" name="IDS_SYNC_ERROR_GA">
        Please update your sign-in details.
      </message>
      <message desc="Sync error string for network connection. [CHAR-LIMIT=80]" name="IDS_SYNC_ERROR_CONNECTION">
        Could not connect to the sync server.
      </message>
      <message desc="Sync error string for domain not supported. [CHAR-LIMIT=80]" name="IDS_SYNC_ERROR_DOMAIN">
        Sync is not available for your domain.
      </message>
      <message desc="Sync error string for service unavailable. [CHAR-LIMIT=80]" name="IDS_SYNC_ERROR_SERVICE_UNAVAILABLE">
        The service is not available; try again later.
      </message>
      <message desc="Title to show on a dialog during sign-in, indicating that the account used has policy management enabled." name="IDS_POLICY_DIALOG_TITLE">
        Confirm sign-in
      </message>
      <message desc="Message to show on a dialog during sign-in, indicating that the account used has policy management enabled." name="IDS_POLICY_DIALOG_MESSAGE">
        This account is managed by <ph name="DOMAIN_NAME">%1$s<ex>google.com</ex></ph>.

You are signing in with a managed account and giving its administrator control over your Chrome profile. Your Chrome data will become permanently tied to this account. Disconnecting from this account will delete the local Chrome data.
      </message>
      <message desc="Label on the button to accept the policy dialog during sign-in. [CHAR-LIMIT=20]" name="IDS_POLICY_DIALOG_PROCEED">
        Accept and sign in
      </message>
      <message desc="Label on the button to reject the policy dialog during sign-in. [CHAR-LIMIT=20]" name="IDS_POLICY_DIALOG_CANCEL">
        Cancel
      </message>
      <message desc="Title for the progress dialog shown while profile data is being wiped after signing out of an enterprise account" name="IDS_WIPING_PROFILE_DATA_TITLE">
        Clearing account data
      </message>
      <message desc="Message for the progress dialog shown while profile data is being wiped after signing out of an enterprise account" name="IDS_WIPING_PROFILE_DATA_MESSAGE">
        Please wait...
      </message>

      <!-- Tab switcher -->
      <message name="IDS_ACCESSIBILITY_TAB_SWITCHER_STANDARD_STACK" desc="Content description for the standard stack selection 'button'.">
        Standard tabs
      </message>
      <message name="IDS_ACCESSIBILITY_TAB_SWITCHER_INCOGNITO_STACK" desc="Content description for the incognito stack selection 'button'.">
        Incognito tabs
      </message>
      <message name="IDS_ACCESSIBILITY_TAB_SWITCHER_UNDO_TAB_CLOSED" desc="Content description for the undo tab closed 'button.">
        Reopen closed tab
      </message>
      <message name="IDS_ACCESSIBILITY_TABSTRIP_TAB" desc="Content description for the tab title.">
        <ph name="TAB_TITLE">%1$s<ex>Welcome to Facebook</ex></ph>, tab
      </message>
      <message name="IDS_ACCESSIBILITY_TABSTRIP_BTN_CLOSE_TAB" desc="Content description for the close tab button.">
        Close tab
      </message>
      <message name="IDS_ACCESSIBILITY_TABSTRIP_BTN_NEW_TAB" desc="Content description for the new tab button.">
        New tab
      </message>
      <message name="IDS_TAB_LOADING_DEFAULT_TITLE" desc="The title of a tab when we are still waiting for either the URL or the real title. This generally shows when the page is first loading.">
        Loading…
      </message>

      <!-- InfoBar -->
      <message desc="Accessibility label for the dismiss infobar Button" name="IDS_INFOBAR_CLOSE">
        Close
      </message>

      <!-- Account chooser infobar strings. -->
      <message name="IDS_ACCOUNT_CHOOSER_INFOBAR_TITLE" desc="The title text for Account chooser infobar.">
        Choose an account from your Google Smart Lock.
      </message>

      <!-- DownloadOverwriteInfoBar -->
      <message name="IDS_DOWNLOAD_OVERWRITE_INFOBAR_TEXT" desc="Prompt text for the confirmation dialog asking whether the user really wants to replace a file when there already exists a file with the same name">
        Do you want to replace the existing <ph name="FILE_NAME">^1<ex>specialfile.pdf</ex></ph> in your <ph name="DIRECTORY_NAME">^2<ex>Downloads</ex></ph> directory?
      </message>
      <message name="IDS_DOWNLOAD_OVERWRITE_INFOBAR_REPLACE_FILE_BUTTON" desc="Label for choosing 'Replace file' in the prompt for replacing a file.[CHAR-LIMIT=32]">
        Replace file
      </message>
      <message name="IDS_DOWNLOAD_OVERWRITE_INFOBAR_CREATE_NEW_FILE_BUTTON" desc="Label for choosing 'Create new file' in the prompt for replacing a file. [CHAR-LIMIT=32]">
        Create new file
      </message>

      <!-- TranslateInfoBar -->
      <message name="IDS_TRANSLATE_INFOBAR_TEXT" desc="Text to display on the translate infobar to offer a translate. [CHAR-LIMIT=64]" meaning="Android">
        This page is in <ph name="SOURCE_LANGUAGE">^1<ex>English</ex></ph>. Translate it to <ph name="TARGET_LANGUAGE">^2<ex>FRENCH</ex></ph>?
      </message>
      <message name="IDS_TRANSLATE_INFOBAR_CHANGE_LANGUAGES" desc="link text to offer to change languages.">
        Change languages
      </message>
      <message name="IDS_TRANSLATE_INFOBAR_TRANSLATION_DONE">
        Translated to <ph name="TARGET_LANGUAGE">%1$s<ex>FRENCH</ex></ph>.
      </message>
      <message name="IDS_TRANSLATE_INFOBAR_TRANSLATING">
        Translating page to <ph name="SOURCE_LANGUAGE">%1$s<ex>English</ex></ph>...
      </message>
      <message name="IDS_TRANSLATE_INFOBAR_ERROR">
        Oops. This page could not be translated.
      </message>
      <message name="IDS_TRANSLATE_ALWAYS_TEXT" desc="checkbox to always translate a language pair">
        Always translate <ph name="SOURCE_LANGUAGE">%1$s<ex>French</ex></ph>
      </message>
      <message name="IDS_TRANSLATE_NEVER_TRANSLATE_MESSAGE_TEXT">
        Would you like Google Chrome to offer to translate <ph name="LANGUAGE">%1$s<ex>French</ex></ph> pages from this site next time?
      </message>
      <message name="IDS_TRANSLATE_BUTTON" desc="Possible texts to display on the translate infobar buttons. [CHAR-LIMIT=24]">
        Translate
      </message>
      <message name="IDS_TRANSLATE_NOPE" desc="Button text for rejecting infobar translations">
        Nope
      </message>
      <message name="IDS_TRANSLATE_SHOW_ORIGINAL">
        Show original
      </message>
      <message name="IDS_TRANSLATE_RETRY">
        Try again
      </message>
      <message name="IDS_TRANSLATE_OPTIONS_SOURCE_HINT" desc="Language drop down text for the source language. [CHAR-LIMIT=64]">
        Page Language: <ph name="SOURCE_LANGUAGE">^1<ex>FRENCH</ex></ph>
      </message>
      <message name="IDS_TRANSLATE_OPTIONS_TARGET_HINT" desc="Language drop down text for the target language. [CHAR-LIMIT=64]">
        Translation Language: <ph name="SOURCE_LANGUAGE">^1<ex>FRENCH</ex></ph>
      </message>
      <message name="IDS_TRANSLATE_BUTTON_DONE" desc="Text to display on the translate infobar button to apply new languages. [CHAR-LIMIT=24]">
        Done
      </message>
      <message name="IDS_TRANSLATE_NEVER_TRANSLATE_SITE" desc="Text to display on the never translate site (like www.google.com) button. [CHAR-LIMIT=64]">
        Never translate this site
      </message>
      <message name="IDS_TRANSLATE_NEVER_TRANSLATE_LANGUAGE" meaning="Android" desc="Text to display on the never translate language button. [CHAR-LIMIT=64]">
        Never translate <ph name="LANGUAGE">%1$s<ex>French</ex></ph>
      </message>
      <message name="IDS_MENU_DISMISS_BTN" desc="Content description for the settings menu button when the menu is open.">
        Dismiss the menu
      </message>
      <message name="IDS_MENU_PRINT" desc="Menu item for printing the current page. [CHAR-LIMIT=27]">
        Print…
      </message>
      <message name="IDS_MENU_SHARE_PAGE" desc="Menu item for sharing the current page. [CHAR-LIMIT=27]">
        Share…
      </message>
      <message name="IDS_SHARE_LINK_CHOOSER_TITLE" desc="title for the share dialog when sharing the current address [CHAR-LIMIT=27]">
        Share via
      </message>
      <message name="IDS_ACCESSIBILITY_MENU_SHARE_VIA" desc="Content description share current page via the most recently used application menu item">
        Share via <ph name="APPLICATION">%s<ex>Gmail</ex></ph>
      </message>
      <message name="IDS_ERROR_PRINTING_FAILED" desc="Generic error message shown when Chrome fails to print the current page for some reason.">
        There was a problem printing the page. Please try again.
      </message>
      <message name="IDS_ACCESSIBILITY_MENU_BOOKMARK" desc="Content description for the bookmark button when the page is not currently bookmarked.">
        Bookmark this page
      </message>
      <message name="IDS_ACCESSIBILITY_MENU_FORWARD" desc="Content description for the forward navigation button.">
        Go forward
      </message>
      <message name="IDS_ACCESSIBILITY_MENU_BACK" desc="Content description for the backard navigation button.">
        Go back
      </message>
      <message name="IDS_ACCESSIBILITY_MENU_INFO" desc="Content description for the button which opens the page info popup, which displays security information and permissions for the current page">
        View site information
      </message>
      <message name="IDS_ACCESSIBILITY_CONTENT_VIEW" desc="Content description for the content view that holds the web contents [CHAR-LIMIT=30]">
        Web View
      </message>

      <!-- ContextMenu -->
      <message name="IDS_CONTEXTMENU_OPEN_IN_NEW_TAB" desc="Context sensitive menu item to open the selected link in a new tab. [CHAR-LIMIT=30]">
        Open in new tab
      </message>
      <message name="IDS_CONTEXTMENU_OPEN_IN_INCOGNITO_TAB" desc="Context sensitive menu item to open the selected link in a new incognito tab. [CHAR-LIMIT=30]">
        Open in incognito tab
      </message>
      <message name="IDS_CONTEXTMENU_COPY_EMAIL_ADDRESS" desc="Context sensitive menu item for copying email address. [CHAR-LIMIT=30]">
        Copy email address
      </message>
      <message name="IDS_CONTEXTMENU_COPY_LINK_ADDRESS" desc="Context sensitive menu item for copying the selected link URL / address. [CHAR-LIMIT=30]">
        Copy link address
      </message>
      <message name="IDS_CONTEXTMENU_COPY_LINK_TEXT" desc="Context sensitive menu item for copying the selected link's text. [CHAR-LIMIT=30]">
        Copy link text
      </message>
      <message name="IDS_CONTEXTMENU_SAVE_LINK" desc="Context sensitive menu item for saving the target of a link [CHAR-LIMIT=30]">
        Save link
      </message>
      <message name="IDS_CONTEXTMENU_SAVE_IMAGE" desc="Context sensitive menu item for saving the selected image. [CHAR-LIMIT=30]">
        Save image
      </message>
      <message name="IDS_CONTEXTMENU_OPEN_IMAGE" desc="Context sensitive menu item for opening/viewing the selected image. [CHAR-LIMIT=30]">
        Open image
      </message>
      <message name="IDS_CONTEXTMENU_OPEN_IMAGE_IN_NEW_TAB" desc="Context sensitive menu item for opening/viewing the selected image in a new tab. [CHAR-LIMIT=30]">
        Open image in new tab
      </message>
      <message name="IDS_CONTEXTMENU_OPEN_ORIGINAL_IMAGE_IN_NEW_TAB" desc="Context sensitive menu item for opening/viewing the original version of the selected image in a new tab. [CHAR-LIMIT=30]">
        Open original image in new tab
      </message>
      <message name="IDS_CONTEXTMENU_SEARCH_WEB_FOR_IMAGE" desc="Context sensitive menu item for search-for-Image command in a new tab. [CHAR-LIMIT=30]">
        Search <ph name="SEARCH_ENGINE">%1$s<ex>Google</ex></ph> for this image
      </message>
      <message name="IDS_CONTEXTMENU_COPY_IMAGE" desc="Context sensitive menu item for copying an image to the clipboard. [CHAR-LIMIT=30]">
        Copy image
      </message>
      <message name="IDS_CONTEXTMENU_COPY_IMAGE_URL" desc="Context sensitive menu item for copying an image url to the clipboard. [CHAR-LIMIT=30]">
        Copy image URL
      </message>
      <message name="IDS_CONTEXTMENU_SAVE_VIDEO" desc="Context sensitive menu item for saving the selected video. [CHAR-LIMIT=30]">
        Save video
      </message>

      <!-- Swipe refresh -->
      <message name="IDS_ACCESSIBILITY_SWIPE_REFRESH" desc="Content description for the swipe refresh action.">
        Refreshing page
      </message>

     <!-- Http authentication -->
      <message name="IDS_ACCESSIBILITY_HTTP_AUTH_USERNAME_INPUT" desc="Content description for the http authentication pop-up username input field.">
        Username
      </message>
      <message name="IDS_ACCESSIBILITY_HTTP_AUTH_PASSWORD_INPUT" desc="Content description for the http authentication pop-up password input field.">
        Password
      </message>

      <!-- Smartcard certificate support -->
      <message name="IDS_SMARTCARD_DIALOG_TITLE" desc="Title of a dialog asking whether to use Android default keystore or a smartcard for certificate authentication.">
        Choose certificate for authentication
      </message>
      <message name="IDS_SMARTCARD_CERTIFICATE_OPTION" desc="An option to use Smart Card when a dialog asking whether to use Android default keystore or a Smart Card for certificate authentication.">
        Smart card
      </message>

      <!-- App banner strings -->
      <message name="IDS_APP_BANNER_INSTALLING" desc="Button text indicating that an application is being installed. [CHAR-LIMIT=15]">
        Installing...
      </message>
      <message name="IDS_APP_BANNER_OPEN" desc="Text that indicates that clicking on the button will launch an application. [CHAR-LIMIT=15]">
        Open
      </message>

      <!-- App banner accessibility strings, used for touch exploration -->
      <message name="IDS_APP_BANNER_VIEW_NATIVE_APP_ACCESSIBILITY" desc="Accessibililty text: Describes a prompt promoting the installation of an app related to the current page, including the app's name and its rating.">
        View app <ph name="APP_NAME">%1$s<ex>Gmail</ex></ph> on the Play Store.  Rating: <ph name="APP_RATING">%2$.1f<ex>4.2</ex></ph>.
      </message>
      <message name="IDS_APP_BANNER_VIEW_NATIVE_APP_INSTALL_ACCESSIBILITY" desc="Accessibility text: Indicates that clicking on the button will either purchase the app or install it.">
        Get the app from the Google Play Store: <ph name="APP_ACTION">%s<ex>Install</ex></ph>
      </message>

      <message name="IDS_APP_BANNER_VIEW_WEB_APP_ACCESSIBILITY" desc="Accessibililty text: Details the web app being promoted by the current page, including the app name and its URL.">
        <ph name="APP_NAME">%1$s<ex>Gmail</ex></ph>, web app. <ph name="APP_URL">%2$s<ex>google.com</ex></ph>
      </message>

      <!-- DOM Distiller strings -->
      <message name="IDS_DARK_MODE" desc="Title of button that will change theme of distilled pages to dark mode.">
        Dark
      </message>
      <message name="IDS_LIGHT_MODE" desc="Title of button that will change theme of distilled pages to light mode.">
        Light
      </message>
      <message name="IDS_SEPIA_MODE" desc="Title of button that will change theme of distilled pages to sepia mode.">
        Sepia
      </message>
      <message name="IDS_SANS_SERIF" desc="Title of the selector button that will change the typeface of distilled pages to use a SansSerif font.">
        Sans Serif
      </message>
      <message name="IDS_SERIF" desc="Title of the selector button that will change the typeface of distilled pages to use a Serif font.">
        Serif
      </message>
      <message name="IDS_MONOSPACE" desc="Title of the selector button that will change the typeface of distilled pages to use a Monospace font.">
        Monospace
      </message>
      <message name="IDS_TEXT_SIZE_SIGNIFIER" desc="A typical letter of the alphabet.  This is drawn on either end of a slider bar that allows the user to change the font size.  On one end, it is drawn smaller and on the other end larger.">
        A
      </message>

      <!-- TalkBack upgrade -->
      <message name="IDS_OLD_TALKBACK_TITLE" desc="Title of dialog notifying user that the version of TalkBack they're running is too old.">
        You need to update TalkBack to a newer version.
      </message>
      <message name="IDS_UPDATE_FROM_MARKET" desc="Title of button that will direct the user to update TalkBack from the market (Play Store)">
        Update
      </message>
      <message name="IDS_CANCEL_TALKBACK_ALERT" desc="Title of button that will cancel the TalkBack alert dialog dialog.">
        Cancel
      </message>

      <!-- Android NFC Beam strings -->
      <message name="IDS_NFC_BEAM_ERROR_OVERLAY_ACTIVE" desc="Android Beam error - a tab is not in the foreground [CHAR-LIMIT=40]">
        Select a tab to beam
      </message>
      <message name="IDS_NFC_BEAM_ERROR_BAD_URL" desc="Android Beam error - the current tab has an invalid url [CHAR-LIMIT=40]">
        Can’t beam current tab
      </message>

      <!-- Add to Home screen strings -->
      <message name="IDS_ADD" desc="Title for Add button [CHAR-LIMIT=20]">
        Add
      </message>
      <message name="IDS_ADD_TO_HOMESCREEN_TITLE" desc="Edit text title for Add to Home screen dialog [CHAR-LIMIT=30]">
        Title
      </message>
      <message name="IDS_MENU_ADD_TO_HOMESCREEN" desc="Menu item for adding a shortcut to the Home screen. [CHAR-LIMIT=27]">
        Add to Home screen
      </message>
      <message name="IDS_ADDED_TO_HOMESCREEN" desc="Indicates that the current domain was added to the user's Home screen.">
        <ph name="DOMAIN_NAME">%1$s<ex>google.com</ex></ph> was added to your Home screen
      </message>

      <!-- WebsiteSettingsPopup (PageInfo dialog) -->
      <message name="IDS_PAGE_INFO_COPY_URL_BUTTON" desc="Text in the button that copies the URL to the clipboard.">
        Copy URL
      </message>
      <message name="IDS_PAGE_INFO_SITE_SETTINGS_BUTTON" desc="Text in the button that opens a website's Site Settings from the Page Info dialog.">
        Site Settings
      </message>
      <message name="IDS_PAGE_INFO_PERMISSION_ALLOW" desc="The label used in the permissions dropdowns in the Page Info dialog on mobile for the option that grants a permission.">
        Allow
      </message>
      <message name="IDS_PAGE_INFO_PERMISSION_BLOCK" desc="The label used in the permissions dropdowns in the Page Info dialog on mobile for the option that denies a permission.">
        Block
      </message>
      <message name="IDS_PAGE_INFO_DETAILS_LINK" desc="The label of the link to open the detailed connection information popup from the page info bubble.">
        Details
      </message>
      <message name="IDS_PAGE_INFO_CONNECTION_HTTPS" desc="Message to display in the page info bubble when the connection is private (HTTPS).">
        Your connection to this site is private.
      </message>
      <message name="IDS_PAGE_INFO_CONNECTION_HTTP" desc="Message to display in the page info bubble when the connection is not private (HTTP).">
        Your connection to this site is not private.
      </message>
      <message name="IDS_PAGE_INFO_CONNECTION_MIXED" desc="Message to display in the page info bubble when the main connection is private, but there is content on the page that is not private.">
        Your connection to this site is private, but someone on the network might be able to change the look of the page.
      </message>
      <message name="IDS_PAGE_INFO_CONNECTION_SHA1" desc="Message to display in the page info bubble when the page is not considered private (because the connection used SHA-1 for certificate signatures, which are not considered secure anymore).">
        This site uses a weak security configuration (SHA-1 signatures), so your connection may not be private.
      </message>
      <message name="IDS_PAGE_INFO_CONNECTION_BROKEN_LEADING_TEXT" desc="Message to display highlighted red in the page info bubble when the connection is insecure because the HTTPS certificate is invalid.">
        Your connection to this site is not private.
      </message>
      <message name="IDS_PAGE_INFO_CONNECTION_BROKEN_FOLLOWING_TEXT" desc="Message to display after a 'Your connection to this site is not private' message' in the page info bubble when the connection is insecure because the HTTPS certificate is invalid.">
        Attackers might be trying to steal your information (for example, photos, passwords, messages and credit cards) from <ph name="DOMAIN_NAME">%1$s<ex>google.com</ex></ph>.
      </message>
      <message name="IDS_PAGE_INFO_CONNECTION_INTERNAL_PAGE" desc="Message to display in the page info bubble when the page is an internal Chrome page (e.g. the bookmarks page, or about:blank).">
        You are viewing a secure Google Chrome page.
      </message>

      <!-- Network prediction internal values -->
      <message name="IDS_NEVER_PREFETCH_BANDWIDTH_ENTRY" desc="Option to always disable the prefetching of web pages. [CHAR-LIMIT=16]">
        Never
      </message>
      <message name="IDS_WIFI_PREFETCH_BANDWIDTH_ENTRY" desc="Option that enables the prefetching of web pages when connected via wi-fi. [CHAR-LIMIT=16]">
        Only on Wi-Fi
      </message>
      <message name="IDS_ALWAYS_PREFETCH_BANDWIDTH_ENTRY" desc="Option to always prefetch web pages regardless of connection. [CHAR-LIMIT=16]">
        Always
      </message>

      <!-- Sad tab page -->
      <message name="IDS_SAD_TAB_SUGGESTIONS" desc="The help message displayed on the sad tab page after a tab crashes.">
        If you're seeing this frequently, try these <ph name="BEGIN_LINK">&lt;link&gt;</ph>suggestions<ph name="END_LINK">&lt;/link&gt;</ph>.
      </message>

      <!-- Fullscreen -->
      <message name="IDS_FULLSCREEN_API_NOTIFICATION" desc="Notification message when a site has entered fullscreen and the directions of how to exit.">
        This site has gone fullscreen.
Hit the back button to exit.
      </message>

      <!-- Download UI -->
      <message name="IDS_DOWNLOAD_NO_SDCARD_DLG_TITLE_product_nosdcard" desc="Dialog title [CHAR LIMIT=25]">
        USB storage unavailable
      </message>
      <message name="IDS_DOWNLOAD_NO_SDCARD_DLG_TITLE_product_default" desc="Dialog title [CHAR LIMIT=25]">
        No SD card
      </message>
      <message name="IDS_DOWNLOAD_SDCARD_BUSY_DLG_TITLE_product_nosdcard" desc="Title for a dialog informing the user that the SD card used for external storage is busy so they cannot download anything [CHAR LIMIT=30]">
        USB storage unavailable
      </message>
      <message name="IDS_DOWNLOAD_SDCARD_BUSY_DLG_TITLE_product_default" desc="Title for a dialog informing the user that the SD card used for external storage is busy so they cannot download anything [CHAR-LIMIT=30]">
        SD card unavailable
      </message>
      <message name="IDS_DOWNLOAD_NOTIFICATION_FAILED" desc="Download notification to be displayed when a download fails.">
        Download failed.
      </message>
      <message name="IDS_CANNOT_ADD_DOWNLOADED_ITEM_TO_MANAGER" desc="Toast for a download which has completed but cannot be added to the download manager">
        Failed to add downloaded item to the download manager.
      </message>
      <message name="IDS_CANNOT_CREATE_DOWNLOAD_DIRECTORY_TITLE_product_nosdcard" desc="Message for a dialog informing the user that download directory cannot be created on external storage [CHAR LIMIT=75]">
        Cannot create download directory on USB storage.
      </message>
      <message name="IDS_CANNOT_CREATE_DOWNLOAD_DIRECTORY_TITLE_product_default" desc="Message for a dialog informing the user that download directory cannot be created on external storage [CHAR LIMIT=75]">
        Cannot create download directory on SD card.
      </message>
      <message name="IDS_CANNOT_DOWNLOAD_HTTP_OR_HTTPS" desc="Toast for a download which cannot begin because the URL is not http or https">
        Can only download http or https URLs
      </message>
      <message name="IDS_CANNOT_DOWNLOAD_GENERIC" desc="Toast for a generic download failure">
        Failed to start download
      </message>
      <message name="IDS_DOWNLOAD_PENDING" desc="Message in the list of items which have received download requests telling their status. This message states that the download has not yet begun [CHAR LIMIT=30]">
        Downloading…
      </message>
      <message name="IDS_PROCEED_OMA_DOWNLOAD_MESSAGE" desc="A message within a modal dialog that confirms the user want to download an OMA DRM file.">
        Proceed to download the content?
      </message>
      <message name="IDS_OPEN_URL_POST_OMA_DOWNLOAD" desc="A message within a modal dialog to confirm that the user want to open the url specified in the OMA download descriptor.">
        Open the suggested URL specified in the downloaded content?
      </message>
      <message name="IDS_OMA_DOWNLOAD_INSUFFICIENT_MEMORY" desc="Error message displayed when there are not enough memory to download the OMA DRM content.">
        Insufficient memory to download the selected content.
      </message>
      <message name="IDS_OMA_DOWNLOAD_NON_ACCEPTABLE_CONTENT" desc="Error message displayed when the device cannot open the OMA DRM content.">
        Device cannot open the content to be downloaded.
      </message>
      <message name="IDS_OMA_DOWNLOAD_FAILED" desc="Error message displayed when the device cannot download the OMA request.">
        An error occured while downloading the content.
      </message>
      <message name="IDS_OMA_DOWNLOAD_NAME_LABEL" desc="A text label to display the name of the OMA download.">
        Name:
      </message>
      <message name="IDS_OMA_DOWNLOAD_VENDOR_LABEL" desc="A text label to display the vendor of the OMA download.">
        Vendor:
      </message>
      <message name="IDS_OMA_DOWNLOAD_SIZE_LABEL" desc="A text label to display the size of the OMA download.">
        Size:
      </message>
      <message name="IDS_OMA_DOWNLOAD_TYPE_LABEL" desc="A text label to display the MIME tyoe of the OMA download.">
        Type:
      </message>
      <message name="IDS_OMA_DOWNLOAD_DESCRIPTION_LABEL" desc="A text label to display the description of the OMA download.">
        Description:
      </message>

      <!-- Document mode strings -->
      <message name="IDS_CLOSE_ALL_INCOGNITO_NOTIFICATION" desc="Message on the notification that closes all incognito tabs in document mode">
        Close all incognito tabs
      </message>

      <!-- Autofill/Wallet integration prompt -->
      <message name="IDS_CARD_UNMASK_INPUT_HINT" desc="Hint text for an input field containing the user's credit card CVC (card verification code).">
        CVC
      </message>
      <message name="IDS_CARD_UNMASK_MONTH_HINT" desc="Hint text for an input field containing a credit card expiration month in two digit format.">
        MM
      </message>
      <message name="IDS_CARD_UNMASK_YEAR_HINT" desc="Hint text for an input field containing a credit card expiration year in two digit format.">
        YY
      </message>

      <!-- Startup errors -->
      <message name="IDS_OS_VERSION_MISSING_FEATURES" desc="Error message shown when Chrome fails to run due to an incomplete version of Android.">
        Critical functionality required to run Chrome is missing; either your Chrome installation is incomplete, or not compatible with this version of Android.
      </message>
      <message name="IDS_INCOMPATIBLE_LIBRARIES" desc="Error message shown when Chrome fails to start due to having the wrong version of the native library">
        Chrome’s components are incompatible with one another. Chrome may be upgrading, please try again in a few minutes. If the problem continues, try uninstalling and re-installing Chrome.
      </message>
      <message name="IDS_NATIVE_STARTUP_FAILED" desc="Error message shown when Chrome fails to start for other (unknown) reasons">
        Chrome failed during startup with an unexpected error.
      </message>

      <!-- First Run strings -->
      <message name="IDS_FRE_SET_UP_CHROME" desc="Header text shown when the user is first setting up Chrome">
        Set up Chrome
      </message>
      <message name="IDS_FRE_ACCOUNT_CHOICE_DESCRIPTION" desc="Text for account chooser page">
        Select an account to get your tabs, bookmarks, history, and other settings on all your devices.
      </message>
      <message name="IDS_FRE_SKIP_TEXT" desc="Text for second page skip button">
        No thanks
      </message>
      <message name="IDS_CHOOSE_ACCOUNT_SIGN_IN" desc="Sign in button for choose google account dialog [CHAR-LIMIT=20]">
        Sign in
      </message>
      <message name="IDS_FRE_NEXT" desc="Button that advances the First Run Experience forward">
        Next
      </message>
      <message name="IDS_FRE_DONE" desc="Button to dismiss the sign-in screen once the user is done">
        Done
      </message>
      <message name="IDS_FRE_SETTINGS" desc="Button that opens Chrome settings">
        Settings
      </message>
      <message name="IDS_FRE_ADD_ACCOUNT" desc="Text for adding another Google Account">
        Add account
      </message>
      <message name="IDS_MAKE_CHROME_YOURS" desc="Title for the signin promo that prompts the user to sign in to Chrome to have a personalized experirence. [CHAR-LIMIT=24]">
        Make Chrome yours
      </message>
      <message name="IDS_FRE_NO_ACCOUNT_CHOICE_DESCRIPTION" desc="Text for account chooser page when there are no accounts on the device.">
        Add an account to get your tabs, bookmarks, history, and other settings on all your devices.
      </message>
      <message name="IDS_SIGN_IN_TO_CHROME_SUMMARY_VARIANT" desc="A variant of summary for the signin promo; lists reasons to sign in to Chrome.">
        Sign in to access all your web stuff from any device
      </message>
      <message name="IDS_FRE_NO_ACCOUNTS" desc="Text for spinner when there is no google accounts [CHAR-LIMIT=40]">
        Add an account
      </message>
      <message name="IDS_FRE_HI_NAME" desc="Title welcoming the user by their name after they have signed in.">
        Hi, <ph name="FULL_NAME">%1$s<ex>John Smith</ex></ph>
      </message>
      <message name="IDS_FRE_SIGNED_IN_DESCRIPTION" desc="Explanation of what gets synced after the user signed in">
        Your tabs, bookmarks, history and other settings will be synced to your Google Account.
      </message>
      <message name="IDS_FRE_SIGNED_IN_DESCRIPTION_UCA_ADDENDUM" desc="Additional explanation for child accounts that synced settings are managed by parents.">
        Your parents help manage these settings.
      </message>
      <message name="IDS_FRE_TOS_AND_PRIVACY" desc="Message explaining that use of Chrome is governed by Chrome's terms of service and privacy notice.">
        By using this application, you agree to Chrome's <ph name="BEGIN_LINK1">&lt;LINK1&gt;</ph>Terms of Service<ph name="END_LINK1">&lt;/LINK1&gt;</ph> and <ph name="BEGIN_LINK2">&lt;LINK2&gt;</ph>Privacy Notice<ph name="END_LINK2">&lt;/LINK2&gt;</ph>.
      </message>
      <message name="IDS_FRE_SEND_REPORT_CHECK" desc="Text for asking the user to allow sending stats and crash reports">
        Help make Chrome better by sending usage statistics and crash reports to Google.
      </message>
      <message name="IDS_FRE_ACCEPT_CONTINUE" desc="Text for first page accept and continue button [CHAR-LIMIT=20]">
        Accept &amp; continue
      </message>
      <message name="IDS_FRE_WELCOME" desc="Text for greeting the user on Chrome First Run">
        Welcome to Chrome
      </message>
      <message name="IDS_ACCESSIBILITY_FRE_ACCOUNT_SPINNER" desc="Content description for the first run account drop down spinner.">
        Choose account
      </message>

      <!-- External Navigation Strings -->
      <message name="IDS_EXTERNAL_APP_LEAVE_INCOGNITO_WARNING" desc="Alert dialog text warning that user that incognito mode does not continue into external apps.">
        Leaving incognito mode if this link is opened in an external application. Continue?
      </message>
      <message name="IDS_EXTERNAL_APP_LEAVE_INCOGNITO_WARNING_TITLE" desc="Title for incognito external intent. [CHAR-LIMIT=24]">
        Warning
      </message>

      <message name="IDS_CAST_NOTIFICATION_STOPPED" desc="AtHome notification text when stopped. [CHAR LIMIT=40]">
        Stopped
      </message>
      <message name="IDS_CAST_NOTIFICATION_FINISHED" desc="AtHome notification text when finished. [CHAR LIMIT=40]">
        Finished
      </message>
      <message name="IDS_CAST_NOTIFICATION_PAUSED" desc="AtHome notification text when paused. [CHAR LIMIT=40]">
        Paused
      </message>

      <!-- Messages for remote media playback (casting) -->
      <message name="IDS_CAST_NOTIFICATION_LOADING" desc="AtHome notification text when loading a video. [CHAR LIMIT=40]">
        Loading video
      </message>
      <message name="IDS_CAST_NOTIFICATION_PLAYING" desc="AtHome notification text when playing a video. [CHAR LIMIT=40]">
        Playing video
      </message>
      <message name="IDS_CAST_NOTIFICATION_LOADING_FOR_VIDEO" desc="AtHome notification text when loading a given video. [CHAR LIMIT=40]">
        Loading “<ph name="VIDEO_TITLE">%1$s<ex>Psy - Gangnam Style - YouTube</ex></ph>”
      </message>
      <message name="IDS_CAST_NOTIFICATION_PLAYING_FOR_VIDEO" desc="AtHome notification text when playing a given video. [CHAR LIMIT=40]">
        Playing “<ph name="VIDEO_TITLE">%1$s<ex>Psy - Gangnam Style - YouTube</ex></ph>”
      </message>
      <message name="IDS_CAST_NOTIFICATION_PAUSED_FOR_VIDEO" desc="AtHome notification text when paused in a given video. [CHAR LIMIT=40]">
        Paused “<ph name="VIDEO_TITLE">%1$s<ex>Psy - Gangnam Style - YouTube</ex></ph>”
      </message>
      <message name="IDS_CAST_NOTIFICATION_FINISHED_FOR_VIDEO" desc="AtHome notification text when finished playing a given video. [CHAR LIMIT=40]">
        Finished “<ph name="VIDEO_TITLE">%1$s<ex>Psy - Gangnam Style - YouTube</ex></ph>”
      </message>
      <message name="IDS_CAST_CASTING_VIDEO" desc="AtHome text to tell user which screen casting is happening. [CHAR LIMIT=40]">
        Casting to <ph name="SCREEN_NAME">%1$s<ex>Living Room TV</ex></ph>
      </message>
      <message name="IDS_CAST_ERROR_PLAYING_VIDEO" desc="The message shown to the user when playing a video to the Chromecast fails.">
        Cannot play video on <ph name="SCREEN_NAME">%1$s<ex>Living Room TV</ex></ph>.
      </message>
      <message name="IDS_CAST_PERMISSION_ERROR_PLAYING_VIDEO" desc="The message shown to the user when trying to play a video that the domain does not let us cast.">
        Unable to cast video due to site restrictions
      </message>
      <message name="IDS_ACCESSIBILITY_PLAY" desc="Content description for the play button that starts playing the media.">
        Play
      </message>
      <message name="IDS_ACCESSIBILITY_PAUSE" desc="Content description for the pause button that pauses playing the media.">
        Pause
      </message>
      <message name="IDS_ACCESSIBILITY_STOP" desc="Content description for the stop button that stops playing the media.">
        Stop
      </message>

    </messages>
  </release>
</grit>
