<?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="4481949485108233297">"Alegeţi un certificat"</string>
    <string name="pkcs12_password_dialog_title" msgid="5997624645207427161">"Extrageţi certificatul"</string>
    <string name="extracting_pkcs12" msgid="1881267738821799771">"Se extrage..."</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="3520176519550993326">"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="2042471639556516356">"Introduceţi parola corectă."</string>
    <string name="password_empty_error" msgid="591713406761723025">"Introduceţi parola."</string>
    <string name="name_empty_error" msgid="3808800768660110354">"Introduceţi un nume."</string>
    <string name="name_char_error" msgid="3176618568784938968">"Introduceţi un nume care conţine doar litere şi numere."</string>
    <string name="storage_error" msgid="8306802455802770779">"Nu se poate salva certificatul. Atingeţi OK pentru a încerca din nou."</string>
    <string name="unable_to_save_cert" msgid="9178604087335389686">"Nu se poate salva certificatul. Spaţiul de stocare a certificatelor 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="8715414972725646285">"Nu se poate instala, deoarece dimensiunea certificatului este prea mare."</string>
    <string name="cert_missing_error" msgid="7040527352278728220">"Nu se poate instala, deoarece fişierul certificat nu a putut fi găsit."</string>
    <string name="cert_read_error" msgid="7353463360652419796">"Nu se poate instala, deoarece fişierul certificat nu a putut fi citit."</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="3866952732541932947">"Nu există card SD."</string>
    <!-- no translation found for only_primary_user_allowed (4005084935023047716) -->
    <skip />
</resources>
