<?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">"Tanúsítványtelepítő"</string>
    <string name="pick_file_title" msgid="4481949485108233297">"Válasszon egy tanúsítványt"</string>
    <string name="pkcs12_password_dialog_title" msgid="5997624645207427161">"Tanúsítvány kibontása"</string>
    <string name="extracting_pkcs12" msgid="1881267738821799771">"Kibontás..."</string>
    <string name="pkcs12_file_password_dialog_title" msgid="8102721384767269510">"Kiolvasás innen: %s"</string>
    <string name="name_credential_dialog_title" msgid="277729846491554437">"A tanúsítvány neve"</string>
    <string name="credential_name" msgid="1974979771369744378">"Tanúsítvány neve:"</string>
    <string name="credential_password" msgid="3520176519550993326">"Adja meg a jelszót a tanúsítványok kibontásához."</string>
    <string name="credential_info" msgid="2436768402308470397">"A csomag tartalma:"</string>
    <string name="p12_description" msgid="4128352087331630024">"Tanúsítványok a PKCS12 kulcstárban."</string>
    <string name="one_userkey" msgid="3500697912370644881">"egy felhasználói kulcs"</string>
    <string name="one_usercrt" msgid="7690798336332403106">"egy felhasználói tanúsítvány"</string>
    <string name="one_cacrt" msgid="2667950425420663146">"egy CA tanúsítvány"</string>
    <string name="n_cacrts" msgid="2141498640685639208">"%d CA tanúsítvány"</string>
    <string name="password_error" msgid="2042471639556516356">"Adja meg a helyes jelszót."</string>
    <string name="password_empty_error" msgid="591713406761723025">"Írja be a jelszót."</string>
    <string name="name_empty_error" msgid="3808800768660110354">"Írjon be egy nevet."</string>
    <string name="name_char_error" msgid="3176618568784938968">"Csak betűket és számokat tartalmazó nevet adjon meg."</string>
    <string name="storage_error" msgid="8306802455802770779">"Nem sikerült menteni a tanúsítványt. Érintse meg az OK lehetőséget az újrapróbáláshoz."</string>
    <string name="unable_to_save_cert" msgid="9178604087335389686">"Nem lehet menteni a tanúsítványt. A hitelesítési adatok tárolója nincs engedélyezve vagy megfelelően inicializálva."</string>
    <string name="cert_not_saved" msgid="4037698479662830270">"A tanúsítvány nincs telepítve."</string>
    <string name="no_cert_to_saved" msgid="5708884372817309068">"Nincs telepíthető tanúsítvány."</string>
    <string name="invalid_cert" msgid="7704228670980743590">"Ez a tanúsítvány érvénytelen."</string>
    <string name="cert_is_added" msgid="6996557598167000500">"A(z) <xliff:g id="CREDENTIAL">%s</xliff:g> tanúsítvány telepítve van."</string>
    <string name="cert_too_large_error" msgid="8715414972725646285">"Nem lehet telepíteni, mert a tanúsítvány mérete túl nagy."</string>
    <string name="cert_missing_error" msgid="7040527352278728220">"Nem lehet telepíteni, mert a tanúsítványfájl nem található."</string>
    <string name="cert_read_error" msgid="7353463360652419796">"Nem lehet telepíteni, mert a tanúsítványfájl nem olvasható."</string>
    <string name="no_cert_file_found" product="nosdcard" msgid="3555332946357131929">"Nem található tanúsítványfájl az USB-táron."</string>
    <string name="no_cert_file_found" product="default" msgid="1942077544887243999">"Nem található tanúsítványfájl az SD-kártyán."</string>
    <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Az USB-tár nem érhető el."</string>
    <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"Az SD-kártya hiányzik."</string>
    <!-- no translation found for only_primary_user_allowed (4005084935023047716) -->
    <skip />
</resources>
