<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2014 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="sip_settings" msgid="3768482698061677257">"Tetapan SIP"</string>
    <string name="sip_accounts" msgid="85559497282185405">"Akaun SIP"</string>
    <string name="sip_accounts_title" msgid="2082527045326874519">"Akaun"</string>
    <string name="sip_receive_calls" msgid="426678617137462173">"Terima panggilan masuk"</string>
    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Menggunakan lebih hayat bateri"</string>
    <string name="sip_call_options_title" msgid="8421210494703869806">"Gunakan panggilan SIP"</string>
    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Gunakan panggilan SIP (Wi-Fi sahaja)"</string>
    <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Untuk semua panggilan semasa rangkaian data tersedia"</string>
    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Hanya untuk panggilan SIP"</string>
    <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Untuk semua panggilan"</string>
    <string name="add_sip_account" msgid="800843669753980091">"Tambah akaun"</string>
    <string name="remove_sip_account" msgid="1367664438506503690">"Alih keluar akaun"</string>
    <string name="sip_account_list" msgid="5610858485304821480">"Akaun SIP"</string>
    <string name="saving_account" msgid="5336529880235177448">"Menyimpan akaun..."</string>
    <string name="removing_account" msgid="5537351356808985756">"Mengalih keluar akaun..."</string>
    <string name="sip_menu_save" msgid="7882219814563869225">"Simpan"</string>
    <string name="sip_menu_discard" msgid="2350421645423888438">"Buang"</string>
    <string name="alert_dialog_close" msgid="1326011828713435134">"Tutup profil"</string>
    <string name="alert_dialog_ok" msgid="4752048404605388940">"OK"</string>
    <string name="close_profile" msgid="3122414058856309881">"Tutup"</string>
    <string name="registration_status_checking_status" msgid="6136793741862200337">"Menyemak status..."</string>
    <string name="registration_status_registering" msgid="2677183977796278749">"Mendaftar..."</string>
    <string name="registration_status_still_trying" msgid="7648151061205513458">"Masih mencuba..."</string>
    <string name="registration_status_not_receiving" msgid="7620333886153361090">"Tidak menerima panggilan."</string>
    <string name="registration_status_no_data" msgid="2541999976218192413">"Pendaftaran akaun terhenti kerana tiada sambungan Internet."</string>
    <string name="registration_status_no_wifi_data" msgid="9154717387473039546">"Pendaftaran akaun terhenti kerana tiada sambungan Wi-Fi."</string>
    <string name="registration_status_not_running" msgid="514205414303796800">"Pendaftaran akaun tidak berjaya."</string>
    <string name="registration_status_done" msgid="3264961069247314253">"Menerima panggilan"</string>
    <string name="registration_status_failed_try_later" msgid="2199970021756384317">"Pendaftaran akaun tidak berjaya: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); akan mencuba kemudian"</string>
    <string name="registration_status_invalid_credentials" msgid="8406872554323334182">"Pendaftaran akaun tidak berjaya: Nama pengguna atau kata laluan salah."</string>
    <string name="registration_status_server_unreachable" msgid="7710275557045148634">"Pendaftaran akaun tidak berjaya: Periksa nama pelayan."</string>
    <string name="third_party_account_summary" msgid="9041060473615403041">"Akaun ini sedang digunakan pada masa ini oleh apl <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
    <string name="sip_edit_title" msgid="1967247832635750410">"Butiran akaun SIP"</string>
    <string name="sip_edit_new_title" msgid="266414118302574305">"Butiran akaun SIP"</string>
    <string name="domain_address_title" msgid="1968479941328225423">"Pelayan"</string>
    <string name="username_title" msgid="6770064611005663470">"Nama Pengguna"</string>
    <string name="password_title" msgid="5289013731515564295">"Kata laluan"</string>
    <string name="display_name_title" msgid="579241787583079773">"Nama paparan"</string>
    <string name="proxy_address_title" msgid="6890163365640631841">"Alamat proksi keluar"</string>
    <string name="port_title" msgid="6693965912656593862">"Nombor port"</string>
    <string name="transport_title" msgid="889155457465372527">"Jenis pengangkutan"</string>
    <string name="send_keepalive_title" msgid="599627072150501159">"Hantar pengekal"</string>
    <string name="advanced_settings" msgid="6622996380747040711">"Tetapan pilihan"</string>
    <string name="auth_username_title" msgid="8262491689004708265">"Nama pengguna pengesahan"</string>
    <string name="auth_username_summary" msgid="941160241371436473">"Nama pengguna yang digunakan untuk pengesahan"</string>
    <string name="default_preference_summary_username" msgid="8404717434312826082">"&lt;Tidak ditetapkan&gt;"</string>
    <string name="default_preference_summary_password" msgid="4464464672997027904">"&lt;Tidak ditetapkan&gt;"</string>
    <string name="default_preference_summary_domain_address" msgid="4871971710197441673">"&lt;Tidak ditetapkan&gt;"</string>
    <string name="display_name_summary" msgid="7155076491675565407">"&lt;Sama dengan nama pengguna&gt;"</string>
    <string name="optional_summary" msgid="2363105560396317624">"&lt;Pilihan&gt;"</string>
    <string name="advanced_settings_show" msgid="7838761602853998622">"▷ Sentuh untuk menunjukkan semua"</string>
    <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Sentuh untuk sembunyikan semua"</string>
    <string name="all_empty_alert" msgid="4087734950375192387">"Masukkan butiran akaun SIP baharu."</string>
    <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> diperlukan dan tidak boleh dibiarkan kosong."</string>
    <string name="not_a_valid_port" msgid="7931422555587011830">"Nombor port harus berada dalam lingkungan 1000 dan 65534."</string>
    <string name="no_internet_available" msgid="5523747991760017298">"Untuk membuat panggilan SIP, periksa sambungan Internet anda dahulu."</string>
    <string name="no_wifi_available" msgid="1955023904229673488">"Anda perlu disambungkan ke rangkaian Wi-Fi bagi panggilan SIP(gunakan tetapan Wayarles &amp; Rangkaian)."</string>
    <string name="no_voip" msgid="3038021971231952704">"Panggilan SIP tidak disokong"</string>
    <string name="sip_system_decide" msgid="5577696249416700671">"Automatik"</string>
    <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Sentiasa hantar"</string>
    <string name="sip_connection_service_label" msgid="6935325004265884453">"Panggilan SIP terbina dalam"</string>
</resources>
