<?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. The message also shows the number of open incognito windows if they are more than one. [ICU Syntax]">
      {0, plural,
        =1 {Incognito}
        other {# open incognito windows}
      }
  </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_ERROR_PASSWORDS_TOOLTIP" desc="Tooltip for the avatar button when there are sync errors for the current profile affecting passwords sync specifically.">
    <ph name="PROFILE_NAME">$1<ex>User</ex></ph>: Password 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_OPEN_SYNC_SETTINGS_BUTTON" desc="Button in the profile menu to open sync settings when sync is on.">
    Sync is on
  </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_CLOSE_X_WINDOWS_BUTTON" desc="Button in the profile menu to close all windows of the current profile. This is not used for zero windows.">
    {0, plural,
    =1 {Close # window}
    other {Close # windows}
    }
  </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_OTHER_PROFILES_TITLE" desc="Title in the profile menu of the 'other profiles' section.">
      Other people
    </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>
  </if>
  <if expr="use_titlecase">
    <message name="IDS_PROFILES_OTHER_PROFILES_TITLE" desc="Title in the profile menu of the 'other profiles' section.">
      Other People
    </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>
  </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_DEFAULT_AVATAR_LABEL_38" desc="The label for the basketball avatar.">
    Basketball
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_39" desc="The label for the bike avatar.">
    Bike
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_40" desc="The label for the bird avatar.">
    Bird
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_41" desc="The label for the cheese avatar.">
    Cheese
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_42" desc="The label for the football avatar.">
    Football
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_43" desc="The label for the ramen avatar.">
    Ramen
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_44" desc="The label for the sunglasses avatar.">
    Sunglasses
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_45" desc="The label for the sushi avatar.">
    Sushi
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_46" desc="The label for the tamagotchi avatar.">
    Tamagotchi
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_47" desc="The label for the vinyl avatar.">
    Vinyl
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_48" desc="The label for the avocado avatar.">
    Avocado
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_49" desc="The label for the cappuccino avatar.">
    Cappuccino
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_50" desc="The label for the icecream avatar.">
    Icecream
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_51" desc="The label for the icewater avatar.">
    Icewater
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_52" desc="The label for the melon avatar.">
    Melon
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_53" desc="The label for the onigiri avatar.">
    Onigiri
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_54" desc="The label for the pizza avatar.">
    Pizza
  </message>
  <message name="IDS_DEFAULT_AVATAR_LABEL_55" desc="The label for the sandwich avatar.">
    Sandwich
  </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_NAME_PLACEHOLDER" desc="Name placeholder in the input field of the create profile dialog.">
      Name
    </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>
