<?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="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>
