<?xml version="1.0" encoding="utf-8"?>
<grit-part>
  <!-- Clear Browsing Data counters-->
  <message name="IDS_CLEAR_BROWSING_DATA_CALCULATING" desc="A text that is shown while the data volume is being counted.">
    Calculating...
  </message>
  <message name="IDS_DEL_BROWSING_HISTORY_COUNTER" desc="A counter showing how many items of browsing history the user has.">
    {COUNT, plural,
     =0 {None}
     =1 {1 item}
     other {# items}}
  </message>
  <message name="IDS_DEL_BROWSING_HISTORY_COUNTER_SYNCED" desc="A counter showing the user how many local items of browsing history they have, and informing them that more items might be synced. In the case when COUNT is zero, the counter only mentions existence of synced items.">
    {COUNT, plural,
     =0 {At least 1 item on synced devices}
     =1 {1 item (and more on synced devices)}
     other {# items (and more on synced devices)}}
  </message>
  <message name="IDS_DEL_CACHE_COUNTER_UPPER_ESTIMATE" desc="A counter showing that the user has less than X megabytes of cache. The value X will be substituted.">
    Less than <ph name="UPPER_ESTIMATE">$1<ex>328 MB</ex></ph>
  </message>
  <message name="IDS_DEL_CACHE_COUNTER_ALMOST_EMPTY" desc="A counter showing that the user's cache is almost empty, having less than 1 MB of data.">
    Less than 1 MB
  </message>
  <message name="IDS_DEL_CACHE_COUNTER_BASIC" desc="A counter showing the size of the users's cache. The estimate (e.g. '328 MB' will be substituted). It also explains that the cache is used to speed up the loading of websites.">
    Frees up <ph name="SIZE">$1<ex>328 MB</ex></ph>. Some sites may load more slowly on your next visit.
  </message>
  <message name="IDS_DEL_CACHE_COUNTER_UPPER_ESTIMATE_BASIC" desc="A counter showing an upper estimate of the size of the users's cache. The estimate (e.g. '328 MB' will be substituted). It also explains that the cache is used to speed up the loading of websites.">
    Frees up less than <ph name="SIZE">$1<ex>328 MB</ex></ph>. Some sites may load more slowly on your next visit.
  </message>
  <message name="IDS_DEL_CACHE_COUNTER_ALMOST_EMPTY_BASIC" desc="A counter showing that the user's cache is almost empty and explaining that the cache is used to speed up the loading of websites.">
    Frees up less than 1 MB. Some sites may load more slowly on your next visit.
  </message>
  <message name="IDS_DEL_PASSWORDS_COUNTER" desc="A counter showing how many passwords the user has. The list of example domains associated with the user's passwords is denoted by the placeholder DOMAIN_LIST.">
    {COUNT, plural,
     =0 {None}
     =1 {1 password (for <ph name="DOMAIN_LIST">$1<ex>google.com</ex></ph>)}
     =2 {2 passwords (for <ph name="DOMAIN_LIST">$1<ex>google.com, chrome.com</ex></ph>)}
     other {# passwords (for <ph name="DOMAIN_LIST">$1<ex>google.com, chrome.com, and 2 more</ex></ph>)}}
  </message>
  <message name="IDS_DEL_PASSWORDS_COUNTER_SYNCED" desc="A counter showing how many passwords the user has and that they are synced. The list of example domains associated with the user's passwords is denoted by the placeholder DOMAIN_LIST.">
    {COUNT, plural,
     =0 {None}
     =1 {1 password (for <ph name="DOMAIN_LIST">$1<ex>google.com</ex></ph>, synced)}
     =2 {2 passwords (for <ph name="DOMAIN_LIST">$1<ex>google.com, chrome.com</ex></ph>, synced)}
     other {# passwords (for <ph name="DOMAIN_LIST">$1<ex>google.com, chrome.com, and 2 more</ex></ph>, synced)}}
  </message>
  <message name="IDS_DEL_PASSWORDS_DOMAINS_DISPLAY" desc="This message is shown alongside the passwords count displaying example domains. If there is at least one password, we will show at most two example domain names, denoted by the placeholders EXAMPLE_DOMAIN_1 and EXAMPLE_DOMAIN_2. If there are more than two domains, we will also say 'and X more.'">
    {COUNT, plural,
     =0 {None}
     =1 {<ph name="EXAMPLE_DOMAIN_1">$1<ex>youtube.com</ex></ph>}
     =2 {<ph name="EXAMPLE_DOMAIN_1">$1<ex>youtube.com</ex></ph>, <ph name="EXAMPLE_DOMAIN_2">$2<ex>google.com</ex></ph>}
     other {<ph name="EXAMPLE_DOMAIN_1">$1<ex>youtube.com</ex></ph>, <ph name="EXAMPLE_DOMAIN_2">$2<ex>google.com</ex></ph>, <ph name="AND_MORE">$3<ex>and 4 more</ex></ph>}}
  </message>
  <message name="IDS_DEL_PASSWORDS_COUNTER_AND_X_MORE" desc="This message is added at the end of a sentence enumerating example domains where passwords would be deleted, e.g.: 'youtube.com, mail.google.com, and 4 more'">
    {COUNT, plural,
    =1 {and 1 more}
    other {and # more}}
  </message>
  <message name="IDS_DEL_SIGNIN_DATA_COUNTER" desc="A counter showing how many sign-in data items the user has.">
    {COUNT, plural,
     =0 {None}
     =1 {sign-in data for 1 account}
     other {sign-in data for # accounts}}
  </message>
  <message name="IDS_DEL_PASSWORDS_AND_SIGNIN_DATA_COUNTER_NONE" desc="A counter showing that the user has no passwords or other sign-in data.">
    None
  </message>
  <message name="IDS_DEL_PASSWORDS_AND_SIGNIN_DATA_COUNTER_COMBINATION" desc="A counter showing that the user has passwords and other sign-in data. The types and their counts will be substituted, this message only provides the semicolon separator.">
    <ph name="PASSWORDS">$1<ex>2 passwords</ex></ph>; <ph name="SIGNIN_DATA">$2<ex>sign-in data from 1 account</ex></ph>
  </message>
  <message name="IDS_DEL_SITE_SETTINGS_COUNTER" desc="A counter showing how many sites with site settings the user has.">
    {COUNT, plural,
     =0 {None}
     =1 {1 site}
     other {# sites}}
  </message>
  <message name="IDS_DEL_AUTOFILL_COUNTER_EMPTY" desc="A counter showing that the user has no form data stored.">
    None
  </message>
  <message name="IDS_DEL_AUTOFILL_COUNTER_CREDIT_CARDS" desc="A counter showing how many credit cards the user has.">
    {COUNT, plural,
     =1 {1 credit card}
     other {# credit cards}}
  </message>
  <message name="IDS_DEL_AUTOFILL_COUNTER_ADDRESSES" desc="A counter showing how many addresses the user has.">
    {COUNT, plural,
     =1 {1 address}
     other {# addresses}}
  </message>
  <message name="IDS_DEL_AUTOFILL_COUNTER_SUGGESTIONS" desc="A counter showing how many form autocompletion suggestions the user has.">
    {COUNT, plural,
     =1 {1 suggestion}
     other {# suggestions}}
  </message>
  <message name="IDS_DEL_AUTOFILL_COUNTER_SUGGESTIONS_LONG" desc="A counter showing how many other form autocompletion suggestions the user has. Note that this message is shown at the end of an enumeration of form data types, such as '2 addresses, 5 others suggestions'.">
    {COUNT, plural,
     =1 {1 other suggestion}
     other {# other suggestions}}
  </message>
  <message name="IDS_DEL_AUTOFILL_COUNTER_SUGGESTIONS_SHORT" desc="A counter showing how many other items of form data the user has. Note that this message is shown at the end of an enumeration of form data types, such as '3 credit cards, 2 addresses, 5 others'.">
    {COUNT, plural,
     =1 {1 other}
     other {# others}}
  </message>
  <message name="IDS_DEL_AUTOFILL_COUNTER_ONE_TYPE_SYNCED" desc="A counter showing that the user has one type of form data and that it is synced. The type will be substituted, this message only provides the (synced) part.">
    <ph name="TYPE_1">$1<ex>2 credit cards</ex></ph> (synced)
  </message>
  <message name="IDS_DEL_AUTOFILL_COUNTER_TWO_TYPES" desc="A counter showing that the user has two types of form data. The types and their counts will be substituted, this message only provides the comma separator.">
    <ph name="TYPE_1">$1<ex>2 credit cards</ex></ph>, <ph name="TYPE_2">$2<ex>1 address</ex></ph>
  </message>
  <message name="IDS_DEL_AUTOFILL_COUNTER_TWO_TYPES_SYNCED" desc="A counter showing that the user has two types of form data and that they are synced. The types and their counts will be substituted, this message only provides the comma separator.">
    <ph name="TYPE_1">$1<ex>2 credit cards</ex></ph>, <ph name="TYPE_2">$2<ex>1 address</ex></ph> (synced)
  </message>
  <message name="IDS_DEL_AUTOFILL_COUNTER_THREE_TYPES" desc="A counter showing that the user has three types of form data. The types and their counts will be substituted, this message only provides the comma separators.">
    <ph name="TYPE_1">$1<ex>2 credit cards</ex></ph>, <ph name="TYPE_2">$2<ex>1 address</ex></ph>, <ph name="TYPE_3">$3<ex>5 others</ex></ph>
  </message>
  <message name="IDS_DEL_AUTOFILL_COUNTER_THREE_TYPES_SYNCED" desc="A counter showing that the user has three types of form data and that they are synced. The types and their counts will be substituted, this message only provides the comma separators.">
    <ph name="TYPE_1">$1<ex>2 credit cards</ex></ph>, <ph name="TYPE_2">$2<ex>1 address</ex></ph>, <ph name="TYPE_3">$3<ex>5 others</ex></ph> (synced)
  </message>
  <message name="IDS_DEL_COOKIES_COUNTER" desc="A static message shown in the Clear Browsing Data dialog explaining to the user that deleting cookies and site data will result in the user being signed out of most websites.">
    This will sign you out of most websites.
  </message>
  <message name="IDS_DEL_COOKIES_COUNTER_ADVANCED" desc="A counter showing the number of sites that use cookies.">
    {COUNT, plural,
      =0 {None}
      =1 {From 1 site }
      other {From # sites }}
  </message>
  <message name="IDS_DEL_COOKIES_COUNTER_ADVANCED_WITH_EXCEPTION" desc="A counter showing the number of sites that use cookies, followed by an exception message.">
    {COUNT, plural,
      =0 {None}
      =1 {From 1 site (you won't be signed out of your Google Account)}
      other {From # sites (you won't be signed out of your Google Account)}}
  </message>
  <message name="IDS_DEL_DOWNLOADS_COUNTER" desc="A counter showing how many items of downloads history the user has.">
    {COUNT, plural,
     =0 {None}
     =1 {1 item}
     other {# items}}
  </message>
  <message name="IDS_DEL_HOSTED_APPS_COUNTER" desc="A counter showing how many hosted apps the user has. We show the number of apps, and in the cases where there is one or two apps, we will also give two example app names, denoted as placeholders EXAMPLE_APP_1 and EXAMPLE_APP_2. If there are more than two apps, we will give two examples and say 'and X more'. The 'and X more' string, denoted by the placeholder AND_MORE, will be supplied from another message.">
    {COUNT, plural,
     =0 {None}
     =1 {1 app (<ph name="EXAMPLE_APP_1">$1<ex>Gmail</ex></ph>)}
     =2 {2 apps (<ph name="EXAMPLE_APP_1">$1<ex>Gmail</ex></ph>, <ph name="EXAMPLE_APP_2">$2<ex>Youtube</ex></ph>)}
     other {# apps (<ph name="EXAMPLE_APP_1">$1<ex>Gmail</ex></ph>, <ph name="EXAMPLE_APP_2">$2<ex>Youtube</ex></ph>, <ph name="AND_MORE">$3<ex>and 9 more</ex></ph>)}}
  </message>
  <message name="IDS_DEL_HOSTED_APPS_COUNTER_AND_X_MORE" desc="This message stands at the end of a sentence enumerating hosted apps the user has installed, e.g.: 'App1, App2, and 5 more'">
    {COUNT, plural,
     =1 {and 1 more}
     other {and # more}}
  </message>
</grit-part>
