<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2012 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">

  <!-- Action string for calling a custom phone number -->
    <string name="call_custom">Call
        <xliff:g id="custom">%s</xliff:g>
    </string>
  <!-- Action string for calling a home phone number -->
  <string name="call_home">Call home</string>
  <!-- Action string for calling a mobile phone number -->
  <string name="call_mobile">Call mobile</string>
  <!-- Action string for calling a work phone number -->
  <string name="call_work">Call work</string>
  <!-- Action string for calling a work fax phone number -->
  <string name="call_fax_work">Call work fax</string>
  <!-- Action string for calling a home fax phone number -->
  <string name="call_fax_home">Call home fax</string>
  <!-- Action string for calling a pager phone number -->
  <string name="call_pager">Call pager</string>
  <!-- Action string for calling an other phone number -->
  <string name="call_other">Call</string>
  <!-- Action string for calling a callback number -->
  <string name="call_callback">Call callback</string>
  <!-- Action string for calling a car phone number -->
  <string name="call_car">Call car</string>
  <!-- Action string for calling a company main phone number -->
  <string name="call_company_main">Call company main</string>
  <!-- Action string for calling a ISDN phone number -->
  <string name="call_isdn">Call ISDN</string>
  <!-- Action string for calling a main phone number -->
  <string name="call_main">Call main</string>
  <!-- Action string for calling an other fax phone number -->
  <string name="call_other_fax">Call fax</string>
  <!-- Action string for calling a radio phone number -->
  <string name="call_radio">Call radio</string>
  <!-- Action string for calling a Telex phone number -->
  <string name="call_telex">Call telex</string>
  <!-- Action string for calling a TTY/TDD phone number -->
  <string name="call_tty_tdd">Call TTY/TDD</string>
  <!-- Action string for calling a work mobile phone number -->
  <string name="call_work_mobile">Call work mobile</string>
  <!-- Action string for calling a work pager phone number -->
  <string name="call_work_pager">Call work pager</string>
  <!-- Action string for calling an assistant phone number -->
    <string name="call_assistant">Call
        <xliff:g id="assistant">%s</xliff:g>
    </string>
  <!-- Action string for calling a MMS phone number -->
  <string name="call_mms">Call MMS</string>

  <!-- Action string for sending an SMS to a custom phone number -->
    <string name="sms_custom">Text
        <xliff:g id="custom">%s</xliff:g>
    </string>
  <!-- Action string for sending an SMS to a home phone number -->
  <string name="sms_home">Text home</string>
  <!-- Action string for sending an SMS to a mobile phone number -->
  <string name="sms_mobile">Text mobile</string>
  <!-- Action string for sending an SMS to a work phone number -->
  <string name="sms_work">Text work</string>
  <!-- Action string for sending an SMS to a work fax phone number -->
  <string name="sms_fax_work">Text work fax</string>
  <!-- Action string for sending an SMS to a home fax phone number -->
  <string name="sms_fax_home">Text home fax</string>
  <!-- Action string for sending an SMS to a pager phone number -->
  <string name="sms_pager">Text pager</string>
  <!-- Action string for sending an SMS to an other phone number -->
  <string name="sms_other">Text</string>
  <!-- Action string for sending an SMS to a callback number -->
  <string name="sms_callback">Text callback</string>
  <!-- Action string for sending an SMS to a car phone number -->
  <string name="sms_car">Text car</string>
  <!-- Action string for sending an SMS to a company main phone number -->
  <string name="sms_company_main">Text company main</string>
  <!-- Action string for sending an SMS to a ISDN phone number -->
  <string name="sms_isdn">Text ISDN</string>
  <!-- Action string for sending an SMS to a main phone number -->
  <string name="sms_main">Text main</string>
  <!-- Action string for sending an SMS to an other fax phone number -->
  <string name="sms_other_fax">Text fax</string>
  <!-- Action string for sending an SMS to a radio phone number -->
  <string name="sms_radio">Text radio</string>
  <!-- Action string for sending an SMS to a Telex phone number -->
  <string name="sms_telex">Text telex</string>
  <!-- Action string for sending an SMS to a TTY/TDD phone number -->
  <string name="sms_tty_tdd">Text TTY/TDD</string>
  <!-- Action string for sending an SMS to a work mobile phone number -->
  <string name="sms_work_mobile">Text work mobile</string>
  <!-- Action string for sending an SMS to a work pager phone number -->
  <string name="sms_work_pager">Text work pager</string>
  <!-- Action string for sending an SMS to an assistant phone number -->
    <string name="sms_assistant">Text
        <xliff:g id="assistant">%s</xliff:g>
    </string>
  <!-- Action string for sending an SMS to a MMS phone number -->
  <string name="sms_mms">Text MMS</string>

  <!-- Title of the confirmation dialog for clearing frequents. [CHAR LIMIT=37] -->
  <string name="clearFrequentsConfirmation_title">Clear frequently contacted?</string>

  <!-- Confirmation dialog for clearing frequents. [CHAR LIMIT=NONE] -->
    <string name="clearFrequentsConfirmation">You\'ll clear the frequently contacted list in the
        Contacts and Phone apps, and force email apps to learn your addressing preferences from
        scratch.
    </string>

  <!-- Title of the "Clearing frequently contacted" progress-dialog [CHAR LIMIT=35] -->
  <string name="clearFrequentsProgress_title">Clearing frequently contacted\u2026</string>

  <!--  Used to display as default status when the contact is available for chat [CHAR LIMIT=19] -->
  <string name="status_available">Available</string>

  <!--  Used to display as default status when the contact is away or idle for chat [CHAR LIMIT=19] -->
  <string name="status_away">Away</string>

  <!--  Used to display as default status when the contact is busy or Do not disturb for chat [CHAR LIMIT=19] -->
  <string name="status_busy">Busy</string>

  <!-- Directory partition name (also exists in contacts) -->
  <string name="contactsList">Contacts</string>

  <!-- Directory partition name for p13n suggestions -->
  <string name="contact_suggestions">Top Suggested</string>

  <!-- The name of the invisible local contact directory -->
  <string name="local_invisible_directory">Other</string>

  <!-- The label in section header in the contact list for a contact directory [CHAR LIMIT=128] -->
  <string name="directory_search_label">Directory</string>

  <!-- The label in section header in the contact list for a work contact directory [CHAR LIMIT=128] -->
  <string name="directory_search_label_work">Work directory</string>

  <!-- The label in section header in the contact list for a local contacts [CHAR LIMIT=128] -->
  <string name="local_search_label">All contacts</string>

  <!-- The label in section header in the contact list for a local suggested contacts [CHAR LIMIT=128] -->
  <string name="local_suggestions_search_label">Suggestions</string>

  <!-- String describing the text on the header of the profile contact in the contacts list
       This may be programatically capitalized. [CHAR LIMIT=20] -->
  <string msgid="9154761216179882405" name="user_profile_contacts_list_header">Me</string>

  <!-- Shown as the display name for a person when the name is missing or unknown. [CHAR LIMIT=18]-->
  <string name="missing_name">(No name)</string>

  <!-- String describing a contact picture that introduces users to the contact detail screen.

     Used by AccessibilityService to announce the purpose of the button.

     [CHAR LIMIT=NONE]
  -->
  <string msgid="2795575601596468581" name="description_view_contact_detail">View contact</string>

  <!-- Contact list filter selection indicating that the list shows all contacts with phone numbers [CHAR LIMIT=64] -->
  <string name="list_filter_phones">All contacts with phone numbers</string>

  <!-- Contact list filter selection indicating that the list shows all work contacts with phone numbers [CHAR LIMIT=64] -->
  <string name="list_filter_phones_work">Work profile contacts</string>

  <!-- Button to view the updates from the current group on the group detail page [CHAR LIMIT=25] -->
  <string name="view_updates_from_group">View updates</string>

  <!-- Title for data source when creating or editing a contact that doesn't
       belong to a specific account.  This contact will only exist on the device
       and will not be synced. -->
  <string name="account_phone">Device-only, unsynced</string>

  <!-- Header that expands to list all name types when editing a structured name of a contact
       [CHAR LIMIT=20] -->
  <string name="nameLabelsGroup">Name</string>

  <!-- Header that expands to list all nickname types when editing a nickname of a contact
       [CHAR LIMIT=20] -->
  <string name="nicknameLabelsGroup">Nickname</string>

  <!-- Field title for the full name of a contact [CHAR LIMIT=64]-->
  <string name="full_name">Name</string>
  <!-- Field title for the given name of a contact -->
  <string name="name_given">First name</string>
  <!-- Field title for the family name of a contact -->
  <string name="name_family">Last name</string>
  <!-- Field title for the prefix name of a contact -->
  <string name="name_prefix">Name prefix</string>
  <!-- Field title for the middle name of a contact -->
  <string name="name_middle">Middle name</string>
  <!-- Field title for the suffix name of a contact -->
  <string name="name_suffix">Name suffix</string>

  <!-- Field title for the phonetic name of a contact [CHAR LIMIT=64]-->
  <string name="name_phonetic">Phonetic name</string>

  <!-- Field title for the phonetic given name of a contact -->
  <string name="name_phonetic_given">Phonetic first name</string>
  <!-- Field title for the phonetic middle name of a contact -->
  <string name="name_phonetic_middle">Phonetic middle name</string>
  <!-- Field title for the phonetic family name of a contact -->
  <string name="name_phonetic_family">Phonetic last name</string>

  <!-- Header that expands to list all of the types of phone numbers when editing or creating a
       phone number for a contact [CHAR LIMIT=20] -->
  <string name="phoneLabelsGroup">Phone</string>

  <!-- Header that expands to list all of the types of email addresses when editing or creating
       an email address for a contact [CHAR LIMIT=20] -->
  <string name="emailLabelsGroup">Email</string>

  <!-- Header that expands to list all of the types of postal addresses when editing or creating
       an postal address for a contact [CHAR LIMIT=20] -->
  <string name="postalLabelsGroup">Address</string>

  <!-- Header that expands to list all of the types of IM account when editing or creating an IM
       account for a contact [CHAR LIMIT=20] -->
  <string name="imLabelsGroup">IM</string>

  <!-- Header that expands to list all organization types when editing an organization of a
       contact [CHAR LIMIT=20] -->
  <string name="organizationLabelsGroup">Organization</string>

  <!-- Header for the list of all relationships for a contact [CHAR LIMIT=20] -->
  <string name="relationLabelsGroup">Relationship</string>

  <!-- Header that expands to list all event types when editing an event of a contact
       [CHAR LIMIT=20] -->
  <string name="eventLabelsGroup">Special date</string>

  <!-- Generic action string for text messaging a contact. Used by AccessibilityService to
       announce the purpose of the view. [CHAR LIMIT=NONE] -->
  <string name="sms">Text message</string>

  <!-- Field title for the full postal address of a contact [CHAR LIMIT=64]-->
  <string name="postal_address">Address</string>

  <!-- Hint text for the organization name when editing -->
  <string name="ghostData_company">Company</string>

  <!-- Hint text for the organization title when editing -->
  <string name="ghostData_title">Title</string>

  <!-- The label describing the Notes field of a contact. This field allows free form text entry
       about a contact -->
  <string name="label_notes">Notes</string>

  <!-- The label describing the SIP address field of a contact. [CHAR LIMIT=20] -->
  <string name="label_sip_address">SIP</string>

  <!-- Header that expands to list all website types when editing a website of a contact
       [CHAR LIMIT=20] -->
  <string name="websiteLabelsGroup">Website</string>

  <!-- Header for the list of all groups for a contact [CHAR LIMIT=20] -->
  <string name="groupsLabel">Groups</string>

  <!-- Action string for sending an email to a home email address -->
  <string name="email_home">Email home</string>
  <!-- Action string for sending an email to a mobile email address -->
  <string name="email_mobile">Email mobile</string>
  <!-- Action string for sending an email to a work email address -->
  <string name="email_work">Email work</string>
  <!-- Action string for sending an email to an other email address -->
  <string name="email_other">Email</string>
  <!-- Action string for sending an email to a custom email address -->
  <string name="email_custom">Email <xliff:g id="custom">%s</xliff:g></string>

  <!-- Generic action string for sending an email -->
  <string name="email">Email</string>

  <!-- Field title for the street of a structured postal address of a contact -->
  <string name="postal_street">Street</string>
  <!-- Field title for the city of a structured postal address of a contact -->
  <string name="postal_city">City</string>
  <!-- Field title for the region, or state, of a structured postal address of a contact -->
  <string name="postal_region">State</string>
  <!-- Field title for the postal code of a structured postal address of a contact -->
  <string name="postal_postcode">ZIP code</string>
  <!-- Field title for the country of a structured postal address of a contact -->
  <string name="postal_country">Country</string>

  <!-- Action string for viewing a home postal address -->
  <string name="map_home">View home address</string>
  <!-- Action string for viewing a work postal address -->
  <string name="map_work">View work address</string>
  <!-- Action string for viewing an other postal address -->
  <string name="map_other">View address</string>
  <!-- Action string for viewing a custom postal address -->
  <string name="map_custom">View <xliff:g id="custom">%s</xliff:g> address</string>

  <!-- Action string for starting an IM chat with the AIM protocol -->
  <string name="chat_aim">Chat using AIM</string>
  <!-- Action string for starting an IM chat with the MSN or Windows Live protocol -->
  <string name="chat_msn">Chat using Windows Live</string>
  <!-- Action string for starting an IM chat with the Yahoo protocol -->
  <string name="chat_yahoo">Chat using Yahoo</string>
  <!-- Action string for starting an IM chat with the Skype protocol -->
  <string name="chat_skype">Chat using Skype</string>
  <!-- Action string for starting an IM chat with the QQ protocol -->
  <string name="chat_qq">Chat using QQ</string>
  <!-- Action string for starting an IM chat with the Google Talk protocol -->
  <string name="chat_gtalk">Chat using Google Talk</string>
  <!-- Action string for starting an IM chat with the ICQ protocol -->
  <string name="chat_icq">Chat using ICQ</string>
  <!-- Action string for starting an IM chat with the Jabber protocol -->
  <string name="chat_jabber">Chat using Jabber</string>

  <!-- Generic action string for starting an IM chat -->
  <string name="chat">Chat</string>

  <!-- Contact list filter label indicating that the list is showing all available accounts [CHAR LIMIT=64] -->
  <string name="list_filter_all_accounts">All contacts</string>

  <!-- Displayed at the top of the contacts showing the account filter selected  [CHAR LIMIT=64] -->
  <string name="listAllContactsInAccount">Contacts in <xliff:g example="abc@gmail.com" id="name">%s</xliff:g></string>

  <!-- Displayed at the top of the contacts showing single contact. [CHAR LIMIT=64] -->
  <string name="listCustomView">Contacts in custom view</string>

  <!-- Displayed at the top of the contacts showing single contact. [CHAR LIMIT=64] -->
  <string name="listSingleContact">Single contact</string>

  <!--  The menu item to clear frequents [CHAR LIMIT=30] -->
  <string name="menu_clear_frequents">Clear frequents</string>

  <!-- Content description for the fake action menu up button as used
   inside search. [CHAR LIMIT=NONE] -->
  <string name="action_menu_back_from_search">stop searching</string>

  <!--  String describing the icon used to clear the search field -->
  <string name="description_clear_search">Clear search</string>

  <!-- The font-family to use for the text inside the searchbox. -->
  <string name="search_font_family" translatable="false">sans-serif</string>

  <!-- Title for Select Account Dialog [CHAR LIMIT=30] -->
  <string name="select_account_dialog_title">Account</string>

  <!-- Label for the check box to toggle default sim card setting [CHAR LIMIT=35]-->
  <string name="set_default_account">Always use this for calls</string>

  <!-- Title for dialog to select Phone Account for outgoing call.  [CHAR LIMIT=40] -->
  <string name="select_phone_account_for_calls">Choose SIM for this call</string>

  <!-- Checkbox label when selecting a SIM when calling a contact, to use the selected SIM for the
   same contact and never ask again [CHAR LIMIT=40]-->
  <string name="select_phone_account_for_calls_remember">Remember this choice</string>

  <!-- String used for actions in the dialer call log and the quick contact card to initiate
       a call to an individual.  The user is prompted to enter a note which is sent along with
       the call (e.g. a call subject). [CHAR LIMIT=40] -->
  <string name="call_with_a_note">Call with a note</string>

  <!-- Hint text shown in the call subject dialog. [CHAR LIMIT=255] -->
  <string name="call_subject_hint">Type a note to send with call ...</string>

  <!-- Button used to start a new call with the user entered subject. [CHAR LIMIT=32] -->
  <string name="send_and_call_button">SEND &amp; CALL</string>

  <!-- String used to represent the total number of characters entered for a call subject,
       compared to the character limit.  Example: 2 / 64 -->
  <string name="call_subject_limit"><xliff:g example="4" id="count">%1$s</xliff:g> / <xliff:g example="64" id="limit">%2$s</xliff:g></string>

  <!-- String used to build a phone number type and phone number string.
       Example: Mobile 650-555-1212  -->
  <string name="old_call_subject_type_and_number"><xliff:g example="Mobile" id="type">%1$s</xliff:g> <xliff:g example="(650) 555-1212" id="number">%2$s</xliff:g></string>

  <!-- String format to describe a tab e.g.call history tab. -->
  <string name="tab_title"><xliff:g id="title">%1$s</xliff:g> tab.</string>

  <!-- String format to describe the number of unread items in a tab.

      Note: AccessibilityServices use this attribute to announce what the view represents.
            This is especially valuable for views without textual representation like ImageView.
  -->
  <plurals name="tab_title_with_unread_items">
        <item quantity="one">
            <xliff:g id="title">%1$s</xliff:g> tab. <xliff:g id="count">%2$d</xliff:g> unread item.
        </item>
        <item quantity="other">
            <xliff:g id="title">%1$s</xliff:g> tab. <xliff:g id="count">%2$d</xliff:g> unread items.
        </item>
  </plurals>

  <!-- Description string for an action button to initiate a video call from search results.
       Note: AccessibilityServices use this attribute to announce what the view represents.
       This is especially valuable for views without textual representation like ImageView.

       [CHAR LIMIT=NONE]-->
  <string name="description_search_video_call">Video call</string>

  <!-- Description string for an action button to initiate an enriched call from search results.
       Note: AccessibilityServices use this attribute to announce what the view represents.
       This is especially valuable for views without textual representation like ImageView.

       [CHAR LIMIT=NONE]-->
  <string name="description_search_call_and_share">Share and call</string>
</resources>
