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

<!-- This file contains definitions of resources that will be translated for
each locale. Specifically, these are UI strings that are used by app/ that
need to be translated for each locale.-->

<grit base_dir="." latest_public_release="0" current_release="1"
      source_lang_id="en" enc_check="möl">
  <outputs>
    <!-- TODO add each of your output files.  Modify the three below, and add
    your own for your various languages.  See the user's guide
    (http://wiki/Main/GritUsersGuide) for more details.
    Note that all output references are relative to the output directory
    which is specified at build time. -->
    <output filename="grit/ui_strings.h" type="rc_header">
      <emit emit_type='prepend'></emit>
    </output>
    <output filename="ui_strings_am.pak" type="data_package" lang="am" />
    <output filename="ui_strings_ar.pak" type="data_package" lang="ar" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="ui_strings_ast.pak" type="data_package" lang="ast" />
    </if>
    <output filename="ui_strings_bg.pak" type="data_package" lang="bg" />
    <output filename="ui_strings_bn.pak" type="data_package" lang="bn" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="ui_strings_bs.pak" type="data_package" lang="bs" />
    </if>
    <output filename="ui_strings_ca.pak" type="data_package" lang="ca" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="ui_strings_ca@valencia.pak" type="data_package" lang="ca@valencia" />
    </if>
    <output filename="ui_strings_cs.pak" type="data_package" lang="cs" />
    <output filename="ui_strings_da.pak" type="data_package" lang="da" />
    <output filename="ui_strings_de.pak" type="data_package" lang="de" />
    <output filename="ui_strings_el.pak" type="data_package" lang="el" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="ui_strings_en-AU.pak" type="data_package" lang="en-AU" />
    </if>
    <output filename="ui_strings_en-GB.pak" type="data_package" lang="en-GB" />
    <output filename="ui_strings_en-US.pak" type="data_package" lang="en" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="ui_strings_eo.pak" type="data_package" lang="eo" />
    </if>
    <output filename="ui_strings_es.pak" type="data_package" lang="es" />
    <output filename="ui_strings_es-419.pak" type="data_package" lang="es-419" />
    <output filename="ui_strings_et.pak" type="data_package" lang="et" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="ui_strings_eu.pak" type="data_package" lang="eu" />
    </if>
    <output filename="ui_strings_fa.pak" type="data_package" lang="fa" />
    <output filename="ui_strings_fake-bidi.pak" type="data_package" lang="fake-bidi" />
    <output filename="ui_strings_fi.pak" type="data_package" lang="fi" />
    <output filename="ui_strings_fil.pak" type="data_package" lang="fil" />
    <output filename="ui_strings_fr.pak" type="data_package" lang="fr" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="ui_strings_gl.pak" type="data_package" lang="gl" />
    </if>
    <output filename="ui_strings_gu.pak" type="data_package" lang="gu" />
    <output filename="ui_strings_he.pak" type="data_package" lang="he" />
    <output filename="ui_strings_hi.pak" type="data_package" lang="hi" />
    <output filename="ui_strings_hr.pak" type="data_package" lang="hr" />
    <output filename="ui_strings_hu.pak" type="data_package" lang="hu" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="ui_strings_hy.pak" type="data_package" lang="hy" />
      <output filename="ui_strings_ia.pak" type="data_package" lang="ia" />
    </if>
    <output filename="ui_strings_id.pak" type="data_package" lang="id" />
    <output filename="ui_strings_it.pak" type="data_package" lang="it" />
    <output filename="ui_strings_ja.pak" type="data_package" lang="ja" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="ui_strings_ka.pak" type="data_package" lang="ka" />
    </if>
    <output filename="ui_strings_kn.pak" type="data_package" lang="kn" />
    <output filename="ui_strings_ko.pak" type="data_package" lang="ko" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="ui_strings_ku.pak" type="data_package" lang="ku" />
      <output filename="ui_strings_kw.pak" type="data_package" lang="kw" />
    </if>
    <output filename="ui_strings_lt.pak" type="data_package" lang="lt" />
    <output filename="ui_strings_lv.pak" type="data_package" lang="lv" />
    <output filename="ui_strings_ml.pak" type="data_package" lang="ml" />
    <output filename="ui_strings_mr.pak" type="data_package" lang="mr" />
    <output filename="ui_strings_ms.pak" type="data_package" lang="ms" />
    <output filename="ui_strings_nl.pak" type="data_package" lang="nl" />
    <!-- The translation console uses 'no' for Norwegian Bokmål. It should
         be 'nb'. -->
    <output filename="ui_strings_nb.pak" type="data_package" lang="no" />
    <output filename="ui_strings_pl.pak" type="data_package" lang="pl" />
    <if expr="pp_ifdef('ios')">
      <!-- iOS uses pt for pt-BR -->
      <output filename="ui_strings_pt.pak" type="data_package" lang="pt-BR" />
    </if>
    <if expr="not pp_ifdef('ios')">
      <output filename="ui_strings_pt-BR.pak" type="data_package" lang="pt-BR" />
    </if>
    <output filename="ui_strings_pt-PT.pak" type="data_package" lang="pt-PT" />
    <output filename="ui_strings_ro.pak" type="data_package" lang="ro" />
    <output filename="ui_strings_ru.pak" type="data_package" lang="ru" />
    <output filename="ui_strings_sk.pak" type="data_package" lang="sk" />
    <output filename="ui_strings_sl.pak" type="data_package" lang="sl" />
    <output filename="ui_strings_sr.pak" type="data_package" lang="sr" />
    <output filename="ui_strings_sv.pak" type="data_package" lang="sv" />
    <output filename="ui_strings_sw.pak" type="data_package" lang="sw" />
    <output filename="ui_strings_ta.pak" type="data_package" lang="ta" />
    <output filename="ui_strings_te.pak" type="data_package" lang="te" />
    <output filename="ui_strings_th.pak" type="data_package" lang="th" />
    <output filename="ui_strings_tr.pak" type="data_package" lang="tr" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <output filename="ui_strings_ug.pak" type="data_package" lang="ug" />
    </if>
    <output filename="ui_strings_uk.pak" type="data_package" lang="uk" />
    <output filename="ui_strings_vi.pak" type="data_package" lang="vi" />
    <output filename="ui_strings_zh-CN.pak" type="data_package" lang="zh-CN" />
    <output filename="ui_strings_zh-TW.pak" type="data_package" lang="zh-TW" />
  </outputs>
  <translations>
    <file path="ui_strings_am.xtb" lang="am" />
    <file path="ui_strings_ar.xtb" lang="ar" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../../third_party/launchpad_translations/ui_strings_ast.xtb" lang="ast" />
    </if>
    <file path="ui_strings_bg.xtb" lang="bg" />
    <file path="ui_strings_bn.xtb" lang="bn" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../../third_party/launchpad_translations/ui_strings_bs.xtb" lang="bs" />
    </if>
    <file path="ui_strings_ca.xtb" lang="ca" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../../third_party/launchpad_translations/ui_strings_ca-valencia.xtb" lang="ca@valencia" />
    </if>
    <file path="ui_strings_cs.xtb" lang="cs" />
    <file path="ui_strings_da.xtb" lang="da" />
    <file path="ui_strings_de.xtb" lang="de" />
    <file path="ui_strings_el.xtb" lang="el" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../../third_party/launchpad_translations/ui_strings_en-AU.xtb" lang="en-AU" />
    </if>
    <file path="ui_strings_en-GB.xtb" lang="en-GB" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../../third_party/launchpad_translations/ui_strings_eo.xtb" lang="eo" />
    </if>
    <file path="ui_strings_es.xtb" lang="es" />
    <file path="ui_strings_es-419.xtb" lang="es-419" />
    <file path="ui_strings_et.xtb" lang="et" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../../third_party/launchpad_translations/ui_strings_eu.xtb" lang="eu" />
    </if>
    <file path="ui_strings_fa.xtb" lang="fa" />
    <file path="ui_strings_fi.xtb" lang="fi" />
    <file path="ui_strings_fil.xtb" lang="fil" />
    <file path="ui_strings_fr.xtb" lang="fr" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../../third_party/launchpad_translations/ui_strings_gl.xtb" lang="gl" />
    </if>
    <file path="ui_strings_gu.xtb" lang="gu" />
    <file path="ui_strings_hi.xtb" lang="hi" />
    <file path="ui_strings_hr.xtb" lang="hr" />
    <file path="ui_strings_hu.xtb" lang="hu" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../../third_party/launchpad_translations/ui_strings_hy.xtb" lang="hy" />
      <file path="../../../third_party/launchpad_translations/ui_strings_ia.xtb" lang="ia" />
    </if>
    <file path="ui_strings_id.xtb" lang="id" />
    <file path="ui_strings_it.xtb" lang="it" />
    <!-- The translation console uses 'iw' for Hebrew, but we use 'he'. -->
    <file path="ui_strings_iw.xtb" lang="he" />
    <file path="ui_strings_ja.xtb" lang="ja" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../../third_party/launchpad_translations/ui_strings_ka.xtb" lang="ka" />
    </if>
    <file path="ui_strings_kn.xtb" lang="kn" />
    <file path="ui_strings_ko.xtb" lang="ko" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../../third_party/launchpad_translations/ui_strings_ku.xtb" lang="ku" />
      <file path="../../../third_party/launchpad_translations/ui_strings_kw.xtb" lang="kw" />
    </if>
    <file path="ui_strings_lt.xtb" lang="lt" />
    <file path="ui_strings_lv.xtb" lang="lv" />
    <file path="ui_strings_ml.xtb" lang="ml" />
    <file path="ui_strings_mr.xtb" lang="mr" />
    <file path="ui_strings_ms.xtb" lang="ms" />
    <file path="ui_strings_nl.xtb" lang="nl" />
    <file path="ui_strings_no.xtb" lang="no" />
    <file path="ui_strings_pl.xtb" lang="pl" />
    <file path="ui_strings_pt-BR.xtb" lang="pt-BR" />
    <file path="ui_strings_pt-PT.xtb" lang="pt-PT" />
    <file path="ui_strings_ro.xtb" lang="ro" />
    <file path="ui_strings_ru.xtb" lang="ru" />
    <file path="ui_strings_sk.xtb" lang="sk" />
    <file path="ui_strings_sl.xtb" lang="sl" />
    <file path="ui_strings_sr.xtb" lang="sr" />
    <file path="ui_strings_sv.xtb" lang="sv" />
    <file path="ui_strings_sw.xtb" lang="sw" />
    <file path="ui_strings_ta.xtb" lang="ta" />
    <file path="ui_strings_te.xtb" lang="te" />
    <file path="ui_strings_th.xtb" lang="th" />
    <file path="ui_strings_tr.xtb" lang="tr" />
    <if expr="pp_ifdef('use_third_party_translations')">
      <file path="../../../third_party/launchpad_translations/ui_strings_ug.xtb" lang="ug" />
    </if>
    <file path="ui_strings_uk.xtb" lang="uk" />
    <file path="ui_strings_vi.xtb" lang="vi" />
    <file path="ui_strings_zh-CN.xtb" lang="zh-CN" />
    <file path="ui_strings_zh-TW.xtb" lang="zh-TW" />
  </translations>
  <release seq="1" allow_pseudo="false">
    <messages fallback_to_english="true">

      <!-- time format -->
      <message name="IDS_TIME_SECS_DEFAULT"
               desc="This is necessary for every language. This is the default for all the numbers NOT covered by special cases (singular, dual/two, few, many) some languages need. For CJK, Vietnamese, Turkish and Kannada, this is the only string necessary. For languages with singular-plural distinction, this is the generic plural. For Lithuanian, NUMBER_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> secs
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_TIME_SEC_SINGULAR"
               desc="NUMBER_ONE is one or one-like numbers : 1 (many European and most Indian languages), 1 and 0 (French, Brazilian Portuguese and Hindi), 1,21,31, .. (Russian, Ukrainian, Croatian, Serbian, Latvian, Lithuanian), or 1, 101, 201, .. (Slovenian). Do NOT translate this for CJK, Vietnamese, Turkish and Kannada">
        <ph name="NUMBER_ONE"><ex>1</ex>#</ph> sec
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_TIME_SEC_SINGULAR"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_TIME_SECS_ZERO"
               desc="NUMBER_ZERO is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        <ph name="NUMBER_ZERO"><ex>0</ex>#</ph> secs
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_TIME_SECS_ZERO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_TIME_SECS_TWO"
               desc="NUMBER_TWO is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        <ph name="NUMBER_TWO"><ex>2</ex>#</ph> secs
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_SECS_TWO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_TIME_SECS_FEW"
               desc="NUMBER_FEW is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        <ph name="NUMBER_FEW"><ex>3</ex>#</ph> secs
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_SECS_FEW"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_TIME_SECS_MANY"
               desc="NUMBER_MANY is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        <ph name="NUMBER_MANY"><ex>23</ex>#</ph> secs
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_TIME_SECS_MANY"
               desc="">
        NA
      </message>
      </if>

      <message name="IDS_TIME_MINS_DEFAULT"
               desc="This is necessary for every language. This is the default for all the numbers NOT covered by special cases (singular, dual/two, few, many) some languages need. For CJK, Vietnamese, Turkish and Kannada, this is the only string necessary. For languages with singular-plural distinction, this is the generic plural. For Lithuanian, NUMBER_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> mins
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_TIME_MIN_SINGULAR"
               desc="NUMBER_ONE is one or one-like numbers : 1 (many European and most Indian languages), 1 and 0 (French, Brazilian Portuguese and Hindi), 1,21,31, .. (Russian, Ukrainian, Croatian, Serbian, Latvian, Lithuanian), or 1, 101, 201, .. (Slovenian). Do NOT translate this for CJK, Vietnamese, Turkish and Kannada">
        <ph name="NUMBER_ONE"><ex>1</ex>#</ph> min
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_TIME_MIN_SINGULAR"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_TIME_MINS_ZERO"
               desc="NUMBER_ZERO is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        <ph name="NUMBER_ZERO"><ex>0</ex>#</ph> mins
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_TIME_MINS_ZERO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_TIME_MINS_TWO"
               desc="NUMBER_TWO is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        <ph name="NUMBER_TWO"><ex>2</ex>#</ph> mins
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_MINS_TWO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_TIME_MINS_FEW"
               desc="NUMBER_FEW is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        <ph name="NUMBER_FEW"><ex>3</ex>#</ph> mins
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_MINS_FEW"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_TIME_MINS_MANY"
               desc="NUMBER_MANY is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        <ph name="NUMBER_MANY"><ex>23</ex>#</ph> mins
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_TIME_MINS_MANY"
               desc="">
        NA
      </message>
      </if>


      <message name="IDS_TIME_HOURS_DEFAULT"
               desc="This is necessary for every language. This is the default for all the numbers NOT covered by special cases (singular, dual/two, few, many) some languages need. For CJK, Vietnamese, Turkish and Kannada, this is the only string necessary. For languages with singular-plural distinction, this is the generic plural. For Lithuanian, NUMBER_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> hours
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_TIME_HOUR_SINGULAR"
               desc="NUMBER_ONE is one or one-like numbers : 1 (many European and most Indian languages), 1 and 0 (French, Brazilian Portuguese and Hindi), 1,21,31, .. (Russian, Ukrainian, Croatian, Serbian, Latvian, Lithuanian), or 1, 101, 201, .. (Slovenian). Do NOT translate this for CJK, Vietnamese, Turkish and Kannada">
        <ph name="NUMBER_ONE"><ex>1</ex>#</ph> hour
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_TIME_HOUR_SINGULAR"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_TIME_HOURS_ZERO"
               desc="NUMBER_ZERO is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        <ph name="NUMBER_ZERO"><ex>0</ex>#</ph> hours
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_TIME_HOURS_ZERO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_TIME_HOURS_TWO"
               desc="NUMBER_TWO is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        <ph name="NUMBER_TWO"><ex>2</ex>#</ph> hours
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_HOURS_TWO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_TIME_HOURS_FEW"
               desc="NUMBER_FEW is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        <ph name="NUMBER_FEW"><ex>3</ex>#</ph> hours
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_HOURS_FEW"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_TIME_HOURS_MANY"
               desc="NUMBER_MANY is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        <ph name="NUMBER_MANY"><ex>23</ex>#</ph> hours
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_TIME_HOURS_MANY"
               desc="">
        NA
      </message>
      </if>


      <message name="IDS_TIME_DAYS_DEFAULT"
               desc="This is necessary for every language. This is the default for all the numbers NOT covered by special cases (singular, dual/two, few, many) some languages need. For CJK, Vietnamese, Turkish and Kannada, this is the only string necessary. For languages with singular-plural distinction, this is the generic plural. For Lithuanian, NUMBER_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> days
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_TIME_DAY_SINGULAR"
               desc="NUMBER_ONE is one or one-like numbers : 1 (many European and most Indian languages), 1 and 0 (French, Brazilian Portuguese and Hindi), 1,21,31, .. (Russian, Ukrainian, Croatian, Serbian, Latvian, Lithuanian), or 1, 101, 201, .. (Slovenian). Do NOT translate this for CJK, Vietnamese, Turkish and Kannada">
        <ph name="NUMBER_ONE"><ex>1</ex>#</ph> day
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_TIME_DAY_SINGULAR"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_TIME_DAYS_ZERO"
               desc="NUMBER_ZERO is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        <ph name="NUMBER_ZERO"><ex>0</ex>#</ph> days
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_TIME_DAYS_ZERO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_TIME_DAYS_TWO"
               desc="NUMBER_TWO is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        <ph name="NUMBER_TWO"><ex>2</ex>#</ph> days
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_DAYS_TWO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_TIME_DAYS_FEW"
               desc="NUMBER_FEW is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        <ph name="NUMBER_FEW"><ex>3</ex>#</ph> days
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_DAYS_FEW"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_TIME_DAYS_MANY"
               desc="NUMBER_MANY is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        <ph name="NUMBER_MANY"><ex>23</ex>#</ph> days
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_TIME_DAYS_MANY"
               desc="">
        NA
      </message>
      </if>


      <message name="IDS_TIME_REMAINING_SECS_DEFAULT"
               desc="This is necessary for every language. This is the default for all the numbers NOT covered by special cases (singular, dual/two, few, many) some languages need. For CJK, Vietnamese, Turkish and Kannada, this is the only string necessary. For languages with singular-plural distinction, this is the generic plural. For Lithuanian, NUMBER_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> secs left
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_TIME_REMAINING_SEC_SINGULAR"
               desc="NUMBER_ONE is one or one-like numbers : 1 (many European and most Indian languages), 1 and 0 (French, Brazilian Portuguese and Hindi), 1,21,31, .. (Russian, Ukrainian, Croatian, Serbian, Latvian, Lithuanian), or 1, 101, 201, .. (Slovenian). Do NOT translate this for CJK, Vietnamese, Turkish and Kannada">
        <ph name="NUMBER_ONE"><ex>1</ex>#</ph> sec left
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_TIME_REMAINING_SEC_SINGULAR"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_TIME_REMAINING_SECS_ZERO"
               desc="NUMBER_ZERO is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        <ph name="NUMBER_ZERO"><ex>0</ex>#</ph> secs left
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_TIME_REMAINING_SECS_ZERO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_TIME_REMAINING_SECS_TWO"
               desc="NUMBER_TWO is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        <ph name="NUMBER_TWO"><ex>2</ex>#</ph> secs left
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_REMAINING_SECS_TWO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_TIME_REMAINING_SECS_FEW"
               desc="NUMBER_FEW is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        <ph name="NUMBER_FEW"><ex>3</ex>#</ph> secs left
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_REMAINING_SECS_FEW"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_TIME_REMAINING_SECS_MANY"
               desc="NUMBER_MANY is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        <ph name="NUMBER_MANY"><ex>23</ex>#</ph> secs left
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_TIME_REMAINING_SECS_MANY"
               desc="">
        NA
      </message>
      </if>


      <message name="IDS_TIME_REMAINING_MINS_DEFAULT"
               desc="This is necessary for every language. This is the default for all the numbers NOT covered by special cases (singular, dual/two, few, many) some languages need. For CJK, Vietnamese, Turkish and Kannada, this is the only string necessary. For languages with singular-plural distinction, this is the generic plural. For Lithuanian, NUMBER_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> mins left
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_TIME_REMAINING_MIN_SINGULAR"
               desc="NUMBER_ONE is one or one-like numbers : 1 (many European and most Indian languages), 1 and 0 (French, Brazilian Portuguese and Hindi), 1,21,31, .. (Russian, Ukrainian, Croatian, Serbian, Latvian, Lithuanian), or 1, 101, 201, .. (Slovenian). Do NOT translate this for CJK, Vietnamese, Turkish and Kannada">
        <ph name="NUMBER_ONE"><ex>1</ex>#</ph> min left
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_TIME_REMAINING_MIN_SINGULAR"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_TIME_REMAINING_MINS_ZERO"
               desc="NUMBER_ZERO is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        <ph name="NUMBER_ZERO"><ex>0</ex>#</ph> mins left
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_TIME_REMAINING_MINS_ZERO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_TIME_REMAINING_MINS_TWO"
               desc="NUMBER_TWO is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        <ph name="NUMBER_TWO"><ex>2</ex>#</ph> mins left
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_REMAINING_MINS_TWO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_TIME_REMAINING_MINS_FEW"
               desc="NUMBER_FEW is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        <ph name="NUMBER_FEW"><ex>3</ex>#</ph> mins left
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_REMAINING_MINS_FEW"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_TIME_REMAINING_MINS_MANY"
               desc="NUMBER_MANY is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        <ph name="NUMBER_MANY"><ex>23</ex>#</ph> mins left
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_TIME_REMAINING_MINS_MANY"
               desc="">
        NA
      </message>
      </if>

      <message name="IDS_TIME_REMAINING_LONG_MINS_DEFAULT"
               desc="This is necessary for every language. This is the default for all the numbers NOT covered by special cases (singular, dual/two, few, many) some languages need. For CJK, Vietnamese, Turkish and Kannada, this is the only string necessary. For languages with singular-plural distinction, this is the generic plural. For Lithuanian, NUMBER_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> minutes left
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_TIME_REMAINING_LONG_MIN_SINGULAR"
               desc="NUMBER_ONE is one or one-like numbers : 1 (many European and most Indian languages), 1 and 0 (French, Brazilian Portuguese and Hindi), 1,21,31, .. (Russian, Ukrainian, Croatian, Serbian, Latvian, Lithuanian), or 1, 101, 201, .. (Slovenian). Do NOT translate this for CJK, Vietnamese, Turkish and Kannada">
        <ph name="NUMBER_ONE"><ex>1</ex>#</ph> minute left
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_TIME_REMAINING_LONG_MIN_SINGULAR"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_TIME_REMAINING_LONG_MINS_ZERO"
               desc="NUMBER_ZERO is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        <ph name="NUMBER_ZERO"><ex>0</ex>#</ph> minutes left
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_TIME_REMAINING_LONG_MINS_ZERO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_TIME_REMAINING_LONG_MINS_TWO"
               desc="NUMBER_TWO is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        <ph name="NUMBER_TWO"><ex>2</ex>#</ph> minutes left
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_REMAINING_LONG_MINS_TWO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_TIME_REMAINING_LONG_MINS_FEW"
               desc="NUMBER_FEW is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        <ph name="NUMBER_FEW"><ex>3</ex>#</ph> minutes left
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_REMAINING_LONG_MINS_FEW"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_TIME_REMAINING_LONG_MINS_MANY"
               desc="NUMBER_MANY is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        <ph name="NUMBER_MANY"><ex>23</ex>#</ph> minutes left
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_TIME_REMAINING_LONG_MINS_MANY"
               desc="">
        NA
      </message>
      </if>

      <message name="IDS_TIME_REMAINING_HOURS_DEFAULT"
               desc="This is necessary for every language. This is the default for all the numbers NOT covered by special cases (singular, dual/two, few, many) some languages need. For CJK, Vietnamese, Turkish and Kannada, this is the only string necessary. For languages with singular-plural distinction, this is the generic plural. For Lithuanian, NUMBER_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> hours left
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_TIME_REMAINING_HOUR_SINGULAR"
               desc="NUMBER_ONE is one or one-like numbers : 1 (many European and most Indian languages), 1 and 0 (French, Brazilian Portuguese and Hindi), 1,21,31, .. (Russian, Ukrainian, Croatian, Serbian, Latvian, Lithuanian), or 1, 101, 201, .. (Slovenian). Do NOT translate this for CJK, Vietnamese, Turkish and Kannada">
        <ph name="NUMBER_ONE"><ex>1</ex>#</ph> hour left
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_TIME_REMAINING_HOUR_SINGULAR"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_TIME_REMAINING_HOURS_ZERO"
               desc="NUMBER_ZERO is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        <ph name="NUMBER_ZERO"><ex>0</ex>#</ph> hours left
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_TIME_REMAINING_HOURS_ZERO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_TIME_REMAINING_HOURS_TWO"
               desc="NUMBER_TWO is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        <ph name="NUMBER_TWO"><ex>2</ex>#</ph> hours left
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_REMAINING_HOURS_TWO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_TIME_REMAINING_HOURS_FEW"
               desc="NUMBER_FEW is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        <ph name="NUMBER_FEW"><ex>3</ex>#</ph> hours left
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_REMAINING_HOURS_FEW"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_TIME_REMAINING_HOURS_MANY"
               desc="NUMBER_MANY is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        <ph name="NUMBER_MANY"><ex>23</ex>#</ph> hours left
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_TIME_REMAINING_HOURS_MANY"
               desc="">
        NA
      </message>
      </if>


      <message name="IDS_TIME_REMAINING_DAYS_DEFAULT"
               desc="This is necessary for every language. This is the default for all the numbers NOT covered by special cases (singular, dual/two, few, many) some languages need. For CJK, Vietnamese, Turkish and Kannada, this is the only string necessary. For languages with singular-plural distinction, this is the generic plural. For Lithuanian, NUMBER_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> days left
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_TIME_REMAINING_DAY_SINGULAR"
               desc="NUMBER_ONE is one or one-like numbers : 1 (many European and most Indian languages), 1 and 0 (French, Brazilian Portuguese and Hindi), 1,21,31, .. (Russian, Ukrainian, Croatian, Serbian, Latvian, Lithuanian), or 1, 101, 201, .. (Slovenian). Do NOT translate this for CJK, Vietnamese, Turkish and Kannada">
        <ph name="NUMBER_ONE"><ex>1</ex>#</ph> day left
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_TIME_REMAINING_DAY_SINGULAR"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_TIME_REMAINING_DAYS_ZERO"
               desc="NUMBER_ZERO is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        <ph name="NUMBER_ZERO"><ex>0</ex>#</ph> days left
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_TIME_REMAINING_DAYS_ZERO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_TIME_REMAINING_DAYS_TWO"
               desc="NUMBER_TWO is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        <ph name="NUMBER_TWO"><ex>2</ex>#</ph> days left
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_REMAINING_DAYS_TWO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_TIME_REMAINING_DAYS_FEW"
               desc="NUMBER_FEW is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        <ph name="NUMBER_FEW"><ex>3</ex>#</ph> days left
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_REMAINING_DAYS_FEW"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_TIME_REMAINING_DAYS_MANY"
               desc="NUMBER_MANY is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        <ph name="NUMBER_MANY"><ex>23</ex>#</ph> days left
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_TIME_REMAINING_DAYS_MANY"
               desc="">
        NA
      </message>
      </if>

      <message name="IDS_TIME_DURATION_LONG_SECS_DEFAULT"
               desc="This is necessary for every language. This is the default for all the numbers NOT covered by special cases (singular, dual/two, few, many) some languages need. For CJK, Vietnamese, Turkish and Kannada, this is the only string necessary. For languages with singular-plural distinction, this is the generic plural. For Lithuanian, NUMBER_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> seconds
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_TIME_DURATION_LONG_SEC_SINGULAR"
               desc="NUMBER_ONE is one or one-like numbers : 1 (many European and most Indian languages), 1 and 0 (French, Brazilian Portuguese and Hindi), 1,21,31, .. (Russian, Ukrainian, Croatian, Serbian, Latvian, Lithuanian), or 1, 101, 201, .. (Slovenian). Do NOT translate this for CJK, Vietnamese, Turkish and Kannada">
        <ph name="NUMBER_ONE"><ex>1</ex>#</ph> second
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_TIME_DURATION_LONG_SEC_SINGULAR"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_TIME_DURATION_LONG_SECS_ZERO"
               desc="NUMBER_ZERO is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        <ph name="NUMBER_ZERO"><ex>0</ex>#</ph> seconds
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_TIME_DURATION_LONG_SECS_ZERO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_TIME_DURATION_LONG_SECS_TWO"
               desc="NUMBER_TWO is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        <ph name="NUMBER_TWO"><ex>2</ex>#</ph> seconds
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_DURATION_LONG_SECS_TWO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_TIME_DURATION_LONG_SECS_FEW"
               desc="NUMBER_FEW is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        <ph name="NUMBER_FEW"><ex>3</ex>#</ph> seconds
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_DURATION_LONG_SECS_FEW"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_TIME_DURATION_LONG_SECS_MANY"
               desc="NUMBER_MANY is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        <ph name="NUMBER_MANY"><ex>23</ex>#</ph> seconds
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_TIME_DURATION_LONG_SECS_MANY"
               desc="">
        NA
      </message>
      </if>

      <message name="IDS_TIME_DURATION_LONG_MINS_DEFAULT"
               desc="This is necessary for every language. This is the default for all the numbers NOT covered by special cases (singular, dual/two, few, many) some languages need. For CJK, Vietnamese, Turkish and Kannada, this is the only string necessary. For languages with singular-plural distinction, this is the generic plural. For Lithuanian, NUMBER_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> minutes
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_TIME_DURATION_LONG_MIN_SINGULAR"
               desc="NUMBER_ONE is one or one-like numbers : 1 (many European and most Indian languages), 1 and 0 (French, Brazilian Portuguese and Hindi), 1,21,31, .. (Russian, Ukrainian, Croatian, Serbian, Latvian, Lithuanian), or 1, 101, 201, .. (Slovenian). Do NOT translate this for CJK, Vietnamese, Turkish and Kannada">
        <ph name="NUMBER_ONE"><ex>1</ex>#</ph> minute
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_TIME_DURATION_LONG_MIN_SINGULAR"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_TIME_DURATION_LONG_MINS_ZERO"
               desc="NUMBER_ZERO is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        <ph name="NUMBER_ZERO"><ex>0</ex>#</ph> minutes
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_TIME_DURATION_LONG_MINS_ZERO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_TIME_DURATION_LONG_MINS_TWO"
               desc="NUMBER_TWO is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        <ph name="NUMBER_TWO"><ex>2</ex>#</ph> minutes
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_DURATION_LONG_MINS_TWO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_TIME_DURATION_LONG_MINS_FEW"
               desc="NUMBER_FEW is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        <ph name="NUMBER_FEW"><ex>3</ex>#</ph> minutes
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_DURATION_LONG_MINS_FEW"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_TIME_DURATION_LONG_MINS_MANY"
               desc="NUMBER_MANY is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        <ph name="NUMBER_MANY"><ex>23</ex>#</ph> minutes
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_TIME_DURATION_LONG_MINS_MANY"
               desc="">
        NA
      </message>
      </if>

      <message name="IDS_TIME_ELAPSED_SECS_DEFAULT"
               desc="This is necessary for every language. This is the default for all the numbers NOT covered by special cases (singular, dual/two, few, many) some languages need. For CJK, Vietnamese, Turkish and Kannada, this is the only string necessary. For languages with singular-plural distinction, this is the generic plural. For Lithuanian, NUMBER_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> secs ago
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_TIME_ELAPSED_SEC_SINGULAR"
               desc="NUMBER_ONE is one or one-like numbers : 1 (many European and most Indian languages), 1 and 0 (French, Brazilian Portuguese and Hindi), 1,21,31, .. (Russian, Ukrainian, Croatian, Serbian, Latvian, Lithuanian), or 1, 101, 201, .. (Slovenian). Do NOT translate this for CJK, Vietnamese, Turkish and Kannada">
        <ph name="NUMBER_ONE"><ex>1</ex>#</ph> sec ago
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_TIME_ELAPSED_SEC_SINGULAR"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_TIME_ELAPSED_SECS_ZERO"
               desc="NUMBER_ZERO is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        <ph name="NUMBER_ZERO"><ex>0</ex>#</ph> secs ago
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_TIME_ELAPSED_SECS_ZERO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_TIME_ELAPSED_SECS_TWO"
               desc="NUMBER_TWO is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        <ph name="NUMBER_TWO"><ex>2</ex>#</ph> secs ago
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_ELAPSED_SECS_TWO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_TIME_ELAPSED_SECS_FEW"
               desc="NUMBER_FEW is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        <ph name="NUMBER_FEW"><ex>3</ex>#</ph> secs ago
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_ELAPSED_SECS_FEW"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_TIME_ELAPSED_SECS_MANY"
               desc="NUMBER_MANY is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        <ph name="NUMBER_MANY"><ex>23</ex>#</ph> secs ago
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_TIME_ELAPSED_SECS_MANY"
               desc="">
        NA
      </message>
      </if>


      <message name="IDS_TIME_ELAPSED_MINS_DEFAULT"
               desc="This is necessary for every language. This is the default for all the numbers NOT covered by special cases (singular, dual/two, few, many) some languages need. For CJK, Vietnamese, Turkish and Kannada, this is the only string necessary. For languages with singular-plural distinction, this is the generic plural. For Lithuanian, NUMBER_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> mins ago
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_TIME_ELAPSED_MIN_SINGULAR"
               desc="NUMBER_ONE is one or one-like numbers : 1 (many European and most Indian languages), 1 and 0 (French, Brazilian Portuguese and Hindi), 1,21,31, .. (Russian, Ukrainian, Croatian, Serbian, Latvian, Lithuanian), or 1, 101, 201, .. (Slovenian). Do NOT translate this for CJK, Vietnamese, Turkish and Kannada">
        <ph name="NUMBER_ONE"><ex>1</ex>#</ph> min ago
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_TIME_ELAPSED_MIN_SINGULAR"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_TIME_ELAPSED_MINS_ZERO"
               desc="NUMBER_ZERO is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        <ph name="NUMBER_ZERO"><ex>0</ex>#</ph> mins ago
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_TIME_ELAPSED_MINS_ZERO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_TIME_ELAPSED_MINS_TWO"
               desc="NUMBER_TWO is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        <ph name="NUMBER_TWO"><ex>2</ex>#</ph> mins ago
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_ELAPSED_MINS_TWO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_TIME_ELAPSED_MINS_FEW"
               desc="NUMBER_FEW is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        <ph name="NUMBER_FEW"><ex>3</ex>#</ph> mins ago
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_ELAPSED_MINS_FEW"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_TIME_ELAPSED_MINS_MANY"
               desc="NUMBER_MANY is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        <ph name="NUMBER_MANY"><ex>23</ex>#</ph> mins ago
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_TIME_ELAPSED_MINS_MANY"
               desc="">
        NA
      </message>
      </if>


      <message name="IDS_TIME_ELAPSED_HOURS_DEFAULT"
               desc="This is necessary for every language. This is the default for all the numbers NOT covered by special cases (singular, dual/two, few, many) some languages need. For CJK, Vietnamese, Turkish and Kannada, this is the only string necessary. For languages with singular-plural distinction, this is the generic plural. For Lithuanian, NUMBER_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> hours ago
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_TIME_ELAPSED_HOUR_SINGULAR"
               desc="NUMBER_ONE is one or one-like numbers : 1 (many European and most Indian languages), 1 and 0 (French, Brazilian Portuguese and Hindi), 1,21,31, .. (Russian, Ukrainian, Croatian, Serbian, Latvian, Lithuanian), or 1, 101, 201, .. (Slovenian). Do NOT translate this for CJK, Vietnamese, Turkish and Kannada">
        <ph name="NUMBER_ONE"><ex>1</ex>#</ph> hour ago
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_TIME_ELAPSED_HOUR_SINGULAR"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_TIME_ELAPSED_HOURS_ZERO"
               desc="NUMBER_ZERO is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        <ph name="NUMBER_ZERO"><ex>0</ex>#</ph> hours ago
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_TIME_ELAPSED_HOURS_ZERO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_TIME_ELAPSED_HOURS_TWO"
               desc="NUMBER_TWO is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        <ph name="NUMBER_TWO"><ex>2</ex>#</ph> hours ago
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_ELAPSED_HOURS_TWO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_TIME_ELAPSED_HOURS_FEW"
               desc="NUMBER_FEW is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        <ph name="NUMBER_FEW"><ex>3</ex>#</ph> hours ago
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_ELAPSED_HOURS_FEW"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_TIME_ELAPSED_HOURS_MANY"
               desc="NUMBER_MANY is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        <ph name="NUMBER_MANY"><ex>23</ex>#</ph> hours ago
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_TIME_ELAPSED_HOURS_MANY"
               desc="">
        NA
      </message>
      </if>


      <message name="IDS_TIME_ELAPSED_DAYS_DEFAULT"
               desc="This is necessary for every language. This is the default for all the numbers NOT covered by special cases (singular, dual/two, few, many) some languages need. For CJK, Vietnamese, Turkish and Kannada, this is the only string necessary. For languages with singular-plural distinction, this is the generic plural. For Lithuanian, NUMBER_DEFAULT is 11 .. 19.">
        <ph name="NUMBER_DEFAULT"><ex>37</ex>#</ph> days ago
      </message>

      <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message name="IDS_TIME_ELAPSED_DAY_SINGULAR"
               desc="NUMBER_ONE is one or one-like numbers : 1 (many European and most Indian languages), 1 and 0 (French, Brazilian Portuguese and Hindi), 1,21,31, .. (Russian, Ukrainian, Croatian, Serbian, Latvian, Lithuanian), or 1, 101, 201, .. (Slovenian). Do NOT translate this for CJK, Vietnamese, Turkish and Kannada">
        <ph name="NUMBER_ONE"><ex>1</ex>#</ph> day ago
      </message>
      </if>
      <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
      <message translateable="false" name="IDS_TIME_ELAPSED_DAY_SINGULAR"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ar', 'ro', 'lv']">
      <message name="IDS_TIME_ELAPSED_DAYS_ZERO"
               desc="NUMBER_ZERO is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
        <ph name="NUMBER_ZERO"><ex>0</ex>#</ph> days ago
      </message>
      </if>
      <if expr="lang not in ['ar', 'ro', 'lv']">
      <message translateable="false" name="IDS_TIME_ELAPSED_DAYS_ZERO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang in ['ga', 'sl', 'ar']">
      <message name="IDS_TIME_ELAPSED_DAYS_TWO"
               desc="NUMBER_TWO is two or two-like/dual numbers :  2 (Arabic and Irish) or  2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
        <ph name="NUMBER_TWO"><ex>2</ex>#</ph> days ago
      </message>
      </if>
      <if expr="lang not in ['ga', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_ELAPSED_DAYS_TWO"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang  in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message name="IDS_TIME_ELAPSED_DAYS_FEW"
               desc="NUMBER_FEW is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
        <ph name="NUMBER_FEW"><ex>3</ex>#</ph> days ago
      </message>
      </if>
      <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']">
      <message translateable="false" name="IDS_TIME_ELAPSED_DAYS_FEW"
               desc="">
        NA
      </message>
      </if>

      <if expr="lang == 'ar'">
      <message name="IDS_TIME_ELAPSED_DAYS_MANY"
               desc="NUMBER_MANY is 11 through 99 in Arabic. For all other languages, do NOT translate.">
        <ph name="NUMBER_MANY"><ex>23</ex>#</ph> days ago
      </message>
      </if>
      <if expr="lang != 'ar'">
      <message translateable="false" name="IDS_TIME_ELAPSED_DAYS_MANY"
               desc="">
        NA
      </message>
      </if>

      <message name="IDS_PAST_TIME_TODAY" desc="Relative day today">
        Today
      </message>
      <message name="IDS_PAST_TIME_YESTERDAY" desc="Relative day yesterday">
        Yesterday
      </message>

      <!-- Menus -->
      <message name="IDS_APP_MENU_EMPTY_SUBMENU" desc="Used when a submenu has no entries">
        (empty)
      </message>

      <!-- General application strings -->
      <message name="IDS_APP_UNTITLED_SHORTCUT_FILE_NAME" desc="The name of the Internet Shortcut file created for URLs dragged that have no title">
        Untitled Webpage
      </message>
      <message name="IDS_APP_SAVEAS_ALL_FILES" desc="Save As dialog box default text">
        All Files
      </message>
      <message name="IDS_APP_SAVEAS_EXTENSION_FORMAT" desc="Save As dialog box extension format text">
        <ph name="SAVEAS_EXTENSION_TYPE">$1<ex>EXE</ex></ph> File (.<ph name="SAVEAS_EXTENSION_NAME">$2<ex>exe</ex></ph>)
      </message>
      <message name="IDS_SELECT_UPLOAD_FOLDER_DIALOG_TITLE" desc="The default title for the Select Upload Folder dialog.">
        Select Folder to Upload
      </message>

      <if expr="is_macosx">
        <message name="IDS_SELECT_FOLDER_BUTTON_TITLE" desc="The name of the Select button in the folder selection dialog.">
          Select
        </message>
        <message name="IDS_SELECT_UPLOAD_FOLDER_BUTTON_TITLE" desc="The name of the Select button in the folder selection dialog for uploading.">
          Upload
        </message>
      </if>

      <!-- File chooser dialog default titles (only used on Linux) -->
      <message name="IDS_SELECT_FOLDER_DIALOG_TITLE" desc="The default title for the Select Folder file chooser dialog.">
        Select Folder
      </message>
      <message name="IDS_SAVE_AS_DIALOG_TITLE" desc="The default title for the Save As file chooser dialog.">
        Save File
      </message>
      <message name="IDS_OPEN_FILE_DIALOG_TITLE" desc="The default title for the Open File file chooser dialog (single file).">
        Open File
      </message>
      <message name="IDS_OPEN_FILES_DIALOG_TITLE" desc="The default title for the Open File file chooser dialog (multiple files).">
        Open Files
      </message>
      <message name="IDS_SAVEAS_ALL_FILES" desc="Save As dialog box default text">
        All Files
      </message>
      <message name="IDS_SELECT_UPLOAD_FOLDER_DIALOG_UPLOAD_BUTTON" desc="Button label text for Upload Folder dialog">
        Upload
      </message>

      <!--Accessible name/action strings-->
      <message name="IDS_APP_ACCACTION_PRESS" desc="The accessible default action for a button.">
        Press
      </message>
      <message name="IDS_APP_ACCNAME_CLOSE" desc="The accessible name for the Close button.">
        Close
      </message>
      <message name="IDS_APP_ACCNAME_MINIMIZE" desc="The accessible name for the Minimize button.">
        Minimize
      </message>
      <message name="IDS_APP_ACCNAME_MAXIMIZE" desc="The accessible name for the Maximize button.">
        Maximize
      </message>
      <message name="IDS_APP_ACCNAME_RESTORE" desc="The accessible name for the Restore button.">
        Restore
      </message>

      <!-- Scroll Bar Context Menu Labels -->
      <message name="IDS_APP_SCROLLBAR_CXMENU_SCROLLHERE" desc="The label for the 'Scroll Here' item">
        Scroll to Here
      </message>
      <message name="IDS_APP_SCROLLBAR_CXMENU_SCROLLLEFTEDGE" desc="The label for the 'Left Edge' item">
        Left Edge
      </message>
      <message name="IDS_APP_SCROLLBAR_CXMENU_SCROLLRIGHTEDGE" desc="The label for the 'Right Edge' item">
        Right Edge
      </message>
      <message name="IDS_APP_SCROLLBAR_CXMENU_SCROLLHOME" desc="The label for the 'Top' item">
        Top
      </message>
      <message name="IDS_APP_SCROLLBAR_CXMENU_SCROLLEND" desc="The label for the 'Bottom' item">
        Bottom
      </message>
      <message name="IDS_APP_SCROLLBAR_CXMENU_SCROLLPAGEUP" desc="The label for the 'Page Up' item">
        Page Up
      </message>
      <message name="IDS_APP_SCROLLBAR_CXMENU_SCROLLPAGEDOWN" desc="The label for the 'Page Down' item">
        Page Down
      </message>
      <message name="IDS_APP_SCROLLBAR_CXMENU_SCROLLLEFT" desc="The label for the 'Scroll Left' item">
        Scroll Left
      </message>
      <message name="IDS_APP_SCROLLBAR_CXMENU_SCROLLRIGHT" desc="The label for the 'Scroll Left' item">
        Scroll Right
      </message>
      <message name="IDS_APP_SCROLLBAR_CXMENU_SCROLLUP" desc="The label for the 'Scroll Up' item">
        Scroll Up
      </message>
      <message name="IDS_APP_SCROLLBAR_CXMENU_SCROLLDOWN" desc="The label for the 'Scroll Down' item">
        Scroll Down
      </message>

      <!-- Edit field context menu item labels. -->
      <message name="IDS_APP_UNDO" desc="The text label of the Undo menu item">
        &amp;Undo
      </message>
      <message name="IDS_APP_CUT" desc="The text label of the Cut menu item">
        Cu&amp;t
      </message>
      <message name="IDS_APP_COPY" desc="The text label of the Copy menu item">
        &amp;Copy
      </message>
      <message name="IDS_APP_PASTE" desc="The text label of the Paste menu item">
        &amp;Paste
      </message>
      <message name="IDS_APP_DELETE" desc="The text label of the Delete menu item">
        &amp;Delete
      </message>
      <message name="IDS_APP_SELECT_ALL" desc="The text label of the Select All menu item">
        Select &amp;all
      </message>

      <!-- Generic terms -->
      <message name="IDS_APP_OK" desc="Used for Ok on buttons">
        OK
      </message>
      <message name="IDS_APP_CANCEL" desc="Used for Cancel on buttons">
        Cancel
      </message>
      <message name="IDS_APP_CLOSE" desc="A generic term for Close on buttons and menus.">
        Close
      </message>

      <!-- Key names -->
      <message name="IDS_APP_ESC_KEY" desc="Escape key">
        Esc
      </message>
      <message name="IDS_APP_TAB_KEY" desc="Tab key">
        Tab
      </message>
      <message name="IDS_APP_INSERT_KEY" desc="Insert key">
        Ins
      </message>
      <message name="IDS_APP_HOME_KEY" desc="Home key">
        Home
      </message>
      <message name="IDS_APP_DELETE_KEY" desc="Delete key">
        Del
      </message>
      <message name="IDS_APP_END_KEY" desc="End key">
        End
      </message>
      <message name="IDS_APP_PAGEUP_KEY" desc="Page up key">
        PgUp
      </message>
      <message name="IDS_APP_PAGEDOWN_KEY" desc="Page down key">
        PgDwn
      </message>
      <message name="IDS_APP_LEFT_ARROW_KEY" desc="Left arrow key">
        Left Arrow
      </message>
      <message name="IDS_APP_RIGHT_ARROW_KEY" desc="Right arrow key">
        Right Arrow
      </message>
      <message name="IDS_APP_UP_ARROW_KEY" desc="Up arrow key">
        Up Arrow
      </message>
      <message name="IDS_APP_DOWN_ARROW_KEY" desc="Down arrow key">
        Down Arrow
      </message>
      <message name="IDS_APP_ENTER_KEY" desc="Enter key">
        Enter
      </message>
      <message name="IDS_APP_F1_KEY" desc="F1 key">
        F1
      </message>
      <message name="IDS_APP_F11_KEY" desc="F11 key">
        F11
      </message>
      <message name="IDS_APP_BACKSPACE_KEY" desc="Backspace key">
        Backspace
      </message>
      <message name="IDS_APP_COMMA_KEY" desc="Comma key">
        Comma
      </message>
      <message name="IDS_APP_PERIOD_KEY" desc="Period key">
        Period
      </message>

      <!-- Shortcut Modifiers -->
      <message name="IDS_APP_CONTROL_MODIFIER" desc="Control key shortcut modifier">
        Ctrl+<ph name="KEY_COMBO_NAME">$1<ex>C</ex></ph>
      </message>
      <message name="IDS_APP_ALT_MODIFIER" desc="Alt key shortcut modifier">
        Alt+<ph name="KEY_COMBO_NAME">$1<ex>C</ex></ph>
      </message>
      <message name="IDS_APP_SHIFT_MODIFIER" desc="Shift key shortcut modifier">
        Shift+<ph name="KEY_COMBO_NAME">$1<ex>C</ex></ph>
      </message>
      <message name="IDS_APP_COMMAND_MODIFIER" desc="Command key shortcut modifier">
        Command+<ph name="KEY_COMBO_NAME">$1<ex>C</ex></ph>
      </message>

      <!-- Byte size units -->
      <message name="IDS_APP_BYTES" desc="Units tag indicating a quantity of bytes">
        <ph name="QUANTITY">$1<ex>42</ex></ph> B
      </message>
      <message name="IDS_APP_KIBIBYTES" desc="Units tag indicating a quantity of kilobytes">
        <ph name="QUANTITY">$1<ex>42.0</ex></ph> KB
      </message>
      <message name="IDS_APP_MEBIBYTES" desc="Units tag indicating a quantity of megabytes">
        <ph name="QUANTITY">$1<ex>42.0</ex></ph> MB
      </message>
      <message name="IDS_APP_GIBIBYTES" desc="Units tag indicating a quantity of gigabytes">
        <ph name="QUANTITY">$1<ex>42.0</ex></ph> GB
      </message>
      <message name="IDS_APP_TEBIBYTES" desc="Units tag indicating a quantity of terabytes">
        <ph name="QUANTITY">$1<ex>42.0</ex></ph> TB
      </message>
      <message name="IDS_APP_PEBIBYTES" desc="Units tag indicating a quantity of petabytes">
        <ph name="QUANTITY">$1<ex>42.0</ex></ph> PB
      </message>
      <message name="IDS_APP_BYTES_PER_SECOND" desc="Units tag indicating a speed of bytes/second">
        <ph name="QUANTITY">$1<ex>42</ex></ph> B/s
      </message>
      <message name="IDS_APP_KIBIBYTES_PER_SECOND" desc="Units tag indicating a speed of kilobytes/second">
        <ph name="QUANTITY">$1<ex>42.0</ex></ph> KB/s
      </message>
      <message name="IDS_APP_MEBIBYTES_PER_SECOND" desc="Units tag indicating a speed of megabytes/second">
        <ph name="QUANTITY">$1<ex>42.0</ex></ph> MB/s
      </message>
      <message name="IDS_APP_GIBIBYTES_PER_SECOND" desc="Units tag indicating a speed of gigabytes/second">
        <ph name="QUANTITY">$1<ex>42.0</ex></ph> GB/s
      </message>
      <message name="IDS_APP_TEBIBYTES_PER_SECOND" desc="Units tag indicating a speed of terabytes/second">
        <ph name="QUANTITY">$1<ex>42.0</ex></ph> TB/s
      </message>
      <message name="IDS_APP_PEBIBYTES_PER_SECOND" desc="Units tag indicating a speed of petabytes/second">
        <ph name="QUANTITY">$1<ex>42.0</ex></ph> PB/s
      </message>

      <!-- Message center -->
      <message name="IDS_MESSAGE_CENTER_ACCESSIBLE_NAME" desc="The accessible name for the Notification Center window.">
        Notification Center
      </message>
      <message name="IDS_MESSAGE_CENTER_EXTENSIONS_DISABLE" desc="The menu entry for disabling extensions from a notification.">
        Disable notifications from <ph name="extension_name">$1<ex>Notification Galore!</ex></ph>
      </message>
      <message name="IDS_MESSAGE_CENTER_SITE_DISABLE" desc="The menu entry for disabling notification from a site.">
        Disable notifications from <ph name="site">$1<ex>mail.google.com</ex></ph>
      </message>
      <message name="IDS_MESSAGE_CENTER_FOOTER_TITLE" desc="The label in the footer of the message center">
	Notifications
      </message>
      <message name="IDS_MESSAGE_CENTER_SETTINGS_BUTTON_LABEL" desc="The button label for visiting the appropriate settings page in the footer of the message center.">
        Settings
      </message>
      <message name="IDS_MESSAGE_CENTER_SETTINGS_GO_BACK_BUTTON_TOOLTIP" desc="The tooltip on back button that returns from settings to the notification list.">
        Go back to notifications
      </message>
      <if expr="is_macosx">
        <message name="IDS_MESSAGE_CENTER_SETTINGS_DIALOG_DESCRIPTION" desc="The label to describe the settings dialog.">
          Allow notifications from the following:
        </message>
      </if>
      <if expr="not is_macosx">
        <message name="IDS_MESSAGE_CENTER_SETTINGS_DIALOG_DESCRIPTION" desc="The label to describe the settings dialog.">
          Manage notifications per profile:
        </message>
      </if>
      <message name="IDS_MESSAGE_CENTER_SETTINGS" desc="The menu entry or button for visiting the appropriate settings page.">
        Settings...
      </message>
      <message name="IDS_MESSAGE_CENTER_CLEAR_ALL" desc="The button for clearing all notifications.">
        Clear All
      </message>
      <if expr="not pp_ifdef('use_titlecase')">
        <message name="IDS_MESSAGE_CENTER_QUIET_MODE_BUTTON_TOOLTIP" desc="The tooltip text for the do not disturb button.">
          Do not disturb
        </message>
      </if>
      <if expr="pp_ifdef('use_titlecase')">
        <message name="IDS_MESSAGE_CENTER_QUIET_MODE_BUTTON_TOOLTIP" desc="In Title Case: The tooltip text for the do not disturb button.">
          Do Not Disturb
        </message>
      </if>
      <message name="IDS_MESSAGE_CENTER_NO_MESSAGES" desc="The message displayed in the message center when there are no notifications.">
        Nothing to see here, move along.
      </message>
      <message name="IDS_MESSAGE_CENTER_QUIET_MODE" desc="The button label for do not disturb mode.">
        Do not disturb
      </message>
      <message name="IDS_MESSAGE_CENTER_QUIET_MODE_1HOUR" desc="The button label to enter do not disturb mode in one hour.">
        Do not disturb for one hour
      </message>
      <message name="IDS_MESSAGE_CENTER_QUIET_MODE_1DAY" desc="The button label to enter do not disturb mode in one day.">
        Do not disturb for one day
      </message>
      <message name="IDS_MESSAGE_CENTER_CLOSE_NOTIFICATION_BUTTON_ACCESSIBLE_NAME" desc="The spoken feedback text for the close button in a notification. Usually 'button' is suffixed to this text automatically.">
	Notification close
      </message>
      <message name="IDS_MESSAGE_CENTER_EXPAND_NOTIFICATION_BUTTON_ACCESSIBLE_NAME" desc="The spoken feedback text for the expand button in a notification. Usually 'button' is suffixed to this text automatically.">
	Notification expand
      </message>
      <message name="IDS_MESSAGE_CENTER_NOTIFIER_SCREENSHOT_NAME" desc="The name of screenshot notifier that is a system componet">
        Screenshot
      </message>

      <!-- App list -->
      <message name="IDS_APP_LIST_HELP" desc="The menu entry to show the app list help UI.">
        Help
      </message>
      <message name="IDS_APP_LIST_OPEN_SETTINGS" desc="The menu entry to show the settings UI.">
        Settings
      </message>
      <message name="IDS_APP_LIST_OPEN_FEEDBACK" desc="The menu entry to show the feedback UI.">
        Send feedback
      </message>
    </messages>
  </release>
</grit>
