<?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">"Accettato: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_declined" msgid="6707617183246608552">"Rifiutato: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_tentative" msgid="8250995722130443785">"Tentativo: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_canceled" msgid="3949893881872084244">"Annullato: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_updated" msgid="8529675857361702860">"Aggiornamento riuscito: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_when" msgid="2765696159697448656">"Quando: <xliff:g id="WHEN">%s</xliff:g>"</string>
    <string name="meeting_where" msgid="5992367535856553079">"Dove: <xliff:g id="WHERE">%s</xliff:g>"</string>
    <string name="meeting_recurring" msgid="3134262212606714023">"Quando: <xliff:g id="EVENTDATE">%s</xliff:g> (ricorrente)"</string>
    <string name="notification_exchange_calendar_added" msgid="6823659622379350159">"Calendario Exchange aggiunto"</string>
    <string name="app_name" msgid="5316597712787122829">"Servizi Exchange"</string>
    <string name="exception_cancel" msgid="6160117429428313805">"Questo evento è stato annullato per la data: <xliff:g id="DATE">%s</xliff:g>"</string>
    <string name="exception_updated" msgid="3397583105901142050">"I dettagli di questo evento sono cambiati per la data: <xliff:g id="DATE">%s</xliff:g>"</string>
    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"non consentire allegati"</string>
    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"non consentire schede di memoria"</string>
    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"non consentire applicazioni non firmate"</string>
    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"non consentire installer di app. non firmate"</string>
    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"non consentire Wi-Fi"</string>
    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"non consentire messaggi di testo"</string>
    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"non consentire account POP3 o IMAP"</string>
    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"non consentire comunicazione a infrarossi"</string>
    <string name="policy_dont_allow_html" msgid="5004059292137838041">"non consentire email HTML"</string>
    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"non consentire browser"</string>
    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"non consentire email di livello consumer"</string>
    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"non consentire condivisione Internet"</string>
    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"supporta una password di ripristino"</string>
    <string name="policy_require_smime" msgid="8044392674810605617">"richiedi messaggi SMIME"</string>
    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"consenti solo sincr. manuale in roaming"</string>
    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"limita utilizzo Bluetooth"</string>
    <string name="policy_app_blacklist" msgid="5997243461425995435">"non consentire applicazioni specificate"</string>
    <string name="policy_app_whitelist" msgid="8401297908870017913">"consenti solo applicazioni specificate"</string>
    <string name="policy_max_calendar_age" msgid="6394557044887221078">"limita date eventi di calendario"</string>
    <string name="policy_max_email_age" msgid="3303242808829681352">"limita date email"</string>
    <string name="policy_text_truncation" msgid="5800480928209379255">"limita dimensioni testo email"</string>
    <string name="policy_html_truncation" msgid="629030762178870832">"limita dimensioni email HTML"</string>
    <string name="policy_max_attachment_size" msgid="6191034264088052742">"limita dimensioni allegati"</string>
    <string name="policy_require_encryption" msgid="9370390981258441">"richiedi crittografia dispositivo o scheda SD"</string>
    <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"Automatico"</string>
    <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Un giorno"</string>
    <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Tre giorni"</string>
    <string name="account_setup_options_mail_window_1week" msgid="5639718031108023741">"Una settimana"</string>
    <string name="account_setup_options_mail_window_2weeks" msgid="4567049268124213035">"Due settimane"</string>
    <string name="account_setup_options_mail_window_1month" msgid="5846359669750047081">"Un mese"</string>
    <string name="account_setup_options_mail_window_all" msgid="5372861827683632364">"Tutto"</string>
</resources>
