<?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 Quraşdırıcı"</string>
    <string name="pick_file_title" msgid="4481949485108233297">"Sertifikat seçin"</string>
    <string name="pkcs12_password_dialog_title" msgid="5997624645207427161">"Sertifikat çıxarışı"</string>
    <string name="extracting_pkcs12" msgid="1881267738821799771">"Əldə edilir..."</string>
    <string name="pkcs12_file_password_dialog_title" msgid="8102721384767269510">"%s fayldan çıxarış"</string>
    <string name="name_credential_dialog_title" msgid="277729846491554437">"Sertifikatı adlandırın"</string>
    <string name="credential_name" msgid="1974979771369744378">"Sertifikat adı:"</string>
    <string name="credential_password" msgid="3520176519550993326">"Sertifikatları çıxarmaq üçün parolu yazın."</string>
    <string name="credential_info" msgid="2436768402308470397">"Bu paketdə olanlar:"</string>
    <string name="p12_description" msgid="4128352087331630024">"PKCS12 açar deposu sertifikatları."</string>
    <string name="one_userkey" msgid="3500697912370644881">"tək istifadəçi açarı"</string>
    <string name="one_usercrt" msgid="7690798336332403106">"tək istifadəçi sertifikatı"</string>
    <string name="one_cacrt" msgid="2667950425420663146">"bir CA sertifikatı"</string>
    <string name="n_cacrts" msgid="2141498640685639208">"%d CA sertifikatlar"</string>
    <string name="password_error" msgid="2042471639556516356">"Parol yazın."</string>
    <string name="password_empty_error" msgid="591713406761723025">"Parol yazın."</string>
    <string name="name_empty_error" msgid="3808800768660110354">"Ad daxil edin."</string>
    <string name="name_char_error" msgid="3176618568784938968">"Yalnız hərf və rəqəmlərdən ibarət ad daxil edin."</string>
    <string name="unable_to_save_cert" msgid="9178604087335389686">"Sertifikatı saxlamaq mümkün deyil. Etimad yaddaşı açıq deyil və ya düzgün tanıdılmayıb."</string>
    <string name="cert_not_saved" msgid="4037698479662830270">"Sertifikat qurulmayıb."</string>
    <string name="no_cert_to_saved" msgid="5708884372817309068">"Yükləmək üçün sertifikat yoxdur."</string>
    <string name="invalid_cert" msgid="7704228670980743590">"Sertifikat yanlışdır."</string>
    <string name="cert_is_added" msgid="6996557598167000500">"<xliff:g id="CREDENTIAL">%s</xliff:g> quraşdırılıb."</string>
    <string name="cert_too_large_error" msgid="8715414972725646285">"Sertifikat ölçüsü çox böyük olduğu üçün yüklənə bilmədi."</string>
    <string name="cert_missing_error" msgid="7040527352278728220">"Quraşdırmaq mümkün olmadı, çünki sertifikat faylını tapmaq mümkün deyil."</string>
    <string name="cert_read_error" msgid="7353463360652419796">"Quraşdırmaq mümkün olmadı, çünki sertifikat faylını oxumaq mümkün deyil."</string>
    <string name="no_cert_file_found" product="nosdcard" msgid="3555332946357131929">"USB yaddaşda sertifikat faylı tapılmadı."</string>
    <string name="no_cert_file_found" product="default" msgid="1942077544887243999">"SD kartda heç bir sertifikat tapılmadı."</string>
    <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"USB yaddaş əlçatmazdır."</string>
    <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"SD kart yoxdur."</string>
    <string name="only_primary_user_allowed" msgid="4005084935023047716">"Yalnız bu cihazın sahibi sertifikatları quraşdıra bilər."</string>
    <string name="credential_usage_label" msgid="1513892208033156805">"İstifadə hesabı:"</string>
  <string-array name="credential_usage">
    <item msgid="375085478373011304">"VPN və tətbiqlər"</item>
    <item msgid="692322974985472861">"Wi-Fi"</item>
  </string-array>
    <string name="certificate_capabilities_warning" msgid="4158609401937799110">"Qeyd: Bu sertifikatın təchizatçısı bu cihaza gələn və buradan göndərilən bütün dataya nəzarət edə bilər."</string>
    <string name="wifi_title" msgid="8475811746333426489">"Wi-Fi Profili"</string>
    <string name="wifi_detail_title" msgid="3627332137252994395">"%s üçün detallar"</string>
    <string name="wifi_detail_label" msgid="3032151019356747583">"Detallar"</string>
    <string name="wifi_install_label" msgid="1449629407724323233">"Quraşdırın"</string>
    <string name="wifi_installing_label" msgid="8387393993627129025">"Quraşdırılır"</string>
    <string name="wifi_cancel_label" msgid="1328748037608392134">"Ləğv edin"</string>
    <string name="wifi_dismiss_label" msgid="1916684434873972698">"Rədd edin"</string>
    <string name="wifi_no_config" msgid="1835743123288916755">"Heç biri"</string>
    <string name="wifi_config_text" msgid="8259587306773310314">"Ad: %1$s\nFQDN: %2$s\nRominq Konsorsiumları: %3$s\nÖlkə: %4$s\nİcazə metodu: EAP-%5$s\n"</string>
    <string name="wifi_ttls_config_text" msgid="2002413183253872168">"İstifadəçi adı: %s\n"</string>
    <string name="wifi_tls_config_text" msgid="9062328536640168510">"Müştəri sertifikatı:\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">"Etimad sertifikatı:\n%s\n"</string>
    <string name="install_done_title" msgid="4822989918460334497">"Etimadnamə quraşdırıldı"</string>
    <string name="install_done" msgid="1522718684172097080">"<xliff:g id="NAME">%1$s</xliff:g> etimadnaməsi yadda saxlanılmış Wi-Fi şəbəkələrinə əlavə edildi."</string>
    <string name="done_label" msgid="5597425930652904250">"HAZIRDIR"</string>
    <string name="wifi_installer_detail" msgid="63879632832701669">"<xliff:g id="NAME">%1$s</xliff:g> ilə əlçatan şəbəkələrə qoşulmaq üçün Wi-Fi etimadnaməsini quraşdırın."</string>
    <string name="wifi_installer_download_error" msgid="5429453090956277692">"Endirilmiş fayllarda problem var və quraşdırıla bilməz. Faylı düzgün mənbədən endirdiyinizə əmin olun."</string>
    <string name="wifi_installer_fail" msgid="894483173306576331">"Wi-Fi məlumatlarını quraşdırmaq olmur. Faylı yenidən endirməyə cəhd edin."</string>
    <string name="wifi_installer_fail_no_wifi_title" msgid="8358191074828840533">"Quraşdırma ləğv edildi"</string>
    <string name="wifi_installer_fail_title" msgid="5547079779067835479">"Quraşdırıla bilməz"</string>
    <string name="wifi_installer_fail_no_wifi" msgid="2044576439984209921">"Wi-Fi\'ı yandırın və yenidən cəhd edin."</string>
</resources>
