<?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">"Zertifikats-Installer"</string>
    <string name="pick_file_title" msgid="4481949485108233297">"Zertifikat auswählen"</string>
    <string name="pkcs12_password_dialog_title" msgid="5997624645207427161">"Zertifikat extrahieren"</string>
    <string name="extracting_pkcs12" msgid="1881267738821799771">"Zertifikate werden extrahiert..."</string>
    <string name="pkcs12_file_password_dialog_title" msgid="8102721384767269510">"Zertifikate aus %s extrahieren"</string>
    <string name="name_credential_dialog_title" msgid="277729846491554437">"Zertifikat benennen"</string>
    <string name="credential_name" msgid="1974979771369744378">"Zertifikatname:"</string>
    <string name="credential_password" msgid="3520176519550993326">"Gib das Passwort zum Extrahieren der Zertifikate ein."</string>
    <string name="credential_info" msgid="2436768402308470397">"Das Paket enthält Folgendes:"</string>
    <string name="p12_description" msgid="4128352087331630024">"Zertifikate im PKCS12-Keystore"</string>
    <string name="one_userkey" msgid="3500697912370644881">"ein Nutzerschlüssel"</string>
    <string name="one_usercrt" msgid="7690798336332403106">"ein Nutzerzertifikat"</string>
    <string name="one_cacrt" msgid="2667950425420663146">"ein CA-Zertifikat"</string>
    <string name="n_cacrts" msgid="2141498640685639208">"%d CA-Zertifikate"</string>
    <string name="password_error" msgid="2042471639556516356">"Gib das richtige Passwort ein."</string>
    <string name="password_empty_error" msgid="591713406761723025">"Gib das Passwort ein."</string>
    <string name="name_empty_error" msgid="3808800768660110354">"Gib einen Namen ein."</string>
    <string name="name_char_error" msgid="3176618568784938968">"Gib einen Namen ein, der ausschließlich aus Buchstaben und Zahlen besteht."</string>
    <string name="unable_to_save_cert" msgid="9178604087335389686">"Das Zertifikat konnte nicht gespeichert werden. Der Speicher für die Anmeldedaten wurde nicht aktiviert oder falsch initialisiert."</string>
    <string name="cert_not_saved" msgid="4037698479662830270">"Das Zertifikat ist nicht installiert."</string>
    <string name="no_cert_to_saved" msgid="5708884372817309068">"Kein zu installierendes Zertifikat"</string>
    <string name="invalid_cert" msgid="7704228670980743590">"Das Zertifikat ist ungültig."</string>
    <string name="cert_is_added" msgid="6996557598167000500">"<xliff:g id="CREDENTIAL">%s</xliff:g> ist installiert."</string>
    <string name="cert_too_large_error" msgid="8715414972725646285">"Installation nicht möglich, weil das Zertifikat zu groß ist"</string>
    <string name="cert_missing_error" msgid="7040527352278728220">"Installation nicht möglich, weil die Zertifikatdatei nicht gefunden wurde"</string>
    <string name="cert_read_error" msgid="7353463360652419796">"Installation nicht möglich, weil die Zertifikatdatei nicht gelesen werden konnte"</string>
    <string name="no_cert_file_found" product="nosdcard" msgid="3555332946357131929">"Keine Zertifikatdatei auf USB-Speicher gefunden."</string>
    <string name="no_cert_file_found" product="default" msgid="1942077544887243999">"Auf der SD-Karte wurde keine Zertifikats-Datei gefunden."</string>
    <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Kein USB-Speicher verfügbar"</string>
    <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"SD-Karte ist nicht vorhanden."</string>
    <string name="only_primary_user_allowed" msgid="4005084935023047716">"Nur der Eigentümer dieses Geräts kann Zertifikate installieren."</string>
    <string name="credential_usage_label" msgid="1513892208033156805">"Verwendung der Anmeldedaten:"</string>
  <string-array name="credential_usage">
    <item msgid="375085478373011304">"VPN und Apps"</item>
    <item msgid="692322974985472861">"WLAN"</item>
  </string-array>
    <string name="certificate_capabilities_warning" msgid="4158609401937799110">"Hinweis: Der Aussteller dieses Zertifikats prüft unter Umständen den gesamten Traffic zum und ausgehend vom Gerät."</string>
    <string name="wifi_title" msgid="8475811746333426489">"WLAN-Profile"</string>
    <string name="wifi_detail_title" msgid="3627332137252994395">"Details für %s"</string>
    <string name="wifi_detail_label" msgid="3032151019356747583">"Details"</string>
    <string name="wifi_install_label" msgid="1449629407724323233">"Installieren"</string>
    <string name="wifi_installing_label" msgid="8387393993627129025">"Installation"</string>
    <string name="wifi_cancel_label" msgid="1328748037608392134">"Abbrechen"</string>
    <string name="wifi_dismiss_label" msgid="1916684434873972698">"Schließen"</string>
    <string name="wifi_no_config" msgid="1835743123288916755">"Keine"</string>
    <string name="wifi_config_text" msgid="8259587306773310314">"Name: %1$s\nFQDN: %2$s\nRoaming-Konsortien: %3$s\nBereich: %4$s\nAuthentifizierungsmethode: EAP-%5$s\n"</string>
    <string name="wifi_ttls_config_text" msgid="2002413183253872168">"Nutzername: %s\n"</string>
    <string name="wifi_tls_config_text" msgid="9062328536640168510">"Clientzertifikat:\n%1$s\nSchlüssel: %2$s\n"</string>
    <string name="wifi_sim_config_text" msgid="1666019954520831840">"SIM: %s\n"</string>
    <string name="wifi_trust_config_text" msgid="5916047381475747783">"Vertrauenswürdiges Zertifikat:\n%s\n"</string>
    <string name="install_done_title" msgid="4822989918460334497">"Anmeldedaten installiert"</string>
    <string name="install_done" msgid="1522718684172097080">"Die Anmeldedaten für <xliff:g id="NAME">%1$s</xliff:g> wurden zu den gespeicherten WLAN-Netzwerken hinzugefügt."</string>
    <string name="done_label" msgid="5597425930652904250">"Fertig"</string>
    <string name="wifi_installer_detail" msgid="63879632832701669">"Installiere WLAN-Anmeldedaten, um eine Verbindung mit Netzwerken herzustellen, die über <xliff:g id="NAME">%1$s</xliff:g> verfügbar sind."</string>
    <string name="wifi_installer_download_error" msgid="5429453090956277692">"Die heruntergeladene Datei enthält Fehler und kann nicht installiert werden. Vergewissere dich, dass du die Datei von der korrekten Quelle heruntergeladen hast."</string>
    <string name="wifi_installer_fail" msgid="894483173306576331">"Die WLAN-Anmeldedaten können nicht installiert werden. Lade die Datei erneut herunter."</string>
    <string name="wifi_installer_fail_no_wifi_title" msgid="8358191074828840533">"Installation abgebrochen"</string>
    <string name="wifi_installer_fail_title" msgid="5547079779067835479">"Installation nicht möglich"</string>
    <string name="wifi_installer_fail_no_wifi" msgid="2044576439984209921">"Aktiviere WLAN und versuche es erneut."</string>
</resources>
