<?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 de instalare a certificatului"</string>
    <string name="pick_file_title" msgid="540508675168568249">"Alegeţi un certificat"</string>
    <string name="pkcs12_password_dialog_title" msgid="5997624645207427161">"Extrageţi certificatul"</string>
    <string name="extracting_pkcs12" msgid="5687649614233029807">"În curs de extragere..."</string>
    <string name="pkcs12_file_password_dialog_title" msgid="8102721384767269510">"Extrageţi din %s"</string>
    <string name="name_credential_dialog_title" msgid="277729846491554437">"Denumiţi certificatul"</string>
    <string name="credential_name" msgid="1974979771369744378">"Nume certificat:"</string>
    <string name="credential_password" msgid="5251535810456146069">"Introduceţi parola pentru a extrage certificatele."</string>
    <string name="credential_info" msgid="2436768402308470397">"Pachetul conţine:"</string>
    <string name="p12_description" msgid="4128352087331630024">"Certificate în depozitul de chei PKCS12."</string>
    <string name="one_userkey" msgid="3500697912370644881">"o cheie pentru utilizator"</string>
    <string name="one_usercrt" msgid="7690798336332403106">"un certificat pentru utilizator"</string>
    <string name="one_cacrt" msgid="2667950425420663146">"un certificat CA"</string>
    <string name="n_cacrts" msgid="2141498640685639208">"%d certificate CA"</string>
    <string name="password_error" msgid="1441470604400783036">"Introduceţi parola corectă."</string>
    <string name="password_empty_error" msgid="5805075735548023047">"Introduceţi parola."</string>
    <string name="name_empty_error" msgid="7655653930227877414">"Introduceţi un nume."</string>
    <string name="name_char_error" msgid="4674369917792581202">"Introduceţi un nume alcătuit doar din litere şi cifre."</string>
    <string name="storage_error" msgid="3375395655677579149">"Imposibil de salvat certificatul. Faceţi clic pe OK pentru a reîncerca."</string>
    <string name="unable_to_save_cert" msgid="864273038676458624">"Imposibil de salvat certificatul. Stocarea acreditivelor nu este activată sau nu este corect iniţializată."</string>
    <string name="cert_not_saved" msgid="4037698479662830270">"Certificatul nu este instalat."</string>
    <string name="no_cert_to_saved" msgid="5708884372817309068">"Niciun certificat de instalat."</string>
    <string name="invalid_cert" msgid="7704228670980743590">"Certificatul este nevalid."</string>
    <string name="cert_is_added" msgid="6996557598167000500">"<xliff:g id="CREDENTIAL">%s</xliff:g> este instalat."</string>
    <string name="cert_too_large_error" msgid="8806716564341320607">"Instalarea nu a reuşit. Dimensiunea certificatului este prea mare."</string>
    <string name="cert_missing_error" msgid="4220080091005628628">"Instalarea nu a reuşit. Imposibil de localizat fişierul certificat."</string>
    <string name="cert_read_error" msgid="9120813657318906215">"Instalarea nu a reuşit. Imposibil de citit fişierul certificat."</string>
    <string name="no_cert_file_found" product="nosdcard" msgid="3555332946357131929">"Nu a fost găsit niciun fişier certificat în stocarea USB."</string>
    <string name="no_cert_file_found" product="default" msgid="1942077544887243999">"Nu s-a găsit niciun fişier certificat pe cardul SD."</string>
    <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Stocarea USB nedisponibilă."</string>
    <string name="sdcard_not_present" product="default" msgid="1567335300760018448">"Nu există card SD."</string>
</resources>
