<?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">"Namestitveni program za potrdilo"</string>
    <string name="pick_file_title" msgid="540508675168568249">"Izbiranje potrdila"</string>
    <string name="pkcs12_password_dialog_title" msgid="5997624645207427161">"Izvozi potrdilo"</string>
    <string name="extracting_pkcs12" msgid="5687649614233029807">"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="5251535810456146069">"Vnesite geslo za ekstrahiranje potrdil."</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">"ključ enega uporabnika"</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="1441470604400783036">"Vnesite pravilno geslo."</string>
    <string name="password_empty_error" msgid="5805075735548023047">"Vnesite geslo."</string>
    <string name="name_empty_error" msgid="7655653930227877414">"Vnesite ime."</string>
    <string name="name_char_error" msgid="4674369917792581202">"Vnesite ime, v katerem so le črke in številke."</string>
    <string name="storage_error" msgid="3375395655677579149">"Potrdila ni bilo mogoče shraniti. Če želite poskusiti znova, kliknite V redu."</string>
    <string name="unable_to_save_cert" msgid="864273038676458624">"Potrdila ni bilo mogoče shraniti. Shramba potrdil ni omogočena ali ni 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="cert_is_added" msgid="6996557598167000500">"Program <xliff:g id="CREDENTIAL">%s</xliff:g> je nameščen."</string>
    <string name="cert_too_large_error" msgid="8806716564341320607">"Namestitev ni uspela. Velikost potrdila je prevelika."</string>
    <string name="cert_missing_error" msgid="4220080091005628628">"Namestitev ni bila uspešna. Datoteke s potrdilom ni mogoče najti."</string>
    <string name="cert_read_error" msgid="9120813657318906215">"Namestitev ni bila uspešna. Datoteke s potrdilom ni mogoče brati."</string>
    <string name="no_cert_file_found" product="nosdcard" msgid="3555332946357131929">"Na pomnilniku USB ni bilo mogoče najti datoteke s potrdilom."</string>
    <string name="no_cert_file_found" product="default" msgid="1942077544887243999">"Na kartici SD ni bilo mogoče najti datoteke s potrdilom."</string>
    <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Pomnilnik USB ni na voljo."</string>
    <string name="sdcard_not_present" product="default" msgid="1567335300760018448">"Ni kartice SD."</string>
</resources>
