<?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">"Acceptà: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_declined" msgid="6707617183246608552">"Refusà: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_tentative" msgid="8250995722130443785">"Project dad inscunter: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_canceled" msgid="3949893881872084244">"Interrut: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_updated" msgid="8529675857361702860">"Actualisà: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_when" msgid="2765696159697448656">"Cura: <xliff:g id="WHEN">%s</xliff:g>"</string>
    <string name="meeting_where" msgid="5992367535856553079">"Nua: <xliff:g id="WHERE">%s</xliff:g>"</string>
    <string name="meeting_recurring" msgid="3134262212606714023">"Cura: <xliff:g id="EVENTDATE">%s</xliff:g> (periodic)"</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">"Agiuntà in chalender Exchange"</string>
    <!-- no translation found for app_name (5316597712787122829) -->
    <skip />
    <string name="exception_cancel" msgid="6160117429428313805">"Questa occurrenza è vegnida annullada: <xliff:g id="DATE">%s</xliff:g>"</string>
    <string name="exception_updated" msgid="3397583105901142050">"Ils detagls da questa occurrenza èn vegnids modifitgads: <xliff:g id="DATE">%s</xliff:g>"</string>
    <!-- no translation found for policy_dont_allow_storage_cards (2765447013574188473) -->
    <skip />
    <!-- no translation found for policy_dont_allow_unsigned_apps (4896164334956001479) -->
    <skip />
    <!-- no translation found for policy_dont_allow_unsigned_installers (1326544905185523540) -->
    <skip />
    <!-- no translation found for policy_dont_allow_wifi (3109487776704143995) -->
    <skip />
    <!-- no translation found for policy_dont_allow_text_messaging (7846141657345860427) -->
    <skip />
    <!-- no translation found for policy_dont_allow_pop_imap (4702932192358698651) -->
    <skip />
    <!-- no translation found for policy_dont_allow_irda (1848561629495912430) -->
    <skip />
    <!-- no translation found for policy_dont_allow_html (5888652525907651489) -->
    <skip />
    <!-- no translation found for policy_dont_allow_browser (1018764395507493616) -->
    <skip />
    <!-- no translation found for policy_dont_allow_consumer_email (6958427300686692292) -->
    <skip />
    <!-- no translation found for policy_dont_allow_internet_sharing (2370083814654927695) -->
    <skip />
    <!-- no translation found for policy_require_smime (673557150920820590) -->
    <skip />
    <!-- no translation found for policy_bluetooth_restricted (5248824127186039567) -->
    <skip />
    <!-- no translation found for policy_app_blacklist (8169194058285873461) -->
    <skip />
    <!-- no translation found for policy_app_whitelist (3670572644342165306) -->
    <skip />
    <!-- no translation found for policy_text_truncation (1783448050735715818) -->
    <skip />
    <!-- no translation found for policy_html_truncation (102158408055486343) -->
    <skip />
    <!-- no translation found for policy_require_sd_encryption (366468398301273342) -->
    <skip />
    <!-- no translation found for policy_dont_allow_attachments (6250520458670348907) -->
    <skip />
    <!-- no translation found for policy_max_attachment_size (4020279603050888661) -->
    <skip />
    <!-- no translation found for policy_require_manual_sync_roaming (6637416341015662148) -->
    <skip />
    <!-- no translation found for policy_require_encryption (7984702283392885348) -->
    <skip />
    <!-- no translation found for account_setup_options_mail_window_auto (4188895354366183790) -->
    <skip />
    <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"In di"</string>
    <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Trais dis"</string>
    <string name="account_setup_options_mail_window_1week" msgid="5639718031108023741">"Ina emna"</string>
    <string name="account_setup_options_mail_window_2weeks" msgid="4567049268124213035">"Duas emnas"</string>
    <string name="account_setup_options_mail_window_1month" msgid="5846359669750047081">"In mais"</string>
    <!-- no translation found for account_setup_options_mail_window_all (5372861827683632364) -->
    <skip />
    <!-- no translation found for auth_error_notification_title (8108639432449021675) -->
    <skip />
    <!-- no translation found for auth_error_notification_text (6813530336397532878) -->
    <skip />
    <!-- no translation found for email_settings_not_available (3139586580003323185) -->
    <skip />
</resources>
