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

<grit base_dir="." latest_public_release="0" current_release="1"
      output_all_resource_defines="false" enc_check="möl" source_lang_id="en">
  <outputs>
    <output filename="remoting/base/string_resources.h" type="rc_header">
      <emit emit_type="prepend"/>
    </output>

    <if expr="chromeos_ash or chromeos_lacros">
      <output filename="remoting/resources/af.pak" lang="af" type="data_package"/>
    </if>
    <output filename="remoting/resources/am.pak" lang="am" type="data_package"/>
    <output filename="remoting/resources/ar.pak" lang="ar" type="data_package"/>
    <output filename="remoting/resources/bg.pak" lang="bg" type="data_package"/>
    <output filename="remoting/resources/bn.pak" lang="bn" type="data_package"/>
    <output filename="remoting/resources/ca.pak" lang="ca" type="data_package"/>
    <output filename="remoting/resources/cs.pak" lang="cs" type="data_package"/>
    <if expr="chromeos_ash or chromeos_lacros">
      <output filename="remoting/resources/cy.pak" lang="cy" type="data_package"/>
    </if>
    <output filename="remoting/resources/da.pak" lang="da" type="data_package"/>
    <output filename="remoting/resources/de.pak" lang="de" type="data_package"/>
    <output filename="remoting/resources/el.pak" lang="el" type="data_package"/>
    <output filename="remoting/resources/en-GB.pak" lang="en-GB" type="data_package"/>
    <if expr="chromeos_ash or chromeos_lacros">
      <output filename="remoting/resources/en-US.pak" lang="en" type="data_package"/>
    </if>
    <output filename="remoting/resources/en.pak" lang="en" type="data_package"/>
    <if expr="is_ios">
      <!-- iOS uses es-MX for es-419 -->
      <output filename="remoting/resources/es-MX.pak" lang="es-419" type="data_package"/>
    </if>
    <if expr="not is_ios">
      <output filename="remoting/resources/es-419.pak" lang="es-419" type="data_package"/>
    </if>
    <output filename="remoting/resources/es.pak" lang="es" type="data_package"/>
    <output filename="remoting/resources/et.pak" lang="et" type="data_package"/>
    <if expr="chromeos_ash or chromeos_lacros">
      <output filename="remoting/resources/eu.pak" lang="eu" type="data_package"/>
    </if>
    <output filename="remoting/resources/fa.pak" lang="fa" type="data_package"/>
    <output filename="remoting/resources/fi.pak" lang="fi" type="data_package"/>
    <output filename="remoting/resources/fil.pak" lang="fil" type="data_package"/>
    <output filename="remoting/resources/fr.pak" lang="fr" type="data_package"/>
    <if expr="chromeos_ash or chromeos_lacros">
      <output filename="remoting/resources/gl.pak" lang="gl" type="data_package"/>
    </if>
    <output filename="remoting/resources/gu.pak" lang="gu" type="data_package"/>
    <output filename="remoting/resources/he.pak" lang="he" type="data_package"/>
    <output filename="remoting/resources/hi.pak" lang="hi" type="data_package"/>
    <output filename="remoting/resources/hr.pak" lang="hr" type="data_package"/>
    <output filename="remoting/resources/hu.pak" lang="hu" type="data_package"/>
    <output filename="remoting/resources/id.pak" lang="id" type="data_package"/>
    <if expr="chromeos_ash or chromeos_lacros">
      <output filename="remoting/resources/is.pak" lang="is" type="data_package"/>
    </if>
    <output filename="remoting/resources/it.pak" lang="it" type="data_package"/>
    <output filename="remoting/resources/ja.pak" lang="ja" type="data_package"/>
    <output filename="remoting/resources/kn.pak" lang="kn" type="data_package"/>
    <output filename="remoting/resources/ko.pak" lang="ko" type="data_package"/>
    <output filename="remoting/resources/lt.pak" lang="lt" type="data_package"/>
    <output filename="remoting/resources/lv.pak" lang="lv" type="data_package"/>
    <output filename="remoting/resources/ml.pak" lang="ml" type="data_package"/>
    <output filename="remoting/resources/mr.pak" lang="mr" type="data_package"/>
    <output filename="remoting/resources/ms.pak" lang="ms" type="data_package"/>
    <!-- The translation console uses 'no' for Norwegian (Bokmål), but we use 'nb'. -->
    <output filename="remoting/resources/nb.pak" lang="no" type="data_package"/>
    <output filename="remoting/resources/nl.pak" lang="nl" type="data_package"/>
    <output filename="remoting/resources/pl.pak" lang="pl" type="data_package"/>
    <if expr="is_ios">
      <!-- iOS uses pt for pt-BR -->
      <output filename="remoting/resources/pt.pak" lang="pt-BR" type="data_package"/>
    </if>
    <if expr="not is_ios">
      <output filename="remoting/resources/pt-BR.pak" lang="pt-BR" type="data_package"/>
    </if>
    <output filename="remoting/resources/pt-PT.pak" lang="pt-PT" type="data_package"/>
    <output filename="remoting/resources/ro.pak" lang="ro" type="data_package"/>
    <output filename="remoting/resources/ru.pak" lang="ru" type="data_package"/>
    <output filename="remoting/resources/sk.pak" lang="sk" type="data_package"/>
    <output filename="remoting/resources/sl.pak" lang="sl" type="data_package"/>
    <output filename="remoting/resources/sr.pak" lang="sr" type="data_package"/>
    <output filename="remoting/resources/sv.pak" lang="sv" type="data_package"/>
    <output filename="remoting/resources/sw.pak" lang="sw" type="data_package"/>
    <output filename="remoting/resources/ta.pak" lang="ta" type="data_package"/>
    <output filename="remoting/resources/te.pak" lang="te" type="data_package"/>
    <output filename="remoting/resources/th.pak" lang="th" type="data_package"/>
    <output filename="remoting/resources/tr.pak" lang="tr" type="data_package"/>
    <output filename="remoting/resources/uk.pak" lang="uk" type="data_package"/>
    <output filename="remoting/resources/vi.pak" lang="vi" type="data_package"/>
    <output filename="remoting/resources/zh-CN.pak" lang="zh-CN" type="data_package"/>
    <output filename="remoting/resources/zh-TW.pak" lang="zh-TW" type="data_package"/>
    <if expr="chromeos_ash or chromeos_lacros">
      <output filename="remoting/resources/zu.pak" lang="zu" type="data_package"/>
    </if>

    <!-- Pseudolocales -->
    <output filename="remoting/resources/ar-XB.pak" lang="ar-XB" type="data_package"/>
    <output filename="remoting/resources/en-XA.pak" lang="en-XA" type="data_package"/>

    <if expr="chromeos_ash or chromeos_lacros">
      <output filename="remoting/resources/_locales/af/messages.json" lang="af" type="chrome_messages_json"/>
    </if>
    <output filename="remoting/resources/_locales/am/messages.json" lang="am" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/ar/messages.json" lang="ar" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/bg/messages.json" lang="bg" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/bn/messages.json" lang="bn" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/ca/messages.json" lang="ca" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/cs/messages.json" lang="cs" type="chrome_messages_json"/>
    <if expr="chromeos_ash or chromeos_lacros">
      <output filename="remoting/resources/_locales/cy/messages.json" lang="cy" type="chrome_messages_json"/>
    </if>
    <output filename="remoting/resources/_locales/da/messages.json" lang="da" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/de/messages.json" lang="de" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/fa/messages.json" lang="fa" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/el/messages.json" lang="el" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/en/messages.json" lang="en" type="chrome_messages_json"/>
    <if expr="chromeos_ash or chromeos_lacros">
      <!-- lang="en-US" will create an empty json file. -->
      <output filename="remoting/resources/_locales/en_US/messages.json" lang="en" type="chrome_messages_json"/>
    </if>
    <output filename="remoting/resources/_locales/en_GB/messages.json" lang="en-GB" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/es/messages.json" lang="es" type="chrome_messages_json"/>
    <if expr="is_ios">
      <!-- iOS uses es-MX for es-419 -->
      <output filename="remoting/resources/_locales/es_MX/messages.json" lang="es-419" type="chrome_messages_json"/>
    </if>
    <if expr="not is_ios">
      <output filename="remoting/resources/_locales/es_419/messages.json" lang="es-419" type="chrome_messages_json"/>
    </if>
    <output filename="remoting/resources/_locales/et/messages.json" lang="et" type="chrome_messages_json"/>
    <if expr="chromeos_ash or chromeos_lacros">
      <output filename="remoting/resources/_locales/eu/messages.json" lang="eu" type="chrome_messages_json"/>
    </if>
    <output filename="remoting/resources/_locales/fi/messages.json" lang="fi" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/fil/messages.json" lang="fil" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/fr/messages.json" lang="fr" type="chrome_messages_json"/>
    <if expr="chromeos_ash or chromeos_lacros">
      <output filename="remoting/resources/_locales/gl/messages.json" lang="gl" type="chrome_messages_json"/>
    </if>
    <output filename="remoting/resources/_locales/gu/messages.json" lang="gu" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/he/messages.json" lang="he" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/hi/messages.json" lang="hi" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/hr/messages.json" lang="hr" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/hu/messages.json" lang="hu" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/id/messages.json" lang="id" type="chrome_messages_json"/>
    <if expr="chromeos_ash or chromeos_lacros">
      <output filename="remoting/resources/_locales/is/messages.json" lang="is" type="chrome_messages_json"/>
    </if>
    <output filename="remoting/resources/_locales/it/messages.json" lang="it" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/ja/messages.json" lang="ja" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/kn/messages.json" lang="kn" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/ko/messages.json" lang="ko" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/lt/messages.json" lang="lt" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/lv/messages.json" lang="lv" type="chrome_messages_json"/>
    <!-- The translation console uses 'no' for Norwegian (Bokmål), but Chrome uses 'nb'. -->
    <output filename="remoting/resources/_locales/ml/messages.json" lang="ml" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/mr/messages.json" lang="mr" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/ms/messages.json" lang="ms" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/nb/messages.json" lang="no" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/nl/messages.json" lang="nl" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/pl/messages.json" lang="pl" type="chrome_messages_json"/>
    <if expr="is_ios">
      <!-- iOS uses pt for pt-BR -->
      <output filename="remoting/resources/_locales/pt/messages.json" lang="pt-BR" type="chrome_messages_json"/>
    </if>
    <if expr="not is_ios">
      <output filename="remoting/resources/_locales/pt_BR/messages.json" lang="pt-BR" type="chrome_messages_json"/>
    </if>
    <output filename="remoting/resources/_locales/pt_PT/messages.json" lang="pt-PT" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/ro/messages.json" lang="ro" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/ru/messages.json" lang="ru" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/sk/messages.json" lang="sk" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/sl/messages.json" lang="sl" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/sr/messages.json" lang="sr" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/sv/messages.json" lang="sv" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/sw/messages.json" lang="sw" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/ta/messages.json" lang="ta" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/te/messages.json" lang="te" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/th/messages.json" lang="th" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/tr/messages.json" lang="tr" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/uk/messages.json" lang="uk" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/vi/messages.json" lang="vi" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/zh_CN/messages.json" lang="zh-CN" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/zh_TW/messages.json" lang="zh-TW" type="chrome_messages_json"/>
    <if expr="chromeos_ash or chromeos_lacros">
      <output filename="remoting/resources/_locales/zu/messages.json" lang="zu" type="chrome_messages_json"/>
    </if>

    <!-- Pseudolocales -->
    <output filename="remoting/resources/_locales/ar_XB/messages.json" lang="ar-XB" type="chrome_messages_json"/>
    <output filename="remoting/resources/_locales/en_XA/messages.json" lang="en-XA" type="chrome_messages_json"/>

    <if expr="is_android">
      <output filename="remoting/android/res/values-am/remoting_strings.xml" lang="am" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-ar/remoting_strings.xml" lang="ar" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-bg/remoting_strings.xml" lang="bg" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-ca/remoting_strings.xml" lang="ca" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-cs/remoting_strings.xml" lang="cs" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-da/remoting_strings.xml" lang="da" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-de/remoting_strings.xml" lang="de" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-el/remoting_strings.xml" lang="el" type="android" context="android_java"/>
      <output filename="remoting/android/res/values/remoting_strings.xml" lang="en" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-en-rGB/remoting_strings.xml" lang="en-GB" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-es/remoting_strings.xml" lang="es" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-es-rUS/remoting_strings.xml" lang="es-419" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-fa/remoting_strings.xml" lang="fa" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-fi/remoting_strings.xml" lang="fi" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-tl/remoting_strings.xml" lang="fil" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-fr/remoting_strings.xml" lang="fr" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-hi/remoting_strings.xml" lang="hi" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-hr/remoting_strings.xml" lang="hr" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-hu/remoting_strings.xml" lang="hu" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-in/remoting_strings.xml" lang="id" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-it/remoting_strings.xml" lang="it" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-iw/remoting_strings.xml" lang="he" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-ja/remoting_strings.xml" lang="ja" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-ko/remoting_strings.xml" lang="ko" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-lt/remoting_strings.xml" lang="lt" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-lv/remoting_strings.xml" lang="lv" type="android" context="android_java"/>
    <!-- The translation console uses 'no' for Norwegian (Bokmål), but Android uses 'nb'. -->
      <output filename="remoting/android/res/values-nb/remoting_strings.xml" lang="no" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-nl/remoting_strings.xml" lang="nl" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-pl/remoting_strings.xml" lang="pl" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-pt-rBR/remoting_strings.xml" lang="pt-BR" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-pt-rPT/remoting_strings.xml" lang="pt-PT" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-ro/remoting_strings.xml" lang="ro" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-ru/remoting_strings.xml" lang="ru" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-sk/remoting_strings.xml" lang="sk" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-sl/remoting_strings.xml" lang="sl" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-sr/remoting_strings.xml" lang="sr" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-sv/remoting_strings.xml" lang="sv" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-sw/remoting_strings.xml" lang="sw" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-th/remoting_strings.xml" lang="th" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-tr/remoting_strings.xml" lang="tr" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-uk/remoting_strings.xml" lang="uk" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-vi/remoting_strings.xml" lang="vi" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-zh-rCN/remoting_strings.xml" lang="zh-CN" type="android" context="android_java"/>
      <output filename="remoting/android/res/values-zh-rTW/remoting_strings.xml" lang="zh-TW" type="android" context="android_java"/>
    </if>
  </outputs>
  <translations>
    <file path="remoting_strings_af.xtb" lang="af"/>
    <file path="remoting_strings_am.xtb" lang="am"/>
    <file path="remoting_strings_ar.xtb" lang="ar"/>
    <file path="remoting_strings_as.xtb" lang="as"/>
    <file path="remoting_strings_az.xtb" lang="az"/>
    <file path="remoting_strings_be.xtb" lang="be"/>
    <file path="remoting_strings_bg.xtb" lang="bg"/>
    <file path="remoting_strings_bn.xtb" lang="bn"/>
    <file path="remoting_strings_bs.xtb" lang="bs"/>
    <file path="remoting_strings_ca.xtb" lang="ca"/>
    <file path="remoting_strings_cs.xtb" lang="cs"/>
    <file path="remoting_strings_cy.xtb" lang="cy"/>
    <file path="remoting_strings_da.xtb" lang="da"/>
    <file path="remoting_strings_de.xtb" lang="de"/>
    <file path="remoting_strings_el.xtb" lang="el"/>
    <file path="remoting_strings_en-GB.xtb" lang="en-GB"/>
    <file path="remoting_strings_es.xtb" lang="es"/>
    <file path="remoting_strings_es-419.xtb" lang="es-419"/>
    <file path="remoting_strings_et.xtb" lang="et"/>
    <file path="remoting_strings_eu.xtb" lang="eu"/>
    <file path="remoting_strings_fa.xtb" lang="fa"/>
    <file path="remoting_strings_fi.xtb" lang="fi"/>
    <file path="remoting_strings_fil.xtb" lang="fil"/>
    <file path="remoting_strings_fr.xtb" lang="fr"/>
    <file path="remoting_strings_fr-CA.xtb" lang="fr-CA"/>
    <file path="remoting_strings_gl.xtb" lang="gl"/>
    <file path="remoting_strings_gu.xtb" lang="gu"/>
    <!-- The translation console uses 'iw' for Hebrew, but we use 'he'. -->
    <file path="remoting_strings_iw.xtb" lang="he"/>
    <file path="remoting_strings_hi.xtb" lang="hi"/>
    <file path="remoting_strings_hr.xtb" lang="hr"/>
    <file path="remoting_strings_hu.xtb" lang="hu"/>
    <file path="remoting_strings_hy.xtb" lang="hy"/>
    <file path="remoting_strings_id.xtb" lang="id"/>
    <file path="remoting_strings_is.xtb" lang="is"/>
    <file path="remoting_strings_it.xtb" lang="it"/>
    <file path="remoting_strings_ja.xtb" lang="ja"/>
    <file path="remoting_strings_ka.xtb" lang="ka"/>
    <file path="remoting_strings_kk.xtb" lang="kk"/>
    <file path="remoting_strings_km.xtb" lang="km"/>
    <file path="remoting_strings_kn.xtb" lang="kn"/>
    <file path="remoting_strings_ko.xtb" lang="ko"/>
    <file path="remoting_strings_ky.xtb" lang="ky"/>
    <file path="remoting_strings_lo.xtb" lang="lo"/>
    <file path="remoting_strings_lt.xtb" lang="lt"/>
    <file path="remoting_strings_lv.xtb" lang="lv"/>
    <file path="remoting_strings_mk.xtb" lang="mk"/>
    <file path="remoting_strings_ml.xtb" lang="ml"/>
    <file path="remoting_strings_mn.xtb" lang="mn"/>
    <file path="remoting_strings_mr.xtb" lang="mr"/>
    <file path="remoting_strings_ms.xtb" lang="ms"/>
    <file path="remoting_strings_my.xtb" lang="my"/>
    <file path="remoting_strings_ne.xtb" lang="ne"/>
    <file path="remoting_strings_nl.xtb" lang="nl"/>
    <file path="remoting_strings_no.xtb" lang="no"/>
    <file path="remoting_strings_or.xtb" lang="or"/>
    <file path="remoting_strings_pa.xtb" lang="pa"/>
    <file path="remoting_strings_pl.xtb" lang="pl"/>
    <file path="remoting_strings_pt-BR.xtb" lang="pt-BR"/>
    <file path="remoting_strings_pt-PT.xtb" lang="pt-PT"/>
    <file path="remoting_strings_ro.xtb" lang="ro"/>
    <file path="remoting_strings_ru.xtb" lang="ru"/>
    <file path="remoting_strings_si.xtb" lang="si"/>
    <file path="remoting_strings_sk.xtb" lang="sk"/>
    <file path="remoting_strings_sl.xtb" lang="sl"/>
    <file path="remoting_strings_sq.xtb" lang="sq"/>
    <file path="remoting_strings_sr.xtb" lang="sr"/>
    <file path="remoting_strings_sr-Latn.xtb" lang="sr-Latn"/>
    <file path="remoting_strings_sv.xtb" lang="sv"/>
    <file path="remoting_strings_sw.xtb" lang="sw"/>
    <file path="remoting_strings_ta.xtb" lang="ta"/>
    <file path="remoting_strings_te.xtb" lang="te"/>
    <file path="remoting_strings_th.xtb" lang="th"/>
    <file path="remoting_strings_tr.xtb" lang="tr"/>
    <file path="remoting_strings_uk.xtb" lang="uk"/>
    <file path="remoting_strings_ur.xtb" lang="ur"/>
    <file path="remoting_strings_uz.xtb" lang="uz"/>
    <file path="remoting_strings_vi.xtb" lang="vi"/>
    <file path="remoting_strings_zh-CN.xtb" lang="zh-CN"/>
    <file path="remoting_strings_zh-HK.xtb" lang="zh-HK"/>
    <file path="remoting_strings_zh-TW.xtb" lang="zh-TW"/>
    <file path="remoting_strings_zu.xtb" lang="zu"/>
  </translations>
  <release seq="1">
    <messages fallback_to_english="true">

      <if expr="_google_chrome">
        <if expr="is_android or is_ios">
          <message desc="Message shown in popup dialog on Android when there are no Google accounts on the device" name="IDS_NOACCOUNTS_MESSAGE" formatter_data="android_java">
          To use Chrome Remote Desktop, you'll need to add a Google Account to your device.
          </message>
          <message desc="The product name, as displayed on Android devices. Ideally this would be 'Chrome Remote Desktop', but that name is too long to be displayed in the Android Launcher. Try to keep the translation below 16 characters if possible." name="IDS_PRODUCT_NAME_ANDROID" formatter_data="android_java">
            Remote Desktop
          </message>
          <message desc="The product name, as displayed on iOS devices. Ideally this would be 'Chrome Remote Desktop', but the iOS launcher can only show about 10 characters without being clipped. Event 'Remote Desktop' will be shown as 'Remote De...'. Try to keep the translation as short as possible." name="IDS_IOS_DISPLAY_NAME">
            Remote Desktop
          </message>
        </if>  <!-- is_android or is_ios -->

        <message desc="Error displayed if authentication fails. This can be caused by stale credentials, in which logging out of the web-app and retrying can fix the problem." name="IDS_ERROR_AUTHENTICATION_FAILED" formatter_data="android_java">
          Authentication failed. Please sign in to Chrome again.
        </message>
        <message desc="Message displayed when the client or host has disconnected." name="IDS_MESSAGE_SESSION_FINISHED">
          Your Chrome Remote Desktop session has ended.
        </message>
        <message desc="The product name. Displayed in various Chrome pages, including the New Tab page, and displayed prominently on the app's main page." name="IDS_PRODUCT_NAME">
          Chrome Remote Desktop
        </message>
        <message name="IDS_COMPANY_NAME" desc="The company name specified in the version information of each Chrome Remote Desktop Host executable.">
          Google LLC
        </message>
        <message name="IDS_COPYRIGHT" desc="The copyright message specified in the version information of each Chrome Remote Desktop Host executable. It should be updated every year.">
          Copyright 2022 Google LLC. All Rights Reserved.
        </message>
        <message name="IDS_DISPLAY_SERVICE_NAME" desc="The name of the Windows service installed by Chrome Remote Desktop.">
          Chrome Remote Desktop Service
        </message>
        <message name="IDS_SERVICE_DESCRIPTION" desc="The description of the Windows service installed by Chrome Remote Desktop.">
          This service enables incoming connections from Chrome Remote Desktop clients.
        </message>
        <message name="IDS_MAC_UNINSTALLER_BUNDLE_NAME" desc="The bundle name specified in the property list of Chrome Remote Desktop Host Uninstaller bundle on MacOS. The Chrome Remote Desktop host allows a user to connect to their computer remotely (it 'hosts' a connection from a remote computer).">
          Chrome Remote Desktop Host Uninstaller
        </message>
        <message name="IDS_MAC_MICROPHONE_USAGE" desc="The description explaining how the Chrome Remote Desktop host requests for microphone access.">
          Microphone access is required to capture audio and stream it to the Chrome Remote Desktop client.
        </message>
      </if>  <!-- _google_chrome -->

      <if expr="not _google_chrome">
        <if expr="is_android or is_ios">
          <message desc="Message shown in popup dialog on Android when there are no Google accounts on the device" name="IDS_NOACCOUNTS_MESSAGE" formatter_data="android_java">
            To use Chromoting, you'll need to add a Google Account to your device.
          </message>
          <message desc="The product name, as displayed on Android devices. Try to keep the translation below 16 characters if possible." name="IDS_PRODUCT_NAME_ANDROID" formatter_data="android_java">
            Chromoting
          </message>
          <message desc="The product name, as displayed on iOS devices. Try to keep the translation below 10 characters if possible." name="IDS_IOS_DISPLAY_NAME">
            Chromoting
          </message>
        </if>  <!-- is_android or is_ios -->

        <message desc="Error displayed if authentication fails. This can be caused by stale credentials, in which logging out of the web-app and retrying can fix the problem." name="IDS_ERROR_AUTHENTICATION_FAILED" formatter_data="android_java">
          Authentication failed. Please sign in to Chromium again.
        </message>
        <message desc="Message displayed when the client or host has disconnected." name="IDS_MESSAGE_SESSION_FINISHED">
          Your Chromoting session has ended.
        </message>
        <message desc="The product name. Displayed in various Chrome pages, including the New Tab page, and displayed prominently on the app's main page." name="IDS_PRODUCT_NAME">
          Chromoting
        </message>
        <message name="IDS_COMPANY_NAME" desc="The company name specified in the version information of each Chromoting Host executable.">
          The Chromium Authors
        </message>
        <message name="IDS_COPYRIGHT" desc="The copyright message specified in the version information of each Chromoting Host executable. It should be updated every year.">
          Copyright 2022 The Chromium Authors. All Rights Reserved.
        </message>
        <message name="IDS_DISPLAY_SERVICE_NAME" desc="The name of the Windows service installed by Chromoting.">
          Chromoting Service
        </message>
        <message name="IDS_SERVICE_DESCRIPTION" desc="The description of the Windows service installed by Chromoting.">
          This service enables incoming connections from Chromoting clients.
        </message>
        <message name="IDS_MAC_UNINSTALLER_BUNDLE_NAME" desc="The bundle name specified in the property list of Chromoting Host Uninstaller bundle on MacOS.">
          Chromoting Host Uninstaller
        </message>
        <message name="IDS_MAC_MICROPHONE_USAGE" desc="The description explaining how the Chrome Remote Desktop host uses microphone.">
          Microphone access is required to capture audio and stream it to the Chrome Remote Desktop client.
        </message>
      </if>  <!-- not _google_chrome -->

      <message desc="Error that is shown on the client side when incompatible Chrome Remote Desktop versions are installed on host and client." name="IDS_ERROR_INCOMPATIBLE_PROTOCOL" formatter_data="android_java">
        An incompatible protocol version was detected. Please make sure that you have the latest version of the software installed on both computers and try again.
      </message>
      <message desc="Error displayed if the client plugin are missing or if they could not be loaded." name="IDS_ERROR_BAD_PLUGIN_VERSION">
        Some required components are missing. Please make sure you have installed the latest version of the software and try again.
      </message>
      <message desc="Message shown if the user is is trying to modify an object that does not exist." name="IDS_ERROR_NOT_FOUND">
        The requested object does not exist.
      </message>
      <message desc="Menu option to submit feedback about the product." name="IDS_SEND_FEEDBACK">
        Report an issue…
      </message>
      <message desc="Title for the connection error dialog." name="IDS_CONNECTION_FAILED">
        Connection failed
      </message>

      <if expr="is_android or is_ios">
        <message desc="Button to show or hide the on-screen keyboard." name="IDS_SHOW_HIDE_KEYBOARD" formatter_data="android_java">
          Show/hide keyboard.
        </message>
        <message desc="Button to show the on-screen keyboard." name="IDS_SHOW_KEYBOARD">
          Show keyboard
        </message>
        <message desc="Button to show the on-screen keyboard." name="IDS_HIDE_KEYBOARD">
          Hide keyboard
        </message>
        <message desc="Menu item to select the Touch input mode. In this mode, there is no visible mouse pointer and the user must tap on the screen to simulate a left-click." name="IDS_SELECT_TOUCH_MODE" formatter_data="android_java">
          Touch mode
        </message>
        <message desc="Menu item to select the Trackpad input mode. In this mode, the mouse cursor is visible and the screen acts as a laptop's trackpad." name="IDS_SELECT_TRACKPAD_MODE" formatter_data="android_java">
          Trackpad mode
        </message>
        <message desc="Message displayed in the Android application if the user has not set up any computers for remote access." name="IDS_HOST_LIST_EMPTY_ANDROID" formatter_data="android_java">
          There's nothing to connect to
        </message>
        <message desc="Instruction displayed in the Android application if the user has not set up any computers for remote access. It appears after some larger text which states that the user has no computers to connect to." name="IDS_HOST_LIST_EMPTY_INSTRUCTIONS_ANDROID" formatter_data="android_java">
          You need to first set up your computer for remote access
        </message>
        <message desc="This button appears below some text which explains that the user needs to set up a computer for remote access. When a user activates the button, they are taken to a web page that explains how to set up a Chromoting host." name="IDS_HOST_SETUP_LINK_ANDROID" formatter_data="android_java">
          Learn how
        </message>
        <message desc="Title of the authentication dialog" name="IDS_TITLE_AUTHENTICATE" formatter_data="android_java">
          Authenticate to host
        </message>
        <message desc="Android application menu item for sending product feedback to the developers" name="IDS_ACTIONBAR_SEND_FEEDBACK" formatter_data="android_java">
          Send Feedback
        </message>
        <message desc="Title displayed in the action-bar for the Android Help screen" name="IDS_ACTIONBAR_HELP_TITLE" formatter_data="android_java">
          Help
        </message>
        <message desc="Android application menu item for showing the Help screen" name="IDS_ACTIONBAR_HELP" formatter_data="android_java">
          Help
        </message>
        <message desc="Android action-bar menu item for viewing the Play Store page for the application" name="IDS_ACTIONBAR_PLAY_STORE" formatter_data="android_java">
          View in Google Play Store
        </message>
        <message desc="Label for the button on the Android popup dialog that is shown when there are no Google accounts on the device. Pressing this button launches the Android system screen for adding a new Google account to the device." name="IDS_NOACCOUNTS_ADD_ACCOUNT" formatter_data="android_java">
          Add account
        </message>
        <message desc="Button which appears below the user's current account name. Pressing it brings up an account-chooser dialog." name="IDS_CHANGE_ACCOUNT" formatter_data="android_java">
          Change account
        </message>
        <message desc="Error that is shown if a network error occurs, including the case where the device is off-line." name="IDS_ERROR_NETWORK_ERROR" formatter_data="android_java">
          A network error occurred. Please check that your device is on-line and try again.
        </message>
        <message desc="Text shown in tooltip when user touches an offline host on the device." name="IDS_HOST_OFFLINE_TOOLTIP" formatter_data="android_java">
          Host is offline.
        </message>
        <message name="IDS_THIRD_PARTY_AUTH_NOT_SUPPORTED" desc="Error message shown when the user attempts to connect to a remote device under third party authentication, which is currently unsupported by the client.">
          This device is not supported by this client because it requires third party authentication.
        </message>
        <message name="IDS_REPORT_THIS" desc="Label text for a button to report a connection failure to the developers.">
          Report this
        </message>
        <message name="IDS_TERMS_OF_SERVICE" desc="The label to access the terms of service, displayed in navigation menu." formatter_data="android_java">
          Terms of Service
        </message>
        <message name="IDS_PRIVACY_POLICY" desc="The label to access the privacy policy, displayed in navigation menu." formatter_data="android_java">
          Privacy Policy
        </message>
        <message name="IDS_DISMISS" desc="Label for button to dismiss a dialog" formatter_data="android_java">
          Dismiss
        </message>
        <message name="IDS_DONT_SHOW_AGAIN" desc="Label for checkbox to make a dialog not showing again." formatter_data="android_java">
          Don't show again
        </message>
      </if>  <!-- is_android or is_ios -->

      <if expr="is_ios">
        <message desc="Initial screen's title, welcoming the user." name="IDS_WELCOME">
          Welcome
        </message>
        <message desc="Initial screen's subtitle, with a short description of the app" name="IDS_SHORT_DESCRIPTION">
          Access your computer securely over the Internet
        </message>
      </if> <!-- is_ios -->

      <message desc="Title for a list of devices that an be accessed remotely." name="IDS_REMOTE_DEVICES_TITLE">
        Remote devices
      </message>
      <message desc="Subtitle shown in the host list when host is online." name ="IDS_HOST_ONLINE_SUBTITLE">
        Online
      </message>
      <message desc="Subtitle shown in the host list when host is offline, and for which no last-online status is available." name="IDS_HOST_OFFLINE_SUBTITLE">
        Offline
      </message>
      <message desc="Subtitle shown in the host list when host is offline. Indicates when host was last seen online." name="IDS_LAST_ONLINE_SUBTITLE">
        Last online: <ph name="DATE">$1<ex>1/6/13</ex></ph>
      </message>
      <message desc="Title for the button that brings up a settings menu." name="IDS_SETTINGS_BUTTON">
        Settings
      </message>
      <message desc="Title for the button that moves the floating action button to the other left side of the screen." name="IDS_MOVE_FAB_LEFT_BUTTON">
        Dock Left
      </message>
      <message desc="Title for the button that moves the floating action button to the right side of the screen." name="IDS_MOVE_FAB_RIGHT_BUTTON">
        Dock Right
      </message>
      <message desc="Short placeholder text on a text box to prompt the user to enter the PIN." name="IDS_ENTER_PIN">
        Enter PIN
      </message>
      <message desc="Text displayed while the client is connecting to a host" name="IDS_CONNECTING_TO_HOST_MESSAGE">
        Connecting to <ph name="HOSTNAME">$1<ex>My Linux desktop</ex></ph>
      </message>
      <message desc="Text displayed when the client is successfully connected to a host" name="IDS_CONNECTED_TO_HOST_MESSAGE">
        Connected to <ph name="HOSTNAME">$1<ex>My Linux desktop</ex></ph>
      </message>
      <message desc="Text displayed when the client's connection to a host is closed" name="IDS_CONNECTION_CLOSED_FOR_HOST_MESSAGE">
        Connection closed for <ph name="HOSTNAME">$1<ex>My Linux desktop</ex></ph>
      </message>
      <message desc="Text displayed when the client failed to connect to a host" name="IDS_ERROR_CONNECTING_TO_HOST_MESSAGE">
        Error connecting to <ph name="HOSTNAME">$1<ex>My Linux desktop</ex></ph>
      </message>
      <message desc="Title for an options menu for configuring how the remote host screen should be displayed in the window." name="IDS_DISPLAY_OPTIONS">
        Display options
      </message>
      <message desc="Title for an options menu for configuring how mouse inputs should be injected to the remote host." name="IDS_MOUSE_OPTIONS">
        Mouse options
      </message>
      <message desc="Title for an options menu for configuring how keyboard inputs should be injected to the remote host." name="IDS_KEYBOARD_OPTIONS">
        Keyboard options
      </message>
      <message desc="Title for the support menu with options like FAQs and Help Center." name="IDS_SUPPORT_MENU">
        Support
      </message>
      <message desc="Title for the button that brings up the help center page." name="IDS_HELP_CENTER">
        Help Center
      </message>
      <message desc="Title for the button that brings up the frequently asked questions page." name="IDS_FAQS">
        FAQs
      </message>
      <message desc="Subtitle (description) of the option controlling whether or not the remote desktop is resized to match the window size as closely as possible." name="IDS_RESIZE_TO_CLIENT_SUBTITLE">
        Update remote resolution to match window
      </message>
      <message desc="Subtitle (description) for the touch mode. In this mode, there is no visible mouse pointer and the user must tap on the screen to simulate a left-click." name="IDS_TOUCH_MODE_DESCRIPTION">
        Screen acts like a touch screen
      </message>
      <message desc="Subtitle (description) for the trackpad mode. In this mode, In this mode, the mouse cursor is visible and the screen acts as a laptop's trackpad." name="IDS_TRACKPAD_MODE_DESCRIPTION">
        Screen acts like a trackpad
      </message>

      <!-- This is a verbatim transcription for the description. See also IDS_REMEMBER_PIN. -->
      <message desc="Check-box displayed when the user enters their PIN to connect to a host, avoiding the need to enter the PIN each time." name="IDS_REMEMBER_PIN_ON_THIS_DEVICE">
        Remember my PIN on this device.
      </message>

      <message desc="Title for the instructions for setting up a remote host. Shown when the user has no host available." name="IDS_HOST_SETUP_TITLE">
        Welcome to Chrome Remote Desktop
      </message>
      <message desc="Step 1 to set up a computer to be remotely accessible." name="IDS_HOST_SETUP_STEP_1">On the computer you want to access remotely, open Chrome and visit <ph name="INSTALLATION_LINK">$1<ex>google.com/remotedesktop</ex></ph></message>
      <message desc="Step 2 to set up a computer to be remotely accessible." name="IDS_HOST_SETUP_STEP_2">Follow the instructions to set up your computer for remote access</message>
      <message desc="Step 3 to set up a computer to be remotely accessible." name="IDS_HOST_SETUP_STEP_3">After setup is complete, refresh this page, then you'll be able to access the computer by choosing your device and entering the PIN</message>
      <message desc="Label for a button for sending the user an email with link and instructions for setting up a computer for remote access." name="IDS_EMAIL_LINKS_AND_INSTRUCTIONS">
        Email these instructions
      </message>

      <message desc="Message being spoken for accessibility when the user is just connected to the remote device." name="IDS_HOST_CONNECTED_ANNOUNCEMENT">
        You are connected to your remote device. To open the menu, please tap the screen with four fingers.
      </message>

      <message desc="Label for the access code entry box. This is where the client user enters the code that permits access to the host." name="IDS_ACCESS_CODE">
        Access code
      </message>
      <message desc="Label next to the PIN entry edit box. The user must enter a PIN before enabling remote access to their computer." name="IDS_ASK_PIN_DIALOG_LABEL">
        PIN
      </message>
      <message desc="Label for general-purpose Cancel buttons." name="IDS_CANCEL" formatter_data="android_java">
        Cancel
      </message>
      <message desc="Label for general-purpose Close buttons." name="IDS_CLOSE" formatter_data="android_java">
        Close
      </message>
      <message desc="Label for the connect button. Clicking this button will start the Chrome Remote Desktop session if the access code is correct." name="IDS_CONNECT_BUTTON" formatter_data="android_java">
        Connect
      </message>
      <message desc="Confirmation prompt shown when a user attempts to delete a Me2Me host from their host list." name="IDS_CONFIRM_HOST_DELETE">
        Are you sure you want to disable remote connections to <ph name="HOSTNAME">$1<ex>My Linux desktop</ex></ph>? If you change your mind, you'll need to visit that computer to re-enable connections.
      </message>
      <message desc="Confirmation prompt shown when a user attempts remove or deactivate a machine from the list of their remotely-accessible machines." name="IDS_CONFIRM_HOST_DELETE_ANDROID" formatter_data="android_java">
        Are you sure you want to disable remote connections to <ph name="HOSTNAME">%1$s<ex>My Linux desktop</ex></ph>?
      </message>
      <message desc="Label for the continue button on the pre-authorization page. Clicking this button takes the user to the standard Google Accounts authorization page." name="IDS_CONTINUE_BUTTON">
        Continue
      </message>
      <message desc="Message displayed when the session has lasted longer than five minutes, explaining that the host computer is being shared and asking whether or not the user wants to continue sharing it." name="IDS_CONTINUE_PROMPT">
        You are currently sharing this machine with another user. Do you want to continue sharing?
      </message>
      <message desc="Label for the client-side disconnect button. Clicking this button disconnects oneself from the host." name="IDS_DISCONNECT_MYSELF_BUTTON" formatter_data="android_java">
        Disconnect
      </message>
      <message desc="Error that is shown on the client side when the host is blocking all connections due to failed authentication attempts." name="IDS_ERROR_HOST_OVERLOAD" formatter_data="android_java">
        Connections to the remote computer are temporarily blocked because somebody was trying to connect to it with an invalid PIN. Please try again later.
      </message>
      <message desc="Error that is shown on the client side after the host has terminated connection that lasted more than maximum allowed duration." name="IDS_ERROR_MAX_SESSION_LENGTH" formatter_data="android_java">
        The remote session has expired.
      </message>
      <message desc="Error that is shown on the client side the host has failed to accept the connection due to a configuration issue." name="IDS_ERROR_HOST_CONFIGURATION_ERROR" formatter_data="android_java">
        The remote computer has failed to initialize the session. If problem persist please try to configure the host again.
      </message>

      <message desc="Error that is shown on the client side when we don't get a response from the host." name="IDS_ERROR_HOST_IS_OFFLINE" formatter_data="android_java">
        The remote computer is not responding to connection requests. Please verify that it is online and try again.
      </message>
      <message desc="Error displayed if an invalid access code is entered." name="IDS_ERROR_INVALID_ACCESS_CODE" formatter_data="android_java">
        The access code is invalid. Please try again.
      </message>
      <message desc="Error displayed if the host security policies do not allow connections from client." name="IDS_ERROR_INVALID_ACCOUNT" formatter_data="android_java">
        Security policies on the remote computer do not allow connections from your account.
      </message>
      <message desc="Error displayed when the host is online, but we are unable to connect to it due to network configuration." name="IDS_ERROR_P2P_FAILURE" formatter_data="android_java">
        Unable to reach the host. This is probably due to the configuration of the network you are using.
      </message>
      <message desc="Error displayed when the host is online, but we are unable to connect to it due to network configuration." name="IDS_ERROR_NETWORK_FAILURE">
        Could not connect to the network. Please check that your device is on-line.
      </message>
      <message desc="Error displayed when the user's oauth token is invalid." name="IDS_ERROR_OAUTH_TOKEN_INVALID">
        There was an issue authenticating, please login again.
      </message>
      <message desc="Error displayed in situations where things go wrong in ways not anticipated by the developers. There is typically no user-workaround to suggest, other than reporting the error so that we can investigate further." name="IDS_ERROR_UNEXPECTED" formatter_data="android_java">
        An unexpected error occurred. Please report this problem to the developers.
      </message>
      <message desc="Text displayed while a client is connecting to a host, but before the connection is established." name="IDS_FOOTER_CONNECTING" formatter_data="android_java">
        Connecting…
      </message>
      <message desc="Menu option for toggle full-screen mode." name="IDS_FULL_SCREEN" formatter_data="android_java">
        Full screen
      </message>
      <message desc="Help link, displayed in the top-left (assuming ltr layout) corner of the main screen. Clicking this takes the user to our FAQ." name="IDS_HELP">
        Help
      </message>
      <message desc="Credits link, displayed in the top-left (assuming ltr layout) corner of the main screen. Clicking this takes the user to our acknowledgements screen." name="IDS_CREDITS" formatter_data="android_java">
        Credits
      </message>
      <message desc="Message shown on the host computer while a session is active informing them who is connected." name="IDS_MESSAGE_SHARED">
        Your desktop is currently shared with <ph name="USER">$1<ex>user@domain.com</ex></ph>.
      </message>
      <message desc="Sub-title for the remote assistance section of the UI, which contains buttons to share this computer or to connect to another computer, both on a one-off basis." name="IDS_MODE_IT2ME">
        Remote Assistance
      </message>
      <message desc="Sub-title for the remote access section of the UI, which contains a list of currently-shared hosts and a button to enable this computer for long-term sharing." name="IDS_MODE_ME2ME" formatter_data="android_java">
        My Computers
      </message>
      <message desc="Label for general-purpose OK buttons." name="IDS_OK">
        OK
      </message>
      <if expr="is_android">
        <!-- Android uses a different format for placeholder -->
        <message desc="Message that is spoken (for accessibility) whenever the user selects an account from a list displayed in the application." name="IDS_LOG_IN_ACCOUNT_ACCESSIBILITY_DESCRIPTION" formatter_data="android_java" meaning="Spoken message">
          Signed in as <ph name="EMAIL_ADDRESS">%1$s<ex>test@gmail.com</ex></ph>.
        </message>
        <message desc="This string represents a host status line, which is shown below the host name for offline hosts.  The status line consists of 1) a host offline status (i.e. a specific 'Host failed to read the policy.' or 'Invalid host owner.' or a generic 'Host if offline.') and 2) statement when the host was last seen online (i.e. 'Last seen online 20 minutes ago.')."
                 name="IDS_HOST_STATUS_LINE" formatter_data="android_java">
          <ph name="OPTIONAL_OFFLINE_REASON">%2$s<ex>Host failed to read the policy.</ex></ph>  Last seen online <ph name="RELATIVE_TIMESTAMP">%1$s<ex>yesterday</ex></ph>.
        </message>
        <message desc="Content description (used for accessibility) of a host icon representing an offline host."
                 name="IDS_HOST_ICON_OFFLINE_DESCRIPTION" formatter_data="android_java">
          Offline.
        </message>
      </if>
      <if expr="not is_android">
        <message desc="Short message being popped up whenever the user selects an account from a list displayed in the application." name="IDS_LOG_IN_ACCOUNT_DESCRIPTION" meaning="UI element">
          Signed in as <ph name="EMAIL_ADDRESS">$1<ex>test@gmail.com</ex></ph>.
        </message>
        <message desc="Modified version of the host name shown for hosts that are not currently accessible and for which no last-online status is available." name="IDS_OFFLINE">
          <ph name="HOSTNAME">$1<ex>My Linux desktop</ex></ph> (offline)
        </message>
        <message desc="Modified version of the host name shown for hosts that are not currently accessible." name="IDS_LAST_ONLINE">
          <ph name="HOSTNAME">$1<ex>My Linux desktop</ex></ph> (last online <ph name="DATE_OR_TIME">$2<ex>1/6/2013 or 11:23:32 AM</ex></ph>)
        </message>
      </if>
      <message desc="Error message indicating that the host is offline, because the host failed to initialize (i.e. failed to generate a host certificate, run out of memory early during startup, failed to set up inter-process communication, etc.)."
               name="IDS_OFFLINE_REASON_INITIALIZATION_FAILED" formatter_data="android_java">
        Host initialization failed.
      </message>
      <message desc="Error message indicating that the host is offline, because the host configuration is invalid."
               name="IDS_OFFLINE_REASON_INVALID_HOST_CONFIGURATION" formatter_data="android_java">
        Invalid host configuration.
      </message>
      <message desc="Error message indicating that the host is offline, because the host configuration specifies a host id that is not found in the Chrome Remote Desktop Directory service (possibly because the host entry was deleted by the user)."
               name="IDS_OFFLINE_REASON_INVALID_HOST_ID" formatter_data="android_java">
        Invalid host id.
      </message>
      <message desc="Error message indicating that the host is offline, because the host configuration specifies an OAuth credential that is rejected when the host tries to authenticate itself to Chrome Remote Desktop Directory service."
               name="IDS_OFFLINE_REASON_INVALID_OAUTH_CREDENTIALS" formatter_data="android_java">
        Host is configured with invalid OAuth credentials.
      </message>
      <message desc="Error message indicating that the host is offline, because the host is owned by a user from a domain different than the domain mandated by RemoteAccessHostDomainList policy."
               name="IDS_OFFLINE_REASON_INVALID_HOST_DOMAIN" formatter_data="android_java">
        Invalid host owner domain.
      </message>
      <message desc="Error message indicating that the host is offline, because RemoteAccessHostRequireCurtain policy requires curtain mode, which is not supported when 'launchd' runs an instance of the host at the console login screen on a Mac."
               name="IDS_OFFLINE_REASON_LOGIN_SCREEN_NOT_SUPPORTED" formatter_data="android_java">
        Host running at the console logic screen has shutdown to support curtain mode by switching to a host running in a user-specific session.
      </message>
      <message desc="Error message indicating that the host is offline, because the host policy was unreadable (unparseable, inaccessible, mistyped or malformed)."
               name="IDS_OFFLINE_REASON_POLICY_READ_ERROR" formatter_data="android_java">
        Host failed to read the policy.
      </message>
      <message desc="Error message indicating that the host is temporarily offline, because the host is restarting due to a policy change."
               name="IDS_OFFLINE_REASON_POLICY_CHANGE_REQUIRES_RESTART" formatter_data="android_java">
        Host is restarting, to take into account a policy change.
      </message>
      <message desc="Error message indicating that the host is offline, because another process has requested the host to shut down (via a SIGTERM signal)."
               name="IDS_OFFLINE_REASON_SUCCESS_EXIT" formatter_data="android_java">
        Host has shut down.
      </message>
      <message desc="Error message indicating that the host is offline, because RemoteAccessHostMatchUsername policy is enabled and there is a mismatch between the name of the local user (that the host is associated with) and the name of the Google account registered as the host owner (i.e. 'johndoe' if the host is owned by 'johndoe@example.com' Google account)"
               name="IDS_OFFLINE_REASON_USERNAME_MISMATCH" formatter_data="android_java">
        Invalid host owner.
      </message>
      <message desc="Error message indicating that the host is offline because the X server keeps dying."
               name="IDS_OFFLINE_REASON_X_SERVER_RETRIES_EXCEEDED" formatter_data="android_java">
        X server crashed or failed to start.
      </message>
      <message desc="Error message indicating that the host is offline because the session script keeps dying."
               name="IDS_OFFLINE_REASON_SESSION_RETRIES_EXCEEDED" formatter_data="android_java">
        Session crashed or failed to start. If ~/.chrome-remote-desktop-session exists on the remote computer, make sure it starts a long-running foreground process such as a desktop environment or window manager.
      </message>
      <message desc="Error message indicating that the host is offline because the host keeps dying."
               name="IDS_OFFLINE_REASON_HOST_RETRIES_EXCEEDED" formatter_data="android_java">
        Host crashed or failed to start.
      </message>
      <if expr="is_android">
        <message desc="Description of why host is offline, when client gets a host-offline-reason it doesn't recognize."
                 name="IDS_OFFLINE_REASON_UNKNOWN" formatter_data="android_java">
          Unrecognized host error: <ph name="HOST_OFFLINE_REASON">%1$s<ex>EXIT_CODE_FROM_HOST_NEWER_THAN_CLIENT</ex></ph>.
        </message>
      </if>
      <if expr="not is_android">
        <message desc="Description of why host is offline, when client gets a host-offline-reason it doesn't recognize."
                 name="IDS_OFFLINE_REASON_UNKNOWN">
          Unrecognized host error: <ph name="HOST_OFFLINE_REASON">$1<ex>EXIT_CODE_FROM_HOST_NEWER_THAN_CLIENT</ex></ph>.
        </message>
      </if>
      <message desc="Label for the PIN entry box." name="IDS_PIN">
        PIN
      </message>
      <message desc="Message displayed to the user asking them to enter a PIN for the host they are connecting to." name="IDS_PIN_MESSAGE">
        Please enter your PIN for <ph name="HOSTNAME">$1<ex>My Linux desktop</ex></ph>.
      </message>
      <message desc="Message displayed to the user asking them to enter a PIN for the host they are connecting to." name="IDS_PIN_MESSAGE_ANDROID" formatter_data="android_java">
        Please enter your PIN for the remote computer.
      </message>
      <message desc="Label for button to reconnect to the previous Me2Me host. This button appears on the 'session-finished' page." name="IDS_RECONNECT">
        Reconnect
      </message>
      <message desc="Button for enabling or disabling the 'resize-to-client' functionality, whereby the host desktop is resized to match the client size as closely as possible." name="IDS_RESIZE_TO_CLIENT" formatter_data="android_java">
        Resize desktop to fit
      </message>
      <message desc="Label for button to retry connecting to a Me2Me host, after failing to connect to that host. This button appears on the 'session-finished' page." name="IDS_RETRY">
        Retry
      </message>
      <message desc="Label for the client-side menu button that sends a Ctrl-Alt-Del sequence to the host. Clicking this button behaves as if Ctrl, Alt and Del were pressed and then released at the host." name="IDS_SEND_CTRL_ALT_DEL" formatter_data="android_java">
        Send Ctrl-Alt-Del
      </message>
      <message desc="Label for the client-side menu button that sends a PrtScn key press to the host. The 'PrtScn' abbreviation (as typically printed on the keycap on English keyboards) is preferred over 'Print Screen', to make it clearer that this refers to the physical PrtScn key, and not the OS-specific keyboard shortcut for the screen capture functionality." name="IDS_SEND_PRINT_SCREEN">
        Send PrtScn
      </message>
      <message desc="Sign in button, visible if the user's authentication token is corrupt, in which case the user has to sign in (authenticate) to the app again." name="IDS_SIGN_IN_BUTTON">
        Sign in
      </message>
      <message desc="Sign out button, visible if the user has authenticated. Clicking this clears authentication credentials and returns the web-app to the initial 'unauthenticated' state." name="IDS_SIGN_OUT_BUTTON">
        Sign out
      </message>
      <message desc="Label for the 'stop sharing' button on the host-side. Clicking this button disconnects the client." name="IDS_STOP_SHARING_BUTTON">
        Stop Sharing
      </message>
      <message desc="The tool-tip shown when the user hovers over the 'refresh host list' button. Clicking this button reloads the host list without reloading the app." name="IDS_TOOLTIP_REFRESH" formatter_data="android_java">
        Refresh the list of hosts
      </message>
      <message desc="Check-box displayed when the user enters their PIN to connect to a host allowing them to 'pair' the client and host, avoiding the need to enter the PIN each time." name="IDS_REMEMBER_PIN" formatter_data="android_java">
        Don't ask for a PIN again when connecting to this host from this device.
      </message>
      <message name="IDS_REMOTING_CORE_DESCRIPTION" desc="The file description specified in the version information of remoting_core.dll.">
        Core Library
      </message>
      <message name="IDS_REMOTING_DESKTOP_DESCRIPTION" desc="The file description specified in the version information of remoting_desktop.exe.">
        Desktop Integration Process
      </message>
      <message name="IDS_REMOTING_HOST_DESCRIPTION" desc="The file description specified in the version information of remoting_host.exe.">
        Host Process
      </message>
      <message name="IDS_REMOTING_NATIVE_MESSAGING_HOST_DESCRIPTION" desc="The file description specified in the version information of remoting_native_messaging_host.exe.">
        Native messaging host for remoting host management
      </message>
      <message name="IDS_REMOTING_REMOTE_ASSISTANCE_HOST_DESCRIPTION" desc="The file description specified in the version information of remote_assistance_host.exe.">
        Native messaging host for remote assistance
      </message>
      <message name="IDS_REMOTING_REMOTE_SECURITY_KEY_DESCRIPTION" desc="The file description specified in the version information of remote_security_key.exe.">
        Security Key Remoting Process
      </message>
      <message name="IDS_REMOTING_START_HOST_DESCRIPTION" desc="The file description specified in the version information of remoting_start_host.exe.">
        Host Provisioning Utility
      </message>
      <message name="IDS_REMOTING_REMOTE_WEBAUTHN_DESCRIPTION" desc="The file description specified in the version information of remote_webauthn.exe.">
        Web Authentication Remoting Process
      </message>
      <message name="IDS_HOST_CATEGORY" desc="Name of the message category assigned to all messages written to the EventLog by Chromoting Host.">
        Host
      </message>
      <message name="IDS_HOST_CLIENT_CONNECTED" desc="The message reported to the EventLog by Chromoting Host every time a client connects.">
        Client connected: <ph name="CLIENT_USERNAME">%1<ex>client@email.com</ex></ph>.
      </message>
      <message name="IDS_HOST_CLIENT_DISCONNECTED" desc="The message reported to the EventLog by Chromoting Host every time a client disconnects.">
        Client disconnected: <ph name="CLIENT_USERNAME">%1<ex>client@email.com</ex></ph>.
      </message>
      <message name="IDS_HOST_CLIENT_ACCESS_DENIED" desc="The message reported to the EventLog by Chromoting Host every time the host denies access to a client.">
        Access denied for client: <ph name="CLIENT_USERNAME">%1<ex>client@email.com</ex></ph>.
      </message>
      <message name="IDS_HOST_CLIENT_ROUTING_CHANGED" desc="The message reported to the EventLog by Chromoting Host every time a channel (a logical connection) between the client and the host is established. Multiple channels can be multiplexed over the same underlying protocol connection. The IP addresses and connection type of the underlying connection are reported. The channel and connection types are reported as opaque strings which should not be translated.">
        Channel IP for client: <ph name="CLIENT_GAIA_IDENTIFIER">%1<ex>client@email.com/TalkGadgetABCDABCD</ex></ph> ip='<ph name="CLIENT_IP_ADDRESS_AND_PORT">%2<ex>127.0.0.1:1000</ex></ph>' host_ip='<ph name="HOST_IP_ADDRESS_AND_PORT">%3<ex>127.0.0.1:2000</ex></ph>' channel='<ph name="CHANNEL_TYPE">%4<ex>mux</ex></ph>' connection='<ph name="CONNECTION_TYPE">%5<ex>direct</ex></ph>'.
      </message>
      <message name="IDS_HOST_STARTED" desc="The message reported to the EventLog by Chromoting Host every time it is started.">
        Host started for user: <ph name="HOST_USERNAME">%1<ex>host@email.com</ex></ph>.
      </message>
      <message name="IDS_HOST_STOPPED" desc="The message reported to the EventLog by Chromoting Host every time it is stopped.">
        Host stopped.
      </message>
      <message name="IDS_HOST_LOG_EVENT" desc="The message reported to the EventLog by Chromoting Host every time it logs a message. Since we are just logging debugging messages directly, no localizable text is required in this string.">
        <ph name="ORIGINAL_LOG_MESSAGE">%1</ph>
      </message>
      <message desc="This text is used on a button or context-menu or similar control. When chosen or pressed, it deletes a selected item from a list." meaning="Delete an item from a list." name="IDS_DELETE_LIST_ITEM" formatter_data="android_java">
        Delete
      </message>
      <message desc="Text shown while a background operation is in progress." name="IDS_WORKING">
        Working…
      </message>
      <message desc="Label for the Feedback button displayed in the Android Help screen. Pressing this button causes the Feedback screen to be shown." name="IDS_ACTIONBAR_FEEDBACK" formatter_data="android_java">
        Feedback
      </message>
      <message desc="Label for the menu button displayed on the Android toolbar. Pressing this button will open a drawer with a list of menu options." name="IDS_ACTIONBAR_MENU" formatter_data="android_java">
        Menu
      </message>
      <message desc="Message displayed before sharing computer in 'It2Me' mode." name="IDS_SHARE_CONFIRM_DIALOG_MESSAGE" >
        Would you like to share this computer for another user to see and control?
      </message>
      <message desc="Message displayed before sharing computer in 'It2Me' mode when the email of the remote user attempting to connect is known." name="IDS_SHARE_CONFIRM_DIALOG_MESSAGE_WITH_USERNAME" >
        Would you like to allow <ph name="CLIENT_USERNAME">{0}<ex>client@email.com</ex></ph> to see and control your computer?
      </message>
      <message desc="Message displayed before sharing computer when admin initiated the connection remotely" name="IDS_SHARE_CONFIRM_DIALOG_MESSAGE_ADMIN_INITIATED">
        <ph name="CLIENT_USERNAME">{0}<ex>client@email.com</ex></ph> has requested access to see your screen and control your keyboard and mouse. Press ''<ph name="IDS_SHARE_CONFIRM_DIALOG_DECLINE">{1}<ex>cancel</ex></ph>'' if you are not expecting this request. Otherwise select ''<ph name="IDS_SHARE_CONFIRM_DIALOG_CONFIRM">{2}<ex>share</ex></ph>'' to allow the connection when ready.
      </message>
      <message desc="Label for the button to accept sharing the computer in 'It2Me' mode." meaning="Accept share request." name="IDS_SHARE_CONFIRM_DIALOG_CONFIRM" >
        Share
      </message>
      <message desc="Label for the button to decline sharing the computer in 'It2Me' mode." name="IDS_SHARE_CONFIRM_DIALOG_DECLINE" >
        Cancel
      </message>
      <message name="IDS_DOWNLOAD_FILE_DIALOG_TITLE" desc="Window title for file chooser to select file to download to the client">
        Download File
      </message>
      <message name="IDS_URL_FORWARDER_NAME" desc="Name of an application that is used by Chrome Remote Desktop to forward URLs from the remote device to the client device.">
        <ph name="PRODUCT_NAME">%s<ex>Chrome Remote Desktop</ex></ph> URL Forwarder
      </message>
      <message name="IDS_URL_FORWARDER_DESCRIPTION" desc="Description of an application that is used by Chrome Remote Desktop to forward URLs from the remote device to the client device.">
        Helper application to open a URL on the <ph name="PRODUCT_NAME">%s<ex>Chrome Remote Desktop</ex></ph> client
      </message>
      <message name="IDS_SET_UP_URL_FORWARDER_PROMPT" desc="Prompt to be displayed to inform the user how they can set up the Chrome Remote Desktop URL forwarder.">
        To allow links clicked on the remote device to be opened on the client browser, you need to change the system's web browser to "<ph name="URL_FORWARDER_NAME">%s<ex>Chrome Remote Desktop URL Forwarder</ex></ph>".
      </message>
      <message name="IDS_OPEN_DEFAULT_APPS_SETTINGS_BUTTON" desc="Label for the button to open the default apps settings page, which allows the user to change the system's default application that is associated with a specific file type or URL scheme.">
        Open Default Apps Settings
      </message>
      <if expr="is_macosx">
        <message name="IDS_HOST_AUTHENTICATION_PROMPT" desc="The prompt to be displayed in the authentication dialog when making changes to the system.  The system will add a sentence asking for an administrator's name and password.  Mac-only.">
          <ph name="PRODUCT_NAME">$1<ex>Chrome Remote Desktop</ex></ph> wants to make changes.
        </message>
        <message name="IDS_MAC_PERMISSION_WIZARD_TITLE" desc="The title of the dialog/wizard that asks the user to grant various OS permissions to the Chrome Remote Desktop service. Mac-only.">
          Grant permission to <ph name="PRODUCT_NAME">$1<ex>Chrome Remote Desktop</ex></ph>
        </message>
        <message name="IDS_MAC_PERMISSION_WIZARD_NEXT_BUTTON" desc="The text on the button in the Mac permission wizard that takes the user to the next stage of the wizard. Mac-only.">
          Next
        </message>
        <message name="IDS_MAC_PERMISSION_WIZARD_OK_BUTTON" desc="The text on the button on the final part of the Mac permission wizard that exits the wizard. Mac-only.">
          OK
        </message>
        <message name="IDS_MAC_PERMISSION_WIZARD_CANCEL_BUTTON" desc="The text on the button in the Mac permission wizard that allows the user to cancel the permission setup and exits the wizard. Mac-only.">
          Cancel
        </message>
        <message name="IDS_MAC_PERMISSION_WIZARD_FINAL_TEXT" desc="The text shown on the final screen of the permission wizard that lets the user know they have successfully granted the permissions necessary for Chrome Remote Desktop to work properly. Mac-only.">
          You're all set!
        </message>
        <message name="IDS_ACCESSIBILITY_PERMISSION_DIALOG_TITLE" desc="The title of the prompt that asks the user to grant 'Accessibility' permission to the Chrome Remote Desktop service. This permission is part of the 'Privacy and Security' preferences pane. Mac-only.">
          Grant 'Accessibility' permission to <ph name="PRODUCT_NAME">$1<ex>Chrome Remote Desktop</ex></ph>
        </message>
        <message name="IDS_ACCESSIBILITY_PERMISSION_DIALOG_BODY_TEXT" desc="The body text of the prompt that asks the user to grant Accessibility permission to the local Chrome Remote Desktop service. This setting lives in the 'Accessibility' section of the 'Privacy and Security' preferences pane. This permission is needed so that input that we receive from the remote machine can be injected. Mac-only.">
To use <ph name="PRODUCT_NAME">$1<ex>Chrome Remote Desktop</ex></ph>, you need to grant the 'Accessibility' permission so that input from the remote machine can be injected on this Mac.

To grant this permission, click '<ph name="BUTTON_NAME">$2<ex>Open Accessibility Preferences</ex></ph>' below. In the 'Accessibility' preferences pane that opens, check the box next to '<ph name="SERVICE_SCRIPT_NAME">$3<ex>ChromeRemoteDesktopHost</ex></ph>'.

If '<ph name="SERVICE_SCRIPT_NAME">$3<ex>ChromeRemoteDesktopHost</ex></ph>' is already checked, uncheck it and then check it again.
        </message>
        <message name="IDS_ACCESSIBILITY_PERMISSION_DIALOG_OPEN_BUTTON" desc="The button text of the prompt that asks the user to turn on the Chrome Remote Desktop service. This setting lives in the 'Accessibility' section of the 'Privacy and Security' preferences pane. Selecting this button will open the 'Privacy and Security' preferences pane. Mac-only.">
          Open Accessibility Preferences
        </message>
        <message name="IDS_ACCESSIBILITY_PERMISSION_DIALOG_NOT_NOW_BUTTON" desc="The text on the button in the permissions dialog that allows the user to skip granting permission at this time. When the user selects this button, they decline to turn on Chrome Remote Desktop and this dialog will close. Mac-only.">
          Not Now
        </message>
        <message name="IDS_SCREEN_RECORDING_PERMISSION_DIALOG_TITLE" desc="The title of the prompt that asks the user to grant 'Screen Recording' permission to the Chrome Remote Desktop service. This permission is part of the 'Privacy and Security' preferences pane. Mac-only.">
          Grant 'Screen Recording' permission to <ph name="PRODUCT_NAME">$1<ex>Chrome Remote Desktop</ex></ph>
        </message>
        <message name="IDS_SCREEN_RECORDING_PERMISSION_DIALOG_BODY_TEXT" desc="The body text that asks the user to grant the 'Screen Recording' permission to the Chrome Remote Desktop service. Mac-only, OS 10.15 and later.">
To use <ph name="PRODUCT_NAME">$1<ex>Chrome Remote Desktop</ex></ph>, you need to grant the 'Screen Recording' permission so that the screen contents on this Mac can be sent to the remote machine.

To grant this permission, click '<ph name="BUTTON_NAME">$2<ex>Open Screen Recording Preferences</ex></ph>' below to open the 'Screen Recording' preferences pane and then check the box next to '<ph name="SERVICE_SCRIPT_NAME">$3<ex>org.chromium.chromoting.me2me.sh</ex></ph>'.

If '<ph name="SERVICE_SCRIPT_NAME">$3<ex>org.chromium.chromoting.me2me.sh</ex></ph>' is already checked, uncheck it and then check it again.
        </message>
        <message name="IDS_SCREEN_RECORDING_PERMISSION_DIALOG_OPEN_BUTTON" desc="The text on the button in the permissions dialog that takes the user to the 'Screen Recording' preferences panel. Mac-only, OS 10.15 and later.">
          Open Screen Recording Preferences
        </message>
      </if>
      <message name="IDS_REMOTE_OPEN_URL_FAILED" desc="Message shown when Chrome Remote Desktop fails to open a URL from the host device on the client device.">
        Failed to open <ph name="URL">$1<ex>http://google.com</ex></ph> on the client.
      </message>
      <message name="IDS_CHOOSE_FALLBACK_BROWSER" desc="Message shown on a browser chooser dialog when the Chrome Remote Desktop URL forwarder cannot determine the browser for opening a URL locally (when the URL cannot be remotely opened by the client).">
        Chrome Remote Desktop cannot determine the browser to open URLs locally. Please choose it from the list below.
      </message>
      <message name="IDS_BROWSER_IS_INVALID" desc="Message shown when the user has chosen an invalid app as the browser to open URLs locally.">
        The chosen browser cannot be used to open URLs on the local machine.
      </message>
      <message name="IDS_URL_FORWARDER_INCORRECTLY_CONFIGURED" desc="Message shown when the Chrome Remote Desktop URL forwarder is incorrectly configured.">
        <ph name="URL_FORWARDER_NAME">%s<ex>Chrome Remote Desktop URL Forwarder</ex></ph> is not configured correctly. Please choose a different default web browser and then enable URL forwarding again.
      </message>
      <if expr="is_linux">
        <message name="IDS_SESSION_DIALOG_MESSAGE" desc="The message to show at the top of the session-selection dialog.">
          Select a session to launch within your Chrome Remote Desktop environment. (Note that some session types may not support running within Chrome Remote Desktop and on the local console simultaneously.)
        </message>
        <message name="IDS_SESSION_DIALOG_NAME_COLUMN" desc="The title of the column containing the names of potential sessions." meaning="Name of an inanimate object">
          Name
        </message>
        <message name="IDS_SESSION_DIALOG_COMMENT_COLUMN" desc="The title of the column containing the comment/description of potential sessions.">
          Comment
        </message>
        <message name="IDS_SESSION_DIALOG_DEFAULT_SESSION_NAME" desc="The name of the entry to launch the default session.">
          (default)
        </message>
        <message name="IDS_SESSION_DIALOG_DEFAULT_SESSION_COMMENT" desc="The comment for the entry to launch the default session.">
          Launch the default XSession
        </message>
      </if> <!-- is_linux -->
    </messages>
  </release>
</grit>
