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

<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/chromeos_strings.h" type="rc_header">
      <emit emit_type='prepend'></emit>
    </output>
    <output filename="chromeos_strings_am.pak" type="data_package" lang="am" />
    <output filename="chromeos_strings_ar.pak" type="data_package" lang="ar" />
    <output filename="chromeos_strings_bg.pak" type="data_package" lang="bg" />
    <output filename="chromeos_strings_bn.pak" type="data_package" lang="bn" />
    <output filename="chromeos_strings_ca.pak" type="data_package" lang="ca" />
    <output filename="chromeos_strings_cs.pak" type="data_package" lang="cs" />
    <output filename="chromeos_strings_da.pak" type="data_package" lang="da" />
    <output filename="chromeos_strings_de.pak" type="data_package" lang="de" />
    <output filename="chromeos_strings_el.pak" type="data_package" lang="el" />
    <output filename="chromeos_strings_en-GB.pak" type="data_package" lang="en-GB" />
    <output filename="chromeos_strings_en-US.pak" type="data_package" lang="en" />
    <output filename="chromeos_strings_es.pak" type="data_package" lang="es" />
    <output filename="chromeos_strings_es-419.pak" type="data_package" lang="es-419" />
    <output filename="chromeos_strings_et.pak" type="data_package" lang="et" />
    <output filename="chromeos_strings_fa.pak" type="data_package" lang="fa" />
    <output filename="chromeos_strings_fake-bidi.pak" type="data_package" lang="fake-bidi" />
    <output filename="chromeos_strings_fi.pak" type="data_package" lang="fi" />
    <output filename="chromeos_strings_fil.pak" type="data_package" lang="fil" />
    <output filename="chromeos_strings_fr.pak" type="data_package" lang="fr" />
    <output filename="chromeos_strings_gu.pak" type="data_package" lang="gu" />
    <output filename="chromeos_strings_he.pak" type="data_package" lang="he" />
    <output filename="chromeos_strings_hi.pak" type="data_package" lang="hi" />
    <output filename="chromeos_strings_hr.pak" type="data_package" lang="hr" />
    <output filename="chromeos_strings_hu.pak" type="data_package" lang="hu" />
    <output filename="chromeos_strings_id.pak" type="data_package" lang="id" />
    <output filename="chromeos_strings_it.pak" type="data_package" lang="it" />
    <output filename="chromeos_strings_ja.pak" type="data_package" lang="ja" />
    <output filename="chromeos_strings_kn.pak" type="data_package" lang="kn" />
    <output filename="chromeos_strings_ko.pak" type="data_package" lang="ko" />
    <output filename="chromeos_strings_lt.pak" type="data_package" lang="lt" />
    <output filename="chromeos_strings_lv.pak" type="data_package" lang="lv" />
    <output filename="chromeos_strings_ml.pak" type="data_package" lang="ml" />
    <output filename="chromeos_strings_mr.pak" type="data_package" lang="mr" />
    <output filename="chromeos_strings_ms.pak" type="data_package" lang="ms" />
    <output filename="chromeos_strings_nl.pak" type="data_package" lang="nl" />
    <!-- The translation console uses 'no' for Norwegian Bokmål. It should
         be 'nb'. -->
    <output filename="chromeos_strings_nb.pak" type="data_package" lang="no" />
    <output filename="chromeos_strings_pl.pak" type="data_package" lang="pl" />
    <output filename="chromeos_strings_pt-BR.pak" type="data_package" lang="pt-BR" />
    <output filename="chromeos_strings_pt-PT.pak" type="data_package" lang="pt-PT" />
    <output filename="chromeos_strings_ro.pak" type="data_package" lang="ro" />
    <output filename="chromeos_strings_ru.pak" type="data_package" lang="ru" />
    <output filename="chromeos_strings_sk.pak" type="data_package" lang="sk" />
    <output filename="chromeos_strings_sl.pak" type="data_package" lang="sl" />
    <output filename="chromeos_strings_sr.pak" type="data_package" lang="sr" />
    <output filename="chromeos_strings_sv.pak" type="data_package" lang="sv" />
    <output filename="chromeos_strings_sw.pak" type="data_package" lang="sw" />
    <output filename="chromeos_strings_ta.pak" type="data_package" lang="ta" />
    <output filename="chromeos_strings_te.pak" type="data_package" lang="te" />
    <output filename="chromeos_strings_th.pak" type="data_package" lang="th" />
    <output filename="chromeos_strings_tr.pak" type="data_package" lang="tr" />
    <output filename="chromeos_strings_uk.pak" type="data_package" lang="uk" />
    <output filename="chromeos_strings_vi.pak" type="data_package" lang="vi" />
    <output filename="chromeos_strings_zh-CN.pak" type="data_package" lang="zh-CN" />
    <output filename="chromeos_strings_zh-TW.pak" type="data_package" lang="zh-TW" />
  </outputs>
  <translations>
    <file path="strings/chromeos_strings_af.xtb" lang="af" />
    <file path="strings/chromeos_strings_am.xtb" lang="am" />
    <file path="strings/chromeos_strings_ar.xtb" lang="ar" />
    <file path="strings/chromeos_strings_as.xtb" lang="as" />
    <file path="strings/chromeos_strings_az.xtb" lang="az" />
    <file path="strings/chromeos_strings_be.xtb" lang="be" />
    <file path="strings/chromeos_strings_bg.xtb" lang="bg" />
    <file path="strings/chromeos_strings_bn.xtb" lang="bn" />
    <file path="strings/chromeos_strings_bs.xtb" lang="bs" />
    <file path="strings/chromeos_strings_ca.xtb" lang="ca" />
    <file path="strings/chromeos_strings_cs.xtb" lang="cs" />
    <file path="strings/chromeos_strings_da.xtb" lang="da" />
    <file path="strings/chromeos_strings_de.xtb" lang="de" />
    <file path="strings/chromeos_strings_el.xtb" lang="el" />
    <file path="strings/chromeos_strings_en-GB.xtb" lang="en-GB" />
    <file path="strings/chromeos_strings_es.xtb" lang="es" />
    <file path="strings/chromeos_strings_es-419.xtb" lang="es-419" />
    <file path="strings/chromeos_strings_et.xtb" lang="et" />
    <file path="strings/chromeos_strings_eu.xtb" lang="eu" />
    <file path="strings/chromeos_strings_fa.xtb" lang="fa" />
    <file path="strings/chromeos_strings_fi.xtb" lang="fi" />
    <file path="strings/chromeos_strings_fil.xtb" lang="fil" />
    <file path="strings/chromeos_strings_fr.xtb" lang="fr" />
    <file path="strings/chromeos_strings_fr-CA.xtb" lang="fr-CA" />
    <file path="strings/chromeos_strings_gl.xtb" lang="gl" />
    <file path="strings/chromeos_strings_gu.xtb" lang="gu" />
    <file path="strings/chromeos_strings_hi.xtb" lang="hi" />
    <file path="strings/chromeos_strings_hr.xtb" lang="hr" />
    <file path="strings/chromeos_strings_hu.xtb" lang="hu" />
    <file path="strings/chromeos_strings_hy.xtb" lang="hy" />
    <file path="strings/chromeos_strings_id.xtb" lang="id" />
    <file path="strings/chromeos_strings_is.xtb" lang="is" />
    <file path="strings/chromeos_strings_it.xtb" lang="it" />
    <!-- The translation console uses 'iw' for Hebrew, but we use 'he'. -->
    <file path="strings/chromeos_strings_iw.xtb" lang="he" />
    <file path="strings/chromeos_strings_ja.xtb" lang="ja" />
    <file path="strings/chromeos_strings_ka.xtb" lang="ka" />
    <file path="strings/chromeos_strings_kk.xtb" lang="kk" />
    <file path="strings/chromeos_strings_km.xtb" lang="km" />
    <file path="strings/chromeos_strings_kn.xtb" lang="kn" />
    <file path="strings/chromeos_strings_ko.xtb" lang="ko" />
    <file path="strings/chromeos_strings_ky.xtb" lang="ky" />
    <file path="strings/chromeos_strings_lo.xtb" lang="lo" />
    <file path="strings/chromeos_strings_lt.xtb" lang="lt" />
    <file path="strings/chromeos_strings_lv.xtb" lang="lv" />
    <file path="strings/chromeos_strings_mk.xtb" lang="mk" />
    <file path="strings/chromeos_strings_ml.xtb" lang="ml" />
    <file path="strings/chromeos_strings_mn.xtb" lang="mn" />
    <file path="strings/chromeos_strings_mr.xtb" lang="mr" />
    <file path="strings/chromeos_strings_ms.xtb" lang="ms" />
    <file path="strings/chromeos_strings_my.xtb" lang="my" />
    <file path="strings/chromeos_strings_ne.xtb" lang="ne" />
    <file path="strings/chromeos_strings_nl.xtb" lang="nl" />
    <file path="strings/chromeos_strings_no.xtb" lang="no" />
    <file path="strings/chromeos_strings_or.xtb" lang="or" />
    <file path="strings/chromeos_strings_pa.xtb" lang="pa" />
    <file path="strings/chromeos_strings_pl.xtb" lang="pl" />
    <file path="strings/chromeos_strings_pt-BR.xtb" lang="pt-BR" />
    <file path="strings/chromeos_strings_pt-PT.xtb" lang="pt-PT" />
    <file path="strings/chromeos_strings_ro.xtb" lang="ro" />
    <file path="strings/chromeos_strings_ru.xtb" lang="ru" />
    <file path="strings/chromeos_strings_si.xtb" lang="si" />
    <file path="strings/chromeos_strings_sk.xtb" lang="sk" />
    <file path="strings/chromeos_strings_sl.xtb" lang="sl" />
    <file path="strings/chromeos_strings_sq.xtb" lang="sq" />
    <file path="strings/chromeos_strings_sr.xtb" lang="sr" />
    <file path="strings/chromeos_strings_sr-Latn.xtb" lang="sr-Latn" />
    <file path="strings/chromeos_strings_sv.xtb" lang="sv" />
    <file path="strings/chromeos_strings_sw.xtb" lang="sw" />
    <file path="strings/chromeos_strings_ta.xtb" lang="ta" />
    <file path="strings/chromeos_strings_te.xtb" lang="te" />
    <file path="strings/chromeos_strings_th.xtb" lang="th" />
    <file path="strings/chromeos_strings_tr.xtb" lang="tr" />
    <file path="strings/chromeos_strings_uk.xtb" lang="uk" />
    <file path="strings/chromeos_strings_ur.xtb" lang="ur" />
    <file path="strings/chromeos_strings_uz.xtb" lang="uz" />
    <file path="strings/chromeos_strings_vi.xtb" lang="vi" />
    <file path="strings/chromeos_strings_zh-CN.xtb" lang="zh-CN" />
    <file path="strings/chromeos_strings_zh-HK.xtb" lang="zh-HK" />
    <file path="strings/chromeos_strings_zh-TW.xtb" lang="zh-TW" />
    <file path="strings/chromeos_strings_zu.xtb" lang="zu" />
  </translations>
  <release seq="1" allow_pseudo="false">
    <messages fallback_to_english="true">
      <message name="IDS_ASSISTANT_SCREEN_CONTEXT_QUERY_FALLBACK_TEXT" desc="Message shown in Assistant UI when a query for content related to the screen context returns no results.">
        I can't find anything on your screen I can help with.
Try tapping the mic to ask me anything.
      </message>

      <!-- The following strings are located here for accessibility from both //ash and //chrome -->
      <message name="IDS_ENABLE_BLUETOOTH" desc="The message to display in the network list when Tether is enabled but Bluetooth is disabled.">
        Turn on Bluetooth to discover nearby devices
      </message>

      <!-- Managed guest session warnings -->
      <message name="IDS_ASH_LOGIN_MANAGED_SESSION_MONITORING_FULL_WARNING" desc="Text shown in the public account user pod in case of risky configuration, informing the user that this session is managed and admin can monitor all activity. MANAGER can be a domain or an email address.">
        <ph name="MANAGER">$1<ex>example.com</ex></ph> manages this device and has access to all user activity, including webpages visited, passwords, and email.
      </message>
      <message name="IDS_ASH_LOGIN_MANAGED_SESSION_MONITORING_SOFT_WARNING" desc="Text shown in the public account user pod in case of non-risky configuration, informing the user that this session is managed and admin can monitor all activity. MANAGER can be a domain or an email address.">
        <ph name="MANAGER">$1<ex>example.com</ex></ph> manages this device and may be able to monitor your activity.
      </message>

      <!-- Managed user session warning -->
      <message name="IDS_ASH_LOGIN_MANAGED_SESSION_MONITORING_USER_WARNING" desc="Text shown in the user pod in case the user is managed. MANAGER can be a domain or an email address.">
        <ph name="MANAGER">$1<ex>example.com</ex></ph> manages this user and may remotely manage settings and monitor user activity.
      </message>

      <!-- Pop-up enterprise management. -->
      <message name="IDS_ASH_LOGIN_ENTERPRISE_MANAGED_POP_UP" desc="Text shown in the management pop-up when user clicks on status tray enterprise management. MANAGER can be a domain or an email address.">
        This <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph> is managed by <ph name="MANAGER">$2<ex>example.com</ex></ph>. Administrators may remotely configure the device.
      </message>

      <!-- Pop-up secondary login screen. -->
      <message name="IDS_ASH_LOGIN_USER_ADDING_BANNER" desc="Text shown on a banner in user adding screen.">
        Add an account to multiple sign-in. All signed-in accounts can be accessed without a password, so this feature should only be used with trusted accounts.
      </message>

      <!-- Status tray enterprise management. -->
      <message name="IDS_ASH_ENTERPRISE_DEVICE_MANAGED_BY" desc="Text for notifications showing that this device is enterprise managed. Used when the manager is available. MANAGER can be a domain or an email address.">
        This <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph> is managed by <ph name="MANAGER">$2<ex>acmecorp.com</ex></ph>.
      </message>
      <message name="IDS_ASH_ENTERPRISE_DEVICE_MANAGED" desc="Text for notifications showing that this device is enterprise managed. Used when the manager is not available (e.g. Active Directory).">
        This <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph> is enterprise managed
      </message>
      <message name="IDS_ASH_ENTERPRISE_DEVICE_MANAGED_SHORT" desc="Short text showing that the device is enterprise managed.">
        Managed
      </message>

      <!-- Shelf buttons -->
      <message name="IDS_ASH_SHELF_SHUTDOWN_BUTTON" desc="Text shown on shutdown button on login/lock screen.">
        Shut down
      </message>
      <message name="IDS_ASH_SHELF_RESTART_BUTTON" desc="Text shown on restart button on login/lock screen.">
        Restart
      </message>
      <message name="IDS_ASH_SHELF_UNLOCK_BUTTON" desc="Text shown on unlock button on lock screen.">
        Unlock
      </message>
      <message name="IDS_ASH_SHELF_SIGN_OUT_BUTTON" desc="Text shown on sign out button on lock screen.">
        Sign out
      </message>
      <message name="IDS_ASH_SHELF_CANCEL_BUTTON" desc="Text shown on cancel button on add user screen.">
        Cancel
      </message>
      <message name="IDS_ASH_BROWSE_AS_GUEST_BUTTON" desc="Text shown on Chrome OS sign-in screen button that launches guest session. Should be short.">
        Browse as Guest
      </message>
      <message name="IDS_ASH_ADD_USER_BUTTON" desc="Text shown on an add user button on login/locker screen">
        Add Person
      </message>
      <message name="IDS_ASH_PARENT_ACCESS_BUTTON" desc="Text shown on an parent access button on login/lock screen">
        Parent access
      </message>
      <message name="IDS_ASH_SHELF_APPS_BUTTON" desc="Text shown on apps button on login screen.">
        Apps
      </message>
      <message name="IDS_ASH_ENTERPRISE_ENROLLMENT_BUTTON" desc="Text shown on enterprise enrollment button on oobe screen.">
        Enterprise enrollment
      </message>

      <message name="IDS_ASH_SHELF_APP_LIST_LAUNCHER_TITLE" desc="The title used for the Ash Launcher in the Shelf (not mentioning 'Apps' since this is a general launcher).">
        Launcher
      </message>

      <!-- Password expiry notifications -->
      <message name="IDS_PASSWORD_CHANGE_OVERDUE_TITLE" desc="Message title for a notification that tells the user they are already late in changing their password, since the password has already expired.">
        Password change overdue
      </message>
      <message name="IDS_PASSWORD_EXPIRES_AFTER_TIME_TITLE" desc="Message title for a notification that tells the user their password will expire at a certain time. This time could be X days(s) or X hour(s) or X minute(s). The alternative text 'Password expires in: $1' is okay if this would make more sense in the grammar of the target language.">
        Password expires in <ph name="TIME">$1<ex>5 days</ex></ph>
      </message>
      <message name="IDS_PASSWORD_EXPIRY_CALL_TO_ACTION" desc="Message body on a notification that politely requests the user to choose a new password since their old password is expiring soon. (The title makes clear that the password is expiring.)">
        Choose a new one now
      </message>
      <message name="IDS_PASSWORD_EXPIRY_CALL_TO_ACTION_CRITICAL" desc="Message body on a notification that *URGENTLY* requests the user to choose a new password since their old password is expiring *VERY* soon. (The title makes clear that the password is expiring.)">
        Choose a new one immediately
      </message>
      <message name="IDS_PASSWORD_EXPIRY_CHANGE_PASSWORD_BUTTON" desc="Text on a button that takes the user to page to change their password">
        Change password
      </message>

      <!-- In-session password change -->
      <message name="IDS_PASSWORD_CHANGE_CONFIRM_DIALOG_TITLE" desc="Title for the dialog where a user corrects and confirms their old and new passwords in order to complete a password change">
        Confirm change
      </message>
      <message name="IDS_PASSWORD_CHANGE_CONFIRM_DIALOG_BOTH_PASSWORDS_PROMPT" desc="Text on the password-change confirmation dialog explaining that the user has to enter both their old and new passwords again to finish the password change.">
        To finish, enter your old and new passwords
      </message>
      <message name="IDS_PASSWORD_CHANGE_CONFIRM_DIALOG_OLD_PASSWORD_PROMPT" desc="Text on the password-change confirmation dialog explaining that the user has to enter their old password again to finish the password change.">
        To finish, enter your old password
      </message>
      <message name="IDS_PASSWORD_CHANGE_CONFIRM_DIALOG_NEW_PASSWORD_PROMPT" desc="Text on the password-change confirmation dialog explaining that the user has to enter their new password again to finish the password change.">
        To finish, enter your new password
      </message>
      <message name="IDS_PASSWORD_CHANGE_OLD_PASSWORD_LABEL" desc="Label for a box where the user enters their old password">
        Old password
      </message>
      <message name="IDS_PASSWORD_CHANGE_NEW_PASSWORD_LABEL" desc="Label for a box where the user enters their new password">
        New password
      </message>
      <message name="IDS_PASSWORD_CHANGE_CONFIRM_NEW_PASSWORD_LABEL" desc="Label for the second box where the user enters their new password again, to ensure they don't mistype it">
        Confirm new password
      </message>
      <message name="IDS_PASSWORD_CHANGE_CONFIRM_SAVE_BUTTON" desc="Text on a button that confirms the change to the password and saves the new password in place of the old one">
        Save
      </message>
      <message name="IDS_PASSWORD_CHANGE_PASSWORDS_DONT_MATCH" desc="Error text in the case that the user entered their new password twice into two different boxes as required, but the two entries do not match">
        Passwords do not match
      </message>

      <!-- Kerberos ticket expiry notifications -->
      <message name="IDS_KERBEROS_TICKET_EXPIRY_TITLE" desc="Title of the notification shown when a Kerberos ticket is about to expire (shown below the display source and above the body).">
        Kerberos ticket expires soon
      </message>
      <message name="IDS_KERBEROS_TICKET_EXPIRY_BODY" desc="Body of the notification shown when a Kerberos ticket is about to expire (shown below the title).">
        Refresh ticket for <ph name="PRINCIPAL_NAME">$1<ex>user@EXAMPLE.COM</ex></ph>
      </message>
      <message name="IDS_KERBEROS_TICKET_EXPIRY_BUTTON" desc="Button label of the notification shown when a Kerberos ticket is about to expire.">
        REFRESH
      </message>

      <message name="IDS_IME_SERVICE_DISPLAY_NAME" desc="The display name (in the system task manager, etc) of the service process providing the input methods.">
        Chrome OS Input Method Service
      </message>

      <!-- Help App -->
      <message name="IDS_HELP_APP_EXPLORE" desc="Name of the Explore app in the app shelf. Explore is an app for users to find helpful information about their Chromebooks. Should be translated into other languages into a similar verb." meaning="App name.">
        Explore
      </message>
      <message name="IDS_HELP_APP_OFFERS" desc="Name of a tab in the Help app that offers users discounts or freebies, 'offers'.">
        Offers
      </message>
      <message name="IDS_HELP_APP_PERKS" desc="Name of a tab in the Help app that offers users additional perks like apps or drive storage space.">
        Perks
      </message>
      <message name="IDS_HELP_APP_WHATS_NEW_SUGGESTION_CHIP" desc="Text for the suggestion chip to view updated patch notes are available. [CHAR_LIMIT=24]">
        What's new with Chrome OS
      </message>

      <!-- Media App -->
      <message name="IDS_MEDIA_APP_APP_NAME" desc="Name of the Media App in the app shelf. This app is the default installed app to open and edit images, video, pdf and audio files." meaning="App name.">
        Gallery
      </message>

      <!-- Pin dialog error messages -->
      <message name="IDS_REQUEST_PIN_DIALOG_INVALID_PIN_ERROR" desc="The error message displayed in the certificate provider PIN request dialog when an invalid PIN was entered. Should end with a full stop since it can be chained with more text.">
        Invalid PIN.
      </message>
      <message name="IDS_REQUEST_PIN_DIALOG_INVALID_PUK_ERROR" desc="The error message displayed in the certificate provider PIN request dialog when an invalid PUK was entered. Should end with a full stop since it can be chained with more text.">
        Invalid PUK.
      </message>
      <message name="IDS_REQUEST_PIN_DIALOG_MAX_ATTEMPTS_EXCEEDED_ERROR" desc="The error message displayed in the certificate provider PIN request dialog when maximum allowed attempts exceeded.">
        Maximum allowed attempts exceeded.
      </message>
      <message name="IDS_REQUEST_PIN_DIALOG_UNKNOWN_ERROR" desc="The error message displayed in the certificate provider PIN request dialog when unknown error occurred in extension code. Should end with a full stop since it can be chained with more text.">
        Unknown error.
      </message>
      <message name="IDS_REQUEST_PIN_DIALOG_ATTEMPTS_LEFT" desc="The text displayed in the certificate provider PIN request dialog about the number of attempts left">
        {ATTEMPTS_LEFT, plural,
        =1 {{0} attempt left}
        other {{0} attempts left}}
      </message>
      <message name="IDS_REQUEST_PIN_DIALOG_ERROR_ATTEMPTS" desc="The text displayed in the certificate provider PIN request dialog when the previous login attempt was unsuccessful but there are more attempts remaining. Includes the reason for the previous failure.">
        {ATTEMPTS_LEFT, plural,
        =1 {<ph name="ERROR_MESSAGE">{1}<ex>Invalid PIN.</ex></ph> {0} attempt left}
        other {<ph name="ERROR_MESSAGE">{1}<ex>Invalid PIN.</ex></ph> {0} attempts left}}
      </message>

      <!-- Print Management App -->
      <message name="IDS_PRINT_MANAGEMENT_COMPLETION_STATUS_CANCELED" desc="Displayed text status if the print job was canceled.">
        Canceled
      </message>
      <message name="IDS_PRINT_MANAGEMENT_COMPLETION_STATUS_PRINTED" desc="Displayed text status if the print job was printed succesfully.">
        Printed
      </message>
      <message name="IDS_PRINT_MANAGEMENT_FILE_NAME_COLUMN" desc="The label for the column header that displays the file name of the print job.">
        File name
      </message>
      <message name="IDS_PRINT_MANAGEMENT_PRINTER_NAME_COLUMN" desc="The label for the column header that displays the printer name.">
        Printer
      </message>
      <message name="IDS_PRINT_MANAGEMENT_DATE_COLUMN" desc="The label for the column header that displays the date of which the print job was created.">
        Date
      </message>
      <message name="IDS_PRINT_MANAGEMENT_STATUS_COLUMN" desc="The label for the column header that displays the current status of the print job.">
        Status
      </message>
      <message name="IDS_PRINT_MANAGEMENT_TITLE" desc="The title of the print management app.">
        Print jobs
      </message>
      <message name="IDS_PRINT_MANAGEMENT_APP_NAME" desc="The app name of the print management app.">
        Print Jobs
      </message>
      <message name="IDS_PRINT_MANAGEMENT_CLEAR_ALL_HISTORY_BUTTON_TEXT" desc="The label for the button that clears the print job history.">
        Clear all history
      </message>
      <message name="IDS_PRINT_MANAGEMENT_CLEAR_ALL_HISTORY_CONFIRMATION_TEXT" desc="A confirmation text that ask users for confirmation that they want to delete their print jobs. Also notifies users that their ongoing jobs will not be deleted.">
        Are you sure you want to clear all print history? Your ongoing print jobs will not be cleared.
      </message>
      <message name="IDS_PRINT_MANAGEMENT_CANCEL_BUTTON_LABEL" desc="The label for the button that closes the clear print history dialog.">
        Cancel
      </message>
      <message name="IDS_PRINT_MANAGEMENT_CLEAR_BUTTON_LABEL" desc="The label for the action button that confirms clearing a user's print history in the clear print history dialog.">
        Clear
      </message>
      <message name="IDS_PRINT_MANAGEMENT_HISTORY_HEADER_LABEL" desc="The header label that indicates that print jobs below this header are the user's print history.">
        History
      </message>
      <message name="IDS_PRINT_MANAGEMENT_HISTORY_TOOL_TIP_INDEFINITE" desc="The tooltip that states that the user's print jobs are stored indefinitely.">
        Print jobs will appear in history unless they are removed manually
      </message>
      <message name="IDS_PRINT_MANAGEMENT_HISTORY_TOOL_TIP_MULTIPLE_DAYS_EXPIRATION" desc="The tooltip that states that the user's print jobs are automatically deleted after a variable amount of days.">
        Print jobs older than <ph name="NUMBER_OF_DAYS">$1<ex>45</ex></ph> days will be removed
      </message>
      <message name="IDS_PRINT_MANAGEMENT_HISTORY_TOOL_TIP_SINGLE_DAY_EXPIRATION" desc="The tooltip that states that the user's print jobs are automatically deleted after one day.">
        Print jobs older than 1 day will be removed
      </message>
      <message name="IDS_PRINT_MANAGEMENT_PRINTED_PAGES_ARIA_LABEL" desc="The aria label that describes the current page printed printed versus the total number of pages.">
        Printed page <ph name="PRINTED_PAGES">$1<ex>1</ex></ph> out of <ph name="TOTAL_PAGES">$2<ex>2</ex></ph>.
      </message>
      <message name="IDS_PRINT_MANAGEMENT_PRINTED_PAGES_PROGRESS_FRACTION" desc="A fraction-based progress indicator that lets users know how many pages are print versus how many pages total to be printed. Example: 5/7 (where 5 pages haves been printed out of 7 total pages">
        <ph name="PRINTED_PAGES_NUMBER">$1<ex>5</ex></ph>/<ph name="TOTAL_PAGES_NUMBER">$2<ex>7</ex></ph>
      </message>
      <message name="IDS_PRINT_MANAGEMENT_COMPLETED_JOB_ARIA_LABEL" desc="The aria label that describes a completed print job that includes the print job documenet title, printer name, creation time, and completion status. This is a sentence with commas and spaces (minor pause) between placeholders.">
        <ph name="DOCUMENT_TITLE">$1<ex>my_essay.doc</ex></ph>, <ph name="PRINTER_NAME">$2<ex>canon 6450</ex></ph>, <ph name="CREATION_TIME">$3<ex>February 8, 2020</ex></ph>, <ph name="COMPLETION_STATUS">$4<ex>Printed</ex></ph>
      </message>
      <message name="IDS_PRINT_MANAGEMENT_ONGOING_JOB_ARIA_LABEL" desc="The aria label that describes an ongoing print job that includes the print job documenet title, printer name, creation time, and ongoing status. Also notifies users that the ongoing print job can be cancelled with the 'Enter' key. This is only used for ChromeVox voice transcriptions.">
        <ph name="DOCUMENT_TITLE">$1<ex>my_essay.doc</ex></ph>, <ph name="PRINTER_NAME">$2<ex>canon 6450</ex></ph>, <ph name="CREATION_TIME">$3<ex>February 8, 2020</ex></ph>, <ph name="PRINTED_PAGE_NUMBER">$4<ex>5</ex></ph> out of <ph name="TOTAL_PAGE_NUMBER">$5<ex>7</ex></ph>. Press enter to cancel the print job.
      </message>
      <message name="IDS_PRINT_MANAGEMENT_STOPPED_ONGOING_JOB_ARIA_LABEL" desc="The aria label that describes a stopped print job that includes the print job documenet title, printer name, creation time, and error status. This is a sentence with commas and spaces (minor pause) between placeholders.">
        <ph name="DOCUMENT_TITLE">$1<ex>my_essay.doc</ex></ph>, <ph name="PRINTER_NAME">$2<ex>canon 6450</ex></ph>, <ph name="CREATION_TIME">$3<ex>February 8, 2020</ex></ph>, <ph name="ERROR_STATUS">$4<ex>Stopped - Out of paper</ex></ph>
      </message>
      <message name="IDS_PRINT_MANAGEMENT_PAPER_JAM_ERROR_STATUS" desc="The error status displayed next to a print job to indicate to users that their print job failed because of a printer paper jam.">
        Failed - Paper jam
      </message>
      <message name="IDS_PRINT_MANAGEMENT_OUT_OF_PAPER_ERROR_STATUS" desc="The error status displayed next to a print job to indicate to users that their print job faied because their printer is out out of paper.">
        Failed - Out of paper
      </message>
      <message name="IDS_PRINT_MANAGEMENT_OUT_OF_INK_ERROR_STATUS" desc="The error status displayed next to a print job to indicate to users that their print job failed because their printer is out of ink.">
        Failed - Out of ink
      </message>
      <message name="IDS_PRINT_MANAGEMENT_DOOR_OPEN_ERROR_STATUS" desc="The error status displayed next to a print job to indicate to users that their print job failed because their printer door is open.">
        Failed - Door open
      </message>
      <message name="IDS_PRINT_MANAGEMENT_PRINTER_UNREACHABLE_ERROR_STATUS" desc="The error status displayed next to a print job to indicate to users that their print job failed because their printer is unreachable.">
        Failed - Printer unreachable
      </message>
      <message name="IDS_PRINT_MANAGEMENT_TRAY_MISSING_ERROR_STATUS" desc="The error status displayed next to a print job to indicate to users that their print job failed because their printer's tray is missing.">
        Failed - Tray missing
      </message>
      <message name="IDS_PRINT_MANAGEMENT_OUTPUT_FULL_ERROR_STATUS" desc="The error status displayed next to a print job to indicate to users that their print job failed because their printer's output is full .">
        Failed - Output full
      </message>
      <message name="IDS_PRINT_MANAGEMENT_STOPPED_ERROR_STATUS" desc="The error status displayed next to a print job to indicate to users that their print job failed because their printer has stopped the print job.">
        Failed - Stopped
      </message>
      <message name="IDS_PRINT_MANAGEMENT_FILTERED_FAILED_ERROR_STATUS" desc="The error status displayed next to a print job to indicate to users that their print job failed because their printer's filter has failed.">
        Failed - Filter failed
      </message>
      <message name="IDS_PRINT_MANAGEMENT_UNKNOWN_ERROR_STATUS" desc="The error status displayed next to a print job to indicate to users that their print job failed due to an unknown error.">
        Failed - Unknown error
      </message>
      <message name="IDS_PRINT_MANAGEMENT_NO_PRINT_JOBS_IN_PROGRESS_MESSAGE" desc="The message shown to users if they do not have any print jobs in progress i.e. being printed.">
        No print jobs in progress
      </message>
      <message name="IDS_PRINT_MANAGEMENT_PAPER_JAM_STOPPED_ERROR_STATUS" desc="The error status displayed next to a print job to indicate to users that their print job has stopped because of a printer paper jam.">
        Stopped - Paper jam
      </message>
      <message name="IDS_PRINT_MANAGEMENT_OUT_OF_PAPER_STOPPED_ERROR_STATUS" desc="The error status displayed next to a print job to indicate to users that their print job has stopped because their printer is out out of paper.">
        Stopped - Out of paper
      </message>
      <message name="IDS_PRINT_MANAGEMENT_OUT_OF_INK_STOPPED_ERROR_STATUS" desc="The error status displayed next to a print job to indicate to users that their print job has stopped because their printer is out of ink.">
        Stopped - Out of ink
      </message>
      <message name="IDS_PRINT_MANAGEMENT_DOOR_OPEN_STOPPED_ERROR_STATUS" desc="The error status displayed next to a print job to indicate to users that their print job stopped because their printer door is open.">
        Stopped - Door open
      </message>
      <message name="IDS_PRINT_MANAGEMENT_TRAY_MISSING_STOPPED_ERROR_STATUS" desc="The error status displayed next to a print job to indicate to users that their print job stopped because their printer's tray is missing.">
        Stopped - Tray missing
      </message>
      <message name="IDS_PRINT_MANAGEMENT_OUTPUT_FULL_STOPPED_ERROR_STATUS" desc="The error status displayed next to a print job to indicate to users that their print job stopped because their printer's output is full .">
        Stopped - Output full
      </message>
      <message name="IDS_PRINT_MANAGEMENT_GENERIC_STOPPED_ERROR_STATUS" desc="The error status displayed next to a print job to indicate to users that their print job stopped.">
        Stopped
      </message>
      <message name="IDS_PRINT_MANAGEMENT_UNKNOWN_STOPPED_ERROR_STATUS" desc="The error status displayed next to a print job to indicate to users that their print job stopped due to an unknown error.">
        Stopped - Unknown error
      </message>
      <message name="IDS_PRINT_MANAGEMENT_CLEAR_ALL_POLICY_PRINT_JOB_INDICATOR_MESSAGE" desc="The message shown to indicate that a user policy is in place to prevent the user from deleting their print job history.">
        This action is managed by your administrator
      </message>
      <message name="IDS_PRINT_MANAGEMENT_CANCEL_PRINT_JOB_BUTTON_LABEL" desc="The label for the button that cancels a print job.">
        Cancel print job
      </message>
      <message name="IDS_PRINT_MANAGEMENT_CANCELED_PRINT_JOB_ARIA_ANNOUNCEMENT" desc="The announcement said to notify ChromeVox that a print job was recently cancelled.">
        Cancelled print job <ph name="DOCUMENT_TITLE">$1<ex>my_essay.doc</ex></ph>
      </message>
      <message name="IDS_PRINT_MANAGEMENT_COLLAPSE_PRINTING_STATUS" desc="A text that indicates to the user that the print job is currently printing. This text only appears if the width of the app's window is small and cannot display the entire ongoing printing status.">
        Printing
      </message>

      <!-- Scanning App -->
      <message name="IDS_SCANNING_APP_TITLE" desc="The title of the scanning app.">
        Scan
      </message>
      <message name="IDS_SCANNING_APP_SCANNER_DROPDOWN_LABEL" desc="The label for the dropdown that displays connected scanners.">
        Scanner
      </message>
      <message name="IDS_SCANNING_APP_NO_SCANNERS_HELP_LINK_LABEL" desc="The help label link displayed below the scanner dropdown when no scanners are available.">
        Learn more
      </message>
      <message name="IDS_SCANNING_APP_NO_SCANNERS_HELP_TEXT" desc="The help text displayed below the scanner dropdown when no scanners are available.">
        Can't connect to scanners?
      </message>
      <message name="IDS_SCANNING_APP_NO_SCANNERS_TEXT" desc="The text displayed in the scanner dropdown when no scanners are available.">
        No available scanners
      </message>
      <message name="IDS_SCANNING_APP_SOURCE_DROPDOWN_LABEL" desc="The label for the dropdown that displays available scan sources (e.g. flatbed, document feeder, etc.).">
        Source
      </message>
      <message name="IDS_SCANNING_APP_ONE_SIDED_DOC_FEEDER_OPTION_TEXT" desc="The text displayed for the one-sided document feeder source option.">
        Document Feeder (One-sided)
      </message>
      <message name="IDS_SCANNING_APP_TWO_SIDED_DOC_FEEDER_OPTION_TEXT" desc="The text displayed for the two-sided document feeder source option.">
        Document Feeder (Two-sided)
      </message>
      <message name="IDS_SCANNING_APP_FLATBED_OPTION_TEXT" desc="The text displayed for the flatbed source option.">
        Flatbed
      </message>
      <message name="IDS_SCANNING_APP_FILE_TYPE_DROPDOWN_LABEL" desc="The label for the dropdown that displays available file types.">
        File type
      </message>
      <message name="IDS_SCANNING_APP_JPG_OPTION_TEXT" desc="The text displayed for the JPG file type option.">
        JPG
      </message>
      <message name="IDS_SCANNING_APP_PDF_OPTION_TEXT" desc="The text displayed for the PDF file type option.">
        PDF
      </message>
      <message name="IDS_SCANNING_APP_PNG_OPTION_TEXT" desc="The text displayed for the PNG file type option.">
        PNG
      </message>
      <message name="IDS_SCANNING_APP_COLOR_MODE_DROPDOWN_LABEL" desc="The label for the dropdown that displays available color modes (e.g. color, grayscale, black and white, etc.).">
        Color
      </message>
      <message name="IDS_SCANNING_APP_BLACK_AND_WHITE_OPTION_TEXT" desc="The text displayed for the black and white option in the color mode dropdown.">
        Black and white
      </message>
      <message name="IDS_SCANNING_APP_COLOR_OPTION_TEXT" desc="The text displayed for the color option in the color mode dropdown.">
        Color
      </message>
      <message name="IDS_SCANNING_APP_GRAYSCALE_OPTION_TEXT" desc="The text displayed for the grayscale option in the color mode dropdown.">
        Grayscale
      </message>
      <message name="IDS_SCANNING_APP_PAGE_SIZE_DROPDOWN_LABEL" desc="The label for the dropdown that displays available page sizes.">
        Page size
      </message>
      <message name="IDS_SCANNING_APP_A4_OPTION_TEXT" desc="The text displayed for the A4 option in the page size dropdown.">
        A4
      </message>
      <message name="IDS_SCANNING_APP_LETTER_OPTION_TEXT" desc="The text displayed for the Letter option in the page size dropdown.">
        Letter
      </message>
      <message name="IDS_SCANNING_APP_FIT_TO_SCAN_AREA_OPTION_TEXT" desc="The text displayed for the fit to scan area option in the page size dropdown.">
        Fit to scan area
      </message>
      <message name="IDS_SCANNING_APP_RESOLUTION_DROPDOWN_LABEL" desc="The label for the dropdown that displays available resolutions (e.g. 150 dpi, 300 dpi, etc.).">
        Resolution
      </message>
      <message name="IDS_SCANNING_APP_RESOLUTION_OPTION_TEXT" desc="The text displayed for an option in the resolution dropdown.">
        <ph name="RESOLUTION_VALUE">$1<ex>300</ex></ph> dpi
      </message>
      <message name="IDS_SCANNING_APP_SCAN_TO_DROPDOWN_LABEL" desc="The label for the dropdown that displays the chosen directory to save scans.">
        Scan to
      </message>
      <message name="IDS_SCANNING_APP_MY_FILES_SELECT_OPTION" desc="The text displayed in the Scan To dropdown when the user chooses the local 'My files' folder from the select dialog.">
        My files
      </message>
      <message name="IDS_SCANNING_APP_SELECT_FOLDER_OPTION" desc="The text displayed in the Scan To dropdown option which the user can click to open the select dialog for choosing the folder to save completed scans.">
        Select folder in Files app...
      </message>
      <message name="IDS_SCANNING_APP_SELECT_DIALOG_TITLE" desc="The text used as the title of the select dialog used for choosing the folder to save completed scans.">
        Select a folder to save to
      </message>
      <message name="IDS_SCANNING_APP_MORE_SETTINGS" desc="The text displayed for the button that shows and hides additional settings.">
        More settings
      </message>
      <message name="IDS_SCANNING_APP_SCAN_PREVIEW_HELPER_TEXT" desc="The text displayed in the scan preview that explains how to scan a document.">
        Place your document on the scanner and select Scan to get started
      </message>
      <message name="IDS_SCANNING_APP_SCAN_BUTTON_TEXT" desc="The text displayed for the button that starts a scan.">
        Scan
      </message>
      <message name="IDS_SCANNING_APP_MY_DRIVE" desc="The text displayed in the Scan To dropdown when the user selects to save completed scans to their Google Drive 'My Drive' folder.">
        My Drive
      </message>
      <message name="IDS_SCANNING_APP_DEFAULT_SOURCE_OPTION_TEXT" desc="The text displayed for the default source option.">
        Default
      </message>
      <message name="IDS_SCANNING_APP_SCAN_PREVIEW_PROGRESS_TEXT" desc="The text displayed in the scan preview to indicate which page is currently being scanned.">
        Scanning page <ph name="PAGE_NUMBER">$1<ex>4</ex></ph>
      </message>
      <message name="IDS_SCANNING_APP_FILE_SAVED_TEXT" desc="The text displayed in the Scanning App when a scan job is completed and the file is saved.">
        {COUNT, plural,
        =1 {Your file has been successfully scanned and saved to <ph name="LINK_BEGIN">&lt;a id="folderLink"&gt;</ph><ph name="FOLDER_NAME">$1<ex>My files</ex></ph><ph name="LINK_END">&lt;/a&gt;</ph>.}
        other {Your files have been successfully scanned and saved to <ph name="LINK_BEGIN">&lt;a id="folderLink"&gt;</ph><ph name="FOLDER_NAME">$1<ex>My files</ex></ph><ph name="LINK_END">&lt;/a&gt;</ph>.}}
      </message>
      <message name="IDS_SCANNING_APP_DONE_BUTTON_TEXT" desc="The text displayed for the button the user clicks to return to the intial Scanning App page after a scan job is completed.">
        Done
      </message>
      <message name="IDS_SCANNING_APP_CANCEL_BUTTON_TEXT" desc="The text displayed for the button to cancel an ongoing scan job.">
        Cancel
      </message>
      <message name="IDS_SCANNING_APP_START_SCAN_FAILED_TOAST" desc="The error message displayed when a scan job fails to start.">
        Couldn't start scanning
      </message>
      <message name="IDS_SCANNING_APP_GET_HELP_LINK_TEXT" desc="The text used for the link that navigates to the Scan app help webpage. This is shown to the user after a scanning error.">
        Get help
      </message>
      <message name="IDS_SCANNING_APP_CANCEL_FAILED_TOAST_TEXT" desc="The error message displayed when a user attempts to cancel a scan job but the cancel request fails.">
        Couldn't cancel scanning
      </message>
      <message name="IDS_SCANNING_APP_SCAN_CANCELED_TOAST_TEXT" desc="The message displayed when a scan job is successfully canceled.">
        Scanning has been canceled
      </message>
      <message name="IDS_SCANNING_APP_CANCELING_SCANNING_TEXT" desc="The text displayed in the scan preview to indicate a scan job is being canceled.">
        Canceling scanning
      </message>
      <message name="IDS_SCANNING_APP_FILE_NOT_FOUND_TOAST_TEXT" desc="The message displayed when attempting to open a saved scan file and it is either missing or deleted.">
        File not found
      </message>
      <message name="IDS_SCANNING_APP_SCAN_FAILED_DIALOG_TITLE_TEXT" desc="The text displayed as the title of the dialog shown when a scan job fails.">
        Couldn't complete scanning
      </message>
      <message name="IDS_SCANNING_APP_SCAN_FAILED_DIALOG_BODY_TEXT" desc="The text displayed as the body of the dialog shown when a scan job fails. The text advises the user to make sure their Chromebook has enough space to save files.">
        Check the scanner and try again. Make sure there is enough local space to save scanned files.
      </message>
      <message name="IDS_SCANNING_APP_OK_BUTTON_LABEL" desc="The label for the button to acknowledge and close the dialog shown when a scan job fails.">
        Ok
      </message>
      <message name="IDS_SCANNING_APP_SCANNED_IMAGES_ARIA_LABEL" is_accessibility_with_no_ui="true" desc="The text read by the screen reader to announce a scan job is completed and the total number of pages scanned.">
        {NUMBER_OF_PAGES, plural,
        =1 {Scanning completed. 1 page scanned}
        other {Scanning completed. {NUMBER_OF_PAGES} pages scanned}}
      </message>
      <message name="IDS_SCANNING_APP_SCANNING_IMAGES_ARIA_LABEL" desc="The text read by the screen reader announcing progress updates for an ongoing scan job.">
        Scanning page <ph name="PAGE_NUM">$1<ex>2</ex></ph>. <ph name="PERCENTAGE_VALUE">$2<ex>50</ex></ph>% completed.
      </message>

      <!-- Diagnostics App -->
      <message name="IDS_DIAGNOSTICS_TITLE" desc="The title of the diagnostics app.">
        Diagnostics
      </message>
      <message name="IDS_DIAGNOSTICS_MEMORY_TITLE" desc="The title of the diagnostics memory section which shows users' information about their computer memory.">
        Memory
      </message>
      <message name="IDS_DIAGNOSTICS_BATTERY_TITLE" desc="The title of the diagnostics battery section which shows users' information about their computer battery.">
        Battery
      </message>
      <message name="IDS_DIAGNOSTICS_CPU_TITLE" desc="The title of the diagnostics CPU section which shows users' information about their computer CPU usage.">
        CPU
      </message>
      <message name="IDS_DIAGNOSTICS_CPU_USAGE_LABEL" desc="The label for the percentage of CPU that is currently being used.">
        Current usage
      </message>
      <message name="IDS_DIAGNOSTICS_CPU_USAGE_TEXT" desc="The text displaying the percentage of CPU that is currently being used.">
        <ph name="PERCENTAGE_VALUE">$1<ex>50</ex></ph>%
      </message>
      <message name="IDS_DIAGNOSTICS_CPU_USAGE_SYSTEM_LABEL" desc="The label for the percentage of CPU that is currently being used by the system.">
        System
      </message>
      <message name="IDS_DIAGNOSTICS_CPU_USAGE_USER_LABEL" desc="The label for the percentage of CPU that is currently being used by the user.">
        User
      </message>
      <message name="IDS_DIAGNOSTICS_CPU_TEMPERATURE_LABEL" desc="The label for the current CPU temperature.">
        Temperature
      </message>
      <message name="IDS_DIAGNOSTICS_PERCENTAGE_LABEL" desc="The label displaying localized percentage.">
        <ph name="PERCENTAGE_VALUE">$1<ex>50</ex></ph>%
      </message>
      <message name="IDS_DIAGNOSTICS_CURRENT_NOW_LABEL" desc="The label for a battery's current power consumption represented in milliamps.">
        Current
      </message>
      <message name="IDS_DIAGNOSTICS_CURRENT_NOW_TEXT" desc="The text for a battery's current power consumption represented in milliamps.">
        <ph name="CURRENT_VALUE">$1<ex>1123</ex></ph>mA
      </message>
      <message name="IDS_DIAGNOSTICS_CYCLE_COUNT_LABEL" desc="The label for a battery's cycle count. The cycle count is the number of times the battery has been drained and recharged.">
        Cycle count
      </message>
      <message name="IDS_DIAGNOSTICS_REMAINING_CHARGE_LABEL" desc="The label for the progress bar that displays users' remaining battery charge.">
        Remaining charge
      </message>
      <message name="IDS_DIAGNOSTICS_SESSION_LOG_LABEL" desc="The label for the button that opens the session log for the diagnostics app.">
        Save Session log
      </message>
      <message name="IDS_DIAGNOSTICS_BATTERY_CHIP_TEXT" desc="The text for a battery's full charge capacity represented in milliamp hours.">
        <ph name="CHARGE_VALUE">$1<ex>6000</ex></ph>mAh Battery
      </message>
      <message name="IDS_DIAGNOSTICS_CPU_CHIP_TEXT" desc="The text that displays the CPU name and thread count.">
        <ph name="CPU_NAME">$1<ex>Intel(R) Celeron(R) N4020 CPU @ 1,10Ghz</ex></ph> (<ph name="THREAD_COUNT">$2<ex>8</ex></ph> threads)
      </message>
      <message name="IDS_DIAGNOSTICS_BATTERY_HEALTH_LABEL" desc="The label for a battery's health.">
        Battery health
      </message>
      <message name="IDS_DIAGNOSTICS_BATTERY_HEALTH_TEXT" desc="The text for the battery's health percentage.">
        <ph name="PERCENTAGE_VALUE">$1<ex>92</ex></ph>%
      </message>
      <message name="IDS_DIAGNOSTICS_CPU_SPEED_LABEL" desc="The label for CPU speed.">
        CPU Speed
      </message>
      <message name="IDS_DIAGNOSTICS_CPU_TEMPERATURE_TEXT" desc="The text for the current CPU temperature in Celsius.">
        <ph name="TEMPERATURE_C">$1<ex>25</ex></ph>° C
      </message>
      <message name="IDS_DIANOSTICS_LEARN_MORE_LABEL" desc="The label for the button that links to a help support article to learn more about the test routines being run.">
        Learn more in Help Center
      </message>
      <message name="IDS_DIAGNOSTICS_LEARN_MORE_LABEL_SHORT" desc="The label for the text link that leads to a help support article to learn more about the test routines being run.">
        Learn more
      </message>
      <message name="IDS_DIAGNOSTICS_DEVICE_INFO_TEXT" desc="The text that displays the device's name and milestone version.">
        (<ph name="BOARD_NAME">$1<ex>Atlas</ex></ph>, version <ph name="MILESTONE_VERSION">$2<ex>88</ex></ph>)
      </message>
      <message name="IDS_DIAGNOSTICS_BATTERY_HEALTH_TOOLTIP_TEXT" desc="The tooltip that states that battery capacity declines with usage.">
        Battery capacity declines with usage
      </message>
      <message name="IDS_DIAGNOSTICS_CYCLE_COUNT_TOOLTIP_TEXT" desc="The tooltip that explains that cycle count is the number of times the battery has gone through a full charging cycle.">
        This is the number of times your battery has gone through a full charging cycle
      </message>
      <message name="IDS_DIAGNOSTICS_CURRENT_NOW_TOOLTIP_TEXT" desc="The tooltip that states the current rate at which a user's device is charging or discharging.">
        The rate at which the device is currently charging or discharging
      </message>
      <message name="IDS_DIAGNOSTICS_CPU_USAGE_TOOLTIP_TEXT" desc="The tooltip for CPU usage.">
        This is an aggregation of all cores
      </message>
      <message name="IDS_DIANOSTICS_ROUTINE_NAME_TEXT" desc="The text that informs the user which test is currently running.">
        Running <ph name="TEST_NAME">$1<ex>Charging rate</ex></ph> test...
      </message>
      <message name="IDS_DIAGNOSTICS_BATTERY_CHARGE_ROUTINE_TEXT" desc="The text for the battery charge routine.">
        Charging rate
      </message>
      <message name="IDS_DIAGNOSTICS_BATTERY_DISCHARGE_ROUTINE_TEXT" desc="The text for the battery discharge routine.">
        Discharging rate
      </message>
      <message name="IDS_DIAGNOSTICS_CPU_CACHE_ROUTINE_TEXT" desc="The text for the CPU cache routine.">
        Cache
      </message>
      <message name="IDS_DIAGNOSTICS_CPU_STRESS_ROUTINE_TEXT" desc="The text for the CPU stress routine.">
        Stress
      </message>
      <message name="IDS_DIAGNOSTICS_CPU_FLOATING_POINT_ACCURACY_ROUTINE_TEXT" desc="The text for the CPU floating point accuracy routine.">
        Floating point accuracy
      </message>
      <message name="IDS_DIAGNOSTICS_CPU_PRIME_SEARCH_ROUTINE_TEXT" desc="The text for the CPU prime search routine.">
        Prime search
      </message>
      <message name="IDS_DIAGNOSTICS_MEMORY_ROUTINE_TEXT" desc="The text for the memory routine.">
        Memory
      </message>
      <message name="IDS_CHARGE_TEST_RESULT" desc="The result text for charging routine.">
        Charged <ph name="RATE">$1<ex>10%</ex></ph> in <ph name="NUM_SECONDS">$2<ex>10</ex></ph> seconds.
      </message>
      <message name="IDS_DISCHARGE_TEST_RESULT" desc="The result text for discharging routine.">
        Discharged <ph name="RATE">$1<ex>10%</ex></ph> in <ph name="NUM_SECONDS">$2<ex>10</ex></ph> seconds.
      </message>
      <message name="IDS_DIAGNOSTICS_TEST_FAILURE_TEXT" desc="The text displayed when a test fails.">
        Test failed
      </message>
      <message name="IDS_DIAGNOSTICS_TEST_SUCCESS_TEXT" desc="The text displayed when a test passes.">
        Test succeeded
      </message>
      <message name="IDS_DIAGNOSTICS_TEST_RUNNING_BADGE_TEXT" desc="The text displayed to indicate that a test is running.">
        RUNNING
      </message>
      <message name="IDS_DIAGNOSTICS_TEST_FAILURE_BADGE_TEXT" desc="The text displayed to indicate that a test failed.">
        FAILED
      </message>
      <message name="IDS_DIAGNOSTICS_TEST_SUCCESS_BADGE_TEXT" desc="The text displayed to indicate that a test passed.">
        SUCCESS
      </message>
      <message name="IDS_DIAGNOSTICS_TEST_QUEUED_BADGE_TEXT" desc="The text displayed to indicate that a test is currently queued.">
        QUEUED
      </message>
      <message name="IDS_DIAGNOSTICS_TEST_STOPPED_BADGE_TEXT" desc="The text displayed to indicate that a test has been stopped.">
        STOPPED
      </message>
      <message name="IDS_DIAGNOSTICS_TEST_RUNNING_TEXT" desc="The text displayed while a test is running.">
        Test running
      </message>
      <message name="IDS_DIAGNOSTICS_HIDE_REPORT_TEXT" desc="The text for the button that closes the test summary report.">
        Hide Report
      </message>
      <message name="IDS_DIAGNOSTICS_SEE_REPORT_TEXT" desc="The text for the button that shows the test summary report">
        See Report
      </message>
      <message name="IDS_DIANOSTICS_ROUTINE_ENTRY_TEXT" desc="The text that shows the name of a test.">
        <ph name="TEST_NAME">$1<ex>Stress</ex></ph> Test
      </message>
      <message name="IDS_DIAGNOSTICS_CHARGE_RUN_TESTS_BUTTON_TEXT" desc="The text for the button used to run the battery charge test.">
        Run Charge test
      </message>
      <message name="IDS_DIAGNOSTICS_DISCHARGE_RUN_TESTS_BUTTON_TEXT" desc="The text for the button used to run the battery discharge test.">
        Run Discharge test
      </message>
      <message name="IDS_DIAGNOSTICS_CPU_RUN_TESTS_BUTTON_TEXT" desc="The text for the button used to run the CPU tests.">
        Run CPU test
      </message>
      <message name="IDS_DIAGNOSTICS_MEMORY_RUN_TESTS_BUTTON_TEXT" desc="The text for the button used to run the memory test.">
        Run Memory test
      </message>
      <message name="IDS_DIAGNOSTICS_RUN_AGAIN_BUTTON_TEXT" desc="The text for the button used to rerun a test.">
        Run again
      </message>
      <message name="IDS_DIAGNOSTICS_STOP_TEST_BUTTON_TEXT" desc="The text for the button used to stop a test.">
        Stop test
      </message>
      <message name="IDS_DIAGNOSTICS_CPU_SPEED_TEXT" desc="The text that displays the CPU speed. GHz is an SI unit for gigahertz.">
        <ph name="CURRENT">$1<ex>1.6</ex></ph>GHz / <ph name="MAX">$2<ex>1.9</ex></ph>GHz
      </message>
      <message name="IDS_DIAGNOSTICS_MEMORY_AVAILABLE_TEXT" desc="The text that displays the amount of memory available on a users' device.">
        <ph name="AVAILABLE_MEMORY">$1<ex>13.12</ex></ph> GB of <ph name="TOTAL_MEMORY">$2<ex>16</ex></ph> GB available.
      </message>
      <message name="IDS_DIAGNOSTICS_CANCELLED_TEST_TEXT" desc="The text that displays the test that was cancelled.">
        <ph name="TEST_NAME">$1<ex>Stress</ex></ph> Test has been cancelled
      </message>

      <!-- Quick Answers -->
      <message name="IDS_QUICK_ANSWERS_DEFINITION_TITLE_TEXT" desc="The title text format string used for Quick Answers definition result card. The first placeholder contains the source query text and the second placeholder contains the phonetics.">
        <ph name="QUERY_TEXT">$1<ex>unfathomable</ex></ph> · /<ph name="PHONETICS">$2<ex>ˌənˈfaT͟Həməb(ə)</ex></ph>/
      </message>
      <message name="IDS_QUICK_ANSWERS_RATING_REVIEW_TITLE_TEXT" desc="The title text format string used for Quick Answers rating review result card. The first placeholder contains the average rating score and the second placeholder contains the aggregated count of reviews.">
        <ph name="AVERAGE_SCORE">$1<ex>4.6</ex></ph> ★ (<ph name="AGGREGATED_COUNT">$2<ex>100</ex></ph> reviews)
      </message>
      <message name="IDS_QUICK_ANSWERS_TRANSLATION_TITLE_TEXT" desc="The title text format string used for Quick Answers translation result card. The first placeholder contains the source text in foreign language and the second placeholder contains the detected source language name displayed in system locale.">
        <ph name="QUERY_TEXT">$1<ex>prodotto</ex></ph> · <ph name="SOURCE_LANGUAGE_NAME">$2<ex>Italian</ex></ph>
      </message>

    <!-- Common Network type strings -->
      <message name="IDS_NETWORK_TYPE" desc="Label for network types">
        Type
      </message>
      <message name="IDS_NETWORK_TYPE_ETHERNET" desc="Label for Ethernet networks.">
        Ethernet
      </message>
      <message name="IDS_NETWORK_TYPE_WIFI" desc="Label for WiFi networks.">
        Wi-Fi
      </message>
      <message name="IDS_NETWORK_TYPE_METERED_WIFI" desc="Label for metered Wi-Fi networks (i.e., Wi-Fi networks which have resticted data usage such as a monthly limit).">
        metered Wi-Fi
      </message>
      <message name="IDS_NETWORK_TYPE_BLUETOOTH" desc="Label for Bluetooth networks.">
        Bluetooth
      </message>
      <message name="IDS_NETWORK_TYPE_CELLULAR" desc="Label for Cellular networks.">
        Cellular
      </message>
      <message name="IDS_NETWORK_TYPE_TETHER" desc="Label for Instant Tethering networks.">
        Instant Tethering
      </message>
      <message name="IDS_NETWORK_TYPE_MOBILE_DATA" desc="Label for category which includes both Cellular and Tether networks.">
        Mobile data
      </message>
      <message name="IDS_NETWORK_TYPE_VPN" desc="Label for VPN networks.">
        VPN
      </message>
      <message name="IDS_NETWORK_TYPE_VPN_BUILTIN" desc="The built-in VPN types (Open VPN and L2TP/IPSec).">
        OpenVPN / L2TP
      </message>
      <message name="IDS_NETWORK_TYPE_WIRELESS" desc="Label for wireless networks (Cellular, Tether, and WiFi.).">
        Wireless
      </message>

      <!-- Open Network (ONC)-->
      <message name="IDS_ONC_MAC_ADDRESS" desc="ONC Property label for MacAddress">
        MAC address
      </message>
      <message name="IDS_ONC_NAME" desc="ONC Property label for the network Name (displayed when configuring a VPN service name)">
        Service name
      </message>
      <message name="IDS_ONC_WIFI_SIGNAL_STRENGTH" desc="ONC Property label for WiFi.SignalStrength">
        Signal strength
      </message>
      <message name="IDS_ONC_IPV4_ADDRESS" desc="ONC Property label for ipv4-IPAddress">
        IP address
      </message>
      <message name="IDS_ONC_IPV4_GATEWAY" desc="ONC Property label for ipv4-Gateway">
        Gateway
      </message>
      <message name="IDS_ONC_IPV4_NETMASK" desc="ONC Property label for ipv4-netmask">
        Subnet mask
      </message>
      <message name="IDS_ONC_IPV6_ADDRESS" desc="ONC Property label for ipv6-Address">
        IPv6 address
      </message>
      <message name="IDS_ONC_CONNECTED" desc="Settings > Internet, text in network summary when a network is connected.">
        Connected
      </message>
      <message name="IDS_ONC_CONNECTING" desc="Settings > Internet, text in network summary when a network is connecting.">
        Connecting
      </message>
      <message name="IDS_ONC_PORTAL_STATE" desc="Settings > Internet, label in network details page for the captive portal state.">
        Portal State
      </message>
      <message name="IDS_ONC_PORTAL_STATE_NO_INTERNET" desc="Settings > Internet, text in network details page when no internet connection is avialable.">
        No internet
      </message>
      <message name="IDS_ONC_NOT_CONNECTED" desc="Settings > Internet, text in network summary when a network is not connecting or connected.">
        Not Connected
      </message>
      <message name="IDS_ONC_PORTAL_STATE_PORTAL" desc="Settings > Internet, text in network details page when a portal state was detected.">
        Captive portal detected
      </message>
      <message name="IDS_ONC_PORTAL_STATE_PORTAL_SUSPECTED" desc="Settings > Internet, text in network details page when a portal state is suspected.">
        Captive portal suspected
      </message>
      <message name="IDS_ONC_PORTAL_STATE_PROXY_AUTH" desc="Settings > Internet, text in network details page when a portal state was detected.">
        Proxy authentication required
      </message>
      <message name="IDS_ONC_WIFI_FREQUENCY" desc="ONC Property label for WiFi.Frequency">
        Frequency
      </message>
      <message name="IDS_ONC_WIFI_PASSWORD" desc="ONC Property label for WiFi.Password">
        Password
      </message>
      <message name="IDS_ONC_WIFI_SECURITY" desc="ONC Property label for WiFi.Security">
        Security
      </message>
      <message name="IDS_ONC_WIFI_SECURITY_NONE" desc="In settings > Internet, a string specifying security type = none.">
        None
      </message>
      <message name="IDS_ONC_WIFI_SECURITY_PSK" desc="In settings > Internet, a string specifying security type = PSK (either WPA-PSK or RSN-PSK).">
        PSK (WPA or RSN)
      </message>
      <message name="IDS_ONC_WIFI_SECURITY_WEP" desc="In settings > Internet, a string specifying security type = WEP.">
        WEP
      </message>
      <message name="IDS_ONC_WIFI_SECURITY_EAP" desc="In settings > Internet, a string specifying security type = EAP (802.1X).">
        EAP
      </message>
      <message name="IDS_ONC_WIFI_SSID" desc="ONC Property label for WiFi.SSID">
        SSID
      </message>
      <message name="IDS_ONC_WIFI_BSSID" desc="Settings > Network > Wifi Network Detail Page > label for BSSID property. BSSID is a a unique 48 bit identifier for a wireless access point.">
        BSSID
      </message>
      <message name="IDS_ONC_VPN_HOST" desc="ONC Property label for VPN.Host">
        Server hostname
      </message>
      <message name="IDS_ONC_VPN_TYPE" desc="ONC Property label for VPN.Type">
        Provider type
      </message>
      <message name="IDS_ONC_VPN_IPSEC_GROUP" desc="ONC Property label for VPN.IPSec.Group">
        Group name
      </message>
      <message name="IDS_ONC_VPN_THIRD_PARTY_VPN_PROVIDER_NAME" desc="ONC Property label for VPN.ThirdPartyVPN.ProviderName">
        Provider name
      </message>
      <message name="IDS_ONC_VPN_OPENVPN_OTP" desc="ONC Property label for VPN.OpenVPN.OTP">
        OTP
      </message>
      <message name="IDS_ONC_VPN_TYPE_L2TP_IPSEC" desc="ONC Property label for VPN.Type.L2TP-IPSec">
        L2TP/IPsec
      </message>
      <message name="IDS_ONC_VPN_TYPE_L2TP_IPSEC_PSK" desc="ONC Property label for configuring VPN.Type.L2TP-IPSec with AuthenticationType = PSK">
        L2TP/IPsec + pre-shared key
      </message>
      <message name="IDS_ONC_VPN_TYPE_L2TP_IPSEC_CERT" desc="ONC Property label for configuring VPN.Type.L2TP-IPSec  with AuthenticationType = Cert">
        L2TP/IPsec + user certificate
      </message>
      <message name="IDS_ONC_VPN_OPENVPN_EXTRA_HOSTS" desc="ONC Property label for VPN.OpenVPN.ExtraHosts">
        Extra hosts
      </message>
      <message name="IDS_ONC_VPN_IPSEC_PSK" desc="ONC Property label for VPN.IPSec.PSK">
        Pre-shared key
      </message>
      <message name="IDS_ONC_VPN_PASSWORD" desc="ONC Property label for VPN.OpenVPN.Password or VPN.L2TP.Password">
        Password
      </message>
      <message name="IDS_ONC_VPN_USERNAME" desc="ONC Property label for VPN.OpenVPN.Username or VPN.L2TP.Username">
        Username
      </message>
      <message name="IDS_ONC_VPN_TYPE_OPENVPN" desc="ONC Property label for VPN.Type.OpenVPN">
        Open VPN
      </message>
      <message name="IDS_ONC_VPN_TYPE_ARCVPN" desc="ONC Property label for VPN.Type.ARCVPN">
        Android VPN
      </message>
      <message name="IDS_ONC_CELLULAR_ACTIVATION_STATE" desc="ONC Property label for Cellular.ActivationState">
        Activation status
      </message>
      <message name="IDS_ONC_CELLULAR_ACTIVATION_STATE_NOT_ACTIVATED" desc="ONC Property value when Cellular.ActivationStat = NotActivated">
        Not activated
      </message>
      <message name="IDS_ONC_CELLULAR_ACTIVATION_STATE_ACTIVATED" desc="ONC Property value when Cellular.ActivationState = Activated">
        Activated
      </message>
      <message name="IDS_ONC_CELLULAR_ACTIVATION_STATE_ACTIVATING" desc="ONC Property value when Cellular.ActivationState = Activating">
        Activating
      </message>
      <message name="IDS_ONC_CELLULAR_ACTIVATION_STATE_PARTIALLY_ACTIVATED" desc="ONC Property value when Cellular.ActivationState = PartiallyActivated">
        Partially activated
      </message>
      <message name="IDS_ONC_CELLULAR_ACTIVATION_STATE_NO_SERVICE" desc="ONC Property value when Cellular.ActivationState = NoService">
        No service
      </message>
      <message name="IDS_ONC_CELLULAR_APN_AUTHENTICATION" desc="ONC Property label for APN-Authentication">
        Authentication
      </message>
      <message name="IDS_ONC_CELLULAR_APN_ACCESS_POINT_NAME" desc="ONC Property label for APN-AccessPointName">
        Access point name
      </message>
      <message name="IDS_ONC_CELLULAR_APN_ACCESS_POINT_NAME_NONE" desc="ONC Property label for APN-AccessPointName = none (or empty)">
        None
      </message>
      <message name="IDS_ONC_CELLULAR_APN_USERNAME" desc="ONC Property label for APN-Username">
        Username
      </message>
      <message name="IDS_ONC_CELLULAR_APN_PASSWORD" desc="ONC Property label for APN-Password">
        Password
      </message>
      <message name="IDS_ONC_CELLULAR_SERVING_OPERATOR_NAME" desc="ONC Property label for Cellular.ServingOperator.Name">
        Operator
      </message>
      <message name="IDS_ONC_CELLULAR_SERVING_OPERATOR_CODE" desc="ONC Property label for Cellular.ServingOperator.Code">
        Operator code
      </message>
      <message name="IDS_ONC_CELLULAR_FAMILY" desc="ONC Property label for Cellular.Family">
        Family
      </message>
      <message name="IDS_ONC_CELLULAR_FIRMWARE_REVISION" desc="ONC Property label for Cellular.FirmwareRevision">
        Firmware revision
      </message>
      <message name="IDS_ONC_CELLULAR_HARDWARE_REVISION" desc="ONC Property label for Cellular.HardwareRevision">
        Hardware revision
      </message>
      <message name="IDS_ONC_CELLULAR_HOME_PROVIDER_CODE" desc="ONC Property label for Cellular.HomeProvider.Code">
        Home provider code
      </message>
      <message name="IDS_ONC_CELLULAR_HOME_PROVIDER_COUNTRY" desc="ONC Property label for Cellular.HomeProvider.Country">
        Home provider country
      </message>
      <message name="IDS_ONC_CELLULAR_HOME_PROVIDER_NAME" desc="ONC Property label for Cellular.HomeProvider.Name">
        Home provider name
      </message>
      <message name="IDS_ONC_CELLULAR_MANUFACTURER" desc="ONC Property label for Cellular.Manufacturer">
        Manufacturer
      </message>
      <message name="IDS_ONC_CELLULAR_MODEL_ID" desc="ONC Property label for Cellular.ModelID">
        Model ID
      </message>
      <message name="IDS_ONC_CELLULAR_NETWORK_TECHNOLOGY" desc="ONC Property label for Cellular.NetworkTechnology">
        Technology
      </message>
      <message name="IDS_ONC_CELLULAR_ROAMING_STATE" desc="ONC Property label for Cellular.RoamingState">
        Roaming status
      </message>
      <message name="IDS_ONC_CELLULAR_ROAMING_STATE_HOME" desc="ONC Property value when OncCellular.RoamingState = Home">
        Home network, not roaming
      </message>
      <message name="IDS_ONC_CELLULAR_ROAMING_STATE_ROAMING" desc="ONC Property value when OncCellular.RoamingState = Roaming">
        Roaming
      </message>
      <message name="IDS_ONC_EAP_ANONYMOUS_IDENTITY" desc="ONC Property label for EAP.AnonymousIdentity">
        Anonymous Identity
      </message>
      <message name="IDS_ONC_EAP_IDENTITY" desc="ONC Property label for EAP.Identity">
        Identity
      </message>
      <message name="IDS_ONC_EAP_INNER" desc="ONC Property label for EAP.Inner (Phase 2 authentication)">
        EAP Phase 2 authentication
      </message>
      <message name="IDS_ONC_EAP_INNER_AUTOMATIC" desc="ONC Property value for EAP.Inner = Automatic">
        Automatic
      </message>
      <message name="IDS_ONC_EAP_INNER_MD5" desc="ONC Property value for EAP.Inner = MD5">
        EAP-MD5
      </message>
      <message name="IDS_ONC_EAP_INNER_MSCHAP" desc="ONC Property value for EAP.Inner = MSCHAP">
        MSCHAP
      </message>
      <message name="IDS_ONC_EAP_INNER_MSCHAPV2" desc="ONC Property value for EAP.Inner = MSCHAPv2">
        MSCHAPv2
      </message>
      <message name="IDS_ONC_EAP_INNER_PAP" desc="ONC Property value for EAP.Inner = PAP">
        PAP
      </message>
      <message name="IDS_ONC_EAP_INNER_CHAP" desc="ONC Property value for EAP.Inner = CHAP">
        CHAP
      </message>
      <message name="IDS_ONC_EAP_INNER_GTC" desc="ONC Property value for EAP.Inner = GTC">
        GTC
      </message>
      <message name="IDS_ONC_EAP_OUTER" desc="ONC Property label for EAP.Outer (Method)">
        EAP method
      </message>
      <message name="IDS_ONC_EAP_OUTER_LEAP" desc="ONC Property value for EAP.Outer = LEAP">
        LEAP
      </message>
      <message name="IDS_ONC_EAP_OUTER_PEAP" desc="ONC Property value for EAP.Outer = PEAP">
        PEAP
      </message>
      <message name="IDS_ONC_EAP_OUTER_TLS" desc="ONC Property value for EAP.Outer = TLS">
        EAP-TLS
      </message>
      <message name="IDS_ONC_EAP_OUTER_TTLS" desc="ONC Property value for EAP.Outer = TTLS">
        EAP-TTLS
      </message>
      <message name="IDS_ONC_EAP_SERVER_CA" desc="ONC Property label for EAP Server CA Certificate">
        Server CA certificate
      </message>
      <message name="IDS_ONC_EAP_SUBJECT_MATCH" desc="ONC Property label for EAP.SubjectMatch">
        Subject match
      </message>
      <message name="IDS_ONC_EAP_USER_CERT" desc="ONC Property label for EAP User Certs">
        User certificate
      </message>
      <message name="IDS_ONC_TETHER_BATTERY_PERCENTAGE" desc="Settings > Internet > Title of section which displays the battery percentage of another device which provides a tether hotspot for the current device to connect to.">
        Battery
      </message>
      <message name="IDS_ONC_TETHER_BATTERY_PERCENTAGE_VALUE" desc="Settings > Internet > Text contents of section which displays the battery percentage of another device which provides a tether hotspot for the current device to connect to.">
        <ph name="BATTERY_PERCENTAGE">$1<ex>100</ex></ph>%
      </message>
      <message name="IDS_ONC_TETHER_SIGNAL_STRENGTH" desc="Settings > Internet > Title of section which displays the cellular signal strength of another device which provides a tether hotspot for the current device to connect to. The signal strength is displayed as a string (e.g., Strong)">
        Signal strength
      </message>
      <message name="IDS_ONC_TETHER_SIGNAL_STRENGTH_WEAK" desc="Settings > Internet > Label used to describe the signal strength of a device's cellular connection when the signal is weak. The strength value is 1 on a scale from 1 (min) to 5 (max).">
        Weak
      </message>
      <message name="IDS_ONC_TETHER_SIGNAL_STRENGTH_OKAY" desc="Settings > Internet > Label used to describe the signal strength of a device's cellular connection when the signal is okay. The strength value is 2 on a scale from 1 (min) to 5 (max).">
        Okay
      </message>
      <message name="IDS_ONC_TETHER_SIGNAL_STRENGTH_GOOD" desc="Settings > Internet > Label used to describe the signal strength of a device's cellular connection when the signal is good. The strength value is 3 on a scale from 1 (min) to 5 (max).">
        Fine
      </message>
      <message name="IDS_ONC_TETHER_SIGNAL_STRENGTH_STRONG" desc="Settings > Internet > Label used to describe the signal strength of a device's cellular connection when the signal is strong. The strength value is 4 on a scale from 1 (min) to 5 (max).">
        Strong
      </message>
      <message name="IDS_ONC_TETHER_SIGNAL_STRENGTH_VERY_STRONG" desc="Settings > Internet > Label used to describe the signal strength of a device's cellular connection when the signal is very strong. The strength value is 5 on a scale from 1 (min) to 5 (max).">
        Very strong
      </message>
      <message name="IDS_ONC_TETHER_CARRIER" desc="Settings > Internet > Title of section which displays the name of the cellular provider (e.g., Verizon) of another device which provides a tether hotspot for the current device to connect to. To be clear, the current device does not have cellular service; instead, another device has it and can provide data to the current device via a Wi-Fi hotspot.">
        Cellular provider
      </message>
      <message name="IDS_ONC_TETHER_CARRIER_UNKNOWN" desc="Settings > Internet > Text displayed in the settings UI in place of a cellular provider when the actual name of the provider is unknown. In this context, the cellular provider refers to the carrier which provides mobile data service to another device which can start a tether hotspot to provide a data connection to the current device.">
        Unknown carrier
      </message>

      <!-- Network Health display strings -->
      <message name="IDS_NETWORK_HEALTH_STATE" desc="Label for the current state of a networking device.">
        State
      </message>
      <message name="IDS_NETWORK_HEALTH_STATE_UNINITIALIZED" desc="Network State - Uninitialized. This states is when a network device has not been initialized by the device.">
        Uninitialized
      </message>
      <message name="IDS_NETWORK_HEALTH_STATE_DISABLED" desc="Network State - Disabled. This state is when the network device has been disabled (Turning off WiFi).">
        Disabled
      </message>
      <message name="IDS_NETWORK_HEALTH_STATE_PROHIBITED" desc="Network State - Prohibited. This state represents a network device that has been explicitly disabled by admin policy.">
        Prohibited
      </message>
      <message name="IDS_NETWORK_HEALTH_STATE_NOT_CONNECTED" desc="Network State - Not Connected. This state represents when a device is enabled, but has no active network connection.">
        Not Connected
      </message>
      <message name="IDS_NETWORK_HEALTH_STATE_CONNECTING" desc="Network State - Connecting. This is a transient state when the network device is in the process of connecting to a network.">
        Connecting
      </message>
      <message name="IDS_NETWORK_HEALTH_STATE_PORTAL" desc="Network State - Portal. This state represents a connected network device, but the active network is in a captive portal. (When you login at an airport and need to enter additional information before accessing the internet).">
        Portal
      </message>
      <message name="IDS_NETWORK_HEALTH_STATE_CONNECTED" desc="Network State - Connected. This state is when a network device is connected to network, but cannot access the internet.">
        Connected
      </message>
      <message name="IDS_NETWORK_HEALTH_STATE_ONLINE" desc="Network State - Online. This state is when a network device is connected to a network and can access the internet.">
        Online
      </message>

      <!-- Network / Connectivity Diagnostics -->
      <message name="IDS_CONNECTIVITY_DIAGNOSTICS_TITLE" desc="The label for connectivity diagnostics application that shows potential issues with the network connections">
        Connectivity Diagnostics
      </message>
      <message name="IDS_CONNECTIVITY_DIAGNOSTICS_RERUN_ROUTINES" desc="Label for connectivity diagnostics application rerun routines button">
        Rerun Routines
      </message>
      <message name="IDS_CONNECTIVITY_DIAGNOSTICS_CLOSE" desc="Label for connectivity diagnostics application close button">
        Close
      </message>
      <message name="IDS_CONNECTIVITY_DIAGNOSTICS_SEND_FEEDBACK" desc="Label for connectivity diagnostics application send feedback button">
        Send Feedback
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_LAN_CONNECTIVITY" desc="Label for Network diagnostics `LAN connectivity` test. This test determines if the device is connected to a Local Area Network (LAN)">
        Lan Connectivity
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_SIGNAL_STRENGTH" desc="Label for Network diagnostics `signal strength` test. This test ensures that a WiFi signal is strong enough for a stable connection.">
        Signal Strength
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_GATEWAY_CAN_BE_PINGED" desc="Label for Network diagnostics `gateway can be pinged` test. This test ensures that there is a connection to the network gateway.">
        Gateway can be Pinged
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_HAS_SECURE_WIFI_CONNECTION" desc="Label for Network diagnostics `has secure WiFi connection` test. This test ensures that the WiFi connection is properly secure.">
        Secure WiFi Connection
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_DNS_RESOLVER_PRESENT" desc="Label for Network diagnostics `DNS resolver present` test. This test ensures that the Domain Name Service (DNS) exists.">
        DNS Resolver Present
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_DNS_LATENCY" desc="Label for Network diagnostics `DNS latency` test. This test makes sure the latency between the device and the Domain Name Server (DNS) is acceptable.">
        DNS Latency
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_DNS_RESOLUTION" desc="Label for Network diagnostics `DNS resolution` test. This test ensures that the Domain Name Server (DNS) can resolve network requests.">
        DNS Resolution
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_HTTP_FIREWALL" desc="Label for Network diagnostics `HTTP Firewall` test. This test ensures that the device's firewall can resolve HTTP requests">
        HTTP Firewall
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_HTTPS_FIREWALL" desc="Label for Network diagnostics `HTTPS Firewall` test. This test ensures that the device's firewall can resolve HTTPS requests">
        HTTPS Firewall
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_HTTPS_LATENCY" desc="Label for Network diagnostics `HTTPS Latency` test. This test ensures that the device's https requests have an acceptable amount of latency">
        HTTPS Latency
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_CAPTIVE_PORTAL" desc="Label for Network diagnostics `Captive Portal` test. This test ensures that the device's internet connection is not gated by a captive portal">
        Captive Portal
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_VIDEO_CONFERENCING" desc="Label for Network diagnostics `Video Conferencing` test. This test ensures that the device can communicate with Google's video conferencing servers">
        Video Conferencing
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_PASSED" desc="Label shown when a Network diagnostics routine passed">
        Passed
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_FAILED" desc="Label shown when a Network diagnostics routine failed">
        Failed
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_NOT_RUN" desc="Label shown when a Network diagnostics routine did not run">
        Not Run
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_RUNNING" desc="Label shown when a network diagnostics routine is currently running">
        Running
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_RESULT_PLACEHOLDER" desc="Symbol shown for a network diagnostics routine result that seperates the verdict and problem strings">
        <ph name="VERDICT">$1<ex>Failed</ex></ph>: <ph name="PROBLEMS">$2<ex>Weak signal</ex></ph>
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_RUN" desc="Label for Network diagnostics run routine button">
        Run
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_RUN_ALL" desc="Label for Network diagnostics run all routines button">
        Run All Routines
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_SEND_FEEDBACK" desc="Label for Network diagnostics send feedback report button">
        Send Feedback Report
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_SIGNAL_STRENGTH_PROBLEM_NOT_FOUND" desc="Error message shown when a WiFi signal could not be detected">
        Signal not found
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_SIGNAL_STRENGTH_PROBLEM_WEAK" desc="Error message shown when a only a weak WiFi signal could be detected">
        Weak signal
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_GATEWAY_CAN_BE_PINGED_PROBLEM_UNREACHABLE" desc="Error message shown when a network gateway is not reachable">
        Gateway is unreachable
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_GATEWAY_CAN_BE_PINGED_PROBLEM_PING_DEFAULT_FAILED" desc="Error message shown when the default network gateway cannot be pinged">
        Failed to ping the default network gateway
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_GATEWAY_CAN_BE_PINGED_PROBLEM_DEFAULT_ABOVE_LATENCY" desc="Error message shown when the latency of the default network gateway is too high">
        Default network above latency threshold
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_GATEWAY_CAN_BE_PINGED_PROBLEM_PING_NON_DEFAULT_FAILED" desc="Error message shown when the non-default network gateway cannot be pinged">
        Failed to ping the non-default network gateway
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_GATEWAY_CAN_BE_PINGED_PROBLEM_NON_DEFAULT_ABOVE_LATENCY" desc="Error message shown when the latency of the non-default network gateway is too high">
        Non-default network above latency threshold
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_SECURE_WIFI_PROBLEM_NOT_SECURE" desc="Error message shown when the current WiFi network is not secure">
        WiFi network is not secure
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_SECURE_WIFI_PROBLEM_WEP_8021x" desc="Error message shown when the current WiFi network is secured with the weak protocol WEP 802.1x">
        WiFi network is secured with weak protocol WEP 802.1x
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_SECURE_WIFI_PROBLEM_WEP_PSK" desc="Error message shown when the current WiFi network is secured with the weak protocol WEP PSK">
        WiFi network is secured with weak protocol WEP PSK
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_SECURE_WIFI_PROBLEM_UNKNOWN" desc="Error message shown when the current WiFi network is secured with an unknown protocol">
        Unknown WiFi security protocol
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_DNS_RESOLVER_PROBLEM_NO_NAME_SERVERS" desc="Error message shown when the no domain name servers (DNS) are found">
        No name servers found
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_DNS_RESOLVER_PROBLEM_MALFORMED_NAME_SERVERS" desc="Error message shown when the domain name servers (DNS) are malformed">
        Malformed name servers
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_DNS_RESOLVER_PROBLEM_EMPTY_NAME_SERVERS" desc="Error message shown when the domain name servers (DNS) are empty">
        Empty name servers
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_DNS_LATENCY_PROBLEM_FAILED_TO_RESOLVE_ALL_HOSTS" desc="Error message shown when the domain name servers (DNS) failed to resolve all hosts">
        Failed to resolve all hosts
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_DNS_LATENCY_PROBLEM_SLIGHTLY_ABOVE_THRESHOLD" desc="Error message shown when the latency for the domain name server (DNS) is slightly above an allowable threshold">
        DNS latency slightly above allowable threshold
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_DNS_LATENCY_PROBLEM_SIGNIFICANTLY_ABOVE_THRESHOLD" desc="Error message shown when the latency for the domain name server (DNS) is significantly above an allowable threshold">
        DNS latency significantly above allowable threshold
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_DNS_RESOLUTION_PROBLEM_FAILED_TO_RESOLVE_HOST" desc="Error message shown when the domain name server (DNS) failed to resolve a host">
        Failed to resolve host
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_FIREWALL_PROBLEM_DNS_RESOLUTION_FAILURE_RATE" desc="Error message shown when the domain name server (DNS) has a high failure rate">
        High DNS resolution failure rate
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_FIREWALL_PROBLEM_FIREWALL_DETECTED" desc="Error message shown when a firewall is detected">
        Firewall detected
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_FIREWALL_PROBLEM_FIREWALL_SUSPECTED" desc="Error message shown when a firewall is suspected">
        Firewall suspected
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_HTTPS_LATENCY_PROBLEM_FAILED_DNS_RESOLUTIONS" desc="Error message shown when there are one or more failed DNS resolution">
        Failed DNS resolutions
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_HTTPS_LATENCY_PROBLEM_FAILED_HTTPS_REQUESTS" desc="Error message shown when there are one or more failed HTTPS requests">
        Failed HTTP requests
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_HTTPS_LATENCY_PROBLEM_HIGH_LATENCY" desc="Error message shown when HTTPS requests have a high latency">
        High HTTPS latency
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_HTTPS_LATENCY_PROBLEM_VERY_HIGH_LATENCY" desc="Error message shown when HTTPS requests have a very high latency">
        Very high HTTPS latency
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_CAPTIVE_PORTAL_PROBLEM_NO_ACTIVE_NETWORKS" desc="Error message shown when the device is not actively connected to a network">
        No active networks
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_CAPTIVE_PORTAL_PROBLEM_UNKNOWN_PORTAL_STATE" desc="Error message shown when the network portal state is not available">
        Unknown portal state
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_CAPTIVE_PORTAL_PROBLEM_PORTAL_SUSPECTED" desc="Error message shown when a network portal is suspected, but cannot be fully confirmed">
        Portal suspected
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_CAPTIVE_PORTAL_PROBLEM_PORTAL" desc="Error message shown when a network portal is detected">
        Portal detected
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_CAPTIVE_PORTAL_PROBLEM_PROXY_AUTH_REQUIRED" desc="Error message shown when a network portal requires authentication">
        Proxy authentication required
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_CAPTIVE_PORTAL_PROBLEM_NO_INTERNET" desc="Error message shown when no network portal is detected, but there is no internet connection">
        No internet
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_VIDEO_CONFERENCING_PROBLEM_UPD_FAILURE" desc="Error message shown when there are failed UDP requests to the video conferencing servers">
        UDP request failures
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_VIDEO_CONFERENCING_PROBLEM_TCP_FAILURE" desc="Error message shown when there are failed TCP requests to the video conferencing servers">
        TCP request failures
      </message>
      <message name="IDS_NETWORK_DIAGNOSTICS_VIDEO_CONFERENCING_PROBLEM_MEDIA_FAILURE" desc="Error message shown when a connection cannot be established to the video conferencing media servers">
        Unable to connect to media servers
      </message>
    </messages>
  </release>
</grit>
