<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2015 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="phone_app_name" msgid="238824437273544459">"Telefon"</string>
    <string name="no_hfp" msgid="7371139867234667691">"Untuk melengkapkan panggilan anda, mula-mula sambungkan telefon ke kereta anda melalui Bluetooth."</string>
    <string name="bluetooth_unavailable" msgid="5258854283739591569">"Bluetooth tidak tersedia."</string>
    <string name="bluetooth_disabled" msgid="1275246762067907843">"Untuk membuat atau menerima panggilan, hidupkan Bluetooth."</string>
    <string name="bluetooth_unpaired" msgid="1600552386483652892">"Untuk membuat atau menerima panggilan, gandingkan telefon anda dengan kereta."</string>
    <string name="connect_bluetooth_button_text" msgid="293188695227298042">"Sambung ke Bluetooth"</string>
    <string name="emergency_button_text" msgid="3467659545392931727">"Kecemasan"</string>
    <string name="emergency_call_description" msgid="6700161437750325693">"Panggilan kecemasan"</string>
    <string name="error_contact_deleted" msgid="6356539067659368396">"Kenalan ini mungkin telah dipadamkan."</string>
    <string name="error_invalid_phone_number" msgid="5349049631580646136">"Tidak dapat mendail nombor ini. Semak dan cuba lagi."</string>
    <string name="error_telephony_not_available" msgid="8715829862083386178">"Panggilan telefon tidak tersedia. Sila cuba lagi nanti."</string>
    <string name="decline_call" msgid="2505987200485272226">"Tolak"</string>
    <string name="answer_call" msgid="3272474440561548115">"Jawab"</string>
    <string name="call_back" msgid="5745638356098600872">"Panggil balik"</string>
    <string name="audio_route_vehicle" msgid="6274519162997743620">"Bluetooth kenderaan"</string>
    <string name="audio_route_phone_speaker" msgid="407520293892557697">"Fon pembesar suara"</string>
    <string name="audio_route_handset" msgid="1100259514278439355">"Telefon bimbit"</string>
    <string name="dial_a_number" msgid="7432322177412387160">"Dail nombor"</string>
    <string name="favorites_title" msgid="4767723901530488145">"Kegemaran"</string>
    <string name="call_history_title" msgid="1495905524218923242">"Sejarah Panggilan"</string>
    <string name="contacts_title" msgid="9201954388634537346">"Kenalan"</string>
    <string name="dialpad_title" msgid="3746259645005208554">"Pad pendail"</string>
    <string name="call_log_header_today" msgid="2069013936632793214">"Hari ini"</string>
    <string name="call_log_header_yesterday" msgid="4613686845163357847">"Semalam"</string>
    <string name="call_log_header_older" msgid="3971634717537073179">"Lebih lama"</string>
    <string name="add_favorite_button" msgid="7914955940249767808">"Tambah kegemaran"</string>
    <string name="favorites_empty" msgid="6712416359691979975">"Anda belum menambah sebarang kegemaran"</string>
    <string name="search_title" msgid="5412680850141871664">"Cari kenalan"</string>
    <string name="search_hint" msgid="3099066132607042439">"Cari kenalan"</string>
    <string name="type_multiple" msgid="3402949522797441236">"Berbilang"</string>
    <string name="select_number_dialog_title" msgid="5770700626013782205">"Pilih nombor telefon"</string>
    <string name="select_number_dialog_just_once_button" msgid="1814381354393374660">"Hanya sekali"</string>
    <string name="select_number_dialog_always_button" msgid="6862338683635863764">"Sentiasa"</string>
    <string name="primary_number_description" msgid="7428950659304219592">"<xliff:g id="LABEL">%1$s</xliff:g>  - Lalai"</string>
    <string name="favorite_number_description" msgid="6490014728613395653">"<xliff:g id="LABEL">%1$s</xliff:g>  - Kegemaran"</string>
    <string name="in_call_notification_channel_name" msgid="1978093630512401778">"Pemberitahuan panggilan masuk"</string>
    <string name="notification_incoming_call" msgid="1722904631804432389">"Panggilan masuk"</string>
    <string name="missed_call_notification_channel_name" msgid="1135686963409691772">"Pemberitahuan panggilan terlepas"</string>
    <string name="notification_missed_call" msgid="7127823385811396529">"Panggilan terlepas"</string>
    <string name="onhold_call_label" msgid="1937027519810985499">"Ditunda"</string>
    <string name="setting_title" msgid="1296639422364732365">"Tetapan"</string>
    <string name="pref_start_page_title" msgid="1953465507368478503">"Skrin mula"</string>
    <string name="sort_order_title" msgid="975104366728292702">"Tertib kenalan"</string>
    <string name="given_name_first_title" msgid="8072187841056104968">"Nama pertama"</string>
    <string name="family_name_first_title" msgid="7721976826282427987">"Nama keluarga"</string>
</resources>
