<?xml version="1.0" encoding="utf-8"?>
<grit-part>

      <message name="IDS_DEFAULT_TAB_TITLE" desc="The default title in a tab.">
        Untitled
      </message>
      <message name="IDS_DOWNLOAD_TAB_TITLE" desc="The title for an empty Tab, which displays Download Manager.">
        Download
      </message>

      <!-- Sad Tab Strings -->
      <message name="IDS_SAD_TAB_TITLE" desc="The title of the sad tab page that is shown when a tab crashes. This is intended to be a humorous exclamation of dismay." formatter_data="android_java">
        Aw, Snap!
      </message>
      <message name="IDS_SAD_TAB_MESSAGE" desc="The message displayed on the sad tab page." formatter_data="android_java">
        Something went wrong while displaying this webpage.
      </message>
      <message name="IDS_SAD_TAB_HELP_MESSAGE" desc="The help message displayed on the sad tab page, with IDS_SAD_TAB_HELP_LINK embedded as a link to help.">
        If you're seeing this frequently, try these <ph name="HELP_LINK">$1<ex>suggestions</ex></ph>.
      </message>
      <message name="IDS_SAD_TAB_HELP_LINK" desc="The link text displayed on the sad tab page linking the user to a help article.">
        suggestions
      </message>
      <message name="IDS_SAD_TAB_RELOAD_LABEL" desc="Button label in the sad tab page for reloading a page." formatter_data="android_java">
        Reload
      </message>
      <if expr="is_android or is_ios">
        <message name="IDS_SAD_TAB_SEND_FEEDBACK_LABEL" desc="Button label in the sad tab page for sending feedback. This label replaces the reload button after a crash happens twice in a row." formatter_data="android_java">
          Send Feedback
        </message>
      </if>
      <if expr="is_win">
        <message name="IDS_SAD_TAB_OOM_TITLE" desc="The title of the web page displayed if content in Chrome browser does not load due to the browser being out of memory, and a reload failed to fix the issue.">
          Not enough memory to open this page
        </message>
      </if>
      <message name="IDS_SAD_TAB_RELOAD_TITLE" desc="The title of the web page displayed if content in Chrome browser does not load for an unknown reason, and a reload failed to fix the issue." formatter_data="android_java">
        Can't open this page
      </message>
      <message name="IDS_SAD_TAB_OOM_MESSAGE_TABS" desc="The message displayed on the web page if content in Chrome browser does not load due to the browser being out of memory, a reload failed to fix the issue and other tabs are open.">
        Try closing other tabs or programs to free up memory.
      </message>
      <message name="IDS_SAD_TAB_OOM_MESSAGE_NOTABS" desc="The message displayed on the web page if content in Chrome browser does not load due to the browser being out of memory, a reload failed to fix the issue and no other tabs are open.">
        Try exiting other programs to free up memory.
      </message>
      <message name="IDS_SAD_TAB_RELOAD_TRY" desc="The message displayed on the web page if content in Chrome browser does not load and a reload failed to fix the issue. Introduces a bulleted list of solutions/tips for the user to try." formatter_data="android_java">
        Try the following tips:
      </message>
      <if expr="is_macosx">
        <message name="IDS_SAD_TAB_RELOAD_INCOGNITO" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to open the web page in Chrome's Incognito mode.">
          Open page in a new Incognito window (⇧⌘N)
        </message>
      </if>
      <if expr="is_win or is_linux or chromeos">
        <message name="IDS_SAD_TAB_RELOAD_INCOGNITO" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to open the web page in Chrome's Incognito mode.">
          Open page in a new Incognito window (Ctrl-Shift-N)
        </message>
      </if>
      <if expr="is_android or is_ios">
        <message name="IDS_SAD_TAB_RELOAD_INCOGNITO" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to open the web page in Chrome's Incognito mode." formatter_data="android_java">
          Open page in a new Incognito tab
        </message>
      </if>
      <if expr="is_macosx or chromeos">
        <message name="IDS_SAD_TAB_RELOAD_CLOSE_TABS" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to close other Chrome tabs or apps running on their computer (Mac, Chrome OS).">
          Close other tabs or apps
        </message>
      </if>
      <if expr="is_linux and not chromeos">
        <message name="IDS_SAD_TAB_RELOAD_CLOSE_TABS" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to close other Chrome tabs or programs running on their computer.">
          Close other tabs or programs
        </message>
      </if>
      <if expr="is_macosx or chromeos or is_ios">
        <message name="IDS_SAD_TAB_RELOAD_CLOSE_NOTABS" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to close other apps running on their computer or device.">
          Close other apps
        </message>
      </if>
      <if expr="is_linux and not chromeos">
        <message name="IDS_SAD_TAB_RELOAD_CLOSE_NOTABS" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to close other programs running on their computer (Linux).">
          Close other programs
        </message>
      </if>
      <if expr="_google_chrome">
        <message name="IDS_SAD_TAB_RELOAD_RESTART_BROWSER" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to restart Chrome." formatter_data="android_java">
          Restart Chrome
        </message>
      </if>
      <if expr="not _google_chrome">
        <message name="IDS_SAD_TAB_RELOAD_RESTART_BROWSER" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to restart Chromium." formatter_data="android_java">
          Restart Chromium
        </message>
      </if>
      <if expr="is_win or is_linux or is_macosx or chromeos">
        <message name="IDS_SAD_TAB_RELOAD_RESTART_DEVICE" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to restart their computer.">
          Restart your computer
        </message>
      </if>
      <if expr="is_android or is_ios">
        <message name="IDS_SAD_TAB_RELOAD_RESTART_DEVICE" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to restart their device (i.e. phone or tablet)." formatter_data="android_java">
          Restart your device
        </message>
      </if>
      <if expr="is_android or is_ios">
        <message name="IDS_SAD_TAB_RELOAD_LEARN_MORE" desc="The link text displayed on the sad tab page pointing the users to a help article if a reload failed to fix the issue." meaning="Learn more about web pages that fail to load" formatter_data="android_java">
          Learn more
        </message>
      </if>
      <if expr="is_win or is_linux or is_macosx or chromeos">
        <message name="IDS_SAD_TAB_ERROR_CODE" desc="The message displayed on the crashed web page indicating the type of the crash.">
          Error code: <ph name="ERROR_CODE">$1<ex>STATUS_ACCESS_VIOLATION</ex></ph>
        </message>
</if>

      <!-- New Tab -->
      <message name="IDS_NEW_TAB_TITLE"
               desc="Title of the new tab page, not to be confused with the action of opening a new tab.">
        New Tab
      </message>
      <if expr="not is_android">
        <message name="IDS_NEW_TAB_OTR_HEADING"
                 desc="Heading used when a person opens an OTR window">
          You’ve gone incognito
        </message>
        <message name="IDS_NEW_TAB_OTR_DESCRIPTION"
                 desc="Used when a person opens an OTR window">
          Pages you view in incognito tabs won’t stick around in your browser’s history, cookie store, or search history after you’ve closed all of your incognito tabs. Any files you download or bookmarks you create will be kept.
        </message>
        <message name="IDS_NEW_TAB_OTR_LEARN_MORE_LINK"
                 desc="OTR window link text to learn more">
          Learn more
        </message>
        <message name="IDS_NEW_TAB_OTR_MESSAGE_WARNING"
                 desc="OTR window warning message. This follows the IDS_NEW_TAB_OTR_DESCRIPTION paragraph">
          However, you aren’t invisible. Going incognito doesn’t hide your browsing from your employer, your internet service provider, or the websites you visit.
        </message>
      </if>
      <message name="IDS_NEW_TAB_UNDO_THUMBNAIL_REMOVE"
         desc="Action link text to undo removing a thumbnail from the most visited section.">
        Undo
      </message>

      <!-- Incognito Tab redesign strings -->
      <!-- TODO(msramek): Merge with the above section once this is fully launched. -->

      <message name="IDS_NEW_TAB_OTR_TITLE" desc="Title of the Incognito new tab page. The Incognito mode provides private browsing experience by hiding browsing activity from other people using the same device. However, it does not make the user completely invisible or anonymous; please don't translate it as such." formatter_data="android_java">
        You've gone incognito
      </message>
      <message name="IDS_NEW_TAB_OTR_SUBTITLE" desc="Subtitle of the Incognito new tab page, explaining to the user that the Incognito mode hides their browsing activity from other people using the same device. The second sentence clarifies that there are two important exceptions from this rule - downloaded files and added bookmarks will be persisted even after the Incognito session is closed." formatter_data="android_java">
        Now you can browse privately, and other people who use this device won't see your activity. However, downloads and bookmarks will be saved.
      </message>
      <message name="IDS_NEW_TAB_OTR_NOT_SAVED" desc="Bullet points listing data that are not saved in the Incognito mode. 'Browsing history' means a history of visited websites. 'Cookies and site data' refers to data saved by websites on the user's device (e.g. sign-in state, preferences, etc.). 'Information entered in forms' refers to names, addresses, passwords etc. that users enter into forms on the web." formatter_data="android_java">
        Chrome <ph name="BEGIN_EMPHASIS">&lt;em&gt;</ph>won't save<ph name="END_EMPHASIS">&lt;/em&gt;</ph> the following information:
        <ph name="BEGIN_LIST">&lt;ul&gt;</ph>
          <ph name="LIST_ITEM">&lt;li&gt;</ph>Your browsing history
          <ph name="LIST_ITEM">&lt;li&gt;</ph>Cookies and site data
          <ph name="LIST_ITEM">&lt;li&gt;</ph>Information entered in forms
        <ph name="END_LIST">&lt;/ul&gt;</ph>
      </message>
      <message name="IDS_NEW_TAB_OTR_VISIBLE" desc="Bullet points listing entities that might be able to see the user's Incognito activity. The bullet points elaborate on the fact that Incognito only provides privacy with respect to other users on the same device. Websites you visit still know that you visited them. Your employer, school, and/or internet service provider can still monitor network traffic, even if it comes from the Incognito mode." formatter_data="android_java">
        Your activity <ph name="BEGIN_EMPHASIS">&lt;em&gt;</ph>might still be visible<ph name="END_EMPHASIS">&lt;/em&gt;</ph> to:
        <ph name="BEGIN_LIST">&lt;ul&gt;</ph>
          <ph name="LIST_ITEM">&lt;li&gt;</ph>Websites you visit
          <ph name="LIST_ITEM">&lt;li&gt;</ph>Your employer or school
          <ph name="LIST_ITEM">&lt;li&gt;</ph>Your internet service provider
        <ph name="END_LIST">&lt;/ul&gt;</ph>
      </message>
      <message name="IDS_NEW_TAB_OTR_COOKIE_CONTROLS_CONTROLLED_TOOLTIP_TEXT"
               desc="Text displayed in the settings tooltip when third-party cookie blocking is managed or turned on by the user."
               formatter_data="android_java">
        This setting is controlled in Cookies settings.
      </message>
      <message name="IDS_NEW_TAB_OTR_THIRD_PARTY_COOKIE" desc="Label for the Block 3rd-party cookie checkbox on the Cookies category." formatter_data="android_java">
        Block third-party cookies
      </message>
      <message name="IDS_NEW_TAB_OTR_THIRD_PARTY_COOKIE_SUBLABEL" desc="A sub-label below the Block 3rd-party cookie checkbox." formatter_data="android_java">
        When on, sites can't use cookies that track you across the web. Features on some sites may break.
      </message>

</grit-part>
