<?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">"Prihvaćeno: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_declined" msgid="6707617183246608552">"Odbijeno: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_tentative" msgid="8250995722130443785">"Probno: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_canceled" msgid="3949893881872084244">"Otkazano: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_updated" msgid="8529675857361702860">"Ažurirano: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_when" msgid="2765696159697448656">"Kad: <xliff:g id="WHEN">%s</xliff:g>"</string>
    <string name="meeting_where" msgid="5992367535856553079">"Gdje: <xliff:g id="WHERE">%s</xliff:g>"</string>
    <string name="meeting_recurring" msgid="3134262212606714023">"Kada: <xliff:g id="EVENTDATE">%s</xliff:g> (ponavljanje)"</string>
    <!-- no translation found for meeting_allday (6696389765484663513) -->
    <skip />
    <!-- no translation found for meeting_allday_recurring (2320264182781062684) -->
    <skip />
    <string name="notification_exchange_calendar_added" msgid="6823659622379350159">"Dodan je Exchange kalendar"</string>
    <string name="app_name" msgid="5316597712787122829">"Exchange Services"</string>
    <string name="exception_cancel" msgid="6160117429428313805">"Ovaj je događaj otkazan za: <xliff:g id="DATE">%s</xliff:g>"</string>
    <string name="exception_updated" msgid="3397583105901142050">"Pojedinosti ovog događaja promijenjene su za: <xliff:g id="DATE">%s</xliff:g>"</string>
    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"ne dopusti privitke"</string>
    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"ne dopusti memorijske kartice"</string>
    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"ne dopusti nepotpisane aplikacije"</string>
    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"ne dopusti instal. prog. nepotpis. apl."</string>
    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"ne dopusti wifi"</string>
    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"ne dopusti slanje SMS poruka"</string>
    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"ne dopusti POP3 ili IMAP račune"</string>
    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"ne dopusti infracrvenu komunikaciju"</string>
    <string name="policy_dont_allow_html" msgid="5004059292137838041">"ne dopusti e-poštu u HTML-u"</string>
    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"ne dopusti preglednike"</string>
    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"ne dopusti potrošačku e-poštu"</string>
    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"ne dopusti dijeljenje na internetu"</string>
    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"podrži zaporku za oporavak"</string>
    <string name="policy_require_smime" msgid="8044392674810605617">"zahtijevaj SMIME poruke"</string>
    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"dopusti samo ručnu sinkr. u roamingu"</string>
    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"ograniči upotrebu bluetootha"</string>
    <string name="policy_app_blacklist" msgid="5997243461425995435">"odbaci navedene aplikacije"</string>
    <string name="policy_app_whitelist" msgid="8401297908870017913">"dopusti samo navedene aplikacije"</string>
    <string name="policy_max_calendar_age" msgid="6394557044887221078">"ograniči datume događaja kalendara"</string>
    <string name="policy_max_email_age" msgid="3303242808829681352">"ograniči datume e-pošte"</string>
    <string name="policy_text_truncation" msgid="5800480928209379255">"ograniči veličinu tekstualne e-pošte"</string>
    <string name="policy_html_truncation" msgid="629030762178870832">"ograniči veličinu e-pošte u HTML-u"</string>
    <string name="policy_max_attachment_size" msgid="6191034264088052742">"ograniči veličinu privitka"</string>
    <string name="policy_require_encryption" msgid="9370390981258441">"zahtijevaj enkr. uređaja ili SD kartice"</string>
    <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Automatski"</string>
    <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Jedan dan"</string>
    <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Tri dana"</string>
    <string name="account_setup_options_mail_window_1week" msgid="5639718031108023741">"Jedan tjedan"</string>
    <string name="account_setup_options_mail_window_2weeks" msgid="4567049268124213035">"Dva tjedna"</string>
    <string name="account_setup_options_mail_window_1month" msgid="5846359669750047081">"Jedan mjesec"</string>
    <string name="account_setup_options_mail_window_all" msgid="5372861827683632364">"Sve"</string>
</resources>
