<?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">"Pohrana kalendara"</string>
    <string name="upgrade_msg" msgid="2792831029435070926">"Nadogradnja baze podataka Kalendara."</string>
    <string name="calendar_default_name" msgid="6924293766625167275">"Zadano"</string>
    <string name="calendar_info" msgid="6687678621418059281">"Informacije o kalendaru"</string>
    <string name="calendar_info_error" msgid="5575162446528419982">"Pogreška"</string>
    <string name="calendar_info_no_calendars" msgid="4287534468186704433">"Nema kalendara"</string>
    <string name="calendar_info_events" msgid="1805502308105103803">"Događaji: <xliff:g id="EVENTS">%1$d</xliff:g>"</string>
    <string name="calendar_info_events_dirty" msgid="8879392112564499515">"Događaji: <xliff:g id="EVENTS_0">%1$d</xliff:g>, Nespremljeno: <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">"Izbriši sada"</string>
    <string name="debug_tool_start_button" msgid="5384780896342913563">"Započni"</string>
    <string name="debug_tool_message" msgid="4862486669932821937">"Spremate se 1) napraviti kopiju baze podataka kalendara na SD karticu/USB pohranu koju može čitati bilo koja aplikacija i 2) poslati je e-poštom. Ne zaboravite ju izbrisati čim ju uspješno kopirate s uređaja ili čim stigne e-pošta."</string>
    <string name="debug_tool_email_sender_picker" msgid="2000311987477419397">"Odaberite program za slanje datoteke"</string>
    <string name="debug_tool_email_subject" msgid="2403590332256471194">"Baza podataka kalendara u privitku"</string>
    <string name="debug_tool_email_body" msgid="4835949635324134017">"U prilogu je moja baza podataka kalendara sa svim mojim obvezama i osobnim podacima. Oprezno rukujte s njom."</string>
</resources>
