<?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">"Program instalacyjny certyfikatu"</string>
    <string name="pick_file_title" msgid="540508675168568249">"Wybierz certyfikat"</string>
    <string name="pkcs12_password_dialog_title" msgid="5997624645207427161">"Wyodrębnij certyfikat"</string>
    <string name="extracting_pkcs12" msgid="5687649614233029807">"Wyodrębnianie..."</string>
    <string name="pkcs12_file_password_dialog_title" msgid="8102721384767269510">"Wyodrębnij z %s"</string>
    <string name="name_credential_dialog_title" msgid="277729846491554437">"Nadaj certyfikatowi nazwę"</string>
    <string name="credential_name" msgid="1974979771369744378">"Nazwa certyfikatu:"</string>
    <string name="credential_password" msgid="5251535810456146069">"Wprowadź hasło, aby wyodrębnić certyfikaty."</string>
    <string name="credential_info" msgid="2436768402308470397">"Pakiet zawiera:"</string>
    <string name="p12_description" msgid="4128352087331630024">"Certyfikaty w magazynie kluczy PKCS12."</string>
    <string name="one_userkey" msgid="3500697912370644881">"jeden klucz użytkownika"</string>
    <string name="one_usercrt" msgid="7690798336332403106">"jeden certyfikat użytkownika"</string>
    <string name="one_cacrt" msgid="2667950425420663146">"jeden certyfikat urzędu certyfikacji"</string>
    <string name="n_cacrts" msgid="2141498640685639208">"Certyfikaty urzędu certyfikacji %d"</string>
    <string name="password_error" msgid="1441470604400783036">"Wprowadź prawidłowe hasło."</string>
    <string name="password_empty_error" msgid="5805075735548023047">"Wprowadź hasło."</string>
    <string name="name_empty_error" msgid="7655653930227877414">"Wprowadź nazwę."</string>
    <string name="name_char_error" msgid="4674369917792581202">"Wprowadź nazwę, która zawiera tylko litery i cyfry."</string>
    <string name="storage_error" msgid="3375395655677579149">"Nie można zapisać certyfikatu. Kliknij przycisk OK, aby ponowić próbę."</string>
    <string name="unable_to_save_cert" msgid="864273038676458624">"Nie można zapisać certyfikatu. Magazyn danych logowania nie został włączony lub poprawnie zainicjowany."</string>
    <string name="cert_not_saved" msgid="4037698479662830270">"Certyfikat nie został zainstalowany."</string>
    <string name="no_cert_to_saved" msgid="5708884372817309068">"Brak certyfikatu do zainstalowania."</string>
    <string name="invalid_cert" msgid="7704228670980743590">"Certyfikat jest nieprawidłowy."</string>
    <string name="cert_is_added" msgid="6996557598167000500">"<xliff:g id="CREDENTIAL">%s</xliff:g> jest zainstalowany."</string>
    <string name="cert_too_large_error" msgid="8806716564341320607">"Instalacja nie powiodła się. Rozmiar certyfikatu jest zbyt duży."</string>
    <string name="cert_missing_error" msgid="4220080091005628628">"Instalacja nie powiodła się. Nie można znaleźć pliku certyfikatu."</string>
    <string name="cert_read_error" msgid="9120813657318906215">"Instalacja nie powiodła się. Nie można odczytać pliku certyfikatu."</string>
    <string name="no_cert_file_found" product="nosdcard" msgid="3555332946357131929">"Nie znaleziono pliku certyfikatu na nośniku USB."</string>
    <string name="no_cert_file_found" product="default" msgid="1942077544887243999">"Na karcie SD nie znaleziono pliku certyfikatu."</string>
    <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Nośnik USB jest niedostępny."</string>
    <string name="sdcard_not_present" product="default" msgid="1567335300760018448">"Brak karty SD."</string>
</resources>
