<?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">"Ukuvumelanisa Okusebenzayo Kokushintshanisa kwe-Microsoft"</string>
    <string name="meeting_accepted" msgid="8796609373330400268">"Kwamukeliwe: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_declined" msgid="6707617183246608552">"Inqabile: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_tentative" msgid="8250995722130443785">"Okwesikhashana: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_canceled" msgid="3949893881872084244">"Kukhanseliwe: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_updated" msgid="8529675857361702860">"Kubuyekeziwe: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_when" msgid="2765696159697448656">"Nini: <xliff:g id="WHEN">%s</xliff:g>"</string>
    <string name="meeting_where" msgid="5992367535856553079">"Kuphi: <xliff:g id="WHERE">%s</xliff:g>"</string>
    <string name="meeting_recurring" msgid="3134262212606714023">"Nini: <xliff:g id="EVENTDATE">%s</xliff:g> (okuvela njalo)"</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">"Ukushintsha ikhalenda kufakiwe"</string>
    <!-- no translation found for app_name (5316597712787122829) -->
    <skip />
    <string name="exception_cancel" msgid="6160117429428313805">"Lesi senzakalo sikhanselwe i-<xliff:g id="DATE">%s</xliff:g>"</string>
    <string name="exception_updated" msgid="3397583105901142050">"Imininingwane yalesenzakalo ishintshelwe:<xliff:g id="DATE">%s</xliff:g>"</string>
    <!-- no translation found for policy_dont_allow_attachments (7924303012593832731) -->
    <skip />
    <!-- no translation found for policy_dont_allow_storage_cards (5600453721690619515) -->
    <skip />
    <!-- no translation found for policy_dont_allow_unsigned_apps (7391405270957498716) -->
    <skip />
    <!-- no translation found for policy_dont_allow_unsigned_installers (8124763529572916905) -->
    <skip />
    <!-- no translation found for policy_dont_allow_wifi (8972952227139360866) -->
    <skip />
    <!-- no translation found for policy_dont_allow_text_messaging (2705534889421216691) -->
    <skip />
    <!-- no translation found for policy_dont_allow_pop_imap (1563948038306495433) -->
    <skip />
    <!-- no translation found for policy_dont_allow_irda (2864744455266260846) -->
    <skip />
    <!-- no translation found for policy_dont_allow_html (5004059292137838041) -->
    <skip />
    <!-- no translation found for policy_dont_allow_browser (1898383003253987916) -->
    <skip />
    <!-- no translation found for policy_dont_allow_consumer_email (4208507021679199773) -->
    <skip />
    <!-- no translation found for policy_dont_allow_internet_sharing (8866772202653485379) -->
    <skip />
    <!-- no translation found for policy_enable_password_recovery (3082147682445934504) -->
    <skip />
    <!-- no translation found for policy_require_smime (8044392674810605617) -->
    <skip />
    <!-- no translation found for policy_require_manual_sync_roaming (7140792029820703854) -->
    <skip />
    <!-- no translation found for policy_bluetooth_restricted (8992284721368381918) -->
    <skip />
    <!-- no translation found for policy_app_blacklist (5997243461425995435) -->
    <skip />
    <!-- no translation found for policy_app_whitelist (8401297908870017913) -->
    <skip />
    <!-- no translation found for policy_max_calendar_age (6394557044887221078) -->
    <skip />
    <!-- no translation found for policy_max_email_age (3303242808829681352) -->
    <skip />
    <!-- no translation found for policy_text_truncation (5800480928209379255) -->
    <skip />
    <!-- no translation found for policy_html_truncation (629030762178870832) -->
    <skip />
    <!-- no translation found for policy_max_attachment_size (6191034264088052742) -->
    <skip />
    <!-- no translation found for policy_require_encryption (9370390981258441) -->
    <skip />
    <!-- no translation found for account_setup_options_mail_window_auto (4188895354366183790) -->
    <skip />
    <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"Usuku olulodwa"</string>
    <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"Izinsuku ezintathu"</string>
    <string name="account_setup_options_mail_window_1week" msgid="5639718031108023741">"Iviki elilodwa"</string>
    <string name="account_setup_options_mail_window_2weeks" msgid="4567049268124213035">"Amaviki amabili"</string>
    <string name="account_setup_options_mail_window_1month" msgid="5846359669750047081">"Inyanga eyodwa"</string>
    <!-- outdated translation 5383858972681926166 -->     <string name="account_setup_options_mail_window_all" msgid="5372861827683632364">"Yonke Imeyili"</string>
</resources>
