<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2008 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="exchange_name_alternate" msgid="5772529644749041052">"Microsoft Exchange ActiveSync"</string>
    <string name="meeting_accepted" msgid="8796609373330400268">"Diterima: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_declined" msgid="6707617183246608552">"Ditolak: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_tentative" msgid="8250995722130443785">"Sementaraan: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_canceled" msgid="3949893881872084244">"Dibatalkan: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_updated" msgid="8529675857361702860">"Dikemas kini: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_when" msgid="2765696159697448656">"Bila: <xliff:g id="WHEN">%s</xliff:g>"</string>
    <string name="meeting_where" msgid="5992367535856553079">"Di mana: <xliff:g id="WHERE">%s</xliff:g>"</string>
    <string name="meeting_recurring" msgid="3134262212606714023">"Bila: <xliff:g id="EVENTDATE">%s</xliff:g> (berulangan)"</string>
    <string name="meeting_allday" msgid="6696389765484663513">"Bila: <xliff:g id="EVENTDATE">%s</xliff:g> (sepanjang hari)"</string>
    <string name="meeting_allday_recurring" msgid="2320264182781062684">"Bila: <xliff:g id="EVENTDATE">%s</xliff:g> (sepanjang hari, berulang-ulang)"</string>
    <string name="notification_exchange_calendar_added" msgid="6823659622379350159">"Kalendar Exchange ditambah"</string>
    <string name="app_name" msgid="5316597712787122829">"Perkhidmatan Exchange"</string>
    <string name="exception_cancel" msgid="6160117429428313805">"Acara ini sudah dibatalkan untuk: <xliff:g id="DATE">%s</xliff:g>"</string>
    <string name="exception_updated" msgid="3397583105901142050">"Butiran acara ini telah ditukar kepada: <xliff:g id="DATE">%s</xliff:g>"</string>
    <string name="policy_dont_allow_storage_cards" msgid="2765447013574188473">"Jgn benarkan kad storan"</string>
    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"Jgn bnrkan apl tanpa tandatangan"</string>
    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"Jgn bnrkan pemsng apl tanpa tandatangan"</string>
    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Jgn benarkan Wi-Fi"</string>
    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"Jgn benarkan pemesejan teks"</string>
    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"Jgn benarkan akaun POP3 atau IMAP"</string>
    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"Jgn benarkan komunikasi inframerah"</string>
    <string name="policy_dont_allow_html" msgid="5888652525907651489">"Jgn benarkan e-mel HTML"</string>
    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"Jgn benarkan penyemak imbas"</string>
    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"Jgn benarkan e-mel pengguna"</string>
    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"Jgn benarkan perkongsian internet"</string>
    <string name="policy_require_smime" msgid="673557150920820590">"Perlukan mesej SMIME"</string>
    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Hadkan penggunaan Bluetooth"</string>
    <string name="policy_app_blacklist" msgid="8169194058285873461">"Jgn benarkan apl tertentu"</string>
    <string name="policy_app_whitelist" msgid="3670572644342165306">"Benarnya hanya apl dinyatakan"</string>
    <string name="policy_text_truncation" msgid="1783448050735715818">"Hadkan saiz e-mel teks"</string>
    <string name="policy_html_truncation" msgid="102158408055486343">"Hadkan saiz e-mel HTML"</string>
    <string name="policy_require_sd_encryption" msgid="366468398301273342">"Memerlukan penyulitan kad SD"</string>
    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"Jgn benarkan lampiran"</string>
    <string name="policy_max_attachment_size" msgid="4020279603050888661">"Hadkan saiz lampiran"</string>
    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"Bnr sgrk manual sj semasa perayauan"</string>
    <string name="policy_require_encryption" msgid="7984702283392885348">"Perlukan penyulitan peranti"</string>
    <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Automatik"</string>
    <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Satu hari"</string>
    <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Tiga hari"</string>
    <string name="account_setup_options_mail_window_1week" msgid="5639718031108023741">"Satu minggu"</string>
    <string name="account_setup_options_mail_window_2weeks" msgid="4567049268124213035">"Dua minggu"</string>
    <string name="account_setup_options_mail_window_1month" msgid="5846359669750047081">"Satu bulan"</string>
    <string name="account_setup_options_mail_window_all" msgid="5372861827683632364">"Semua"</string>
    <string name="auth_error_notification_title" msgid="8108639432449021675">"Ralat pengesahan"</string>
    <string name="auth_error_notification_text" msgid="6813530336397532878">"Sentuh untuk mengedit tetapan akaun bagi <xliff:g id="ACCOUNT">%s</xliff:g>"</string>
</resources>
