<?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">"Namestitvena aplikacija za potrdilo"</string>
    <string name="pick_file_title" msgid="4481949485108233297">"Izberite potrdilo"</string>
    <string name="pkcs12_password_dialog_title" msgid="5997624645207427161">"Izvozi potrdilo"</string>
    <string name="extracting_pkcs12" msgid="1881267738821799771">"Ekstrahiranje ..."</string>
    <string name="pkcs12_file_password_dialog_title" msgid="8102721384767269510">"Ekstrahiraj iz %s"</string>
    <string name="name_credential_dialog_title" msgid="277729846491554437">"Poimenovanje potrdila"</string>
    <string name="credential_name" msgid="1974979771369744378">"Ime potrdila:"</string>
    <string name="credential_password" msgid="3520176519550993326">"Za ekstrahiranje potrdil vnesite geslo."</string>
    <string name="credential_info" msgid="2436768402308470397">"V tem paketu je:"</string>
    <string name="p12_description" msgid="4128352087331630024">"Potrdila v shrambi ključev PKCS12"</string>
    <string name="one_userkey" msgid="3500697912370644881">"en uporabniški ključ"</string>
    <string name="userkey_type" msgid="6214833257030657106">"Algoritem:"</string>
    <string name="one_usercrt" msgid="7690798336332403106">"potrdilo enega uporabnika"</string>
    <string name="one_cacrt" msgid="2667950425420663146">"eno overjeno potrdilo"</string>
    <string name="n_cacrts" msgid="2141498640685639208">"%d overjenih potrdil"</string>
    <string name="password_error" msgid="2042471639556516356">"Vnesite pravilno geslo."</string>
    <string name="password_empty_error" msgid="591713406761723025">"Vnesite geslo."</string>
    <string name="name_empty_error" msgid="3808800768660110354">"Vnesite ime."</string>
    <string name="name_char_error" msgid="3176618568784938968">"Vnesite ime, ki vsebuje samo črke in številke."</string>
    <string name="unable_to_save_cert" msgid="9178604087335389686">"Potrdila ni bilo mogoče shraniti. Shramba poverilnic ni omogočena ali pravilno inicializirana."</string>
    <string name="cert_not_saved" msgid="4037698479662830270">"Potrdilo ni nameščeno."</string>
    <string name="no_cert_to_saved" msgid="5708884372817309068">"Ni potrdila za namestitev."</string>
    <string name="invalid_cert" msgid="7704228670980743590">"Potrdilo ni veljavno."</string>
    <string name="action_missing_private_key" msgid="7543470057312920042">"Za namestitev potrdila potrebujete zasebni ključ"</string>
    <string name="action_missing_user_cert" msgid="3727411730202316771">"Za namestitev zasebnega ključa potrebujete potrdilo"</string>
    <string name="cert_is_added" msgid="6996557598167000500">"<xliff:g id="CREDENTIAL">%s</xliff:g> je nameščen."</string>
    <string name="cert_too_large_error" msgid="8715414972725646285">"Namestitev ni uspela, ker je potrdilo preveliko."</string>
    <string name="cert_missing_error" msgid="7040527352278728220">"Namestitev ni uspela, ker ni bilo mogoče najti datoteke s potrdilom."</string>
    <string name="cert_read_error" msgid="7353463360652419796">"Namestitev ni uspela, ker ni bilo mogoče prebrati datoteke s potrdilom."</string>
    <string name="only_primary_user_allowed" msgid="4005084935023047716">"Samo lastnik sme namestiti potrdila."</string>
    <string name="credential_usage_label" msgid="1513892208033156805">"Uporaba poverilnice:"</string>
  <string-array name="credential_usage">
    <item msgid="375085478373011304">"VPN in aplikacije"</item>
    <item msgid="692322974985472861">"Wi-Fi"</item>
  </string-array>
    <string name="certificate_capabilities_warning" msgid="4158609401937799110">"Opomba: izdajatelj tega potrdila lahko pregleda ves promet v napravo in iz nje."</string>
    <string name="wifi_title" msgid="8475811746333426489">"Profil za Wi-Fi"</string>
    <string name="wifi_detail_title" msgid="3627332137252994395">"Podrobnosti za %s"</string>
    <string name="wifi_detail_label" msgid="3032151019356747583">"Podrobnosti"</string>
    <string name="wifi_install_label" msgid="1449629407724323233">"Namesti"</string>
    <string name="wifi_installing_label" msgid="8387393993627129025">"Nameščanje"</string>
    <string name="wifi_cancel_label" msgid="1328748037608392134">"Prekliči"</string>
    <string name="wifi_dismiss_label" msgid="1916684434873972698">"Opusti"</string>
    <string name="wifi_no_config" msgid="1835743123288916755">"Brez"</string>
    <string name="wifi_config_text" msgid="8259587306773310314">"Ime: %1$s\nFQDN: %2$s\nZdruženja za gostovanja: %3$s\nPodročje: %4$s\nNačin preverjanja pristnosti: EAP-%5$s\n"</string>
    <string name="wifi_ttls_config_text" msgid="2002413183253872168">"Uporabniško ime: %s\n"</string>
    <string name="wifi_tls_config_text" msgid="9062328536640168510">"Potrdilo odjemalca:\n%1$s\nKljuč: %2$s\n"</string>
    <string name="wifi_sim_config_text" msgid="1666019954520831840">"SIM: %s\n"</string>
    <string name="wifi_trust_config_text" msgid="5916047381475747783">"Potrdilo zaupanja:\n%s\n"</string>
    <string name="install_done_title" msgid="4822989918460334497">"Poverilnice nameščene"</string>
    <string name="install_done" msgid="1522718684172097080">"Poverilnice za <xliff:g id="NAME">%1$s</xliff:g> so dodane med shranjena omrežja Wi-Fi."</string>
    <string name="done_label" msgid="5597425930652904250">"KONČANO"</string>
    <string name="wifi_installer_detail" msgid="63879632832701669">"Namestite poverilnice za Wi-Fi, če se želite povezati v razpoložljiva omrežja prek <xliff:g id="NAME">%1$s</xliff:g>."</string>
    <string name="wifi_installer_download_error" msgid="5429453090956277692">"Prenesena datoteka ima težave in je ni mogoče namestiti. Preverite, ali ste datoteko prenesli iz pravega vira."</string>
    <string name="wifi_installer_fail" msgid="894483173306576331">"Poverilnic za Wi-Fi ni mogoče namestiti. Poskusite prenesti datoteko znova."</string>
    <string name="wifi_installer_fail_no_wifi_title" msgid="8358191074828840533">"Namestitev je bila preklicana"</string>
    <string name="wifi_installer_fail_title" msgid="5547079779067835479">"Namestitev ni mogoča"</string>
    <string name="wifi_installer_fail_no_wifi" msgid="2044576439984209921">"Vklopite Wi-Fi in poskusite znova."</string>
</resources>
