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

<!--
This file contains definition of resources that will be translated for each
locale.  The strings in this file are specific to iOS.
-->

<grit base_dir="." latest_public_release="0" current_release="1"
      output_all_resource_defines="false" source_lang_id="en" enc_check="möl">
  <outputs>
    <output filename="grit/ios_strings.h" type="rc_header">
      <emit emit_type="prepend"></emit>
    </output>
    <output filename="ios_strings_am.pak" type="data_package" lang="am" />
    <output filename="ios_strings_ar.pak" type="data_package" lang="ar" />
    <output filename="ios_strings_bg.pak" type="data_package" lang="bg" />
    <output filename="ios_strings_bn.pak" type="data_package" lang="bn" />
    <output filename="ios_strings_ca.pak" type="data_package" lang="ca" />
    <output filename="ios_strings_cs.pak" type="data_package" lang="cs" />
    <output filename="ios_strings_da.pak" type="data_package" lang="da" />
    <output filename="ios_strings_de.pak" type="data_package" lang="de" />
    <output filename="ios_strings_el.pak" type="data_package" lang="el" />
    <output filename="ios_strings_en-GB.pak" type="data_package" lang="en-GB" />
    <output filename="ios_strings_en-US.pak" type="data_package" lang="en" />
    <output filename="ios_strings_es.pak" type="data_package" lang="es" />
    <output filename="ios_strings_es-MX.pak" type="data_package" lang="es-419" />
    <output filename="ios_strings_et.pak" type="data_package" lang="et" />
    <output filename="ios_strings_fa.pak" type="data_package" lang="fa" />
    <output filename="ios_strings_fake-bidi.pak" type="data_package" lang="fake-bidi" />
    <output filename="ios_strings_fi.pak" type="data_package" lang="fi" />
    <output filename="ios_strings_fil.pak" type="data_package" lang="fil" />
    <output filename="ios_strings_fr.pak" type="data_package" lang="fr" />
    <output filename="ios_strings_gu.pak" type="data_package" lang="gu" />
    <output filename="ios_strings_he.pak" type="data_package" lang="he" />
    <output filename="ios_strings_hi.pak" type="data_package" lang="hi" />
    <output filename="ios_strings_hr.pak" type="data_package" lang="hr" />
    <output filename="ios_strings_hu.pak" type="data_package" lang="hu" />
    <output filename="ios_strings_id.pak" type="data_package" lang="id" />
    <output filename="ios_strings_it.pak" type="data_package" lang="it" />
    <output filename="ios_strings_ja.pak" type="data_package" lang="ja" />
    <output filename="ios_strings_kn.pak" type="data_package" lang="kn" />
    <output filename="ios_strings_ko.pak" type="data_package" lang="ko" />
    <output filename="ios_strings_lt.pak" type="data_package" lang="lt" />
    <output filename="ios_strings_lv.pak" type="data_package" lang="lv" />
    <output filename="ios_strings_ml.pak" type="data_package" lang="ml" />
    <output filename="ios_strings_mr.pak" type="data_package" lang="mr" />
    <output filename="ios_strings_ms.pak" type="data_package" lang="ms" />
    <output filename="ios_strings_nl.pak" type="data_package" lang="nl" />
    <!-- The translation console uses 'no' for Norwegian Bokmål. It should
         be 'nb'. -->
    <output filename="ios_strings_nb.pak" type="data_package" lang="no" />
    <output filename="ios_strings_pl.pak" type="data_package" lang="pl" />
    <output filename="ios_strings_pt.pak" type="data_package" lang="pt-BR" />
    <output filename="ios_strings_pt-PT.pak" type="data_package" lang="pt-PT" />
    <output filename="ios_strings_ro.pak" type="data_package" lang="ro" />
    <output filename="ios_strings_ru.pak" type="data_package" lang="ru" />
    <output filename="ios_strings_sk.pak" type="data_package" lang="sk" />
    <output filename="ios_strings_sl.pak" type="data_package" lang="sl" />
    <output filename="ios_strings_sr.pak" type="data_package" lang="sr" />
    <output filename="ios_strings_sv.pak" type="data_package" lang="sv" />
    <output filename="ios_strings_sw.pak" type="data_package" lang="sw" />
    <output filename="ios_strings_ta.pak" type="data_package" lang="ta" />
    <output filename="ios_strings_te.pak" type="data_package" lang="te" />
    <output filename="ios_strings_th.pak" type="data_package" lang="th" />
    <output filename="ios_strings_tr.pak" type="data_package" lang="tr" />
    <output filename="ios_strings_uk.pak" type="data_package" lang="uk" />
    <output filename="ios_strings_vi.pak" type="data_package" lang="vi" />
    <output filename="ios_strings_zh-CN.pak" type="data_package" lang="zh-CN" />
    <output filename="ios_strings_zh-TW.pak" type="data_package" lang="zh-TW" />
  </outputs>
  <translations>
    <file path="resources/ios_strings_am.xtb" lang="am" />
    <file path="resources/ios_strings_ar.xtb" lang="ar" />
    <file path="resources/ios_strings_bg.xtb" lang="bg" />
    <file path="resources/ios_strings_bn.xtb" lang="bn" />
    <file path="resources/ios_strings_ca.xtb" lang="ca" />
    <file path="resources/ios_strings_cs.xtb" lang="cs" />
    <file path="resources/ios_strings_da.xtb" lang="da" />
    <file path="resources/ios_strings_de.xtb" lang="de" />
    <file path="resources/ios_strings_el.xtb" lang="el" />
    <file path="resources/ios_strings_en-GB.xtb" lang="en-GB" />
    <file path="resources/ios_strings_es.xtb" lang="es" />
    <file path="resources/ios_strings_es-419.xtb" lang="es-419" />
    <file path="resources/ios_strings_et.xtb" lang="et" />
    <file path="resources/ios_strings_fa.xtb" lang="fa" />
    <file path="resources/ios_strings_fi.xtb" lang="fi" />
    <file path="resources/ios_strings_fil.xtb" lang="fil" />
    <file path="resources/ios_strings_fr.xtb" lang="fr" />
    <file path="resources/ios_strings_gu.xtb" lang="gu" />
    <file path="resources/ios_strings_hi.xtb" lang="hi" />
    <file path="resources/ios_strings_hr.xtb" lang="hr" />
    <file path="resources/ios_strings_hu.xtb" lang="hu" />
    <file path="resources/ios_strings_id.xtb" lang="id" />
    <file path="resources/ios_strings_it.xtb" lang="it" />
    <!-- The translation console uses 'iw' for Hebrew, but we use 'he'. -->
    <file path="resources/ios_strings_iw.xtb" lang="he" />
    <file path="resources/ios_strings_ja.xtb" lang="ja" />
    <file path="resources/ios_strings_kn.xtb" lang="kn" />
    <file path="resources/ios_strings_ko.xtb" lang="ko" />
    <file path="resources/ios_strings_lt.xtb" lang="lt" />
    <file path="resources/ios_strings_lv.xtb" lang="lv" />
    <file path="resources/ios_strings_ml.xtb" lang="ml" />
    <file path="resources/ios_strings_mr.xtb" lang="mr" />
    <file path="resources/ios_strings_ms.xtb" lang="ms" />
    <file path="resources/ios_strings_nl.xtb" lang="nl" />
    <file path="resources/ios_strings_no.xtb" lang="no" />
    <file path="resources/ios_strings_pl.xtb" lang="pl" />
    <file path="resources/ios_strings_pt-BR.xtb" lang="pt-BR" />
    <file path="resources/ios_strings_pt-PT.xtb" lang="pt-PT" />
    <file path="resources/ios_strings_ro.xtb" lang="ro" />
    <file path="resources/ios_strings_ru.xtb" lang="ru" />
    <file path="resources/ios_strings_sk.xtb" lang="sk" />
    <file path="resources/ios_strings_sl.xtb" lang="sl" />
    <file path="resources/ios_strings_sr.xtb" lang="sr" />
    <file path="resources/ios_strings_sv.xtb" lang="sv" />
    <file path="resources/ios_strings_sw.xtb" lang="sw" />
    <file path="resources/ios_strings_ta.xtb" lang="ta" />
    <file path="resources/ios_strings_te.xtb" lang="te" />
    <file path="resources/ios_strings_th.xtb" lang="th" />
    <file path="resources/ios_strings_tr.xtb" lang="tr" />
    <file path="resources/ios_strings_uk.xtb" lang="uk" />
    <file path="resources/ios_strings_vi.xtb" lang="vi" />
    <file path="resources/ios_strings_zh-CN.xtb" lang="zh-CN" />
    <file path="resources/ios_strings_zh-TW.xtb" lang="zh-TW" />
  </translations>
  <release seq="1" allow_pseudo="false">
    <messages fallback_to_english="true">
      <message name="IDS_IOS_ACCNAME_CLEAR_TEXT" desc="The accessibility label for the clear text button in the location bar [Length: unlimited].">
        Clear Text
      </message>
      <message name="IDS_IOS_ACCNAME_RELOAD" desc="The accessibility label for the reload button [Length: unlimited] [iOS only]">
        Reload
      </message>
      <message name="IDS_IOS_ACCNAME_STOP" desc="The accessibility label for the stop button [Length: unlimited] [iOS only]">
        Stop
      </message>
      <message name="IDS_IOS_ACCNAME_VOICE_SEARCH" desc="The accessibility label for the voice search button in the location bar [Length: unlimited]">
        Voice Search
      </message>
      <message name="IDS_IOS_ACCOUNT_CONSISTENCY_CONFIRMATION_OK_BUTTON" desc="Title of the button to accept sign in and navigate away from the confirmation screen. [Length: 20m] [iOS only]">
        Ok, Got it
      </message>
      <message name="IDS_IOS_ACCOUNT_CONSISTENCY_CONFIRMATION_OPEN_SETTINGS" desc="Description of how to configure sync and Google services on the sign-in confirmation screen. [Length: unlimited]">
        Manage Chrome Sync and personalization in <ph name="BEGIN_LINK">BEGIN_LINK</ph>Settings<ph name="END_LINK">END_LINK</ph>
      </message>
      <message name="IDS_IOS_ACCOUNT_CONSISTENCY_CONFIRMATION_SCROLL_BUTTON" desc="Title of the button to scroll the confirmation screen when it is too small to show everything at once. [Length: 20m] [iOS only]">
        More
      </message>
      <message name="IDS_IOS_ACCOUNT_CONSISTENCY_CONFIRMATION_SERVICES_DESCRIPTION" desc="Description of the Google services section on the sign-in confirmation screen. [Length: unlimited]">
        Google may use your browsing history to personalize Search, ads, and other Google services.
      </message>
      <message name="IDS_IOS_ACCOUNT_CONSISTENCY_CONFIRMATION_SERVICES_TITLE" desc="Title of the Google services section on the sign-in confirmation screen. [Length: 50em]">
        Personalize Google services
      </message>
      <message name="IDS_IOS_ACCOUNT_CONSISTENCY_CONFIRMATION_SYNC_DESCRIPTION" desc="Description of the Chrome sync section on the sign-in confirmation screen. [Length: unlimited]">
        Your bookmarks, history, passwords, and other settings will be synced to your Google Account so you can use them on all your devices.
      </message>
      <!-- "Chrome sync" is the Google Cloud Based service used for sync. Thus this string resource is set to "Chrome sync" even for Chromium builds. -->
      <message name="IDS_IOS_ACCOUNT_CONSISTENCY_CONFIRMATION_SYNC_TITLE" desc="Title of the Chrome sync section on the sign-in confirmation screen. [Length: 50em]">
        Chrome Sync
      </message>
      <message name="IDS_IOS_ACCOUNT_CONSISTENCY_CONFIRMATION_TITLE" desc="Title of the screen confirming selection of an account. [Length: 10em] [iOS only]">
        Hi, <ph name="FULL_ACCOUNT_NAME">$1<ex>Jane Doe</ex></ph>
      </message>
      <message name="IDS_IOS_ACCOUNT_CONSISTENCY_CONFIRMATION_UNDO_BUTTON" desc="Title of the button to undo sign-in. [Length: 20em] [iOS only]">
        Undo
      </message>
      <message name="IDS_IOS_ACCOUNT_CONSISTENCY_SETUP_ADD_ACCOUNT_BUTTON" desc="Title of the button to add a new account to the device. [Length: 20em] [iOS only]">
        Add Account
      </message>
      <message name="IDS_IOS_ACCOUNT_CONSISTENCY_SETUP_DESCRIPTION" desc="Description of the screen where users select an account to use. [Length: 140em] [iOS only]">
        Sign in with your Google Account to get your bookmarks, passwords, history and other settings on all your devices
      </message>
      <message name="IDS_IOS_ACCOUNT_CONSISTENCY_SETUP_SIGNIN_BUTTON" desc="Title of the button to sign in. [Length: 20em] [iOS only]">
        Continue
      </message>
      <message name="IDS_IOS_ACCOUNT_CONSISTENCY_SETUP_SIGNIN_NO_ACCOUNT_BUTTON" desc="Title of the button to sign in when there is no accounts on the device. [Length: 20em] [iOS only]">
        Sign in
      </message>
      <message name="IDS_IOS_ACCOUNT_CONSISTENCY_SETUP_SKIP_BUTTON" desc="Title of the button to skip the selection of an account. [Length: 20em] [iOS only]">
        Cancel
      </message>
      <message name="IDS_IOS_ACCOUNT_IDENTITY_CHOOSER_ADD_ACCOUNT" desc="Title of the button to add a new account, the user will be able to use the added account to sign-in [Length: 16em] [iOS only]">
        Add Account…
      </message>
      <message name="IDS_IOS_ACCOUNT_IDENTITY_CHOOSER_CHOOSE_ACCOUNT" desc="Label at the top an account list. The user has to select one of the accounts to sign-in. [Length: 20em] [iOS only]">
        Choose an Account
      </message>
      <message name="IDS_IOS_ACCOUNT_UNIFIED_CONSENT_ADD_ACCOUNT" desc="Title of the button to add an account [Length: 15m] [iOS only]">
        ADD ACCOUNT
      </message>
      <message name="IDS_IOS_ACCOUNT_UNIFIED_CONSENT_OK_BUTTON" desc="Title of the button to validate the user consent [Length: 15m] [iOS only]">
        YES, I'M IN
      </message>
      <message name="IDS_IOS_ACCOUNT_UNIFIED_CONSENT_PERSONALIZED" desc="Description on the sign-in consent dialog to explain the benefit to sign-in. [Length: unlimited] [iOS only]" translateable="false">
      More personal Google services, like better page suggestions
      </message>
      <message name="IDS_IOS_ACCOUNT_UNIFIED_CONSENT_SYNC_DATA" desc="Description on the sign-in consent dialog to explain the benefit to sign-in. [Length: unlimited] [iOS only]" translateable="false">
      Your passwords, history &amp; more on all devices
      </message>
      <message name="IDS_IOS_APPEX_PASSWORD_FORM_FILLED_SUCCESS" desc="Message displayed when an App Extension has successfully filled a sign-in form with username and password. [Length: 30em] [iOS only]">
        Forms filled.
      </message>
      <message name="IDS_IOS_SHOW_ALL_PASSWORDS" desc="Button title in the keyboard accessory bar to open the list of all saved passwords. [Length: 20em] [iOS only]">
        Show All...
      </message>
      <message name="IDS_IOS_SUGGEST_PASSWORD" desc="Button title in the keyboard accessory bar to show a dialog with a generated password. [Length: 20em] [iOS only]">
        Suggest  Password...
      </message>
      <message name="IDS_IOS_APPLICATION_SHORTCUT_NEWINCOGNITOTAB_TITLE" desc="Message when opening a New Incognito Tab from springboard force touch static shortcuts. [Length: unlimited] [iOS only]." meaning="3D Touch entry to create a new Incognito tab.">
        New Incognito Tab
      </message>
      <message name="IDS_IOS_APPLICATION_SHORTCUT_NEWTAB_TITLE" desc="Message when opening a New Tab from springboard force touch static shortcuts. [Length: unlimited] [iOS only]." meaning="3D Touch entry to create a new tab.">
        New Tab
      </message>
      <message name="IDS_IOS_APPLICATION_SHORTCUT_QR_SCANNER_TITLE" desc="Message when opening a QR Scanner from springboard force touch static shortcuts. [Length: unlimited] [iOS only].">
        Scan QR Code
      </message>
      <message name="IDS_IOS_APPLICATION_SHORTCUT_VOICE_SEARCH_TITLE" desc="Message when opening a Voice Search from springboard force touch static shortcuts. [Length: unlimited] [iOS only]." meaning="3D Touch entry to trigger a voice search.">
        Voice Search
      </message>
      <message name="IDS_IOS_APP_LAUNCHER_OPEN_APP_BUTTON_LABEL" desc="Label of a button to open an application. [Length: 10em] [iOS only]">
        Open
      </message>
      <message name="IDS_IOS_AUTOFILL_ACCNAME_HIDE_KEYBOARD" desc="The accessible name for the hide keyboard button in the keyboard accessory shown when filling out forms. [Length: unlimited] [iOS only]">
        Hide keyboard
      </message>
      <message name="IDS_IOS_AUTOFILL_ACCNAME_NEXT_FIELD" desc="The accessible name for the next field button in the keyboard accessory shown when filling out forms. [Length: unlimited] [iOS only]">
        Next field
      </message>
      <message name="IDS_IOS_AUTOFILL_ACCNAME_PREVIOUS_FIELD" desc="The accessible name for the previous field button in the keyboard accessory shown when filling out forms. [Length: unlimited] [iOS only]">
        Previous field
      </message>
      <message name="IDS_IOS_AUTOFILL_ACCNAME_SUGGESTION" desc="The accessible description of a suggestion shown in the Autofill keyboard acessory. [Length: unlimited] [iOS only]">
        <ph name="VALUE">$1<ex>John Smith</ex></ph>, <ph name="ADDITIONAL_INFO">$2<ex>1234 Main St., Springfield, IL 62711</ex></ph>, <ph name="INDEX">$3<ex>1</ex></ph> of <ph name="NUM_SUGGESTIONS">$4<ex>5</ex></ph>
      </message>
      <message name="IDS_IOS_AUTOFILL_ADDRESS1" desc="Title of the field of a profile address representing the first line of the address. [Length: 15em] [iOS only]">
        Address 1
      </message>
      <message name="IDS_IOS_AUTOFILL_ADDRESS2" desc="Title of the field of a profile address representing the second line of the address. [Length: 15em] [iOS only]">
        Address 2
      </message>
      <message name="IDS_IOS_AUTOFILL_CARDHOLDER" desc="Title of the field representing the full name of a credit card holder. [Length: 15em] [iOS only]">
        Name on Card
      </message>
      <message name="IDS_IOS_AUTOFILL_CARD_NUMBER" desc="Title of the field representing the number (PAN) on a credit card. [Length: 10em] [iOS only]">
        Card Number
      </message>
      <message name="IDS_IOS_AUTOFILL_CITY" desc="Title of the field of a profile address representing the city/town of the address. [Length: 15em] [iOS only]">
        City / Town
      </message>
      <message name="IDS_IOS_AUTOFILL_COMPANY_NAME" desc="Title of the field of a profile address representing the company name of the addressee. [Length: 17em] [iOS only]">
        Company Name
      </message>
      <message name="IDS_IOS_AUTOFILL_COUNTRY" desc="Title of the field of a profile address representing the country/nation of the address. [Length: 15em] [iOS only]">
        Country
      </message>
      <message name="IDS_IOS_AUTOFILL_DIALOG_PLACEHOLDER_EXPIRY_MONTH" desc="The placeholder text for credit card expiration month in the payments card unmask dialog. [Length: 4em] [iOS only]">
        MM
      </message>
      <message name="IDS_IOS_AUTOFILL_DIALOG_PLACEHOLDER_EXPIRY_YEAR" desc="The placeholder text for credit card expiration year in the payments card unmask dialog. [Length: 4em] [iOS only]">
        YY
      </message>
      <message name="IDS_IOS_AUTOFILL_EDIT_ADDRESS" desc="Title for the view in Settings for editing an Autofill profile address. [Length: 20em] [iOS only]">
        Edit Address
      </message>
      <message name="IDS_IOS_AUTOFILL_EDIT_CREDIT_CARD" desc="Title for the view in Settings for editing an Autofill profile address. [Length: 20em] [iOS only]">
        Edit Credit Card
      </message>
      <message name="IDS_IOS_AUTOFILL_EMAIL" desc="Title of the field of a profile address representing the email address of the addressee. [Length: 15em] [iOS only]">
        Email
      </message>
      <message name="IDS_IOS_AUTOFILL_EXP_MONTH" desc="Title of the field representing the expiration month of a credit card. [Length: 15em] [iOS only]">
        Expiration Month
      </message>
      <message name="IDS_IOS_AUTOFILL_EXP_YEAR" desc="Title of the field representing the expiration year of a credit card. [Length: 15em] [iOS only]">
        Expiration Year
      </message>
      <message name="IDS_IOS_AUTOFILL_FULLNAME" desc="Title of the field of a profile address representing the full name of the addressee. [Length: 15em] [iOS only]">
        Full Name
      </message>
      <message name="IDS_IOS_AUTOFILL_INPUT_BAR_DONE" desc="The title for the button above the keyboard used to dismiss it. [6em]">
        Done
      </message>
      <message name="IDS_IOS_AUTOFILL_PHONE" desc="Title of the field of a profile address representing the phone number of the addressee. [Length: 15em] [iOS only]">
        Phone
      </message>
      <message name="IDS_IOS_AUTOFILL_STATE" desc="Title of the field of a profile address representing the state/county/district/oblast of the address. [Length: 15em] [iOS only]">
        State / County
      </message>
      <message name="IDS_IOS_AUTOFILL_WALLET_SERVER_NAME" desc="The name of the data source for non-local card and address info. Title case. 'Google Pay' should not be translated as it is the product name. [Length: 15em] [iOS only]">
        Google Pay
      </message>
      <message name="IDS_IOS_AUTOFILL_ZIP" desc="Title of the field of a profile address representing the postal code of the address. [Length: 15em] [iOS only]">
        Zip Code
      </message>
      <message name="IDS_IOS_BANDWIDTH_MANAGEMENT_LEARN_URL" translateable="false">
        https://support.google.com/chrome/answer/2392284?p=mobile_bandwidth&amp;hl=[GRITLANGCODE]&amp;ios=1
      </message>
      <message name="IDS_IOS_BANDWIDTH_MANAGEMENT_SETTINGS" desc="Title for the bandwidth management panel in settings [Length: 30em] [iOS only]">
        Bandwidth
      </message>
      <message name="IDS_IOS_BLOCK_POPUPS" desc="Title for the view and option in Settings for blocking pop-up. [Length: 15em] [iOS only]">
        Block Pop-ups
      </message>
      <message name="IDS_IOS_BLUETOOTH_USAGE_DESCRIPTION" desc="Specifies the reason for using the device's bluetooth capabilities.">
        This lets you discover relevant web pages based on your surroundings.
      </message>
      <message name="IDS_IOS_BOOKMARK_ACTION_DELETE" desc="Title of the action that deletes a bookmark in the bookmark action sheet. [Length: 30em.] [iOS only]">
        Delete
      </message>
      <message name="IDS_IOS_BOOKMARK_ACTION_EDIT" desc="Title of the action that edits a bookmark in the bookmark action sheet. [Length: 30em.] [iOS only]">
        Edit
      </message>
      <message name="IDS_IOS_BOOKMARK_ACTION_MOVE" desc="Title of the action that moves a bookmark in the bookmark action sheet. [Length: 30em.] [iOS only]">
        Move
      </message>
      <message name="IDS_IOS_BOOKMARK_ACTION_SELECT" desc="Title of the action that selects a bookmark in the bookmark action sheet. [Length: 30em.] [iOS only]">
        Select
      </message>
      <message name="IDS_IOS_BOOKMARK_CHOOSE_GROUP_BUTTON" desc="Button to assign a folder to an uncategorized bookmark. [iOS only]">
        Choose Folder
      </message>
      <message name="IDS_IOS_BOOKMARK_CREATE_GROUP" desc="Button to create a new bookmark folder [Length: 30em.]">
        New Folder…
      </message>
      <message name="IDS_IOS_BOOKMARK_DELETE" desc="Title of button that deletes currently edited bookmark. [Length: 20em.]">
        Delete
      </message>
      <message name="IDS_IOS_BOOKMARK_DONE_BUTTON" desc="Title of the Done button in the Bookmarks editor UI. [Length: 10em.] [iOS only]">
        Done
      </message>
      <message name="IDS_IOS_BOOKMARK_EDIT_MODE_EXIT_MOBILE" desc="Exit the bookmark panel edit mode [Length: Unknown. Keep it short.]">
        Done
      </message>
      <message name="IDS_IOS_BOOKMARK_EDIT_PARENT_FOLDER_BUTTON_HINT" desc="The accessibility hint spoken when hovering over the parent folder of a bookmark in the editor. [iOS only]">
        Double tap to change the parent folder.
      </message>
      <message name="IDS_IOS_BOOKMARK_EDIT_SCREEN_TITLE" desc="Title of Edit Bookmark screen [Length: 13em]">
        Edit Bookmark
      </message>
      <message name="IDS_IOS_BOOKMARK_FOLDERS_LABEL" desc="Title on top of the bookmark folder list [Length: 30em] [iOS only]">
        Folders
      </message>
      <message name="IDS_IOS_BOOKMARK_GROUP_BUTTON" desc="Button to change the folder of a bookmark. [iOS only]">
        Folder
      </message>
      <message name="IDS_IOS_BOOKMARK_GROUP_DELETE" desc="Button to delete a folder. [Length: 30em.] [iOS only]">
        Delete Folder
      </message>
      <message name="IDS_IOS_BOOKMARK_ITEM_COUNT" desc="Displayed when there are more than one item in a bookmark folder [Length: 30em.]">
        <ph name="COUNT">$1<ex>42</ex></ph> items
      </message>
      <message name="IDS_IOS_BOOKMARK_NAME_FIELD_HEADER" desc="Title shown above bookmark name field on Edit Bookmark screen. [Length: 20em]">
        Name
      </message>
      <message name="IDS_IOS_BOOKMARK_NEW_BACK_LABEL" desc="Accessibility label for a button that takes the user back to the previous screen. [Length: 30em.]">
        Back
      </message>
      <message name="IDS_IOS_BOOKMARK_NEW_BOOKMARKS_BAR_TITLE" desc="Text that describes the bookmarks present in the bookmarks bar for chrome on desktop. [Length: 30em.] [iOS only]">
        Bookmarks Bar
      </message>
      <message name="IDS_IOS_BOOKMARK_NEW_BOOKMARK_CREATED" desc="A description presented to the user that they just created a bookmark. [Length: 30em.] [iOS only]">
        Item created
      </message>
      <message name="IDS_IOS_BOOKMARK_NEW_BOOKMARK_UPDATED" desc="A description presented to the user that they just updated a bookmark. [Length: 30em.] [iOS only]">
        Item updated
      </message>
      <message name="IDS_IOS_BOOKMARK_NEW_CANCEL_BUTTON_LABEL" desc="Accessibility label for a button that cancels the current action. [Length: 30em.]">
        Cancel
      </message>
      <message name="IDS_IOS_BOOKMARK_NEW_DELETE_BUTTON_LABEL" desc="Accessibility label for a button that allows the user to delete one or many bookmarks. [Length: 30em.]">
        Delete
      </message>
      <message name="IDS_IOS_BOOKMARK_NEW_EDITOR_NAME_LABEL" desc="Label shown before the title/name of the URL [Length: 30em.]">
        Title
      </message>
      <message name="IDS_IOS_BOOKMARK_NEW_EDIT_BUTTON_LABEL" desc="Accessibility label for a button that allows the user to edit a bookmark. [Length: 30em.]">
        Edit
      </message>
      <message name="IDS_IOS_BOOKMARK_NEW_GROUP_DEFAULT_NAME" desc="Default name for new folders. [iOS only]">
        New Folder
      </message>
      <message name="IDS_IOS_BOOKMARK_NEW_GROUP_EDITOR_CREATE_TITLE" desc="Title of the view controller to create a new folder. [Length: 30em.] [iOS only]">
        New Folder
      </message>
      <message name="IDS_IOS_BOOKMARK_NEW_GROUP_EDITOR_EDIT_TITLE" desc="Title of the view controller to edit an existing folder. [Length: 30em.] [iOS only]">
        Edit Folder
      </message>
      <message name="IDS_IOS_BOOKMARK_NEW_MANY_ITEM_LABEL" desc="Text that indicates that a user has selected many bookmarks for editing. It will be prefaced with a single number greater than 1. e.g. '5 selected' [Length: 30em.]">
        <ph name="NUMBER_OF_SELECTED_BOOKMARKS">$1<ex>2</ex></ph> selected
      </message>
      <message name="IDS_IOS_BOOKMARK_NEW_MENU_LABEL" desc="Accessibility label for a button that shows the user a menu of possible options. [Length: 30em.]">
        Menu
      </message>
      <message name="IDS_IOS_BOOKMARK_NEW_MORE_BUTTON_ACCESSIBILITY_LABEL" desc="The accessibility label of the button that shows the options menu on a given bookmark, ie the menu for 'More' options. [iOS only]">
        More menu
      </message>
      <message name="IDS_IOS_BOOKMARK_NEW_MOVE_BUTTON_LABEL" desc="Accessibility label for a button that allows the user to move the position of one or many bookmarks. [Length: 30em.]">
        Move
      </message>
      <message name="IDS_IOS_BOOKMARK_NEW_MULTIPLE_BOOKMARK_DELETE" desc="A description presented to the user that they just deleted multiple bookmarks. [Length: 30em.] [iOS only]">
        <ph name="NUMBER_OF_SELECTED_BOOKMARKS">$1<ex>2</ex></ph> items deleted
      </message>
      <message name="IDS_IOS_BOOKMARK_NEW_MULTIPLE_BOOKMARK_MOVE" desc="A description presented to the user that they just moved multiple bookmarks. [Length: 30em.] [iOS only]">
        <ph name="NUMBER_OF_SELECTED_BOOKMARKS">$1<ex>2</ex></ph> items moved
      </message>
      <message name="IDS_IOS_BOOKMARK_NEW_ONE_ITEM_LABEL" desc="Text that indicates that a user has selected one bookmark for editing. [Length: 30em.]">
        1 selected
      </message>
      <message name="IDS_IOS_BOOKMARK_NEW_SINGLE_BOOKMARK_DELETE" desc="A description presented to the user that they just deleted 1 bookmark. [Length: 30em.] [iOS only]">
        1 item deleted
      </message>
      <message name="IDS_IOS_BOOKMARK_NEW_SINGLE_BOOKMARK_MOVE" desc="A description presented to the user that they just moved 1 bookmark. [Length: 30em.] [iOS only]">
        1 item moved
      </message>
      <message name="IDS_IOS_BOOKMARK_NEW_UNDO_BUTTON_TITLE" desc="Text shown for the undo button. [Length: 30em.] [iOS only]">
        Undo
      </message>
      <message name="IDS_IOS_BOOKMARK_NEW_ZERO_ITEM_LABEL" desc="Text that indicates that a user has selected zero bookmarks for editing. [Length: 30em.]">
        0 selected
      </message>
      <message name="IDS_IOS_BOOKMARK_NO_BOOKMARKS_LABEL" desc="The label shown on the bookmark collection background when the user has no bookmarks on the selected folder. [Length: 30em.] [iOS only]">
        No bookmarks here
      </message>
      <message name="IDS_IOS_BOOKMARK_NO_ITEM_COUNT" desc="Displayed when there are no items in a bookmark folder [Length: 30em.]">
        No items
      </message>
      <message name="IDS_IOS_BOOKMARK_ONE_ITEM_COUNT" desc="Displayed when there is only one item in a bookmark folder [Length: 30em.]">
        1 item
      </message>
      <message name="IDS_IOS_BOOKMARK_PAGE_SAVED" desc="Presented in an infobar when a bookmark is created. [Length: 30em.]">
        Bookmarked
      </message>
      <message name="IDS_IOS_BOOKMARK_PAGE_SAVED_FOLDER" desc="Presented in an infobar when a bookmark is created. Specifies in which folder the bookmark was added. [Length: 30em.]">
        Bookmarked to <ph name="FOLDER_TITLE">$1<ex>My Folder</ex></ph>
      </message>
      <message name="IDS_IOS_BOOKMARK_URL_FIELD_HEADER" desc="Title shown above URL field on Edit Bookmark screen. [Length: 20em]">
        URL
      </message>
      <message name="IDS_IOS_BOOKMARK_URL_FIELD_VALIDATION_FAILED" desc="Error message shown below URL input field when the URL is incorrect. [Length: 20em]">
        Invalid URL
      </message>
      <message name="IDS_IOS_BOTTOM_TOOLBAR_IPH_PROMOTION_TEXT" desc="Text for the Bottom Toolbar Tip in-product help promotion, explaining that the bottom toolbar can be used to focus the Search Bar, instead of having to reach to the top toolbar. [iOS only]">
        Search bar is now easier to reach
      </message>
      <message name="IDS_IOS_CAMERA_USAGE_DESCRIPTION" desc="Specifies the reason for accessing the user's camera while the app is in use [Length: unlimited] [iOS only].">
        This lets you take and upload photos.
      </message>
      <message name="IDS_IOS_CARD_STACK_SCROLLED_NOTIFICATION" desc="The accessibility description for page scrolled notification [iOS only]">
        <ph name="INCOGNITO">$1<ex>Incognito</ex></ph> Tabs <ph name="FIRST_VISIBLE_TAB">$2<ex>3</ex></ph> through <ph name="LAST_VISIBLE_TAB">$3<ex>5</ex></ph> of <ph name="NUMBER_OF_OPEN_TABS">$4<ex>12</ex></ph>
      </message>
      <message name="IDS_IOS_CLEAR_AUTOFILL" desc="Label for the option in settings to clear form data. In titlecase. [Length: 20em] [iOS only]">
        Autofill Data
      </message>
      <message name="IDS_IOS_CLEAR_BROWSING_DATA_ACTIVITY_MODAL" desc="Message text for the activity indicator modal during clear browsing data.">
        Clearing browsing data...
      </message>
      <message name="IDS_IOS_CLEAR_BROWSING_DATA_FOOTER_ACCOUNT" desc="Footer message in the settings to clear browsing data that informs the user that clearing browsing data will not sign them out of Chrome.">
        You won't be signed out of your Google Account.
      </message>
      <message name="IDS_IOS_CLEAR_BROWSING_DATA_FOOTER_ACCOUNT_AND_HISTORY" desc="Footer message in the settings to clear browsing data that informs the user that clearing browsing data will not sign them out of Chrome and that other forms of history will still be available.">
        You won't be signed out of your Google Account. Your Google Account may have other forms of browsing history at <ph name="BEGIN_LINK">BEGIN_LINK</ph>history.google.com<ph name="END_LINK">END_LINK</ph>.
      </message>
      <message name="IDS_IOS_CLEAR_BROWSING_DATA_FOOTER_CLEAR_SYNC_AND_SAVED_SITE_DATA" desc="Footer message in the settings to clear browsing data that informs the user the synced data will be cleared on all devices and that saved site settings will not be deleted.">
        This clears synced data from all devices. Saved site settings will not be deleted and may reflect your browsing habits. <ph name="BEGIN_LINK">BEGIN_LINK</ph>Learn more<ph name="END_LINK">END_LINK</ph>
      </message>
      <message name="IDS_IOS_CLEAR_BROWSING_DATA_FOOTER_SAVED_SITE_DATA" desc="Footer message in the settings to clear browsing data that informs the user that saved site settings will not be deleted.">
        Saved site settings will not be deleted and may reflect your browsing habits. <ph name="BEGIN_LINK">BEGIN_LINK</ph>Learn more<ph name="END_LINK">END_LINK</ph>
      </message>
      <message name="IDS_IOS_CLEAR_BROWSING_DATA_HISTORY_NOTICE_OK_BUTTON" desc="Title of a button that closes the dialog informing the user to open the Google My Activity. [Length: 15em]">
        Ok, got it
      </message>
      <message name="IDS_IOS_CLEAR_BROWSING_DATA_HISTORY_NOTICE_OPEN_HISTORY_BUTTON" desc="Title of a button that allows the user to open history.google.com. [Length: 15em]">
        Open history.google.com
      </message>
      <message name="IDS_IOS_CLEAR_BROWSING_DATA_TIME_RANGE_OPTION_BEGINNING_OF_TIME" desc="Label of a time range option. This is used to specify that the user wishes to clear their browsing data since the beginning of time. In titlecase. [Length: 22em] [iOS only]">
        Beginning of Time
      </message>
      <message name="IDS_IOS_CLEAR_BROWSING_DATA_TIME_RANGE_OPTION_LAST_FOUR_WEEKS" desc="Label of a time range option. This is used to specify that the user wishes to clear their browsing data for the last 4 weeks. In titlecase. [Length: 22em] [iOS only]">
        Last 4 Weeks
      </message>
      <message name="IDS_IOS_CLEAR_BROWSING_DATA_TIME_RANGE_OPTION_OLDER_THAN_30_DAYS" desc="Label of a time range option. This is used to specify that the user wishes to clear their browsing data that is older than 30 days. In titlecase. [Length: 22em] [iOS only]">
        Older than 30 days
      </message>
      <message name="IDS_IOS_CLEAR_BROWSING_DATA_TIME_RANGE_OPTION_PAST_DAY" desc="Label of a time range option. This is used to specify that the user wishes to clear their browsing data for the past day. In titlecase. [Length: 22em] [iOS only]">
        Past Day
      </message>
      <message name="IDS_IOS_CLEAR_BROWSING_DATA_TIME_RANGE_OPTION_PAST_HOUR" desc="Label of a time range option. This is used to specify that the user wishes to clear their browsing data for the past hour. In titlecase. [Length: 22em] [iOS only]">
        Past Hour
      </message>
      <message name="IDS_IOS_CLEAR_BROWSING_DATA_TIME_RANGE_OPTION_PAST_WEEK" desc="Label of a time range option. This is used to specify that the user wishes to clear their browsing data for the past week. In titlecase. [Length: 22em] [iOS only]">
        Past Week
      </message>
      <message name="IDS_IOS_CLEAR_BROWSING_DATA_TIME_RANGE_SELECTOR_TITLE" desc="Title for the view that allows the user to pick a time range. The selector is used to pick the time period for which to clear the browsing data. In titlecase. [Length: 13em] [iOS only]">
        Time Range
      </message>
      <message name="IDS_IOS_CLEAR_BROWSING_DATA_TITLE" desc="Title for clear browsing data setting screen [Length: 10em] [iOS only]">
        Clear Browsing Data
      </message>
      <message name="IDS_IOS_CLEAR_BROWSING_HISTORY" desc="Label for the option in settings to clear browsing history. In titlecase. [Length: 20em] [iOS only]">
        Browsing History
      </message>
      <message name="IDS_IOS_CLEAR_BUTTON" desc="Title for the button used to clear data. [Length: 20em] [iOS only]">
        Clear Browsing Data
      </message>
      <message name="IDS_IOS_CONFIRM_CLEAR_BUTTON_TITLE" desc="Title for the UIAlertController indicating browsing data selected will be removed. [Length: 20em] [iOS only]">
        The items you selected will be removed.
      </message>
      <message name="IDS_IOS_CONFIRM_CLEAR_BUTTON" desc="Accessibility label for the button used to confirm clearing data. [iOS only]">
        Confirm Clear Browsing Data
      </message>
      <message name="IDS_IOS_CLEAR_CACHE" desc="Label for the option in settings to clear the cache. In titlecase. [Length: 20em] [iOS only]">
        Cached Images and Files
      </message>
      <message name="IDS_IOS_CLEAR_COOKIES" desc="Label for the option in settings to clear cookies and site data. In titlecase. [Length: 20em] [iOS only]">
        Cookies, Site Data
      </message>
      <message name="IDS_IOS_CLEAR_SAVED_PASSWORDS" desc="Label for the option in settings to clear saved passwords. In titlecase. [Length: 20em] [iOS only]">
        Saved Passwords
      </message>
      <message name="IDS_IOS_CONTENT_CONTEXT_ADDTOREADINGLIST" desc="The iOS menu item for adding a link to the reading list.">
        Read Later
      </message>
      <message name="IDS_IOS_CONTENT_CONTEXT_COPY" desc="The iOS menu item for copying a link's URL into the pasteboard. Shorter than the desktop version [iOS only]">
        Copy Link URL
      </message>
      <message name="IDS_IOS_CONTENT_CONTEXT_COPYIMAGE" desc="The name of the Copy Image command in the content area context menu.">
        Copy Image
      </message>
      <message name="IDS_IOS_CONTENT_COPYIMAGE_ALERT_COPYING" desc="The title of the alert while the image to be copied is being downloaded.">
        Copying...
      </message>
      <message name="IDS_IOS_CONTENT_CONTEXT_OPEN" desc="The iOS menu item for opening a link. Shorter than the desktop version [Length: 25em] [iOS only]">
        Open
      </message>
      <message name="IDS_IOS_CONTENT_CONTEXT_OPENIMAGE" desc="The name of the Open Image command in the content area context menu">
        Open Image
      </message>
      <message name="IDS_IOS_CONTENT_CONTEXT_OPENIMAGENEWTAB" desc="The name of the Open Image in New Tab command in the content area context menu">
        Open Image in New Tab
      </message>
      <message name="IDS_IOS_CONTENT_CONTEXT_OPENLINKNEWINCOGNITOTAB" desc="The iOS menu item for opening a link in a new incognito tab. Shorter than the desktop version [Length: 25em] [iOS only]">
        Open in New Incognito Tab
      </message>
      <message name="IDS_IOS_CONTENT_CONTEXT_OPENLINKNEWTAB" desc="The iOS menu item for opening a link in another tab. Shorter than the desktop version [iOS only]">
        Open in New Tab
      </message>
      <message name="IDS_IOS_CONTENT_CONTEXT_SAVEIMAGE" desc="The name of the Save Image As command in the content area context menu">
        Save Image
      </message>
      <message name="IDS_IOS_CONTENT_SUGGESTIONS_ACCESSIBILITY_LABEL_SUGGESTION" desc="The accessibility label of a suggestion. Summarizes fields in the reading list entry (title, publisher informations, status and informations). Read by Text-to-Speech.">
        <ph name="TITLE"><ex>Learn about the new Chromium Projects</ex>$1</ph>, <ph name="PUBLISHER_INFORMATION"><ex>The Chromium organization</ex>$2</ph>, <ph name="PUBLICATION_DATE"><ex>January 1 2017</ex>$3</ph>
      </message>
      <message name="IDS_IOS_CONTENT_SUGGESTIONS_BOOKMARKS" desc="The Bookmarks title on the new tab page [Length: 10em]">
        Bookmarks
      </message>
      <message name="IDS_IOS_CONTENT_SUGGESTIONS_HIDE" desc="The label in the header to hide/collapse Content Suggestions [Length: 10em]">
        Hide
      </message>
      <message name="IDS_IOS_CONTENT_SUGGESTIONS_HISTORY" desc="The History title on the new tab page [Length: 10em]">
        History
      </message>
      <message name="IDS_IOS_CONTENT_SUGGESTIONS_FOOTER_TITLE" desc="The title of the footer of the sections of Content Suggestions">
        More
      </message>
      <message name="IDS_IOS_CONTENT_SUGGESTIONS_READING_LIST" desc="The Reading List title on the new tab page [Length: 10em]">
        Reading List
      </message>
      <message name="IDS_IOS_CONTENT_SUGGESTIONS_READING_LIST_ACCESSIBILITY_LABEL_ONE_UNREAD" desc="The accessibility label to use for the reading list content suggestion cell when there is only a single unread article [Length: unlimited]">
        1 unread Reading List article.
      </message>
      <message name="IDS_IOS_CONTENT_SUGGESTIONS_READING_LIST_ACCESSIBILITY_LABEL" desc="The accessibility label to use for the reading list content suggestion cell when there are multiple unread articles [Length: unlimited]">
        <ph name="UNREAD_COUNT">$1<ex>4</ex></ph> unread Reading List articles.
      </message>
      <message name="IDS_IOS_CONTENT_SUGGESTIONS_RECENT_TABS" desc="The Recent Tabs title on the new tab page [Length: 10em]">
        Recent Tabs
      </message>
      <message name="IDS_IOS_CONTENT_SUGGESTIONS_REMOVE" desc="The name of the Remove command in the Content Suggestions articles context menu">
        Remove
      </message>
      <message name="IDS_IOS_CONTENT_SUGGESTIONS_SETTING_TITLE" desc="The title of the settings to toggle the articles suggestions on the NTP on/off">
        Article Suggestions
      </message>
      <message name="IDS_IOS_CONTENT_SUGGESTIONS_SHOW" desc="The label in the header to show/uncollapse Content Suggestions [Length: 10em]">
        Show
      </message>
      <message name="IDS_IOS_CONTENT_SETTINGS_TITLE" desc="Title for content settings dialog [Length: 29em] [iOS only]">
        Content Settings
      </message>
      <message name="IDS_IOS_CONTEXT_MENU_SEARCHWEBFORIMAGE" desc="Context menu text for option to perform a search for image [Length: 25em] [iOS only]">
        Search <ph name="SEARCH_ENGINE">$1<ex>Google</ex></ph> for This Image
      </message>
      <message name="IDS_IOS_COPY_VERSION_HINT" desc="The accessibility hint for the label showing the Chrome version. [iOS only]">
        Double tap to copy.
      </message>
      <message name="IDS_IOS_DISCONNECT_DIALOG_CONTINUE_BUTTON_MOBILE" desc="The title of the continue button on the disconnect dialog [Length: 20em].">
        Sign Out
      </message>
      <message name="IDS_IOS_DISCONNECT_DIALOG_INFO_MOBILE" desc="The information text on the disconnect dialog [Length: 400em].">
        Changes to your bookmarks, history, passwords, and other settings will no longer be synced to your Google Account. However, your existing data will remain stored in your Google Account.
      </message>
      <message name="IDS_IOS_DISCONNECT_DIALOG_INFO_MOBILE_UNITY" desc="The information text on the disconnect dialog [Length: 400em].">
        Your bookmarks, history, passwords, and more will no longer be synced to your Google Account.
      </message>
      <message name="IDS_IOS_DISCONNECT_DIALOG_TITLE_UNITY" desc="The title of the disconnect dialog [Length: 30em].">
        Sign out and turn off sync?
      </message>
      <message name="IDS_IOS_DOWNLOAD_MANAGER_CANNOT_DETERMINE_FILE_SIZE" desc="Message displayed when the size of the file to be downloaded is unknown. [Length: 30em] [iOS only]">
        Cannot determine file size.
      </message>
      <message name="IDS_IOS_DOWNLOAD_MANAGER_DOWNLOAD" desc="Button to start downloading a file. [Length: 15em] [iOS only]">
        Download
      </message>
      <message name="IDS_IOS_DOWNLOAD_MANAGER_DOWNLOADING" desc="Accessibility label for the file icon while the file is being downloaded. [iOS only]">
        Downloading
      </message>
      <message name="IDS_IOS_DOWNLOAD_MANAGER_DOWNLOAD_COMPLETE" desc="Accessibility label for the file icon when the file has been completely downloaded. [iOS only]">
        Download complete
      </message>
      <message name="IDS_IOS_DOWNLOAD_MANAGER_DOWNLOAD_FAILED" desc="Label displaying that downloading a file was unsuccessful. [Length: 25em] [iOS only]">
        Download failed.
      </message>
      <message name="IDS_IOS_DOWNLOAD_MANAGER_COULDNT_DOWNLOAD" desc="Label displaying that downloading a file was unsuccessful. [Length: 25em] [iOS only]">
        Couldn't Download
      </message>
      <message name="IDS_IOS_DOWNLOAD_MANAGER_INSTALL_GOOGLE_DRIVE" desc="Button to install the Google Drive app. [Length: 25em] [iOS only]">
        Install Google Drive
      </message>
      <message name="IDS_IOS_DOWNLOAD_MANAGER_INSTALL" desc="Button to install the Google Drive app. [Length: 25em] [iOS only]">
        Install
      </message>
      <message name="IDS_IOS_DOWNLOAD_MANAGER_CANCEL_CONFIRMATION" desc="Alert title to confirm download cancellation [Length: 30em] [iOS only]">
        Stop Download?
      </message>
      <message name="IDS_IOS_DOWNLOAD_MANAGER_CONTINUE" desc="The title of Continue button in the Stop Download? confirmation dialog [30em]">
        Continue
      </message>
      <message name="IDS_IOS_DOWNLOAD_MANAGER_STOP" desc="The title of Stop button in the Stop Download? confirmation dialog [30em]">
        Stop
      </message>
      <message name="IDS_IOS_DOWNLOAD_MANAGER_REPLACE_CONFIRMATION" desc="Alert title to confirm download old download replacement [Length: 30em] [iOS only]">
        Start New Download?
      </message>
      <message name="IDS_IOS_DOWNLOAD_MANAGER_REPLACE_CONFIRMATION_MESSAGE" desc="Alert message to confirm download old download replacement [Length: 100em] [iOS only]">
        This will stop all progress for your current download.
      </message>
      <message name="IDS_IOS_DOWNLOAD_MANAGER_DOWNLOADING_ELIPSIS" desc="Label for the file being downloaded. [Length: 25em] [iOS only]">
        Downloading… <ph name="FILE_SIZE">$1<ex>456KB</ex></ph>
      </message>
      <message name="IDS_IOS_DOWNLOAD_MANAGER_NO_APP_MESSAGE" desc="Message displayed in dialog informing user that no application on the phone can open the downloaded file. [Length: 50em] [iOS only]">
        No application on this device can open the file.
      </message>
      <message name="IDS_IOS_DOWNLOAD_MANAGER_PERCENT_DOWNLOADED" desc="Accessibility label for the percentage of the file that has been downloaded. [iOS only]">
        <ph name="PERCENT">$1<ex>49</ex></ph> percent downloaded
      </message>
      <message name="IDS_IOS_DOWNLOAD_MANAGER_RETRY_DOWNLOAD" desc="Button to retry downloading a file once a previous attempt to download the file failed. [Length: 25em] [iOS only]">
        Retry Download
      </message>
      <message name="IDS_IOS_DOWNLOAD_MANAGER_TRY_AGAIN" desc="Button to retry downloading a file once a previous attempt to download the file failed. [Length: 25em] [iOS only]">
        Try Again
      </message>
      <message name="IDS_IOS_DOWNLOAD_MANAGER_TIME_LEFT" desc="Label displaying the number of minutes remaining for the download. [Length: 7em] [iOS only]">
        <ph name="MINUTES">$1<ex>3</ex></ph> min
      </message>
      <message name="IDS_IOS_DOWNLOAD_MANAGER_UNABLE_TO_OPEN_FILE" desc="Title of dialog displayed when the user attempts to open a downloaded file and no app on the device can open the file. [Length: 25em] [iOS only]">
        Unable to Open File
      </message>
      <message name="IDS_IOS_DOWNLOAD_MANAGER_FAILED_ACCESSIBILITY_ANNOUNCEMENT" desc="The accessibility announcement read by Voice Over when the download has failed. [Length: unlimited] [iOS only]">
        Download failed
      </message>
      <message name="IDS_IOS_DOWNLOAD_MANAGER_SUCCEEDED_ACCESSIBILITY_ANNOUNCEMENT" desc="The accessibility announcement read by Voice Over when the download has sucessfully finished. [Length: unlimited] [iOS only]">
        Download finished
      </message>
      <message name="IDS_IOS_DOWNLOAD_MANAGER_REQUESTED_ACCESSIBILITY_ANNOUNCEMENT" desc="The accessibility announcement read by Voice Over when the Download Manager UI is shown to the user. [Length: unlimited] [iOS only]">
        File download is available. Options available near bottom of screen.
      </message>
      <message name="IDS_IOS_DOWNLOAD_MANAGER_UPLOAD_TO_GOOGLE_DRIVE" desc="Button for uploading a downloaded file to Google Drive. It's displayed on the dialog presented when no app on the device can open the file. [Length: 25em] [iOS only]">
        Upload to Google Drive
      </message>
      <message name="IDS_IOS_DOWNLOAD_MANAGER_GOOGLE_DRIVE" desc="Button for installing Google Drive app. Google Drive is a product name and should use the correct localized version of the product name. [Length: 25em] [iOS only]">
        Google Drive
      </message>
      <message name="IDS_IOS_FACETIME_BUTTON" desc="Text in the confirmation dialog button that will initiate a FaceTime call for the presented number. [Length: 10em] [iOS only]">
        FaceTime
      </message>
      <message name="IDS_IOS_PHONE_CALL_BUTTON" desc="Text in the confirmation dialog button that will initiate a phone call for the presented number. [Length: 10em] [iOS only]">
        Call
      </message>
      <message name="IDS_IOS_FIRSTRUN_ACCOUNT_CONSISTENCY_SKIP_BUTTON" desc="Title of the button to skip the selection of an account on First Run when account consistency is enabled. [Length: 10em] [iOS only]">
        No thanks
      </message>
      <message name="IDS_IOS_FIRSTRUN_OPT_IN_ACCEPT_BUTTON" desc="User metrics opt-in acceptance button label [iOS only]">
        Accept &amp; Continue
      </message>
      <message name="IDS_IOS_GENERIC_PASSKIT_ERROR" desc="Generic error message on failure reading a PassKit object. [Length: 60em] [iOS only]">
        Sorry, your Pass cannot be installed to Passbook at this time.
      </message>
      <message name="IDS_IOS_GOOGLE_APPS_INSTALL_BUTTON" desc="Title for the Google Apps section in the Google Apps specific settings. This should match Apple's translation of the INSTALL button in the App Store [Length: 15em] [iOS only]">
        INSTALL
      </message>
      <message name="IDS_IOS_GOOGLE_APPS_INSTALL_BUTTON_ACCESSIBILITY_HINT" desc="Hint for the install button in the Google Apps section of the Google Apps specific settings. This is spoken by VoiceOver. [iOS only]">
        Double tap to install.
      </message>
      <message name="IDS_IOS_GOOGLE_APPS_SM_SECTION_HEADER" desc="Header for the Google apps section in the Google apps specific settings. [Length: 150em] [iOS only]">
        Open links in the app instead of the browser.
      </message>
      <message name="IDS_IOS_GOOGLE_APPS_SM_SETTINGS" desc="Title for the view in Settings for managing Google apps specific settings. Translate 'Google Apps'. [Length: 15em] [iOS only]">
        Google Apps
      </message>
      <message name="IDS_IOS_GOOGLE_SERVICES_SETTINGS_AUTOCOMPLETE_SEARCHES_AND_URLS_DETAIL" desc="Feature detail text in the settings for the user to enable/disable, to have autocomplete searches and URLs. Text related to 'Autocomplete Searches and URLs' [iOS only]">
        Sends searches from the address bar and search box, and some cookies to your default search engine
      </message>
      <message name="IDS_IOS_GOOGLE_SERVICES_SETTINGS_AUTOCOMPLETE_SEARCHES_AND_URLS_TEXT" desc="Feature title in the settings for the user to enable/disable, to have autocomplete searches and URLs. Text related to 'Sends searches from the address bar and search box, and some cookies to your default search engine' [iOS only]">
        Autocomplete Searches and URLs
      </message>
      <message name="IDS_IOS_GOOGLE_SERVICES_SETTINGS_AUTOFILL_TEXT" desc="Feature in the settings for the user to enable/disable, to sync autofill data between devices. [iOS only]">
        Autofill
      </message>
      <message name="IDS_IOS_GOOGLE_SERVICES_SETTINGS_BETTER_SEARCH_AND_BROWSING_DETAIL" desc="Detail text for a feature in the settings for the user to enable/disable, to make searches andn browsing better. Related to 'Make searches and browsing better'. [iOS only]">
        Sends URLs of pages you visit to Google
      </message>
      <message name="IDS_IOS_GOOGLE_SERVICES_SETTINGS_BETTER_SEARCH_AND_BROWSING_TEXT" desc="Title for a feature in the settings for the user to enable/disable, to make searches andn browsing better. Related to 'Sends URLs of pages you visit to Google'. [iOS only]">
        Make searches and browsing better
      </message>
      <message name="IDS_IOS_GOOGLE_SERVICES_SETTINGS_BOOKMARKS_TEXT" desc="Feature in the settings for the user to enable/disable, to sync Bookmarks between devices. [iOS only]">
        Bookmarks
      </message>
      <message name="IDS_IOS_GOOGLE_SERVICES_SETTINGS_ENCRYPTION_TEXT" desc="Opens the encryption settings screen. [iOS only]">
        Encryption
      </message>
      <message name="IDS_IOS_GOOGLE_SERVICES_SETTINGS_GOOGLE_ACTIVITY_CONTROL_DETAIL" desc="Detail text to open the Google activity screen. Related to 'Google activity controls'. [iOS only]">
        Control how your browsing history is used to personalize Search, ads, and more
      </message>
      <message name="IDS_IOS_GOOGLE_SERVICES_SETTINGS_GOOGLE_ACTIVITY_CONTROL_TEXT" desc="Title to open the Google activity screen. Related to 'Control how your browsing history is used to personalize Search, ads, and more'. [iOS only]">
        Google activity controls
      </message>
      <message name="IDS_IOS_GOOGLE_SERVICES_SETTINGS_HISTORY_TEXT" desc="Feature in the settings for the user to enable/disable, to sync browsing history between devices. [iOS only]">
        History
      </message>
      <message name="IDS_IOS_GOOGLE_SERVICES_SETTINGS_IMPROVE_CHROME_DETAIL" desc="Feature detail text in the settings for the user enable or disable. Related with 'Help improve Chrome's features and performance' feature. [iOS only]">
        Automatically sends usage statistics and crash reports to Google
      </message>
      <message name="IDS_IOS_GOOGLE_SERVICES_SETTINGS_MANAGED_SYNC_DATA_TEXT" desc="Opens the sync data screen for the user to manage their synced data. [iOS only]">
        Manage Synced Data…
      </message>
      <message name="IDS_IOS_GOOGLE_SERVICES_SETTINGS_OPENTABS_TEXT" desc="Feature in the settings for the user to enable/disable, to sync passwords between devices. [iOS only]">
        Open tabs
      </message>
      <message name="IDS_IOS_GOOGLE_SERVICES_SETTINGS_PASSWORD_TEXT" desc="Feature in the settings for the user to enable/disable, to sync passwords between devices. [iOS only]">
        Passwords
      </message>
      <message name="IDS_IOS_GOOGLE_SERVICES_SETTINGS_PRELOAD_PAGES_DETAIL" desc="Detail text for a feature in the settings for the user to enable/disable, to preload pages. Related to 'Preload pages for faster browsing and searching'. [iOS only]">
        Uses cookies to remember your preferences, even if you don't visit those pages
      </message>
      <message name="IDS_IOS_GOOGLE_SERVICES_SETTINGS_PRELOAD_PAGES_TEXT" desc="Title for a feature in the settings for the user to enable/disable, to preload pages. Related to 'Uses cookies to remember your preferences, even if you don't visit those pages'. [iOS only]">
        Preload pages for faster browsing and searching
      </message>
      <message name="IDS_IOS_GOOGLE_SERVICES_SETTINGS_READING_LIST_TEXT" desc="Feature in the settings for the user to enable/disable, to sync reading list links between devices. [iOS only]">
        Reading List
      </message>
      <message name="IDS_IOS_GOOGLE_SERVICES_SETTINGS_AUTOCOMPLETE_WALLET" desc="Label for the checkbox that controls the Autofill/Payments integration feature. 'Google Pay' should not be translated as it is the product name. [iOS only]">
        Payment methods and addresses using Google Pay
      </message>
      <message name="IDS_IOS_GOOGLE_SERVICES_SETTINGS_SETTINGS_TEXT" desc="Feature in the settings for the user to enable/disable, to sync settings data between devices. [iOS only]">
        Settings
      </message>
      <message name="IDS_IOS_GOOGLE_SERVICES_SETTINGS_SYNC_EVERYTHING" desc="Feature in the settings for the user enable or disable all the Google sync features. [iOS only]">
        Use sync and all services
      </message>
      <message name="IDS_IOS_GOOGLE_SERVICES_SETTINGS_SYNC_PERSONALIZATION_DETAIL" desc="Section detail text for the list of all the personalized features to enable/disable in the settings. Related to 'Sync and Personalization'. [iOS only]">
        Your browsing data and activity, synced to your Google Account
      </message>
      <message name="IDS_IOS_GOOGLE_SERVICES_SETTINGS_SYNC_PERSONALIZATION_TEXT" desc="Section title for the list of all the personalized features to enable/disable in the settings. Related to 'Your browsing data and activity, synced to your Google Account'. [iOS only]">
        Sync and Personalization
      </message>
      <message name="IDS_IOS_GOOGLE_SERVICES_SETTINGS_NON_PERSONALIZED_SERVICES_TEXT" desc="Section title for the list of all the non-personalized features to enable/disable in the settings. Related to 'Communicates with Google to improve browsing and Chrome'. [iOS only]">
        Other Google Services
      </message>
      <message name="IDS_IOS_GOOGLE_SERVICES_SETTINGS_TITLE" desc="Title for the view in the Settings for enabling/disabling Sync and all the Google services. [Length: 26em] [iOS only]">
        Sync and Google Services
      </message>
      <message name="IDS_IOS_HISTORY_OTHER_FORMS_OF_HISTORY" desc="The notification at the top of the history page indicating that deleting Chrome browsing history will not delete other forms of history stored at Google My Activity.">
        Your Google Account may have other forms of browsing history at <ph name="BEGIN_LINK">BEGIN_LINK</ph>history.google.com<ph name="END_LINK">END_LINK</ph>.
      </message>
      <message name="IDS_IOS_HTTP_LOGIN_DIALOG_PASSWORD_PLACEHOLDER" desc="The placeholder text for the password on the http login dialog [Length: 20em] [iOS only]">
        Password
      </message>
      <message name="IDS_IOS_HTTP_LOGIN_DIALOG_USERNAME_PLACEHOLDER" desc="The placeholder text for the username on the http login dialog [Length: 20em] [iOS only]">
        Username
      </message>
      <message name="IDS_IOS_ICON_ARROW_BACK" desc="Accessibility label for the back arrow icon [iOS only].">
        Back
      </message>
      <message name="IDS_IOS_ICON_CLOSE" desc="Accessibility label for the close icon [iOS only].">
        Close
      </message>
      <message name="IDS_IOS_ICON_INFO" desc="Accessibility label for the info icon [iOS only].">
        Info
      </message>
      <message name="IDS_IOS_ICON_SEARCH" desc="Accessibility label for the search icon [iOS only].">
        Search
      </message>
      <message name="IDS_IOS_INSPECT_UI_CONSOLE_NOTICE" desc="The message at the top of the debugging page which displays JavaScript console logs [iOS only].">
        Tap the "Start Logging" button to collect future JavaScript console logs and errors from all tabs. Logs will be collected (and stored only in memory) until this page is closed or "Stop Logging" is tapped.
      </message>
      <message name="IDS_IOS_INTENTS_SEARCH_IN_CHROME_DESCRIPTION" desc="Siri Shortcut for search in chrome description [iOS only].">
        Start a search in a new Chrome tab.
      </message>
      <message name="IDS_IOS_INTENTS_SEARCH_IN_CHROME_INVOCATION_PHRASE" desc="Siri Shortcut, spoken suggestion for search in chrome [iOS only].">
        Search in Chrome
      </message>
      <message name="IDS_IOS_INTENTS_SEARCH_IN_CHROME_TITLE" desc="Siri Shortcut for search in chrome title [iOS only].">
        Search in Chrome
      </message>
      <message name="IDS_IOS_JAVA_SCRIPT_DIALOG_BLOCKING_BUTTON_TEXT" desc="The text used for the button added to JavaScript dialogs to prevent a page from spamming the user with endless alerts. [Length:27em]">
        Suppress Dialogs
      </message>
      <message name="IDS_IOS_KEYBOARD_ACCESSORY_VIEW_QR_CODE_SEARCH" desc="Accessibility label for a button that starts scanning QR Codes [iOS only].">
        QR code Search
      </message>
      <message name="IDS_IOS_KEYBOARD_ACCESSORY_VIEW_VOICE_SEARCH" desc="Accessibility label for a button that starts a Voice Search [iOS only]">
        Voice Search
      </message>
      <message name="IDS_IOS_KEYBOARD_BOOKMARK_THIS_PAGE" desc="In Title Case: Title of the keyboard shortcut that bookmarks the current page. [Length: 20 em] [iOS only]">
        Bookmark This Page...
      </message>
      <message name="IDS_IOS_KEYBOARD_HISTORY_BACK" desc="Title of the keyboard shortcut to go back in the history menu. [Length: 20 em] [iOS only]">
        Back
      </message>
      <message name="IDS_IOS_KEYBOARD_HISTORY_FORWARD" desc="Title of the keyboard shortcut to go forward in the history menu. [Length: 20 em] [iOS only]">
        Forward
      </message>
      <message name="IDS_IOS_KEYBOARD_OPEN_LOCATION" desc="Title of the keyboard shortcut to open a location (puts cursor in the URL bar). [Length: 20 em] [iOS only]">
        Open Location...
      </message>
      <message name="IDS_IOS_KEYBOARD_REOPEN_CLOSED_TAB" desc="Title of the keyboard shortcut to reopen a recently closed tab. [Length: 20 em] [iOS only]">
        Reopen Closed Tab
      </message>
      <message name="IDS_IOS_LONG_PRESS_TOOLBAR_IPH_PROMOTION_TEXT" desc="Text for the LongPress Toolbar Tip in-product help promotion, explaining that the user can long press on the toolbar's button to display more options. [iOS only]">
        Press and hold for more tab options
      </message>
      <message name="IDS_IOS_MANAGED_DISCONNECT_DIALOG_ACCEPT" desc="Label on the button to proceed with signout and clear all Chrome data.[Length: 30em].">
        Accept and sign out
      </message>
      <message name="IDS_IOS_MANAGED_DISCONNECT_DIALOG_ACCEPT_UNITY" desc="Label on the button to proceed with signout and clear all Chrome data.[Length: 30em].">
        Clear
      </message>
      <message name="IDS_IOS_MANAGED_DISCONNECT_DIALOG_TITLE" desc="Title of the dialog shown when signing out of a managed account.[Length: 50em] [iOS only].">
        Sign out of managed account
      </message>
      <message name="IDS_IOS_MANAGED_SIGNIN_ACCEPT_BUTTON" desc="The title of the Accept button of the Sign in to a managed account dialog. [40em]">
        Accept and sign in
      </message>
      <message name="IDS_IOS_MANAGED_SIGNIN_TITLE" desc="The title of the Sign in to a managed account dialog. [40em]">
        Sign in with managed account
      </message>
      <message name="IDS_IOS_MANAGED_SWITCH_ACCEPT_BUTTON" desc="The title of the Accept button of the Switch from a managed account dialog. [40em]">
        Accept and switch accounts
      </message>
      <message name="IDS_IOS_MANAGED_SWITCH_TITLE" desc="The title of the Switch from a managed account dialog. [40em]">
        Sign out of managed account
      </message>
      <message name="IDS_IOS_MANUAL_FALLBACK_MANAGE_PASSWORDS" desc="The title for the button in the manual fallback UI that takes the user to the passwords settings. In this screen they see all the passwords and can erase them. Note it is different from IDS_IOS_MANUAL_FALLBACK_USE_OTHER_PASSWORD_WITH_DOTS [30em]">
        Manage Passwords...
      </message>
      <message name="IDS_IOS_MANUAL_FALLBACK_NO_USERNAME" desc="The title for disabled buttons on the manual fallback passwords UI when a credential doesn't contains a username. [30em]">
        No Username
      </message>
      <message name="IDS_IOS_MANUAL_FALLBACK_NO_PASSWORDS_FOR_SITE" desc="The title for disabled buttons when a list of credentials for manual fallback is empty. [30em]">
        No passwords for this site found
      </message>
      <message name="IDS_IOS_MANUAL_FALLBACK_NOT_SECURE_OK_BUTTON" desc="The title of the OK button of the 'Not Secure' alert in manual fallback." meaning="The user will dismiss the alert [20em]">
        OK
      </message>
      <message name="IDS_IOS_MANUAL_FALLBACK_NOT_SECURE_TITLE" desc="The title of the alert informing a user the content they selected won't be filled on the form." meaning="The form is not secure [20em]">
        Not secure
      </message>
      <message name="IDS_IOS_MANUAL_FALLBACK_NOT_SECURE_PASSWORD_BODY" desc="The body of the alert informing a user the password they selected won't be filled on the form." meaning="The field the user is trying to fill is not of password type  [80em]">
        To protect your privacy, Chrome will not autofill your password in this field.
      </message>
      <message name="IDS_IOS_MANUAL_FALLBACK_NOT_SECURE_GENERIC_BODY" desc="The body of the alert informing a user the content they selected won't be filled on the form." meaning="The form is not secure [80em]">
        To protect your privacy, Chrome will not autofill this field.
      </message>
      <message name="IDS_IOS_MANUAL_FALLBACK_USE_OTHER_PASSWORD" desc="The title for the manual fallback UI with all passwords without filter." meaning="The title for a list where the user is about to select a password or username to be filled in a form [Length: 10em]">
        Passwords
      </message>
      <message name="IDS_IOS_MANUAL_FALLBACK_USE_OTHER_PASSWORD_WITH_DOTS" desc="The title for the button in the manual fallback passwords UI that is used to open a list of all the user credentials where they can select one to fill a form. This button is showed at the same time as a different button with  IDS_IOS_MANUAL_FALLBACK_MANAGE_PASSWORDS as title. [30em]">
        Use Other Password...
      </message>
      <message name="IDS_IOS_MANUAL_FALLBACK_MANAGE_CREDIT_CARDS" desc="The title for the button in the manual fallback UI that takes the user to the payments settings. In this screen they see all the credit cards and can erase them. [30em]">
        Manage Payment Methods...
      </message>
      <message name="IDS_IOS_MANUAL_FALLBACK_MANAGE_ADDRESSES" desc="The title for the button in the manual fallback UI that takes the user to the addresses settings. In this screen they see all the addresses and can erase them. [30em]">
        Manage Addresses...
      </message>
      <message name="IDS_IOS_MANUAL_FALLBACK_SHOW_ADDRESSES" desc="Label for the addresses icon in manual fallback. Read by Text To Speech" meaning="Voice Over will read this to the user followed by 'Button' when this button is focused.">
        Addresses
      </message>
      <message name="IDS_IOS_MANUAL_FALLBACK_SHOW_CREDIT_CARDS" desc="Label for the credit cards icon in manual fallback. Read by Text To Speech" meaning="Voice Over will read this to the user followed by 'Button' when this button is focused.">
        Credit Cards
      </message>
      <message name="IDS_IOS_MANUAL_FALLBACK_SHOW_KEYBOARD" desc="Label for the keyboard icon in manual fallback. Read by Text To Speech" meaning="Voice Over will read this to the user followed by 'Button' when this button is focused.">
        Keyboard
      </message>
      <message name="IDS_IOS_MANUAL_FALLBACK_SHOW_PASSWORDS" desc="Label for the password icon in manual fallback. Read by Text To Speech" meaning="Voice Over will read this to the user followed by 'Button' when this button is focused.">
        Passwords
      </message>
      <message name="IDS_IOS_MICROPHONE_USAGE_DESCRIPTION" desc="Specifies the reason for accessing the user's microphone while the app is in use [Length: unlimited] [iOS only].">
        This lets you search faster using your voice.
      </message>
      <message name="IDS_IOS_NAVIGATION_BAR_CANCEL_BUTTON" desc="Label of the cancel button displayed on the navigation bar  [Length: 7em] [iOS only].">
        Cancel
      </message>
      <message name="IDS_IOS_NAVIGATION_BAR_DONE_BUTTON" desc="Label of the done button displayed on the navigation bar  [Length: 7em] [iOS only].">
        Done
      </message>
      <message name="IDS_IOS_NAVIGATION_BAR_EDIT_BUTTON" desc="Label of the edit button displayed on the navigation bar  [Length: 7em] [iOS only].">
        Edit
      </message>
      <message name="IDS_IOS_NET_EXPORT_NO_EMAIL_ACCOUNTS_ALERT_MESSAGE" desc="The message of the alert informing a user with no email accounts that they need to configure an email account to send net-export data. [Length: 70em]">
        To send net-export data, please configure your email account in the Settings app.
      </message>
      <message name="IDS_IOS_NET_EXPORT_NO_EMAIL_ACCOUNTS_ALERT_TITLE" desc="The title of the alert informing a user with no email accounts that they need to configure an email account to send net-export data. [Length: 20em]">
        No Email Accounts
      </message>
      <message name="IDS_IOS_NEW_INCOGNITO_TAB_IPH_PROMOTION_TEXT" desc="Text for the New Incognito Tab Tip in-product help promotion, explaining that incognito tabs can be used to browse privately. [iOS only]" meaning="The user has never created an incognito tab before. A bubble is displayed pointing to the tools menu button and informing users about how to use incognito mode.">
        To browse privately, open an incognito tab
      </message>
      <message name="IDS_IOS_NEW_TAB_IPH_PROMOTION_TEXT" desc="Text for the New Tab Tip in-product help promotion, explaining that new tabs can be added and switched between. [iOS only]" meaning="The user has never created a new tab, and a bubble is displayed pointing to the tab switcher to inform users how to create tabs and switch between them.">
        Add tabs and switch between pages
      </message>
      <message name="IDS_IOS_NEW_TAB_LEARN_MORE_ABOUT_SUGGESTED_CONTENT" desc="Text in the footer of the New Tab Page. Part of the text is a link to a help center page where the user can learn more about suggested content.">
        <ph name="BEGIN_LINK">BEGIN_LINK</ph>Learn more<ph name="END_LINK">END_LINK</ph> about suggested content
      </message>
      <message name="IDS_IOS_NEW_TAB_LOGO_ACCESSIBILITY_LABEL" desc="Label of the Google logo shown on the New Tab Page to signal that the current search engine is Google. Read by Text To Speech">
        Searching with Google
      </message>
      <message name="IDS_IOS_NEW_TAB_MOST_VISITED" desc="Title for the Most Visited panel of the new tab page. [Length: 10em] [iOS only]">
        Most Visited
      </message>
      <message name="IDS_IOS_NEW_TAB_MOST_VISITED_ITEM_REMOVED" desc="Text shown when the user removes one of the most visited websites on the new tab page.">
        Item removed
      </message>
      <message name="IDS_IOS_NEW_TAB_RECENT_TABS" desc="The header of the panel containing the list of recently closed tabs and the tabs synced from other devices.[Length: 17em]">
        Recent Tabs
      </message>
      <message name="IDS_IOS_OPEN_IN" desc="Label of the button that lets users open a document in another application. [Length: 15em] [iOS only]">
        Open in...
      </message>
      <message name="IDS_IOS_OPEN_IN_ANOTHER_APP" desc="Alert to let the user know that user about to open this page on another application. [Length: 60em] [iOS only]">
        This page will open in another application.
      </message>
      <message name="IDS_IOS_OPEN_IN_FILE_DEFAULT_TITLE" desc="Default title for a file that will be opened in another application. [Length: 30em] [iOS only]">
        Document
      </message>
      <message name="IDS_IOS_OPEN_IN_FILE_DOWNLOAD_CANCEL" desc="Message shown on top of an overlayed view while a file is being downloaded to indicate that tapping on the overlayed view will cancel the download. [Length: 40em] [iOS only]">
        Tap to cancel.
      </message>
      <message name="IDS_IOS_OPEN_IN_FILE_DOWNLOAD_FAILED" desc="The message of the alert informing a user that the download of the file to be opened in another application failed. [Length: 60em] [iOS only]">
        The file could not be downloaded at this time.
      </message>
      <message name="IDS_IOS_OPEN_IN_NO_APPS_REGISTERED" desc="The message of the alert informing the user that there are no applications registered for the specified file type. [Length: 60em] [iOS only]">
        There are no applications installed that can open this file.
      </message>
      <message name="IDS_IOS_OPEN_SOURCE_LICENSES" desc="The label to access the open source licenses, displayed in the application settings [Length: 30em] [iOS only]">
        Open Source Licenses
      </message>
      <message name="IDS_IOS_OPEN_TABS_ENABLE_SYNC_MOBILE" desc="Button label to enable Sync for user. [Length: 30em]">
        Enable sync
      </message>
      <message name="IDS_IOS_RECENT_TABS_SYNC_IN_PROGRESS" desc="Section header subtitle label while loading tabs in other devices. [Length: 30em] [iOS only]">
        Syncing...
      </message>
      <message name="IDS_IOS_OMNIBOX_POPUP_APPEND" desc="Label for the accessibility action for the address and search bar autocomplete suggestion. It replaces the text in the search bar by the suggestion. [Read by Text-to-Speech]">
        Select text
      </message>
      <message name="IDS_IOS_OMNIBOX_POPUP_SWITCH_TO_OPEN_TAB" desc="Label for the accessibility action for the address and search bar autocomplete suggestion. Using this will switch to the already opened tab corresponding to the suggestion. [Read by Text-to-Speech]">
        Switch to existing tab
      </message>
      <message name="IDS_IOS_OPEN_TABS_LAST_USED" desc="Last used timestamp label [Length: 20em] [iOS only]">
        Last synced: <ph name="LAST_USED_TIME">$1<ex>3 mins ago</ex></ph>
      </message>
      <message name="IDS_IOS_OPEN_TABS_RECENTLY_SYNCED" desc="Relative time display for small time deltas, anything less than a minute [Length: 10em] [iOS only]">
        Seconds ago
      </message>
      <message name="IDS_IOS_OPEN_TABS_SYNCED_YESTERDAY" desc="Relative time display for time deltas that cover yesterday [Length: 10em] [iOS only]">
        Yesterday
      </message>
      <message name="IDS_IOS_OPTIONS_ACCOUNTS_ADD_ACCOUNT_BUTTON" desc="The title of the Add account button on the accounts settings screen [iOS only] [30em]">
        Add Account…
      </message>
      <message name="IDS_IOS_OPTIONS_ACCOUNTS_DESCRIPTION" desc="Text informing the user of the accounts they are signed in to Chrome with [iOS only] [150em]">
        Signed In to Google as
      </message>
      <message name="IDS_IOS_OPTIONS_ACCOUNTS_GOOGLE_DESCRIPTION" desc="Text of the Google Activity Controls button on the accounts settings screen [Length: 150em]">
        Control how Google uses your browsing history to personalize Search, ads, and other Google services
      </message>
      <message name="IDS_IOS_OPTIONS_ACCOUNTS_GOOGLE_TITLE" desc="Title of the Google Activity Controls button on the accounts settings screen [Length: 50em]">
        Google Activity Controls
      </message>
      <message name="IDS_IOS_OPTIONS_ACCOUNTS_SYNC_ERROR" desc="Text informing the user that sync isn't working properly [iOS only] [60em]">
        Sync isn't working. Tap to fix.
      </message>
      <message name="IDS_IOS_OPTIONS_ACCOUNTS_SYNC_IS_OFF" desc="Text informing the user that sync is off [iOS only] [60em]">
        Off
      </message>
      <message name="IDS_IOS_OPTIONS_ACCOUNTS_SYNC_TITLE" desc="Title of the Sync button on the accounts settings screen [iOS only] [30em]">
        Sync
      </message>
      <message name="IDS_IOS_OPTIONS_ACCOUNTS_SIGN_OUT_TURN_OFF_SYNC" desc="Title of the button to sign out and turn off sync. [iOS only]">
        Sign out and turn off sync
      </message>
      <message name="IDS_IOS_OPTIONS_ADVANCED_TAB_LABEL" desc="The title of the Advanced section of the Settings page.  [Length: 20em] [iOS only]">
        Advanced
      </message>
      <message name="IDS_IOS_OPTIONS_CONTINUITY_LABEL" desc="Title for group of items in the Privacy settings table, including Handoff. [Length: 10em] [iOS only]">
        Other Devices
      </message>
      <message name="IDS_IOS_OPTIONS_DATA_USAGE_ALWAYS" desc="Title for the option to always send usage data and/or preload webpages. [Length: 20em] [iOS only]">
        Always
      </message>
      <message name="IDS_IOS_OPTIONS_DATA_USAGE_NEVER" desc="Title for the option to never send usage data and/or preload webpages. [Length: 20em] [iOS only]">
        Never
      </message>
      <message name="IDS_IOS_OPTIONS_DATA_USAGE_ONLY_WIFI" desc="Title for the option to only send usage data and/or preload webpages when on wifi. [Length: 20em] [iOS only]">
        Only on Wi-Fi
      </message>
      <message name="IDS_IOS_OPTIONS_ENABLE_HANDOFF_TO_OTHER_DEVICES" desc="Title for the option to enable Handoff. [Length: 20em] [iOS only]">
        Handoff
      </message>
      <message name="IDS_IOS_OPTIONS_ENABLE_HANDOFF_TO_OTHER_DEVICES_DETAILS" desc="The detailed description of an option that allows Handoff to other devices. [iOS only]">
        Handoff lets you start browsing a website on this device and then easily continue on your Mac. The current open website will appear in the Dock of your Mac.

Handoff must also be enabled in the General section of Settings, and your devices must use the same iCloud account.
      </message>
      <message name="IDS_IOS_OPTIONS_GENERAL_TAB_LABEL" desc="The title of the Basics section of the Settings page. [iOS only]" meaning="The title of the Basics section of the Settings page.">
        Basics
      </message>
      <message name="IDS_IOS_OPTIONS_IMPORT_DATA_CONTINUE_BUTTON" desc="The title of Continue button in the Import Data settings screen [30em]">
        Continue
      </message>
      <message name="IDS_IOS_OPTIONS_IMPORT_DATA_HEADER" desc="The header for the Import Data settings screen. [400em]">
        You have bookmarks, history, passwords, and other settings from <ph name="USER_EMAIL1">$1<ex>johndoe@gmail.com</ex></ph>.
      </message>
      <message name="IDS_IOS_OPTIONS_IMPORT_DATA_IMPORT_SUBTITLE" desc="The subtitle of the Import Data option on the Import Data settings screen. [400em]">
        Add existing data to <ph name="USER_EMAIL">$1<ex>john@doe.com</ex></ph>.
      </message>
      <message name="IDS_IOS_OPTIONS_IMPORT_DATA_IMPORT_TITLE" desc="The title of the Import Data option on the Import Data settings screen. [60em]">
        Combine my data
      </message>
      <message name="IDS_IOS_OPTIONS_IMPORT_DATA_KEEP_SUBTITLE_SIGNIN" desc="The subtitle of the Keep Data Separate option on the Import Data settings screen when signing in. [400em]">
        Delete existing data.
      </message>
      <message name="IDS_IOS_OPTIONS_IMPORT_DATA_KEEP_SUBTITLE_SWITCH" desc="The subtitle of the Keep Data separate option on the Import Data settings screen when switching accounts. [400em]">
        Delete existing data. You can retrieve it by switching back to <ph name="USER_EMAIL1">$1<ex>john@doe.com</ex></ph>.
      </message>
      <message name="IDS_IOS_OPTIONS_IMPORT_DATA_KEEP_TITLE" desc="The title of the Keep Data Separate option on the Import Data settings screen. [60em]">
        Keep my data separate
      </message>
      <message name="IDS_IOS_OPTIONS_IMPORT_DATA_TITLE_SWITCH" desc="The title of the Import Data settings screen when switching accounts. [30em]">
        Switch Sync Account
      </message>
      <message name="IDS_IOS_OPTIONS_PRELOAD_WEBPAGES" desc="Title for opening the setting for if/when to preload webpages. [Length: 20em] [iOS only]">
        Preload Webpages
      </message>
      <message name="IDS_IOS_OPTIONS_REPORT_AN_ISSUE" desc="Title for the option on Settings page to report an issue. [Length: 20em] [iOS only]">
        Report an Issue
      </message>
      <message name="IDS_IOS_OPTIONS_SEARCH_URL_SUGGESTIONS" desc="Title for the option to turn on/off search and URL suggestions. [Length: 18em] [iOS only]">
        Search and Site Suggestions
      </message>
      <message name="IDS_IOS_OPTIONS_SEND_USAGE_DATA" desc="Title for opening the setting for if/when to send usage data and crash reports. [Length: 20em] [iOS only]">
        Send Usage Data
      </message>
      <message name="IDS_IOS_OPTIONS_WEB_SERVICES_LABEL" desc="Title for group of web services items in Privacy settings table, including Show Suggestions, Preload Webpages, and Send Usage Data. [Length: 10em] [iOS only]">
        Web Services
      </message>
      <message name="IDS_IOS_OVERSCROLL_NEW_TAB_LABEL" desc="The text to use for the tooltip for the overscroll new tab action. [Length: 20em] [iOS only]">
        New Tab
      </message>
      <message name="IDS_IOS_OVERSCROLL_CLOSE_TAB_LABEL" desc="The text to use for the tooltip for the overscroll close tab action. [Length: 20em] [iOS only]">
        Close Tab
      </message>
      <message name="IDS_IOS_OVERSCROLL_RELOAD_LABEL" desc="The text to use for the tooltip for the overscroll reload action. [Length: 20em] [iOS only]">
        Reload
      </message>
      <message name="IDS_IOS_PAGE_INFO_OFFLINE_PAGE" desc="Message to display in the page info bubble when the page you are on is an offline page.">
        This page has been saved to your Reading List.
      </message>
      <message name="IDS_IOS_PAGE_INFO_OFFLINE_TITLE" desc="Title of the message to display in the page info bubble when the page you are on is an offline page.">
        Viewing Offline Version
      </message>
      <message name="IDS_IOS_PAGE_INFO_RELOAD" desc="Button title in the page info bubble that allows to reload the current page.">
        Reload
      </message>
      <message name="IDS_IOS_PAGE_INFO_SECURITY_BUTTON_ACCESSIBILITY_LABEL" desc="The accessibility text for the page security info button">
        Page Security Info
      </message>
      <message name="IDS_IOS_PAGE_LOADED_ACCESSIBILITY_ANNOUNCEMENT" desc="The accessibility announcement when a page has loaded. [Length: unlimited] [iOS only]">
        Webpage loaded
      </message>
      <message name="IDS_IOS_PASSWORD_MANAGER_BLACKLIST_BUTTON" desc="Button text for the 'Save Password' infobar's 'Never remember for this site' option [Length: 10em]">
        Never
      </message>
      <message name="IDS_IOS_PASSWORD_MANAGER_SAVE_BUTTON" desc="Save button text for password manager [Length: 10em]">
        Save
      </message>
      <message name="IDS_IOS_PASSWORD_MANAGER_SAVE_PASSWORD_PROMPT" desc="Info bar message to save a password. [Length: 60em]">
        Save password?
      </message>
      <message name="IDS_IOS_PASSWORD_MANAGER_UPDATE_BUTTON" desc="Label for the 'update' button in the Update Password infobar. This infobar asks if the user wishes to update the saved password for a site to a new password the user has just entered; the button applies the suggested update. [Length: 10em]">
        Update
      </message>
      <message name="IDS_IOS_PASSWORD_MANAGER_UPDATE_PASSWORD" desc="Infobar message to update a password without associated credential [Length: 70em].">
        Update password?
      </message>
      <message name="IDS_IOS_PASSWORD_MANAGER_UPDATE_PASSWORD_FOR_ACCOUNT" desc="Infobar message to update a password for named account. [Length:70em]">
        Update password for <ph name="USERNAME">$1<ex>don.john.lemon@example.com</ex></ph>?
      </message>
      <message name="IDS_SAVE_PASSWORD_FOOTER" desc="The footer text of the infobar that offers user to save/update a password to Chrome.">
        Passwords are saved in your Google Account so you can use them on any device.
      </message>
      <message name="IDS_IOS_PHOTO_LIBRARY_USAGE_DESCRIPTION" desc="Specifies the reason for accessing the user's photo library while the app is in use [Length: unlimited] [iOS only].">
        This lets you save and upload photos.
      </message>
      <message name="IDS_IOS_PHOTO_LIBRARY_ADD_USAGE_DESCRIPTION" desc="Specifies the reason for writing to the user's photo library while the app is in use [Length: unlimited] [iOS only].">
        This lets you save photos to your photo library.
      </message>
      <message name="IDS_IOS_PLACEHOLDER_FIND_IN_PAGE" desc="The iOS placeholder for searching in the current page [Length: 30em] [iOS only]">
        Find in page...
      </message>
      <message name="IDS_IOS_POPUPS_ALLOWED" desc="Label for the list of sites that the user has allowed to show pop-ups. [Length: 20em] [iOS only]">
        Pop-ups Allowed
      </message>
      <message name="IDS_IOS_POPUPS_ALWAYS_SHOW_MOBILE" desc="Label of the button in the block popups infobar that let the user allowing the popups for the current site.">
        Always show
      </message>
      <message name="IDS_IOS_POPUPS_BLOCKED_MOBILE" desc="Message shown in the infobar when a popup is blocked [length: 20em]">
        Pop-ups blocked (<ph name="NUMBER_OF_BLOCKED_POPUPS">$1<ex>1</ex></ph>)
      </message>
      <message name="IDS_IOS_PRINT_PDF_ERROR_SUBTITLE" desc="Message of a popup window indicating that the printing operation did not succeed. [Length: 100em] [iOS only]">
        Make sure you have a network connection, and try again.
      </message>
      <message name="IDS_IOS_PRINT_PDF_ERROR_TITLE" desc="Title of a popup window indicating that the printing operation did not succeed. [Length: Prefer 13em or less to avoid line wrapping. Max Length: 26em.] [iOS only]">
        Printing failed.
      </message>
      <message name="IDS_IOS_PRINT_PDF_PREPARATION" desc="Title of a popup window indicating that a PDF file is being prepared to be printed. [Length: 13em] [iOS only]">
        Preparing PDF
      </message>
      <message name="IDS_IOS_PRINT_PDF_TRY_AGAIN" desc="Label of the button letting the user try to download a PDF again, after a failure. [iOS only]">
        Try again
      </message>
      <message name="IDS_IOS_PRIVACY_POLICY" desc="The label to access the privacy policy, displayed in the application settings, with no product name. [Length: 30em] [iOS only]">
        Privacy Notice
      </message>
      <message name="IDS_IOS_PRIVACY_POLICY_URL" translateable="false">
        http://www.google.com/intl/[GRITLANGCODE]/chrome/browser/privacy/
      </message>
      <message name="IDS_IOS_PROGRESS_BAR_ACCESSIBILITY" desc="Text read by voice over to inform the user about the progress of the page load. [Read by Text To Speech].">
        Page load progress bar, <ph name="EMAIL">$1<ex>20%</ex></ph> loaded.
      </message>
      <message name="IDS_IOS_QR_SCANNER_ALERT_CANCEL" desc="Title for a button to cancel a QR Scanner error dialog. The dialog will be dismissed and no action will be taken. [Length: 20em] [iOS only]" meaning="A button to cancel a QR Scanner error dialog.">
        Cancel
      </message>
      <message name="IDS_IOS_QR_SCANNER_CAMERA_IN_USE_ALERT_TITLE" desc="Title of a modal dialog shown when the user tries to open the QR scanner but the camera is in use by another application. [Length: 40em] [iOS only]">
        Camera is in use
      </message>
      <message name="IDS_IOS_QR_SCANNER_CAMERA_PERMISSIONS_HELP_DETAIL_GO_TO_SETTINGS" desc="Body of modal dialog shown when the user tries to open the QR scanner but the application lacks permission to use the camera. This body tells the users they'll be redirected to the Settings app. [Length: 140em] [iOS only]">
        To scan a QR code, enable the camera from settings
      </message>
      <message name="IDS_IOS_QR_SCANNER_CAMERA_PERMISSIONS_HELP_GO_TO_SETTINGS" desc="Title for a button to go to System settings app. [Length: 20em] [iOS only]">
        Settings
      </message>
      <message name="IDS_IOS_QR_SCANNER_CAMERA_UNAVAILABLE_ALERT_TITLE" desc="Title of a modal dialog shown when the user tries to open the QR scanner but the camera is unavailable. [Length: 40em] [iOS only]">
        Camera is unavailable
      </message>
      <message name="IDS_IOS_QR_SCANNER_CODE_SCANNED_ACCESSIBILITY_ANNOUNCEMENT" desc="The accessibility announcement read by Voice Over when the user scans a QR or bar code. [Length: unlimited] [iOS only]">
        Code scanned
      </message>
      <message name="IDS_IOS_QR_SCANNER_MULTIPLE_FOREGROUND_APPS_ALERT_TITLE" desc="Title of a modal dialog shown when the user tries to open the QR scanner in a Split View mode. [Length: 40em] [iOS only]" meaning="Title of a Split View error dialog in QR Scanner.">
        Split View
      </message>
      <message name="IDS_IOS_QR_SCANNER_TORCH_BUTTON_ACCESSIBILITY_LABEL" desc="Accessibility label for the button to turn torch on and off in the QR Scanner. The current state of the button is communicated using the accessibility value. [Length: unlimited] [iOS only]">
        Torch
      </message>
      <message name="IDS_IOS_QR_SCANNER_TORCH_OFF_ACCESSIBILITY_VALUE" desc="Accessiblity value of the button to turn torch on in the QR Scanner. The button communicates that the torch is current off. [Length: unlimited] [iOS only]">
        Off
      </message>
      <message name="IDS_IOS_QR_SCANNER_TORCH_ON_ACCESSIBILITY_VALUE" desc="Accessibility value of the button to turn torch off in the QR Scanner. The button communicates that the torch is currently on. [Length: unlimited] [iOS only]">
        On
      </message>
      <message name="IDS_IOS_QR_SCANNER_VIEWPORT_CAPTION" desc="Message displayed below the QR scanner viewport instructing the user to position the scanned QR or bar code inside the viewport. [Length: unlimited] [iOS only]">
        Position QR code or barcode in this frame
      </message>
      <message name="IDS_IOS_READING_LIST_SNACKBAR_MESSAGE" desc="Message briefly displayed at the bottom of the screen to the user to inform that the selected page has been added to the reading list. [Length: 35em]" meaning="The selected page has been added to your reading list. [Length: 35em]">
        Added to Reading List
      </message>
      <message name="IDS_IOS_READING_LIST_ENTRY_ACCESSIBILITY_LABEL" desc="Accessibility label for a reading list entry. Summarizes fields in the reading list entry (title, status and url). Read by Text To Speech.">
        <ph name="TITLE"><ex>Chromium - The Chromium Projects</ex>$1</ph>, <ph name="STATE"><ex>Available offline</ex>$2</ph>, <ph name="URL"><ex>http://www.chromium.org/Home</ex>$3</ph>
      </message>
      <message name="IDS_IOS_READING_LIST_ACCESSIBILITY_STATE_DOWNLOADED" desc="Accessibility label for the offline status of the reading list entry. Read by Text To Speech.">
        Available offline
      </message>
      <message name="IDS_IOS_READING_LIST_ACCESSIBILITY_STATE_NOT_DOWNLOADED" desc="Accessibility label for the offline status of the reading list entry. Read by Text To Speech.">
        Not available offline
      </message>
      <message name="IDS_IOS_READING_LIST_CANCEL_BUTTON" desc="Label of the button to stop editing the reading list entries (delete, mark as read/unread) [Length: 25em]" meaning="Stop editing. [Length: 25em]">
        Cancel
      </message>
      <message name="IDS_IOS_READING_LIST_CELL_NEW_FEATURE_BADGE" desc="Title and accessibility label of the badge displayed on the tools menu reading list item when users have never used it before [Length: 20em]" meaning="The user has never viewed the reading list before, so a badge is displayed informing them of this feature that is new to them.">
        New
      </message>
      <message name="IDS_IOS_READING_LIST_CONTENT_CONTEXT_OFFLINE" desc="Title of the button to display the Offline version instead of the Online one. [Length: 50em]">
        View Offline Version in New Tab
      </message>
      <message name="IDS_IOS_READING_LIST_DELETE_ALL_READ_BUTTON" desc="Label of the button to delete all the reading list entries read [Length: 25em]" meaning="Delete all the read entries. [Length: 25em]">
        Delete Read
      </message>
      <message name="IDS_IOS_READING_LIST_DELETE_BUTTON" desc="Label of the button to delete the reading list entries [Length: 25em]" meaning="Delete the selected entries. [Length: 25em]">
        Delete
      </message>
      <message name="IDS_IOS_READING_LIST_DONE_BUTTON" desc="Label of the button to dismiss reading list dialog">
        Done
      </message>
      <message name="IDS_IOS_READING_LIST_EDIT_BUTTON" desc="Label of the button to edit the reading list entries (delete, mark as read/unread) [Length: 20em]" meaning="Start editing the reading list entries. [Length: 20em]">
        Edit
      </message>
      <message name="IDS_IOS_READING_LIST_EMPTY_MESSAGE" desc="Message to explain to the user how to add entries to the reading list" meaning="[Length: unlimited]">
        Your reading list is available offline. To add a page to your reading list, tap  <ph name="SHARE_OPENING_ICON">SHARE_OPENING_ICON<ex>(menu icon)</ex></ph>  then <ph name="READ_LATER_TEXT">READ_LATER_TEXT<ex>Read Later</ex></ph>.
      </message>
      <message name="IDS_IOS_READING_LIST_JUST_NOW" desc="String indicating that an event (adding item, distillation) happened less than one minute ago. [Length: 25em]">
        Just now
      </message>
      <message name="IDS_IOS_READING_LIST_MARK_ALL_BUTTON" desc="Label of the button to suggest options to mark all reading list entries read or unread [Length: 25em]" meaning="Display options letting the user mark all the entries as read or as unread. [Length: 25em]">
        Mark All…
      </message>
      <message name="IDS_IOS_READING_LIST_MARK_ALL_READ_ACTION" desc="Label of the action button to mark all reading list entries as read. [Length: 25em]" meaning="Mark all entries as read. [Length: 25em]">
        Mark All Read
      </message>
      <message name="IDS_IOS_READING_LIST_MARK_ALL_UNREAD_ACTION" desc="Label of the action button to mark all reading list entries as unread. [Length: 25em]" meaning="Mark all entries as unread. [Length: 25em]">
        Mark All Unread
      </message>
      <message name="IDS_IOS_READING_LIST_MARK_BUTTON" desc="Label of the button to mark the selected reading list as either read or unread [Length: 25em]" meaning="Display options letting the user mark all the selected entries as read or as unread. [Length: 25em]">
        Mark…
      </message>
      <message name="IDS_IOS_READING_LIST_MARK_READ_BUTTON" desc="Label of the button to mark selected reading list entries as 'Read' [Length: 25em]" meaning="Mark selected entries as read. [Length: 25em]">
        Mark Read
      </message>
      <message name="IDS_IOS_READING_LIST_MARK_UNREAD_BUTTON" desc="Label of the button to mark selected reading list entries as 'Unread' [Length: 25em]" meaning="Mark selected entries as unread. [Length: 25em]">
        Mark Unread
      </message>
      <message name="IDS_IOS_READING_LIST_READ_HEADER" desc="Heading. Appears above a list of articles the user has already read, in their Reading List. Appears on the same page as an 'Unread' heading, which contains articles the user hasn't read yet. In English, 'Read' can be both verb and adjective so we needed to be more explicit. Does not need to be translated literally. [Length: 40em]" meaning="The entries below this header are read. [Length: 40em]">
        Pages You've Read
      </message>
      <message name="IDS_IOS_READING_LIST_UNREAD_HEADER" desc="Header for the list containing the unread reading list entries" meaning="The entries below this header are unread. [Length: 15em]">
        Unread
      </message>
      <message name="IDS_IOS_RECENT_TABS_DISCLOSURE_VIEW_COLLAPSED_HINT" desc="The accessibility hint spoken to signify that the given cell expands the given section when tapped.">
        Expands the section.
      </message>
      <message name="IDS_IOS_RECENT_TABS_DISCLOSURE_VIEW_EXPANDED_HINT" desc="The accessibility hint spoken to signify that the given cell collapses the given section when tapped.">
        Collapses the section.
      </message>
      <message name="IDS_IOS_RECENT_TABS_HIDE_MENU_OPTION" desc="Context menu option to remove a foreign session. [Length: 15em] [iOS only]">
        Hide for now
      </message>
      <message name="IDS_IOS_RECENT_TABS_OPEN_ALL_MENU_OPTION" desc="Context menu option to open all tabs from a foreign session. [Length: 15em] [iOS only]">
        Open all
      </message>
      <message name="IDS_IOS_RECENT_TABS_OTHER_DEVICES" desc="The name of the section informing the user on how to view tabs from other devices.[Length: 25em]">
        Other Devices
      </message>
      <message name="IDS_IOS_RECENT_TABS_RECENTLY_CLOSED" desc="The heading of the recently closed section in the recent tab panel. [Length: 35em] [iOS only]">
        Recently Closed
      </message>
      <message name="IDS_IOS_SAFE_MODE_AW_SNAP" desc="The title of the safe mode UI after multiple crashes.  This is intended to be a humorous exclamation of dismay. [Length: 30em]">
        Aw, Snap!
      </message>
      <message name="IDS_IOS_SAFE_MODE_CRASH_REPORT_SENT" desc="The message indicating that Chrome sent a crash report. [Length: 140em]">
        Crash report sent.
      </message>
      <message name="IDS_IOS_SAFE_MODE_RELOAD_CHROME" desc="The label of a button used to start Chrome from safe mode.  Clicking this button dismisses the safe mode UI and launches Chrome. [Length: 30em]">
        Try again
      </message>
      <message name="IDS_IOS_SAFE_MODE_SENDING_CRASH_REPORT" desc="The message indicating that Chrome is sending a crash report. [Length: 140em]">
        Sending crash report...
      </message>
      <message name="IDS_IOS_SAFE_MODE_UNKNOWN_CAUSE" desc="The message indicating that Chrome crashed for an unknown reason. [Length: 140em]">
        Something went really wrong. We'll work on that.
      </message>
      <message name="IDS_IOS_SAVE_IMAGE_NO_INTERNET_CONNECTION" desc="Message informing the user that the image could not be saved because the device has no internet connection.">
        No internet connection.
      </message>
      <message name="IDS_IOS_SAVE_IMAGE_PRIVACY_ALERT_GO_TO_SETTINGS" desc="Title for a button to go to System settings app. [Length: 25em] [iOS only].">
        Settings
      </message>
      <message name="IDS_IOS_SAVE_IMAGE_PRIVACY_ALERT_TITLE" desc="Title for message to inform user that Save Image failed due to insufficient privilege in Privacy Settings. This message is displayed as the title of an alert box. [Length: 20em] [iOS only]">
        Cannot Save Image
      </message>
      <message name="IDS_IOS_SAVE_IMAGE_RESTRICTED_PRIVACY_ALERT_MESSAGE" desc="Message to inform user that Save Image failed due to insufficient privilege in Privacy Settings and that the user cannot grant such privilege. This message is displayed as the message body in an alert box with a single OK button. [Length: 120em]">
        A device policy blocked access to your photos
      </message>
      <message name="IDS_IOS_SAVE_PASSWORDS" desc="Title for the switch item in Settings that can be toggled to enable or disable saving passwords. [Length: 15em] [iOS only]">
        Save Passwords
      </message>
      <message name="IDS_IOS_PASSWORDS" desc="Title for the view in Settings for managing saved passwords. [Length: 15em] [iOS only]">
        Passwords
      </message>
      <message name="IDS_IOS_EXPORT_PASSWORDS" desc="Button that the user can press to export passwords. [Length: 22em] [iOS only]">
        Export Passwords...
      </message>
      <message name="IDS_IOS_EXPORT_PASSWORDS_ALERT_MESSAGE" desc="The message of the alert displayed as a warning to the user who tapped on the button to export passwords. [iOS only]">
        Your passwords will be visible to anyone who can see the exported file.
      </message>
      <message name="IDS_IOS_EXPORT_PASSWORDS_PREPARING_ALERT_TITLE" desc="The title of the alert displayed to indicate that the passwords are being prepared for export. [iOS only]">
        Preparing Passwords...
      </message>
      <message name="IDS_IOS_EXPORT_PASSWORDS_FAILED_ALERT_TITLE" desc="Title of the alert informing the user that exporting passwords has failed. [iOS only]">
        Can't Export Passwords
      </message>
      <message name="IDS_IOS_EXPORT_PASSWORDS_UNKNOWN_ERROR_ALERT_MESSAGE" desc="The message of the alert informing the user that an error has occured while exporting passwords. [iOS only]">
        An error occured. Try again later.
      </message>
      <message name="IDS_IOS_EXPORT_PASSWORDS_OUT_OF_SPACE_ALERT_MESSAGE" desc="The message of an error alert displayed while trying to export passwords. If informs the user that their device storage is almost full and instructing them to free space. [iOS only]">
        Your device is almost full. Free up space and try again.
      </message>
      <message name="IDS_IOS_EXPORT_PASSWORDS_CANCEL_BUTTON" desc="Label of a confirmation dialog button which allows the user to cancel passwords export. [Length: 22em] [iOS only]">
        Cancel
      </message>
      <message name="IDS_IOS_SETTINGS_EXPORT_PASSWORDS_SET_UP_SCREENLOCK_CONTENT" desc="Message informing the user that in order to export the passwords, a screen lock needs to be set up on the device. This is shown as an alert message after the user tries to view or copy the password from a settings page. [Length: about two lines]">
        To export passwords, you must first set a passcode on your device.
      </message>
      <message name="IDS_IOS_SAVE_PASSWORDS_MANAGE_ACCOUNT" desc="Header text with link for the view in Settings for managing saved passwords. [Length: unlimited] [iOS only]">
        View and manage saved passwords at <ph name="BEGIN_LINK">BEGIN_LINK</ph>passwords.google.com<ph name="END_LINK">END_LINK</ph>
      </message>
      <message name="IDS_IOS_SEARCH_COPIED" desc="The message displayed when the search is copied via long press (contextual search) [Length: 10em] [iOS only]">
        Copied
      </message>
      <message name="IDS_IOS_SEARCH_ENGINE_SETTING_TITLE" desc="The title for Search Engine selection setting [iOS only]">
        Search Engine
      </message>
      <message name="IDS_IOS_SEARCH_ENGINE_SETTING_CUSTOM_SECTION_HEADER" desc="The header for custom search engines section in Search Engine selection setting [iOS only]">
        Recently Visited
      </message>
      <message name="IDS_IOS_SETTINGS_SITE_COPY_BUTTON" desc="Button that the user can press to copy the site to clipboard. [Length: 12em]">
        Copy
      </message>
      <message name="IDS_IOS_SETTINGS_SITE_COPY_MENU_ITEM" desc="Context menu item available on the cell showing the site/URL with a passwords origin, in the detailed view of a stored credential. The user can select it to copy the site to clipboard. [Length: should be one short word, is under 5em in English]">
        Copy
      </message>
      <message name="IDS_IOS_SETTINGS_USERNAME_COPY_BUTTON" desc="Button that the user can press to copy the username to clipboard. [Length: 12em]">
        Copy
      </message>
      <message name="IDS_IOS_SETTINGS_USERNAME_COPY_MENU_ITEM" desc="Context menu item available on the username cell in the detailed view of a stored credential. The user can select it to copy the username to clipboard. [Length: should be one short word, is under 5em in English]">
        Copy
      </message>
      <message name="IDS_IOS_SETTINGS_PASSWORD_PLACEHOLDER_SEARCH" desc="The iOS placeholder for searching passwords in the saved list [Length: 30em] [iOS only]">
        Search Passwords
      </message>
      <message name="IDS_IOS_SETTINGS_PASSWORD_COPY_BUTTON" desc="Button that the user can press to copy the password to clipboard. [Length: 12em]">
        Copy
      </message>
      <message name="IDS_IOS_SETTINGS_PASSWORD_COPY_MENU_ITEM" desc="Context menu item available on the password cell in detailed view of a stored credential. The user can select it to copy the password to clipboard. [Length: should be one short word, is under 5em in English]">
        Copy
      </message>
      <message name="IDS_IOS_SETTINGS_PASSWORD_DELETE_BUTTON" desc="Button that the user can press to delete a saved password or a site-bound exception preventing saving passwords. [Length: single line available]">
        Delete
      </message>
      <message name="IDS_IOS_SETTINGS_PASSWORD_HIDDEN_LABEL" desc="Accessibility label stating that the element is displaying a hidden password.">
        Hidden, Password
      </message>
      <message name="IDS_IOS_SETTINGS_PASSWORD_HIDE_BUTTON" desc="Button that the user can press to change the way the password is displayed from plain text to obscured form (i.e. from plain text to dots). [Length: 12em]">
        Hide
      </message>
      <message name="IDS_IOS_SETTINGS_PASSWORD_HIDE_MENU_ITEM" desc="Context menu item available on the password cell in detailed view of a stored password. The user can select it to hide the password to clipboard. [Length: should be one short word, is under 5em in English]">
        Hide
      </message>
      <message name="IDS_IOS_SETTINGS_PASSWORD_REAUTH_REASON_COPY" desc="Message explaining that the reason why we are requiring the user to re-authenticate is to be able to copy the password. This is shown by iOS in the Touch ID reauthentication system dialogue, right under the OS string 'Touch ID for $BROWSER_NAME'. [Length: 22em]">
        Copy password
      </message>
      <message name="IDS_IOS_SETTINGS_PASSWORD_REAUTH_REASON_SHOW" desc="Message explaining that the reason why we are requiring the user to re-authenticate is to be able to show the password in plain text. This is shown by iOS in the Touch ID reauthentication system dialogue, right under the OS string 'Touch ID for $BROWSER_NAME'. [Length: 22em]">
        Show password
      </message>
      <message name="IDS_IOS_SETTINGS_PASSWORD_SHOW_BUTTON" desc="Button that the user can press in order to have the password displayed in plain text. [Length: 12em]">
        Show
      </message>
      <message name="IDS_IOS_SETTINGS_PASSWORD_SHOW_MENU_ITEM" desc="Context menu item available on the password cell in detailed view of a stored password. The user can select it to show the password to clipboard. [Length: should be one short word, is under 5em in English]">
        Show
      </message>
      <message name="IDS_IOS_SETTINGS_SITE_WAS_COPIED_MESSAGE" desc="Confirmation that the site URL of a saved credential was copied. This is shown alone in an infobar at the bottom of the screen. [Length: one line]">
        Site address copied
      </message>
      <message name="IDS_IOS_SETTINGS_USERNAME_WAS_COPIED_MESSAGE" desc="Confirmation that the username was copied. This is shown alone in an infobar at the bottom of the screen. [Length: one line]">
        Username copied
      </message>
      <message name="IDS_IOS_SETTINGS_PASSWORD_WAS_COPIED_MESSAGE" desc="Confirmation that the password was copied. This is shown alone in an infobar at the bottom of the screen after the user successfully reauthenticates with Touch ID or PIN. [Length: one line]">
        Password copied
      </message>
      <message name="IDS_IOS_SETTINGS_PASSWORD_WAS_NOT_COPIED_MESSAGE" desc="Message informing the user that the password was not copied because the authentication failed. This is shown alone in an infobar at the bottom of the screen after the user tries to reauthenticate with Touch ID or PIN to copy the password and fails. [Length: one line]">
        Can't verify your identity. Password not copied.
      </message>
      <message name="IDS_IOS_SETTINGS_SET_UP_SCREENLOCK_TITLE" desc="Title of the alert informing the user that in order to view or copy the password, a screen lock needs to be set up on the device. [Length: one line]">
        Set A Passcode
      </message>
      <message name="IDS_IOS_SETTINGS_SET_UP_SCREENLOCK_CONTENT" desc="Message informing the user that in order to view or copy the password, a screen lock needs to be set up on the device. This is shown as an alert message after the user tries to view or copy the password from a settings page. [Length: about two lines]">
        To see passwords, you must first set a passcode on your device.
      </message>
      <message name="IDS_IOS_SETTINGS_SET_UP_SCREENLOCK_LEARN_HOW" desc="The label of the 'Learn how' button of the alert informing the user that in order to view or copy the password, a screen lock needs to be set up on the device. The button leads to a help article on how to set up a device lock.">
        Learn How
      </message>
      <message name="IDS_IOS_SETTINGS_TITLE" desc="Title for the settings panel [iOS].">
        Settings
      </message>
      <message name="IDS_IOS_SETTING_OFF" desc="Generic status label displayed in Settings to show that a setting is currently turned off. [Length: 5em] [iOS only]">
        Off
      </message>
      <message name="IDS_IOS_SETTING_ON" desc="Generic status label displayed in Settings to show that a setting is currently turned on. [Length: 5em] [iOS only]">
        On
      </message>
      <message name="IDS_IOS_SETTINGS_TOOLBAR_DELETE" desc="Label of the button displayed on the bottom toolbar of the settings' collections when they are in edit mode. Pressing this button deletes the currently selected items.">
        Delete
      </message>
      <message name="IDS_IOS_TOGGLE_SETTING_SWITCH_ACCESSIBILITY_HINT" desc="Action hint for any switch in settings. This is spoken by VoiceOver. [iOS only]">
        Double tap to toggle setting
      </message>
      <message name="IDS_IOS_SHARE_EMAIL_COMPLETE" desc="Message shown when email share has been sent. [Length: Unknown. Keep it short.] [iOS only]">
        Mail sent.
      </message>
      <message name="IDS_IOS_SHARE_FACEBOOK_COMPLETE" desc="Message shown when Facebook share has been posted. [Length: Unknown. Keep it short.] [iOS only]">
        Facebook post completed.
      </message>
      <message name="IDS_IOS_SHARE_GPLUS_COMPLETE" desc="Message shown when Google+ share has been posted. [Length: Unknown. Keep it short.] [iOS only]">
        Google+ post completed.
      </message>
      <message name="IDS_IOS_SHARE_MENU_COPY" desc="Text label of the Copy action in the extension menu that copies the current URL to the pasteboard. [iOS only]">
        Copy
      </message>
      <message name="IDS_IOS_SHARE_MENU_FIND_IN_PAGE" desc="Text label to the Find in Page action in the extension menu that open the 'Find in Page' menu. [iOS only]">
        Find in Page
      </message>
      <message name="IDS_IOS_SHARE_MENU_PRINT_ACTION" desc="The text label of the Print action in the extension menu that starts the printing process. [Length: 13em] [iOS only]">
        Print
      </message>
      <message name="IDS_IOS_SHARE_MENU_READING_LIST_ACTION" desc="The text label of the Add To Reading List action in the extension menu that adds the current page to the reading list. [Length: 25em] [iOS only]">
        Read Later
      </message>
      <message name="IDS_IOS_SHARE_MENU_REQUEST_DESKTOP_SITE" desc="Text label to the Request Desktop Site action in the extension menu that request the desktop version of the current page. [iOS only]">
        Request Desktop Site
      </message>
      <message name="IDS_IOS_SHARE_MENU_REQUEST_MOBILE_SITE" desc="Text label to the Request Desktop Site action in the extension menu that request the desktop version of the current page. [iOS only]">
        Request Mobile Site
      </message>
      <message name="IDS_IOS_SHARE_MESSAGES_COMPLETE" desc="Message shown when message share has been sent. [Length: Unknown. Keep it short.] [iOS only]">
        Message sent.
      </message>
      <message name="IDS_IOS_SHARE_TO_CLIPBOARD_SUCCESS" desc="Message displayed when the copy link (in Share... menu) action has succeeded. [Length: 30em] [iOS only]">
        Link copied
      </message>
      <message name="IDS_IOS_SHARE_TO_ERROR_ALERT" desc="Message used in iOS system alert to report generic Share To failure. [Length: 60em] [iOS only]">
        Sorry, there was a problem sharing your item.
      </message>
      <message name="IDS_IOS_SHARE_TO_ERROR_ALERT_TITLE" desc="Title used in iOS system alert to report generic Share To failure. [Length: 20em, should fit on one line.] [iOS only]">
        Cannot Share Page
      </message>
      <message name="IDS_IOS_SHARE_TO_NETWORK_ERROR_ALERT" desc="Message used in iOS system alert to report Share To failure due to network errors. [Length: 60em] [iOS only]">
        Sharing failed because you are not connected to the network.
      </message>
      <message name="IDS_IOS_SHARE_TO_NETWORK_ERROR_ALERT_TITLE" desc="Title used in iOS system alert to report Share To failure due to network errors. [Length: 20em, should fit on one line.] [iOS only]">
        Cannot Share Page
      </message>
      <message name="IDS_IOS_SHARE_TO_SIGN_IN_ERROR_ALERT" desc="Message used in iOS system alert to report Share To failure. [Length 60em] [iOS only]">
        Sorry, there was a problem signing in to your account.
      </message>
      <message name="IDS_IOS_SHARE_TO_SIGN_IN_ERROR_ALERT_TITLE" desc="Title used in iOS system alert to report Share To failure. [Length: 20em, should fit on one line.] [iOS only]">
        Cannot Sign In
      </message>
      <message name="IDS_IOS_SHARE_TWITTER_COMPLETE" desc="Message shown when Twitter share has been posted. [Length: Unknown. Keep it short.] [iOS only]">
        Tweet completed.
      </message>
      <message name="IDS_IOS_SHOW_PASSWORD_VIEW_PASSWORD" desc="Label indicating that the text displayed below is a password. [Length: 20em] [iOS only]">
        Password
      </message>
      <message name="IDS_IOS_SHOW_PASSWORD_VIEW_SITE" desc="Label indicating that the text displayed below is the site on which the associated password was saved. The password is displayed in the same view, but under a different label. [Length: 20em] [iOS only]">
        Site
      </message>
      <message name="IDS_IOS_SHOW_PASSWORD_VIEW_USERNAME" desc="Label indicating that the text displayed below is the username to which a saved password corresponds. The password is displayed in the same view, but under a different label. [Length: 20em] [iOS only]">
        Username
      </message>
      <message name="IDS_IOS_SHOW_PASSWORD_VIEW_FEDERATION" desc="Label indicating that the text displayed below is the hostname of the identity provider used for the displayed credential. [Length: to fit on one line] [iOS only]">
        Signed In With
      </message>
      <message name="IDS_IOS_CANCEL_PASSWORD_DELETION" desc="Label of a confirmation dialogue button which allows the user to cancel deletion of a stored password. [Length: one line] [iOS only]">
        Cancel
      </message>
      <message name="IDS_IOS_CONFIRM_PASSWORD_DELETION" desc="Label of a confirmation dialogue button which allows the user to confirm deletion of a stored password. [Length: one line] [iOS only]">
        Delete
      </message>
      <message name="IDS_IOS_SETTINGS_PASSWORDS_SAVED_HEADING" desc="The title for a list of username/site/password items. These items are already saved by the browser and can be deleted/edited. [Length: one line] [iOS only]">
      Saved Passwords
      </message>
      <message name="IDS_IOS_SETTINGS_PASSWORDS_EXCEPTIONS_HEADING" desc="The title for a list of sites where passwords will not be saved. These items are already saved by the browser and can only be deleted. [Length: one line] [iOS only]">
      Never Saved
      </message>
      <message name="IDS_IOS_SIGNED_IN_ACCOUNTS_VIEW_OK_BUTTON" desc="The title of the OK button of the Signed In Accounts view [iOS only] [20em]">
        OK, Got It
      </message>
      <message name="IDS_IOS_SIGNED_IN_ACCOUNTS_VIEW_SETTINGS_BUTTON" desc="The title of the Settings button of the Signed In Accounts view [iOS only] [20em]">
        Settings
      </message>
      <message name="IDS_IOS_SIGNED_IN_ACCOUNTS_VIEW_TITLE" desc="The title of the Signed In Accounts view [iOS only] [30em]">
        You're signed in
      </message>
      <message name="IDS_IOS_SIGN_IN_FAILED" desc="Explanatory message shown when Sign in to Chrome failed for an unknown technical reason.  [Length: 50em] [iOS only]">
        Failed to sign in. Please try again later.
      </message>
      <message name="IDS_IOS_SIGN_IN_TO_CHROME_SETTING_SUBTITLE" desc="The subtitle for the setting item to Sign in to Chrome [iOS only]">
        Get your bookmarks, history, passwords, and other settings on all your devices
      </message>
      <message name="IDS_IOS_SIGN_IN_TO_CHROME_SETTING_SYNCING" desc="The subtitle for the setting item of the signed in user [iOS only]">
        Syncing to <ph name="EMAIL">$1<ex>john.doe@gmail.com</ex></ph>
      </message>
      <message name="IDS_IOS_SIGN_IN_TO_CHROME_SETTING_SYNC_OFF" desc="The subtitle for the setting item of the signed in user when sync is off [iOS only]">
        Sync is Off
      </message>
      <message name="IDS_IOS_SPOTLIGHT_KEYWORD_EIGHT" desc="Keyword used in Spotlight that will be linked to the Chrome App. [iOS only]">
        Online
      </message>
      <message name="IDS_IOS_SPOTLIGHT_KEYWORD_FIVE" desc="Keyword used in Spotlight that will be linked to the Chrome App. [iOS only]">
        Browse
      </message>
      <message name="IDS_IOS_SPOTLIGHT_KEYWORD_FOUR" desc="Keyword used in Spotlight that will be linked to the Chrome App. [iOS only]">
        Search
      </message>
      <message name="IDS_IOS_SPOTLIGHT_KEYWORD_NINE" desc="Keyword used in Spotlight that will be linked to the Chrome App. [iOS only]">
        Autofill
      </message>
      <message name="IDS_IOS_SPOTLIGHT_KEYWORD_ONE" desc="Keyword used in Spotlight that will be linked to the Chrome App. [iOS only]">
        Incognito
      </message>
      <message name="IDS_IOS_SPOTLIGHT_KEYWORD_SEVEN" desc="Keyword used in Spotlight that will be linked to the Chrome App. [iOS only]">
        Network
      </message>
      <message name="IDS_IOS_SPOTLIGHT_KEYWORD_SIX" desc="Keyword used in Spotlight that will be linked to the Chrome App. [iOS only]">
        www
      </message>
      <message name="IDS_IOS_SPOTLIGHT_KEYWORD_TEN" desc="Keyword used in Spotlight that will be linked to the Chrome App. [iOS only]">
        Sync
      </message>
      <message name="IDS_IOS_SPOTLIGHT_KEYWORD_THREE" desc="Keyword used in Spotlight that will be linked to the Chrome App. [iOS only]">
        Private
      </message>
      <message name="IDS_IOS_SPOTLIGHT_KEYWORD_TWO" desc="Keyword used in Spotlight that will be linked to the Chrome App. [iOS only]">
        Internet
      </message>
      <message name="IDS_IOS_SUGGESTIONS_DONE" desc="Label of the navigation bar button to close the view.">
        Done
      </message>
      <message name="IDS_IOS_SYNC_AUTHENTICATION_ERROR_ALERT_VIEW_TITLE" desc="The title of the alert view displaying authentication errors. [Length: 20em] [iOS only]">
        Error
      </message>
      <message name="IDS_IOS_SYNC_CONFIGURE_ENCRYPTION" desc="The message displayed when the signed in user needs to enter its sync passphrase. [Length: 100em, can be multiple lines] [iOS only]">
        Passphrase required to start sync.
      </message>
      <message name="IDS_IOS_SYNC_CONFIRM_PASSPHRASE_LABEL" desc="The text for the confirm-passphrase field. [Length: 20em] [iOS only]">
        Confirm passphrase
      </message>
      <message name="IDS_IOS_SYNC_DATA_TYPES_TITLE" desc="The title for the section of the data types to sync to">
        Data Types
      </message>
      <message name="IDS_IOS_SYNC_DECRYPT_BUTTON" desc="The title for the decrypt button on the encryption password screen [Length: 10em] [iOS only]">
        Submit
      </message>
      <message name="IDS_IOS_SYNC_ENCRYPTION_CREATE_PASSPHRASE" desc="The title for passphrase page where the user creates the sync encryption passphrase [Length: 20em] [iOS only]">
        Create Passphrase
      </message>
      <message name="IDS_IOS_SYNC_ENCRYPTION_DESCRIPTION" desc="The short description to display when the user need to enter its sync passphrase. [Length: 60em] [iOS only]">
        Passphrase required
      </message>
      <message name="IDS_IOS_SYNC_ENCRYPTION_PASSPHRASE_HINT" desc="The information text on how to reset encryption passphrase for sync, shown on the sync encryption settings [Length: 300em] [iOS only]">
        Passphrase encryption doesn’t include payment methods and addresses from Google Pay.

To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>reset sync<ph name="END_LINK">END_LINK</ph>
      </message>
      <message name="IDS_IOS_SYNC_ENCRYPTION_PASSPHRASE_INFO" desc="The information text for encrypting sync using a passphrase, shown on the passphrase screen [iOS only]">
        Passphrase encryption doesn’t include payment methods and addresses from Google Pay. Only someone with your passphrase can read your encrypted data. The passphrase is not sent to or stored by Google. If you forget your passphrase or want to change this setting, you will need to reset sync. <ph name="BEGIN_LINK">BEGIN_LINK</ph>Learn more<ph name="END_LINK">END_LINK</ph>
      </message>
      <message name="IDS_IOS_SYNC_ENCRYPTION_TITLE" desc="The title for the Sync Encryption item [iOS only]">
        Encryption
      </message>
      <message name="IDS_IOS_SYNC_ENTER_PASSPHRASE" desc="Title displayed when the signed in user needs to enter its sync passphrase. [Length: 20em] [iOS only]">
        Enter Passphrase
      </message>
      <message name="IDS_IOS_SYNC_ENTER_PASSPHRASE_BODY_WITH_EMAIL" desc="Instructions for the dialog where the user enters the passphrase.">
        Signed in as <ph name="EMAIL">$1<ex>johndoe@gmail.com</ex></ph>.

Your data is encrypted with your sync passphrase. Enter it to start sync.
      </message>
      <message name="IDS_IOS_SYNC_ENTER_PASSPHRASE_BODY_WITH_EMAIL_AND_DATE" desc="Instructions for the dialog where the user enters the passphrase.">
        Signed in as <ph name="EMAIL">$1<ex>johndoe@gmail.com</ex></ph>.

Your data was encrypted with your sync passphrase on <ph name="TIME">$2<ex>Sept 1, 2012</ex></ph>. Enter it to start sync.
      </message>
      <message name="IDS_IOS_SYNC_ENTER_PASSPHRASE_TITLE" desc="Title for the dialog where the user enters the passphrase.">
        Enter Passphrase
      </message>
      <message name="IDS_IOS_SYNC_ERROR_COULD_NOT_CONNECT" desc="The error message to display when the sync server is unavailable. [Length: 100em, can be multiple lines] [iOS only]">
        Could not connect to the server.
      </message>
      <message name="IDS_IOS_SYNC_ERROR_INFO_OUT_OF_DATE" desc="The error message to display when the accounts info are out of date. [Length: 100em, can be multiple lines] [iOS only]">
        Account sign-in details are out of date. Update to start sync.
      </message>
      <message name="IDS_IOS_SYNC_ERROR_INTERNET_DISCONNECTED" desc="Error to display when network connection failed while trying to use sync. [Length: 100em, can be multiple lines] [iOS only]">
        Unable to connect to the Internet.
      </message>
      <message name="IDS_IOS_SYNC_ERROR_TITLE" desc="Title of the error message shown for sync errors. [Length: 60em] [iOS only]">
        Sync isn't working
      </message>
      <message name="IDS_IOS_SYNC_ERROR_UNRECOVERABLE" desc="The error message to display when there is an unrecoverable sync error. [Length: 100em, can be multiple lines] [iOS only]">
        Try signing in again.
      </message>
      <message name="IDS_IOS_SYNC_EVERYTHING_TITLE" desc="The title for the Sync Everything item [iOS only]">
        Sync Everything
      </message>
      <message name="IDS_IOS_SYNC_INCORRECT_PASSPHRASE" desc="Message when the passphrase is incorrect.">
        Incorrect passphrase
      </message>
      <message name="IDS_IOS_SYNC_INFOBAR_SIGN_IN_SETTINGS_BUTTON_MOBILE" desc="Infobar button on Chrome Welcome page to let the user access the Sing in settings view. [Length: 20em]">
        Sign in settings
      </message>
      <message name="IDS_IOS_SYNC_LOGIN_INFO_OUT_OF_DATE" desc="The login information for the user is out of date - for example, the user changed their password and therefore signing in again is required.">
        Account sign-in details are out of date.
      </message>
      <message name="IDS_IOS_SYNC_PASSPHRASE_ENCRYPTING" desc="The title for the passphrase page while it is encrypting. [Length: 21em] [iOS only]">
        Encrypting…
      </message>
      <message name="IDS_IOS_SYNC_PASSPHRASE_RECOVER" desc="Message about how to recover from a lost passphrase. [Length:100em, may be multiple lines] [iOS only]">
        If you forget your passphrase or want to change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>reset sync<ph name="END_LINK">END_LINK</ph>
      </message>
      <message name="IDS_IOS_SYNC_RESET_GOOGLE_DASHBOARD_NO_LINK" desc="Message about how to reset sync via Google Dashboard without any link. [Length: 50em] [iOS only]">
        Manage Synced Data…
      </message>
      <message name="IDS_IOS_SYNC_SETTING_TITLE" desc="The title for the Sync control for sync [iOS only]">
        Sync
      </message>
      <message name="IDS_IOS_SYNC_SETUP_IN_PROGRESS" desc="The message to display when the sync setup is in progress and sync isn't available yet. [Length: 60em] [iOS only]">
        Setup in progress...
      </message>
      <message name="IDS_IOS_SYNC_SIGN_IN_AGAIN" desc="Title displayed when the signed in user needs sign in again. [Length: 20em] [iOS only]">
        Sign in again
      </message>
      <message name="IDS_IOS_SYNC_STATUS_UNRECOVERABLE_ERROR" desc="Message shown throughout the sync settings screens when there is an unrecoverable error. [Length: 80em, can be multiple lines] [iOS only]">
        Sync has stopped working.
      </message>
      <message name="IDS_IOS_SYNC_TO_TITLE" desc="The title for the section of the accounts available for sync">
        Sync to
      </message>
      <message name="IDS_IOS_SYNC_UPDATE_CREDENTIALS" desc="Title displayed when the signed in user needs to update its credentials. [Length: 20em] [iOS only]">
        Update
      </message>
      <message name="IDS_IOS_TAB_GRID_DONE_BUTTON" desc="Title of the Done button in the tab grid UI. [iOS only]">
        Done
      </message>
      <message name="IDS_IOS_TAB_GRID_CLOSE_ALL_BUTTON" desc="Title of the button in the tab grid UI that closes all the tabs in the grid. [iOS only]">
        Close All
      </message>
      <message name="IDS_IOS_TAB_GRID_UNDO_CLOSE_ALL_BUTTON" desc="Title of the button in the tab grid UI that revert the close all action recently taken by the user. [iOS only]">
        Undo
      </message>
      <message name="IDS_IOS_TAB_GRID_INCOGNITO_TABS_TITLE" desc="The accessibility label of the Incognito Tabs page in the tab grid UI. [iOS only]">
        Incognito Tabs
      </message>
      <message name="IDS_IOS_TAB_GRID_REGULAR_TABS_TITLE" desc="The accessibility label of the Regular Tabs page (as opposed to the Incognito Tabs page) in the tab grid UI. [iOS only]">
        Open Tabs
      </message>
      <message name="IDS_IOS_TAB_GRID_REMOTE_TABS_TITLE" desc="The accessibility label of the Remote Tabs page in the tab grid UI. [iOS only]">
        Tabs from other devices
      </message>
      <message name="IDS_IOS_TAB_GRID_INCOGNITO_TABS_EMPTY_STATE_TITLE" desc="Title shown in the Incognito Tabs page when the grid is empty. [iOS only]">
        No Incognito Tabs
      </message>
      <message name="IDS_IOS_TAB_GRID_REGULAR_TABS_EMPTY_STATE_TITLE" desc="Title shown in the Regular Tabs page (as opposed to the Incognito Tabs page) when the grid is empty. [iOS only]">
        No Open Tabs
      </message>
      <message name="IDS_IOS_TAB_GRID_INCOGNITO_TABS_EMPTY_STATE_BODY" desc="Text body shown in the Incognito Tabs page when the grid is empty, explaining that the user can open a new tab. [iOS only]">
        To browse the web privately, add a new tab.
      </message>
      <message name="IDS_IOS_TAB_GRID_REGULAR_TABS_EMPTY_STATE_BODY" desc="Text body shown in the Regular Tabs page (as opposed to the Incognito Tabs page) when the grid is empty, explaining that the user can open a new tab. [iOS only]">
        To browse the web, add a new tab.
      </message>
      <message name="IDS_IOS_TAB_GRID_CREATE_NEW_INCOGNITO_TAB" desc="The accessibility label for the button that creates new incognito tabs. [iOS only]">
        Create new incognito tab.
      </message>
      <message name="IDS_IOS_TAB_GRID_CREATE_NEW_TAB" desc="The accessibility label for the button that creates new regular tabs (as opposed to incognito tabs). [iOS only]">
        Create new tab.
      </message>
      <message name="IDS_IOS_TAB_STRIP_ENTER_TAB_SWITCHER" desc="The accessibility label of the tab strip button to enter the tab switcher. The tab switcher is a view showing the opened tabs, and allows users to switch, close, and open new tabs. [iOS only]">
        Enter Tab Switcher
      </message>
      <message name="IDS_IOS_TAB_STRIP_LEAVE_TAB_SWITCHER" desc="The accessibility label of the tab strip button to leave the tab switcher. The tab switcher is a view showing the opened tabs, and allows users to switch, close, and open new tabs. [iOS only]">
        Leave Tab Switcher
      </message>
      <message name="IDS_IOS_TAB_SWITCHER_CLOSE_TAB" desc="The accessibility label for the closing of a selected tab. [iOS only]">
        Close tab.
      </message>
      <message name="IDS_IOS_TAB_SWITCHER_CREATE_NEW_INCOGNITO_TAB" desc="The accessibility label for the button that creates new incognito tabs. [iOS only]">
        Create new incognito tab.
      </message>
      <message name="IDS_IOS_TAB_SWITCHER_CREATE_NEW_TAB" desc="The accessibility label for the button that creates new regular tabs (as opposed to incognito tabs). [iOS only]">
        Create new tab.
      </message>
      <message name="IDS_IOS_TAB_SWITCHER_ENABLE_SYNC_BUTTON" desc="Button label to enable sync for user. [Length: 30em] [iOS only]">
          Turn on sync
      </message>
      <message name="IDS_IOS_TAB_SWITCHER_ENABLE_SYNC_TITLE" desc="Title label to enable sync for user. [Length: 30em] [iOS only]">
          Enable sync
      </message>
      <message name="IDS_IOS_TAB_SWITCHER_HEADER_INCOGNITO_TABS" desc="Label shown to select the Incognito tabs panel, as opposed to the Non Incognito panel and the Other Devices panel. [Length: 17em] [iOS only]">
        Incognito Tabs
      </message>
      <message name="IDS_IOS_TAB_SWITCHER_HEADER_NON_INCOGNITO_TABS" desc="Label shown to select the Non Incognito tabs panel, as opposed to the Incognito panel and the Other Devices panel. [Length: 17em] [iOS only]">
        Open Tabs
      </message>
      <message name="IDS_IOS_TAB_SWITCHER_HEADER_OTHER_DEVICES_TABS" desc="Label shown to select the Other Devices tabs panel, as opposed to the Incognito and Non Incognito panels. [Length: 17em] [iOS only]">
        Other Devices
      </message>
      <message name="IDS_IOS_TAB_SWITCHER_NO_LOCAL_INCOGNITO_TABS" desc="Label explaining that the user can open a new incognito tab. [iOS only]">
        Open an incognito tab to browse the web privately.
      </message>
      <message name="IDS_IOS_TAB_SWITCHER_NO_LOCAL_INCOGNITO_TABS_PROMO" desc="Title explaining that there are no opened incognito tabs. [iOS only]">
        No Incognito Tabs
      </message>
      <message name="IDS_IOS_TAB_SWITCHER_NO_LOCAL_NON_INCOGNITO_TABS" desc="Label explaining that the user can open a new tab. [iOS only]">
        Open a tab to browse the web.
      </message>
      <message name="IDS_IOS_TAB_SWITCHER_NO_LOCAL_NON_INCOGNITO_TABS_TITLE" desc="Title explaining that there are no opened tabs. [iOS only]">
        No Open Tabs
      </message>
      <message name="IDS_IOS_TAB_SWITCHER_SYNC_IN_PROGRESS_PROMO" desc="Label explaining that the tabs are currently being synced. [iOS only]">
        Syncing your tabs...
      </message>
      <message name="IDS_IOS_TAB_SWITCHER_SYNC_IS_OFF" desc="Short paragraph(s) encouraging the user to enable sync on device [Length: 300em, may be line wrapped to multiple lines at run time.] [iOS only]">
          To get your tabs from your other devices, turn on sync.
      </message>
      <message name="IDS_IOS_TERMS_OF_SERVICE" desc="The label to access the terms of service, displayed in the application settings, with no product name. [Length: 30em] [iOS only]">
        Terms of Service
      </message>
      <message name="IDS_IOS_TOOLBAR_CLOSE_MENU" desc="The accessibility label for the toolbar close settings menu button [iOS only].">
        Close Menu
      </message>
      <message name="IDS_IOS_TOOLBAR_SEARCH" desc="Label of the button allowing the user to focus the address bar when tapped. As usual, when the address bar is focused, the user can type a URL or a text to be searched on the internet. Read by Text-to-Speech." meaning="Search the internet. Read by Text-to-Speech.">
        Search
      </message>
      <message name="IDS_IOS_TOOLBAR_SETTINGS" desc="The accessibility label for the toolbar open settings menu button [iOS only].">
        Menu
      </message>
      <message name="IDS_IOS_TOOLBAR_SHOW_TABS" desc="The accessibility label for the toolbar show tabs button [iOS only].">
        Show Tabs
      </message>
      <message name="IDS_IOS_TOOLBAR_SHOW_TAB_GRID" desc="The accessibility label for the toolbar show tab grid button [iOS only].">
        Show Tab Grid
      </message>
      <message name="IDS_IOS_TOOLS_MENU" desc="The accessibility label for the iOS tools menu [iOS only]">
        Tools Menu
      </message>
      <message name="IDS_IOS_TOOLS_MENU_ADD_TO_BOOKMARKS" desc="The iOS menu item for adding the current page to the bookmarks [Length: 15em] [iOS only]">
        Bookmark
      </message>
      <message name="IDS_IOS_TOOLS_MENU_BOOKMARKS" desc="The iOS menu item for opening the bookmarks manager [Length: 15em] [iOS only]">
        Bookmarks
      </message>
      <message name="IDS_IOS_TOOLS_MENU_CLOSE_ALL_INCOGNITO_TABS" desc="The iOS menu item for closing all incognito tabs [iOS only]" meaning="[Length: unlimited]">
        Close All Incognito Tabs
      </message>
      <message name="IDS_IOS_TOOLS_MENU_CLOSE_ALL_TABS" desc="The iOS menu item for closing all tabs [iOS only]" meaning="[Length: unlimited]">
        Close All Tabs
      </message>
      <message name="IDS_IOS_TOOLS_MENU_CLOSE_TAB" desc="The iOS menu item for closing a tab [iOS only]" meaning="[Length: unlimited]">
        Close Tab
      </message>
      <message name="IDS_IOS_TOOLS_MENU_EDIT_BOOKMARK" desc="The iOS menu item for editing a bookmark [iOS only]" meaning="[Length: unlimited]">
        Edit Bookmark
      </message>
      <message name="IDS_IOS_TOOLS_MENU_FIND_IN_PAGE" desc="The iOS menu item for searching in the current page [iOS only]" meaning="Open the Find In Page menu [Length: unlimited]">
        Find in Page...
      </message>
      <message name="IDS_IOS_TOOLS_MENU_HELP_MOBILE" desc="The Tools menu item for bringing up online help page." meaning="Open the help menu [Length: unlimited]">
        Help
      </message>
      <message name="IDS_IOS_TOOLS_MENU_HELP_URL" translateable="false">
        https://support.google.com/chrome/?p=chrome_help&amp;hl=[GRITLANGCODE]&amp;ios=1
      </message>
      <message name="IDS_IOS_TOOLS_MENU_HISTORY" desc="The Tools menu item for opening the navigation history menu">
        History
      </message>
      <message name="IDS_IOS_TOOLS_MENU_NEW_INCOGNITO_TAB" desc="The iOS menu item for opening a new incognito tab [iOS only]" meaning="Tools menu entry to create a new Incognito tab. [Length: Unlimited]">
        New Incognito Tab
      </message>
      <message name="IDS_IOS_TOOLS_MENU_NEW_TAB" desc="The iOS menu item for opening a new tab [iOS only]" meaning="Tools menu entry to create a new tab. [Length: Unlimited]">
        New Tab
      </message>
      <message name="IDS_IOS_TOOLS_MENU_PASTE_AND_GO" desc="The iOS menu item for pasting a URL or text in the omnibox and navigating to the page or searching for the text">
        Paste and Go
      </message>
      <message name="IDS_IOS_TOOLS_MENU_QR_SCANNER" desc="The iOS menu item for opening the QR Code Scanner screen, allowing the user to scan QR code.">
        Scan QR Code
      </message>
      <message name="IDS_IOS_TOOLS_MENU_READING_LIST" desc="The iOS menu item for opening the reading list [iOS only]" meaning="Open the Reading List menu. [Length: Unlimited]">
        Reading List
      </message>
      <message name="IDS_IOS_TOOLS_MENU_RECENT_TABS" desc="The iOS menu item for opening the panel showing the recently closed tabs and the tabs from other devices." meaning="[In Title case] [iOS only] [Length: Unlimited]">
        Recent Tabs
      </message>
      <message name="IDS_IOS_TOOLS_MENU_RELOAD" desc="The title of the button in the menu allowing the user to reload the page.">
        Reload
      </message>
      <message name="IDS_IOS_TOOLS_MENU_REQUEST_DESKTOP_SITE" desc="The iOS menu item for requesting the desktop site [iOS only]" meaning="Request the desktop version of the current web site. [Length: Unlimited]">
        Request Desktop Site
      </message>
      <message name="IDS_IOS_TOOLS_MENU_REQUEST_MOBILE_SITE" desc="The iOS menu item for requesting the mobile site [iOS only]" meaning="Request the mobile version of the current web site. [Length: Unlimited]">
        Request Mobile Site
      </message>
      <message name="IDS_IOS_TOOLS_MENU_SETTINGS" desc="The iOS menu item for opening the settings [iOS only]" meaning="Open the settings menu. [Length:Unlimited]">
        Settings
      </message>
      <message name="IDS_IOS_TOOLS_MENU_SHARE" desc="The iOS menu item for sharing the current URL [Length: 15em] [iOS only]">
        Share...
      </message>
      <message name="IDS_IOS_TOOLS_MENU_SITE_INFORMATION" desc="The iOS menu item for getting the site informations.">
        Site Information
      </message>
      <message name="IDS_IOS_TOOLS_MENU_STOP" desc="The iOS menu item for stoping the loading of the page.">
        Stop
      </message>
      <message name="IDS_IOS_TOOLS_MENU_VOICE_SEARCH" desc="The iOS menu item for opening Voice Search.">
        Voice Search
      </message>
      <message name="IDS_IOS_TRANSLATE_SETTING" desc="Title for the view and option in Settings for Translate. [Length: 25em] [iOS only]">
        Google Translate
      </message>
      <message name="IDS_IOS_TRANSLATE_SETTING_RESET" desc="Title for the button for resetting Translate settings. [Length: 15em] [iOS only]">
        Reset Translate Settings
      </message>
      <message name="IDS_IOS_TRANSLATE_SETTING_RESET_NOTIFICATION" desc="Message appearing after the user pressed the button to reset the translate settings. [Length: 30em] [iOS only]">
        Your translate settings have been reset.
      </message>
      <message name="IDS_IOS_UPGRADE_AVAILABLE_BUTTON" desc="Displayed on a button the user can use to upgrade the a more recent version of the application. [Length: 10em]">
        Update
      </message>
      <message name="IDS_IOS_VERSION" desc="The label for the Chrome version on which the application is based, displayed in the About Chrome settings page [Length: 30em] [iOS only]">
        Version <ph name="PRODUCT_VERSION">$1<ex>31.0.1650.18</ex></ph>
      </message>
      <message name="IDS_IOS_VERSION_COPIED" desc="The message displayed when the version label is tapped (in About settings) [Length: 10em] [iOS only]">
        Copied
      </message>
      <message name="IDS_IOS_VOICE_SEARCH_KEYBOARD_DISCOVERY_TITLE" desc="Title for the Voice Search keyboard shortcut in the discoverability [Length:20em] [iOS only]">
        Voice Search
      </message>
      <message name="IDS_IOS_VOICE_SEARCH_SETTINGS_DEFAULT_LOCALE" desc="The label for the default locale option in the voice search settings [iOS only]">
        Default - <ph name="DEFAULT_LOCALE">$1<ex>English (United States)</ex></ph>
      </message>
      <message name="IDS_IOS_VOICE_SEARCH_SETTING_TITLE" desc="The title for Voice Search setting [Length: 29em] [iOS only]">
        Voice Search
      </message>
      <message name="IDS_IOS_VOICE_SEARCH_SETTING_TTS" desc="The label for setting switch enabling text-to-speech response after voice search [Length: 29em] [iOS only]">
        Speak Answers Back
      </message>
      <message name="IDS_IOS_SIGNIN_PROMO_BOOKMARKS_WITH_UNITY" desc="Text to inform the user that they can sign in and sync to get bookmarks shared between devices. [iOS only]">
        To get your bookmarks on all your devices, turn on sync.
      </message>
      <message name="IDS_IOS_SIGNIN_PROMO_CHANGE_ACCOUNT" desc="Button that the user can press if they are not the profile that Chrome found (opposite of 'Continue as Joe Doe'). The user will be able to choose another account and sign-in with it.">
        Change Accounts
      </message>
      <message name="IDS_IOS_SIGNIN_PROMO_CLOSE_ACCESSIBILITY" desc="Accessibility label to describe the close button action in the sign-in promo element.">
        Close sign-in promo
      </message>
      <message name="IDS_IOS_SIGNIN_PROMO_CONTINUE_AS" desc="Button that the user can press to login without asking the password and continue using Chrome with this acccount. [Length: 9em]">
        Continue as <ph name="NAME">$1<ex>John Doe</ex></ph>
      </message>
      <message name="IDS_IOS_SIGNIN_PROMO_NOT" desc="Button that the user can press if they are not the profile that Chrome found (opposite of 'Continue as Joe Doe').">
        Not <ph name="EMAIL">$1<ex>john.doe@example.com</ex>?</ph>
      </message>
      <message name="IDS_IOS_SIGNIN_PROMO_RECENT_TABS_WITH_UNITY" desc="Text to inform the user that they can sign in and sync to get tabs shared between devices. [iOS only]">
        To get your tabs from your other devices, turn on sync.
      </message>
      <message name="IDS_IOS_SIGNIN_PROMO_SETTINGS_WITH_UNITY" desc="Text to inform the user that they can sign in and sync to get tabs shared between devices. [iOS only]">
        To sync and personalize across devices, turn on sync.
      </message>
      <message name="IDS_IOS_BOOKMARK_CONTEXT_BAR_NEW_FOLDER" desc="Text on the bookmarks context bar to create new folder">
        New Folder
      </message>
      <message name="IDS_IOS_BOOKMARK_CONTEXT_BAR_DELETE" desc="Text on the bookmarks context bar for delete action">
       Delete
      </message>
      <message name="IDS_IOS_BOOKMARK_CONTEXT_BAR_SELECT" desc="Text on the bookmarks context bar for select action">
        Select
      </message>
      <message name="IDS_IOS_BOOKMARK_CONTEXT_BAR_EDIT" desc="Text on the bookmarks context bar for edit action">
        Edit
      </message>
      <message name="IDS_IOS_BOOKMARK_CONTEXT_BAR_MORE" desc="Text on the bookmarks context bar to show more context menu">
        More...
      </message>
      <message name="IDS_IOS_BOOKMARK_CONTEXT_MENU_OPEN" desc="Text on the bookmarks context menu to open all selected bookmarks">
        Open All
      </message>
      <message name="IDS_IOS_BOOKMARK_CONTEXT_MENU_OPEN_INCOGNITO" desc="Text on the bookmarks context menu to open selected bookmark in incognito">
        Open in Incognito
      </message>
      <message name="IDS_IOS_BOOKMARK_CONTEXT_MENU_MOVE" desc="Text on the bookmarks context menu to move selected bookmark">
        Move
      </message>
      <message name="IDS_IOS_BOOKMARK_CONTEXT_MENU_EDIT" desc="Text on the bookmarks context menu to edit selected bookmark">
        Edit Bookmark
      </message>
       <message name="IDS_IOS_BOOKMARK_CONTEXT_MENU_EDIT_FOLDER" desc="Text on the bookmarks context menu to edit selected bookmark folder">
        Edit Folder
      </message>
      <message name="IDS_IOS_OPEN_REPEATEDLY_ANOTHER_APP" desc="Alert to let the user know that the website is trying repeatedly to open another application. [iOS only]">
          This website is repeatedly trying to open another application.
      </message>
      <message name="IDS_IOS_OPEN_REPEATEDLY_ANOTHER_APP_ALLOW" desc="Text on the button, when tapped will allow opening an external application. [iOS only]">
          Allow
      </message>
      <message name="IDS_IOS_OPEN_REPEATEDLY_ANOTHER_APP_BLOCK" desc="Text on the button, when tapped will block opening an external application for this browsing session. [iOS only]">
          Block
      </message>
      <message name="IDS_IOS_PASTE_AND_GO" desc="Text in the editing menu shown when long-pressing the omnibox. Enables pasting the current contents of the clipboard and searching the text or navigating to the url. [iOS only]">
          Paste and Go
      </message>
   </messages>
  </release>
</grit>
