<?xml version="1.0" encoding="utf-8"?>
<grit-part>

  <message name="IDS_POLICY_DM_STATUS_SUCCESS" desc="Message indicating a successful device management server call.">
    Request succeeded
  </message>
  <message name="IDS_POLICY_DM_STATUS_REQUEST_INVALID" desc="Message indicating a bad request to the enterprise server.">
    Invalid request or request parameters
  </message>
  <message name="IDS_POLICY_DM_STATUS_REQUEST_FAILED" desc="Message indicating the request to the enterprise server failed in the network.">
    Network error
  </message>
  <message name="IDS_POLICY_DM_STATUS_TEMPORARY_UNAVAILABLE" desc="Message indicating a temporary problem on the enterprise server.">
    Temporary server error
  </message>
  <message name="IDS_POLICY_DM_STATUS_HTTP_STATUS_ERROR" desc="Message indicating an abnormal response code from the enterprise server.">
    HTTP error
  </message>
  <message name="IDS_POLICY_DM_STATUS_RESPONSE_DECODING_ERROR" desc="Message indicating a problem decoding a response from the enterprise server.">
    Failed to decode response
  </message>
  <message name="IDS_POLICY_DM_STATUS_SERVICE_MANAGEMENT_NOT_SUPPORTED" desc="Message indicating that enterprise management is not applicable to the user/device.">
    Management not supported
  </message>
  <message name="IDS_POLICY_DM_STATUS_SERVICE_DEVICE_NOT_FOUND" desc="Message indicating the enterprise server is missing a device record.">
    Missing device record
  </message>
  <message name="IDS_POLICY_DM_STATUS_SERVICE_MANAGEMENT_TOKEN_INVALID" desc="Message indicating the token used to authenticate to the enterprise server is invalid.">
    Invalid device management token
  </message>
  <message name="IDS_POLICY_DM_STATUS_SERVICE_ACTIVATION_PENDING" desc="Message indicating enterprise management must first be activated for this user/device.">
    Activation is pending on the server
  </message>
  <message name="IDS_POLICY_DM_STATUS_SERVICE_INVALID_SERIAL_NUMBER" desc="Message indicating the provided device serial number is invalid.">
    Device serial number is invalid
  </message>
  <message name="IDS_POLICY_DM_STATUS_SERVICE_DEVICE_ID_CONFLICT" desc="Message indicating the chosen device identifier is already used.">
    Conflicting device identifier
  </message>
  <message name="IDS_POLICY_DM_STATUS_SERVICE_MISSING_LICENSES" desc="Message indicating the enterprise server doesn't have enough licenses to allow management.">
    Licenses exhausted
  </message>
  <message name="IDS_POLICY_DM_STATUS_SERVICE_DEPROVISIONED" desc="Message indicating the administrator has deprovisioned this client on the server.">
    Deprovisioned
  </message>
  <message name="IDS_POLICY_DM_STATUS_SERVICE_POLICY_NOT_FOUND" desc="Message indicating that the enterprise server failed to find the policy to be applied to the device.">
    Policy not found
  </message>
  <message name="IDS_POLICY_DM_STATUS_UNKNOWN_ERROR" desc="Message indicating an unknown error from the enterprise server.">
    Unknown error
  </message>
  <message name="IDS_POLICY_DM_STATUS_INVALID_PACKAGED_DEVICE_FOR_KIOSK" desc="Message to show when the user tries to enroll a device with a packaged license into Kiosk.">
    This is a bundled device and can not be enrolled with Kiosk and Signage Upgrade.
  </message>
  <message name="IDS_POLICY_DM_STATUS_SERVICE_DOMAIN_MISMATCH" desc="Message indicating this client cannot be registered with the specified domain.">
    Domain mismatch
  </message>
  <message name="IDS_POLICY_DM_STATUS_CANNOT_SIGN_REQUEST" desc="Message indicating a failure to sign a request.">
    Request could not be signed
  </message>
  <message name="IDS_POLICY_DM_STATUS_REQUEST_TOO_LARGE" desc="Message indicating a request to enterprise server is too large.">
    Request is too large
  </message>
  <message name="IDS_POLICY_DM_STATUS_SERVICE_TOO_MANY_REQUESTS" desc="Message indicating the enterprise server receives too many requests in a short time period.">
    Too many requests
  </message>
  <message name="IDS_POLICY_DM_STATUS_SERVICE_DEVICE_NEEDS_RESET" desc="Message indicating that the device should be reset.">
    Device reset required
  </message>
  <message name="IDS_POLICY_DM_STATUS_CONSUMER_ACCOUNT_WITH_PACKAGED_LICENSE" desc="Message to show when the user tries to enroll a device with a packaged license using a consumer account.">
    Can't enroll with consumer account (packaged license available).
  </message>
  <message name="IDS_POLICY_DM_STATUS_ENTERPRISE_ACCOUNT_IS_NOT_ELIGIBLE_TO_ENROLL" desc="Message to show when the user tries to enroll a device with an ineligible enterprise account.">
    Can't enroll with enterprise account (enterprise account is not eligible).
  </message>
  <message name="IDS_POLICY_VALIDATION_OK" desc="Message indicating successful policy validation.">
    Validation successful
  </message>
  <message name="IDS_POLICY_VALIDATION_BAD_INITIAL_SIGNATURE" desc="Message indicating a bad signature on policy validation using the initial key.">
    Bad initial signature
  </message>
  <message name="IDS_POLICY_VALIDATION_BAD_SIGNATURE" desc="Message indicating a bad signature on policy validation.">
    Bad signature
  </message>
  <message name="IDS_POLICY_VALIDATION_ERROR_CODE_PRESENT" desc="Message indicating policy validation failure due to an error code in the policy.">
    Error code present in the policy response
  </message>
  <message name="IDS_POLICY_VALIDATION_PAYLOAD_PARSE_ERROR" desc="Message indicating a policy parse error during policy validation.">
    Error parsing policy
  </message>
  <message name="IDS_POLICY_VALIDATION_WRONG_POLICY_TYPE" desc="Message indicating the policy did not have the expected type.">
    Wrong policy type
  </message>
  <message name="IDS_POLICY_VALIDATION_WRONG_SETTINGS_ENTITY_ID" desc="Message indicating the policy did not have the expected entity identifier.">
    Wrong entity identifier
  </message>
  <message name="IDS_POLICY_VALIDATION_BAD_TIMESTAMP" desc="Message indicating the policy timestamp is bad.">
    Bad policy timestamp
  </message>
  <message name="IDS_POLICY_VALIDATION_BAD_DM_TOKEN" desc="Message indicating the policy token is empty or different from the one expected.">
    Returned policy token is empty or doesn't match current token
  </message>
  <message name="IDS_POLICY_VALIDATION_BAD_DEVICE_ID" desc="Message indicating the policy device id is empty or different from the one expected.">
    Returned policy device id is empty or doesn't match current device id
  </message>
  <message name="IDS_POLICY_VALIDATION_BAD_USER" desc="Message indicating policy validation failed due to bad user/domain id.">
    Wrong policy subject
  </message>
  <message name="IDS_POLICY_VALIDATION_POLICY_PARSE_ERROR" desc="Message indicating a parse error in policy.">
    Error parsing policy settings
  </message>
  <message name="IDS_POLICY_VALIDATION_BAD_KEY_VERIFICATION_SIGNATURE" desc="Message indicating a policy key had an invalid verification signature.">
    Bad verification signature
  </message>
  <message name="IDS_POLICY_VALIDATION_VALUE_WARNING" desc="Message indicating the policy value validation succeeded with non-fatal warnings.">
    Validation of policy values has raised warnings
  </message>
  <message name="IDS_POLICY_VALIDATION_VALUE_ERROR" desc="Message indicating the policy value validation failed with fatal errors.">
    Validation of policy values has failed with errors
  </message>
  <message name="IDS_POLICY_VALIDATION_UNKNOWN_ERROR" desc="Message indicating unknown error in policy validation.">
    Unknown error
  </message>

  <message name="IDS_POLICY_STORE_STATUS_OK" desc="Message indicating a healthy policy store.">
    Policy cache OK
  </message>
  <message name="IDS_POLICY_STORE_STATUS_LOAD_ERROR" desc="Message indicating a failure to load policy.">
    Failed to load policy settings
  </message>
  <message name="IDS_POLICY_STORE_STATUS_STORE_ERROR" desc="Message indicating a failure to store policy.">
    Failed to store policy settings
  </message>
  <message name="IDS_POLICY_STORE_STATUS_PARSE_ERROR" desc="Message indicating a parse error on loading policy.">
    Policy parse error
  </message>
  <message name="IDS_POLICY_STORE_STATUS_SERIALIZE_ERROR" desc="Message indicating an error preparing policy for storage.">
    Serialization error
  </message>
  <message name="IDS_POLICY_STORE_STATUS_VALIDATION_ERROR" desc="Message indicating policy validation on store/load failed.">
    Validation error: <ph name="VALIDATION_ERROR">$1<ex>Bad signature</ex></ph>
  </message>
  <message name="IDS_POLICY_STORE_STATUS_BAD_STATE" desc="Message indicating policy cannot be stored/loaded due to the backend being in bad state.">
    Backing store in bad state
  </message>
  <message name="IDS_POLICY_STORE_STATUS_UNKNOWN_ERROR" desc="Message indicating an unknown error with the policy cache.">
    Unknown error
  </message>

  <message name="IDS_POLICY_ASSOCIATION_STATE_ACTIVE" desc="Message indicating that the server actively manages the client.">
    Active
  </message>
  <message name="IDS_POLICY_ASSOCIATION_STATE_UNMANAGED" desc="Message indicating that the server is currently not willing to manage this client.">
    Unmanaged
  </message>
  <message name="IDS_POLICY_ASSOCIATION_STATE_DEPROVISIONED" desc="Message indicating that the server has deprovisioned the client.">
    Deprovisioned
  </message>

  <message name="IDS_POLICY_TYPE_ERROR" desc="The text displayed in the status column when a policy value has the wrong type.">
    Expected <ph name="VALUE_TYPE">$1<ex>boolean</ex></ph> value.
  </message>
  <message name="IDS_POLICY_OUT_OF_RANGE_ERROR" desc="The text displayed in the status column when a policy value is out of range.">
    Value is out of range <ph name="VALUE">$1<ex>10</ex></ph>.
  </message>
  <message name="IDS_POLICY_VALUE_FORMAT_ERROR" desc="The text displayed in the status column when a policy value doesn't match the expected format.">
    Value doesn't match format.
  </message>
  <message name="IDS_POLICY_INVALID_FILE_EXTENSION_ERROR" desc="The text displayed in the status column when the file extension is invalid.">
    File extension is empty or malformed.
  </message>
  <message name="IDS_POLICY_INVALID_HASH_ERROR" desc="The text displayed in the status column when the hash string is not of type SHA-256.">
    Hash must be of format SHA-256.
  </message>
  <message name="IDS_POLICY_INVALID_SELECTION_ERROR" desc="The text displayed in the status column when the policy value is not in a list of selectable modes.">
    The inserted <ph name="VALUE_NAME">$1<ex>paper size</ex></ph> couldn't be found.
  </message>
  <message name="IDS_POLICY_PAPER_SIZE_CUSTOM_NO_SIZE_ERROR" desc="The text displayed in the status column when the paper size name is 'custom' but the property 'custom_size' is empty or invalid.">
    Found paper size name "custom", but the "custom_size" property is empty or invalid.
  </message>
  <message name="IDS_POLICY_PAPER_SIZE_NOT_CUSTOM_ERROR" desc="The text displayed in the status column when the property 'custom_size' is set but property 'name' is not set to 'custom'.">
    The property "custom_size" is set, expected name to be "custom".
  </message>
  <message name="IDS_POLICY_INVALID_ACCOUNT_PATTERN_FORMAT_ERROR" desc="The text displayed in the status column for the policy RestrictAccountsToPatterns when the inserted value is not a list of patterns.">
    Invalid format: Expected a list of patterns.
  </message>
  <message name="IDS_POLICY_INVALID_PROTOCOL_ERROR" desc="The text displayed in the status column for the policy AutoLaunchProtocolsFromOrigins when the protocol format is invalid">
    Invalid protocol format.
  </message>
  <message name="IDS_POLICY_INVALID_ORIGIN_ERROR" desc="The text displayed in the status column for the policy AutoLaunchProtocolsFromOrigins when the origin format is invalid">
    Invalid origin format.
  </message>
  <message name="IDS_POLICY_EMPTY_ORIGIN_LIST_ERROR" desc="The text displayed in the status column for the policy AutoLaunchProtocolsFromOrigins when the origin list is empty">
    Origin list is empty.
  </message>
  <if expr="chromeos_ash">
    <message name="IDS_POLICY_DUPLICATE_FILE_EXTENSION_ERROR" desc="The text displayed in the status column for the policy DefaultHandlersForFileExtensions when a file extension is assigned to more than one handler.">
      Duplicate handlers for file_extension "<ph name="FILE_EXTENSION">$1<ex>txt</ex></ph>" referenced by apps "<ph name="POLICY_IDS_LIST">$2<ex>https://google.com/maps, pnomlkjighijklmnopabcdefghijklff</ex></ph>".
    </message>
  </if>
  <message name="IDS_POLICY_INVALID_EXTENSION_ID_ERROR" desc="The text displayed in the status column when the extension ID doesn't match the expected format.">
    Invalid extension ID.
  </message>
  <message name="IDS_POLICY_INVALID_UPDATE_URL_ERROR" desc="The text displayed in the status column when the extension update url is invalid or uses an unsupported scheme.">
    Update URL for extension with ID "<ph name="EXTENSION_ID">$1<ex>abcdefghijklmnopabcdefghijklmnop</ex></ph>" is invalid or uses an unsupported scheme. Supported schemes are: <ph name="HTTP_SCHEME">http</ph>, <ph name="HTTPS_SCHEME">https</ph> and <ph name="FILE_SCHEME">file</ph>.
  </message>
  <message name="IDS_POLICY_URL_PATH_SPECIFIED_ERROR" desc="The text displayed in the status column when a path is specified for an URL, which is not supported">
    The URL pattern "<ph name="URL_PATTERN">$1<ex>*://example.com/</ex></ph>" has a path specified. Paths are not supported for this key, please remove the path and try again. e.g. *://example.com/ => *://example.com",
  </message>
  <message name="IDS_POLICY_MISSING_VENDOR_ID_ERROR" desc="The text displayed in the status column for the policy WebUsbAllowDevicesForUrls when an entry has specified a 'product_id' without a the 'vendor_id'">
    The attribute "vendor_id" must also be specified.
  </message>
  <message name="IDS_POLICY_INVALID_NUMBER_OF_URLS_ERROR" desc="The text displayed in the status column for the policy WebUsbAllowDevicesForUrls when an entry has either 0 or more than 2 URLs">
    Each urls string entry must contain between 1 to 2 URLs.
  </message>
  <message name="IDS_POLICY_BRUSCHETTA_UNINSTALLABLE_ERROR" desc="The text displayed in the status column when a VM config is marked as installable, but no image is available to install for this archetecture">
    This configuration is marked as installable, but no image is provided for this archetecture, so it cannot be installed.
  </message>
  <message name="IDS_POLICY_CLOUD_SOURCE_ONLY_ERROR" desc="The text displayed in the status column when a policy that should only be set in the cloud is set from another source.">
    Ignored because the policy is not set by a cloud source.
  </message>
  <message name="IDS_POLICY_CLOUD_USER_ONLY_ERROR" desc="The text displayed in the status column when a policy should only be set from cloud user is set from another source.">
    Ignored because the policy can only be set as a cloud user policy.
  </message>
  <message name="IDS_POLICY_CLOUD_MANAGEMENT_ENROLLMENT_ONLY_ERROR" desc="The text displayed in the status column when a policy that is effective only when the machine is enrolled with the Chrome Browser Cloud Management.">
    Ignored because the machine is not enrolled with Chrome Browser Cloud Management.
  </message>
  <message name="IDS_POLICY_DEFAULT_SEARCH_DISABLED" desc="The text displayed in the status column when a policy value has been ignored because default search has not been enabled.">
    Ignored because default search is not enabled by policy.
  </message>
  <message name="IDS_POLICY_NOT_SPECIFIED_ERROR" desc="The text displayed in the status column when a policy value should have been specified but wasn't.">
    Must be specified.
  </message>
  <message name="IDS_POLICY_EXTENSION_SETTINGS_ORIGIN_LIMIT_WARNING" desc="The text displayed in the status column of the 'Extension Settings' policy when more than 100 origins are specified.">
    This field should not have more than <ph name="MAX_ITEMS_LIMIT">$1<ex>100</ex></ph> entries. All further entries will be discarded.
  </message>
  <message name="IDS_POLICY_URL_ALLOW_BLOCK_LIST_MAX_FILTERS_LIMIT_WARNING" desc="The text displayed in the status column of the URLAllowlist and URLBlocklist policies when the max number of filters is exceeded.">
    This field should not have more than <ph name="MAX_ITEMS_LIMIT">$1<ex>1000</ex></ph> entries. All further entries will be ignored.
  </message>
  <message name="IDS_POLICY_ERROR_WITH_PATH" desc="The text displayed in the status column when a policy error message contains an error path.">
    Error at <ph name="ERROR_PATH">$1<ex>AC.Delays.ScreenOff</ex></ph>: <ph name="ERROR_MESSAGE">$2<ex>Value is out of range.</ex></ph>
  </message>
  <message name="IDS_POLICY_SCHEMA_VALIDATION_ERROR" desc="The text displayed in the status column when the policy value doesn't conform to the policy schema.">
    Schema validation error: <ph name="ERROR">$1<ex>Value is out of range.</ex></ph>
  </message>
  <message name="IDS_POLICY_INVALID_JSON_ERROR" desc="The text displayed in the status column when the policy value should be a valid JSON string, but it cannot be parsed as JSON.">
    Error while parsing JSON value: <ph name="ERROR">$1<ex>Line 2, Column 3: Map keys must be quoted.</ex></ph>
  </message>
  <message name="IDS_POLICY_INVALID_URL_ERROR" desc="The text displayed in the status column when the URL given is invalid.">
    Invalid URL.
  </message>
  <message name="IDS_POLICY_URL_NOT_HTTPS_ERROR" desc="The text displayed in the status column when the URL given isn't using the https scheme, but needs to be.">
    URL must be https.
  </message>
  <message name="IDS_POLICY_INVALID_SEARCH_URL_ERROR" desc="The text displayed in the status column when a the URL given for DefaultSearchProviderSearchURL is invalid.">
    Invalid search URL.
  </message>
  <message name="IDS_POLICY_INVALID_SECURE_DNS_MODE_ERROR" desc="The text displayed in the status column when the value for DnsOverHttpsMode is invalid.">
    Invalid DnsOverHttps mode.
  </message>
  <message name="IDS_POLICY_SECURE_DNS_TEMPLATES_INVALID_ERROR" desc="The text displayed in the status column when one or more of the DnsOverHttpsTemplates server template URIs is invalid.">
    One or more of the DnsOverHttpsTemplates server template URIs is invalid and will not be used.
  </message>
  <message name="IDS_POLICY_SECURE_DNS_SALT_INVALID_ERROR" desc="The text displayed in the status column when the value of DnsOverHttpsSalt is invalid.">
    The <ph name="SECURE_DNS_SALT">DnsOverHttpsSalt</ph> value is invalid and will not be used.
  </message>
  <message name="IDS_POLICY_SECURE_DNS_SALT_INVALID_SIZE_ERROR" desc="The text displayed in the status column when the size of DnsOverHttpsSalt is invalid.">
    The <ph name="SECURE_DNS_SALT">DnsOverHttpsSalt</ph> value does not meet the size requirements.
  </message>
  <message name="IDS_POLICY_SECURE_DNS_TEMPLATES_IRRELEVANT_MODE_ERROR" desc="The text displayed in the status column when the DnsOverHttpsTemplate policy is specified but DnsOverHttpsMode is not set to a value that makes the templates relevant.">
    The DnsOverHttpsTemplates value is not relevant, and will not be used, unless the DnsOverHttpsMode policy is set to either <ph name="SECURE_DNS_MODE_AUTOMATIC">'automatic'</ph> or <ph name="SECURE_DNS_MODE_SECURE">'secure'</ph>.
  </message>
  <message name="IDS_POLICY_SECURE_DNS_TEMPLATES_INVALID_MODE_ERROR" desc="The text displayed in the status column when the DnsOverHttpsTemplate policy is specified but DnsOverHttpsMode is not valid.">
    The templates you've specified may not be applied due to an error with the DnsOverHttpsMode policy.
  </message>
  <message name="IDS_POLICY_SECURE_DNS_TEMPLATES_UNSET_MODE_ERROR" desc="The text displayed in the status column when the DnsOverHttpsTemplate policy is specified but DnsOverHttpsMode is unset.">
    The templates you've specified may not be applied due to the DnsOverHttpsMode policy not being set.
  </message>
  <message name="IDS_POLICY_SECURE_DNS_TEMPLATES_NOT_SPECIFIED_ERROR" desc="The text displayed in the status column when the DnsOverHttpsTemplate policy is not specified but the DnsOverHttpsMode is secure.">
    Must be specified and a valid string when DnsOverHttpsMode is <ph name="SECURE_DNS_MODE_SECURE">'secure'</ph>.
  </message>
  <message name="IDS_POLICY_INVALID_PROXY_MODE_ERROR" desc="The text displayed in the status column when the value for ProxyMode is invalid.">
    Invalid proxy mode.
  </message>
  <if expr="chromeos_ash">
    <message name="IDS_POLICY_UNKNOWN_ARC_MANAGED_CONFIGURATION_VARIABLE" desc="The warning text displayed in the status column when the managed configuration of an ARC application contains an unknown variable.">
      Unknown variable "<ph name="VARIABLE">$1<ex>${UNKNOWN_VARIABLE}</ex></ph>" in the managed configuration of "<ph name="APPLICATION_ID">$2<ex>com.dropbox.android</ex></ph>".
    </message>
  </if>
  <message name="IDS_POLICY_OFF_CWS_URL_ERROR" desc="The text displayed in the status column when the update URL points to a location other than the Chrome Webstore and the machine is not enterprise managed.">
    This computer is not detected as enterprise managed so policy can only automatically install extensions hosted on the Chrome Webstore. The Chrome Webstore update URL is "<ph name="CWS_UPDATE_URL">$1<ex>https://clients2.google.com/service/update2/crx</ex></ph>".
  </message>
  <message name="IDS_POLICY_HOMEPAGE_LOCATION_ERROR" desc="The text displayed in the status column when the homepage URL given by the HomepageLocation policy is invalid.">
    Invalid URL. Must be a URL with a standard scheme, e.g http://example.com or https://example.com.
  </message>
  <message name="IDS_POLICY_PROXY_MODE_DISABLED_ERROR" desc="The text displayed in the status column when use of a proxy is disabled but a proxy configuration is given.">
    Use of a proxy is disabled but an explicit proxy configuration is specified.
  </message>
  <message name="IDS_POLICY_PROXY_MODE_AUTO_DETECT_ERROR" desc="The text displayed in the status column when the proxy is set to auto configured but a proxy configuration is given.">
    Proxy is set to auto configured.
  </message>
  <message name="IDS_POLICY_PROXY_MODE_PAC_URL_ERROR" desc="The text displayed in the status column when the proxy configuration is set to use a .pac script URL but policies only for fixed proxy servers are also specified.">
    Proxy configuration is set to use a .pac script URL, not fixed proxy servers.
  </message>
  <message name="IDS_POLICY_PROXY_MODE_FIXED_SERVERS_ERROR" desc="The text displayed in the status column when the proxy configuration is set to use fixed proxy servers but an alternate configuration is given.">
    Proxy is set to use fixed proxy servers, not a .pac script URL.
  </message>
  <message name="IDS_POLICY_PROXY_MODE_SYSTEM_ERROR" desc="The text displayed in the status column when the proxy configuration is set to use system settings but an alternate configuration is given.">
    System proxy settings are set to be used but an explicit proxy configuration is also specified.
  </message>
  <message name="IDS_POLICY_PROXY_BOTH_SPECIFIED_ERROR" desc="The text displayed in the status column when both fixed proxy servers and .pac url are specified.">
    Both fixed proxy servers and a .pac script URL are specified.
  </message>
  <message name="IDS_POLICY_PROXY_NEITHER_SPECIFIED_ERROR" desc="The text displayed in the status column when neither a fixed proxy servers or a .pac url are specified.">
    Neither fixed proxy servers nor a .pac script URL are specified.
  </message>
  <message name="IDS_POLICY_OVERRIDDEN" desc="The text displayed in the status column when the corresponding policy is being ignored because another policy is overriding it.">
    Ignored because it was overridden by <ph name="POLICY_NAME">$1<ex>ProxyMode</ex></ph>.
  </message>
  <message name="IDS_POLICY_VALUE_DEPRECATED" desc="The text displayed in the status column when a specific value for a policy is deprecated.">
    This value is deprecated for this policy.
  </message>
  <message name="IDS_POLICY_DEPENDENCY_ERROR" desc="The text displayed in the status column when a policy is ignored as another policies is not set properly.">
    Ignored because <ph name="POLICY_NAME">$1<ex>CloudReportingEnabled</ex></ph> is not set to <ph name="VALUE">$2<ex>Enabled</ex></ph>.
  </message>
  <message name="IDS_POLICY_DEPENDENCY_ERROR_ANY_VALUE" desc="The text displayed in the status column when a policy is ignored as another policies is not set at all.">
    Ignored because <ph name="POLICY_NAME">$1<ex>CloudReportingEnabled</ex></ph> is not set.
  </message>
  <message name="IDS_POLICY_IDLE_TIMEOUT_ACTIONS_DEPENDENCY_ERROR" desc="The text displayed in the status column when the IdleTimeoutActions policy is ignored because it requires another policy .">
    These actions require the <ph name="POLICY_NAME">$1<ex>SyncDisabled</ex></ph> policy to be set to <ph name="POLICY_VALUE">$2<ex>Enabled</ex></ph>: <ph name="ACTION_LIST">$3<ex>clear_browsing_history, clear_autofill</ex></ph>.
  </message>
  <message name="IDS_POLICY_USER_IS_NOT_AFFILIATED_ERROR" desc="The text displayed in the status column when a user cloud policy is ignored due to user is not affiliated to the machine management.">
    Ignored because user is not affiliated to the machine management or the machine is not managed.
  </message>
  <if expr="chromeos_ash">
    <message name="IDS_POLICY_NETWORK_CONFIG_PARSE_FAILED" desc="The text displayed in the status column when the corresponding network configuration policy failed to parse.">
      Network configuration failed to be parsed (invalid JSON).
    </message>
    <message name="IDS_POLICY_NETWORK_CONFIG_IMPORT_PARTIAL" desc="The text displayed in the status column when the corresponding network configuration policy is not standard conform and was imported partially. DEBUG_INFO contains non-localized detailed information about existing warnings.">
      The network configuration doesn't comply to the ONC standard. Parts of the configuration may not be imported.
Additional details:
<ph name="DEBUG_INFO">$1<ex>WARNING: Field name 'SomeRandomField' is unknown. (at toplevel)</ex></ph>
    </message>
    <message name="IDS_POLICY_NETWORK_CONFIG_IMPORT_FAILED" desc="The text displayed in the status column when the corresponding network configuration policy is invalid. DEBUG_INFO contains non-localized detailed information about existing errors/warnings.">
      The network configuration is invalid and couldn't be imported.
Additional details:
<ph name="DEBUG_INFO">$1<ex>ERROR: Field name 'SomeRandomField' is unknown. (at toplevel)</ex></ph>
    </message>
  </if>
  <if expr="is_chromeos">
    <message name="IDS_POLICY_SCOPE_ERROR" desc="Text displayed in the status column when a policy is set in an unsupported scope.">
      Policy scope is not supported.
    </message>
  </if>
  <message name="IDS_POLICY_LEVEL_ERROR" desc="Text displayed in the status column when a policy is set at an unsupported level.">
    Policy level is not supported.
  </message>
  <message name="IDS_POLICY_OK" desc="Text displayed in the status column when a valid value is set for a policy." meaning="Policy is working as expected.">
    OK
  </message>
  <message name="IDS_POLICY_UNSET" desc="Text displayed in the status column when no value is set for a policy.">
    Not set.
  </message>
  <message name="IDS_POLICY_UNKNOWN" desc="Text displayed in the status column when a policy name is not recognized.">
    Unknown policy.
  </message>
  <message name="IDS_POLICY_PROTO_PARSING_ERROR" desc="Text displayed when error is encountered during policy parsing/decoding.">
    Policy parsing error: <ph name="ERROR">$1<ex>Invalid JSON string: Line: 1, column: 14</ex></ph>
  </message>
  <message name="IDS_POLICY_HEX_COLOR_ERROR" desc="Error message in the policy summary page for the BrowserThemeColor policy when the policy value is an invalid hex color.">
    Value "<ph name="VALUE">$1<ex>#zzzzzz</ex></ph>" is an invalid hex color.
  </message>
  <message name="IDS_POLICY_SITE_SEARCH_SETTINGS_MAX_PROVIDERS_LIMIT_ERROR" desc="The text displayed in the status column of the SiteSearchSettings policy when the max number of search providers is exceeded.">
    This policy should not have more than <ph name="MAX_ITEMS_LIMIT">$1<ex>1000</ex></ph> entries.
  </message>
  <message name="IDS_POLICY_SITE_SEARCH_SETTINGS_MAX_FEATURED_PROVIDERS_LIMIT_ERROR" desc="The text displayed in the status column of the SiteSearchSettings policy when the max number of featured search providers is exceeded.">
    This policy should not have more than <ph name="MAX_ITEMS_LIMIT">$1<ex>10</ex></ph> featured entries.
  </message>
  <message name="IDS_POLICY_SITE_SEARCH_SETTINGS_DUPLICATED_SHORTCUT" desc="The text displayed in the status column of the SiteSearchSettings policy when there is more than one entry using the same shortcut.">
    Ignored non-unique shortcut: <ph name="SHORTCUT_NAME">$1<ex>shortcut</ex></ph>
  </message>
  <message name="IDS_POLICY_SITE_SEARCH_SETTINGS_SHORTCUT_CONTAINS_SPACE" desc="The text displayed in the status column of the SiteSearchSettings policy when a shortcut contains a space character.">
    Shortcut can't contain spaces: "<ph name="SHORTCUT_NAME">$1<ex>shortcut</ex></ph>"
  </message>
  <message name="IDS_POLICY_SITE_SEARCH_SETTINGS_SHORTCUT_STARTS_WITH_AT" desc="The text displayed in the status column of the SiteSearchSettings policy when a shortcut starts with the @ character.">
    Shortcut can't start with the @ character: "<ph name="SHORTCUT_NAME">$1<ex>shortcut</ex></ph>"
  </message>
  <message name="IDS_POLICY_SITE_SEARCH_SETTINGS_NO_VALID_PROVIDER" desc="The text displayed in the status column of the SiteSearchSettings policy when there is no valid entry in the policy.">
    The list contains no valid search provider.
  </message>
  <message name="IDS_POLICY_SITE_SEARCH_SETTINGS_SHORTCUT_IS_EMPTY" desc="The text displayed in the status column of the SiteSearchSettings policy when a shortcut is defined as an empty string.">
    Shortcut can't be empty
  </message>
  <message name="IDS_POLICY_SITE_SEARCH_SETTINGS_NAME_IS_EMPTY" desc="The text displayed in the status column of the SiteSearchSettings policy when a name is defined as an empty string.">
    Name can't be empty
  </message>
  <message name="IDS_POLICY_SITE_SEARCH_SETTINGS_URL_IS_EMPTY" desc="The text displayed in the status column of the SiteSearchSettings policy when a URL is defined as an empty string.">
    URL can't be empty
  </message>
  <message name="IDS_POLICY_SITE_SEARCH_SETTINGS_URL_DOESNT_SUPPORT_REPLACEMENT" desc="The text displayed in the status column of the SiteSearchSettings policy when a URL doesn't contain the replacement string '{searchTerms}'. Please do not translate '{searchTerms}' because it's part of the expected syntax.">
    URL doesn't include required replacement string <ph name="SEARCH_TERMS_REPLACEMENT">"{searchTerms}"</ph>: <ph name="SEARCH_URL">$1<ex>https://www.example.com</ex></ph>
  </message>
  <message name="IDS_POLICY_SITE_SEARCH_SETTINGS_SHORTCUT_EQUALS_DSP_KEYWORD" desc="The text displayed in the status column of the SiteSearchSettings policy when a shortcut is the same as the keyword defined by the DefaultSearchProviderKeyword policy.">
    Shortcut can't be the same as the default search provider keyword defined by <ph name="DEFAULT_SEARCH_PROVIDER_KEYWORD_POLICY_NAME">DefaultSearchProviderKeyword</ph>: <ph name="SHORTCUT_NAME">$1<ex>shortcut</ex></ph>
  </message>
  <message name="IDS_POLICY_SITE_SEARCH_SETTINGS_URL_NOT_HTTPS" desc="The text displayed in the status column of the SiteSearchSettings policy when a URL scheme is not HTTPS.">
    HTTPS scheme recommended for search URL: <ph name="SEARCH_URL">$1<ex>https://www.example.com</ex></ph>
  </message>
  <message name="IDS_POLICY_DATA_CONTROLS_MUTUALLY_EXCLUSIVE_KEYS" desc="The text displayed in the status column of the DataControlsRules policy when one of its rules contains incoherent values">
    Keys "<ph name="DATA_CONTROLS_KEYS">$1<ex>"and", "or"</ex></ph>" cannot be set in the same dictionary
  </message>
  <message name="IDS_POLICY_DATA_CONTROLS_MUTUALLY_EXCLUSIVE_KEY_SETS" desc="The text displayed in the status column of the DataControlsRules policy when one of its rules contains incoherent values">
    Keys "<ph name="DATA_CONTROLS_FIRST_KEY_SET">$1<ex>"destinations", "sources"</ex></ph>" cannot be set in the same dictionary as the "<ph name="DATA_CONTROLS_SECOND_KEY_SET">$2<ex>"and", "or"</ex></ph>" keys
  </message>
  <message name="IDS_POLICY_DATA_CONTROLS_UNSUPPORTED_CONDITION" desc="The text displayed in the status column of the DataControlsRules policy when one of its rules contains an unsupported condition">
    "<ph name="DATA_CONTROLS_ATTRIBUTE">$1<ex>destination</ex></ph>" is not a supported condition for "<ph name="DATA_CONTROLS_RESTRICTION">$2<ex>SCREENSHOT</ex></ph>"
  </message>
  <message name="IDS_POLICY_DATA_CONTROLS_UNSUPPORTED_RESTRICTION" desc="The text displayed in the status column of the DataControlsRules policy when one of its rules contains an unsupported restriction">
    "<ph name="DATA_CONTROLS_RESTRICTION">$1<ex>SCREENSHARE</ex></ph>" is not a supported restriction on this platform
  </message>
  <message name="IDS_POLICY_DATA_CONTROLS_UNSUPPORTED_LEVEL" desc="The text displayed in the status column of the DataControlsRules policy when one of its rules contains an unsupported restriction level">
    "<ph name="DATA_CONTROLS_RESTRICTION">$1<ex>SCREENSHOT</ex></ph>" cannot be set to "<ph name="DATA_CONTROLS_LEVEL">$2<ex>WARN</ex></ph>"
  </message>

  <!-- chrome://policy -->
  <message name="IDS_POLICY_TITLE" desc="Page title and the title of the section that lists policies.">
    Policies
  </message>
  <message name="IDS_POLICY_FILTER_PLACEHOLDER" desc="Placeholder for the input field that lets the user filter policies by name.">
    Filter policies by name
  </message>
  <message name="IDS_POLICY_RELOAD_POLICIES" desc="Label for the button that reloads policies.">
    Reload policies
  </message>
  <message name="IDS_POLICY_RELOADING_POLICIES" desc="Toast notification message indicating policies are being loaded.">
    Reloading policies
  </message>
  <message name="IDS_POLICY_RELOAD_POLICIES_DONE" desc="Toast notification message indicating policies have been reloaded.">
    Policies reloaded
  </message>
  <message name="IDS_EXPORT_POLICIES_JSON" desc="Label for the button that exports policies in JSON format.">
    Export to JSON
  </message>
  <message name="IDS_EXPORT_POLICIES_JSON_DONE" desc="Toast notification message indicating policies are exported.">
    Exported
  </message>
  <message name="IDS_UPLOAD_REPORT" desc="Label for the button that uplaod Chrome usage report">
    Upload Report
  </message>
  <message name="IDS_REPORT_UPLOADING" desc="Toast notification message indicating data is being sent to admin console.">
    Sending data to admin console
  </message>
  <message name="IDS_REPORT_UPLOADED" desc="Toast notification message indicating data has been sent to admin console.">
    Data sent to admin console
  </message>
  <message name="IDS_POLICY_STATUS" desc="Title of the status section.">
    Status
  </message>
  <message name="IDS_POLICY_STATUS_DEVICE" desc="Title for the device policy status box.">
    Device policies
  </message>
  <message name="IDS_POLICY_STATUS_USER" desc="Title for the user policy status box.">
    User policies
  </message>
<message name="IDS_POLICY_STATUS_MACHINE" desc="Title for the machine policy status box.">
    Machine policies
  </message>
 <if expr="is_win">
  <message name="IDS_POLICY_STATUS_UPDATER" desc="Title for the updater policy status box on windows.">
    Google Update
  </message>
 </if>
  <message name="IDS_POLICY_STATUS_ERROR_MANAGED_NO_POLICY" desc="Message to display when a managed device does not have a policy loaded.">
    Managed user or device has no policy loaded.
  </message>
  <message name="IDS_POLICY_STATUS_FLEX_ORG_NO_POLICY" desc="Message to display when a managed account does not have a policy loaded because the account if from a flex org.">
    No user policies applied. To add user policies, your organization must <ph name="LINK_BEGIN">&lt;a target="_blank" href="https://support.google.com/chrome/a/answer/9122284"&gt;</ph>verify your domain<ph name="LINK_END">&lt;/a&gt;</ph>.
  </message>
  <message name="IDS_POLICY_LABEL_MACHINE_ENROLLMENT_DOMAIN" desc="Label for the enrollment domain in the machine policy status box.">
    Enrollment domain:
  </message>
  <message name="IDS_POLICY_LABEL_MACHINE_ENROLLMENT_TOKEN" desc="Label for the enrollment token in the machine policy status box.">
    Enrollment Token:
  </message>
  <message name="IDS_POLICY_LABEL_MACHINE_ENROLLMENT_DEVICE_ID" desc="Label for the device ID in the machine policy status box.">
    Device ID:
  </message>
    <message name="IDS_POLICY_LABEL_MACHINE_ENROLLMENT_MACHINE_NAME" desc="Label for the machine name in the machine policy status box.">
    Machine Name:
  </message>
  <message name="IDS_POLICY_LABEL_USERNAME" desc="Label for the username in the user policy status box.">
    User:
  </message>
  <message name="IDS_POLICY_LABEL_GAIA_ID" desc="Label for the user GAIA ID in the user policy status box.">
    Gaia ID:
  </message>
  <message name="IDS_POLICY_LABEL_CLIENT_ID" desc="Label for the client IDs in the policy status boxes.">
    Client ID:
  </message>
  <message name="IDS_POLICY_LABEL_PROFILE_ID" desc="Label for the user profile ID in the user policy status box.">
    Profile ID:
  </message>
  <message name="IDS_POLICY_LABEL_ASSET_ID" desc="Label for the asset ID in the device policy status box.">
    Asset ID:
  </message>
  <message name="IDS_POLICY_LABEL_LOCATION" desc="Label for the device location in the device policy status box.">
    Assigned Location:
  </message>
  <message name="IDS_POLICY_LABEL_DIRECTORY_API_ID" desc="Label for the directory API ID in the device policy status box.">
    Directory API ID:
  </message>
  <message name="IDS_POLICY_LABEL_MANAGED_BY" desc="Label for the manager in the policy status boxes. Manager can be a domain or an email address.">
    Managed by:
  </message>
  <message name="IDS_POLICY_LABEL_TIME_SINCE_LAST_FETCH_ATTEMPT" desc="Label for the time since the last fetch attempt in the policy status boxes.">
    Last fetch attempted:
  </message>
  <message name="IDS_POLICY_LABEL_TIME_SINCE_LAST_REFRESH" desc="Label for the time since the last refresh in the policy status boxes.">
    Last policy timestamp:
  </message>
  <message name="IDS_POLICY_LABEL_LAST_CLOUD_REPORT_SENT_TIMESTAMP" desc="Label for the time when the last cloud report is sent successfully.">
    Report sent:
  </message>
  <message name="IDS_POLICY_NOT_SPECIFIED" desc="Indicates if that device attribute has not specified yet.">
    Not Specified
  </message>
  <message name="IDS_POLICY_LABEL_PUSH_POLICIES" desc="Label to indicates the policies can be pushed or not to chrome.">
    Policies push:
  </message>
  <message name="IDS_POLICY_PUSH_POLICIES_ON" desc="Label in the chrome://policy information page." meaning="Policies can be pushed to chrome.">
    On
  </message>
  <message name="IDS_POLICY_PUSH_POLICIES_OFF" desc="Label in the chrome://policy information page." meaning="Policies cannot be pushed to chrome.">
    Off
  </message>
  <message name="IDS_POLICY_NEVER_FETCHED" desc="Indicates that a policy fetch was never performed before.">
    Never
  </message>
  <message name="IDS_POLICY_LABEL_REFRESH_INTERVAL" desc="Label for the refresh interval in the policy status boxes.">
    Fetch interval:
  </message>
  <message name="IDS_POLICY_LABEL_CONFLICT" desc="Label for the conflict status column in the policy table.">
    Conflict
  </message>
  <message name="IDS_POLICY_LABEL_SUPERSEDING" desc="Label for the superseding status column in the policy table.">
    Superseding
  </message>
  <message name="IDS_POLICY_LABEL_CONFLICT_VALUE" desc="Label for the conflict row in the policy table.">
    Value (conflict)
  </message>
  <message name="IDS_POLICY_LABEL_SUPERSEDED_VALUE" desc="Label for the superseded row in the policy table.">
    Value (superseded)
  </message>
  <message name="IDS_POLICY_LABEL_ERROR" desc="Label for the error row in the policy table.">
    Error
  </message>
  <message name="IDS_POLICY_LABEL_DEPRECATED" desc="Label for the status of a deprecated policy.">
    Deprecated
  </message>
  <message name="IDS_POLICY_LABEL_FUTURE" desc="Label for the status of an unreleased policy.">
    Unreleased
  </message>
  <message name="IDS_POLICY_LABEL_IGNORED" desc="Label for the ignored row in the policy table.">
    Ignored
  </message>
  <message name="IDS_POLICY_LABEL_VALUE" desc="Label for the value row in the policy table.">
    Value
  </message>
  <message name="IDS_POLICY_LABEL_VERSION" desc="Label for the version in the policy status box.">
    Version:
  </message>
  <message name="IDS_POLICY_LABEL_STATUS" desc="Label for the actual status in the policy status boxes.">
    Status:
  </message>
  <message name="IDS_POLICY_LABEL_INFO" desc="Label for the info row in the policy table.">
    Info
  </message>
  <message name="IDS_POLICY_LABEL_PRECEDENCE" desc="Label for the precedence order row in the policy precedence table.">
    Current precedence order
  </message>
  <message name="IDS_POLICY_SHOW_UNSET" desc="Label for the checkbox that determines whether policies whose value has not been set are shown.">
    Show policies with no value set
  </message>
  <message name="IDS_POLICY_NO_POLICIES_SET" desc="Text displayed when none of the policies have been set.">
    No policies set
  </message>
  <message name="IDS_POLICY_HEADER_SCOPE" desc="Table header for the column in the policy table that details whether a policy is a user or a device policy.">
    Applies to
  </message>
  <message name="IDS_POLICY_HEADER_LEVEL" desc="Table header for the column in the policy table that details whether a policy is mandatory or recommended.">
    Level
  </message>
  <message name="IDS_POLICY_HEADER_NAMESPACE" desc="Table header for the column in the policy table that contains the policy namespace (either 'Chrome', or an extension ID).">
    Namespace
  </message>
  <message name="IDS_POLICY_HEADER_NAME" desc="Table header for the column in the policy table that contains the policy name.">
    Policy name
  </message>
  <message name="IDS_POLICY_HEADER_VALUE" desc="Table header for the column in the policy table that contains the policy value.">
    Policy value
  </message>
  <message name="IDS_POLICY_HEADER_STATUS" desc="Table header for the column in policy table that contains the policy status.">
    Status
  </message>
  <message name="IDS_POLICY_HEADER_SOURCE" desc="Table header for the column in policy table that contains the policy source.">
    Source
  </message>
  <message name="IDS_POLICY_HEADER_WARNING" desc="Table header for the column in the policy table that contains the policy warnings.">
    Warning
  </message>
  <message name="IDS_POLICY_SHOW_MORE" desc="Text for the link that expands and shows the are full value, conflicts and warnings rows of a policy.">
    Show more
  </message>
  <message name="IDS_POLICY_SHOW_LESS" desc="Text for the link that collapses and hides the are full value, conflicts and warnings rows of a policy.">
    Show less
  </message>
  <message name="IDS_POLICY_LEARN_MORE" desc="Help text for learn-more link for known chrome policies.">
    Learn more about <ph name="POLICY_NAME">$1<ex>AllowDinosaurEasterEgg</ex></ph> policy
  </message>
  <message name="IDS_POLICY_SCOPE_USER" desc="Text displayed in the Applies to column when a policy applies to the current user only.">
    Current user
  </message>
  <message name="IDS_POLICY_SCOPE_ALL_USERS" desc="Text displayed in the Applies to column when a policy applies to all the users in the current session.">
    All users
  </message>
  <if expr="not is_android and not is_chromeos">
    <message name="IDS_POLICY_SCOPE_DEVICE" desc="Text displayed in the Applies to column when a policy applies to everyone on the machine.">
      Machine
    </message>
  </if>
  <if expr="is_chromeos or is_android">
    <message name="IDS_POLICY_SCOPE_DEVICE" desc="Mobile: Text displayed in the Applies To column when a policy applies to everyone on the device.">
      Device
    </message>
  </if>
  <message name="IDS_POLICY_LEVEL_RECOMMENDED" desc="Text displayed in the Level column when a policy is recommended.">
    Recommended
  </message>
  <message name="IDS_POLICY_LEVEL_MANDATORY" desc="Text displayed in the Level column when a policy is mandatory.">
    Mandatory
  </message>
  <message name="IDS_POLICY_SOURCE_ENTERPRISE_DEFAULT" desc="Indicates that a policy is set by default in an enterprise environment and can be overridden (for ChromeOS only).">
    Enterprise default
  </message>
  <message name="IDS_POLICY_SOURCE_DEFAULT" desc="Indicates that a policy is set by default and can be overridden.">
    Default
  </message>
  <message name="IDS_POLICY_SOURCE_COMMAND_LINE" desc="Indicates that a policy is set by command line switch for testing purpose.">
    Command line
  </message>
  <message name="IDS_POLICY_SOURCE_CLOUD" desc="Indicates that the policy originates from the cloud.">
    Cloud
  </message>
  <message name="IDS_POLICY_SOURCE_MERGED" desc="Indicates that the policy is a merged values from multiple sources.">
    Merged
  </message>
  <message name="IDS_POLICY_SOURCE_CLOUD_FROM_ASH" desc="Indicates that the policy originates from the cloud in Ash and piped to Lacros.">
    Cloud (Ash)
  </message>
  <message name="IDS_POLICY_SOURCE_RESTRICTED_MANAGED_GUEST_SESSION_OVERRIDE" desc="Indicates that the policy originates from the restricted managed guest session override.">
    Restricted managed guest session override
  </message>
  <message name="IDS_POLICY_SOURCE_ACTIVE_DIRECTORY" desc="Indicates that the policy originates from a local server, e.g. Samba or Active Directory.">
    <ph name="MICROSOFT_ACTIVE_DIRECTORY">Local Server</ph>
  </message>
  <message name="IDS_POLICY_SOURCE_PLATFORM" desc="Indicates that the policy is obtained from the local OS.">
    Platform
  </message>
  <message name="IDS_POLICY_SOURCE_DEVICE_LOCAL_ACCOUNT_OVERRIDE" desc="Indicates that the policy is set programmatically because of an active device-local account session: managed session or Kiosk app (both for ChromeOS only). It could have overridden other sources that set this policy.">
    Device local account override
  </message>
  <message name="IDS_POLICY_RISK_TAG_FULL_ADMIN_ACCESS" desc="Title of a group/tag whose policies potentially allow the administrator to access all of a user's data.">
    Full Admin Access
  </message>
  <message name="IDS_POLICY_RISK_TAG_SYSTEM_SECURITY" desc="Title of a group/tag whose policies might influence the system's security.">
    System Security
  </message>
  <message name="IDS_POLICY_RISK_TAG_WEBSITE_SHARING" desc="Title of a group/tag whose policies might lead to information sharing with other websites.">
    Sharing with Websites
  </message>
  <message name="IDS_POLICY_RISK_TAG_ADMIN_SHARING" desc="Title of a group/tag whose policies potentially allow sending information about the user (like activity times) to an administrator.">
    Sharing with Administrator
  </message>
  <message name="IDS_POLICY_RISK_TAG_FILTERING" desc="Title of a group/tag whose policies might restrict web contents which would be visible otherwise (e.g. forced SafeSearch).">
    Filtering
  </message>
  <message name="IDS_POLICY_RISK_TAG_LOCAL_DATA_ACCESS" desc="Title of a group/tag whose policies might allow storage of user data to local drives where others might access them.">
    Local Data Access
  </message>
  <message name="IDS_POLICY_RISK_TAG_GOOGLE_SHARING" desc="Title of a group/tag whose policies enable functionality that might share user data with trusted Google services.">
    Sharing with Google
  </message>
  <message name="IDS_POLICY_SHOW_EXPANDED_STATUS" desc="Text for the link that shows the policy status. Used when the policy status is too long to be always visible.">
    Show status
  </message>
  <message name="IDS_POLICY_HIDE_EXPANDED_STATUS" desc="Text for the link that hides the policy status. Used when the policy status is too long to be always visible.">
    Hide status
  </message>
  <message name="IDS_POLICY_LIST_MERGING_WRONG_POLICY_TYPE_SPECIFIED" desc="Text explaining that a policy specified to be merged as a list is not a list.">
    Warning: This policy was not merged as a list as specified by policy because it is not a list.
  </message>
  <message name="IDS_POLICY_DICTIONARY_MERGING_WRONG_POLICY_TYPE_SPECIFIED" desc="Text explaining that a policy specified to be merged as a dictionary is not a dictionary.">
    Warning: This policy was not merged as a dictionary as specified by policy because it is not a dictionary.
  </message>
  <message name="IDS_POLICY_DICTIONARY_MERGING_POLICY_NOT_ALLOWED" desc="Text explaining that a policy specified to be merged as a dictionary is not allowed to be merged.">
    Warning: This policy was not merged as specified in PolicyDictionaryMultipleSourceMergeList policy because it is not part of the dictionary policies that can be merged.
  </message>
  <message name="IDS_POLICY_CONFLICT_SAME_VALUE" desc="Text explaining that a policy had conflicting sources, but with the same values.">
    This policy is working as intended but the same value is set elsewhere and is superseded by this policy.
  </message>
  <message name="IDS_POLICY_CONFLICT_DIFF_VALUE" desc="Text explaining that a policy had conflicting sources and values.">
    This policy is working as intended but a conflicting value is set elsewhere and is overridden by this policy.
  </message>
  <message name="IDS_POLICY_MIGRATED_OLD_POLICY" desc="Text explaining that a policy is deprecated, and that admins should use the new policy instead">
    This policy is deprecated. You should use the <ph name="NEW_POLICY">$1<ex>AllowDinosaurEasterEgg</ex></ph> policy instead.
  </message>
  <message name="IDS_POLICY_MIGRATED_NEW_POLICY" desc="Text explaining that the policy value was automatically copied from a deprecated policy's value">
    This policy was automatically copied from the deprecated <ph name="OLD_POLICY">$1<ex>AllowDinosaurEasterEgg</ex></ph> policy. You should use this policy instead.
  </message>
  <message name="IDS_POLICY_BLOCKED" desc="Text explaining that a policy is blocked, therefore ignored.">
    This policy is blocked, its value will be ignored.
  </message>
  <message name="IDS_POLICY_INVALID" desc="Text explaining that a policy failed to validate against a schema, and therefore ignored.">
    This policy value failed to validate against its schema and will be ignored.
  </message>
  <message name="IDS_POLICY_IGNORED_BY_GROUP_MERGING" desc="Text explaining that a policy is ignored because another policy of the same group has a higher priority">
    This policy is ignored because another policy from the same policy group has a higher priority.
  </message>
  <message name="IDS_POLICY_INVALID_VALUE"  desc="Text explaining that the policy value is invalid">
    Policy value is not valid.
  </message>
  <message name="IDS_POLICY_IGNORED_MANDATORY_REPORTING_POLICY" desc="Text explaining that the policy MetricsReportingEnabled can not be forced to enabled anymore">
    This policy cannot be set to "True" and be mandatory, therefore it was changed to recommended.
  </message>
  <message name="IDS_POLICY_IGNORED_CHROME_PROFILE" desc="Text explaining that the policy cannot be set at the Chrome profile level and is therefore ignored.">
    This policy cannot be set at the Chrome profile level and will be ignored.
  </message>
  <message name="IDS_POLICY_IGNORED_UNAFFILIATED" desc="Text describing that the policy value is not applied because the user is unaffiliated.">
    This policy is ignored because the user is unaffiliated. For this policy to be applied, the Chrome browser and profile must be managed through the Admin console by the same organization.
  </message>
  <message name="IDS_POLICY_PRECEDENCE_PLATFORM_MACHINE" desc="Text describing the platform machine precedence value.">
    Platform machine
  </message>
  <message name="IDS_POLICY_PRECEDENCE_PLATFORM_USER" desc="Text describing the platform user precedence value.">
    Platform user
  </message>
  <message name="IDS_POLICY_PRECEDENCE_CLOUD_MACHINE" desc="Text describing the cloud machine precedence value.">
    Cloud machine
  </message>
  <message name="IDS_POLICY_PRECEDENCE_CLOUD_USER" desc="Text describing the cloud user precedence value.">
    Cloud user
  </message>
  <if expr="not is_macosx">
    <message name="IDS_POLICY_SPELLCHECK_UNKNOWN_LANGUAGE" desc="Warning message in the policy summary page for the spellcheck policies when a language is unrecognized or unsupported.">
      List entry "<ph name="LANGUAGE_ID">$1<ex>xx-YY</ex></ph>": Unknown or unsupported language.
    </message>
    <message name="IDS_POLICY_SPELLCHECK_BLOCKLIST_IGNORE" desc="Warning message in the policy summary page for the spellcheck blocklist policy when a language is both force-enabled and force-disabled. 'SpellcheckLanguage' is a policy name and shouldn't be translated.">
    List entry "<ph name="LANGUAGE_ID">$1<ex>en-GB</ex></ph>": Entry ignored because it is also included in the SpellcheckLanguage policy.
    </message>
  </if>
  <message name="IDS_POLICY_DEFAULT_GEO_POLICY_ARC_CONFLICT" desc="Warning message for the DefaultGeolocationSetting policy, when the GoogleLocationServicesEnabled policy is set. The former will no longer affect the ARC, when the latter is set.">
    Warning: This policy is conflicting with the <ph name="POLICY_NAME">$1<ex>GoogleLocationServicesEnabled</ex></ph> and will have no effect on Android apps. Otherwise, this policy is working as intended.
  </message>
  <message name="IDS_POLICY_LABEL_IS_AFFILIATED" desc="Label to indicate if the user is affiliated or not.">
    Is affiliated:
  </message>
  <message name="IDS_POLICY_IS_AFFILIATED_YES" desc="Indicates the user is affiliated.">
    Yes
  </message>
  <message name="IDS_POLICY_IS_AFFILIATED_NO" desc="Indicates the user is not affiliated.">
    No
  </message>
  <message name="IDS_POLICY_LABEL_IS_OFFHOURS_ACTIVE" desc="Label to indicate if the off-hours policy is active or not.">
    Off-Hours Policy:
  </message>
  <message name="IDS_POLICY_OFFHOURS_ACTIVE" desc="Indicates the off-hours policy is active.">
    Active
  </message>
  <message name="IDS_POLICY_OFFHOURS_NOT_ACTIVE" desc="Indicates the off-hours policy is not active.">
    Not active
  </message>
  <message name="IDS_POLICY_SIGNIN_PROFILE" desc="Label to indicate that the policy is for the sign-in screen profile.">
    sign-in screen profile
  </message>
  <message name ="IDS_POLICY_COPY_VALUE" desc="Help text for link that copies the value of a policy.">
    Copy the value of <ph name="POLICY_NAME">$1<ex>AllowDinosaurEasterEgg</ex></ph> policy
  </message>
  <message name="IDS_COPY_POLICIES_JSON" desc="Label for the button that copies policies in JSON format.">
    Copy as JSON
  </message>
  <message name="IDS_COPY_POLICIES_DONE" desc="Toast notification message indicating policies are copied to clipboard.">
    Copied to clipboard
  </message>
  <message name="IDS_VIEW_POLICY_LOGS" desc="Label for the button that redirects from chrome://policy to chrome://policy/logs.">
    View logs
  </message>
  <message name="IDS_POLICY_MORE_ACTIONS" desc="Label for the dropdown menu on the chrome://policy page that offers additional actions such as downloading policy data as a JSON file, uploading report or showing policy logs.">
    More actions
  </message>
  <message name="IDS_POLICY_TABLE_COLUMN_SORT" desc="Part of the label for policy table sorting arrows.">
    Sort
  </message>
  <message name="IDS_POLICY_TABLE_COLUMN_SORT_ASCENDING" desc="Part of the label for policy table sorting arrows denoting ascending sort order.">
    in ascending order
  </message>
  <message name="IDS_POLICY_TABLE_COLUMN_SORT_DESCENDING" desc="Part of the label for policy table sorting arrows denoting descending sort order.">
    in descending order
  </message>

  <!-- Strings for chrome://policy/logs -->
  <message name="IDS_POLICY_LOGS_TITLE" desc="Title for the page.">
    Policy Logs
  </message>
  <message name="IDS_VERSION_INFO" desc="Label for the section showing the version Information.">
    Version Information
  </message>
  <message name="IDS_EXPORT_POLICY_LOGS_JSON" desc="Label for the button that exports the policy logs as a JSON file.">
    Export Logs to JSON
  </message>
  <message name="IDS_REFRESH_POLICY_LOGS" desc="Label for the button that reloads the logs to add any new logs to the page.">
    Refresh Logs
  </message>

<!-- Strings for chrome://policy/test -->
  <message name="IDS_POLICY_TEST_TITLE" desc="Title for the page.">
    Policy Tests
  </message>
  <message name="IDS_POLICY_TEST_RESTART_AND_APPLY" desc="Label for the restart-browser button">
    Restart and apply policies
  </message>
  <message name="IDS_POLICY_TEST_APPLY" desc="Label for the apply-policies button.">
    Apply policies
  </message>
  <message name="IDS_POLICY_TEST_IMPORT" desc="Label for the import-policies-json button.">
    Import from JSON
  </message>
  <message name="IDS_POLICY_TEST_DESC" desc="Text for the page description.">
    You cannot use this page from a managed acount on this unmanaged device. All managed accounts will be locked if you use this page, except accounts managed by the same entity as this device (affiliated accounts).
  </message>
  <message name="IDS_POLICY_TEST_REVERT" desc="Text for the Reset policies button.">
    Revert applied policies
  </message>
  <message name="IDS_POLICY_TEST_TABLE_SCOPE" desc="Text for the column of the policy table for the policy scope.">
    Scope
  </message>
  <message name="IDS_POLICY_TEST_ADD" desc="Label for the add-policy-btn button.">
    Add policy
  </message>
  <message name="IDS_POLICY_SELECT_NAME" desc="Text for the default option in the policy name dropdown menu.">
    Select policy name
  </message>
  <message name="IDS_POLICY_TEST_TABLE_PRESET" desc="Text for the preset column of the policy test table.">
    Preset
  </message>
  <message name="IDS_LOCAL_TEST_POLICIES_ENABLED" desc="Text for banner warning user of test policies being applied">
    Test policies have been applied. Review and reset them at chrome://policy/test. Admin policies will not be applied.
  </message>
  <message name="IDS_POLICY_TEST_PRESET_CUSTOM" desc="Text for the custom option of the preset dropdown in the policy test table.">
    Custom
  </message>
  <message name="IDS_POLICY_TEST_PRESET_LOCAL_MACHINE" desc="Text for the local machine option of the preset dropdown in the policy test table.">
    Local machine
  </message>
  <message name="IDS_POLICY_TEST_PRESET_CLOUD_ACCOUNT" desc="Text for the cloud account option of the preset dropdown in the policy test table.">
    Cloud account
  </message>
  <message name="IDS_POLICY_TEST_USER_AFFILIATED" desc="Text for checkbox to select user affiliation in the policy test table.">
  User affiliated
  </message>

  <!-- Strings for Disabled chrome://.* screen -->
  <message name="IDS_CHROME_URLS_DISABLED_PAGE_HEADER" desc="A heading for the user when the application is blocked.">
    Application is blocked
  </message>
  <message name="IDS_CHROME_URLS_DISABLED_PAGE_TITLE" desc="The title for the blocked chrome URLs page.">
    Application blocked by your administrator
  </message>
  <message name="IDS_CHROME_URLS_DISABLED_PAGE_MESSAGE" desc="A paragraph informing the user that the application is blocked.">
    This application has been blocked by your administrator
  </message>

  <!-- Strings for Data Leak Prevention -->
  <message name="IDS_POLICY_DLP_CLIPBOARD_BLOCKED_ON_PASTE" desc="A notification informing the user that paste is blocked.">
    Pasting from <ph name="ORIGIN_NAME">$1<ex>corp.google.com</ex></ph> to this location is blocked by administrator policy
  </message>
  <message name="IDS_POLICY_DLP_CLIPBOARD_BLOCKED_ON_COPY_VM" desc="A toast informing the user that sharing clipboard data to VMs is blocked.">
    Sharing from <ph name="ORIGIN_NAME">$1<ex>corp.google.com</ex></ph> to <ph name="VM_NAME">$2<ex>Linux</ex></ph> has been blocked by administrator policy
  </message>
  <message name="IDS_POLICY_DLP_CLIPBOARD_BLOCK_TOAST_BUTTON" desc="Dismiss toast button label for disabled paste notification.">
    View details
  </message>
  <message name="IDS_POLICY_DLP_ANDROID_APPS" desc="Name shown for ARC in data leak prevention toasts.">
    Android apps
  </message>
  <message name="IDS_POLICY_DLP_CLIPBOARD_BLOCK_DISMISS_BUTTON" desc="Dismiss dialog button label for disabled paste notification.">
    Got it
  </message>
  <message name="IDS_POLICY_DLP_CLIPBOARD_WARN_ON_PASTE" desc="A notification warning the user that paste is not recommended.">
    Pasting from <ph name="ORIGIN_NAME">$1<ex>corp.google.com</ex></ph> to this location is not recommended by administrator policy
  </message>
  <message name="IDS_POLICY_DLP_CLIPBOARD_WARN_PROCEED_BUTTON" desc="Proceed dialog button label for warning before paste.">
    Paste anyway
  </message>
  <message name="IDS_POLICY_DLP_CLIPBOARD_WARN_ON_COPY_VM" desc="A toast informing the user that pasting the clipboard data to VMs is not recommended.">
    Copying and pasting this content to <ph name="VM_NAME">$1<ex>Linux</ex></ph> is not recommended by administrator policy
  </message>
  <message name="IDS_POLICY_DLP_PRINTING_BLOCKED_TITLE" desc="The title for notification informing the user that printing is blocked.">
    Printing is blocked
  </message>
  <message name="IDS_POLICY_DLP_PRINTING_BLOCKED_MESSAGE" desc="The message for notification informing the user that printing is blocked.">
    Printing this content is blocked by administrator policy
  </message>
  <message name="IDS_POLICY_DLP_PRINTING_WARN_TITLE" desc="The title for notification informing the user that printing is not recommended.">
    Print confidential file?
  </message>
  <message name="IDS_POLICY_DLP_PRINTING_WARN_MESSAGE" desc="The message for notification informing the user that printing is not recommended.">
    Administrator policy doesn’t recommend printing this content
  </message>
  <message name="IDS_POLICY_DLP_PRINTING_WARN_CONTINUE_BUTTON" desc="Continue dialog button label for warning before printing.">
    Print anyway
  </message>
  <message name="IDS_POLICY_DLP_SCREEN_SHARE_BLOCKED_TITLE" desc="The title for notification informing the user that screen share is blocked.">
    Can’t share confidential content
  </message>
  <message name="IDS_POLICY_DLP_SCREEN_SHARE_BLOCKED_MESSAGE" desc="The message for notification informing the user that screen share is blocked.">
    Administrator policy disables screen sharing with <ph name="APPLICATION_TITLE">$1<ex>example.com</ex></ph> when confidential content is visible
  </message>
  <message name="IDS_POLICY_DLP_SCREEN_SHARE_PAUSED_TITLE" desc="The title for notification informing the user that screen share is paused.">
    Screen share paused
  </message>
  <message name="IDS_POLICY_DLP_SCREEN_SHARE_PAUSED_MESSAGE" desc="The message for notification informing the user that screen share is paused.">
    Administrator policy disables screen sharing with <ph name="APPLICATION_TITLE">$1<ex>example.com</ex></ph> when confidential content is visible
  </message>
  <message name="IDS_POLICY_DLP_SCREEN_SHARE_RESUMED_TITLE" desc="The title for notification informing the user that screen share is resumed.">
    Screen share resumed
  </message>
  <message name="IDS_POLICY_DLP_SCREEN_SHARE_RESUMED_MESSAGE" desc="The message for notification informing the user that screen share is resumed.">
    Screen sharing with <ph name="APPLICATION_TITLE">$1<ex>example.com</ex></ph> was resumed
  </message>
  <message name="IDS_POLICY_DLP_SCREEN_CAPTURE_DISABLED_TITLE" desc="The title of the notification when capture mode is disabled because of confidential content.">
    Can't capture confidential content
  </message>
  <message name="IDS_POLICY_DLP_SCREEN_CAPTURE_DISABLED_MESSAGE" desc="The text of the notification when capture mode is disabled because of confidential content.">
    Administrator policy disables screen capture when confidential content is visible
  </message>
  <message name="IDS_POLICY_DLP_VIDEO_CAPTURE_STOPPED_TITLE" desc="The title of the notification when video capture is stopped because of confidential content.">
    Can't record confidential content
  </message>
  <message name="IDS_POLICY_DLP_VIDEO_CAPTURE_STOPPED_MESSAGE" desc="The text of the notification when video capture is stopped because of confidential content.">
    Administrator policy disables screen recording when confidential content is visible
  </message>
  <message name="IDS_POLICY_DLP_SCREEN_SHARE_WARN_TITLE" desc="The title for notification informing the user that screen sharing is not recommended.">
    Share confidential content?
  </message>
  <message name="IDS_POLICY_DLP_SCREEN_SHARE_WARN_MESSAGE" desc="The message for notification informing the user that screen sharing is not recommended.">
   Administrator policy doesn’t recommend sharing your screen with <ph name="APPLICATION_TITLE">$1<ex>example.com</ex></ph> when confidential content is visible:
  </message>
  <message name="IDS_POLICY_DLP_SCREEN_SHARE_WARN_CONTINUE_BUTTON" desc="Continue dialog button label for warning before screen sharing.">
    Share anyway
  </message>
  <message name="IDS_POLICY_DLP_SCREEN_CAPTURE_WARN_TITLE" desc="The title for notification informing the user that screen capture is not recommended.">
    Capture confidential content?
  </message>
  <message name="IDS_POLICY_DLP_SCREEN_CAPTURE_WARN_MESSAGE" desc="The message for notification informing the user that screen capture is not recommended.">
    Administrator policy doesn’t recommend taking screenshots or recordings when confidential content is visible:
  </message>
  <message name="IDS_POLICY_DLP_SCREEN_CAPTURE_WARN_CONTINUE_BUTTON" desc="Continue dialog button label for warning before screen capture.">
    Capture anyway
  </message>
  <message name="IDS_POLICY_DLP_VIDEO_CAPTURE_WARN_TITLE" desc="The title for notification informing the user that there was confidential information revealed during screen recording.">
    Capture confidential content?
  </message>
  <message name="IDS_POLICY_DLP_VIDEO_CAPTURE_WARN_MESSAGE" desc="The message for notification informing the user that there was confidential information revealed during screen recording.">
    Administrator policy doesn’t recommend taking screenshots or recordings when confidential content is visible:
  </message>
  <message name="IDS_POLICY_DLP_VIDEO_CAPTURE_WARN_CONTINUE_BUTTON" desc="Continue dialog button label for warning before saving a screen recording.">
    Save anyway
  </message>
  <message name="IDS_POLICY_DLP_VIDEO_CAPTURE_WARN_CANCEL_BUTTON" desc="Cancel dialog button label for warning before saving a screen recording.">
    Delete recording
  </message>
  <message name="IDS_POLICY_DLP_FILES_DOWNLOAD_WARN_TITLE" desc="The title for notification informing the user that downloading selected files is not recommended.">
        {0, plural,
          =1 {Download confidential file?}
          other {Download confidential files?}}
  </message>
  <message name="IDS_POLICY_DLP_FILES_TRANSFER_WARN_TITLE" desc="The title for notification informing the user that transferring selected files is not recommended.">
        {0, plural,
          =1 {Transfer confidential file?}
          other {Transfer confidential files?}}
  </message>
  <message name="IDS_POLICY_DLP_FILES_UPLOAD_WARN_TITLE" desc="The title for notification informing the user that uploading selected files is not recommended.">
        {0, plural,
          =1 {Upload confidential file?}
          other {Upload confidential files?}}
  </message>
  <message name="IDS_POLICY_DLP_FILES_MOVE_WARN_TITLE" desc="The title for notification informing the user that moving selected files is not recommended.">
        {0, plural,
          =1 {Move confidential file?}
          other {Move confidential files?}}
  </message>
  <message name="IDS_POLICY_DLP_FILES_COPY_WARN_TITLE" desc="The title for notification informing the user that copying selected files is not recommended.">
        {0, plural,
          =1 {Copy confidential file?}
          other {Copy confidential files?}}
  </message>
  <message name="IDS_POLICY_DLP_FILES_OPEN_WARN_TITLE" desc="The title for notification informing the user that opening selected files is not recommended.">
        {0, plural,
          =1 {Open confidential file?}
          other {Open confidential files?}}
  </message>
  <message name="IDS_POLICY_DLP_FILES_DOWNLOAD_REVIEW_TITLE" desc="The title for notification/dialog informing the user that downloading selected files is not recommended.">
    Review is required before downloading
  </message>
  <message name="IDS_POLICY_DLP_FILES_TRANSFER_REVIEW_TITLE" desc="The title for notification/dialog informing the user that transferring selected files is not recommended.">
    Review is required before transferring
  </message>
  <message name="IDS_POLICY_DLP_FILES_UPLOAD_REVIEW_TITLE" desc="The title for notification/dialog informing the user that uploading selected files is not recommended.">
    Review is required before uploading
  </message>
  <message name="IDS_POLICY_DLP_FILES_MOVE_REVIEW_TITLE" desc="The title for notification/dialog informing the user that moving selected files is not recommended.">
    Review is required before moving
  </message>
  <message name="IDS_POLICY_DLP_FILES_COPY_REVIEW_TITLE" desc="The title for notification/dialog informing the user that copying selected files is not recommended.">
    Review is required before copying
  </message>
  <message name="IDS_POLICY_DLP_FILES_OPEN_REVIEW_TITLE" desc="The title for notification/dialog informing the user that opening selected files is not recommended.">
    Review is required before opening
  </message>
  <message name="IDS_POLICY_DLP_FILES_DOWNLOAD_WARN_MESSAGE" desc="The message for notification informing the user that downloading files is not recommended.">
        {0, plural,
                =1 {Administrator policy doesn’t recommend downloading this file to <ph name="DESTINATION_NAME">$1<ex>External storage</ex></ph>}
                other {Administrator policy doesn’t recommend downloading these files to <ph name="DESTINATION_NAME">$1<ex>External storage</ex></ph>}}
  </message>
  <message name="IDS_POLICY_DLP_FILES_TRANSFER_WARN_MESSAGE" desc="The message for notification informing the user that transferring files is not recommended.">
        {0, plural,
                =1 {Administrator policy doesn’t recommend transferring this file to <ph name="DESTINATION_NAME">$1<ex>External storage</ex></ph>}
                other {Administrator policy doesn’t recommend transferring these files to <ph name="DESTINATION_NAME">$1<ex>External storage</ex></ph>}}
  </message>
  <message name="IDS_POLICY_DLP_FILES_UPLOAD_WARN_MESSAGE" desc="The message for notification informing the user that uploading files is not recommended.">
        {0, plural,
                =1 {Administrator policy doesn’t recommend uploading this file to <ph name="DESTINATION_NAME">$1<ex>External storage</ex></ph>}
                other {Administrator policy doesn’t recommend uploading these files to <ph name="DESTINATION_NAME">$1<ex>External storage</ex></ph>}}
  </message>
  <message name="IDS_POLICY_DLP_FILES_MOVE_WARN_MESSAGE" desc="The message for notification informing the user that moving files is not recommended.">
        {0, plural,
                =1 {Administrator policy doesn’t recommend moving this file to <ph name="DESTINATION_NAME">$1<ex>External storage</ex></ph>}
                other {Administrator policy doesn’t recommend moving these files to <ph name="DESTINATION_NAME">$1<ex>External storage</ex></ph>}}
  </message>
  <message name="IDS_POLICY_DLP_FILES_COPY_WARN_MESSAGE" desc="The message for notification informing the user that copying files is not recommended.">
        {0, plural,
                =1 {Administrator policy doesn’t recommend copying this file to <ph name="DESTINATION_NAME">$1<ex>External storage</ex></ph>}
                other {Administrator policy doesn’t recommend copying these files to <ph name="DESTINATION_NAME">$1<ex>External storage</ex></ph>}}
  </message>
  <message name="IDS_POLICY_DLP_FILES_OPEN_WARN_MESSAGE" desc="The message for notification informing the user that opening files is not recommended.">
        {0, plural,
                =1 {Administrator policy doesn’t recommend opening this file in <ph name="DESTINATION_NAME">$1<ex>External storage</ex></ph>}
                other {Administrator policy doesn’t recommend opening these files in <ph name="DESTINATION_NAME">$1<ex>External storage</ex></ph>}}
  </message>
  <message name="IDS_POLICY_DLP_FILES_WARN_MESSAGE" desc="The message for notification/dialog warning the user that the selected file(s) might contain sensitive content and need to be reviewed before performing an action (e.g. open, upload).">
        {0, plural,
                =1 {<ph name="FILE_NAME">$1<ex>Example.txt</ex></ph> may contain sensitive content}
                other {<ph name="FILE_COUNT">$1<ex>5</ex></ph> files may contain sensitive content}}
  </message>
  <message name="IDS_POLICY_DLP_FILES_DOWNLOAD_WARN_CONTINUE_BUTTON" desc="Continue dialog button label for warning before downloading files.">
    Download anyway
  </message>
  <message name="IDS_POLICY_DLP_FILES_TRANSFER_WARN_CONTINUE_BUTTON" desc="Continue dialog button label for warning before transferring files.">
    Transfer anyway
  </message>
  <message name="IDS_POLICY_DLP_FILES_UPLOAD_WARN_CONTINUE_BUTTON" desc="Continue dialog button label for warning before uploading files.">
    Upload anyway
  </message>
  <message name="IDS_POLICY_DLP_FILES_MOVE_WARN_CONTINUE_BUTTON" desc="Continue dialog button label for warning before moving files.">
    Move anyway
  </message>
  <message name="IDS_POLICY_DLP_FILES_COPY_WARN_CONTINUE_BUTTON" desc="Continue dialog button label for warning before copying files.">
    Copy anyway
  </message>
  <message name="IDS_POLICY_DLP_FILES_OPEN_WARN_CONTINUE_BUTTON" desc="Continue dialog button label for warning before opening files.">
    Open anyway
  </message>
  <message name="IDS_POLICY_DLP_FILES_DESTINATION_REMOVABLE_STORAGE" desc="A label for the 'Removable storage' files transfer destination.">
    Removable storage
  </message>
  <message name="IDS_POLICY_DLP_FILES_REVIEW_BUTTON" desc="The label of the warn or block notification 'Review' button, shown when some files action is under a policy restriction, that allows the user to open a dialog with more information.">
    Review
  </message>
  <message name="IDS_POLICY_DLP_FILES_DISMISS_BUTTON" desc="The label of the block notification 'Dismiss' button, shown when some files action was blocked due to policy.">
    Dismiss
  </message>
  <message name="IDS_POLICY_DLP_FILES_OK_BUTTON" desc="The label of the block dialog 'OK' button, shown when some files action was blocked due to policy.">
    OK
  </message>
  <message name="IDS_POLICY_DLP_WARN_CANCEL_BUTTON" desc="Cancel dialog button label for warning.">
    Cancel
  </message>
  <message name="IDS_POLICY_DLP_CLIPBOARD_BUBBLE_MESSAGE" desc="Text for a bubble that informs the user that their copy and paste action has been blocked/warned with a link to a help center article about Data Leak Prevention.">
    <ph name="BUBBLE_MESSAGE">$1<ex>Pasting from corp.google.com to this location is blocked by administrator policy</ex></ph>. <ph name="LEARN_MORE_TEXT">$2<ex>Learn more</ex></ph>
  </message>
  <message name="IDS_POLICY_DLP_FROM_YOUR_ADMIN_MESSAGE" desc="Introductory text specifying to users that the following message comes from their administrator.">
    From your administrator: "<ph name="ADMIN_MESSAGE">$1<ex>Files transfer is blocked by a company policy.</ex></ph>"
  </message>
  <message name="IDS_POLICY_DLP_FILES_DOWNLOAD_BLOCK_TITLE" desc="The title of the notification informing the user that downloading files is blocked.">
    Blocked download
  </message>
  <message name="IDS_POLICY_DLP_FILES_DOWNLOAD_BLOCK_MESSAGE" desc="The message of the notification informing the user that downloading files is blocked.">
    Downloading this file is blocked by administrator policy
  </message>
  <message name="IDS_POLICY_DLP_FILES_UPLOAD_BLOCK_TITLE" desc="The title of the notification informing the user that uploading files is blocked.">
    Blocked upload
  </message>
  <message name="IDS_POLICY_DLP_FILES_UPLOAD_BLOCK_MESSAGE" desc="The title of the notification informing the user that uploading files is blocked.">
     {0, plural,
                =1 {Uploading this file is blocked by administrator policy}
                other {Uploading # files is blocked by administrator policy}}
  </message>
  <message name="IDS_POLICY_DLP_FILES_OPEN_BLOCK_TITLE" desc="The title of the notification informing the user that opening files is blocked.">
    Blocked open
  </message>
  <message name="IDS_POLICY_DLP_FILES_OPEN_BLOCK_MESSAGE" desc="The title of the notification informing the user that opening files is blocked.">
     {0, plural,
                =1 {Opening this file is blocked by administrator policy}
                other {Opening # files is blocked by administrator policy}}
  </message>
  <message name="IDS_POLICY_DLP_FILES_DOWNLOAD_BLOCKED_TITLE" desc="The title of the notification/dialog informing the user that downloading files is blocked.">
     {0, plural,
                =1 {File blocked from downloading}
                other {<ph name="FILE_COUNT">$1<ex>5</ex></ph> files blocked from downloading}}
  </message>
  <message name="IDS_POLICY_DLP_FILES_TRANSFER_BLOCKED_TITLE" desc="The title of the notification/dialog informing the user that transferring files is blocked.">
     {0, plural,
                =1 {File blocked from transferring}
                other {<ph name="FILE_COUNT">$1<ex>5</ex></ph> files blocked from transferring}}
  </message>
  <message name="IDS_POLICY_DLP_FILES_UPLOAD_BLOCKED_TITLE" desc="The title of the notification/dialog informing the user that uploading files is blocked.">
     {0, plural,
                =1 {File blocked from uploading}
                other {<ph name="FILE_COUNT">$1<ex>5</ex></ph> files blocked from uploading}}
  </message>
  <message name="IDS_POLICY_DLP_FILES_MOVE_BLOCKED_TITLE" desc="The title of the notification/dialog informing the user that moving files is blocked.">
     {0, plural,
                =1 {File blocked from moving}
                other {<ph name="FILE_COUNT">$1<ex>5</ex></ph> files blocked from moving}}
  </message>
  <message name="IDS_POLICY_DLP_FILES_COPY_BLOCKED_TITLE" desc="The title of the notification/dialog informing the user that copying files is blocked.">
     {0, plural,
                =1 {File blocked from copying}
                other {<ph name="FILE_COUNT">$1<ex>5</ex></ph> files blocked from copying}}
  </message>
  <message name="IDS_POLICY_DLP_FILES_OPEN_BLOCKED_TITLE" desc="The title of the notification/dialog informing the user that opening files is blocked.">
     {0, plural,
                =1 {File blocked from opening}
                other {<ph name="FILE_COUNT">$1<ex>5</ex></ph> files blocked from opening}}
  </message>
  <message name="IDS_POLICY_DLP_FILES_POLICY_BLOCK_SINGLE_FILE_MESSAGE" desc="The message for notification/dialog informing the user an action (e.g. open, upload) of the selected file is blocked because of policy.">
    1 file was blocked because of policy
  </message>
  <message name="IDS_POLICY_DLP_FILES_POLICY_BLOCK_MESSAGE" desc="The message for notification/dialog informing the user an action (e.g. open, upload) of the selected file(s) is blocked because of policy.">
        {0, plural,
                =1 {<ph name="FILE_NAME">$1<ex>Example.txt</ex></ph> was blocked because of policy}
                other {<ph name="FILE_COUNT">$1<ex>5</ex></ph> files were blocked because of policy}}
  </message>
  <message name="IDS_POLICY_DLP_FILES_CONTENT_BLOCK_SINGLE_FILE_MESSAGE" desc="The message for notification/dialog informing the user an action (e.g. open, upload) of the selected file is blocked because of sensitive content.">
    1 file was blocked because of content
  </message>
  <message name="IDS_POLICY_DLP_FILES_CONTENT_BLOCK_MESSAGE" desc="The message for notification/dialog informing the user an action (e.g. open, upload) of the selected file(s) is blocked because of sensitive content.">
        {0, plural,
                =1 {<ph name="FILE_NAME">$1<ex>Example.txt</ex></ph> was blocked because of content}
                other {<ph name="FILE_COUNT">$1<ex>5</ex></ph> files were blocked because of content}}
  </message>
  <message name="IDS_POLICY_DLP_FILES_BLOCK_MESSAGE" desc="The message for notification shown when an action (e.g. open, upload) of several files was blocked, that the user can review in more detail by opening a dialog.">
    Review for further details
  </message>
  <message name="IDS_POLICY_DLP_FILES_DOWNLOAD_JUSTIFICATION_LABEL" desc="Text shown in a label above an input area where the user should provide a justification before downlading a file.">
    Provide reason for downloading (required)
  </message>
  <message name="IDS_POLICY_DLP_FILES_UPLOAD_JUSTIFICATION_LABEL" desc="Text shown in a label above an input area where the user should provide a justification before uploading a file.">
    Provide reason for uploading (required)
  </message>
  <message name="IDS_POLICY_DLP_FILES_COPY_JUSTIFICATION_LABEL" desc="Text shown in a label above an input area where the user should provide a justification before copying a file.">
    Provide reason for copying (required)
  </message>
  <message name="IDS_POLICY_DLP_FILES_MOVE_JUSTIFICATION_LABEL" desc="Text shown in a label above an input area where the user should provide a justification before moving a file.">
    Provide reason for moving (required)
  </message>
  <message name="IDS_POLICY_DLP_FILES_OPEN_JUSTIFICATION_LABEL" desc="Text shown in a label above an input area where the user should provide a justification before opening a file.">
    Provide reason for opening (required)
  </message>
  <message name="IDS_POLICY_DLP_FILES_TRANSFER_JUSTIFICATION_LABEL" desc="Text shown in a label above an input area where the user should provide a justification before transferring a file.">
    Provide reason for transferring (required)
  </message>
  <message name="IDS_POLICY_DLP_FILES_DOWNLOAD_TIMEOUT_TITLE" desc="The title for notification shown after a DLP files warning times out.">
    Downloading timed out
  </message>
  <message name="IDS_POLICY_DLP_FILES_TRANSFER_TIMEOUT_TITLE" desc="The title for notification shown after a DLP files warning times out.">
    Transferring timed out
  </message>
  <message name="IDS_POLICY_DLP_FILES_UPLOAD_TIMEOUT_TITLE" desc="The title for notification shown after a DLP files warning times out.">
    Uploading timed out
  </message>
  <message name="IDS_POLICY_DLP_FILES_MOVE_TIMEOUT_TITLE" desc="The title for notification shown after a DLP files warning times out.">
    Moving timed out
  </message>
  <message name="IDS_POLICY_DLP_FILES_COPY_TIMEOUT_TITLE" desc="The title for notification shown after a DLP files warning times out.">
    Copying timed out
  </message>
  <message name="IDS_POLICY_DLP_FILES_OPEN_TIMEOUT_TITLE" desc="The title for notification shown after a DLP files warning times out.">
    Opening timed out
  </message>
  <message name="IDS_POLICY_DLP_FILES_DOWNLOAD_TIMEOUT_MESSAGE" desc="The message for notification shown after a DLP files warning times out.">
    Try downloading your files again
  </message>
  <message name="IDS_POLICY_DLP_FILES_TRANSFER_TIMEOUT_MESSAGE" desc="The message for notification shown after a DLP files warning times out.">
    Try transferring your files again
  </message>
  <message name="IDS_POLICY_DLP_FILES_UPLOAD_TIMEOUT_MESSAGE" desc="The message for notification shown after a DLP files warning times out.">
    Try uploading your files again
  </message>
  <message name="IDS_POLICY_DLP_FILES_MOVE_TIMEOUT_MESSAGE" desc="The message for notification shown after a DLP files warning times out.">
    Try moving your files again
  </message>
  <message name="IDS_POLICY_DLP_FILES_COPY_TIMEOUT_MESSAGE" desc="The message for notification shown after a DLP files warning times out.">
    Try copying your files again
  </message>
  <message name="IDS_POLICY_DLP_FILES_OPEN_TIMEOUT_MESSAGE" desc="The message for notification shown after a DLP files warning times out.">
    Try opening your files again
  </message>
 <message name="IDS_POLICY_DLP_FILES_LEARN_MORE_ABOUT_DATA_CONTROLS_ACCESSIBLE_NAME" desc="The message is read to ChromeVox users when they focus a generic learn more link related to data controls.">
    Learn more about Data Controls
  </message>
 <message name="IDS_POLICY_DLP_FILES_LEARN_MORE_ABOUT_MALWARE_PROTECTION_ACCESSIBLE_NAME" desc="The message is read to ChromeVox users when they focus a generic learn more link related to enterprise connector's malware protection.">
    Learn more about Malware protection
  </message>
 <message name="IDS_POLICY_DLP_FILES_LEARN_MORE_ABOUT_SENSITIVE_DATA_PROTECTION_ACCESSIBLE_NAME" desc="The message is read to ChromeVox users when they focus a generic learn more link related to enterprise connector's sensitive data protection.">
    Learn more about Sensitive Data protection
  </message>
  <message name="IDS_POLICY_DLP_FILES_JUSTIFICATION_TEXTAREA_ACCESSIBLE_DESCRIPTION" desc="The message is read to ChromeVox users when they focus the justification text area.">
    Please enter a justification message having at most <ph name="MAX_CHAR_COUNT">$2<ex>280</ex></ph> characters. Used <ph name="ACTUAL_CHAR_COUNT">$1<ex>10</ex></ph> out of <ph name="MAX_CHAR_COUNT">$2<ex>280</ex></ph> characters.
  </message>
  <message name="IDS_POLICY_DEVICE_SCHEDULED_REBOOT_TITLE" desc="The title for notification informing the user that the device will restart soon.">
    Device will restart very soon
  </message>
  <message name="IDS_POLICY_DEVICE_SCHEDULED_REBOOT_MESSAGE" desc="The message for notification informing the user that the device will restart soon.">
    Your administrator will restart your device at <ph name="TIME">$1<ex>3:20 PM</ex></ph> on <ph name="DATE">$2<ex>Nov 29, 2021</ex></ph>
  </message>
  <message name="IDS_POLICY_REBOOT_BUTTON" desc="Notification button label for restarting the device.">
    Restart now
  </message>
  <message name="IDS_POLICY_DEVICE_SCHEDULED_REBOOT_DIALOG_MESSAGE" desc="The message of the dialog informing the user that the device will restart soon.">
    Your administrator will restart your device automatically at <ph name="TIME">$1<ex>3:20 PM</ex></ph> on <ph name="DATE">$2<ex>Nov 29, 2021</ex></ph>. Save any open items before your device restarts.
  </message>
  <message name="IDS_REBOOT_SCHEDULED_TITLE_MINUTES" desc="The title of a dialog that tells users the device will be restarted within one or more minutes.">
        {0, plural,
          =1 {Your device will restart in 1 minute}
          other {Your device will restart in # minutes}}
  </message>
  <message name="IDS_REBOOT_SCHEDULED_TITLE_SECONDS" desc="The title of a dialog that tells users the device will be restarted within some number of seconds.">
        {0, plural,
          =0 {Your device will restart now}
          =1 {Your device will restart in 1 second}
          other {Your device will restart in # seconds}}
  </message>
  <message name="IDS_POLICY_DEVICE_POST_REBOOT_TITLE" desc="The title for notification informing the user that the device was restarted by the administrator.">
    Your administrator restarted your device
  </message>
  <message name="IDS_POLICY_BROWSING_DATA_DEPENDENCY_APPLIED_INFO" desc="The text displayed in the status column when a browsing data policy is applied for types for which sync will be automatically disabled.">
    This policy automatically disables syncing across devices for: <ph name="ACTION_LIST">$1<ex>passwords, autofill</ex></ph>.
  </message>
  <message name="IDS_POLICY_NOT_SUPPORTED_AS_USER_POLICY_ON_IOS" desc="The text displayed in the status column when a policy is not supported as a user policy on ios.">
    This policy is not yet supported as a user policy on iOS.
  </message>
</grit-part>
