<?xml version="1.0" encoding="utf-8"?>
<grit-part>
  <!-- ARC app compatibility mode -->
  <message name="IDS_ASH_ARC_APP_COMPAT_DISABLED_COMPAT_MODE_BUTTON_TOOLTIP_PHONE" desc="Tooltip text that describes the compatibility mode button only supports the phone size">
    This app supports only this size.
  </message>
  <message name="IDS_ASH_ARC_APP_COMPAT_RESIZE_CONFIRM_TITLE" desc="Dialog title that asks user if they want to enable resizing of the ARC application.">
    Allow resizing?
  </message>
  <message name="IDS_ASH_ARC_APP_COMPAT_RESIZE_CONFIRM_BODY" desc="Dialog body that asks user if they want to enable resizing of the ARC application.">
    This app is designed for mobile and may not resize well. The app may experience issues or restart.
  </message>
  <message name="IDS_ASH_ARC_APP_COMPAT_RESIZE_CONFIRM_ACCEPT" desc="Label for button to proceed to enable resizing of the ARC application.">
    Allow
  </message>
  <message name="IDS_ASH_ARC_APP_COMPAT_RESIZE_CONFIRM_DONT_ASK_ME" desc="Label for check box that prevents the dialog from being shown in the future">
    Don’t ask again for this app
  </message>
  <message name="IDS_ASH_ARC_NEARBY_SHARE_FILE_PREPARATION_PROGRESS" desc="Label for progress bar that shows file preparation progress during Nearby Share from the ARC application.">
    Preparing file
  </message>
  <message name="IDS_ASH_ARC_NEARBY_SHARE_FILES_PREPARATION_PROGRESS" desc="Label for progress bar that shows files preparation progress during Nearby Share from the ARC application.">
    Preparing files
  </message>
  <message name="IDS_ASH_ARC_NEARBY_SHARE_ERROR_DIALOG_MESSAGE" desc="Dialog body that tells the user there was an error while sharing text and/or files.">
    Something went wrong while using Nearby Share
  </message>
  <message name="IDS_ASH_ARC_NEARBY_SHARE_LOW_DISK_SPACE_DIALOG_TITLE" desc="Dialog title that tells the user Nearby Share failed due to low disk space.">
    Free up space
  </message>
  <message name="IDS_ASH_ARC_NEARBY_SHARE_LOW_DISK_SPACE_DIALOG_MESSAGE" desc="Dialog body that tells the user Nearby Share failed due to low disk space while sharing a file(s).">
    {NUM_FILES, plural,
      =1 {To send this file using Nearby Share, free up space (<ph name="DISK_SPACE_SIZE">$1<ex>20MB</ex></ph>) on your device}
      other {To send these files using Nearby Share, free up space (<ph name="DISK_SPACE_SIZE">$1<ex>20MB</ex></ph>) on your device}}
  </message>
  <message name="IDS_ASH_ARC_NEARBY_SHARE_LOW_DISK_SPACE_DIALOG_STORAGE_BUTTON" desc="Label for button to acknowledge Nearby Share failed due to low disk space and open the Storage management settings page.">
    Storage management
  </message>
  <message name="IDS_ARC_COMPAT_MODE_RESIZE_TOGGLE_MENU_PHONE" desc="Item in a list of possible sizes for the app. Makes the app in a portrait, phone size.">
    Phone
  </message>
  <message name="IDS_ARC_COMPAT_MODE_RESIZE_TOGGLE_MENU_TABLET" desc="Item in a list of possible sizes for the app. Makes the app bigger and wider in a tablet size.">
    Tablet
  </message>
  <message name="IDS_ARC_COMPAT_MODE_RESIZE_TOGGLE_MENU_RESIZABLE" desc="Item in a list of possible sizes for the app. Makes the app resizable.">
    Resizable
  </message>
  <message name="IDS_ARC_COMPAT_MODE_RESIZE_TOGGLE_MENU_RESIZE_SETTINGS" desc="Label for the button to allow the user to go to resize settings.">
    Settings
  </message>
  <message name="IDS_ARC_COMPAT_MODE_RESIZE_TOGGLE_MENU_TITLE" desc="Title for the menu window that shows predefined resize buttons.">
    Resize toggle menu
  </message>
  <message name="IDS_ARC_COMPAT_MODE_SPLASH_SCREEN_TITLE" desc="A Dialog title of splash screen to advertise the app is designed for mobile.">
    This app is designed for mobile
  </message>
  <message name="IDS_ARC_COMPAT_MODE_SPLASH_SCREEN_BODY" desc="A Dialog body of splash screen to advertise resize-lock feature.">
    <ph name="APP_NAME">$1<ex>Gmail app</ex></ph> may not resize well. Use preset window sizes to prevent the app from experiencing issues.
  </message>
  <message name="IDS_ARC_COMPAT_MODE_SPLASH_SCREEN_BODY_UNRESIZABLE" desc="A dialog body of splash screen to tell users that the app window cannot be resized.">
    This app can't be resized.
  </message>
  <message name="IDS_ARC_COMPAT_MODE_SPLASH_SCREEN_CLOSE" desc="A label of the button for the user to accept and dismiss a splash screen message.">
    Got it
  </message>
  <message name="IDS_ARC_COMPAT_MODE_SPLASH_SCREEN_LINK" desc="Text of link to app settings.">
    Settings
  </message>
  <message name="IDS_ARC_COMPAT_MODE_DISABLE_RESIZE_LOCK_TOAST" desc="Toast message shown to the user when the user makes the app resizable.">
    You can now resize the app
  </message>

  <!-- ARC ghost window -->
  <message name="IDS_ARC_GHOST_WINDOW_APP_LAUNCHING_ICON" desc="The icon of launching app.">
    App icon
  </message>
  <message name="IDS_ARC_GHOST_WINDOW_APP_LAUNCHING_THROBBER" desc="The throbber of launching app.">
    App launching throbber
  </message>
  <message name="IDS_ARC_GHOST_WINDOW_APP_LAUNCHING_MESSAGE" desc="The word of message for indecating app is starting.">
    Starting <ph name="APP_NAME">$1<ex>PlayStore</ex></ph>
  </message>
  <message name="IDS_ARC_GHOST_WINDOW_APP_FIXUP_MESSAGE" desc="A label of message in ARC ghost window, indicating the Android is updating and the app may not start immediately.">
    Updating Android System
    Starting your app may take longer than usual.
  </message>

  <!-- ARC Passpoint approval dialog -->
  <message name="IDS_ASH_ARC_PASSPOINT_APP_APPROVAL_TITLE" desc="Dialog title that asks user to allow an app to set up WiFi networks through Passpoint">
    Allow the <ph name="APP_NAME">$1<ex>OpenRoaming</ex></ph> app to set up WiFi networks?
  </message>
  <message name="IDS_ASH_ARC_PASSPOINT_APP_APPROVAL_BODY" desc="Dialog body that asks user to allow an app to set up WiFi networks through Passpoint.">
    This app is requesting permission to set up new WiFi networks. After setup, your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph> will automatically connect to participating WiFi networks. <ph name="LEARN_MORE">$2<ex>Learn more</ex></ph>
  </message>
  <message name="IDS_ASH_ARC_PASSPOINT_APP_APPROVAL_LEARN_MORE_LABEL" desc="The label for the link that leads to a help support article to learn more about Passpoint.">
    Learn more
  </message>
  <message name="IDS_ASH_ARC_PASSPOINT_APP_APPROVAL_ALLOW_BUTTON" desc="The label for the buton for user to allow an app to set up WiFi networks through Passpoint.">
    Allow
  </message>
  <message name="IDS_ASH_ARC_PASSPOINT_APP_APPROVAL_DONT_ALLOW_BUTTON" desc="The label for the buton for user to disallow an app to set up WiFi networks through Passpoint.">
    Don't allow
  </message>
  <message name="IDS_ARC_VM_DATA_MIGRATION_NOTIFICATION_TITLE" desc="Title of the notification to inform that there is an important update to improve the performance of Android apps on ChromeOS.">
    ChromeOS update for Android apps
  </message>
  <message name="IDS_ARC_VM_DATA_MIGRATION_NOTIFICATION_DAYS_UNTIL_DEADLINE" desc="Message of the notification to inform that an important update to improve the performance of Android apps on ChromeOS needs to be done within specific days.">
    {DAYS_UNTIL_DEADLINE, plural,
      =1 {Update required today}
      =2 {Update required by tomorrow}
      other {Update required within # days}}
  </message>
  <message name="IDS_ARC_VM_DATA_MIGRATION_NOTIFICATION_ACCEPT_BUTTON_LABEL" desc="Label of a notification button to accept an important update to improve the performance of Android apps on ChromeOS.">
    Update now
  </message>
  <message name="IDS_ARC_VM_DATA_MIGRATION_DIALOG_TITLE" desc="Text to inform that Chrome tabs and apps will be closed when an update to improve the performance of Android apps on ChromeOS is started. The text is displayed as the title of a dialog.">
    Your Chrome tabs and apps will close when the update starts
  </message>
  <message name="IDS_ARC_VM_DATA_MIGRATION_DIALOG_SAVE_WORK_MESSAGE" desc="Text to ask the user to save their work before starting an update to improve the performance of Android apps on ChromeOS.">
    Please save your work and start the update when you're ready.
  </message>
  <message name="IDS_ARC_VM_DATA_MIGRATION_DIALOG_DAYS_UNTIL_DEADLINE" desc="Text to inform that an update to improve the performance of Android apps on ChromeOS needs to be done within the specified days.">
    {DAYS_UNTIL_DEADLINE, plural,
      =1 {Update required now}
      =2 {Update required by tomorrow}
      other {Update required within # days}}
  </message>
  <message name="IDS_ARC_VM_DATA_MIGRATION_DIALOG_UPDATE_NOW_BUTTON_LABEL" desc="Label of a button in the dialog to start an update to improve the performance of Android apps on ChromeOS. This label is used when the update does not need to happen right now and can be skipped.">
    Start update now
  </message>
  <message name="IDS_ARC_VM_DATA_MIGRATION_DIALOG_SKIP_BUTTON_LABEL" desc="Label of a button in the dialog to skip an update to improve the performance of Android apps on ChromeOS.">
    Remind me later
  </message>
  <message name="IDS_ARC_VM_DATA_MIGRATION_DIALOG_UPDATE_BUTTON_LABEL" desc="Label of a button in the dialog to start an update to improve the performance of Android apps on ChromeOS. This label is used when the update needs to happen right now and there is no skip button.">
    Start update
  </message>
  <message name="IDS_ARC_VM_DATA_MIGRATION_LOADING_SCREEN_MESSAGE" desc="Loading message for screen to update Android for better performance.">
    Loading...
  </message>
  <message name="IDS_ARC_VM_DATA_MIGRATION_WELCOME_SCREEN_TITLE" desc="Title of the initial screen of the update flow to improve the performance of Android apps on ChromeOS.">
    Critical Android performance update
  </message>
  <message name="IDS_ARC_VM_DATA_MIGRATION_WHAT_TO_EXPECT_TITLE" desc="Header of the description to explain what is expected by an update to improve the performance of Android apps on Chrome.">
    What to expect
  </message>
  <message name="IDS_ARC_VM_DATA_MIGRATION_UPDATE_DESCRIPTION" desc="Description to explain that it is an important update to improve the performance of Android apps on ChromeOS.">
    This is a critical update that improves performance of Android apps on ChromeOS.
  </message>
  <message name="IDS_ARC_VM_DATA_MIGRATION_BLOCKING_BEHAVIOR_DESCRIPTION" desc="Description to explain that the device will be unusable during the update process to improve the performance of Android apps on ChromeOS.">
    During the update you will not be able to use your device for up to 10 minutes.
  </message>
  <message name="IDS_ARC_VM_DATA_MIGRATION_CONNECT_TO_CHARGER_MESSAGE" desc="Message to ask to connect the device to a charger during the update process to improve the performance of Android apps on Chrome.">
    Please keep your device connected to a charger during the update.
  </message>
  <message name="IDS_ARC_VM_DATA_MIGRATION_NOT_ENOUGH_FREE_DISK_SPACE_MESSAGE" desc="Message to inform that there is not enough free disk space on the device for an update to improve the performance of Android apps on ChromeOS.">
    Free up more than <ph name="REQUIRED_FREE_DISK_SPACE">$1<ex>1.0 GB</ex></ph> of space
  </message>
  <message name="IDS_ARC_VM_DATA_MIGRATION_NOT_ENOUGH_BATTERY_MESSAGE" desc="Message to inform that there is not enough battery on the device to start an update to improve the performance of Android apps on ChromeOS.">
    Your battery must be charged above <ph name="REQUIRED_BATTERY_PRECENT">$1<ex>30</ex></ph>%
  </message>
  <message name="IDS_ARC_VM_DATA_MIGRATION_SCREEN_UPDATE_BUTTON_LABEL" desc="Label of a button to proceed to the actual update process to improve the performance of Android apps on ChromeOS.">
    Next
  </message>
  <message name="IDS_ARC_VM_DATA_MIGRATION_SCREEN_SKIP_BUTTON_LABEL" desc="Label of a button to skip an update to improve the performance of Android apps on ChromeOS and goes back to the login screen.">
    Remind me later
  </message>
  <message name="IDS_ARC_VM_DATA_MIGRATION_RESUME_SCREEN_TITLE" desc="Title of the screen to resume the update flow to improve the performance of Android apps on ChromeOS. The screen is shown when the update has been previusly stopped halfway.">
    Resume update
  </message>
  <message name="IDS_ARC_VM_DATA_MIGRATION_RESUME_DESCRIPTION" desc="Description to explain that the resume screen is shown because the device was interrupted during the previous update process.">
    Your device was interrupted during the update process.
  </message>
  <message name="IDS_ARC_VM_DATA_MIGRATION_SCREEN_RESUME_BUTTON_LABEL" desc="Label of a button to resume an update to improve the performance of Android apps on ChromeOS.">
    Resume
  </message>
  <message name="IDS_ARC_VM_DATA_MIGRATION_PROGRESS_SCREEN_TITLE" desc="Title of the screen to resume show the progress of an update to improve the performance of Android apps on ChromeOS.">
    Installing updates
  </message>
  <message name="IDS_ARC_VM_DATA_MIGRATION_PROGRESS_DESCRIPTION" desc="Text to inform the progress of an update to improve the performance of Android apps on ChromeOS. The information is provided in terms of 1) how many percent of the process has completed and 2) how long it is expected to finish the remaining part of update.">
    <ph name="PROGRESS_PERCENT">$1<ex>30</ex></ph>% completed | <ph name="ESTIMATED_REMAINING_TIME">$2<ex>3 mins left</ex></ph>
  </message>
  <message name="IDS_ARC_VM_DATA_MIGRATION_SUCCESS_SCREEN_TITLE" desc="Title of the screen which is shown when an update to improve the performance of Android apps on ChromeOS successfully finishes.">
    Finished updating!
  </message>
  <message name="IDS_ARC_VM_DATA_MIGRATION_SCREEN_FINISH_BUTTON_LABEL" desc="Label of a button to finish an update to improve the performance of Android apps on ChromeOS. The device is rebooted after the button is pressed.">
    Reboot
  </message>
  <message name="IDS_ARC_VM_DATA_MIGRATION_FAILURE_SCREEN_TITLE" desc="Title of the screen which is shown when an update to improve the performance of Android apps on ChromeOS failed.">
    Update finished with errors
  </message>
  <message name="IDS_ARC_VM_DATA_MIGRATION_FAILURE_DESCRIPTION" desc="Description about the expectation after an update failure. The system has been updated and the performance of Android apps has been improved, but files and local app data have lost. Android apps will be downloaded and installed again automatically after a reboot.">
    Your system was updated but some of your apps and files could not be recovered. Your apps will be downloaded again automatically.
  </message>
  <message name="IDS_ARC_VM_DATA_MIGRATION_SEND_FEEDBACK_MESSAGE" desc="Message to ask to send a feedback report after an update to improve the performance of Android apps on ChromeOS failed.">
    Please send a report so we can improve further ChromeOS updates.
  </message>
  <message name="IDS_ARC_VM_DATA_MIGRATION_SCREEN_REPORT_BUTTON_LABEL" desc="Label of a button to send a feedback report after an update to improve the performance of Android apps on ChromeOS failed.">
    Send a report
  </message>
</grit-part>
