<?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">"Apl Teras Android"</string>
    <string name="app_label" msgid="3389954322874982620">"Storan Kenalan"</string>
    <string name="provider_label" msgid="6012150850819899907">"Kenalan"</string>
    <string name="upgrade_out_of_memory_notification_ticker" msgid="7638747231223520477">"Peningkatan kenalan memerlukan lebih banyak memori."</string>
    <string name="upgrade_out_of_memory_notification_title" msgid="8888171924684998531">"Meningkatkan storan untuk kenalan"</string>
    <string name="upgrade_out_of_memory_notification_text" msgid="8438179450336437626">"Sentuh untuk menyelesaikan peningkatan."</string>
    <string name="default_directory" msgid="93961630309570294">"Kenalan"</string>
    <string name="local_invisible_directory" msgid="705244318477396120">"Lain-lain"</string>
    <string name="voicemail_from_column" msgid="435732568832121444">"Mel suara daripada "</string>
    <string name="debug_dump_title" msgid="4916885724165570279">"Salin pangkalan data kenalan"</string>
    <string name="debug_dump_database_message" msgid="406438635002392290">"Anda akan 1) membuat salinan pangkalan data anda yang termasuk semua maklumat berkaitan kenalan dan semua log panggilan ke storan dalaman dan 2) hantar melalui e-mel. Jangan lupa untuk memadam salinan ini sebaik sahaja anda telah berjaya menyalin daripada peranti atau apabila e-mel diterima."</string>
    <string name="debug_dump_delete_button" msgid="7832879421132026435">"Padamkan sekarang"</string>
    <string name="debug_dump_start_button" msgid="2837506913757600001">"Mula"</string>
    <string name="debug_dump_email_sender_picker" msgid="3534420908672176460">"Pilih program untuk menghantar fail anda"</string>
    <string name="debug_dump_email_subject" msgid="108188398416385976">"Pangkalan Data Kenalan dilampirkan"</string>
    <string name="debug_dump_email_body" msgid="4577749800871444318">"Dilampirkan pangkalan data kenalan saya yang mengandungi semua maklumat kenalan. Sila gunakan dengan cermat."</string>
</resources>
