<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2007 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="app_label" msgid="5264040740662487684">"Yuklanmalar boshqaruvi"</string>
    <string name="storage_description" msgid="169690279447532621">"Yuklanmalar"</string>
    <string name="permlab_downloadManager" msgid="4241473724446132797">"Yuklab olish menejeriga kirishga ruxsat"</string>
    <string name="permdesc_downloadManager" msgid="5562734314998369030">"Ilovaga yuklab olish menejeriga kirish va yuklab olish fayllaridan foydalanish uchun ruxsat beradi. Zararli dasturlar bundan yuklab olishlarga to‘sqinlik qilish va maxfiy ma’lumotlarga kirish uchun foydalanishi mumkin."</string>
    <string name="permlab_downloadManagerAdvanced" msgid="2225663947531460795">"Qo‘shimcha yuklab olish menejeri funksiyalari."</string>
    <string name="permdesc_downloadManagerAdvanced" msgid="3902478062563030716">"Ilovaga yuklab olish menejerining qo‘shimcha funksiyalariga kirish uchun ruxsat beradi. Zararli dasturlar bundan yuklab olishlarga to‘sqinlik qilish va maxfiy ma’lumotlarga kirish uchun foydalanishi mumkin."</string>
    <string name="permlab_downloadCompletedIntent" msgid="2674407390116052956">"Yuklab olish xabarnomalarini jo‘natadi."</string>
    <string name="permdesc_downloadCompletedIntent" msgid="3384693829639860032">"Ilovaga tugagan yuklab olishlar haqidagi xabarnomalarini jo‘natishga ruxsat beradi. Zararli dasturlar bundan yuklab olinayotgan fayllarni boshqalari bilan chalkashtirish uchun foydalanishi mumkin."</string>
    <string name="permlab_downloadCacheNonPurgeable" msgid="4538031250425141333">"Yuklab olish keshida joy qoldirish"</string>
    <string name="permdesc_downloadCacheNonPurgeable" msgid="3071381088686444674">"Yuklashlar menejeriga ko‘proq bo‘sh joy kerak bo‘lganda avtomatik o‘chirilmaydigan fayllarni yuklab olish keshiga yuklab olish uchun ilovaga ruxsat beradi."</string>
    <string name="permlab_downloadWithoutNotification" msgid="4877101864770265405">"fayllarni ogohlantirishsiz yuklab olish"</string>
    <string name="permdesc_downloadWithoutNotification" msgid="7699189763226483523">"Foydalanuvchini hech qanday ogohlantirmasdan Ilovaga yuklab olish menejeri orqali fayllar yuklab olish uchun ruxsat beradi."</string>
    <string name="permlab_accessAllDownloads" msgid="8227356876527248611">"Tizimdagi barcha yuklanmalarga ruxsat berish"</string>
    <string name="permdesc_accessAllDownloads" msgid="7541731738152145079">"Ilovaga tizimda har qanday ilova tomonidan ishga tushirilgan barcha yuklanishlarni ko‘rish va o‘zgartirish uchun ruxsat beradi."</string>
    <string name="download_unknown_title" msgid="1017800350818840396">"&lt;Sarlavhasiz&gt;"</string>
    <string name="notification_download_complete" msgid="466652037490092787">"Yuklab olish tugallandi."</string>
    <string name="notification_download_failed" msgid="3932167763860605874">"Yuklab olish muvaffaqiyatsiz yakunlandi."</string>
    <string name="notification_need_wifi_for_size" msgid="4743443900432303646">"Katta hajmni yuklab olish uchun Wi-Fi kerak."</string>
    <string name="notification_paused_in_background" msgid="6393408819031041778">"Orqa fonda pauzalangan."</string>
    <string name="wifi_required_title" msgid="7266700488421122218">"Tarmoq operatori aloqasi orqali yuklab olish uchun fayl hajmi katta"</string>
    <string name="wifi_required_body" msgid="4005023496578941958">"Ushbu <xliff:g id="SIZE">%1$s </xliff:g> hajmdagi yuklab olishni tugatish uchun Wi-Fi tarmoqdan foydalanishingiz kerak. \n\nKeyingi safar Wi-Fi tarmoqqa ulanganingizda yuklab olishni boshlash uchun <xliff:g id="QUEUE_TEXT">%2$s </xliff:g>ni bosing."</string>
    <string name="wifi_recommended_title" msgid="6488158053932133804">"Keyinroq yuklab olish uchun navbatga qo‘shilsinmi?"</string>
    <string name="wifi_recommended_body" msgid="8710820743211704403">"Ushbu <xliff:g id="SIZE">%1$s </xliff:g> hajmdagi yuklab olishni boshlash batareya quvvatini kamaytirishi va/yoki uyali aloqa internetidan juda ko‘p foydalanib, natijada internet paketingizga ko‘ra uyali tarmoq operatoringiz tomonidan sizdan ortiqcha haq talab qilinishiga sabab bo‘lishi mumkin. \n\n Keyingi safar Wi-Fi tarmoqqa ulanganingizda yuklab olishni boshlash uchun <xliff:g id="QUEUE_TEXT">%2$s</xliff:g>ni tanlang."</string>
    <string name="button_queue_for_wifi" msgid="6650185573566994738">"Navbat"</string>
    <string name="button_cancel_download" msgid="4135046775536601831">"Bekor qilish"</string>
    <string name="button_start_now" msgid="3817100969365441730">"Ishga tushirish"</string>
    <plurals name="notif_summary_active" formatted="false" msgid="8652501374845637331">
      <item quantity="other"><xliff:g id="NUMBER">%d</xliff:g> ta fayl yuklab olinmoqda</item>
      <item quantity="one">1 ta fayl yuklab olinmoqda</item>
    </plurals>
    <plurals name="notif_summary_waiting" formatted="false" msgid="1782251721955177526">
      <item quantity="other"><xliff:g id="NUMBER">%d</xliff:g> ta fayl navbatda</item>
      <item quantity="one">1 ta fayl navbatda</item>
    </plurals>
    <string name="download_remaining" msgid="2313089371178695625">"<xliff:g id="DURATION">%s</xliff:g> qoldi"</string>
    <string name="download_no_application_title" msgid="5780812573953335721">"Fayl ochilmadi"</string>
    <string name="root_downloads" msgid="8380500940211778491">"Yuklanmalar"</string>
    <string name="download_queued" msgid="3383844741769045371">"Navbatga qo‘shildi"</string>
    <string name="download_running" msgid="774654178925442490">"Yuklab olinmoqda"</string>
    <string name="download_error" msgid="1857737890005386798">"Muvaffaqiyatsiz"</string>
    <string name="download_running_percent" msgid="3492753569359254730">"Davom etmoqda, <xliff:g id="PERCENTAGE">%s</xliff:g>"</string>
</resources>
