<?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="293118547772095111">"Microsoft Exchange ActiveSync"</string>
    <string name="meeting_accepted" msgid="3212429159225789973">"Qabul qilindi: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_declined" msgid="1171426219920875691">"Rad etildi: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_tentative" msgid="5057443956630531997">"Mumkin: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_canceled" msgid="3913922862382539900">"Bekor qilindi: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_updated" msgid="5960663236439072658">"Yangilandi: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_when" msgid="1905576664682173880">"Qachon: <xliff:g id="WHEN">%s</xliff:g>"</string>
    <string name="meeting_where" msgid="6498631574145121862">"Qayerda: <xliff:g id="WHERE">%s</xliff:g>"</string>
    <string name="meeting_recurring" msgid="2752008481765880928">"Qachon: <xliff:g id="EVENTDATE">%s</xliff:g> (takrorlanadi)"</string>
    <string name="meeting_allday" msgid="7251209063071628040">"Qachon: <xliff:g id="EVENTDATE">%s</xliff:g> (kun bo‘yi)"</string>
    <string name="meeting_allday_recurring" msgid="4545762363537362545">"Qachon: <xliff:g id="EVENTDATE">%s</xliff:g> (kun bo‘yi, takrorlanadi)"</string>
    <string name="notification_exchange_calendar_added" msgid="8998454267739748113">"Exchange taqvimi qo‘shildi"</string>
    <string name="app_name" msgid="1707639359526090662">"Exchange xizmatlari"</string>
    <string name="exception_cancel" msgid="8972887597771126871">"Ushbu tadbir bekor qilindi: <xliff:g id="DATE">%s</xliff:g>"</string>
    <string name="exception_updated" msgid="329192591551400871">"Ushbu tadbir tafsilotlari o‘zgartirildi: <xliff:g id="DATE">%s</xliff:g>"</string>
    <string name="policy_dont_allow_storage_cards" msgid="1305111581282078881">"Xotira kartalariga ruxsat bermaslik"</string>
    <string name="policy_dont_allow_unsigned_apps" msgid="7663879438028397642">"Imzosiz ilovalarga ruxsat bermaslik"</string>
    <string name="policy_dont_allow_unsigned_installers" msgid="8227232531632246827">"Imzosiz ilova o‘rnatuvchilariga ruxsat bermaslik"</string>
    <string name="policy_dont_allow_wifi" msgid="8501275982154914194">"Wi-Fi ulanishidan foydalanmaslik"</string>
    <string name="policy_dont_allow_text_messaging" msgid="860590081742537792">"SMS xabarlarini taqiqlash"</string>
    <string name="policy_dont_allow_pop_imap" msgid="5772539239469636191">"POP3 yoki IMAP hisoblariga ruxsat bermaslik"</string>
    <string name="policy_dont_allow_irda" msgid="8230803019935893114">"Infraqizil aloqaga ruxsat bermaslik"</string>
    <string name="policy_dont_allow_html" msgid="3909470006782362967">"HTML formatidagi xatlarni qabul qilmaslik"</string>
    <string name="policy_dont_allow_browser" msgid="241728112385525092">"Brauzerlarga ruxsat berilmasin"</string>
    <string name="policy_dont_allow_consumer_email" msgid="2473755560531860915">"Iste’molchi e-pochtasiga ruxsat bermaslik"</string>
    <string name="policy_dont_allow_internet_sharing" msgid="8926902533477728994">"Modem rejimidan foydalanmaslik"</string>
    <string name="policy_require_smime" msgid="6445017199744800426">"Faqat SMIME formatidagi xabarlarini qabul qilish"</string>
    <string name="policy_bluetooth_restricted" msgid="2877695021606992022">"Bluetooth’dan foydalanishni cheklash"</string>
    <string name="policy_app_blacklist" msgid="6955451921925210944">"Ko‘rsatilgan ilovalarni taqiqlash"</string>
    <string name="policy_app_whitelist" msgid="73673250614393830">"Faqat ko‘rsatilgan ilovalarga ruxsat berish"</string>
    <string name="policy_text_truncation" msgid="2098855720139889616">"Matnli e-pochta xabarlari o‘lchamini cheklash"</string>
    <string name="policy_html_truncation" msgid="4913206221060438112">"HTML formatidagi xatlar o‘lchamini cheklash"</string>
    <string name="policy_require_sd_encryption" msgid="3911913080904633038">"SD kartalarni shifrlash zarur"</string>
    <string name="policy_dont_allow_attachments" msgid="8422502533001368811">"Biriktirilgan fayllarni yuklamaslik"</string>
    <string name="policy_max_attachment_size" msgid="8872049367518056209">"Biriktirma fayllar o‘lchamini cheklash"</string>
    <string name="policy_require_manual_sync_roaming" msgid="4779633041935012627">"Rouming vaqtida faqat qo‘lda sinxronlash"</string>
    <string name="policy_require_encryption" msgid="4176146021220010140">"Qurilmani shifrlash zarur"</string>
    <string name="account_setup_options_mail_window_auto" msgid="7407981634952005775">"Avtomatik"</string>
    <string name="account_setup_options_mail_window_1day" msgid="4169162439752592189">"Bir kun"</string>
    <string name="account_setup_options_mail_window_3days" msgid="2330167870774583574">"Uch kun"</string>
    <string name="account_setup_options_mail_window_1week" msgid="5066291978475859713">"Bir hafta"</string>
    <string name="account_setup_options_mail_window_2weeks" msgid="2127842445792663461">"Ikki hafta"</string>
    <string name="account_setup_options_mail_window_1month" msgid="4785039795926771180">"Bir oy"</string>
    <string name="account_setup_options_mail_window_all" msgid="4794683936065721438">"Barchasi"</string>
    <string name="auth_error_notification_title" msgid="6768042010440968454">"Haqiqiylikni tekshirishda xatolik"</string>
    <string name="auth_error_notification_text" msgid="3590528965691740509">"<xliff:g id="ACCOUNT">%s</xliff:g> hisobi sozlamalarini o‘zgartirish uchun bosing"</string>
    <string name="email_settings_not_available" msgid="59579952494440349">"Sozlamalarni ko‘rish uchun Email ilovasini qayta yoqing."</string>
</resources>
