<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2009 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:android="http://schemas.android.com/apk/res/android"
    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <string name="sharedUserLabel" msgid="8024311725474286801">"Android Core Apps"</string>
    <string name="app_label" msgid="3389954322874982620">"Contacts Storage"</string>
    <string name="provider_label" msgid="6012150850819899907">"Contacts"</string>
    <string name="upgrade_out_of_memory_notification_ticker" msgid="7638747231223520477">"Contact upgrade needs more memory."</string>
    <string name="upgrade_out_of_memory_notification_title" msgid="8888171924684998531">"Upgrading storage for contacts"</string>
    <string name="upgrade_out_of_memory_notification_text" msgid="2581831842693151968">"Tap to complete the upgrade."</string>
    <string name="default_directory" msgid="93961630309570294">"Contacts"</string>
    <string name="local_invisible_directory" msgid="705244318477396120">"Other"</string>
    <string name="voicemail_from_column" msgid="435732568832121444">"Voicemail from "</string>
    <string name="debug_dump_title" msgid="4916885724165570279">"Copy contacts database"</string>
    <string name="debug_dump_database_message" msgid="406438635002392290">"You are about to 1) make a copy of your database which includes all contacts related information and all call log to the internal storage, and 2) email it. Remember to delete the copy as soon as you have successfully copied it off the device or the email is received."</string>
    <string name="debug_dump_delete_button" msgid="7832879421132026435">"Delete now"</string>
    <string name="debug_dump_start_button" msgid="2837506913757600001">"Start"</string>
    <string name="debug_dump_email_sender_picker" msgid="3534420908672176460">"Choose a programme to send your file"</string>
    <string name="debug_dump_email_subject" msgid="108188398416385976">"Contacts Db attached"</string>
    <string name="debug_dump_email_body" msgid="4577749800871444318">"Attached is my contacts database with all my contacts information. Handle with care."</string>
</resources>
