<?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">"Kernapps van Android"</string>
    <string name="app_label" msgid="3389954322874982620">"Opslag contacten"</string>
    <string name="provider_label" msgid="6012150850819899907">"Contacten"</string>
    <string name="upgrade_out_of_memory_notification_ticker" msgid="7638747231223520477">"Voor het bijwerken van contacten is meer geheugen nodig."</string>
    <string name="upgrade_out_of_memory_notification_title" msgid="8888171924684998531">"Opslag voor contacten bijwerken"</string>
    <string name="upgrade_out_of_memory_notification_text" msgid="8438179450336437626">"Raak aan om de upgrade te voltooien."</string>
    <string name="default_directory" msgid="93961630309570294">"Contacten"</string>
    <string name="local_invisible_directory" msgid="705244318477396120">"Overig"</string>
    <string name="voicemail_from_column" msgid="435732568832121444">"Voicemail van "</string>
    <string name="debug_dump_title" msgid="4916885724165570279">"Contactendatabase kopiëren"</string>
    <string name="debug_dump_database_message" msgid="406438635002392290">"Je staat op het punt 1) een kopie van je database met alle contactgegevens en oproeplogboeken te maken in de interne opslag, en 2) deze te e-mailen. Verwijder de kopie zodra je deze van het apparaat hebt gekopieerd of de e-mail is ontvangen."</string>
    <string name="debug_dump_delete_button" msgid="7832879421132026435">"Nu verwijderen"</string>
    <string name="debug_dump_start_button" msgid="2837506913757600001">"Starten"</string>
    <string name="debug_dump_email_sender_picker" msgid="3534420908672176460">"Selecteer een programma om je bestand te verzenden"</string>
    <string name="debug_dump_email_subject" msgid="108188398416385976">"Contactendatabase bijgevoegd"</string>
    <string name="debug_dump_email_body" msgid="4577749800871444318">"Bijgevoegd is mijn contactendatabase met al mijn contactgegevens. Ga hier zorgvuldig mee om."</string>
</resources>
