<?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:android="http://schemas.android.com/apk/res/android"
    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <string name="applicationLabel" msgid="2896013994591816355">"Pendail"</string>
    <string name="launcherDialer" msgid="4812615012439839668">"Telefon"</string>
    <string name="dialerIconLabel" msgid="6452903404967127043">"Telefon"</string>
    <string name="recentCallsIconLabel" msgid="5907257356627356916">"Log panggilan"</string>
    <string name="menu_sendTextMessage" msgid="3595115037800019790">"Hantar mesej teks"</string>
    <string name="recentCalls_callNumber" msgid="3515599302039524481">"Panggil <xliff:g id="NAME">%s</xliff:g>"</string>
    <string name="recentCalls_editNumberBeforeCall" msgid="2135159627866994026">"Edit nombor sebelum memanggil"</string>
    <string name="recentCalls_addToContact" msgid="3461703895193177303">"Tambahkan pada kenalan"</string>
    <string name="recentCalls_removeFromRecentList" msgid="7691127430328165825">"Alih keluar daripada log panggilan"</string>
    <string name="recentCalls_deleteAll" msgid="5940657691419101776">"Padam bersih log panggilan"</string>
    <string name="recentCalls_trashVoicemail" msgid="8564377061038549002">"Padamkan mel suara"</string>
    <string name="recentCalls_shareVoicemail" msgid="7039805601642115775">"Kongsi mel suara"</string>
    <string name="recentCalls_empty" msgid="2475657296340964771">"Log panggilan kosong."</string>
    <string name="clearCallLogConfirmation_title" msgid="8437942116681120680">"Padam bersih log panggilan?"</string>
    <string name="clearCallLogConfirmation" msgid="3049814863802377048">"Semua rekod panggilan anda akan dipadamkan."</string>
    <string name="clearCallLogProgress_title" msgid="4967754518175652306">"Memadam bersih log panggilan..."</string>
  <plurals name="notification_voicemail_title">
    <item quantity="one" msgid="7337617129792669763">"Mel suara"</item>
    <item quantity="other" msgid="7909053058399879093">"<xliff:g id="COUNT">%1$d</xliff:g> Mel suara"</item>
  </plurals>
    <string name="notification_action_voicemail_play" msgid="6479729974823808963">"Mainkan"</string>
    <string name="notification_voicemail_callers_list" msgid="7275857613463950729">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
    <string name="notification_new_voicemail_ticker" msgid="773612832096153276">"Mel suara baharu daripada <xliff:g id="CALLER">%1$s</xliff:g>"</string>
    <string name="voicemail_playback_error" msgid="3745094029143083237">"Tidak dapat memainkan mel suara."</string>
    <string name="voicemail_buffering" msgid="3471857802985075286">"Menimbal..."</string>
    <string name="voicemail_fetching_content" msgid="7304127676344948616">"Mengambil mel suara..."</string>
    <string name="voicemail_fetching_timout" msgid="6552711420422790440">"Tidak dapat mengambil mel suara."</string>
    <string name="call_log_new_header" msgid="8880520605610950591">"Baharu"</string>
    <string name="call_log_old_header" msgid="5378037070074806149">"Lebih lama"</string>
    <string name="call_log_voicemail_header" msgid="1656430490229372168">"Panggilan dengan mel suara sahaja"</string>
    <string name="call_log_incoming_header" msgid="4514259481080897711">"Panggilan masuk sahaja"</string>
    <string name="call_log_outgoing_header" msgid="378663994725907738">"Panggilan keluar sahaja"</string>
    <string name="call_log_missed_header" msgid="5446439128157203772">"Panggilan terlepas sahaja"</string>
    <string name="voicemail_status_voicemail_not_available" msgid="5416272416842129144">"Tidak dapat bersambung kepada pelayan mel suara."</string>
    <string name="voicemail_status_messages_waiting" msgid="4458458132507579370">"Gagal menyambung ke pelayan mel suara. Mel suara baharu menanti."</string>
    <string name="voicemail_status_configure_voicemail" msgid="8634314832269048952">"Sediakan mel suara anda."</string>
    <string name="voicemail_status_audio_not_available" msgid="3238711781241004997">"Audio tidak tersedia."</string>
    <string name="voicemail_status_action_configure" msgid="6294251161130772427">"Sediakan"</string>
    <string name="voicemail_status_action_call_server" msgid="5905306807691863100">"Panggil mel suara"</string>
    <string name="voicemail_speed_slowest" msgid="4253243787222323405">"Kelajuan paling perlahan"</string>
    <string name="voicemail_speed_slower" msgid="4776579878006616930">"Kelajuan perlahan"</string>
    <string name="voicemail_speed_normal" msgid="5467566844006749402">"Kelajuan biasa"</string>
    <string name="voicemail_speed_faster" msgid="533959523242789518">"Kelajuan pantas"</string>
    <string name="voicemail_speed_fastest" msgid="7495589683231751304">"Kelajuan paling pantas"</string>
    <string name="call_log_item_count_and_date" msgid="6348558252438448946">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
</resources>
