<?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="4481949485108233297">"Wybierz certyfikat"</string>
    <string name="pkcs12_password_dialog_title" msgid="5997624645207427161">"Wyodrębnij certyfikat"</string>
    <string name="extracting_pkcs12" msgid="1881267738821799771">"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="3520176519550993326">"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="userkey_type" msgid="6214833257030657106">"Algorytm:"</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="2042471639556516356">"Wpisz poprawne hasło."</string>
    <string name="password_empty_error" msgid="591713406761723025">"Wpisz hasło."</string>
    <string name="name_empty_error" msgid="3808800768660110354">"Wpisz nazwę."</string>
    <string name="name_char_error" msgid="3176618568784938968">"Wpisz nazwę, która zawiera tylko litery i cyfry."</string>
    <string name="unable_to_save_cert" msgid="9178604087335389686">"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="action_missing_private_key" msgid="7543470057312920042">"Do zainstalowania certyfikatu wymagany jest klucz prywatny"</string>
    <string name="action_missing_user_cert" msgid="3727411730202316771">"Do zainstalowania klucza prywatnego wymagany jest certyfikat"</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="8715414972725646285">"Nie można zainstalować, ponieważ rozmiar certyfikatu jest zbyt duży."</string>
    <string name="cert_missing_error" msgid="7040527352278728220">"Nie można zainstalować, ponieważ nie można znaleźć pliku certyfikatu."</string>
    <string name="cert_read_error" msgid="7353463360652419796">"Nie można zainstalować, ponieważ nie można odczytać pliku certyfikatu."</string>
    <string name="only_primary_user_allowed" msgid="4005084935023047716">"Certyfikaty może instalować tylko właściciel tego urządzenia."</string>
    <string name="credential_usage_label" msgid="1513892208033156805">"Przeznaczenie tych danych logowania:"</string>
  <string-array name="credential_usage">
    <item msgid="375085478373011304">"VPN i aplikacje"</item>
    <item msgid="692322974985472861">"Wi-Fi"</item>
  </string-array>
    <string name="certificate_capabilities_warning" msgid="4158609401937799110">"Uwaga: wydawca tego certyfikatu może sprawdzać cały ruch przychodzący na to urządzenie i wychodzący z niego."</string>
    <string name="wifi_title" msgid="8475811746333426489">"Profil Wi-Fi"</string>
    <string name="wifi_detail_title" msgid="3627332137252994395">"Szczegóły: %s"</string>
    <string name="wifi_detail_label" msgid="3032151019356747583">"Szczegóły"</string>
    <string name="wifi_install_label" msgid="1449629407724323233">"Zainstaluj"</string>
    <string name="wifi_installing_label" msgid="8387393993627129025">"Instalowanie"</string>
    <string name="wifi_cancel_label" msgid="1328748037608392134">"Anuluj"</string>
    <string name="wifi_dismiss_label" msgid="1916684434873972698">"Zamknij"</string>
    <string name="wifi_no_config" msgid="1835743123288916755">"Brak"</string>
    <string name="wifi_config_text" msgid="8259587306773310314">"Nazwa: %1$s\nPełna nazwa domenowa: %2$s\nKonsorcja roamingowe: %3$s\nObszar: %4$s\nMetoda uwierzytelniania: EAP-%5$s\n"</string>
    <string name="wifi_ttls_config_text" msgid="2002413183253872168">"Nazwa użytkownika: %s\n"</string>
    <string name="wifi_tls_config_text" msgid="9062328536640168510">"Certyfikat klienta:\n%1$s\nKlucz: %2$s\n"</string>
    <string name="wifi_sim_config_text" msgid="1666019954520831840">"SIM: %s\n"</string>
    <string name="wifi_trust_config_text" msgid="5916047381475747783">"Certyfikat zaufania:\n%s\n"</string>
    <string name="install_done_title" msgid="4822989918460334497">"Zainstalowano dane logowania"</string>
    <string name="install_done" msgid="1522718684172097080">"Dane logowania do <xliff:g id="NAME">%1$s</xliff:g> zostały dodane do zapisanych sieci Wi-Fi."</string>
    <string name="done_label" msgid="5597425930652904250">"GOTOWE"</string>
    <string name="wifi_installer_detail" msgid="63879632832701669">"Zainstaluj dane logowania do sieci Wi-Fi, by łączyć się z sieciami dostępnymi przez <xliff:g id="NAME">%1$s</xliff:g>."</string>
    <string name="wifi_installer_download_error" msgid="5429453090956277692">"W pobranym pliku występują błędy i nie można go zainstalować. Upewnij się, że został on pobrany z właściwego źródła."</string>
    <string name="wifi_installer_fail" msgid="894483173306576331">"Nie można zainstalować danych logowania do sieci Wi-Fi. Pobierz plik ponownie."</string>
    <string name="wifi_installer_fail_no_wifi_title" msgid="8358191074828840533">"Instalacja została anulowana"</string>
    <string name="wifi_installer_fail_title" msgid="5547079779067835479">"Nie można zainstalować"</string>
    <string name="wifi_installer_fail_no_wifi" msgid="2044576439984209921">"Włącz Wi-Fi i spróbuj ponownie."</string>
</resources>
