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

  <if expr="is_android or is_ios">
    <message name="IDS_NTP_TITLE_NO_SUGGESTIONS" desc="On the New Tab Page, title text explaining there is no content." formatter_data="android_java">
      That’s all for now
    </message>
  </if>

  <message name="IDS_NTP_ARTICLE_SUGGESTIONS_NOT_AVAILABLE" desc="On the New Tab Page, text of a toast transiently shown to the user to indicate that no article could be fetched.">
    Articles aren't available right now
  </message>

  <if expr="use_titlecase">
    <message name="IDS_NTP_ARTICLE_SUGGESTIONS_SECTION_HEADER" desc="Header of the articles section, which is a list of news articles displayed as cards on the New Tab Page.">
      Articles for You
    </message>
  </if>

  <if expr="not use_titlecase">
    <message name="IDS_NTP_ARTICLE_SUGGESTIONS_SECTION_HEADER" desc="Header of the articles section, which is a list of news articles displayed as cards on the New Tab Page." formatter_data="android_java">
      Articles for you
    </message>
  </if>

  <message name="IDS_NTP_ARTICLE_SUGGESTIONS_SECTION_EMPTY" desc="On the New Tab Page, text of the card explaining to the user that they can expect to see suggested articles in this area in the future.">
    Your suggested articles appear here
  </message>

  <!-- When you change this string, please change IDS_NTP_PHYSICAL_WEB_PAGE_SUGGESTIONS_SECTION_EMPTY description accordingly. -->
  <message name="IDS_NTP_PHYSICAL_WEB_PAGE_SUGGESTIONS_SECTION_HEADER" desc="Header of the physical web section. The physical web section shows a list of physical web pages available near the user. A physical web page is a URL transmitted over bluetooth by a low power device (a beacon). The user must be at most 100 meters (generally even closer) away from the beacon to receive the URL. This allows the URL to be context based (e.g. one is at a train station and the schedule is available as a physical web page).">
    Nearby
  </message>

  <message name="IDS_NTP_PHYSICAL_WEB_PAGE_SUGGESTIONS_SECTION_EMPTY" desc="On the New Tab Page, text of the card explaining to the user that they can expect to see physical web page suggestions in this area in the future, but currently this area is empty. Connection to the physical web section header (which is currently 'Nearby') must be clear, but the words (i.e. translation of 'nearby') may differ. The physical web section shows a list of physical web pages available near the user. A physical web page is a URL transmitted over bluetooth by a low power device (a beacon). The user must be at most 100 meters (generally even closer) away from the beacon to receive the URL. This allows the URL to be context based (e.g. one is at a train station and the schedule is available as a physical web page).">
    Your nearby suggestions appear here
  </message>

  <if expr="use_titlecase">
    <message name="IDS_NTP_READING_LIST_SUGGESTIONS_SECTION_HEADER" desc="Header of the Reading List section. The Reading List section shows a list of unread pages from the Reading List.">
      Reading List
    </message>
  </if>

  <if expr="not use_titlecase">
    <message name="IDS_NTP_READING_LIST_SUGGESTIONS_SECTION_HEADER" desc="Header of the Reading List section. The Reading List section shows a list of unread pages from the Reading List.">
      Reading list
    </message>
  </if>

  <message name="IDS_NTP_READING_LIST_SUGGESTIONS_SECTION_EMPTY" desc="On the New Tab Page, text of the card explaining to the user that they can expect to see Reading List articles in this area in the future.">
    Pages from your reading list appear here
  </message>

  <message name="IDS_NTP_RECENT_TAB_SUGGESTIONS_SECTION_HEADER" desc="Header of the recent tabs section, which is a list of recent open tabs, which are currently opened and were automatically saved for offline consumption. This list is displayed as cards on the New Tab Page. The saved version is opened only if there are problems with the data connection (e.g. slow or absent).">
    Open tabs
  </message>

  <message name="IDS_NTP_RECENT_TAB_SUGGESTIONS_SECTION_EMPTY" desc="On the New Tab Page, text of the card explaining to the user that they can expect to see recent open tabs in this area in the future, but currently this area is empty. Recent open tabs - the tabs which are currently opened and were automatically saved for offline consumption.">
    Your open tabs appear here
  </message>

  <message name="IDS_NTP_NOTIFICATIONS_READ_THIS_STORY_AND_MORE" desc="Used in notifications about news articles. The notification first gives the title of a headline article, then uses this string to identify the publisher of that article and the number of additional articles available to read. Articles come in batches of 10, from a variety of publishers, so usually the number of additional articles is 9 (headline article + 9 others = 10 articles).">
    From <ph name="ARTICLE_PUBLISHER">$1<ex>World News Corporation</ex></ph>. Read this and <ph name="OTHER_ARTICLE_COUNT">$2<ex>9</ex></ph> other stories.
  </message>

</grit-part>
