<?xml version="1.0" encoding="utf-8"?>
<!--
  Copyright 2016 The Cobalt Authors. All Rights Reserved.

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->

<resources>
  <!-- Error message when there's a problem connecting to the network. -->
  <string name="starboard_platform_connection_error">Can\'t connect right now</string>
  <!-- Button label on network connection error to retry the request. -->
  <string name="starboard_platform_retry">Try again</string>
  <!-- Button label on network connection error to open system network settings. -->
  <string name="starboard_platform_network_settings">Open network settings</string>
  <!-- Toast message when we can't get the device account to sign in. -->
  <string name="starboard_account_picker_error">Account not available.</string>
  <!-- Toast message when we the account can't be authorized. -->
  <string name="starboard_account_auth_error">Account authorization failed.</string>
  <!-- Toast message indicating that the selected account is no longer available to sign-in. -->
  <string name="starboard_missing_account">Account not available:\n%1$s</string>
  <!-- Toast message shown when the user has denied permission to get device accounts. -->
  <string name="starboard_accounts_permission">Sign in requires Contacts permission to be granted in system settings.</string>
</resources>
