<?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="calendar_storage" msgid="5387668002987562770">"Storan Kalendar"</string>
    <string name="calendar_default_name" msgid="6924293766625167275">"Lalai"</string>
    <string name="calendar_info" msgid="6687678621418059281">"Maklumat kalendar"</string>
    <string name="calendar_info_error" msgid="5575162446528419982">"Ralat"</string>
    <string name="calendar_info_no_calendars" msgid="4287534468186704433">"Tiada kalendar"</string>
    <string name="calendar_info_events" msgid="1805502308105103803">"Acara: <xliff:g id="EVENTS">%1$d</xliff:g>"</string>
    <string name="calendar_info_events_dirty" msgid="8879392112564499515">"Acara: <xliff:g id="EVENTS_0">%1$d</xliff:g>, Tidak disimpan: <xliff:g id="DIRTY_EVENTS">%2$d</xliff:g>"</string>
    <string name="provider_label" msgid="2306513350843464739">"Kalendar"</string>
    <string name="debug_tool_delete_button" msgid="5052706251268452090">"Padam sekarang"</string>
    <string name="debug_tool_start_button" msgid="5384780896342913563">"Mula"</string>
    <string name="debug_tool_message" msgid="4862486669932821937">"Anda akan 1) membuat salinan pangkalan data kalendar anda ke kad SD/storan USB yang boleh dibaca oleh sebarang apl dan 2) menghantarnya melalui e-mel. Jangan lupa untuk memadamkan salinan itu sebaik sahaja anda berjaya menyalinnya dari peranti atau selepas e-mel diterima."</string>
    <string name="debug_tool_email_sender_picker" msgid="2000311987477419397">"Pilih program untuk menghantar fail anda"</string>
    <string name="debug_tool_email_subject" msgid="2403590332256471194">"Db Kalendar dilampirkan"</string>
    <string name="debug_tool_email_body" msgid="4835949635324134017">"Dilampirkan pangkalan data Kalendar saya dengan semua janji temu dan maklumat peribadi. Sila gunakan dengan cermat."</string>
</resources>
