<?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"><xliff:g id="count">%1$s</xliff:g> more...</string>

    <!-- Text displayed when there are remote directories not returning results.
         [CHAR LIMIT=50] -->
    <string name="chips_waiting_for_directory_result">Waiting for more contacts</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="done">Return</string>
</resources>
