<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2011 The Android Open Source Project

     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 xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <!-- Text displayed when the recipientedittextview is not focused. Displays the total number of recipients since the field is shrunk to just display a portion -->
    <string name="more_string">\u002B<xliff:g id="count">%1$d</xliff:g></string>
    <!-- Text displayed when the user long presses on a chip to copy the recipients email address [CHAR LIMIT=200] -->
    <string name="copy_email">Copy email address</string>
    <!-- Text displayed when the user long presses on a chip to copy the recipient's phone number [CHAR LIMIT=200] -->
    <string name="copy_number">Copy phone number</string>
    <!-- Text displayed in the enter key slot when the recipientedittextview has focus [CHAR LIMIT=12] -->
    <string name="action_label">Return</string>
    <!-- Announce the number of possible recipient entries that the user can select from for accessibility purposes [CHAR LIMIT=200] -->
    <string name="accessbility_suggestion_dropdown_opened">Contact suggestions opened</string>
    <!-- Announce that there are no possible recipient entries that the user can select from for accessibility purposes [CHAR LIMIT=200] -->
    <string name="accessbility_suggestion_dropdown_closed">No suggestions available</string>
    <!-- Description for the delete button that removes the selected contact from the recipients [CHAR LIMIT=100] -->
    <string name="dropdown_delete_button_desc">Remove <xliff:g id="contact">%s</xliff:g> from recipients</string>
    <!-- Text displayed as the primary action for a dialog to copy text. [CHAR LIMIT=25] -->
    <string name="chips_action_copy">Copy</string>
    <!-- Text displayed as the secondary action for a dialog to cancel. [CHAR LIMIT=25] -->
    <string name="chips_action_cancel">Cancel</string>
    <!-- Text displayed on the drop down item that is shown when app doesn't have Contact permission. This item will open dialog to request permission. [CHAR LIMIT=50] -->
    <string name="chips_permission_text">Allow contacts suggestions</string>
</resources>
