<?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="storage_error" msgid="8306802455802770779">"Sertifikatni saqlab bo‘lmadi. Qayta urinish uchun OK tugmasini bosing."</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="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>
