/*
 * crypt32 dll resources
 *
 * Copyright (C) 2006 Juan Lang
 *
 * 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"

#pragma makedep po

LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT

STRINGTABLE
{
    IDS_AUTHORITY_KEY_ID "Authority Key Identifier"
    IDS_KEY_ATTRIBUTES "Key Attributes"
    IDS_KEY_USAGE_RESTRICTION "Key Usage Restriction"
    IDS_SUBJECT_ALT_NAME "Subject Alternative Name"
    IDS_ISSUER_ALT_NAME "Issuer Alternative Name"
    IDS_BASIC_CONSTRAINTS "Basic Constraints"
    IDS_KEY_USAGE "Key Usage"
    IDS_CERT_POLICIES "Certificate Policies"
    IDS_SUBJECT_KEY_IDENTIFIER "Subject Key Identifier"
    IDS_CRL_REASON_CODE "CRL Reason Code"
    IDS_CRL_DIST_POINTS "CRL Distribution Points"
    IDS_ENHANCED_KEY_USAGE "Enhanced Key Usage"
    IDS_AUTHORITY_INFO_ACCESS "Authority Information Access"
    IDS_CERT_EXTENSIONS "Certificate Extensions"
    IDS_NEXT_UPDATE_LOCATION "Next Update Location"
    IDS_YES_OR_NO_TRUST "Yes or No Trust"
    IDS_EMAIL_ADDRESS "Email Address"
    IDS_UNSTRUCTURED_NAME "Unstructured Name"
    IDS_CONTENT_TYPE "Content Type"
    IDS_MESSAGE_DIGEST "Message Digest"
    IDS_SIGNING_TIME "Signing Time"
    IDS_COUNTER_SIGN "Counter Sign"
    IDS_CHALLENGE_PASSWORD "Challenge Password"
    IDS_UNSTRUCTURED_ADDRESS "Unstructured Address"
    IDS_SMIME_CAPABILITIES "S/MIME Capabilities"
    IDS_PREFER_SIGNED_DATA "Prefer Signed Data"
    IDS_CPS "#msgctxt#Certification Practice Statement#CPS"
    IDS_USER_NOTICE "User Notice"
    IDS_OCSP "On-line Certificate Status Protocol"
    IDS_CA_ISSUER "Certification Authority Issuer"
    IDS_CERT_TEMPLATE_NAME "Certification Template Name"
    IDS_CERT_TYPE "Certificate Type"
    IDS_CERT_MANIFOLD "Certificate Manifold"
    IDS_NETSCAPE_CERT_TYPE "Netscape Cert Type"
    IDS_NETSCAPE_BASE_URL "Netscape Base URL"
    IDS_NETSCAPE_REVOCATION_URL "Netscape Revocation URL"
    IDS_NETSCAPE_CA_REVOCATION_URL "Netscape CA Revocation URL"
    IDS_NETSCAPE_CERT_RENEWAL_URL "Netscape Cert Renewal URL"
    IDS_NETSCAPE_CA_POLICY_URL "Netscape CA Policy URL"
    IDS_NETSCAPE_SSL_SERVER_NAME "Netscape SSL ServerName"
    IDS_NETSCAPE_COMMENT "Netscape Comment"
    IDS_COUNTRY "Country/Region"
    IDS_ORGANIZATION "Organization"
    IDS_ORGANIZATIONAL_UNIT "Organizational Unit"
    IDS_COMMON_NAME "Common Name"
    IDS_LOCALITY "Locality"
    IDS_STATE_OR_PROVINCE "State or Province"
    IDS_TITLE "Title"
    IDS_GIVEN_NAME "Given Name"
    IDS_INITIALS "Initials"
    IDS_SUR_NAME "Surname"
    IDS_DOMAIN_COMPONENT "Domain Component"
    IDS_STREET_ADDRESS "Street Address"
    IDS_SERIAL_NUMBER "Serial Number"
    IDS_CA_VERSION "CA Version"
    IDS_CROSS_CA_VERSION "Cross CA Version"
    IDS_SERIALIZED_SIG_SERIAL_NUMBER "Serialized Signature Serial Number"
    IDS_PRINCIPAL_NAME "Principal Name"
    IDS_WINDOWS_PRODUCT_UPDATE "Windows Product Update"
    IDS_ENROLLMENT_NAME_VALUE_PAIR "Enrollment Name Value Pair"
    IDS_OS_VERSION "OS Version"
    IDS_ENROLLMENT_CSP "Enrollment CSP"
    IDS_CRL_NUMBER "CRL Number"
    IDS_DELTA_CRL_INDICATOR "Delta CRL Indicator"
    IDS_ISSUING_DIST_POINT "Issuing Distribution Point"
    IDS_FRESHEST_CRL "Freshest CRL"
    IDS_NAME_CONSTRAINTS "Name Constraints"
    IDS_POLICY_MAPPINGS "Policy Mappings"
    IDS_POLICY_CONSTRAINTS "Policy Constraints"
    IDS_CROSS_CERT_DIST_POINTS "Cross-Certificate Distribution Points"
    IDS_APPLICATION_POLICIES "Application Policies"
    IDS_APPLICATION_POLICY_MAPPINGS "Application Policy Mappings"
    IDS_APPLICATION_POLICY_CONSTRAINTS "Application Policy Constraints"
    IDS_CMC_DATA "CMC Data"
    IDS_CMC_RESPONSE "CMC Response"
    IDS_UNSIGNED_CMC_REQUEST "Unsigned CMC Request"
    IDS_CMC_STATUS_INFO "CMC Status Info"
    IDS_CMC_EXTENSIONS "CMC Extensions"
    IDS_CMC_ATTRIBUTES "CMC Attributes"
    IDS_PKCS_7_DATA "PKCS 7 Data"
    IDS_PKCS_7_SIGNED "PKCS 7 Signed"
    IDS_PKCS_7_ENVELOPED "PKCS 7 Enveloped"
    IDS_PKCS_7_SIGNED_ENVELOPED "PKCS 7 Signed Enveloped"
    IDS_PKCS_7_DIGESTED "PKCS 7 Digested"
    IDS_PKCS_7_ENCRYPTED "PKCS 7 Encrypted"
    IDS_PREVIOUS_CA_CERT_HASH "Previous CA Certificate Hash"
    IDS_CRL_VIRTUAL_BASE "Virtual Base CRL Number"
    IDS_CRL_NEXT_PUBLISH "Next CRL Publish"
    IDS_CA_EXCHANGE "CA Encryption Certificate"
    IDS_KEY_RECOVERY_AGENT "Key Recovery Agent"
    IDS_CERTIFICATE_TEMPLATE "Certificate Template Information"
    IDS_ENTERPRISE_ROOT_OID "Enterprise Root OID"
    IDS_RDN_DUMMY_SIGNER "Dummy Signer"
    IDS_ARCHIVED_KEY_ATTR "Encrypted Private Key"
    IDS_CRL_SELF_CDP "Published CRL Locations"
    IDS_REQUIRE_CERT_CHAIN_POLICY "Enforce Certificate Chain Policy"
    IDS_TRANSACTION_ID "Transaction Id"
    IDS_SENDER_NONCE "Sender Nonce"
    IDS_RECIPIENT_NONCE "Recipient Nonce"
    IDS_REG_INFO "Reg Info"
    IDS_GET_CERTIFICATE "Get Certificate"
    IDS_GET_CRL "Get CRL"
    IDS_REVOKE_REQUEST "Revoke Request"
    IDS_QUERY_PENDING "Query Pending"
    IDS_SORTED_CTL "Certificate Trust List"
    IDS_ARCHIVED_KEY_CERT_HASH "Archived Key Certificate Hash"
    IDS_PRIVATE_KEY_USAGE_PERIOD "Private Key Usage Period"
    IDS_CLIENT_INFORMATION "Client Information"
    IDS_SERVER_AUTHENTICATION "Server Authentication"
    IDS_CLIENT_AUTHENTICATION "Client Authentication"
    IDS_CODE_SIGNING "Code Signing"
    IDS_SECURE_EMAIL "Secure Email"
    IDS_TIME_STAMPING "Time Stamping"
    IDS_MICROSOFT_TRUST_LIST_SIGNING "Microsoft Trust List Signing"
    IDS_MICROSOFT_TIME_STAMPING "Microsoft Time Stamping"
    IDS_IPSEC_END_SYSTEM "IP security end system"
    IDS_IPSEC_TUNNEL "IP security tunnel termination"
    IDS_IPSEC_USER "IP security user"
    IDS_EFS "Encrypting File System"
    IDS_WHQL_CRYPTO "Windows Hardware Driver Verification"
    IDS_NT5_CRYPTO "Windows System Component Verification"
    IDS_OEM_WHQL_CRYPTO "OEM Windows System Component Verification"
    IDS_EMBEDDED_NT_CRYPTO "Embedded Windows System Component Verification"
    IDS_KEY_PACK_LICENSES "Key Pack Licenses"
    IDS_LICENSE_SERVER "License Server Verification"
    IDS_SMART_CARD_LOGON "Smart Card Logon"
    IDS_DIGITAL_RIGHTS "Digital Rights"
    IDS_QUALIFIED_SUBORDINATION "Qualified Subordination"
    IDS_KEY_RECOVERY "Key Recovery"
    IDS_DOCUMENT_SIGNING "Document Signing"
    IDS_IPSEC_IKE_INTERMEDIATE "IP security IKE intermediate"
    IDS_FILE_RECOVERY "File Recovery"
    IDS_ROOT_LIST_SIGNER "Root List Signer"
    IDS_ANY_APPLICATION_POLICIES "All application policies"
    IDS_DS_EMAIL_REPLICATION "Directory Service Email Replication"
    IDS_ENROLLMENT_AGENT "Certificate Request Agent"
    IDS_LIFETIME_SIGNING "Lifetime Signing"
    IDS_ANY_CERT_POLICY "All issuance policies"
}

STRINGTABLE
{
    IDS_LOCALIZEDNAME_ROOT "Trusted Root Certification Authorities"
    IDS_LOCALIZEDNAME_MY "Personal"
    IDS_LOCALIZEDNAME_CA "Intermediate Certification Authorities"
    IDS_LOCALIZEDNAME_ADDRESSBOOK "Other People"
    IDS_LOCALIZEDNAME_TRUSTEDPUBLISHER "Trusted Publishers"
    IDS_LOCALIZEDNAME_DISALLOWED "Untrusted Certificates"
}

STRINGTABLE
{
    IDS_KEY_ID "KeyID="
    IDS_CERT_ISSUER "Certificate Issuer"
    IDS_CERT_SERIAL_NUMBER "Certificate Serial Number="
    IDS_ALT_NAME_OTHER_NAME "Other Name="
    IDS_ALT_NAME_RFC822_NAME "Email Address="
    IDS_ALT_NAME_DNS_NAME "DNS Name="
    IDS_ALT_NAME_DIRECTORY_NAME "Directory Address"
    IDS_ALT_NAME_URL "URL="
    IDS_ALT_NAME_IP_ADDRESS "IP Address="
    IDS_ALT_NAME_MASK "Mask="
    IDS_ALT_NAME_REGISTERED_ID "Registered ID="
    IDS_USAGE_UNKNOWN "Unknown Key Usage"
    IDS_SUBJECT_TYPE "Subject Type="
    IDS_SUBJECT_TYPE_CA "#msgctxt#Certificate Authority#CA"
    IDS_SUBJECT_TYPE_END_CERT "End Entity"
    IDS_PATH_LENGTH "Path Length Constraint="
    IDS_PATH_LENGTH_NONE "#msgctxt#path length#None"
    IDS_INFO_NOT_AVAILABLE "Information Not Available"
    IDS_AIA "Authority Info Access"
    IDS_ACCESS_METHOD "Access Method="
    IDS_ACCESS_METHOD_OCSP "#msgctxt#Online Certificate Status Protocol#OCSP"
    IDS_ACCESS_METHOD_CA_ISSUERS "CA Issuers"
    IDS_ACCESS_METHOD_UNKNOWN "Unknown Access Method"
    IDS_ACCESS_LOCATION "Alternative Name"
    IDS_CRL_DIST_POINT "CRL Distribution Point"
    IDS_CRL_DIST_POINT_NAME "Distribution Point Name"
    IDS_CRL_DIST_POINT_FULL_NAME "Full Name"
    IDS_CRL_DIST_POINT_RDN_NAME "RDN Name"
    IDS_CRL_DIST_POINT_REASON "CRL Reason="
    IDS_CRL_DIST_POINT_ISSUER "CRL Issuer"
    IDS_REASON_KEY_COMPROMISE "Key Compromise"
    IDS_REASON_CA_COMPROMISE "CA Compromise"
    IDS_REASON_AFFILIATION_CHANGED "Affiliation Changed"
    IDS_REASON_SUPERSEDED "Superseded"
    IDS_REASON_CESSATION_OF_OPERATION "Operation Ceased"
    IDS_REASON_CERTIFICATE_HOLD "Certificate Hold"
    IDS_FINANCIAL_CRITERIA "Financial Information="
    IDS_FINANCIAL_CRITERIA_AVAILABLE "Available"
    IDS_FINANCIAL_CRITERIA_NOT_AVAILABLE "Not Available"
    IDS_FINANCIAL_CRITERIA_MEETS_CRITERIA "Meets Criteria="
    IDS_YES "Yes"
    IDS_NO "No"
    IDS_DIGITAL_SIGNATURE "Digital Signature"
    IDS_NON_REPUDIATION "Non-Repudiation"
    IDS_KEY_ENCIPHERMENT "Key Encipherment"
    IDS_DATA_ENCIPHERMENT "Data Encipherment"
    IDS_KEY_AGREEMENT "Key Agreement"
    IDS_CERT_SIGN "Certificate Signing"
    IDS_OFFLINE_CRL_SIGN "Off-line CRL Signing"
    IDS_CRL_SIGN "CRL Signing"
    IDS_ENCIPHER_ONLY "Encipher Only"
    IDS_DECIPHER_ONLY "Decipher Only"
    IDS_NETSCAPE_SSL_CLIENT "SSL Client Authentication"
    IDS_NETSCAPE_SSL_SERVER "SSL Server Authentication"
    IDS_NETSCAPE_SMIME "S/MIME"
    IDS_NETSCAPE_SIGN "Signature"
    IDS_NETSCAPE_SSL_CA "SSL CA"
    IDS_NETSCAPE_SMIME_CA "S/MIME CA"
    IDS_NETSCAPE_SIGN_CA "Signature CA"
}

LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL

#define WINE_FILEDESCRIPTION_STR "Wine CryptoAPI Library"
#define WINE_FILENAME_STR "crypt32.dll"
#define WINE_FILEVERSION 5,131,2600,1243
#define WINE_FILEVERSION_STR "5.131.2600.1243"
#define WINE_PRODUCTVERSION 5,131,2600,1243
#define WINE_PRODUCTVERSION_STR "5.131.2600.1243"

#include "wine/wine_common_ver.rc"
