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

<!--
This file contains the strings for ash.
-->

<grit base_dir="." latest_public_release="0" current_release="1"
      output_all_resource_defines="false" source_lang_id="en" enc_check="möl">
  <outputs>
    <output filename="grit/ash_strings.h" type="rc_header">
      <emit emit_type='prepend'></emit>
    </output>
    <output filename="ash_strings_am.pak" type="data_package" lang="am" />
    <output filename="ash_strings_ar.pak" type="data_package" lang="ar" />
    <output filename="ash_strings_bg.pak" type="data_package" lang="bg" />
    <output filename="ash_strings_bn.pak" type="data_package" lang="bn" />
    <output filename="ash_strings_ca.pak" type="data_package" lang="ca" />
    <output filename="ash_strings_cs.pak" type="data_package" lang="cs" />
    <output filename="ash_strings_da.pak" type="data_package" lang="da" />
    <output filename="ash_strings_de.pak" type="data_package" lang="de" />
    <output filename="ash_strings_el.pak" type="data_package" lang="el" />
    <output filename="ash_strings_en-GB.pak" type="data_package" lang="en-GB" />
    <output filename="ash_strings_en-US.pak" type="data_package" lang="en" />
    <output filename="ash_strings_es.pak" type="data_package" lang="es" />
    <output filename="ash_strings_es-419.pak" type="data_package" lang="es-419" />
    <output filename="ash_strings_et.pak" type="data_package" lang="et" />
    <output filename="ash_strings_fa.pak" type="data_package" lang="fa" />
    <output filename="ash_strings_fake-bidi.pak" type="data_package" lang="fake-bidi" />
    <output filename="ash_strings_fi.pak" type="data_package" lang="fi" />
    <output filename="ash_strings_fil.pak" type="data_package" lang="fil" />
    <output filename="ash_strings_fr.pak" type="data_package" lang="fr" />
    <output filename="ash_strings_gu.pak" type="data_package" lang="gu" />
    <output filename="ash_strings_he.pak" type="data_package" lang="he" />
    <output filename="ash_strings_hi.pak" type="data_package" lang="hi" />
    <output filename="ash_strings_hr.pak" type="data_package" lang="hr" />
    <output filename="ash_strings_hu.pak" type="data_package" lang="hu" />
    <output filename="ash_strings_id.pak" type="data_package" lang="id" />
    <output filename="ash_strings_it.pak" type="data_package" lang="it" />
    <output filename="ash_strings_ja.pak" type="data_package" lang="ja" />
    <output filename="ash_strings_kn.pak" type="data_package" lang="kn" />
    <output filename="ash_strings_ko.pak" type="data_package" lang="ko" />
    <output filename="ash_strings_lt.pak" type="data_package" lang="lt" />
    <output filename="ash_strings_lv.pak" type="data_package" lang="lv" />
    <output filename="ash_strings_ml.pak" type="data_package" lang="ml" />
    <output filename="ash_strings_mr.pak" type="data_package" lang="mr" />
    <output filename="ash_strings_ms.pak" type="data_package" lang="ms" />
    <output filename="ash_strings_nl.pak" type="data_package" lang="nl" />
    <!-- The translation console uses 'no' for Norwegian Bokmål. It should
         be 'nb'. -->
    <output filename="ash_strings_nb.pak" type="data_package" lang="no" />
    <output filename="ash_strings_pl.pak" type="data_package" lang="pl" />
    <output filename="ash_strings_pt-BR.pak" type="data_package" lang="pt-BR" />
    <output filename="ash_strings_pt-PT.pak" type="data_package" lang="pt-PT" />
    <output filename="ash_strings_ro.pak" type="data_package" lang="ro" />
    <output filename="ash_strings_ru.pak" type="data_package" lang="ru" />
    <output filename="ash_strings_sk.pak" type="data_package" lang="sk" />
    <output filename="ash_strings_sl.pak" type="data_package" lang="sl" />
    <output filename="ash_strings_sr.pak" type="data_package" lang="sr" />
    <output filename="ash_strings_sv.pak" type="data_package" lang="sv" />
    <output filename="ash_strings_sw.pak" type="data_package" lang="sw" />
    <output filename="ash_strings_ta.pak" type="data_package" lang="ta" />
    <output filename="ash_strings_te.pak" type="data_package" lang="te" />
    <output filename="ash_strings_th.pak" type="data_package" lang="th" />
    <output filename="ash_strings_tr.pak" type="data_package" lang="tr" />
    <output filename="ash_strings_uk.pak" type="data_package" lang="uk" />
    <output filename="ash_strings_vi.pak" type="data_package" lang="vi" />
    <output filename="ash_strings_zh-CN.pak" type="data_package" lang="zh-CN" />
    <output filename="ash_strings_zh-TW.pak" type="data_package" lang="zh-TW" />
  </outputs>
  <translations>
    <file path="strings/ash_strings_am.xtb" lang="am" />
    <file path="strings/ash_strings_ar.xtb" lang="ar" />
    <file path="strings/ash_strings_bg.xtb" lang="bg" />
    <file path="strings/ash_strings_bn.xtb" lang="bn" />
    <file path="strings/ash_strings_ca.xtb" lang="ca" />
    <file path="strings/ash_strings_cs.xtb" lang="cs" />
    <file path="strings/ash_strings_da.xtb" lang="da" />
    <file path="strings/ash_strings_de.xtb" lang="de" />
    <file path="strings/ash_strings_el.xtb" lang="el" />
    <file path="strings/ash_strings_en-GB.xtb" lang="en-GB" />
    <file path="strings/ash_strings_es.xtb" lang="es" />
    <file path="strings/ash_strings_es-419.xtb" lang="es-419" />
    <file path="strings/ash_strings_et.xtb" lang="et" />
    <file path="strings/ash_strings_fa.xtb" lang="fa" />
    <file path="strings/ash_strings_fi.xtb" lang="fi" />
    <file path="strings/ash_strings_fil.xtb" lang="fil" />
    <file path="strings/ash_strings_fr.xtb" lang="fr" />
    <file path="strings/ash_strings_gu.xtb" lang="gu" />
    <file path="strings/ash_strings_hi.xtb" lang="hi" />
    <file path="strings/ash_strings_hr.xtb" lang="hr" />
    <file path="strings/ash_strings_hu.xtb" lang="hu" />
    <file path="strings/ash_strings_id.xtb" lang="id" />
    <file path="strings/ash_strings_it.xtb" lang="it" />
    <!-- The translation console uses 'iw' for Hebrew, but we use 'he'. -->
    <file path="strings/ash_strings_iw.xtb" lang="he" />
    <file path="strings/ash_strings_ja.xtb" lang="ja" />
    <file path="strings/ash_strings_kn.xtb" lang="kn" />
    <file path="strings/ash_strings_ko.xtb" lang="ko" />
    <file path="strings/ash_strings_lt.xtb" lang="lt" />
    <file path="strings/ash_strings_lv.xtb" lang="lv" />
    <file path="strings/ash_strings_ml.xtb" lang="ml" />
    <file path="strings/ash_strings_mr.xtb" lang="mr" />
    <file path="strings/ash_strings_ms.xtb" lang="ms" />
    <file path="strings/ash_strings_nl.xtb" lang="nl" />
    <file path="strings/ash_strings_no.xtb" lang="no" />
    <file path="strings/ash_strings_pl.xtb" lang="pl" />
    <file path="strings/ash_strings_pt-BR.xtb" lang="pt-BR" />
    <file path="strings/ash_strings_pt-PT.xtb" lang="pt-PT" />
    <file path="strings/ash_strings_ro.xtb" lang="ro" />
    <file path="strings/ash_strings_ru.xtb" lang="ru" />
    <file path="strings/ash_strings_sk.xtb" lang="sk" />
    <file path="strings/ash_strings_sl.xtb" lang="sl" />
    <file path="strings/ash_strings_sr.xtb" lang="sr" />
    <file path="strings/ash_strings_sv.xtb" lang="sv" />
    <file path="strings/ash_strings_sw.xtb" lang="sw" />
    <file path="strings/ash_strings_ta.xtb" lang="ta" />
    <file path="strings/ash_strings_te.xtb" lang="te" />
    <file path="strings/ash_strings_th.xtb" lang="th" />
    <file path="strings/ash_strings_tr.xtb" lang="tr" />
    <file path="strings/ash_strings_uk.xtb" lang="uk" />
    <file path="strings/ash_strings_vi.xtb" lang="vi" />
    <file path="strings/ash_strings_zh-CN.xtb" lang="zh-CN" />
    <file path="strings/ash_strings_zh-TW.xtb" lang="zh-TW" />
  </translations>
  <release seq="1" allow_pseudo="false">
    <messages fallback_to_english="true">
      <!-- TODO add all of your "string table" messages here.  Remember to
      change nontranslateable parts of the messages into placeholders (using the
      <ph> element).  You can also use the 'grit add' tool to help you identify
      nontranslateable parts and create placeholders for them. -->

      <message name="IDS_ASH_SHELF_BACK_BUTTON_TITLE" desc="The title used for the back button on the Shelf, which is avaliable in tablet mode.">
        Back
      </message>
      <message name="IDS_ASH_SHELF_OVERFLOW_NAME" desc="The title used for the Ash overflow button in the shelf">
        Overflow button
      </message>
      <message name="IDS_ASH_SHELF_CONTEXT_MENU_AUTO_HIDE" desc="Title of the menu item in the context menu for auto-hiding the shelf when the current window is not maximized">
        Autohide shelf
      </message>
      <message name="IDS_ASH_SHELF_CONTEXT_MENU_ALWAYS_SHOW_SHELF" desc="Title of the menu item in the context menu for always showing the shelf">
        Always show shelf
      </message>
      <message name="IDS_ASH_SHELF_CONTEXT_MENU_POSITION" desc="Title of the menu item in the context menu for aligning the shelf">
        Shelf position
      </message>
      <message name="IDS_ASH_SHELF_CONTEXT_MENU_ALIGN_BOTTOM" desc="Title of the menu item in the context menu for aligning the shelf to the bottom of the screen">
        Bottom
      </message>
      <message name="IDS_ASH_SHELF_CONTEXT_MENU_ALIGN_LEFT" desc="Title of the menu item in the context menu for aligning the shelf to the left of the screen">
        Left
      </message>
      <message name="IDS_ASH_SHELF_CONTEXT_MENU_ALIGN_RIGHT" desc="Title of the menu item in the context menu for aligning the shelf to the right of the screen">
        Right
      </message>
      <message name="IDS_ASH_SHELF_ACCESSIBLE_NAME" desc="The accessible name of the shelf.">
        Shelf
      </message>

      <message name="IDS_ASH_LEARN_MORE" desc="Text of Learn more links.">
        Learn more
      </message>

      <!-- Status tray items -->
      <message name="IDS_ASH_STATUS_TRAY_ACCESSIBLE_DESCRIPTION" desc="The accessible description of the status tray and the information on it.">
        Status tray, time <ph name="time">$1<ex>9:50</ex></ph>, <ph name="battery">$2<ex>Battery is full.</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BRAILLE_DISPLAY_CONNECTED" desc="The message shown on a notification when a braille display is connected">
        Braille display connected.
      </message>
      <message name="IDS_ASH_STATUS_TRAY_SETTINGS" desc="The accessible text for a settings button.">
        Settings
      </message>
      <message name="IDS_ASH_STATUS_TRAY_SPOKEN_FEEDBACK_ENABLED" desc="The message shown on a notification when spoken feedback is enabled">
        Press Ctrl + Alt + Z to disable spoken feedback.
      </message>
      <message name="IDS_ASH_STATUS_TRAY_SPOKEN_FEEDBACK_ENABLED_TABLET" desc="The message shown on a notification when spoken feedback is enabled on a tablet">
        Press and hold both volume keys for five seconds to disable spoken feedback.
      </message>
      <message name="IDS_ASH_STATUS_TRAY_SPOKEN_FEEDBACK_ENABLED_TITLE" desc="The title message shown on a notification when spoken feedback is enabled">
        ChromeVox enabled
      </message>
      <message name="IDS_ASH_STATUS_TRAY_SPOKEN_FEEDBACK_BRAILLE_ENABLED_TITLE" desc="The message shown on a notification when both the spoken feedback and braille are enabled">
        Braille and ChromeVox are enabled
      </message>
      <message name="IDS_ASH_STATUS_TRAY_USER_INFO_ACCESSIBILITY" desc="The accessibility string used for an item in user chooser that tells the user name and the mail address.">
        <ph name="USERNAME">$1<ex>Jane Doe</ex></ph> (<ph name="MAIL">$2<ex>janedoe@example.com</ex></ph>)
      </message>
      <message name="IDS_ASH_STATUS_TRAY_SIGN_OUT" desc="The label used for the button in the status tray to sign out of the system. Should not exceed about 20 latin characters. Overflowed text is truncated with ellipsis.">
        Sign out
      </message>
      <message name="IDS_ASH_STATUS_TRAY_SIGN_OUT_ALL" desc="The label used for the button in the status tray to sign out all users of the system. Should not exceed about 20 latin characters. Overflowed text is truncated with ellipsis.">
        Sign out all
      </message>
      <message name="IDS_ASH_STATUS_TRAY_GUEST_LABEL" desc="The label used in the system tray's user card to indicate that the current session is a guest session.">
        Guest
      </message>
      <message name="IDS_ASH_STATUS_TRAY_EXIT_GUEST" desc="The label used for the button in the status tray to terminate a guest session.">
        Exit guest
      </message>
      <message name="IDS_ASH_STATUS_TRAY_EXIT_PUBLIC" desc="The label used for the button in the status tray to terminate a public account session. If the label is long, indicate where it may be broken into two lines by inserting \n instead of a whitespace.">
        Exit session
      </message>
      <message name="IDS_ASH_STATUS_TRAY_PUBLIC_LABEL" desc="Text of the the ash system bubble's user card when the current session is a managed session.">
        <ph name="DISPLAY_NAME">$1<ex>Internet kiosk</ex></ph> is a managed session managed by <ph name="DOMAIN">$2<ex>yourdomain.com</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_LOCK" desc="The label used for the button in the status tray to lock the screen.">
        Lock
      </message>
      <message name="IDS_ASH_STATUS_TRAY_SIGN_IN_ANOTHER_ACCOUNT" desc="The string for the button which lets the user add another account to the current session.">
        Sign in another user...
      </message>
      <message name="IDS_ASH_STATUS_TRAY_MESSAGE_CANNOT_ADD_USER" desc="The error message when the user has reached the limit of multi profile users.">
        You can only have up to <ph name="multi_profile_user_limit">$1<ex>5</ex></ph> accounts in multiple sign-in.
      </message>
      <message name="IDS_ASH_STATUS_TRAY_MESSAGE_NOT_ALLOWED_PRIMARY_USER" desc="The error message when the primary user forbids multiple signin because of not-allowed policy or because of usage policy-pushed certificates.">
        The administrator for this account has disallowed multiple sign-in.
      </message>
      <message name="IDS_ASH_STATUS_TRAY_MESSAGE_OUT_OF_USERS" desc="The error message when all the users are added into multi-profile session.">
        All available users have already been added to this session.
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NIGHT_LIGHT_BUTTON_LABEL" desc="The shorter label used for the button in the status tray to toggle the Night Light feature (which controls the color temperature of the screen) on or off.">
        Night Light
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NIGHT_LIGHT_TOGGLE_TOOLTIP" desc="The tooltip text used for the button in the status tray to toggle the Night Light feature (which controls the color temperature of the screen) on or off.">
        Toggle Night Light
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NIGHT_LIGHT_SETTINGS_TOOLTIP" desc="The tooltip text used for the button in the status tray to show the Night Light feature (which controls the color temperature of the screen) settings.">
        Show Night Light settings
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NIGHT_LIGHT" desc="The label used for the button in the status tray to toggle the Night Light feature (which controls the color temperature of the screen) on or off.">
        Night Light: <ph name="NIGHT_LIGHT_STATUS">$1<ex>On</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NIGHT_LIGHT_OFF_STATE" desc="The label for the Off state of the Night Light feature.">
        Off
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NIGHT_LIGHT_ON_STATE" desc="The label for the On state of the Night Light feature.">
        On
      </message>
      <message name="IDS_ASH_STATUS_TRAY_CAST" desc="The label used as the header in the cast popup.">
        Cast screen
      </message>
      <message name="IDS_ASH_STATUS_TRAY_CAST_SHORT" desc="The label used for Cast button in system tray bubble.">
        Cast
      </message>
      <message name="IDS_ASH_STATUS_TRAY_CAST_TOOLTIP" desc="The tooltip text used for Cast button in system tray bubble.">
        Show cast devices.
      </message>
      <message name="IDS_ASH_STATUS_TRAY_CAST_NOTIFICATION_TITLE" desc="The notification title to tell the user we are casting to a cast device.">
        Casting to <ph name="RECEIVER_NAME">$1<ex>Living Room</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_CAST_CAST_DESKTOP" desc="The label used in the tray popup to tell the user we are casting the desktop.">
        Casting screen to <ph name="RECEIVER_NAME">$1<ex>Living Room</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_CAST_CAST_DESKTOP_ACCESSIBILITY_STOP" desc="Stop button accessibility label used in the tray popup to tell the user to stop a cast to the desktop.">
        Stop casting screen to <ph name="RECEIVER_NAME">$1<ex>Living Room</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_CAST_CAST_DESKTOP_NOTIFICATION_MESSAGE" desc="The notification message to tell the user we are casting the desktop.">
        You are currently casting screen.
      </message>
      <message name="IDS_ASH_STATUS_TRAY_CAST_CAST_TAB" desc="The title label used in the tray popup to tell the user we are casting a tab.">
        <ph name="ROUTE_TITLE">$1<ex>YouTube</ex></ph> on <ph name="RECEIVER_NAME">$2<ex>Living Room</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_CAST_CAST_TAB_ACCESSIBILITY_STOP" desc="Stop button accessibility label used in the tray popup to tell the user to stop a tab cast.">
        Stop <ph name="ROUTE_TITLE">$1<ex>YouTube</ex></ph> on <ph name="RECEIVER_NAME">$2<ex>Living Room</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_CAST_CAST_UNKNOWN" desc="The label used when we have detected we are casting but do not know what we are casting or who we are casting to.">
        Casting on an unknown receiver
      </message>
      <message name="IDS_ASH_STATUS_TRAY_CAST_CAST_UNKNOWN_ACCESSIBILITY_STOP" desc="Stop button accessibility label used in the tray popup to tell the user to stop a cast, but we do not know what we are casting or who we are casting to.">
        Stop casting on an unknown receiver
      </message>
      <message name="IDS_ASH_STATUS_TRAY_CAST_DESKTOP" desc="The label used in the tray popup to notify that desktop may be cast.">
        Cast devices available
      </message>
      <message name="IDS_ASH_STATUS_TRAY_CAST_STOP" desc="The label used in the tray popup to stop casting.">
        Stop
      </message>
      <message name="IDS_ASH_STATUS_TRAY_QUIET_MODE_TOOLTIP" desc="The tooltip text for the status area icon to tell do-not-disturb mode is currently on.">
        Do Not Disturb is on
      </message>
      <message name="IDS_ASH_STATUS_TRAY_INDICATOR_IME_TOOLTIP" desc="The tooltip text for the status area icon to tell the type of keyboard or input method engine.">
        Using <ph name="IME_NAME">$1<ex>US keyboard</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NOTIFICATIONS_COUNT_TOOLTIP" desc="The tooltip text for a status area icon to describe number of notifications. [ICU Syntax]">
        {NUM_NOTIFICATIONS, plural,
         =1 {1 notification}
         other {# notifications}}
      </message>

      <message name="IDS_ASH_STATUS_TRAY_BLUETOOTH" desc="The label used as the header in the bluetooth popup.">
        Bluetooth
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BLUETOOTH_TOGGLE_TOOLTIP" desc="The tooltip text in the button that toggles Blueooth enabled/disabled.">
        Toggle Bluetooth. <ph name="STATE_TEXT">$1<ex>Connected to 2 devices</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BLUETOOTH_SETTINGS_TOOLTIP" desc="The tooltip text in the button that shows Blueooth settings.">
        Show Bluetooth settings. <ph name="STATE_TEXT">$1<ex>Connected to 2 devices</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BLUETOOTH_ENABLED_TOOLTIP" desc="The tooltip text to notify that bluetooth is enabled.">
        Bluetooth is on
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BLUETOOTH_DISABLED_TOOLTIP" desc="The tooltip text to notify that bluetooth is disabled.">
        Bluetooth is off
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BLUETOOTH_MULTIPLE_DEVICES_CONNECTED_TOOLTIP" desc="The tooltip text to notify that multiple bluetooth devices are connected. [ICU Syntax]">
        {NUM_DEVICES, plural,
         =1 {Connected to a device}
         other {Connected to # devices}}
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BLUETOOTH_DEVICE_CONNECTED_TOOLTIP" desc="The tooltip text to notify that one bluetooth device is connected.">
        Connected to <ph name="DEVICE_NAME">$1<ex>wireless mouse</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BLUETOOTH_ENABLED" desc="The label used in the tray popup to notify that bluetooth is enabled.">
        Bluetooth enabled
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BLUETOOTH_DISABLED" desc="The label used in the tray popup to notify that bluetooth is disabled.">
        Bluetooth disabled
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BLUETOOTH_ENABLED_SHORT" desc="The short label used in the tray popup to notify that bluetooth is enabled.">
        On
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BLUETOOTH_DISABLED_SHORT" desc="The short label used in the tray popup to notify that bluetooth is disabled.">
        Off
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BLUETOOTH_DISCOVERING" desc="The label used in the tray popup to show bluetooth is discovering devices.">
        Scanning for devices...
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BLUETOOTH_PAIRED_DEVICES" desc="The sub-header label for paired devices in Bluetooth device list.">
        Paired devices
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BLUETOOTH_UNPAIRED_DEVICES" desc="The sub-header label for unpaired devices in Bluetooth device list.">
        Unpaired devices
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BLUETOOTH_SETTINGS" desc="The label used in the tray pop up to open Bluetooth setting page.">
        Bluetooth settings
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BLUETOOTH_DEVICE_CONNECTED_LABEL" desc="The sub-header label to notify that one bluetooth device is connected.">
        Connected
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BLUETOOTH_MULTIPLE_DEVICES_CONNECTED_LABEL" desc="The header label to notify that multiple bluetooth devices are connected.">
        Devices
      </message>

      <message name="IDS_ASH_STATUS_TRAY_UPDATE" desc="The label used in the tray popup to notify that the user should restart to get system updates.">
        Restart to update
      </message>

      <message name="IDS_ASH_STATUS_TRAY_UPDATE_FLASH" desc="The label used in the tray popup to notify that the user should restart to update Adobe Flash Player.">
        Restart to update Adobe Flash Player
      </message>

      <message name="IDS_ASH_STATUS_TRAY_RESTART_AND_POWERWASH_TO_UPDATE" desc="The label used in the tray popup to notify that the user should restart and powerwash the device to get system updates.">
        Restart and powerwash to update
      </message>

      <message name="IDS_ASH_STATUS_TRAY_UPDATE_OVER_CELLULAR_AVAILABLE" desc="The label used in the tray popup to notify that update is available but current connection is cellular.">
        Click to view update details
      </message>

      <message name="IDS_UPDATE_NOTIFICATION_TITLE" desc="The title of the notification to notify that the user should restart to get system updates.">
        Update available
      </message>
      <if expr="is_chrome_branded">
        <message name="IDS_UPDATE_NOTIFICATION_TITLE_FLASH_PLAYER" desc="The title of the notification to notify the user should restart to get system updates in order to update Flash Player.">
          Adobe Flash Player update available
        </message>
      </if>
      <message name="IDS_ROLLBACK_NOTIFICATION_TITLE" desc="The title of the notification to notify that the user should restart to roll back the device.">
        Device will be rolled back
      </message>
      <message name="IDS_UPDATE_NOTIFICATION_MESSAGE_LEARN_MORE" desc="The body of the notification to notify that the user should restart to get system updates. This notification body links to the info page on the update.">
        Learn more about the latest <ph name="SYSTEM_APP_NAME">$1<ex>Chromium OS</ex></ph> update
      </message>
      <message name="IDS_UPDATE_NOTIFICATION_RESTART_BUTTON" meaning="button label" desc="The label used as the button to restart system and update. Displayed as the action button of the notification for system update.">
        Restart to update
      </message>
      <message name="IDS_ROLLBACK_NOTIFICATION_RESTART_BUTTON" meaning="button label" desc="The label used as the button to restart system to rollback. Displayed as the action button of the notification for system rollback.">
        Restart and reset
      </message>
      <message name="IDS_UPDATE_NOTIFICATION_MESSAGE_POWERWASH" desc="The notification message used in the system notification update when user need to powerwash the device in order to update the system.">
        This update requires powerwashing your device. Learn more about the latest <ph name="SYSTEM_APP_NAME">$1<ex>Chromium OS</ex></ph> update.
      </message>
      <message name="IDS_UPDATE_NOTIFICATION_MESSAGE_ROLLBACK" desc="The notification message used in the system notification update when the device is rolled back and data will be deleted.">
        Your administrator is rolling back your device. All data will be deleted when the device is restarted.
      </message>

      <message name="IDS_ASH_STATUS_TRAY_VOLUME" desc="The accessible text for the volume slider.">
        Volume
      </message>
      <message name="IDS_ASH_STATUS_TRAY_VOLUME_MUTE" desc="The accessible text for the volume mute button.">
        Mute
      </message>

      <message name="IDS_ASH_STATUS_TRAY_IME_SHORT" desc="The short label used for IME button in system tray bubble.">
        Keyboard
      </message>
      <message name="IDS_ASH_STATUS_TRAY_IME_TOOLTIP" desc="The tooltip text used for IME button in system tray bubble.">
        Show keyboard settings
      </message>
      <message name="IDS_ASH_STATUS_TRAY_IME_TOOLTIP_WITH_NAME" desc="The tooltip text used for IME button in system tray bubble.">
        Show keyboard settings. <ph name="KEYBOARD_NAME">$1<ex>US keyboard</ex></ph> is selected
      </message>
      <message name="IDS_ASH_STATUS_TRAY_IME" desc="The label used as the header in the IME popup.">
        Input methods
      </message>
      <message name="IDS_ASH_STATUS_TRAY_IME_SETTINGS" desc="The label used for IME settings entry.">
        Customize languages and input...
      </message>
      <message name="IDS_ASH_STATUS_TRAY_IME_MANAGED" desc="Tooltip for the icon displayed when input methods are managed by enterprise policy">
        Input methods are configured by your administrator.
      </message>
      <message name="IDS_ASH_STATUS_TRAY_IME_EMOJI" desc="The label used for IME emoji entry.">
        Emoji palette
      </message>
      <message name="IDS_ASH_STATUS_TRAY_IME_HANDWRITING" desc="The label used for IME handwriting entry.">
        Handwriting input
      </message>
      <message name="IDS_ASH_STATUS_TRAY_IME_VOICE" desc="The label used for IME voice entry.">
        Voice input
      </message>

      <message name="IDS_ASH_STATUS_TRAY_LOCALE_CHANGE_TITLE" desc="The title used for locale change notifications in the system tray.">
        Language has been changed
      </message>
      <message name="IDS_ASH_STATUS_TRAY_LOCALE_CHANGE_MESSAGE" desc="The message used for locale change notifications in the system tray.">
        From "<ph name="FROM_LOCALE">$1<ex>Italian</ex></ph>" to "<ph name="TO_LOCALE">$2<ex>English (United States)</ex></ph>" after syncing your settings.
      </message>
      <message name="IDS_ASH_STATUS_TRAY_LOCALE_REVERT_MESSAGE" desc="Link to revert a change.">
        Change back to "<ph name="FROM_LOCALE">$1<ex>Italian</ex></ph>" (requires restart)
      </message>

      <message name="IDS_ASH_STATUS_TRAY_ACCESSIBILITY" desc="The label used in the tray menu to show the accessibility option menu.">
        Accessibility
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ACCESSIBILITY_TOOLTIP" desc="The tooltip text in the tray menu to show the accessibility option menu.">
        Show accessibility settings
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ACCESSIBILITY_TITLE" desc="The label used in the title of the accessibility option menu.">
        Accessibility
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ACCESSIBILITY_SPOKEN_FEEDBACK" desc="The label used in the accessibility menu of the
    system tray to toggle on/off spoken feedback feature.">
        ChromeVox (spoken feedback)
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ACCESSIBILITY_SELECT_TO_SPEAK" desc="The label used in the accessibility menu of the system tray to toggle on/off the select-to-speak feature.">
        Select-to-Speak
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ACCESSIBILITY_DICTATION" desc="The label used in the accessibility menu of the system tray to toggle on/off the speak to type feature.">
        Dictation
      </message>
      <message name="IDS_ASH_DICTATION_CONFIRMATION_TITLE" desc="The title for the modal dialog shown the first time the user enables dictation">
        Dictation
      </message>
      <message name="IDS_ASH_DICTATION_CONFIRMATION_BODY" desc="The message shown the first time the user enables Dictation, explaining that the audio data will be sent to Google for transcription">
        Dictation sends your voice to Google to allow voice typing in any text field.
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ACCESSIBILITY_HIGH_CONTRAST_MODE" desc="The label used in the accessibility menu of the system tray to toggle on/off high contrast feature.">
        High contrast mode
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ACCESSIBILITY_SCREEN_MAGNIFIER" desc="The label used in the accessibility menu of the system tray to toggle on/off a magnifier that magnifies the entire screen.">
        Fullscreen magnifier
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ACCESSIBILITY_DOCKED_MAGNIFIER" desc="The label used in the accessibility menu of the system tray to toggle on/off a magnifier that shows a magnified copy of the screen in a docked viewport at the top of the screen.">
        Docked magnifier
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ACCESSIBILITY_LARGE_CURSOR" desc="The label used in the accessibility menu of the system tray to toggle on/off large mouse cursor feature.">
        Large mouse cursor
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ACCESSIBILITY_AUTOCLICK" desc="The label used in the accessibility menu of the system tray to toggle on/off automatic mouse clicks.">
        Automatic clicks
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ACCESSIBILITY_VIRTUAL_KEYBOARD" desc="The label used in the accessibility menu of the system tray to toggle on/off the onscreen keyboard.">
        On-screen keyboard
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ACCESSIBILITY_ADDITIONAL_SETTINGS" desc="The sub-header label for additional setting in accessibility menu of system tray.">
        Additional settings
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ACCESSIBILITY_MONO_AUDIO" desc="The label used in the additional settings of accessibility menu of the system tray to toggle on/off mono audio.">
        Mono audio
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ACCESSIBILITY_CARET_HIGHLIGHT" desc="The label used in the additional settings of accessibility menu of the system tray to toggle on/off caret highlight.">
        Highlight text caret
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ACCESSIBILITY_HIGHLIGHT_MOUSE_CURSOR" desc="The label used in the additional settings of accessibility menu of the system tray to toggle on/off highlight mouse cursor.">
        Highlight mouse cursor
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ACCESSIBILITY_HIGHLIGHT_KEYBOARD_FOCUS" desc="The label used in the additional settings of accessibility menu of the system tray to toggle on/off highlight keyboard focus.">
        Highlight object with keyboard focus
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ACCESSIBILITY_STICKY_KEYS" desc="The label used in the additional settings of accessibility menu of the system tray to toggle on/off sticky keys.">
        Sticky keys
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ACCESSIBILITY_TAP_DRAGGING" desc="The label used in the additional settings of accessibility menu of the system tray to toggle on/off tap dragging.">
        Tap dragging
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ACCESSIBILITY_SETTINGS" desc="The label used in the accessibility menu of system tray to open accessibility setting page.">
        Accessibility settings
      </message>
      <message name="IDS_ASH_STATUS_TRAY_HELP" desc="The accessible text for the help button.">
        Help
      </message>
      <message name="IDS_ASH_STATUS_TRAY_DATE" desc="The date displayed on ash system bubble, Depending on launguage, please choose the best separator(eg ',') between abbreviated weekday and date">
        <ph name="short_weekday">$1<ex>Fri</ex></ph>, <ph name="date">$2<ex>Aug 31, 2012</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_REBOOT" desc="The accessible text for the reboot button.">
        Restart
      </message>
      <message name="IDS_ASH_STATUS_TRAY_SHUTDOWN" desc="The accessible text for the shutdown button.">
        Shut down
      </message>
      <message name="IDS_ASH_STATUS_TRAY_COLLAPSE" desc="The accessible text for the button to collapse system menu.">
        Collapse menu
      </message>
      <message name="IDS_ASH_STATUS_TRAY_EXPAND" desc="The accessible text for the button to expand system menu.">
        Expand menu
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NOTIFICATIONS_LABEL" desc="The label text shown under do not disturb button in system tray bubble.">
        Notifications
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NOTIFICATIONS_TOGGLE_TOOLTIP" desc="The tooltip text of the button that toggles Do-not-disturb state for notifications">
        Toggle Do not disturb
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NOTIFICATIONS_SETTINGS_ON_TOOLTIP" desc="The tooltip text of the button that shows notification settings. Used when all notifications are enabled.">
        Show notification settings. Notifications are on
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NOTIFICATIONS_SETTINGS_OFF_FOR_APPS_TOOLTIP" desc="The tooltip text of the button that shows notification settings. Used when all some notifications are disabled. [ICU Syntax]">
        {NUM_APPS, plural,
         =1 {Show notification settings. Notifications are off for an app}
         other {Show notification settings. Notifications are off for # apps}}
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NOTIFICATIONS_SETTINGS_DO_NOT_DISTURB_TOOLTIP" desc="The tooltip text of the button that shows notification settings. Used when all notifications are disabled.">
        Show notification settings. Notifications are off
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NOTIFICATIONS_ON_SUBLABEL" desc="The sub label text shown under do not disturb button when all notifications are enabled.">
        On, all apps
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NOTIFICATIONS_OFF_FOR_APPS_SUBLABEL" desc="The sub label text shown under do not disturb button when some notifications are disabled. [ICU Syntax]">
        {NUM_APPS, plural,
         =1 {Off for an app}
         other {Off for # apps}}
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NOTIFICATIONS_DO_NOT_DISTURB_SUBLABEL" desc="The sub label text shown under do not disturb button when all notifications are disabled.">
        Do not disturb
      </message>
      <message name="IDS_ASH_STATUS_TRAY_LOCALE" desc="The label used for locale button in system tray bubble.">
        Language
      </message>
      <message name="IDS_ASH_STATUS_TRAY_LOCALE_TITLE" desc="The title shown in the locale detailed view.">
        Languages
      </message>
      <message name="IDS_ASH_STATUS_TRAY_LOCALE_TOOLTIP" desc="The tooltip text in the tray to show the locale menu.">
        Show language settings
      </message>

      <!-- Status tray supervised users. -->
      <message name="IDS_ASH_STATUS_TRAY_SUPERVISED_LABEL" desc="Label shown instead of email for supervised users">
         Supervised user
      </message>
      <message name="IDS_ASH_USER_IS_SUPERVISED_BY_NOTICE" desc="Text for notifications showing that this user is supervised">
        Usage and history of this user can be reviewed by the manager (<ph name="MANAGER_EMAIL">$1<ex>user@example.com</ex></ph>) on chrome.com.
      </message>
      <message name="IDS_ASH_CHILD_USER_IS_MANAGED_BY_ONE_PARENT_NOTICE" desc="Text for notifications showing that this user is managed by parent's account.">
        Account managed by <ph name="MANAGER_EMAIL">$1<ex>user@example.com</ex></ph>
      </message>
      <message name="IDS_ASH_CHILD_USER_IS_MANAGED_BY_TWO_PARENTS_NOTICE" desc="Text for notifications showing that this user is managed by two parents' accounts.">
        Account managed by <ph name="FIRST_PARENT_EMAIL">$1<ex>first@example.com</ex></ph> and <ph name="SECOND_PARENT_EMAIL">$2<ex>second@example.com</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_FAMILY_LINK_LABEL" desc="Tooltip of the status area icon indicating that the session is managed by Family Link.">
         This account is managed by Family Link
      </message>

      <message name="IDS_ASH_STATUS_TRAY_PREVIOUS_MENU" desc="The accessible text for header entries for detailed versions of status tray items.">
        Previous menu
      </message>

      <message name="IDS_ASH_STYLUS_TOOLS_CAPTURE_REGION_ACTION" desc="Title of the capture region action in the stylus tools (a pop-up panel next to the status tray). This causes a partial screenshot to be taken (the user selects an area of the screen to take a screenshot of).">
        Capture region
      </message>
      <message name="IDS_ASH_STYLUS_TOOLS_CAPTURE_REGION_TOAST" desc="Message content on the toast that appears when the user activates the capture region action in the stylus tools.">
        Use the stylus to select a region
      </message>
      <message name="IDS_ASH_STYLUS_TOOLS_CAPTURE_SCREEN_ACTION" desc="Title of the capture screen action in the stylus tools (a pop-up panel next to the status tray). Clicking this button takes a screenshot of the entire screen.">
        Capture screen
      </message>
      <message name="IDS_ASH_STYLUS_TOOLS_CREATE_NOTE_ACTION" desc="Title of the capture screen action in the stylus tools (a pop-up panel next to the status tray). Clicking this opens up an application that the user can quickly jot a note down in.">
        Create note
      </message>
      <message name="IDS_ASH_STYLUS_TOOLS_LASER_POINTER_MODE" desc="Title of the laser pointer in the palette (a pop-up panel next to the status tray). Clicking this turns the mouse into a laser pointer. Additionally, the palette tray is closed.">
        Laser pointer
      </message>
      <message name="IDS_ASH_STYLUS_TOOLS_MAGNIFIER_MODE" desc="Title of the magnification mode in the stylus tools. Clicking this button opens up a magnifier. The magnifier remains active until the user turns it off by tapping the same button again.">
        Magnifying glass
      </message>
      <message name="IDS_ASH_STYLUS_TOOLS_METALAYER_MODE" desc="Title of the metalayer mode in the stylus tools. Clicking this button opens up the voice interaction overlay. The overlay remains active until the user completes the interaction.">
        Assistant
      </message>
      <message name="IDS_ASH_STYLUS_TOOLS_METALAYER_MODE_LOADING" desc="Title of the metalayer mode in the stylus tools, displayed while the Assistant is still loading.">
        Assistant (loading...)
      </message>
      <message name="IDS_ASH_STYLUS_TOOLS_METALAYER_TOAST_LOADING" desc="Message content on the toast that appears when the user presses the stylus button to activate the Assistant but it is still loading.">
        Assistant is loading...
      </message>
      <message name="IDS_ASH_STYLUS_TOOLS_TITLE" desc="The title of the stylus tools dialog in the ash shelf.">
        Stylus tools
      </message>
      <message name="IDS_ASH_STYLUS_WARM_WELCOME_BUBBLE_TITLE" desc="The title of the bubble that pops up the first time a user uses a stylus.">
        These are your stylus tools
      </message>
      <message name="IDS_ASH_STYLUS_WARM_WELCOME_BUBBLE_DESCRIPTION" desc="The description of the bubble that pops up the first time a user uses a stylus on a non assistant enabled device. Describes what tools exist in the palette tray.">
        Tap the stylus button on the shelf to take a note, screenshot, use the laser pointer, or magnifying glass.
      </message>
      <message name="IDS_ASH_STYLUS_WARM_WELCOME_BUBBLE_WITH_ASSISTANT_DESCRIPTION" desc="The description of the bubble that pops up the first time a user uses a stylus on a assistant enabled device. Describes what tools exist in the palette tray.">
        Tap the stylus button on the shelf to take a note, screenshot, use the Google Assistant, laser pointer, or magnifying glass.
      </message>
      <message name="IDS_ASH_PALETTE_SETTINGS" desc="The label on the setting button used to open palette setting page.">
        Stylus settings
      </message>
      <message name="IDS_ASH_VOICE_INTERACTION_LOCALE_UNSUPPORTED_TOAST_MESSAGE" desc="Message content on the toast that appears when the voice interaction shortcut is pressed but the locale is unsupported.">
        The Google Assistant doesn’t speak this language.
      </message>
      <message name="IDS_ASH_VOICE_INTERACTION_SECONDARY_USER_TOAST_MESSAGE" desc="Message content on the toast that appears when the voice interaction shortcut is pressed but the active user profile is not the primary user profile.">
        The Google Assistant is only available for primary profile.
      </message>
      <message name="IDS_ASH_VOICE_INTERACTION_DISABLED_BY_POLICY_MESSAGE" desc="Message content on the toast that appears when the voice interaction shortcut is pressed but the feature is disabled by enterprise policy.">
        The Google Assistant is disabled by your administrator.
      </message>
      <message name="IDS_ASH_VOICE_INTERACTION_DISABLED_IN_DEMO_MODE_MESSAGE" desc="Message content on the toast that appears when the voice interaction shortcut is pressed in a demo session, which does not support voice interaction.">
        The Google Assistant is not available in a demo session.
      </message>
      <message name="IDS_ASH_VOICE_INTERACTION_DISABLED_IN_PUBLIC_SESSION_MESSAGE" desc="Message content on the toast that appears when the voice interaction shortcut is pressed in a public session, which does not support voice interaction.">
        The Google Assistant is not available in a public session.
      </message>

      <message name="IDS_ASH_TOAST_DISMISS_BUTTON" desc="The text button shown in toasts to close the toast immediately without waiting timeout.">
        DISMISS
      </message>

      <message name="IDS_ASH_CONTROL_KEY" desc="Name of [Ctrl] key name. Shouldn't be translated in many languages actually. This name should be lower case.">
        ctrl
      </message>
      <message name="IDS_ASH_SHIFT_KEY" desc="Name of [Shift] key. Shouldn't be translated in many languages actually. This name should be lower case.">
        shift
      </message>
      <message name="IDS_ASH_ALT_KEY" desc="Name of [Alt] key name. Shouldn't be translated in many languages actually. This name should be lower case.">
        alt
      </message>
      <message name="IDS_ASH_SEARCH_KEY" desc="Name of [Search] key name. This name should be lower case.">
        search
      </message>
      <message name="IDS_ASH_ALTGR_KEY" desc="Name of [AltGr] key name. Shouldn't be translated in many languages actually. This name should be lower case.">
        altgr
      </message>
      <message name="IDS_ASH_MOD3_KEY" desc="Name of ISOLevel5 (mod3) key name. Shouldn't be translated in many languages actually. This name should be lower case.">
        mod3
      </message>

      <!-- Dictation -->
      <message name="IDS_ASH_DICTATION_BUTTON_ACCESSIBLE_NAME" desc="The accessible name for the Dictation button in the system tray.">
        Toggle dictation
      </message>

      <!-- Overview Mode -->
      <message name="IDS_ASH_OVERVIEW_BUTTON_ACCESSIBLE_NAME" desc="The accessible name for the Overview button in the system tray.">
        Toggle window overview
      </message>
      <message name="IDS_ASH_OVERVIEW_NO_RECENT_ITEMS" desc="The message that is displayed on overview mode when the user enters it with no open windows.">
        No recent items
      </message>

      <!-- Window Selector -->
      <message name="IDS_ASH_WINDOW_SELECTOR_INPUT_FILTER_ACCESSIBLE_NAME" desc="The accessible name for the window selector filter search input box.">
        Type the name of an app or document
      </message>

      <!-- Status tray charging strings. -->
      <message name="IDS_ASH_STATUS_TRAY_LOW_POWER_CHARGER_TITLE" desc="The title of a notification indicating that a low-current USB charger has been connected.">
        Low-power charger connected
      </message>
      <message name="IDS_ASH_STATUS_TRAY_LOW_POWER_CHARGER_MESSAGE_SHORT" desc="The message body of a notification indicating that a low-current USB charger has been connected, short version.">
        Your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph> may not charge while it is turned on.
      </message>
      <message name="IDS_ASH_STATUS_TRAY_CHARGING_FROM_DUAL_ROLE_TITLE" desc="The message title of a notification indicating that the device is being charged by a connected dual-role USB Type-C device.">
        Charging from <ph name="POWER_SOURCE">$1<ex>USB-C device (left port)</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_CHARGING_DUAL_ROLE_DEVICE_TITLE" desc="The message title of a notification indicating that the device is charging the connected USB Type-C device.">
        Charging <ph name="POWER_SOURCE">$1<ex>USB-C device (left port)</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_CHARGING_DUAL_ROLE_DEVICES_TITLE" desc="The message title of a notification indicating that the device is charging multiple connected USB Type-C devices.">
        Charging connected USB-C devices
      </message>
      <message name="IDS_ASH_STATUS_TRAY_DUAL_ROLE_MESSAGE" desc="The message body of a notification, which indicates that the user can click the notification to see and change which device is being used as a power source.">
        Click for more options
      </message>
      <message name="IDS_ASH_POWER_SOURCE_PORT_LEFT" desc="The text identifying an external device, when that device is connected to the USB Type-C port on the left side of this device.">
        USB-C device (left port)
      </message>
      <message name="IDS_ASH_POWER_SOURCE_PORT_RIGHT" desc="The text identifying an external device, when that device is connected to the USB Type-C port on the right side of this device.">
        USB-C device (right port)
      </message>
      <message name="IDS_ASH_POWER_SOURCE_PORT_BACK" desc="The text identifying an external device, when that device is connected to the USB Type-C port on the back of this device.">
        USB-C device (rear port)
      </message>
      <message name="IDS_ASH_POWER_SOURCE_PORT_FRONT" desc="The text identifying an external device, when that device is connected to the USB Type-C port on the front of this device.">
        USB-C device (front port)
      </message>
      <message name="IDS_ASH_POWER_SOURCE_PORT_LEFT_FRONT" desc="The text identifying an external device, when that device is connected to a USB Type-C port on the left side of this device. In this case there are two ports on that side, so this text should refer to the front one on that side.">
        USB-C device (left side front port)
      </message>
      <message name="IDS_ASH_POWER_SOURCE_PORT_LEFT_BACK" desc="The text identifying an external device, when that device is connected to a USB Type-C port on the left side of this device. In this case there are two ports on that side, so this text should refer to the back one on that side.">
        USB-C device (left side back port)
      </message>
      <message name="IDS_ASH_POWER_SOURCE_PORT_RIGHT_FRONT" desc="The text identifying an external device, when that device is connected to a USB Type-C port on the right side of this device. In this case there are two ports on that side, so this text should refer to the front one on that side.">
        USB-C device (right side front port)
      </message>
      <message name="IDS_ASH_POWER_SOURCE_PORT_RIGHT_BACK" desc="The text identifying an external device, when that device is connected to a USB Type-C port on the right side of this device. In this case there are two ports on that side, so this text should refer to the back one on that side.">
        USB-C device (right side back port)
      </message>
      <message name="IDS_ASH_POWER_SOURCE_PORT_BACK_LEFT" desc="The text identifying an external device, when that device is connected to a USB Type-C port on the back of this device. In this case there are two ports on the back, so this text should refer to the one on the left.">
        USB-C device (left port in the back)
      </message>
      <message name="IDS_ASH_POWER_SOURCE_PORT_BACK_RIGHT" desc="The text identifying an external device, when that device is connected to a USB Type-C port on the back of this device. In this case there are two ports on the back, so this text should refer to the one on the right.">
        USB-C device (right port in the back)
      </message>
      <message name="IDS_ASH_POWER_SOURCE_PORT_UNKNOWN" desc="The text referring to the device to charge from, when its port location cannot be determined.">
        USB-C device
      </message>

      <!-- Status Tray Network strings -->
      <message name="IDS_ASH_STATUS_TRAY_NETWORK" desc="The label used in the network dialog header.">
        Network
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_STATUS_CONNECTED" desc="The label used when a network connection is connected.">
        Connected
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_STATUS_CONNECTING" desc="The label used when a network connection is connecting.">
        Connecting...
      </message>
      <message name="IDS_ASH_STATUS_TRAY_VPN" desc="The label used in the VPN detailed view header.">
        Private network
      </message>
      <message name="IDS_ASH_STATUS_TRAY_VPN_BUILT_IN_PROVIDER" desc="The name of the built-in VPN provider that supports OpenVPN and L2TP over IPsec.">
        OpenVPN / L2TP
      </message>
      <message name="IDS_ASH_STATUS_TRAY_VPN_DISCONNECT" desc="Message on button that disconnects from the current VPN.">
        Disconnect
      </message>
      <message name="IDS_ASH_STATUS_TRAY_WIFI_ADDRESS" desc="The label for the mac address of the wifi device.">
        Wi-Fi: <ph name="ADDRESS">$1<ex>23:45:67:89:AB:CD</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_INFO" desc="The accessible text for the network info button.">
        Network info
      </message>
      <message name="IDS_ASH_STATUS_TRAY_IP_ADDRESS" desc="The label for the IP address of the network.">
        IP address: <ph name="ADDRESS">$1<ex>192.168.1.1</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_IPV6_ADDRESS" desc="The label for the IPv6 address of the network.">
        IPv6 address: <ph name="ADDRESS">$1<ex>0:0:0:0:100:0:0:1</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_SETTINGS" desc="The label used in the settings entry in the network dialog.">
        Network settings
      </message>
      <message name="IDS_ASH_STATUS_TRAY_OTHER_WIFI" desc="The label used for the item to display other Wi-Fi networks.">
        Join other...
      </message>
      <message name="IDS_ASH_STATUS_TRAY_EXTENSION_CONTROLLED_WIFI" desc="The accessible text for the badge in the detailed network list indicating that the respective network's configuration may be controlled by an extension.">
        The extension "<ph name="EXTENSION_NAME">$1<ex>Nexus S</ex></ph>" can help connect to this network.
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BLUETOOTH_DISCOVERABLE" desc="Notification shown when a Bluetooth adapter is discoverable.">
        Your computer is discoverable to nearby Bluetooth devices and will appear as "<ph name="NAME">$1<ex>Chromebook</ex></ph>" with address <ph name="ADDRESS">$2<ex>01:23:45:67:89:0A</ex></ph>
      </message>
      <message name="IDS_ASH_NETWORK_AUTOCONNECT_NOTIFICATION_TITLE" desc="Title used for the system notification shown when a network has been auto-connected (e.g., when an enterprise policy is applied which initiates a connection to a corporate network like Google-A).">
        Switched network connection
      </message>
      <message name="IDS_ASH_NETWORK_AUTOCONNECT_NOTIFICATION_MESSAGE" desc="Message displayed in the system notification shown when a network has been auto-connected (e.g., when an enterprise policy is applied which initiates a connection to a corporate network like Google-A).">
        Your connection has switched to a more secure network
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_DISCONNECTED_LABEL" desc="The label text used when network is not connected.">
        Not connected
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_DISCONNECTED_SUBLABEL" desc="The sub label text used when network is not connected.">
        No networks
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_SIGNAL_WEAK_SUBLABEL" desc="The sub label text used when WiFi signal strength is weak (among weak, medium, and strong.)">
        Weak
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_SIGNAL_MEDIUM_SUBLABEL" desc="The sub label text used when WiFi signal strength is medium (among weak, medium, and strong.)">
        Medium
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_SIGNAL_STRONG_SUBLABEL" desc="The sub label text used when WiFi signal strength is strong (among weak, medium, and strong.)">
        Strong
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_CONNECTING_SUBLABEL" desc="The sub label text used when network is connecting. The network name is shown above this label.">
        Connecting
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_ACTIVATING_SUBLABEL" desc="The sub label text used when network is activating. The network name is shown above this label.">
        Activating
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_DISCONNECTED_TOOLTIP" desc="The tooltip text used when network is not connected.">
        Disconnected
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_NOT_CONNECTED_A11Y" desc="The message used by accessibility for telling that currently the device is not connected to a network.">
        Not connected to netowrk
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_CONNECTING_TOOLTIP" desc="The tooltip text used when network is connecting.">
        Connecting to <ph name="NETWORK_NAME">$1<ex>public wifi</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_CONNECTED_TOOLTIP" desc="The tooltip text used when network is connected.">
        Connected to <ph name="NETWORK_NAME">$1<ex>public wifi</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_ACTIVATING_TOOLTIP" desc="The tooltip text used when network is activating.">
        Activating <ph name="NETWORK_NAME">$1<ex>cellular network</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_TOGGLE_TOOLTIP" desc="The tooltip text for the button that toggles network enabled/disabled state.">
        Toggle network connection. <ph name="STATE_TEXT">$1<ex>Connected to public wifi</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_SETTINGS_TOOLTIP" desc="The tooltip text for the button that shows network list.">
        Show network list. <ph name="STATE_TEXT">$1<ex>Connected to public wifi</ex></ph>
      </message>

      <!-- Status Tray Network strings -->
      <message name="IDS_ASH_STATUS_TRAY_BLUETOOTH_DISPLAY_PINCODE" desc="Bluetooth pairing message typically shown on a request from a 2.0 device that has a keyboard.">
        Bluetooth device "<ph name="DEVICE_NAME">$1<ex>Nexus S</ex></ph>" would like permission to pair. Please enter this PIN code on that device: <ph name="PINCODE">$2<ex>123456</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BLUETOOTH_DISPLAY_PASSKEY" desc="Bluetooth pairing message typically shown on a request from a device that has a keyboard.">
        Bluetooth device "<ph name="DEVICE_NAME">$1<ex>Nexus S</ex></ph>" would like permission to pair. Please enter this passkey on that device: <ph name="PASSKEY">$2<ex>123456</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BLUETOOTH_CONFIRM_PASSKEY" desc="Bluetooth pairing message typically shown on a request from a device that has a display.">
        Bluetooth device "<ph name="DEVICE_NAME">$1<ex>Nexus S</ex></ph>" would like permission to pair. Before accepting, please confirm that this passkey is shown on that device: <ph name="PASSKEY">$2<ex>123456</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BLUETOOTH_AUTHORIZE_PAIRING" desc="Bluetooth pairing message typically shown on a request from a device without input or display.">
        Bluetooth device "<ph name="DEVICE_NAME">$1<ex>Nexus S</ex></ph>" would like permission to pair.
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BLUETOOTH_ACCEPT" desc="Message on button to accept Bluetooth pairing request.">
        Accept
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BLUETOOTH_REJECT" desc="Message on button to reject Bluetooth pairing request.">
        Reject
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BLUETOOTH_PAIRED" desc="Notification shown when a new device is paired with the computer.">
        Bluetooth device "<ph name="DEVICE_NAME">$1<ex>Nexus S</ex></ph>" has been paired and is now available to all users. You may remove this pairing using Settings.
      </message>

      <!-- Ash multi-user warning dialog -->
      <message name="IDS_DESKTOP_CASTING_ACTIVE_TITLE" desc="The title for the dialog which tells the user that desktop casting is in progress, asking if the casting should be stopped before switching - or - the switch should be aborted.">
        Stop screen sharing?
      </message>
      <message name="IDS_DESKTOP_CASTING_ACTIVE_MESSAGE" desc="The message for the dialog which tells the user that desktop casting is in progress, asking if the casting should be stopped before switching - or - the switch should be aborted.">
        Screen sharing will stop when you switch to another user. Do you want to continue?
      </message>
      <message name="IDS_DESKTOP_CASTING_ACTIVE_CONTINUE" desc="Label for the Continue (OK) button.">
        Continue
      </message>

      <!-- Status tray screen capture strings. -->
      <message name="IDS_ASH_STATUS_TRAY_SCREEN_CAPTURE_STOP" desc="label used for screen capture stop button">
        Stop
      </message>

      <!-- Status tray media recording state strings. -->
      <message name="IDS_ASH_STATUS_TRAY_MEDIA_RECORDING_AUDIO" desc="label used to indicate that the microphone is used by a background user">
        Microphone is in use.
      </message>
      <message name="IDS_ASH_STATUS_TRAY_MEDIA_RECORDING_VIDEO" desc="label used to indicate that the camera is used by a background user">
        Camera is in use.
      </message>
      <message name="IDS_ASH_STATUS_TRAY_MEDIA_RECORDING_AUDIO_VIDEO" desc="label used to indicate that the camera and microphone are used by a background user">
        Camera and microphone are in use.
      </message>

      <!-- Status tray screen share strings. -->
      <message name="IDS_ASH_STATUS_TRAY_SCREEN_SHARE_TITLE" desc="The title for screen sharing notification">
        You are sharing your screen
      </message>
      <message name="IDS_ASH_STATUS_TRAY_SCREEN_SHARE_STOP" desc="label used for screen sharing stop button">
        Stop
      </message>
      <message name="IDS_ASH_STATUS_TRAY_SCREEN_SHARE_BEING_HELPED" desc="label for screen sharing notification">
        Sharing control of your screen via Remote Assistance.
      </message>
      <message name="IDS_ASH_STATUS_TRAY_SCREEN_SHARE_BEING_HELPED_NAME" desc="label for screen sharing notification with name">
        Sharing control of your screen with <ph name="HELPER_NAME">$1<ex>Walder Frey</ex></ph> via Remote Assistance.
      </message>

      <!-- Status tray audio strings. -->
      <message name="IDS_ASH_STATUS_TRAY_AUDIO_FRONT_MIC" desc="label used for front microphone">
        Front microphone
      </message>

      <message name="IDS_ASH_STATUS_TRAY_AUDIO_HEADPHONE" desc="label used for audio headphone device">
        Headphone
      </message>

      <message name="IDS_ASH_STATUS_TRAY_AUDIO_INTERNAL_SPEAKER" desc="label used for internal audio speaker">
        Speaker (internal)
      </message>

      <message name="IDS_ASH_STATUS_TRAY_AUDIO_INTERNAL_MIC" desc="label used for internal microphone">
        Microphone (internal)
      </message>

      <message name="IDS_ASH_STATUS_TRAY_AUDIO_REAR_MIC" desc="label used for rear microphone">
        Rear microphone
      </message>

      <message name="IDS_ASH_STATUS_TRAY_AUDIO_USB_DEVICE" desc="label used for usb audio device">
        <ph name="device_name">$1<ex>Headphone</ex></ph> (USB)
      </message>

      <message name="IDS_ASH_STATUS_TRAY_AUDIO_BLUETOOTH_DEVICE" desc="label used for bluetooth audio device">
        <ph name="device_name">$1<ex>Headphone</ex></ph> (Bluetooth)
      </message>

      <message name="IDS_ASH_STATUS_TRAY_AUDIO_HDMI_DEVICE" desc="label used for hdmi audio device">
        <ph name="device_name">$1<ex>Speaker</ex></ph> (HDMI/DP)
      </message>
      <message name="IDS_ASH_STATUS_TRAY_AUDIO_MIC_JACK_DEVICE" desc="label used for mic jack device">
        Mic jack
      </message>

      <message name="IDS_AURA_SET_DESKTOP_WALLPAPER" desc="The label used for change wallpaper in context menu">
        Set wallpaper
      </message>

      <message name="IDS_ASH_STATUS_TRAY_TRACING" desc="The status tray item indicating that performance tracing is running.">
        Performance tracing enabled
      </message>
      <message name="IDS_ASH_STATUS_TRAY_TRACING_NOTIFICATION_TITLE" desc="The title of a notification indicating that performance tracing is running.">
        Performance tracing active
      </message>
      <message name="IDS_ASH_STATUS_TRAY_TRACING_NOTIFICATION_MESSAGE" desc="The message of a notification indicating that performance tracing is running.">
        Performance tracing is turned on
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BRIGHTNESS" desc="The accessible text for the brightness slider.">
        Brightness
      </message>
      <message name="IDS_ASH_STATUS_TRAY_KEYBOARD_BRIGHTNESS" desc="The accessible text for the keyboard brightness slider.">
        Keyboard brightness
      </message>
      <message name="IDS_ASH_STATUS_TRAY_AUDIO" desc="The label used in audio detailed page bottom header of ash tray pop up.">
        Audio settings
      </message>
      <message name="IDS_ASH_STATUS_TRAY_AUDIO_OUTPUT" desc="The label used in audio detailed page for audio output section of ash tray pop up.">
        Output
      </message>
      <message name="IDS_ASH_STATUS_TRAY_AUDIO_INPUT" desc="The label used in audio detailed page for audio input section of ash tray pop up.">
        Input
      </message>
      <message name="IDS_ASH_STATUS_TRAY_DISPLAY_MIRRORING" desc="The label used in the tray to show that the current status is mirroring.">
        Mirroring to <ph name="DISPLAY_NAME">$1</ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_DISPLAY_MIRROR_EXIT" desc="The label used in the tray to show that mirror mode is exiting.">
        Exiting mirror mode
      </message>
      <message name="IDS_ASH_STATUS_TRAY_DISPLAY_EXTENDED" desc="The label used in the tray to show that the current status is extended.">
        Extending screen to <ph name="DISPLAY_NAME">$1</ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_DISPLAY_REMOVED" desc="The text of the notification to show when a display is disconnected from the device.">
        Removed display <ph name="DISPLAY_NAME">$1</ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_DISPLAY_MIRRORING_NO_INTERNAL" desc="The label used in the tray to show that the current status is mirroring and the device doesn't have the internal display.">
        Mirroring
      </message>
      <message name="IDS_ASH_STATUS_TRAY_DISPLAY_EXTENDED_NO_INTERNAL" desc="The label used in the tray to show that the current status is extended and the device doesn't have the internal display.">
        Extending screen
      </message>
      <message name="IDS_ASH_STATUS_TRAY_DISPLAY_RESOLUTION_CHANGED_TITLE" desc="The title used in the notification to notify that the display resolution settings has changed.">
        Resolution changed
      </message>
      <message name="IDS_ASH_STATUS_TRAY_DISPLAY_RESOLUTION_CHANGED" desc="The label used in the tray to notify that the display resolution settings has changed.">
        <ph name="DISPLAY_NAME">$1<ex>Internal Display</ex></ph>: <ph name="RESOLUTION">$2<ex>2560x1600</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_DISPLAY_RESOLUTION_CHANGED_TO_UNSUPPORTED" desc="The label used in the tray to notify that the display resolution settings has changed to an unsupported resolution and the system falls back to another resolution.">
        <ph name="DISPLAY_NAME">$1</ph> doesn't support <ph name="SPECIFIED_RESOLUTION">$2<ex>2560x1600</ex></ph>. The resolution was changed to <ph name="FALLBACK_RESOLUTION">$3<ex>1920x1200</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_DISPLAY_ROTATED" desc="The label used in the tray to notify that the display rotation settings has changed.">
        <ph name="DISPLAY_NAME">$1</ph> was rotated to <ph name="ROTATION">$2</ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_DISPLAY_ANNOTATED_NAME" desc="Label used to show a display name with annotation (like screen resolution or overscan info).">
        <ph name="DISPLAY_NAME">$1</ph> (<ph name="ANNOTATION">$2</ph>)
      </message>
      <message name="IDS_ASH_STATUS_TRAY_DISPLAY_ANNOTATION_OVERSCAN" desc="Label used to describe that the system notice that this display device may have overscan area.">
        overscan
      </message>
      <message name="IDS_ASH_STATUS_TRAY_DISPLAY_STANDARD_ORIENTATION" desc="The default value of display orientation option item.">
        0&#x00B0;
      </message>
      <message name="IDS_ASH_STATUS_TRAY_DISPLAY_ORIENTATION_90" desc="The value of display orientation option item: 90-degree rotated">
        90&#x00B0;
      </message>
      <message name="IDS_ASH_STATUS_TRAY_DISPLAY_ORIENTATION_180" desc="The value of display orientation option item: 180-degree rotated">
        180&#x00B0;
      </message>
      <message name="IDS_ASH_STATUS_TRAY_DISPLAY_ORIENTATION_270" desc="The value of display orientation option item: 270-degree rotated">
        270&#x00B0;
      </message>
      <message name="IDS_ASH_STATUS_TRAY_DISPLAY_UNIFIED" desc="The title of the notification indicating that the system is in unified desktop mode.">
        Unified desktop mode
      </message>
      <message name="IDS_ASH_STATUS_TRAY_DISPLAY_UNIFIED_EXITING" desc="The title of the notification indicating that the system is exiting unified desktop mode.">
        Exiting unified desktop mode
      </message>
      <message name="IDS_ASH_STATUS_TRAY_CAPS_LOCK_ENABLED" desc="The label used for the tray item to indicate caps lock is on and to toggle caps lock by the click.">
        CAPS LOCK is on
      </message>
      <message name="IDS_ASH_STATUS_TRAY_CAPS_LOCK_DISABLED" desc="The label used for the tray item to indicate caps lock is on and to toggle caps lock by the click.">
        CAPS LOCK is off
      </message>
      <message name="IDS_ASH_STATUS_TRAY_CAPS_LOCK_SHORTCUT_SEARCH" desc="The shortcut text used for the caps lock tray item.">
        Search
      </message>
      <message name="IDS_ASH_STATUS_TRAY_CAPS_LOCK_SHORTCUT_SEARCH_OR_SHIFT" desc="The shortcut text used for the caps lock tray item.">
        Search or Shift
      </message>
      <message name="IDS_ASH_STATUS_TRAY_CAPS_LOCK_SHORTCUT_ALT_SEARCH" desc="The shortcut text used for the caps lock tray item.">
        Alt+Search
      </message>
      <message name="IDS_ASH_STATUS_TRAY_CAPS_LOCK_SHORTCUT_ALT_SEARCH_OR_SHIFT" desc="The shortcut text used for the caps lock tray item.">
        Alt+Search or Shift
      </message>
      <message name="IDS_ASH_STATUS_TRAY_CAPS_LOCK_CANCEL_BY_ALT_SEARCH" desc="The message shown on a bubble when caps lock is turned on.">
        Press Alt+Search or Shift to cancel.
      </message>
      <message name="IDS_ASH_STATUS_TRAY_CAPS_LOCK_CANCEL_BY_SEARCH" desc="The message shown on a bubble when caps lock is turned on.">
        Press Search or Shift to cancel.
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BATTERY_FULL" desc="The label in the tray dialog to indicate that the battery is full.">
        Battery full
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BATTERY_PERCENT" desc="The label in the tray dialog to show the remaining battery power as a percent.">
        <ph name="percentage">{0,number,percent}<ex>56%</ex></ph> remaining
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BATTERY_TIME_UNTIL_FULL" desc="The label in the tray dialog to show a time estimate until the battery is fully charged.">
        <ph name="time">$1<ex>2h 53m</ex></ph> until full
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BATTERY_CALCULATING" desc="The label in the tray dialog indicating that the time to charge or discharge the battery is being calculated.">
        Calculating...
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BATTERY_TIME_LEFT_SHORT" desc="The label in the tray bubble settings row to show a time estimate until the battery is empty.">
        <ph name="time">$1<ex>2:53</ex></ph> left
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BATTERY_TIME_UNTIL_FULL_SHORT" desc="The label in the tray bubble settings row to show a time estimate until the battery is fully charged.">
        <ph name="time">$1<ex>2:53</ex></ph> until full
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BATTERY_CHARGING_UNRELIABLE" desc="The label in the tray dialog to indicate that battery charging is unreliable.">
        Low-power charger
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BATTERY_FULL_CHARGE_ACCESSIBLE" desc="The message used by accessibility to show battery is fully charged.">
        Battery is full.
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BATTERY_PERCENT_ACCESSIBLE" desc="The message used by accessibility to show battery is discharging.">
        Battery is <ph name="percentage">$1<ex>56</ex></ph>% full.
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BATTERY_PERCENT_CHARGING_ACCESSIBLE" desc="The message used by accessibility to show battery is being charged.">
        Battery is <ph name="percentage">$1<ex>56</ex></ph>% full and charging.
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BATTERY_CALCULATING_ACCESSIBLE" desc="The message used by accessibility to show battery is calculating its time in short message.">
        Calculating battery time.
      </message>
      <message name= "IDS_ASH_STATUS_TRAY_BATTERY_TIME_LEFT_ACCESSIBLE" desc="The message used by accessibility to read remaining battery time until empty.">
        Time left until battery is empty, <ph name="time_left">$1<ex>1 hour and 15 minutes</ex></ph>
      </message>
      <message name= "IDS_ASH_STATUS_TRAY_BATTERY_TIME_UNTIL_FULL_ACCESSIBLE" desc="The message used by accessibility to read the estimated time until full.">
        Time remaining until battery is fully charged, <ph name="time_remaining">$1<ex>1 hour and 15 minutes</ex></ph>
      </message>
      <message name = "IDS_ASH_STATUS_TRAY_BATTERY_TIME_ACCESSIBLE" desc="The message used by accessibility to read battery time, which includes both non-zero hours and minutes.">
        <ph name="hour">$1<ex> 1 hour</ex></ph> and <ph name="minute">$2<ex>15 minutes</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BATTERY_CHARGING_UNRELIABLE_ACCESSIBLE" desc="The message used by accessibility to indicate that battery charging is unreliable.">
        Plugged in to a low-power charger. Battery charging may not be reliable.
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BATTERY_STATUS_SEPARATOR" desc="The separator symbol between battery percentage string and battery remaining time string">
        ''' - '''
      </message>
      <message name="IDS_ASH_STATUS_TRAY_BUBBLE_SESSION_LENGTH_LIMIT" desc="Tray bubble item shown to inform the user that the session length is limited.">
        Session ends in <ph name="session_time_remaining">$1<ex>4 minutes 23 seconds</ex></ph>.
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NOTIFICATION_SESSION_LENGTH_LIMIT_TITLE" desc="The title of the notification shown to inform the user that the session length is limited.">
        Your session will end in <ph name="session_time_remaining">$1<ex>4 mins 23 secs</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NOTIFICATION_SESSION_LENGTH_LIMIT_MESSAGE" desc="The message of the notification shown to inform the user that the session length is limited.">
        You will automatically be signed out.
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ROTATION_LOCK" desc="The text shown in the tray menu button that the user can enable the rotation lock by tapping.">
        Orientation
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ROTATION_LOCK_AUTO" desc="The text shown in the tray menu when rotation is set to auto and the user can enable the rotation lock by tapping.">
        Auto rotate
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ROTATION_LOCK_LANDSCAPE" desc="The text shown in the tray menu when rotation is set locked to landscape.">
        Landscape
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ROTATION_LOCK_PORTRAIT" desc="The text shown in the tray menu when rotation is set locked to portrait.">
        Portrait
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ROTATION_LOCK_TOOLTIP" desc="The tooltip text used for the button that toggles rotation lock enabled/disabled.">
        Toggle rotation lock. <ph name="STATE_TEXT">$1<ex>Locked to vertical</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ROTATION_LOCK_LOCKED_VERTICAL_TOOLTIP" desc="The tooltip text used when screen rotation is locked to vertical.">
        Locked to vertical
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ROTATION_LOCK_LOCKED_HORIZONTAL_TOOLTIP" desc="The tooltip text used when screen rotation is locked to horizontal.">
        Locked to horizontal
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ROTATION_LOCK_LOCKED_LABEL" desc="The label text shown under the tray menu button when screen rotation is locked.">
        Lock
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ROTATION_LOCK_LOCKED_VERTICAL_SUBLABEL" desc="The sub label text shown under the tray menu button when screen rotation is locked to vertical.">
        Vertical
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ROTATION_LOCK_LOCKED_HORIZONTAL_SUBLABEL" desc="The sub label text shown under the tray menu button when screen rotation is locked to horizontal.">
        Horizontal
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ROTATION_LOCK_AUTO_LABEL" desc="The label text shown under the tray menu button when screen rotation is set to auto.">
        Auto-rotate
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ROTATION_LOCK_AUTO_SUBLABEL" desc="The sub label text shown under the tray menu button when screen rotation is set to auto.">
        On
      </message>
      <message name="IDS_ASH_STATUS_TRAY_KEYBOARD_DISABLED" desc="The text shown in the tray menu when the virtual keyboard is disabled.">
        On-screen keyboard disabled
      </message>
      <message name="IDS_ASH_STATUS_TRAY_KEYBOARD_ENABLED" desc="The text shown in the tray menu when the virtual keyboard is enabled.">
        On-screen keyboard enabled
      </message>

      <!-- Status tray networking strings. -->
      <message name="IDS_ASH_STATUS_TRAY_MOBILE_SCANNING" desc="Message when scanning for mobile networks">
        Searching for mobile networks...
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ETHERNET" desc="The generic name for an Ethernet connection.">
        Ethernet
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ETHERNET_ADDRESS" desc="The label for the mac address of the ethernet device.">
        Ethernet: <ph name="ADDRESS">$1<ex>01:23:45:67:89:AB</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_INITIALIZING_CELLULAR" desc="Message for the status area when initializing the cellular device.">
        Initializing...
      </message>
      <message name="IDS_ASH_STATUS_TRAY_SIM_CARD_MISSING" desc="Message for the status area when a SIM card is missing.">
        Missing SIM card
      </message>
      <message name="IDS_ASH_STATUS_TRAY_SIM_CARD_LOCKED" desc="Message for the status area when a SIM card is locked.">
        SIM card is locked
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_ACTIVATING" desc="Message for the network tray tooltip and network list when activating a network.">
        Activating <ph name="NAME">$1<ex>YBH Cellular</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_CONNECTED" desc="Message for the network tray tooltip and network list when connected to a network.">
        Connected to <ph name="NAME">$1<ex>GoogleGuest</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_CONNECTED_ACCESSIBLE" desc="The accessible message for when connected to a network.">
        Connected to <ph name="NAME">$1<ex>GoogleGuest</ex></ph>, <ph name="STRENGTH">$2<ex>Weak signal.</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_CONNECTING" desc="Message for the network tray tooltip and network list when connecting to a network.">
        Connecting to <ph name="NAME">$1<ex>GoogleGuest</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_RECONNECTING" desc="Message for the network tray tooltip and network list when reconnecting to a network.">
        Reconnecting to <ph name="NAME">$1<ex>Company VPN</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_LIST_ACTIVATE" desc="Message for the network list to activate the network.">
        Activate <ph name="NETWORKSERVICE">$1<ex>YBH Cellular</ex></ph>
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_LIST_ACTIVATING" desc="Message for the network list when activating a network.">
        <ph name="NAME">$1<ex>YBH Cellular</ex></ph>: Activating...
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_LIST_CONNECTING" desc="Message for the network list when connecting to a network.">
        <ph name="NAME">$1<ex>GoogleGuest</ex></ph>: Connecting...
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_LIST_RECONNECTING" desc="Message for the network list when reconnecting to a network.">
        <ph name="NAME">$1<ex>Company VPN</ex></ph>: Reconnecting...
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_NOT_CONNECTED" desc="Description in status area or network list when no network is connected.">
        No network
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_PROHIBITED" desc="Tooltip in network list when the network is prohibited by policy.">
        This network is disabled by your administrator.
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_SIGNAL_WEAK" desc="Accessibility text for the network status tray when the connected network has a weak signal.">
        Weak signal
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_SIGNAL_MEDIUM" desc="Accessibility text for the network status tray when the connected network has a medium signal.">
        Medium signal
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_SIGNAL_STRONG" desc="Accessibility text for the network status tray when the connected network has a strong signal.">
        Strong signal
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NO_NETWORKS" desc="The message to display in the network info bubble when it is otherwise empty.">
        No network information available
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NO_MOBILE_NETWORKS" desc="The message to display in the network list when no mobile networks are available.">
        No mobile network available
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NO_MOBILE_DEVICES_FOUND" desc="The message to display in the network list when no mobile devices which can provide a tether hotspot have been discovered nearby.">
        No mobile devices found.
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ENABLING_MOBILE_ENABLES_BLUETOOTH" desc="The message to display in the mobile section of the network list when Bluetooth is off. If Bluetooth is off and mobile data is turned on, Bluetooth will also be turned on for the user to support this feature.">
        Enabling mobile data will enable Bluetooth.
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_MOBILE_DISABLED" desc="The message to display in the network list when mobile data is turned off.">
        Mobile data is turned off.
      </message>
      <message name="IDS_ASH_STATUS_TRAY_VPN_DISCONNECTED" desc="The label used in system tray bubble to display vpn is disconnected.">
        VPN disconnected
      </message>
      <message name="IDS_ASH_STATUS_TRAY_VPN_SHORT" desc="The short label used for VPN button in system tray bubble.">
        VPN
      </message>
      <message name="IDS_ASH_STATUS_TRAY_VPN_TOOLTIP" desc="The tooltip text used for the button that shows VPN settings.">
        Show VPN settings
      </message>
      <message name="IDS_ASH_STATUS_TRAY_VPN_DISCONNECTED_SHORT" desc="The short label used in system tray bubble to display vpn is disconnected.">
        Off
      </message>
      <message name="IDS_ASH_STATUS_TRAY_VPN_CONNECTED_SHORT" desc="The short label used in system tray bubble to display vpn is connected.">
        On
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_WIFI_ENABLED" desc="The label used in the tray popup to notify that Wi-Fi is turned on.">
        Wi-Fi is turned on.
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_WIFI_DISABLED" desc="The label used in the tray popup to notify that Wi-Fi is turned off.">
        Wi-Fi is turned off.
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_MOBILE" desc="The label used in the tray popup to separate mobile networks.">
        Mobile data
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_WIFI" desc="The label used in the tray popup to separate Wi-Fi networks.">
        Wi-Fi
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_TETHER" desc="The label used in the tray popup to separate Instant Tethering networks.">
        Instant Tethering
      </message>
      <message name="IDS_ASH_STATUS_TRAY_ADD_CONNECTION" desc="Title for control to add a new network connection." >
        Add connection
      </message>
      <message name="IDS_ASH_STATUS_TRAY_NETWORK_MONITORED_WARNING" desc="The label used in the tray popup to warn users their network may be monitored." >
        Network may be monitored
      </message>

      <message name="IDS_ASH_VIRTUAL_KEYBOARD_TRAY_ACCESSIBLE_NAME" desc="The accessible text for virtual keyboard icon in status tray.">
        Show on-screen keyboard
      </message>
      <message name="IDS_ASH_DISPLAY_FAILURE_ON_MIRRORING" desc="An error message to show that the system failed to enter the mirroring mode.">
        Could not mirror displays since no supported resolutions found. Entered extended desktop instead.
      </message>
      <message name="IDS_ASH_DISPLAY_FAILURE_ON_NON_MIRRORING" desc="An error message to show that the system failed to enter the extended desktop mode or unknown status. Please translate the parenthesized text.">
        This monitor isn't getting along with your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph> (the monitor is not supported).
      </message>
      <message name="IDS_ASH_DISPLAY_FAILURE_SEND_FEEDBACK" desc="Button text below error report to allow user to send feedback report.">
        Send feedback
      </message>
      <message name="IDS_ASH_DISPLAY_MIRRORING_NOT_SUPPORTED" desc="A message used to explain that mirroring with more than two displays is not supported.">
        Mirroring with more than two displays is not supported.
      </message>
      <message name="IDS_ASH_DISPLAY_RESOLUTION_CHANGE_ACCEPT" desc="A button label shown in the notification for the resolution change to accept the change">
        Accept
      </message>
      <message name="IDS_ASH_DISPLAY_RESOLUTION_CHANGE_REVERT" desc="A button label shown in the notification for the resolution change to revert the change">
        Revert
      </message>
      <message name="IDS_ASH_DISPLAY_RESOLUTION_TIMEOUT" desc="A message for to notify the user about the timeout of display resolution change.">
        Reverting to old resolution in <ph name="TIMEOUT_SECONDS">$1</ph>
      </message>
      <message name="IDS_ASH_LOW_PERIPHERAL_BATTERY_NOTIFICATION_TEXT" desc="The text of the notification when a peripheral device is in low battery condition.">
        Battery low (<ph name="percentage">$1<ex>56</ex></ph>%)
      </message>
      <message name="IDS_ASH_LOW_STYLUS_BATTERY_NOTIFICATION_TITLE" desc="The title of the notification which notifies user of the battery level of a stylus.">
        Stylus battery is low
      </message>
      <message name="IDS_ASH_LOW_STYLUS_BATTERY_NOTIFICATION_BODY" desc="The message of the notification which notifies user of the battery level of a stylus.">
        Please replace the battery
      </message>
      <message name="IDS_ASH_SIGN_OUT_WARNING_POPUP_TEXT" desc="The text of the popup when the user preses the exit shortcut in chrome-os.">
        Press Ctrl+Shift+Q twice to sign out.
      </message>
      <message name="IDS_ASH_SIGN_OUT_WARNING_POPUP_TEXT_ACCESSIBLE" desc="The message used by accessibility to indicate the content of the popup when the user preses the exit shortcut in chrome-os.">
        Press Control Shift Q twice to sign out.
      </message>
      <message name="IDS_ASH_LOGOUT_CONFIRMATION_TITLE" desc="Dialog title for the logout confirmation dialog.">
        Exiting session
      </message>
      <message name="IDS_ASH_LOGOUT_CONFIRMATION_WARNING" desc="The text for the logout confirmation dialog.">
        You will automatically be signed out in <ph name="LOGOUT_TIME_LEFT">$1<ex>5 seconds</ex></ph>.
      </message>
      <message name="IDS_ASH_LOGOUT_CONFIRMATION_WARNING_NOW" desc="The text for the logout confirmation dialog with no time left.">
        You will be signed out now.
      </message>
      <message name="IDS_ASH_LOGOUT_CONFIRMATION_BUTTON" desc="The text for okay button of the logout confirmation dialog.">
        Sign out now
      </message>
      <message name="IDS_ASH_HIGH_CONTRAST_TITLE" desc="Dialog title for the hight contrast confirmation dialog.">
        High contrast
      </message>
      <message name="IDS_ASH_HIGH_CONTRAST_BODY" desc="The text for the high contrast confirmation dialog.">
        You pressed the keyboard shortcut for high contrast. Do you want to turn it on?
      </message>
      <message name="IDS_ASH_DOCKED_MAGNIFIER_TITLE" desc="Dialog title when docked magnifier is enabled.">
        Docked magnifier
      </message>
      <message name="IDS_ASH_DOCKED_MAGNIFIER_BODY" desc="The text for the docked magnifier dialog.">
        You pressed the keyboard shortcut for the docked magnifier. Do you want to turn it on?
      </message>
      <message name="IDS_ASH_SCREEN_MAGNIFIER_TITLE" desc="Dialog title when screen magnifier is enabled.">
        Full-screen magnifier
      </message>
      <message name="IDS_ASH_SCREEN_MAGNIFIER_BODY" desc="The text for the screen magnifier dialog.">
        You pressed the keyboard shortcut for the full-screen magnifier. Do you want to turn it on?
      </message>
      <message name="IDS_ASH_ROTATE_SCREEN_TITLE" desc="Dialog title for when the screen has been rotated.">
        Rotate Screen
      </message>
      <message name="IDS_ASH_ROTATE_SCREEN_BODY" desc="The text for the screen rotation dialog.">
        You pressed the keyboard shortcut for screen rotation. Do you want to rotate the screen?
      </message>
      <message name="IDS_ASH_CONTINUE_BUTTON" desc="The text for continue button on accessibility confirmation dialogs.">
        Continue
      </message>

      <message name="IDS_ASH_IME_MENU_ACCESSIBLE_NAME" desc="The accessible text for opt-in IME menu icon in status tray.">
        IME menu button
      </message>

      <message name="IDS_ASH_SELECT_TO_SPEAK_TRAY_ACCESSIBLE_NAME" desc="The accessible text for the select-to-speak menu icon in the status tray.">
        Select-to-Speak button
      </message>

      <!-- Deprecated Accelerators Messages -->
      <!-- Shortcut keys MUST be connected with pluses (e.g. Ctrl+Shift+L). -->
      <message name="IDS_SHORTCUT_LOCK_SCREEN_OLD" desc="the old deprecated shortcut to lock the screen.">
        Ctrl+Shift+L
      </message>
      <message name="IDS_SHORTCUT_LOCK_SCREEN_NEW" desc="the new shortcut to lock the screen.">
        Search+L
      </message>
      <message name="IDS_SHORTCUT_TASK_MANAGER_OLD" desc="the old deprecated shortcut to open the task manager.">
        Shift+Esc
      </message>
      <message name="IDS_SHORTCUT_TASK_MANAGER_NEW" desc="the new shortcut to open the task manager.">
        Search+Esc
      </message>
      <message name="IDS_SHORTCUT_IME_BUBBLE_OLD" desc="the old deprecated shortcut to show the input options menu bubble in the shelf.">
        Alt+Shift+K
      </message>
      <message name="IDS_SHORTCUT_IME_BUBBLE_NEW" desc="the new shortcut to show the input options menu bubble in the shelf.">
        Search+Shift+K
      </message>
      <message name="IDS_SHORTCUT_TOGGLE_HIGH_CONTRAST_OLD" desc="the old deprecated shortcut to toggle the high contrast display mode.">
        Search+Shift+H
      </message>
      <message name="IDS_SHORTCUT_TOGGLE_HIGH_CONTRAST_NEW" desc="the new shortcut to toggle the high contrast display mode.">
        Ctrl+Search+H
      </message>
      <message name="IDS_DEPRECATED_LOCK_SCREEN_MSG"
               desc="Notification message to tell users about the deprecation of Ctrl+Shift+L shortcut to lock the screen.">
        The shortcut to lock the screen has changed. Please use <ph name="NEW_SHORTCUT">$1<ex>Search+L</ex></ph> instead of <ph name="OLD_SHORTCUT">$2<ex>Ctrl+Shift+L</ex></ph>.
      </message>
      <message name="IDS_DEPRECATED_SHOW_TASK_MANAGER_MSG"
               desc="Notification message to tell users about the deprecation of Shift+ESC shortcut to show the task manager.">
        The shortcut to open the task manager has changed. Please use <ph name="NEW_SHORTCUT">$1<ex>Search+Esc</ex></ph> instead of <ph name="OLD_SHORTCUT">$2<ex>Shift+Esc</ex></ph>.
      </message>
      <message name="IDS_DEPRECATED_SHOW_IME_BUBBLE_MSG"
               desc="Notification message to tell users about the deprecation of Alt+Shift+K shortcut to show the input options menu bubble in the shelf.">
        The shortcut to show the input options menu bubble in the shelf has changed. Please use <ph name="NEW_SHORTCUT">$1<ex>Search+Shift+K</ex></ph> instead of <ph name="OLD_SHORTCUT">$2<ex>Alt+Shift+K</ex></ph>.
      </message>
      <message name="IDS_DEPRECATED_TOGGLE_HIGH_CONTRAST_MSG" desc="Notification message to tell users about the deprecation of Search+Shift+H shortcut to toggle the high contrast display mode.">
        The shortcut to toggle High Contrast Mode has changed. Please use <ph name="NEW_SHORTCUT">$1<ex>Ctrl+Search+H</ex></ph> instead of <ph name="OLD_SHORTCUT">$2<ex>Search+Shift+H</ex></ph>.
      </message>
      <message name="IDS_DEPRECATED_SHORTCUT_TITLE" desc="Notification title to tell users that the keyboard accelerator is deprecated.">
        Shortcut change
      </message>

      <!-- Notification that an accelerator was pressed, so the user knows how to toggle it back -->
      <message name="IDS_HIGH_CONTRAST_ACCEL_TITLE"
               desc="Notification title to tell users that they just pressed the Ctrl+Search+H shortcut to toggle High Contrast Mode, and that pressing it again will toggle it off.">
        High Contrast Mode
      </message>
      <message name="IDS_HIGH_CONTRAST_ACCEL_MSG"
               desc="Notification message to tell users that they just pressed the Ctrl+Search+H shortcut to toggle High Contrast Mode, and that pressing it again will toggle it off.">
        High Contrast Mode enabled. Press Ctrl+Search+H again to toggle it off.
      </message>

      <!-- Notification that an accelerator was pressed, so the user knows how to toggle it back -->
      <message name="IDS_DOCKED_MAGNIFIER_ACCEL_TITLE"
               desc="Notification title to tell users that they just pressed the Ctrl+Search+D shortcut to toggle Docked Magnifier, and that pressing it again will toggle it off.">
        Docked Magnifier
      </message>
      <message name="IDS_DOCKED_MAGNIFIER_ACCEL_MSG"
               desc="Notification message to tell users that they just pressed the Ctrl+Search+D shortcut to toggle Docked Magnifier, and that pressing it again will toggle it off.">
        Docked Magnifier enabled. Press Ctrl+Search+D again to toggle it off.
      </message>

      <!-- Notification that an accelerator was pressed, so the user knows how to toggle it back -->
      <message name="IDS_FULLSCREEN_MAGNIFIER_ACCEL_TITLE"
               desc="Notification title to tell users that they just pressed the Ctrl+Search+M shortcut to toggle Fullscreen Magnifier, and that pressing it again will toggle it off.">
        Fullscreen Magnifier
      </message>
      <message name="IDS_FULLSCREEN_MAGNIFIER_ACCEL_MSG"
               desc="Notification message to tell users that they just pressed the Ctrl+Search+M shortcut to toggle Fullscreen Magnifier, and that pressing it again will toggle it off.">
        Fullscreen Magnifier enabled. Press Ctrl+Search+M again to toggle it off.
      </message>

      <!-- Tray scale strings -->
      <message name="IDS_ASH_STATUS_TRAY_SCALE" desc="The label used in scale setting detailed page of ash tray popup.">
        Display scale settings
      </message>
      <message name="IDS_ASH_STATUS_TRAY_SCALE_SLIDER" desc="The accessible text for the scale slider">Display scale</message>

      <message name="IDS_ASH_SPLIT_VIEW_GUIDANCE" desc="Message that shows up on overview mode telling users where to drag the window to use split view.">
        Drag here to use split screen
      </message>
      <message name="IDS_ASH_SPLIT_VIEW_CANNOT_SNAP" desc="Message that shows up on overview mode telling users the window they are trying to drag cannot be snapped and thus cannot be used in split view mode. Also shows up on a toast when a user tries to enter split view mode with an application that cannot be used in split view mode.">
        App does not support split-screen.
      </message>

      <!-- Login screen strings -->
      <message name="IDS_ASH_LOGIN_POD_PASSWORD_PLACEHOLDER" desc="Text to display as placeholder in the password field when password is the only auth method.">
        Password
      </message>
      <message name="IDS_ASH_LOGIN_POD_PASSWORD_PIN_PLACEHOLDER" desc="Text to display as placeholder in the password field when both password and pin are allowed.">
        PIN or password
      </message>
      <message name="IDS_ASH_LOGIN_POD_PASSWORD_TAP_PLACEHOLDER" desc="Text to display as placeholder in the password field when the user can click/tap their profile picture to unlock.">
        Select your photo
      </message>
      <message name="IDS_ASH_LOGIN_ERROR_AUTHENTICATING" desc="Couldn't sign in because password is invalid">
        Sorry, your password couldn't be verified. Please try again.
      </message>
      <message name="IDS_ASH_LOGIN_ERROR_AUTHENTICATING_2ND_TIME" desc="Couldn't sign in because password is invalid for the 2nd time">
        Sorry, your password still couldn't be verified. Note: if you changed your password recently, your new password will be applied once you sign out, please use the old password here.
      </message>
      <message name="IDS_ASH_LOGIN_ERROR_CAPS_LOCK_HINT" desc="A hint text for the login and lock screens that Caps Lock is on">
        Caps Lock is on.
      </message>
      <message name="IDS_ASH_LOGIN_KEYBOARD_SWITCH_SHORTCUT" desc="A keyboard shortcut to switch keyboard layput">
        Control-Shift-Space
      </message>
      <message name="IDS_ASH_LOGIN_ERROR_KEYBOARD_SWITCH_HINT" desc="A hint text for the login and lock screens about layout switching">
        Hit <ph name="KEYBOARD_SHORTCUT">$1<ex>Control-Shift-Space</ex></ph> to switch keyboard layout.
      </message>
      <message name="IDS_ASH_LOGIN_ERROR_DETACHABLE_BASE_CHANGED" desc="Text for the error dialog shown on the lock screen when a detachable base different from the base last used by the currently active user is attached.">
        Another keyboard has connected to this device since you last signed in. Make sure you trust this keyboard before you use it.
      </message>
      <message name="IDS_ASH_LOGIN_POD_PASSWORD_FIELD_ACCESSIBLE_NAME" desc="Text to be spoken when the focus is set to the password field of a user pod on the sign-in screen.">
        Password for <ph name="USER_EMAIL_ADDRESS">$1<ex>john.doe@example.com</ex></ph>
      </message>
      <message name="IDS_ASH_LOGIN_POD_SUBMIT_BUTTON_ACCESSIBLE_NAME" desc="Text to be spoken when the focus is set to the submit button of a user pod on the sign-in screen.">
        Submit
      </message>
      <message name="IDS_ASH_PIN_KEYBOARD_DELETE_ACCESSIBLE_NAME" desc="Text to be spoken when the focus is set to the delete button of the PIN keyboard.">
        Delete
      </message>
      <message name="IDS_ASH_LOGIN_POD_OWNER_USER" desc="Login/lock screen user pod menu title for a user who owns the device.">
        <ph name="USER_NAME">$1<ex>Ivan Arbuzov</ex></ph> (owner)
      </message>
      <message name="IDS_ASH_LOGIN_POD_MENU_BUTTON_ACCESSIBLE_NAME" desc="Text to be spoken when the focus is set to the menu button of the user pod on the login screen.">
        Options menu for <ph name="USER_EMAIL_ADDRESS">$1<ex>john.doe@example.com</ex></ph>
      </message>
      <message name="IDS_ASH_LOGIN_POD_MENU_REMOVE_ITEM_ACCESSIBLE_NAME" desc="Text to be spoken when 'Remove user' item is selected on the pod menu.">
        Remove this user
      </message>
      <message name="IDS_ASH_LOGIN_POD_LEGACY_SUPERVISED_EXPIRATION_WARNING" desc="Text shown as a warning that supervised users will be deprecated.">
        Your supervised user account is expiring soon.
      </message>
      <message name="IDS_ASH_LOGIN_POD_LEGACY_SUPERVISED_USER_REMOVE_WARNING" desc="Text shown as a warning when attempting to remove legacy supervised user.">
        All files and local data associated with the supervised user will be permanently deleted once this supervised user is removed. Visited websites and settings for this supervised user may still be visible by the manager at <ph name="MANAGEMENT_URL">$1<ex>www.example.com</ex></ph>.
      </message>
      <message name="IDS_ASH_LOGIN_POD_NON_OWNER_USER_REMOVE_WARNING_PART_1" desc="Text shown as a warning when attempting to remove non-owner user. Also see IDS_ASH_LOGIN_POD_NON_OWNER_USER_REMOVE_WARNING_PART_2.">
        All files and local data associated with this user will be permanently deleted once this user is removed.
      </message>
      <message name="IDS_ASH_LOGIN_POD_NON_OWNER_USER_REMOVE_WARNING_PART_2" desc="Text shown as a warning when attempting to remove non-owner user. Also see IDS_ASH_LOGIN_POD_NON_OWNER_USER_REMOVE_WARNING_PART_1.">
        $1 can still sign in later.
      </message>
      <message name="IDS_ASH_LOGIN_PUBLIC_ACCOUNT_INFO_FORMAT" desc="Template for text shown in the public account user pod, informing the user that this is a public, managed account.">
        Managed by <ph name="DOMAIN">$1<ex>yourdomain.com</ex></ph>
      </message>
      <message name="IDS_ASH_LOGIN_PUBLIC_ACCOUNT_MONITORING_WARNING" desc="Template for text shown in the public account user pod, informing the user that this is a public, managed account.">
        The device admin may monitor your browsing activity.
      </message>
      <message name="IDS_ASH_LOGIN_MANAGED_SESSION_MONITORING_WARNING" desc="Text shown in the public account user pod, informing the user that this session is managed and admin can monitor all activity.">
        The administrator of this device has access to all activity, including passwords and communications.
      </message>
      <message name="IDS_ASH_LOGIN_PUBLIC_ACCOUNT_SIGNOUT_REMINDER" desc="Text shown in the public account user pod, reminding the user to log out.">
        Your internet session will be cleared when you sign out. <ph name="LEARN_MORE">$1<ex>Learn more</ex></ph>
      </message>
      <message name="IDS_ASH_LOGIN_PUBLIC_SESSION_LANGUAGE_AND_INPUT" desc="Link in managed session pod that shows a section which allows the user to change the UI language and keyboard layout.">
        Choose language and keyboard
      </message>
      <message name="IDS_ASH_LOGIN_LANGUAGE_SELECTION_SELECT" desc="Label for language selection dropdown">
        Set your language
      </message>
      <message name="IDS_ASH_LOGIN_KEYBOARD_SELECTION_SELECT" desc="Label for keyboard selection dropdown">
        Set your keyboard
      </message>
      <message name="IDS_ASH_LOGIN_FINGERPRINT_UNLOCK_AVAILABLE" desc="Text shown in the user pod to remind user that fingerprint unlock is supported">
        Unlock with fingerprint
      </message>
      <message name="IDS_ASH_LOGIN_FINGERPRINT_UNLOCK_AUTH_SUCCESS" desc="Text shown in the user pod that fingerprint unlock succeeded">
        Signing in
      </message>
      <message name="IDS_ASH_LOGIN_FINGERPRINT_UNLOCK_AUTH_FAILED" desc="Text shown in the user pod to tell user that couldn't unlock because finger is not recognized">
        Not recognized
      </message>
      <message name="IDS_ASH_LOGIN_FINGERPRINT_UNLOCK_DISABLED_FROM_TIMEOUT" desc="Text shown when fingerprint has been disabled because it has been too long since the user last used the device">
        To unlock, enter your password
      </message>
      <message name="IDS_ASH_LOGIN_FINGERPRINT_UNLOCK_DISABLED_FROM_ATTEMPTS" desc="Text shown in the user pod to tell user that fingerprint unlock has reached maximum attempt">
        Too many attempts
      </message>
      <message name="IDS_ASH_LOGIN_FINGERPRINT_UNLOCK_ACCESSIBLE_AUTH_SUCCESS" desc="Accessibility text read by chromevox when the user successfully authenticated with fingerprint on the lock screen">
        Unlocking with fingerprint
      </message>
      <message name="IDS_ASH_LOGIN_FINGERPRINT_UNLOCK_ACCESSIBLE_AUTH_FAILED" desc="Accessibility text read by chromevox that the user's fingerprint authentication attempt was not successful">
        Fingerprint not recognized
      </message>
      <message name="IDS_ASH_LOGIN_FINGERPRINT_UNLOCK_ACCESSIBLE_AUTH_DISABLED_FROM_ATTEMPTS" desc="Accessibility text read by chromevox when the user has made too many unsuccessful fingerprint unlock attempts; fingerprint is now disabled until the user unlocks with a different authentication method">
        Too many fingerprint attempts
      </message>
      <message name="IDS_ASH_LOGIN_TAKE_BREAK_MESSAGE" desc="Message shown to user when unlocking the device is not allowed because their parent locked it for the day.">
        Take a break!
      </message>
      <message name="IDS_ASH_LOGIN_LOCKED_ALL_DAY_MESSAGE" desc="Message shown to user indicating that their parent locked the device for the day.">
        Your parent locked your device for the day
      </message>
      <message name="IDS_ASH_LOGIN_TIME_IS_UP_MESSAGE" desc="Message shown to user when unlocking the device is not allowed because the screen time limit has been reached.">
        Time is up
      </message>
      <message name="IDS_ASH_LOGIN_SCREEN_TIME_USED_MESSAGE" desc="Message shown to user indicating that their parent locked the device for the day.">
        You used this device for <ph name="USED_TIME">$1<ex>1 hr and 15 min</ex></ph> today
      </message>
      <message name="IDS_ASH_LOGIN_TIME_FOR_BED_MESSAGE" desc="Message shown to user when unlocking the device is not allowed because the bedtime is active.">
        Time for bed
      </message>
      <message name="IDS_ASH_LOGIN_COME_BACK_MESSAGE" desc="Message shown to user indicating a future time when the user is allowed to use the device again.">
        Come back at <ph name="COME_BACK_TIME">$1<ex>7:30 AM</ex></ph>.
      </message>
      <message name="IDS_ASH_LOGIN_COME_BACK_TOMORROW_MESSAGE" desc="Message shown to user indicating a future time when the user is allowed to use the device again.">
        Come back tomorrow at <ph name="COME_BACK_TIME">$1<ex>7:30 AM</ex></ph>.
      </message>
      <message name="IDS_ASH_LOGIN_COME_BACK_DAY_OF_WEEK_MESSAGE" desc="Message shown to user indicating a future time when the user is allowed to use the device again.">
        Come back <ph name="COME_BACK_DAY_OF_WEEK">$1<ex>Thursday</ex></ph> at <ph name="COME_BACK_TIME">$2<ex>7:30 AM</ex></ph>.
      </message>
      <message name="IDS_ASH_LOGIN_TIME_FOR_A_BREAK_MESSAGE" desc="Message shown to user when unlocking the device is not allowed because their parent locked the device.">
        Time for a break
      </message>
      <message name="IDS_ASH_LOGIN_MANUAL_LOCK_MESSAGE" desc="Message shown to user indicating that their parent locked the device.">
        Your parent locked this device
      </message>
      <message name="IDS_ASH_LOGIN_PUBLIC_ACCOUNT_MONITORING_INFO" desc="Text shown in the warning dialog after user clicks on the learn more link, notifying the user of potential security and privacy implications of using the device">
        The admin of this device has the ability to:
      </message>
      <message name="IDS_ASH_LOGIN_PUBLIC_ACCOUNT_MONITORING_INFO_ITEM_1" desc="Text shown in the warning dialog after user clicks on the learn more link, notifying the user of potential security and privacy implications of using the device">
        Access all your activity in this session
      </message>
      <message name="IDS_ASH_LOGIN_PUBLIC_ACCOUNT_MONITORING_INFO_ITEM_2" desc="Text shown in the warning dialog after user clicks on the learn more link, notifying the user of potential security and privacy implications of using the device">
        Grant websites, apps, and extensions permission to use location services, the device’s microphone, camera, or other features
      </message>
      <message name="IDS_ASH_LOGIN_PUBLIC_ACCOUNT_MONITORING_INFO_ITEM_3" desc="Text shown in the warning dialog after user clicks on the learn more link, notifying the user of potential security and privacy implications of using the device">
        Install apps, extensions, and themes
      </message>
      <message name="IDS_ASH_LOGIN_PUBLIC_ACCOUNT_MONITORING_INFO_ITEM_4" desc="Text shown in the warning dialog after user clicks on the learn more link, notifying the user of potential security and privacy implications of using the device">
        Adjust privacy settings
      </message>

      <!-- Multi-profiles intro dialog -->
      <message name="IDS_ASH_MULTIPROFILES_INTRO_HEADLINE" desc="Describes which feature multi-profiles intro dialog presents.">
        Multiple sign-in
      </message>
      <message name="IDS_ASH_MULTIPROFILES_INTRO_MESSAGE" desc="Content of the multi-profiles intro dialog shown when the user adds another user in multi-profiles mode.">
        This feature allows you to quickly access any signed-in user without requiring a password. Only use this feature with accounts you trust.
      </message>
      <message name="IDS_ASH_MULTIPROFILES_INTRO_EXPLANATION" desc="Content of the multi-profiles intro dialog shown when the user adds another user in multi-profiles mode.">
      </message>

      <!-- Strings shown within MultiDevice setup notifications -->
      <message name="IDS_ASH_MULTI_DEVICE_SETUP_NEW_USER_POTENTIAL_HOST_EXISTS_TITLE" desc="Title of the notification shown to a user that has not completed the MultiDevice setup when their Chromebook recognizes that they have a phone on their account that the Chromebook can connect to">
        Your devices work even better together
      </message>
      <message name="IDS_ASH_MULTI_DEVICE_SETUP_NEW_USER_POTENTIAL_HOST_EXISTS_MESSAGE" desc="Message shown as part of the notification shown to a user that has not completed the MultiDevice setup when their Chromebook recognizes that they have a phone on their account that the Chromebook can connect to. Clicking it opens a prompt to guide them through setting up.">
        Connect your Chromebook with your phone
      </message>
      <message name="IDS_ASH_MULTI_DEVICE_SETUP_EXISTING_USER_HOST_SWITCHED_TITLE" desc="Title of the notification shown to a user that has already completed the MultiDevice setup flow that a new phone is replacing the phone they currently have set up to connect to their Chromebook.">
        <ph name="DEVICE_NAME">$1<ex>Pixel XL</ex></ph> added
      </message>
      <message name="IDS_ASH_MULTI_DEVICE_SETUP_EXISTING_USER_HOST_SWITCHED_MESSAGE" desc="Message shown as part of the notification shown to a user that has already completed the MultiDevice setup flow that a new phone is replacing the phone they currently have set up to connect to their Chromebook.">
        Chromebook connected to a new phone
      </message>
      <message name="IDS_ASH_MULTI_DEVICE_SETUP_EXISTING_USER_NEW_CHROMEBOOK_ADDED_TITLE" desc="Title of the notification shown to a user that has already completed the MultiDevice setup flow logging into a new Chromebook that all their Chromebooks are MultiDevice enabled.">
        Connected to <ph name="DEVICE_NAME">$1<ex>Pixel XL</ex></ph>
      </message>
      <message name="IDS_ASH_MULTI_DEVICE_SETUP_EXISTING_USER_NEW_CHROMEBOOK_ADDED_MESSAGE" desc="Message shown as part of the notification shown to a user that has already completed the MultiDevice setup flow logging into a new Chromebook that all their Chromebooks are MultiDevice enabled.">
        This Chromebook and your phone will connect automatically
      </message>

      <!-- Window teleportation warning dialog -->
      <message name="IDS_ASH_TELEPORT_WARNING_TITLE" desc="The title of the dialog which warns user about oddities which can be seen when a window gets moved to another user desktop.">
        Warning: Experimental feature
      </message>
      <message name="IDS_ASH_TELEPORT_WARNING_MESSAGE" desc="The message on the dialog which warns user about oddities which can be seen when a window gets moved to another user desktop.">
        Moving windows to another desktop may result in unexpected behaviour. Subsequent notifications, windows and dialogs may be split between desktops.
      </message>

      <!-- Session aborted dialog -->
      <message name="IDS_ASH_MULTIPROFILES_SESSION_ABORT_HEADLINE" desc="Title for a dialog that describes that the current multi profile session is ending because one user is no longer allowed.">
        Multiple sign-in has been disabled
      </message>
      <message name="IDS_ASH_MULTIPROFILES_SESSION_ABORT_MESSAGE" desc="Body text for a dialog that describes that the current multi profile session is ending because one user is no longer allowed.">
        An administrator has disallowed multiple sign-in for <ph name="USER_EMAIL">$1<ex>john@google.com</ex></ph>. All users must sign out to continue.
      </message>
      <message name="IDS_ASH_MULTIPROFILES_SESSION_ABORT_BUTTON_LABEL" desc="The label for the one (and only) button on a dialog that describes why the multi profile session is ending.">
        Sign out
      </message>

      <!-- Message center -->
      <message name="IDS_ASH_MESSAGE_CENTER_QUIET_MODE_BUTTON_TOOLTIP" desc="The tooltip text for the do not disturb button.">
        Do not disturb
      </message>
      <message name="IDS_ASH_MESSAGE_CENTER_CLEAR_ALL_BUTTON_TOOLTIP" desc="The tooltip text for clearing all notifications.">
        Clear all notifications
      </message>
      <message name="IDS_ASH_MESSAGE_CENTER_CLEAR_ALL_BUTTON_LABEL" desc="The label text for clearing all notifications.">
        Clear all
      </message>
      <message name="IDS_ASH_MESSAGE_CENTER_SETTINGS_BUTTON_TOOLTIP" desc="The tooltip text for visiting the appropriate settings page in the footer of the message center.">
        Settings
      </message>
      <message name="IDS_ASH_MESSAGE_CENTER_COLLAPSE_BUTTON_TOOLTIP" desc="The tooltip text for closing notifier settings.">
        Close settings
      </message>
      <message name="IDS_ASH_MESSAGE_CENTER_SETTINGS_TITLE" desc="The title for the message center's list of checkboxes that allows a user to enable/disable notifications from various sources.">
        Settings
      </message>
      <message name="IDS_ASH_MESSAGE_CENTER_SETTINGS_DIALOG_DESCRIPTION" desc="A message to describe a list of toggle-able notification sources.">
        Allow notifications from the following
      </message>
      <message name="IDS_ASH_MESSAGE_CENTER_FOOTER_TITLE" desc="The label in the footer of the message center">
        Notifications
      </message>
      <message name="IDS_ASH_MESSAGE_CENTER_FOOTER_LOCKSCREEN" desc="The label in the footer of the message center on lock screen">
        Unlock device to view your notifications
      </message>
      <message name="IDS_ASH_MESSAGE_CENTER_LOCKSCREEN_UNIFIED" desc="The label in the message center area on lock screen.">
        Notifications are hidden.
      </message>
      <message name="IDS_ASH_MESSAGE_CENTER_LOCKSCREEN_CHANGE" desc="The label in the button in the message center area on lock screen. This button is to open the setting of the lock scren notification.">
        Change
      </message>
      <message name="IDS_ASH_MESSAGE_CENTER_LOCKSCREEN_CHANGE_TOOLTIP" desc="The tooltip text for Change button to open the setting of lock screen notification.">
        Change the lock-screen notification settings
      </message>
      <message name="IDS_ASH_MESSAGE_CENTER_NO_MESSAGES" desc="The message displayed in the message center when there are no notifications.">
        All done
      </message>
      <message name="IDS_ASH_MESSAGE_CENTER_NO_NOTIFIERS" desc="The message displayed in the message center when there are no notification sources.">
        Nothing to see just yet
      </message>
      <if expr="is_chrome_branded">
        <message name="IDS_ASH_MESSAGE_CENTER_SYSTEM_APP_NAME" desc="The source of a system-generated notification, as displayed to the user.">
          Chrome OS
        </message>
      </if>
      <if expr="not is_chrome_branded">
        <message name="IDS_ASH_MESSAGE_CENTER_SYSTEM_APP_NAME" desc="The source of a system-generated notification, as displayed to the user.">
          Chromium OS
        </message>
      </if>

      <message name="IDS_ASH_DIALOG_DONT_SHOW_AGAIN" desc="Label for checkbox dismissing show of a dialog.">
        Don't show again
      </message>

      <!-- Power off menu  -->
      <message name="IDS_ASH_POWER_BUTTON_MENU_POWER_OFF_BUTTON" desc="Text shown on power off button in power button menu.">
        Power off
      </message>
      <message name="IDS_ASH_POWER_BUTTON_MENU_LOCK_SCREEN_BUTTON" desc="Text shown on lock screen button in power button menu.">
        Lock screen
      </message>
      <message name="IDS_ASH_POWER_BUTTON_MENU_FEEDBACK_BUTTON" desc="Text shown on feedback button in power button menu.">
        Feedback
      </message>
      <message name ="IDS_ASH_POWER_BUTTON_MENU_ACCESSIBLE" desc="The accessible name of the power button menu, may be spoken out loud.">
        Power
      </message>

      <!-- Detachable base notifications -->
      <message name="IDS_ASH_DETACHABLE_BASE_NOTIFICATION_DEVICE_CHANGED_TITLE" desc="Title for the notification shown when the user connects a detachable keyboard different from the one they used previously.">
        Different keyboard connected
      </message>
      <message name="IDS_ASH_DETACHABLE_BASE_NOTIFICATION_DEVICE_CHANGED_MESSAGE" desc="Message for the notification shown when the user connects a detachable keyboard different from the one they used previously. 'It' refers to the connected detachable keyboard.">
        It may be attempting to steal your keystrokes
      </message>
      <message name="IDS_ASH_DETACHABLE_BASE_NOTIFICATION_UPDATE_NEEDED_TITLE" desc="Title for the notification shown to the user when the detachable base (keyboard) connected to the device has to be updated.">
        Your detachable keyboard needs a critical update
      </message>
      <message name="IDS_ASH_DETACHABLE_BASE_NOTIFICATION_UPDATE_NEEDED_MESSAGE" desc="Body for the notification shown to the user when the detachable base (keyboard) connected to the device has to be updated. This notification is shown if the keyboard is usable without the update.">
        To get the update, restart your Chromebook with the keyboard attached.
      </message>
      <message name="IDS_ASH_DETACHABLE_BASE_NOTIFICATION_CRITICAL_UPDATE_NEEDED_MESSAGE" desc="Body for the notification shown to the user when the detachable base (keyboard) connected to the device has to be updated. This notification is shown if the keyboard is not usable without the update.">
        To get the update, use the touchscreen to restart your Chromebook with the keyboard attached.
      </message>

      <!-- Assistant -->
      <message name="IDS_ASH_ASSISTANT_DIALOG_PLATE_HINT" desc="Message shown as a placeholder in Assistant's input textfield when empty.">
        Type a message
      </message>
      <message name="IDS_ASH_ASSISTANT_DIALOG_PLATE_KEYBOARD_ACCNAME" desc="Accessibility name for a keyboard image button when clicked shows an input textfield for user to type in queries.">
        Start a text query
      </message>
      <message name="IDS_ASH_ASSISTANT_DIALOG_PLATE_MIC_ACCNAME" desc="Accessibility name for a microphone image button when clicked starts listening for user's voice queries.">
        Start a voice query
      </message>
      <message name="IDS_ASH_ASSISTANT_DIALOG_PLATE_SETTINGS_ACCNAME" desc="Accessibility name for a settings image button when clicked shows Assistant settings.">
        Assistant Settings
      </message>
      <message name="IDS_ASH_ASSISTANT_ERROR_GENERIC" desc="Generic message shown when Assistant is in an error state.">
        Something went wrong. Try again in a few seconds.
      </message>
      <message name="IDS_ASH_ASSISTANT_PROMPT_DEFAULT" desc="Message shown to indicate that Assistant is ready to receive a query in Assistant UI.">
        Hi, how can I help?
      </message>
      <message name="IDS_ASH_ASSISTANT_PROMPT_STYLUS" desc="Message shown to indicate that Assistant is ready to receive a selection made using the stylus.">
        Use your stylus to select
      </message>
      <message name="IDS_ASH_ASSISTANT_NOTIFICATION_DISPLAY_SOURCE" desc="The name for the source of the assistant notification.">
        Assistant
      </message>
      <message name="IDS_ASH_ASSISTANT_OPT_IN_UNLOCK_MORE_FEATURES" desc="Message shown in Assistant UI when the user is opted out to promote an opted in experience.">
        Unlock more Assistant features.
      </message>
      <message name="IDS_ASH_ASSISTANT_OPT_IN_GET_STARTED" desc="Message shown in Assistant UI when the user is opted out to promote an opted in experience.">
        Get Started
      </message>
      <message name="IDS_ASH_ASSISTANT_OPT_IN_PROMPT" desc="Message shown in Assistant UI when the user is opted out to promote an opted in experience. $1 = IDS_ASH_ASSISTANT_OPT_IN_UNLOCK_MORE_FEATURES, $2 = IDS_ASH_ASSISTANT_OPT_IN_GET_STARTED">
        <ph name="UNLOCK_MORE_FEATURES">$1<ex>Unlock more Assistant features.</ex></ph>  <ph name="GET_STARTED">$2<ex>Get Started</ex></ph>
      </message>
      <message name="IDS_ASH_ASSISTANT_MULTI_DEVICE_HOTWORD_LOSS" desc="Message shown in Assistant UI when we have detected hotword but are answering on another device.">
        Answering on another device.
      </message>
      <message name="IDS_ASH_ASSISTANT_CHIP_IM_BORED" desc="Message shown on suggestion chip in Assistant UI to initiate a query for something amusing, a joke for example.">
        I'm bored
      </message>
      <message name="IDS_ASH_ASSISTANT_CHIP_OPEN_FILES" desc="Message shown on suggestion chip in Assistant UI to initiate a query to open files.">
        Open files
      </message>
      <message name="IDS_ASH_ASSISTANT_CHIP_PLAY_MUSIC" desc="Message shown on suggestion chip in Assistant UI to initiate a query to play music.">
        Play music
      </message>
      <message name="IDS_ASH_ASSISTANT_CHIP_SEND_AN_EMAIL" desc="Message shown on suggestion chip in Assistant UI to initiate a query to send an email.">
        Send an email
      </message>
      <message name="IDS_ASH_ASSISTANT_CHIP_SET_A_REMINDER" desc="Message shown on suggestion chip in Assistant UI to initiate a query to set a reminder.">
        Set a reminder
      </message>
      <message name="IDS_ASH_ASSISTANT_CHIP_WHAT_CAN_YOU_DO" desc="Message shown on suggestion chip in Assistant UI to initiate a query for Assistant capabilities.">
        What can you do?
      </message>
      <message name="IDS_ASH_ASSISTANT_CHIP_WHATS_ON_MY_CALENDAR" desc="Message shown on suggestion chip in Assistant UI to initiate a query for upcoming calendar events.">
        What's on my calendar?
      </message>
      <message name="IDS_ASH_ASSISTANT_CHIP_WHATS_ON_MY_SCREEN" desc="Message shown on suggestion chip in Assistant UI to initiate a contextual search for results matching screen content.">
        What's on my screen?
      </message>
      <message name="IDS_ASH_ASSISTANT_CHIP_WHATS_THE_WEATHER" desc="Message shown on suggestion chip in Assistant UI to initiate a query for the current weather.">
        What's the weather?
      </message>
      <message name="IDS_ASH_MESSAGE_CENTER_UNLOCK_TO_PERFORM_ACTION" desc="The short message to encourage user to unlock the device so that Chrome OS can perform the notification action selected by user after unlocking.">
        Unlock device to perform the notification action
      </message>
      <message name="IDS_ASH_MESSAGE_CENTER_UNLOCK_TO_PERFORM_ACTION_WITH_USER_ID" desc="The short message to encourage user to unlock the device so that Chrome OS can perform the notification action selected by user after unlocking.">
        Unlock device as <ph name="login_id">$1<ex>example@gmail.com</ex></ph> to perform the notification action
      </message>
    </messages>
  </release>
</grit>

