<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2009 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_name" msgid="9095072584761066851">"Sertifikat o‘rnatgichi"</string>
    <string name="pick_file_title" msgid="4481949485108233297">"Sertifikatni tanlang"</string>
    <string name="pkcs12_password_dialog_title" msgid="5997624645207427161">"Ajratish sertifikati"</string>
    <string name="extracting_pkcs12" msgid="1881267738821799771">"Chiqarib olinmoqda..."</string>
    <string name="pkcs12_file_password_dialog_title" msgid="8102721384767269510">"%sdan ajratish"</string>
    <string name="name_credential_dialog_title" msgid="277729846491554437">"Sertifikat nomini ko‘rsating"</string>
    <string name="credential_name" msgid="1974979771369744378">"Sertifikat nomi:"</string>
    <string name="credential_password" msgid="3520176519550993326">"Sertifikatlarni chiqarib olish uchun parolni kiriting."</string>
    <string name="credential_info" msgid="2436768402308470397">"Paket tarkibi:"</string>
    <string name="p12_description" msgid="4128352087331630024">"PKCS12 kalitlar omborxonasidagi sertifikatlar"</string>
    <string name="one_userkey" msgid="3500697912370644881">"bitta foydalanuvchi kaliti"</string>
    <string name="one_usercrt" msgid="7690798336332403106">"bitta foydalanuvchi sertifikati"</string>
    <string name="one_cacrt" msgid="2667950425420663146">"sertifikatlashtirish markazining bitta sertifikati"</string>
    <string name="n_cacrts" msgid="2141498640685639208">"%d CA sertifikatlari"</string>
    <string name="password_error" msgid="2042471639556516356">"Parolni to‘g‘ri kiriting."</string>
    <string name="password_empty_error" msgid="591713406761723025">"Parolni kiriting."</string>
    <string name="name_empty_error" msgid="3808800768660110354">"Nomini kiriting."</string>
    <string name="name_char_error" msgid="3176618568784938968">"Nom faqat harf va belgilardan iborat bo‘lishi lozim."</string>
    <string name="unable_to_save_cert" msgid="9178604087335389686">"Sertifikatni saqlab bo‘lmadi. Hisob ma’lumotlari ombori yoqilmagan yoki to‘g‘ri ishga tushirilmagan."</string>
    <string name="cert_not_saved" msgid="4037698479662830270">"Sertifikat o‘rnatilmadi."</string>
    <string name="no_cert_to_saved" msgid="5708884372817309068">"O‘rnatish uchun sertifikat yo‘q."</string>
    <string name="invalid_cert" msgid="7704228670980743590">"Sertifikatdan foydalanib bo‘lmaydi."</string>
    <string name="cert_is_added" msgid="6996557598167000500">"<xliff:g id="CREDENTIAL">%s</xliff:g> o‘rnatildi."</string>
    <string name="cert_too_large_error" msgid="8715414972725646285">"O‘rnatib bo‘lmadi, chunki sertifikat hajmi juda katta."</string>
    <string name="cert_missing_error" msgid="7040527352278728220">"O‘rnatib bo‘lmadi, chunki sertifikat fayli topilmadi."</string>
    <string name="cert_read_error" msgid="7353463360652419796">"O‘rnatib bo‘lmadi, chunki sertifikat faylini o‘qib bo‘lmadi."</string>
    <string name="no_cert_file_found" product="nosdcard" msgid="3555332946357131929">"USB xotiradan birorta ham sertifikat fayli topilmadi."</string>
    <string name="no_cert_file_found" product="default" msgid="1942077544887243999">"SD kartadan sertifikat fayli topilmadi."</string>
    <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"USB xotira mavjud emas."</string>
    <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"SD karta mavjud emas."</string>
    <string name="only_primary_user_allowed" msgid="4005084935023047716">"Sertifikatlarni faqat ushbu qurilma egasi o‘rnata oladi."</string>
    <string name="credential_usage_label" msgid="1513892208033156805">"Foydalanish:"</string>
  <string-array name="credential_usage">
    <item msgid="375085478373011304">"VPN va ilovalar"</item>
    <item msgid="692322974985472861">"Wi-Fi"</item>
  </string-array>
    <string name="certificate_capabilities_warning" msgid="4158609401937799110">"Eslatma: mazkur sertifikat noshiri bu qurilmaga kirish va chiqish trafigini nazorat qilishi mumkin."</string>
    <string name="wifi_title" msgid="8475811746333426489">"Wi-Fi Profili"</string>
    <string name="wifi_detail_title" msgid="3627332137252994395">"%s haqida batafsil ma’lumot"</string>
    <string name="wifi_detail_label" msgid="3032151019356747583">"Tafsilotlar"</string>
    <string name="wifi_install_label" msgid="1449629407724323233">"O‘rnatish"</string>
    <string name="wifi_installing_label" msgid="8387393993627129025">"O‘rnatilmoqda"</string>
    <string name="wifi_cancel_label" msgid="1328748037608392134">"Bekor qilish"</string>
    <string name="wifi_dismiss_label" msgid="1916684434873972698">"Yopish"</string>
    <string name="wifi_no_config" msgid="1835743123288916755">"Yo‘q"</string>
    <string name="wifi_config_text" msgid="8259587306773310314">"Nomi: %1$s\nFQDN: %2$s\nRoaming Consortiums: %3$s\nRealm: %4$s\nTasdiqlash uslubi: EAP-%5$s\n"</string>
    <string name="wifi_ttls_config_text" msgid="2002413183253872168">"Foydalanuvchi nomi: %s\n"</string>
    <string name="wifi_tls_config_text" msgid="9062328536640168510">"Mijoz sertifikati:\n%1$s\nKey: %2$s\n"</string>
    <string name="wifi_sim_config_text" msgid="1666019954520831840">"SIM: %s\n"</string>
    <string name="wifi_trust_config_text" msgid="5916047381475747783">"Ishonch sertifikati:\n%s\n"</string>
    <string name="install_done_title" msgid="4822989918460334497">"O‘rnatish tugallandi"</string>
    <string name="install_done" msgid="1522718684172097080">"<xliff:g id="NAME">%1$s</xliff:g> hisobi ma’lumotlari saqlangan Wi-Fi tarmoqlariga qo‘shildi."</string>
    <string name="done_label" msgid="5597425930652904250">"TAYYOR"</string>
    <string name="wifi_installer_detail" msgid="63879632832701669">"<xliff:g id="NAME">%1$s</xliff:g> orqali mavjud Wi-Fi tarmoqlariga ulanish uchun sertifikatni o‘rnating."</string>
    <string name="wifi_installer_download_error" msgid="5429453090956277692">"Yuklab olingan faylda muammo mavjud, shuning uchun uni o‘rnatib bo‘lmaydi. Fayl yuklab olingan manba to‘g‘ri ekanligiga ishonch hosil qiling."</string>
    <string name="wifi_installer_fail" msgid="894483173306576331">"Wi-Fi tarmog‘iga ulanish sertifikatini o‘rnatib bo‘lmadi. Faylni qaytadan yuklab oling."</string>
    <string name="wifi_installer_fail_no_wifi_title" msgid="8358191074828840533">"O‘rnatish bekor qilindi"</string>
    <string name="wifi_installer_fail_title" msgid="5547079779067835479">"O‘rnatib bo‘lmaydi"</string>
    <string name="wifi_installer_fail_no_wifi" msgid="2044576439984209921">"Wi-Fi aloqasini yoqing va qaytadan urining."</string>
</resources>
