/*
 * crypt32 dll Romanian resources
 *
 * Copyright (C) 2009 Paul Chitescu
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 */

#include "cryptres.h"

/* UTF-8 */
#pragma code_page(65001)

LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL

STRINGTABLE DISCARDABLE
{
    IDS_AUTHORITY_KEY_ID "Identificatorul cheii autorității"
    IDS_KEY_ATTRIBUTES "Atributele cheii"
    IDS_KEY_USAGE_RESTRICTION "Restricții de folosire a cheii"
    IDS_SUBJECT_ALT_NAME "Nume alternativ al subiectului"
    IDS_ISSUER_ALT_NAME "Nume alternativ al emitentului"
    IDS_BASIC_CONSTRAINTS "Constrângeri de bază"
    IDS_KEY_USAGE "Folosirea cheii"
    IDS_CERT_POLICIES "Politicile certificatului"
    IDS_SUBJECT_KEY_IDENTIFIER "Identificatorul subiectului cheii"
    IDS_CRL_REASON_CODE "Codul motivului CRL"
    IDS_CRL_DIST_POINTS "Puncte de distribuire CRL"
    IDS_ENHANCED_KEY_USAGE "Extensii de folosirea a cheii"
    IDS_AUTHORITY_INFO_ACCESS "Acces la informațiile de autoritate"
    IDS_CERT_EXTENSIONS "Extensiile certificatului"
    IDS_NEXT_UPDATE_LOCATION "Următoarea locație de actualizare"
    IDS_YES_OR_NO_TRUST "Încredere Da sau Nu"
    IDS_EMAIL_ADDRESS "Adresă de e-mail"
    IDS_UNSTRUCTURED_NAME "Nume nestructurat"
    IDS_CONTENT_TYPE "Tipul conținutului"
    IDS_MESSAGE_DIGEST "Rezumatul mesajului"
    IDS_SIGNING_TIME "Momentul semnării"
    IDS_COUNTER_SIGN "Contrasemnat"
    IDS_CHALLENGE_PASSWORD "Parola de provocare"
    IDS_UNSTRUCTURED_ADDRESS "Adresă nestructurată"
    IDS_SMIME_CAPABILITIES "Capabilități S/MIME"
    IDS_PREFER_SIGNED_DATA "Preferă datele semnate"
    IDS_CPS "CPS"
    IDS_USER_NOTICE "Notiță utilizator"
    IDS_OCSP "Protocol online de verificare a stării certificatului"
    IDS_CA_ISSUER "Autoritatea de certificare emitentă"
    IDS_CERT_TEMPLATE_NAME "Numele șablonului de certificat"
    IDS_CERT_TYPE "Tipul certificatului"
    IDS_CERT_MANIFOLD "Ramurile certificatului"
    IDS_NETSCAPE_CERT_TYPE "Tipul certificatului Netscape"
    IDS_NETSCAPE_BASE_URL "URL-ul de bază Netscape"
    IDS_NETSCAPE_REVOCATION_URL "URL-ul de revocare Netscape"
    IDS_NETSCAPE_CA_REVOCATION_URL "URL-ul de revocare a CA Netscape"
    IDS_NETSCAPE_CERT_RENEWAL_URL "URL-ul de înnoire a certificatului Netscape"
    IDS_NETSCAPE_CA_POLICY_URL "URL-ul politicii CA Netscape"
    IDS_NETSCAPE_SSL_SERVER_NAME "Nume server SSL Netscape"
    IDS_NETSCAPE_COMMENT "Comentariul Netscape"
    IDS_SPC_SP_AGENCY_INFO "InformațiiAgențieSpcSp"
    IDS_SPC_FINANCIAL_CRITERIA "CriteriiFinanciareSpc"
    IDS_SPC_MINIMAL_CRITERIA "CriteriiMinimaleSpc"
    IDS_COUNTRY "Țara/regiunea"
    IDS_ORGANIZATION "Organizația"
    IDS_ORGANIZATIONAL_UNIT "Unitatea organizațională"
    IDS_COMMON_NAME "Nume uzual"
    IDS_LOCALITY "Localitatea"
    IDS_STATE_OR_PROVINCE "Statul sau provincia"
    IDS_TITLE "Titlul"
    IDS_GIVEN_NAME "Prenume"
    IDS_INITIALS "Inițiale"
    IDS_SUR_NAME "Nume"
    IDS_DOMAIN_COMPONENT "Componentă de domeniu"
    IDS_STREET_ADDRESS "Adresa"
    IDS_SERIAL_NUMBER "Număr de serie"
    IDS_CA_VERSION "Versiunea CA"
    IDS_CROSS_CA_VERSION "Versiunea încrucișată CA"
    IDS_SERIALIZED_SIG_SERIAL_NUMBER "Număr de serie al semnăturii serializate"
    IDS_PRINCIPAL_NAME "Nume principal"
    IDS_WINDOWS_PRODUCT_UPDATE "Actualizarea produsului Windows"
    IDS_ENROLLMENT_NAME_VALUE_PAIR "Pereche nume-valoare de înscriere"
    IDS_OS_VERSION "Versiunea sistemului de operare"
    IDS_ENROLLMENT_CSP "CSP de înscriere"
    IDS_CRL_NUMBER "Numărul CRL"
    IDS_DELTA_CRL_INDICATOR "Indicator diferență CRL"
    IDS_ISSUING_DIST_POINT "Punct de distribuție emitent"
    IDS_FRESHEST_CRL "Cel mai proaspăt CRL"
    IDS_NAME_CONSTRAINTS "Constrângeri de nume"
    IDS_POLICY_MAPPINGS "Mapări de politică"
    IDS_POLICY_CONSTRAINTS "Constrângeri de politică"
    IDS_CROSS_CERT_DIST_POINTS "Puncte încrucișate de distribuție certificate"
    IDS_APPLICATION_POLICIES "Politici de aplicație"
    IDS_APPLICATION_POLICY_MAPPINGS "Mapări de politică aplicație"
    IDS_APPLICATION_POLICY_CONSTRAINTS "Constrângeri de politică aplicație"
    IDS_CMC_DATA "Date CMC"
    IDS_CMC_RESPONSE "Răspuns CMC"
    IDS_UNSIGNED_CMC_REQUEST "Cerere CMC nesemnată"
    IDS_CMC_STATUS_INFO "Informații de stare CMC"
    IDS_CMC_EXTENSIONS "Extensii CMC"
    IDS_CMC_ATTRIBUTES "Atribute CMC"
    IDS_PKCS_7_DATA "Date PKCS 7"
    IDS_PKCS_7_SIGNED "PKCS 7 semnat"
    IDS_PKCS_7_ENVELOPED "PKCS 7 încapsulat"
    IDS_PKCS_7_SIGNED_ENVELOPED "PKCS 7 semnat și încapsulat"
    IDS_PKCS_7_DIGESTED "PKCS 7 rezumat"
    IDS_PKCS_7_ENCRYPTED "PKCS 7 criptat"
    IDS_PREVIOUS_CA_CERT_HASH "Rezumatul certificatului CA anterior"
    IDS_CRL_VIRTUAL_BASE "Baza virtuală a numerelor CRL"
    IDS_CRL_NEXT_PUBLISH "Următorul editor CRL"
    IDS_CA_EXCHANGE "Certificat de criptare CA"
    IDS_KEY_RECOVERY_AGENT "Agent de recuperare a cheilor"
    IDS_CERTIFICATE_TEMPLATE "Șablon de informații de certificat"
    IDS_ENTERPRISE_ROOT_OID "OID rădăcină al întreprinderii"
    IDS_RDN_DUMMY_SIGNER "Semnatar implicit"
    IDS_ARCHIVED_KEY_ATTR "Cheie privată criptată"
    IDS_CRL_SELF_CDP "Locații CRL publicate"
    IDS_REQUIRE_CERT_CHAIN_POLICY "Impune politica de certificare în lanț"
    IDS_TRANSACTION_ID "Identificator de tranzacție"
    IDS_SENDER_NONCE "Identificator unic al expeditorului"
    IDS_RECIPIENT_NONCE "Identificator unic al destinatarului"
    IDS_REG_INFO "Informații de înregistrare"
    IDS_GET_CERTIFICATE "Obținere certificat"
    IDS_GET_CRL "Obținere CRL"
    IDS_REVOKE_REQUEST "Cerere de revocare"
    IDS_QUERY_PENDING "Interogare în curs"
    IDS_SORTED_CTL "Lista certificatelor de încredere"
    IDS_ARCHIVED_KEY_CERT_HASH "Rezumatul certificatului cheii arhivate"
    IDS_PRIVATE_KEY_USAGE_PERIOD "Perioada de folosire a cheii private"
    IDS_CLIENT_INFORMATION "Informații client"
    IDS_SERVER_AUTHENTICATION "Autentificare server"
    IDS_CLIENT_AUTHENTICATION "Autentificare client"
    IDS_CODE_SIGNING "Semnarea codului"
    IDS_SECURE_EMAIL "E-mail securizat"
    IDS_TIME_STAMPING "Marcare temporală"
    IDS_MICROSOFT_TRUST_LIST_SIGNING "Semnare listă de încredere Microsoft"
    IDS_MICROSOFT_TIME_STAMPING "Marcare temporală Microsoft"
    IDS_IPSEC_END_SYSTEM "Sistem terminal de securitate IP"
    IDS_IPSEC_TUNNEL "Capăt de tunel de securitate IP"
    IDS_IPSEC_USER "Utilizator de securitate IP"
    IDS_EFS "Sistem de fișiere criptat"
    IDS_WHQL_CRYPTO "Verificarea driverelor hardware Windows"
    IDS_NT5_CRYPTO "Verificarea componentelor sistem Windows"
    IDS_OEM_WHQL_CRYPTO "Verificarea componentelor sistem Windows OEM"
    IDS_EMBEDDED_NT_CRYPTO "Verificarea componentelor sistem Windows Embedded"
    IDS_KEY_PACK_LICENSES "Licențiere pachet de chei"
    IDS_LICENSE_SERVER "Verificarea serverului de licență"
    IDS_SMART_CARD_LOGON "Log on cu Smart Card"
    IDS_DIGITAL_RIGHTS "Drepturi digitale"
    IDS_QUALIFIED_SUBORDINATION "Subordonare calificată"
    IDS_KEY_RECOVERY "Recuperare de chei"
    IDS_DOCUMENT_SIGNING "Semnare de documente"
    IDS_IPSEC_IKE_INTERMEDIATE "Intermediar IKE de securitate IP"
    IDS_FILE_RECOVERY "Recuperare de fișiere"
    IDS_ROOT_LIST_SIGNER "Semnatarul listei rădăcină"
    IDS_ANY_APPLICATION_POLICIES "Toate politicile de aplicație"
    IDS_DS_EMAIL_REPLICATION "Replicarea serviciilor repertoar de e-mail"
    IDS_ENROLLMENT_AGENT "Agent de cerere de certificate"
    IDS_LIFETIME_SIGNING "Semnare pe toată durata vieții"
    IDS_ANY_CERT_POLICY "Toate politicile de emitere"
}

STRINGTABLE DISCARDABLE
{
    IDS_LOCALIZEDNAME_ROOT "Autorități de încredere de bază de certificare"
    IDS_LOCALIZEDNAME_MY "Personale"
    IDS_LOCALIZEDNAME_CA "Autorități intermediare de certificare"
    IDS_LOCALIZEDNAME_ADDRESSBOOK "Alte persoane"
    IDS_LOCALIZEDNAME_TRUSTEDPUBLISHER "Editor de încredere"
    IDS_LOCALIZEDNAME_DISALLOWED "Lipsite de încredere"
}

STRINGTABLE DISCARDABLE
{
    IDS_KEY_ID "KeyID="
    IDS_CERT_ISSUER "Emitentul certificatului"
    IDS_CERT_SERIAL_NUMBER "Numărul de serie al certificatului="
    IDS_ALT_NAME_OTHER_NAME "Nume alternativ="
    IDS_ALT_NAME_RFC822_NAME "Addresa de e-mail="
    IDS_ALT_NAME_DNS_NAME "Nume de DNS="
    IDS_ALT_NAME_DIRECTORY_NAME "Adresa de repertoar"
    IDS_ALT_NAME_URL "URL="
    IDS_ALT_NAME_IP_ADDRESS "Adresa IP="
    IDS_ALT_NAME_MASK "Masca="
    IDS_ALT_NAME_REGISTERED_ID "Identificator înregistrat="
    IDS_USAGE_UNKNOWN "Folosire necunoscută a cheii"
    IDS_SUBJECT_TYPE "Tipul subiectului="
    IDS_SUBJECT_TYPE_CA "CA"
    IDS_SUBJECT_TYPE_END_CERT "Entitate finală"
    IDS_PATH_LENGTH "Constrângere de lungime a căii="
    IDS_PATH_LENGTH_NONE "Fără"
    IDS_INFO_NOT_AVAILABLE "Informație indisponibilă"
    IDS_AIA "Acces la informațiile de autoritate"
    IDS_ACCESS_METHOD "Metoda de acces="
    IDS_ACCESS_METHOD_OCSP "OCSP"
    IDS_ACCESS_METHOD_CA_ISSUERS "Emitenți CA"
    IDS_ACCESS_METHOD_UNKNOWN "Metodă de acces necunoscută"
    IDS_ACCESS_LOCATION "Nume alternativ"
    IDS_CRL_DIST_POINT "Punct de distribuție CRL"
    IDS_CRL_DIST_POINT_NAME "Numele punctului de distribuție"
    IDS_CRL_DIST_POINT_FULL_NAME "Nume complet"
    IDS_CRL_DIST_POINT_RDN_NAME "Nume RDN"
    IDS_CRL_DIST_POINT_REASON "Motiv CRL="
    IDS_CRL_DIST_POINT_ISSUER "Emitent CRL"
    IDS_REASON_KEY_COMPROMISE "Cheia compromisă"
    IDS_REASON_CA_COMPROMISE "CA compromisă"
    IDS_REASON_AFFILIATION_CHANGED "Afiliere schimbată"
    IDS_REASON_SUPERSEDED "Înlocuit"
    IDS_REASON_CESSATION_OF_OPERATION "Încetarea operațiunilor"
    IDS_REASON_CERTIFICATE_HOLD "Certificat reținut"
    IDS_FINANCIAL_CRITERIA "Informația financiară="
    IDS_FINANCIAL_CRITERIA_AVAILABLE "Disponibilă"
    IDS_FINANCIAL_CRITERIA_NOT_AVAILABLE "Indisponibilă"
    IDS_FINANCIAL_CRITERIA_MEETS_CRITERIA "Îndeplinește criteriul="
    IDS_YES "Da"
    IDS_NO "Nu"
    IDS_DIGITAL_SIGNATURE "Semnătură digitală"
    IDS_NON_REPUDIATION "Non-repudiere"
    IDS_KEY_ENCIPHERMENT "Cifrare cheie"
    IDS_DATA_ENCIPHERMENT "Cifrare date"
    IDS_KEY_AGREEMENT "Înțelegere la cheie"
    IDS_CERT_SIGN "Semnare certificat"
    IDS_OFFLINE_CRL_SIGN "Semnare CRL offline"
    IDS_CRL_SIGN "Semnare CRL"
    IDS_ENCIPHER_ONLY "Doar cifrează"
    IDS_DECIPHER_ONLY "Doar descifrează"
    IDS_NETSCAPE_SSL_CLIENT "Autentificare client SSL"
    IDS_NETSCAPE_SSL_SERVER "Autentificare server SSL"
    IDS_NETSCAPE_SMIME "S/MIME"
    IDS_NETSCAPE_SIGN "Semnătură"
    IDS_NETSCAPE_SSL_CA "SSL CA"
    IDS_NETSCAPE_SMIME_CA "S/MIME CA"
    IDS_NETSCAPE_SIGN_CA "Semnătură CA"
}
