<?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">"Inštalátor certifikátov"</string>
    <string name="pick_file_title" msgid="4481949485108233297">"Vyberte certifikát"</string>
    <string name="pkcs12_password_dialog_title" msgid="5997624645207427161">"Extrahovať certifikát"</string>
    <string name="extracting_pkcs12" msgid="1881267738821799771">"Prebieha extrahovanie..."</string>
    <string name="pkcs12_file_password_dialog_title" msgid="8102721384767269510">"Extrahovať z %s"</string>
    <string name="name_credential_dialog_title" msgid="277729846491554437">"Nazvite certifikát"</string>
    <string name="credential_name" msgid="1974979771369744378">"Názov certifikátu:"</string>
    <string name="credential_password" msgid="3520176519550993326">"Ak chcete extrahovať certifikáty, zadajte heslo."</string>
    <string name="credential_info" msgid="2436768402308470397">"Balíček obsahuje:"</string>
    <string name="p12_description" msgid="4128352087331630024">"Certifikáty v úložisku kľúčov PKCS12."</string>
    <string name="one_userkey" msgid="3500697912370644881">"kľúč pre jedného používateľa"</string>
    <string name="one_usercrt" msgid="7690798336332403106">"certifikát pre jedného používateľa"</string>
    <string name="one_cacrt" msgid="2667950425420663146">"jeden certifikát CA"</string>
    <string name="n_cacrts" msgid="2141498640685639208">"%d certifikátov CA"</string>
    <string name="password_error" msgid="2042471639556516356">"Zadajte správne heslo."</string>
    <string name="password_empty_error" msgid="591713406761723025">"Zadajte heslo."</string>
    <string name="name_empty_error" msgid="3808800768660110354">"Zadajte názov"</string>
    <string name="name_char_error" msgid="3176618568784938968">"Zadajte názov, ktorý obsahuje iba písmená a čísla."</string>
    <string name="unable_to_save_cert" msgid="9178604087335389686">"Certifikát sa nepodarilo uložiť. Úložisko poverení nie je povolené alebo nie je správne inicializované."</string>
    <string name="cert_not_saved" msgid="4037698479662830270">"Certifikát nie je nainštalovaný"</string>
    <string name="no_cert_to_saved" msgid="5708884372817309068">"Nebol nájdený žiadny certifikát na inštaláciu."</string>
    <string name="invalid_cert" msgid="7704228670980743590">"Certifikát je neplatný."</string>
    <string name="cert_is_added" msgid="6996557598167000500">"<xliff:g id="CREDENTIAL">%s</xliff:g> bol nainštalovaný"</string>
    <string name="cert_too_large_error" msgid="8715414972725646285">"Inštalácia zlyhala, pretože súbor certifikátu je príliš veľký."</string>
    <string name="cert_missing_error" msgid="7040527352278728220">"Inštalácia zlyhala, pretože sa nepodarilo nájsť súbor s certifikátom."</string>
    <string name="cert_read_error" msgid="7353463360652419796">"Inštalácia zlyhala, pretože sa nepodarilo prečítať súbor s certifikátom."</string>
    <string name="no_cert_file_found" product="nosdcard" msgid="3555332946357131929">"V ukladacom priestore USB nebol nájdený žiadny súbor certifikátu."</string>
    <string name="no_cert_file_found" product="default" msgid="1942077544887243999">"Na SD karte nebol nájdený žiadny certifikát."</string>
    <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Ukl. priestor USB je nedostup."</string>
    <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"SD karta nie je k dispozícii."</string>
    <string name="only_primary_user_allowed" msgid="4005084935023047716">"Certifikáty môže inštalovať iba vlastník tohto zariadenia."</string>
    <string name="credential_usage_label" msgid="1513892208033156805">"Použitie poverení:"</string>
  <string-array name="credential_usage">
    <item msgid="375085478373011304">"VPN a aplikácie"</item>
    <item msgid="692322974985472861">"Wi‑Fi"</item>
  </string-array>
    <string name="certificate_capabilities_warning" msgid="4158609401937799110">"Poznámka: Vydavateľ tohto certifikátu môže kontrolovať všetky dáta odosielané a prijímané týmto zariadením."</string>
    <string name="wifi_title" msgid="8475811746333426489">"Profil Wi‑Fi"</string>
    <string name="wifi_detail_title" msgid="3627332137252994395">"Podrobné informácie o sieti %s"</string>
    <string name="wifi_detail_label" msgid="3032151019356747583">"Podrobné informácie"</string>
    <string name="wifi_install_label" msgid="1449629407724323233">"Inštalovať"</string>
    <string name="wifi_installing_label" msgid="8387393993627129025">"Inštalácia"</string>
    <string name="wifi_cancel_label" msgid="1328748037608392134">"Zrušiť"</string>
    <string name="wifi_dismiss_label" msgid="1916684434873972698">"Odmietnuť"</string>
    <string name="wifi_no_config" msgid="1835743123288916755">"Žiadne"</string>
    <string name="wifi_config_text" msgid="8259587306773310314">"Názov: %1$s\nPresne stanovený názov domény (FQDN): %2$s\nRoamingové konzorciá: %3$s\nOblasť: %4$s\nMetóda overenia totožnosti: EAP-%5$s\n"</string>
    <string name="wifi_ttls_config_text" msgid="2002413183253872168">"Používateľské meno: %s\n"</string>
    <string name="wifi_tls_config_text" msgid="9062328536640168510">"Certifikát klienta:\n%1$s\nKľúč: %2$s\n"</string>
    <string name="wifi_sim_config_text" msgid="1666019954520831840">"SIM karta: %s\n"</string>
    <string name="wifi_trust_config_text" msgid="5916047381475747783">"Certifikát dôveryhodnosti:\n%s\n"</string>
    <string name="install_done_title" msgid="4822989918460334497">"Poverenia boli nainštalované"</string>
    <string name="install_done" msgid="1522718684172097080">"Poverenia rozhrania <xliff:g id="NAME">%1$s</xliff:g> boli pridané do uložených sietí Wi‑Fi."</string>
    <string name="done_label" msgid="5597425930652904250">"HOTOVO"</string>
    <string name="wifi_installer_detail" msgid="63879632832701669">"Nainštaluje poverenia siete Wi‑Fi na pripojenie k sieťam dostupným prostredníctvom rozhrania <xliff:g id="NAME">%1$s</xliff:g>."</string>
    <string name="wifi_installer_download_error" msgid="5429453090956277692">"V stiahnutom súbore sa vyskytli problémy a nedá sa nainštalovať. Skontrolujte, či ste ho stiahli zo správneho zdroja."</string>
    <string name="wifi_installer_fail" msgid="894483173306576331">"Poverenia do siete Wi‑Fi nie je možné nainštalovať. Skúste znova stiahnuť súbor."</string>
    <string name="wifi_installer_fail_no_wifi_title" msgid="8358191074828840533">"Inštalácia bola zrušená"</string>
    <string name="wifi_installer_fail_title" msgid="5547079779067835479">"Nedá sa nainštalovať"</string>
    <string name="wifi_installer_fail_no_wifi" msgid="2044576439984209921">"Zapnite Wi‑Fi a skúste to znova."</string>
</resources>
