<?xml version="1.0" encoding="utf-8"?>
<!-- Profiles specific strings (included from generated_resources.grd). -->
<grit-part>
  <!-- Supervised User (Legacy and Accounts for Kids) Avatar Menu -->
  <message name="IDS_LEGACY_SUPERVISED_USER_INFO" desc="Text which explains that a supervised user is managed by a custodian.">
    Usage and history can be reviewed by the manager (<ph name="CUSTODIAN_EMAIL">$1<ex>Jane.Doe@gmail.com</ex></ph>) on chrome.com.
  </message>
  <message name="IDS_CHILD_INFO_ONE_CUSTODIAN" desc="Text which explains that a child user is managed by a single parent.">
    This is an account for kids managed by <ph name="CUSTODIAN_EMAIL">$1<ex>Jane.Doe@gmail.com</ex></ph>.
  </message>
  <message name="IDS_CHILD_INFO_TWO_CUSTODIANS" desc="Text which explains that a child user is managed by two parents.">
    This is an account for kids managed by <ph name="CUSTODIAN_EMAIL">$1<ex>John.Doe@gmail.com</ex></ph> and <ph name="SECOND_CUSTODIAN_EMAIL">$2<ex>Jane.Doe@gmail.com</ex></ph>.
  </message>
  <message name="IDS_LEGACY_SUPERVISED_USER_AVATAR_LABEL" desc="A label for the supervised user which is used in the avatar menu and as a label in the titlebar.">
    Supervised user
  </message>
  <message name="IDS_GENERIC_USER_AVATAR_LABEL" desc="Label shown for the user that is currently active, when there are multiple user accounts.">
    Current user
  </message>
  <message name="IDS_INCOGNITO_BUBBLE_ACCESSIBLE_TITLE" desc="Accessible title of the avatar menu, opened in incognito mode.">
    Incognito
  </message>
  <message name="IDS_AVATAR_BUTTON_INCOGNITO" desc="Short label for the avatar button when the user is in incognito mode and the number of open incognito windows if there are more than one incognito window open. [ICU Syntax]" meaning="This window is browsing in incognito mode and there are more than one incognito windows open. The counter is not shown when there is only one incognito window open.">
    {0, plural,
      =1 {Incognito}
      other {Incognito (#)}
    }
  </message>
  <message name="IDS_AVATAR_BUTTON_INCOGNITO_TOOLTIP" desc="Tooltip for the inactive avatar button when the user is in incognito mode.">
    You're incognito
  </message>
  <message name="IDS_AVATAR_BUTTON_SYNC_ERROR" desc="Short label for the avatar button when there are sync errors for the current profile." meaning="An error has occurred during sync">
    Error
  </message>
  <message name="IDS_AVATAR_BUTTON_SYNC_ERROR_TOOLTIP" desc="Tooltip for the avatar button when there are sync errors for the current profile.">
    <ph name="PROFILE_NAME">$1<ex>User</ex></ph>: Sync isn't working
  </message>
  <message name="IDS_AVATAR_BUTTON_SYNC_PAUSED" desc="Short label for the avatar button when sync is paused for the current profile." meaning="Sync is paused">
    Paused
  </message>
  <message name="IDS_AVATAR_BUTTON_SYNC_PAUSED_TOOLTIP" desc="Tooltip for the avatar button when sync is paused for the current profile.">
    <ph name="PROFILE_NAME">$1<ex>User</ex></ph>: Sync paused
  </message>
  <message name="IDS_LEGACY_SUPERVISED_USER_NEW_AVATAR_LABEL" desc="Label shown in the new avatar menu for a supervised user.">
    <ph name="PROFILE_DISPLAY_NAME">$1<ex>Markus</ex></ph> (Supervised)
  </message>
  <message name="IDS_CHILD_AVATAR_LABEL" desc="Label shown in the new avatar menu for a child user.">
    <ph name="PROFILE_DISPLAY_NAME">$1<ex>Markus</ex></ph> (Account for kids)
  </message>

  <!-- Supervised User Block Interstitial data -->
   <message name="IDS_BLOCK_INTERSTITIAL_DEFAULT_FEEDBACK_TEXT" desc="The default text for feedback about a blocked site.">
    <ph name="REASON">$1<ex>It may have mature content.</ex></ph>
    I don't think this site should be blocked!
  </message>

  <!-- Multi-profile -->
  <message name="IDS_PROFILES_OPTIONS_GROUP_NAME" desc="The name of the sync group in the options dialog when using the new Profiles UI.">
    People
  </message>
  <if expr="is_macosx">
    <message name="IDS_PROFILES_CREATE_NEW_PROFILE_OPTION" desc="In Title Case. Create new profile menu item and button title.">
      Add Person...
    </message>
  </if>
  <message name="IDS_PROFILES_PROFILE_BUBBLE_ACCESSIBLE_TITLE" desc="Accessible title of the avatar menu bubble.">
    Accounts and sync
  </message>
  <message name="IDS_PROFILES_PROFILE_SIGNOUT_BUTTON" desc="Button in the avatar menu bubble view to sign-out the current profile.">
    Exit and childlock
  </message>
  <message name="IDS_PROFILES_EXIT_PROFILE_BUTTON" desc="Button in the avatar menu bubble view to close all windows of the current profile when there is more than one profile.">
    Exit <ph name="PROFILE_NAME">$1<ex>User</ex></ph>
  </message>
  <message name="IDS_PROFILES_GAIA_SIGNIN_TITLE" desc="Title of the account removal view in the avatar menu bubble.">
    Sign in
  </message>
  <message name="IDS_PROFILES_ACCOUNT_REMOVAL_TITLE" desc="Title of the account removal view in the avatar menu bubble.">
    Remove account
  </message>
  <message name="IDS_PROFILES_SYNC_COMPLETE_TITLE" desc="Title of the profile card when sync is complete.">
    Syncing to
  </message>
  <message name="IDS_PROFILES_DICE_SIGNIN_BUTTON" desc="Button in the profile user menu to sign in and turn on Sync.">
    Turn on sync...
  </message>
  <message name="IDS_PROFILES_DICE_NOT_SYNCING_TITLE" desc="Title of the sync promo account card in the user menu.">
    Sync is off
  </message>
  <message name="IDS_PROFILES_DICE_SIGNIN_FIRST_ACCOUNT_BUTTON" desc="Button to sign in and turn on Sync for a specific web account.">
    Sync as <ph name="ACCOUNT_FULL_NAME">$1<ex>John Doe</ex></ph>
  </message>
  <message name="IDS_PROFILES_DICE_SIGNIN_FIRST_ACCOUNT_BUTTON_NO_NAME" desc="Button to sign in and turn on Sync for a web account when the name is empty.">
    Sync to your account
  </message>
  <message name="IDS_PROFILES_DICE_SYNC_DISABLED_TITLE" desc="Title of the profile user menu when sync is disabled.">
    Sync disabled
  </message>
   <message name="IDS_PROFILES_DICE_SYNC_PAUSED_TITLE" desc="Title of the profile user menu when sync is paused.">
    Sync is paused
  </message>
  <message name="IDS_PROFILES_EXIT_GUEST" desc="Button in the avatar menu bubble view for exiting the active guest session.">
    Exit Guest
  </message>
  <message name="IDS_PROFILES_SIGNIN_PROMO" desc="Text describing the benefits of signing in.">
    Sign in to get your bookmarks, history, passwords, and other settings on all your devices.
  </message>
  <message name="IDS_PROFILES_PASSWORDS_LINK" desc="Text of the menu item leading to the list of saved passwords.">
    Passwords
  </message>
  <message name="IDS_PROFILES_CREDIT_CARDS_LINK" desc="Text of the menu item leading to the list of saved credit cards.">
    Payment methods
  </message>
  <message name="IDS_PROFILES_ADDRESSES_LINK" desc="Text of the menu item leading to the list of autofill addresses.">
    Addresses and more
  </message>
  <if expr="not use_titlecase">
    <message name="IDS_PROFILES_DICE_SIGNIN_WITH_ANOTHER_ACCOUNT_BUTTON" desc="Button to sign in and turn on Sync with another web account.">
      Sync to another account
    </message>
    <message name="IDS_PROFILES_DICE_USE_ANOTHER_ACCOUNT_BUTTON" desc="Button to use another account to sign in and turn on Sync.">
      Use another account
    </message>
    <message name="IDS_PROFILES_PROFILE_MANAGE_ACCOUNTS_BUTTON" desc="Button in the avatar menu bubble view used to manage accounts for a profile.">
      Your accounts
    </message>
    <message name="IDS_PROFILES_PROFILE_HIDE_MANAGE_ACCOUNTS_BUTTON" desc="Button in the avatar menu bubble view used to hide the accounts for a profile.">
      Hide accounts
    </message>
    <message name="IDS_PROFILES_MANAGE_USERS_BUTTON" desc="Button in the avatar menu bubble view for launching the user manager.">
      Manage people
    </message>
    <message name="IDS_PROFILES_OPEN_GUEST_PROFILE_BUTTON" desc="Button in the avatar menu bubble view to open a guest window.">
      Open Guest window
    </message>
    <message name="IDS_PROFILES_CLOSE_ALL_WINDOWS_BUTTON" desc="Button in the avatar menu bubble view to close all windows of the current profile.">
      Close all your windows
    </message>
  </if>
  <if expr="use_titlecase">
    <message name="IDS_PROFILES_DICE_SIGNIN_WITH_ANOTHER_ACCOUNT_BUTTON" desc="Button to sign in and turn on Sync with another web account.">
      Sync to Another Account
    </message>
    <message name="IDS_PROFILES_DICE_USE_ANOTHER_ACCOUNT_BUTTON" desc="Button to use another account to sign in and turn on Sync.">
      Use Another Account
    </message>
    <message name="IDS_PROFILES_PROFILE_MANAGE_ACCOUNTS_BUTTON" desc="Button in the avatar menu bubble view used to manage accounts for a profile.">
      Your Accounts
    </message>
    <message name="IDS_PROFILES_PROFILE_HIDE_MANAGE_ACCOUNTS_BUTTON" desc="Button in the avatar menu bubble view used to hide the accounts for a profile.">
      Hide Accounts
    </message>
    <message name="IDS_PROFILES_MANAGE_USERS_BUTTON" desc="Button in the avatar menu bubble view for launching the user manager.">
      Manage People
    </message>
    <message name="IDS_PROFILES_OPEN_GUEST_PROFILE_BUTTON" desc="Button in the avatar menu bubble view to open a guest window.">
      Open Guest Window
    </message>
    <message name="IDS_PROFILES_CLOSE_ALL_WINDOWS_BUTTON" desc="Button in the avatar menu bubble view to close all windows of the current profile.">
      Close All Your Windows
    </message>
  </if>
  <message name="IDS_PROFILES_EDIT_PROFILE_ACCESSIBLE_NAME" desc="Description of the Edit Profile button. This is used for accessibility.">
    Edit person, <ph name="PROFILE_NAME">$1<ex>Jane Doe</ex></ph>
  </message>
  <message name="IDS_PROFILES_EDIT_SIGNED_IN_PROFILE_ACCESSIBLE_NAME" desc="Description of the Edit Profile button for a signed-in profile. This is used for accessibility.">
    Edit person, <ph name="PROFILE_NAME">$1<ex>Jane Doe</ex></ph>, <ph name="USERNAME">$2<ex>jane.doe@gmail.com</ex></ph>
  </message>
  <message name="IDS_PROFILES_GUEST_PROFILE_NAME" desc="Name of the guest profile.">
    Guest
  </message>
  <message name="IDS_DEFAULT_PROFILE_NAME" desc="The default name given to a profile. Displayed in wrench menu and settings UI.">
    First user
  </message>
  <message name="IDS_LEGACY_DEFAULT_PROFILE_NAME" desc="The legacy default name given to a new profile.">
    Default Profile
  </message>
  <message name="IDS_NUMBERED_PROFILE_NAME" desc="The name given to a newly created profile. Displayed in wrench menu and settings UI.">
    User <ph name="VALUE">$1<ex>1</ex></ph>
  </message>
  <message name="IDS_NEW_NUMBERED_PROFILE_NAME" desc="The name given to a newly created profile. Displayed in wrench menu and settings UI using the --new-profile-management flag.">
    Person <ph name="VALUE">$1<ex>1</ex></ph>
  </message>
  <message name="IDS_SINGLE_PROFILE_DISPLAY_NAME" desc="The name displayed by the avatar button if only one profile exists.">
    You
  </message>
  <message name="IDS_GUEST_PROFILE_NAME" desc="The name given to the guest
  browsing profile. Displayed in the avatar menu bubble and button UI.">
    Guest
  </message>

  <message name="IDS_DEFAULT_AVATAR_NAME_8" desc="The default name given to a newly created profile with the female spy avatar.">
    Agent X
  </message>
  <message name="IDS_DEFAULT_AVATAR_NAME_9" desc="The default name given to a newly created profile with the male hero avatar.">
    Spandex
  </message>
  <message name="IDS_DEFAULT_AVATAR_NAME_10" desc="The default name given to a newly created profile with the female athlete avatar.">
    Mia
  </message>
  <message name="IDS_DEFAULT_AVATAR_NAME_11" desc="The default name given to a newly created profile with the male businessman avatar.">
    Buttondown
  </message>
  <message name="IDS_DEFAULT_AVATAR_NAME_12" desc="The default name given to a newly created profile with the ninja avatar.">
    Sneaky
  </message>
  <message name="IDS_DEFAULT_AVATAR_NAME_13" desc="The default name given to a newly created profile with the alien avatar.">
    Moonbeam
  </message>
  <message name="IDS_DEFAULT_AVATAR_NAME_14" desc="The default name given to a newly created profile with the awesome face avatar.">
    Awesome
  </message>
  <message name="IDS_DEFAULT_AVATAR_NAME_15" desc="The default name given to a newly created profile with the flower avatar.">
    Petals
  </message>
  <message name="IDS_DEFAULT_AVATAR_NAME_16" desc="The default name given to a newly created profile with the pizza avatar.">
    Slice
  </message>
  <message name="IDS_DEFAULT_AVATAR_NAME_17" desc="The default name given to a newly created profile with the soccer ball avatar.">
    Fritz
  </message>
  <message name="IDS_DEFAULT_AVATAR_NAME_18" desc="The default name given to a newly created profile with the hamburger avatar.">
    Pickles
  </message>
  <message name="IDS_DEFAULT_AVATAR_NAME_19" desc="The default name given to a newly created profile with the cat avatar.">
    Fluffy
  </message>
  <message name="IDS_DEFAULT_AVATAR_NAME_20" desc="The default name given to a newly created profile with the cupcake avatar.">
    Sweetness
  </message>
  <message name="IDS_DEFAULT_AVATAR_NAME_21" desc="The default name given to a newly created profile with the dog avatar.">
    Sparky
  </message>
  <message name="IDS_DEFAULT_AVATAR_NAME_22" desc="The default name given to a newly created profile with the horse avatar.">
    Saratoga
  </message>
  <message name="IDS_DEFAULT_AVATAR_NAME_23" desc="The default name given to a newly created profile with the martini glass avatar.">
    Lemonade
  </message>
  <message name="IDS_DEFAULT_AVATAR_NAME_24" desc="The default name given to a newly created profile with the musical notes avatar.">
    Bluesy
  </message>
  <message name="IDS_DEFAULT_AVATAR_NAME_25" desc="The default name given to a newly created profile with the sun and cloud avatar.">
    Shady
  </message>
  <message name="IDS_DEFAULT_AVATAR_NAME_26" desc="The default name given to a newly created profile with the default placeholder avatar.">
    Shadow
  </message>

  <message name="IDS_DEFAULT_AVATAR_LABEL_0" desc="The label for the default white avatar.">
    Default white avatar
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_1" desc="The label for the default teal avatar.">
    Default teal avatar
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_2" desc="The label for the default blue avatar.">
    Default blue avatar
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_3" desc="The label for the default green avatar.">
    Default green avatar
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_4" desc="The label for the default orange avatar.">
    Default orange avatar
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_5" desc="The label for the default purple avatar.">
    Default purple avatar
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_6" desc="The label for the default red avatar.">
    Default red avatar
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_7" desc="The label for the default yellow avatar.">
    Default yellow avatar
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_8" desc="The label for the the female spy avatar.">
    Spy
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_9" desc="The label for the male hero avatar.">
    Hero
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_10" desc="The label for the female athlete avatar.">
    Athlete
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_11" desc="The label for the male businessman avatar.">
    Businessman
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_12" desc="The label for the ninja avatar.">
    Ninja
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_13" desc="The label for the alien avatar.">
    Alien
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_14" desc="The label for the awesome face avatar.">
    Awesome face
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_15" desc="The label for the flower avatar.">
    Yellow and white flower
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_16" desc="The label for the pizza avatar.">
    Pizza slice
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_17" desc="The label for the soccer ball avatar.">
    Soccer ball
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_18" desc="The label for the hamburger avatar.">
    Hamburger
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_19" desc="The label for the cat avatar.">
    Cat
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_20" desc="The label for the cupcake avatar.">
    Cupcake
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_21" desc="The label for the dog avatar.">
    Dog
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_22" desc="The label for the horse avatar.">
    Horse
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_23" desc="The label for the martini glass avatar.">
    Martini glass
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_24" desc="The label for the musical notes avatar.">
    Music note
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_25" desc="The label for the sun and cloud avatar.">
    Sun and clouds
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_27" desc="The label for the cat avatar.">
    Cat
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_28" desc="The label for the corgi avatar.">
    Corgi
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_29" desc="The label for the dragon avatar.">
    Dragon
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_30" desc="The label for the elephant avatar.">
    Elephant
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_31" desc="The label for the fox avatar.">
    Fox
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_32" desc="The label for the monkey avatar.">
    Monkey
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_33" desc="The label for the panda avatar.">
    Panda
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_34" desc="The label for the penguin avatar.">
    Penguin
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_35" desc="The label for the butterfly avatar.">
    Butterfly
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_36" desc="The label for the rabbit avatar.">
    Rabbit
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_37" desc="The label for the unicorn avatar.">
    Unicorn
  </message>

  <message name="IDS_PROFILES_LOCAL_PROFILE_STATE" desc="This is displayed underneath the profile name for profiles that are not signed in to sync.">
    Not signed in
  </message>
  <message name="IDS_PROFILES_CREATE_BUTTON_LABEL" desc="The label that appears on the profile create button in the options dialog to allow a user to create a new profile.">
    Add person...
  </message>
  <message name="IDS_PROFILES_MANAGE_BUTTON_LABEL" desc="The label that appears on the profile manage button in the options dialog to allow a user to manage their profile.">
    Edit...
  </message>
  <message name="IDS_PROFILES_DEFAULT_NAME" desc="The name to display for a profile when the user is not signed in.">
    Default
  </message>
  <message name="IDS_SYNC_LOGIN_NAME_PROHIBITED" desc="The error message shown when the user tries to sign in to sync using a name that is not allowed by the admin policy">
    Signing in with this username has been disabled by your administrator.
  </message>
  <message name="IDS_SUPERVISED_USER_NOT_ALLOWED_BY_POLICY" desc="The error message shown when the user tries to use the supervised user profile when it's disabled by policy">
    Supervised users have been disabled by your administrator.
  </message>
  <message name="IDS_OLD_PROFILES_DISABLED_TITLE" desc="The title of the error page shown when the user tries to use an old profile that is disabled by policy">
    Can't use this profile
  </message>
  <message name="IDS_OLD_PROFILES_DISABLED_MESSAGE" desc="The error message shown when the user tries to use an old profile that is disabled by policy">
    Your administrator has made a system-wide change that disables some old profiles.
  </message>
  <message name="IDS_OLD_PROFILES_DISABLED_ADD_PERSON_SUGGESTION" desc="The suggestion that tells the user to create a new profile when the user tries to use an old profile that is disabled by policy">
    To continue, click OK, then click Add Person to create a new profile for your email address.
  </message>
  <message name="IDS_OLD_PROFILES_DISABLED_ADD_PERSON_SUGGESTION_WITH_DOMAIN" desc="The suggestion that tells the user to create a new profile with the domain when the user tries to use an old profile that is disabled by policy">
    To continue, click OK, then click Add Person to create a new profile for your <ph name="DOMAIN">$1<ex>example.com</ex></ph> email address.
  </message>
  <message name="IDS_OLD_PROFILES_DISABLED_REMOVED_OLD_PROFILE" desc="The suggestion that tells the user to delete old profile when the user tries to use an old profile that is disabled by policy">
    Although you can no longer access your old profile, you can still remove it.
  </message>
  <if expr="is_android">
    <message name="IDS_SYNC_USER_NAME_IN_USE_ERROR" desc="Mobile: An error message shown when a user tries to sign in to sync using a user name that's already in use by another profile.">
      This account is already being used on this device.
    </message>
  </if>
  <if expr="not is_android">
    <message name="IDS_SYNC_USER_NAME_IN_USE_ERROR" desc="An error message shown when a user tries to sign in to sync using a user name that's already in use by another profile.">
      This account is already being used on this computer.
    </message>
    <message name="IDS_SYNC_USER_NAME_IN_USE_BY_ERROR" desc="An error message shown when a user tries to sign in to sync using a user name that's already in use by another profile. This error message includes the avatar name of the existing duplicate profile and only appears in the signin error tab modal dialog.">
      This account is already being used on this computer by <ph name="AVATAR_NAME">$1<ex>Jane</ex></ph>.
    </message>
  </if>

  <!-- Android does not support multiple profiles and supervised users -->
  <if expr="not is_android">
    <!-- Create Profile Dialog -->
    <message name="IDS_PROFILES_CREATE_TITLE" desc="Title of the create profile dialog">
      Add person
    </message>
    <message name="IDS_PROFILES_CREATE_LOCAL_ERROR" desc="Message shown when a local error (for example, a disk error) occurs during profile creation.">
      The new user couldn't be created. Please check your hard drive space and permissions and try again.
    </message>
    <message name="IDS_PROFILES_CREATE_DESKTOP_SHORTCUT_LABEL" desc="Label for the checkbox that controls whether a desktop shortcut should be created for the new profile.">
      Create a desktop shortcut for this user
    </message>
    <message name="IDS_PROFILES_CREATE_SUPERVISED_JUST_SIGNED_IN" desc="Warning message shown in the create-profile dialog when the custodian signed in recently, sync has not yet finished initializing, and so the creation process is likely to take extra time.">
      Creating your supervised user. This may take a few moments.
    </message>

    <!-- Import existing supervised user dialog -->
    <message name="IDS_IMPORT_EXISTING_LEGACY_SUPERVISED_USER_TITLE" desc="Title for the dialog used to import existing supervised users. The dialog appears when the custodian clicks on 'Import existing supervised user' during the user creation flow. The dialog displays a list of existing supervised users for the custodian to choose from">
      Import an existing supervised user
    </message>
    <message name="IDS_IMPORT_EXISTING_LEGACY_SUPERVISED_USER_TEXT" desc="Text that instructs the user to choose one of the displayed supervised users to import to this device.">
      Choose a supervised user to add to this device.
    </message>
    <message name="IDS_CREATE_NEW_LEGACY_SUPERVISED_USER_LINK" desc="The text for the link button that takes the user back from the dialog for importing an existing supervised user to the user creation dialog.">
      Create a new supervised user
    </message>
    <message name="IDS_IMPORT_EXISTING_LEGACY_SUPERVISED_USER_OK" desc="Text on the button to confirm importing an existing supervised user.">
      Import supervised user
    </message>
  </if>

  <if expr="not is_android">
    <!-- User manager web UI -->
    <if expr="use_titlecase">
      <message name="IDS_ADD_USER_BUTTON" desc="Text shown on an add user button on login/locker screen">
        Add Person
      </message>
      <if expr="not chromeos">
        <message name="IDS_LOGIN_POD_USER_REMOVE_WARNING_BUTTON" desc="Text shown on a button that confirms removal of a user.">
          Remove This Person
        </message>
        <message name="IDS_CREATE_LEGACY_SUPERVISED_USER_MENU_LABEL" desc="Text shown on a menu option that creates a legacy supervised user.">
          Add Supervised Person
        </message>
      </if>
      <if expr="chromeos">
        <message name="IDS_LOGIN_POD_USER_REMOVE_WARNING_BUTTON" desc="Text shown on a button that confirms removal of a user.">
          Remove This User
        </message>
        <message name="IDS_CREATE_LEGACY_SUPERVISED_USER_MENU_LABEL" desc="Text shown on a menu option that creates a legacy supervised user.">
          Add Supervised User
        </message>
      </if>
      <message name="IDS_SCREEN_LOCK_SIGN_OUT">
        Sign out
      </message>
    </if>
    <if expr="not use_titlecase">
      <message name="IDS_ADD_USER_BUTTON" desc="Text shown on an add user button on login/locker screen">
        Add person
      </message>
      <if expr="not chromeos">
        <message name="IDS_LOGIN_POD_USER_REMOVE_WARNING_BUTTON" desc="Text shown on a button that confirms removal of a user.">
          Remove this person
        </message>
        <message name="IDS_CREATE_LEGACY_SUPERVISED_USER_MENU_LABEL" desc="Text shown on a menu option that creates a legacy supervised user.">
          Add supervised person
        </message>
      </if>
      <if expr="chromeos">
        <message name="IDS_LOGIN_POD_USER_REMOVE_WARNING_BUTTON" desc="Text shown on a button that confirms removal of a user.">
          Remove this user
        </message>
        <message name="IDS_CREATE_LEGACY_SUPERVISED_USER_MENU_LABEL" desc="Text shown on a menu option that creates a legacy supervised user.">
          Add supervised user
        </message>
      </if>
      <message name="IDS_SCREEN_LOCK_SIGN_OUT">
        Sign out
      </message>
    </if>
    <if expr="chromeos">
      <message name="IDS_LAUNCH_APP_BUTTON" desc="Text shown on the button that launches kiosk app from Chrome OS login UI">
        Launch app
      </message>
    </if>
    <message name="IDS_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_MORE_OPTIONS_BUTTON" desc="Text read but not shown on the [...] button on login screen">
      More Options
    </message>
    <message name="IDS_SCREEN_LOCK_ACTIVE_USER">
      Currently signed in
    </message>
    <if expr="chromeos">
      <message name="IDS_PIN_KEYBOARD_HINT_TEXT_PIN" desc="Text to display in the pin field for user pod when no pin has been entered.">
        PIN
      </message>
      <message name="IDS_PIN_KEYBOARD_HINT_TEXT_PIN_PASSWORD" desc="Text to display in the pin field for user pod when no pin has been entered, and passwords are allowed.">
        PIN or password
      </message>
      <message name="IDS_PIN_KEYBOARD_DELETE_ACCESSIBLE_NAME" desc="Text to be spoken when the focus is set to the delete button of the PIN keyboard.">
        Delete
      </message>
      <message name="IDS_FINGERPRINT_HINT_TEXT" desc="Text to display in the password field for user pod when user moves his mouse over the fingerprint icon.">
        Touch to sign in
      </message>
      <message name="IDS_FINGERPRINT_LOGIN_TEXT" desc="Text to display in the password field for user pod when user is trying to login with fingerprint.">
        Signing in...
      </message>
      <message name="IDS_FINGERPRINT_LOGIN_FAILED_TEXT" desc="Text to display in the password field for user pod when user failed to login with fingerprint.">
        Not recognized
      </message>
      <message name="IDS_FINGERPRINT_ICON_MESSAGE" desc="Message to display when user moves his mouse over the fingerprint icon in the user pod.">
        Place your finger on the fingerprint sensor to unlock the device.
      </message>
      <message name="IDS_LOGIN_ERROR_FINGERPRINT_MAX_ATTEMPT" desc="Couldn't sign in because fingerprint unlock has reached maximum attempt">
        Sorry, your fingerprint is still not recognized. Please enter your password.
      </message>
    </if>
    <message name="IDS_LOGIN_ERROR_AUTHENTICATING" desc="Couldn't sign in because password is invalid">
      Sorry, your password could not be verified. Please try again.
    </message>
    <message name="IDS_LOGIN_ERROR_AUTHENTICATING_OFFLINE" desc="Couldn't unlock because the password can't be validated locally and the user is offline">
      Sorry, your password could not be verified because you are offline.
    </message>
    <message name="IDS_LOGIN_POD_EMPTY_PASSWORD_TEXT" desc="Text to display in the password field for user pod when no password has been entered.">
      Password
    </message>
    <message name="IDS_LOGIN_POD_SIGNING_IN" desc="Text to display at the bottom of a user pod during signing in the user. The translation should be as short as possible because of limited UI space.">
      Signing in
    </message>
    <message name="IDS_LOGIN_POD_PASSWORD_FIELD_ACCESSIBLE_NAME" desc="Text to be spoken when the focus is set to the password field of a user pod on the sign-in screen.">
      Password for <ph name="USER_EMAIL_ADDRESS">$1<ex>john.doe@example.com</ex></ph>
    </message>
    <message name="IDS_LOGIN_POD_SUBMIT_BUTTON_ACCESSIBLE_NAME" desc="Text to be spoken when the focus is set to the submit button of a user pod on the sign-in screen.">
      Submit
    </message>
    <message name="IDS_LOGIN_POD_MENU_BUTTON_ACCESSIBLE_NAME" desc="Text to be spoken when the focus is set to the menu button of the user pod on the login screen.">
      Options menu for <ph name="USER_EMAIL_ADDRESS">$1<ex>john.doe@example.com</ex></ph>
    </message>
    <message name="IDS_LOGIN_POD_MENU_REMOVE_ITEM_ACCESSIBLE_NAME" desc="Text to be spoken when 'Remove user' item is selected on the pod menu.">
      Remove this user
    </message>
    <message name="IDS_LOGIN_POD_LEGACY_SUPERVISED_USER_REMOVE_WARNING" desc="Text shown as a warning when attempting to remove legacy supervised user.">
      All files and local data associated with the supervised user will be permanently deleted once this supervised user is removed. Visited websites and settings for this supervised user may still be visible by the manager at <ph name="MANAGEMENT_URL">$1<ex>www.example.com</ex></ph>.
    </message>
    <message name="IDS_LOGIN_POD_NON_OWNER_USER_REMOVE_WARNING" desc="Text shown as a warning when attempting to remove non-owner user.">
      All files and local data associated with this user will be permanently deleted once this user is removed. <ph name="USER_EMAIL">$1<ex>john.doe@example.com</ex></ph> can still sign in later.
    </message>
    <if expr="not chromeos">
      <message name="IDS_USER_MANAGER_GO_GUEST_PROFILES_LOCKED_ERROR" desc="Error message displayed when trying to browser as guest while all profiles are locked.">
        Please unlock your profile before browsing as a guest.
      </message>
      <message name="IDS_USER_MANAGER_REMOVE_PROFILE_PROFILES_LOCKED_ERROR" desc="Error message displayed when trying to remove a profile while all profiles are locked.">
        Please unlock your profile before removing a person.
      </message>
      <message name="IDS_USER_MANAGER_ADD_PROFILE_PROFILES_LOCKED_ERROR" desc="Error message displayed when trying to add a profile while all profiles are locked.">
        Please unlock your profile before adding a person.
      </message>
      <message name="IDS_USER_MANAGER_PROMPT_MESSAGE" desc="Prompt message displayed on UserManager when force-sign-in policy is enabled.">
        To use Chrome, please sign in
      </message>
      <message name="IDS_LOGIN_POD_USER_REMOVE_WARNING_NONSYNC" desc="Main text shown as a warning when attempting to remove an user.">
        This will permanently delete your browsing data from this device.
      </message>
      <message name="IDS_LOGIN_POD_USER_REMOVE_WARNING_HISTORY" desc="The title of a statistic (browsing history) shown inside a table below the warning text when attempting to remove an user. A number is displayed next to it.">
        Browsing history
      </message>
      <message name="IDS_LOGIN_POD_USER_REMOVE_WARNING_PASSWORDS" desc="The title of a statistic (passwords) shown inside a table below the warning text when attempting to remove an user. A number is displayed next to it.">
        Passwords
      </message>
      <message name="IDS_LOGIN_POD_USER_REMOVE_WARNING_BOOKMARKS" desc="The title of a statistic (bookmarks) shown inside a table below the warning text when attempting to remove an user. A number is displayed next to it.">
        Bookmarks
      </message>
      <message name="IDS_LOGIN_POD_USER_REMOVE_WARNING_AUTOFILL" desc="The title of a statistic (autofill) shown inside a table below the warning text when attempting to remove an user. A number is displayed next to it.">
        Autofill form data
      </message>
      <message name="IDS_LOGIN_POD_USER_REMOVE_WARNING_CALCULATING" desc="This is used in '...' of the warning message 'This will permanently delete ... items from the device.', which is shown when attempting to remove an user. Also shown next to the loading statistics below this warning. All occurrences of '...' will be eventually replaced by numbers when the statistics are loaded.">
        ...
      </message>
    </if>

    <!-- User manager tutorial -->
    <message name="IDS_USER_MANAGER_TUTORIAL_NEXT" desc="Text of the button that advances the tutorial to the next slide">
      Next
    </message>
    <message name="IDS_USER_MANAGER_TUTORIAL_DONE" desc="The text of the OK button on the last tutorial slide">
      OK, got it
    </message>
    <message name="IDS_USER_MANAGER_TUTORIAL_SLIDE_GUEST_TITLE" desc="Title of the guest user slide">
      Share with guests
    </message>
    <message name="IDS_USER_MANAGER_TUTORIAL_SLIDE_FRIENDS_TITLE" desc="Title of the friends and family slide">
      Add family and friends
    </message>
    <message name="IDS_USER_MANAGER_TUTORIAL_SLIDE_OUTRO_TITLE" desc="Title of the tutorial completion slide">
      You're almost done!
    </message>
    <message name="IDS_USER_MANAGER_TUTORIAL_SLIDE_OUTRO_USER_NOT_FOUND" desc="Text of the label asking the user if they see their name">
      Don't see your name?
    </message>
  </if>
</grit-part>
