<?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">"Kalendāra krātuve"</string>
    <string name="upgrade_msg" msgid="2792831029435070926">"Notiek kalendāra datu bāzes jaunināšana."</string>
    <string name="calendar_default_name" msgid="6924293766625167275">"Noklusējums"</string>
    <string name="calendar_info" msgid="6687678621418059281">"Kalendāra dati"</string>
    <string name="calendar_info_error" msgid="5575162446528419982">"Kļūda"</string>
    <string name="calendar_info_no_calendars" msgid="4287534468186704433">"Nav kalendāru"</string>
    <string name="calendar_info_events" msgid="1805502308105103803">"Pasākumi: <xliff:g id="EVENTS">%1$d</xliff:g>"</string>
    <string name="calendar_info_events_dirty" msgid="8879392112564499515">"Pasākumi: <xliff:g id="EVENTS_0">%1$d</xliff:g>, nesaglabāti: <xliff:g id="DIRTY_EVENTS">%2$d</xliff:g>"</string>
    <string name="provider_label" msgid="2306513350843464739">"Kalendārs"</string>
    <string name="debug_tool_delete_button" msgid="5052706251268452090">"Dzēst tagad"</string>
    <string name="debug_tool_start_button" msgid="5384780896342913563">"Sākt"</string>
    <string name="debug_tool_message" msgid="4414152820946316089">"Jūs gatavojaties 1) SD kartē/USB atmiņā izveidot kalendāra datu bāzes kopiju, kuru var nolasīt jebkura lietotne, un 2) nosūtīt to pa e-pastu. Tiklīdz būsiet veiksmīgi pārkopējis to no ierīces vai būsiet saņēmis e-pasta ziņojumu, neaizmirstiet izdzēst kopiju."</string>
    <string name="debug_tool_email_sender_picker" msgid="4418621476577347562">"Atlasiet programmu, lai nosūtītu failu"</string>
    <string name="debug_tool_email_subject" msgid="2403590332256471194">"Kalendāra datu bāze ir pievienota"</string>
    <string name="debug_tool_email_body" msgid="740309162644398319">"Pielikumā ir mana kalendāra datu bāze ar visiem tikšanās ierakstiem un personīgo informāciju. Lūdzu, rīkojieties ar to uzmanīgi."</string>
</resources>
