/*
 * crypt32 dll resources
 *
 * Copyright 2009 Aurimas Fišeras <aurimas@gmail.com>
 *
 * 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_LITHUANIAN, SUBLANG_NEUTRAL

STRINGTABLE DISCARDABLE
{
    IDS_AUTHORITY_KEY_ID                  "Įstaigos rakto identifikatorius"
    IDS_KEY_ATTRIBUTES                    "Rakto atributai"
    IDS_KEY_USAGE_RESTRICTION             "Rakto naudojimo ribojimai"
    IDS_SUBJECT_ALT_NAME                  "Subjekto alternatyvus vardas"
    IDS_ISSUER_ALT_NAME                   "Išdavėjo alternatyvus vardas"
    IDS_BASIC_CONSTRAINTS                 "Pagrindiniai ribojimai"
    IDS_KEY_USAGE                         "Rakto naudojimas"
    IDS_CERT_POLICIES                     "Liudijimo politika"
    IDS_SUBJECT_KEY_IDENTIFIER            "Subjekto rakto identifikatorius"
    IDS_CRL_REASON_CODE                   "ALS priežasties kodas" /* Atšauktų Liudijimų Sąrašas */
    IDS_CRL_DIST_POINTS                   "ALS platinimo vietos"
    IDS_ENHANCED_KEY_USAGE                "Išplėstas rakto naudojimas"
    IDS_AUTHORITY_INFO_ACCESS             "Išdavėjo informacijos prieiga"
    IDS_CERT_EXTENSIONS                   "Liudijimo plėtiniai"
    IDS_NEXT_UPDATE_LOCATION              "Kito atnaujinimo vieta"
    IDS_YES_OR_NO_TRUST                   "Yra ar nėra patikėjimas"
    IDS_EMAIL_ADDRESS                     "Elektroninio pašto adresas"
    IDS_UNSTRUCTURED_NAME                 "Nestruktūrinis vardas"
    IDS_CONTENT_TYPE                      "Turinio tipas"
    IDS_MESSAGE_DIGEST                    "Pranešimo maišos reikšmė"
    IDS_SIGNING_TIME                      "Pasirašymo laikas"
    IDS_COUNTER_SIGN                      "Paliudijantis parašas"
    IDS_CHALLENGE_PASSWORD                "Iššūkio slaptažodis"
    IDS_UNSTRUCTURED_ADDRESS              "Nestruktūrinis adresas"
    IDS_SMIME_CAPABILITIES                "SMIME gebėjimai"
    IDS_PREFER_SIGNED_DATA                "Teikti pirmenybę pasirašytiems duomenims"
    IDS_CPS                               "Sertifikavimo Veiklos Nuostatos (CPS)"
    IDS_USER_NOTICE                       "Naudotojo pastaba"
    IDS_OCSP                              "Būsenos paliudijimo tinklu protokolas (OCSP)"
    IDS_CA_ISSUER                         "Liudijimo įstaigos steigėjai"
    IDS_CERT_TEMPLATE_NAME                "Liudijimo šablono pavadinimas"
    IDS_CERT_TYPE                         "Liudijimo tipas"
    IDS_CERT_MANIFOLD                     "Liudijimo kopija"
    IDS_NETSCAPE_CERT_TYPE                "Netscape liudijimo tipas"
    IDS_NETSCAPE_BASE_URL                 "Netscape bazės URL"
    IDS_NETSCAPE_REVOCATION_URL           "Netscape atšaukimų URL"
    IDS_NETSCAPE_CA_REVOCATION_URL        "Netscape LĮ atšaukimų URL"
    IDS_NETSCAPE_CERT_RENEWAL_URL         "Netscape liudijimų atnaujinimo URL"
    IDS_NETSCAPE_CA_POLICY_URL            "Netscape LĮ politikos URL"
    IDS_NETSCAPE_SSL_SERVER_NAME          "Netscape SSL serverio vardas"
    IDS_NETSCAPE_COMMENT                  "Netscape komentaras"
    IDS_SPC_SP_AGENCY_INFO                "SpcSpAgencyInfo"
    IDS_SPC_FINANCIAL_CRITERIA            "SpcFinancialCriteria"
    IDS_SPC_MINIMAL_CRITERIA              "SpcMinimalCriteria"
    IDS_COUNTRY                           "Valstybė/regionas"
    IDS_ORGANIZATION                      "Įstaiga"
    IDS_ORGANIZATIONAL_UNIT               "Įstaigos padalinys"
    IDS_COMMON_NAME                       "Vardas, pavardė"
    IDS_LOCALITY                          "Vietovė"
    IDS_STATE_OR_PROVINCE                 "Valstija, sritis, gubernija"
    IDS_TITLE                             "Titulas"
    IDS_GIVEN_NAME                        "Vardas"
    IDS_INITIALS                          "Inicialai"
    IDS_SUR_NAME                          "Pavardė"
    IDS_DOMAIN_COMPONENT                  "Srities komponentas"
    IDS_STREET_ADDRESS                    "Adresas"
    IDS_SERIAL_NUMBER                     "Numeris"
    IDS_CA_VERSION                        "LĮ versija"
    IDS_CROSS_CA_VERSION                  "Kryžminės LĮ versija"
    IDS_SERIALIZED_SIG_SERIAL_NUMBER      "Išdėstyto serijomis parašo numeris"
    IDS_PRINCIPAL_NAME                    "Pagrindinis pavadinimas"
    IDS_WINDOWS_PRODUCT_UPDATE            "Windows produktų naujinimas"
    IDS_ENROLLMENT_NAME_VALUE_PAIR        "Registravimo vardo reikšmių pora"
    IDS_OS_VERSION                        "OS versija"
    IDS_ENROLLMENT_CSP                    "Registravimo CSP"
    IDS_CRL_NUMBER                        "ALS numeris"
    IDS_DELTA_CRL_INDICATOR               "ALS pokyčių indikatorius"
    IDS_ISSUING_DIST_POINT                "Išdavimo platinimo vieta"
    IDS_FRESHEST_CRL                      "Naujausias ALS"
    IDS_NAME_CONSTRAINTS                  "Vardo ribojimai"
    IDS_POLICY_MAPPINGS                   "Politikos atvaizdavimas"
    IDS_POLICY_CONSTRAINTS                "Politikos ribojimai"
    IDS_CROSS_CERT_DIST_POINTS            "Kryžminio liudijimo platinimo vietos"
    IDS_APPLICATION_POLICIES              "Programos politika"
    IDS_APPLICATION_POLICY_MAPPINGS       "Programos politikos atvaizdavimas"
    IDS_APPLICATION_POLICY_CONSTRAINTS    "Programos politikos ribojimai"
    IDS_CMC_DATA                          "CMC duomenys"
    IDS_CMC_RESPONSE                      "CMC atsakymas"
    IDS_UNSIGNED_CMC_REQUEST              "Nepasirašyta CMC užklausa"
    IDS_CMC_STATUS_INFO                   "CMC būsenos informacija"
    IDS_CMC_EXTENSIONS                    "CMC plėtiniai"
    IDS_CMC_ATTRIBUTES                    "CMC atributai"
    IDS_PKCS_7_DATA                       "PKCS 7 duomenys"
    IDS_PKCS_7_SIGNED                     "PKCS 7 pasirašytas"
    IDS_PKCS_7_ENVELOPED                  "PKCS 7 voke"
    IDS_PKCS_7_SIGNED_ENVELOPED           "PKCS 7 pasirašytas, voke"
    IDS_PKCS_7_DIGESTED                   "PKCS 7 apskaičiuota maišos reikšmė"
    IDS_PKCS_7_ENCRYPTED                  "PKCS 7 užšifruotas"
    IDS_PREVIOUS_CA_CERT_HASH             "Ankstesnė LĮ liudijimo maišos reikšmė"
    IDS_CRL_VIRTUAL_BASE                  "Virtualus bazinis ALS numeris"
    IDS_CRL_NEXT_PUBLISH                  "Kitas ALS publikavimas"
    IDS_CA_EXCHANGE                       "LĮ užšifravimo liudijimas"
    IDS_KEY_RECOVERY_AGENT                "Rakto atkūrimo priemonė"
    IDS_CERTIFICATE_TEMPLATE              "Liudijimo šablono informacija"
    IDS_ENTERPRISE_ROOT_OID               "Organizacijos pagrindinis objekto identifikatorius"
    IDS_RDN_DUMMY_SIGNER                  "Fiktyvus pasirašytojas"
    IDS_ARCHIVED_KEY_ATTR                 "Užšifruotas privatusis raktas"
    IDS_CRL_SELF_CDP                      "Publikuotos ALS vietos"
    IDS_REQUIRE_CERT_CHAIN_POLICY         "Priverstinai vykdyti liudijimų grandinės politiką"
    IDS_TRANSACTION_ID                    "Operacijos identifikatorius"
    IDS_SENDER_NONCE                      "Siuntėjas tam kartui"
    IDS_RECIPIENT_NONCE                   "Gavėjas tam kartui"
    IDS_REG_INFO                          "Registracijos informacija"
    IDS_GET_CERTIFICATE                   "Gauti liudijimą"
    IDS_GET_CRL                           "Gauti ALS"
    IDS_REVOKE_REQUEST                    "Atšaukti užklausą"
    IDS_QUERY_PENDING                     "Laukia užklausa"
    IDS_SORTED_CTL                        "Patikintų liudijimų sąrašas"
    IDS_ARCHIVED_KEY_CERT_HASH            "Atsarginės rakto kopijos liudijimo maišos reikšmė"
    IDS_PRIVATE_KEY_USAGE_PERIOD          "Privačiojo rakto naudojimo periodas"
    IDS_CLIENT_INFORMATION                "Kliento informacija"
    IDS_SERVER_AUTHENTICATION             "Serverio tapatumo nustatymas"
    IDS_CLIENT_AUTHENTICATION             "Kliento tapatumo nustatymas"
    IDS_CODE_SIGNING                      "Programos kodo pasirašymas"
    IDS_SECURE_EMAIL                      "Saugus elektroninis paštas"
    IDS_TIME_STAMPING                     "Laiko žymos įterpimas"
    IDS_MICROSOFT_TRUST_LIST_SIGNING      "Microsoft patikintų liudijimų sąrašo pasirašymas"
    IDS_MICROSOFT_TIME_STAMPING           "Microsoft laiko žymos įterpimas"
    IDS_IPSEC_END_SYSTEM                  "IP saugumo galinė sistema"
    IDS_IPSEC_TUNNEL                      "IP saugumo tunelio baigimas"
    IDS_IPSEC_USER                        "IP saugumo naudotojas"
    IDS_EFS                               "Failų šifravimo sistema"
    IDS_WHQL_CRYPTO                       "Windows tvarkyklių patikra"
    IDS_NT5_CRYPTO                        "Windows sistemos komponentų patikra"
    IDS_OEM_WHQL_CRYPTO                   "OEM Windows sistemos komponentų patikra"
    IDS_EMBEDDED_NT_CRYPTO                "Įtaisytų Windows sistemos komponentų patikra"
    IDS_KEY_PACK_LICENSES                 "Kodų pako licencijos"
    IDS_LICENSE_SERVER                    "Licencijų serverio patikra"
    IDS_SMART_CARD_LOGON                  "Lustinių kortelių įvedimas"
    IDS_DIGITAL_RIGHTS                    "Skaitmeninės teisės"
    IDS_QUALIFIED_SUBORDINATION           "Patikslintoji hierarchija"
    IDS_KEY_RECOVERY                      "Rakto atkūrimas"
    IDS_DOCUMENT_SIGNING                  "Dokumentų pasirašymas"
    IDS_IPSEC_IKE_INTERMEDIATE            "IP saugumo IKE tarpininkas"
    IDS_FILE_RECOVERY                     "Failo atkūrimas"
    IDS_ROOT_LIST_SIGNER                  "Pagrindinio sąrašo pasirašytojas"
    IDS_ANY_APPLICATION_POLICIES          "Visos programų politikos"
    IDS_DS_EMAIL_REPLICATION              "Katalogų serverio el. pašto dauginimas"
    IDS_ENROLLMENT_AGENT                  "Liudijimo užklausos priemonė"
    IDS_LIFETIME_SIGNING                  "Gyvavimo ciklo pasirašymas"
    IDS_ANY_CERT_POLICY                   "Visos išdavimo politikos"
}

STRINGTABLE DISCARDABLE
{
    IDS_LOCALIZEDNAME_ROOT                "Patikimos vyriausiosios liudijimų įstaigos"
    IDS_LOCALIZEDNAME_MY                  "Asmeniniai"
    IDS_LOCALIZEDNAME_CA                  "Tarpinės liudijimų įstaigos"
    IDS_LOCALIZEDNAME_ADDRESSBOOK         "Kiti žmonės"
    IDS_LOCALIZEDNAME_TRUSTEDPUBLISHER    "Patikimi publikuotojai"
    IDS_LOCALIZEDNAME_DISALLOWED          "Nepatikimi liudijimai"
}

STRINGTABLE DISCARDABLE
{
    IDS_KEY_ID                            "Rakto identifikatorius="
    IDS_CERT_ISSUER                       "Liudijimo išdavėjas"
    IDS_CERT_SERIAL_NUMBER                "Liudijimo numeris="
    IDS_ALT_NAME_OTHER_NAME               "Kitas vardas="
    IDS_ALT_NAME_RFC822_NAME              "Elektroninio pašto adresas="
    IDS_ALT_NAME_DNS_NAME                 "DNS vardas="
    IDS_ALT_NAME_DIRECTORY_NAME           "Katalogo adresas"
    IDS_ALT_NAME_URL                      "URL="
    IDS_ALT_NAME_IP_ADDRESS               "IP adresas="
    IDS_ALT_NAME_MASK                     "Kaukė="
    IDS_ALT_NAME_REGISTERED_ID            "Registracijos identifikatorius="
    IDS_USAGE_UNKNOWN                     "Nežinomas rakto naudojimas"
    IDS_SUBJECT_TYPE                      "Subjekto tipas="
    IDS_SUBJECT_TYPE_CA                   "LĮ" /* Liudijimo įstaiga */
    IDS_SUBJECT_TYPE_END_CERT             "Esybės pabaiga"
    IDS_PATH_LENGTH                       "Kelio ilgio ribojimas="
    IDS_PATH_LENGTH_NONE                  "Nėra"
    IDS_INFO_NOT_AVAILABLE                "Informacija neprieinama"
    IDS_AIA                               "Įstaigos informacijos prieiga"
    IDS_ACCESS_METHOD                     "Prieigos metodas="
    IDS_ACCESS_METHOD_OCSP                "OCSP"
    IDS_ACCESS_METHOD_CA_ISSUERS          "LĮ išdavėjai"
    IDS_ACCESS_METHOD_UNKNOWN             "Nežinomas prieigos metodas"
    IDS_ACCESS_LOCATION                   "Alternatyvus vardas"
    IDS_CRL_DIST_POINT                    "ALS platinimo vieta"
    IDS_CRL_DIST_POINT_NAME               "Platinimo vietos pavadinimas"
    IDS_CRL_DIST_POINT_FULL_NAME          "Asmenvardis"
    IDS_CRL_DIST_POINT_RDN_NAME           "RDN vardas"
    IDS_CRL_DIST_POINT_REASON             "ALS priežastis="
    IDS_CRL_DIST_POINT_ISSUER             "ALS išdavėjas"
    IDS_REASON_KEY_COMPROMISE             "Pasitikėjimo raktu praradimas"
    IDS_REASON_CA_COMPROMISE              "Pasitikėjimo LĮ praradimas"
    IDS_REASON_AFFILIATION_CHANGED        "Priklausomybės pasikeitimas"
    IDS_REASON_SUPERSEDED                 "Išstūmimas"
    IDS_REASON_CESSATION_OF_OPERATION     "Operacijos nutraukimas"
    IDS_REASON_CERTIFICATE_HOLD           "Liudijimo įšaldymas"
    IDS_FINANCIAL_CRITERIA                "Finansinė informacija="
    IDS_FINANCIAL_CRITERIA_AVAILABLE      "Prieinama"
    IDS_FINANCIAL_CRITERIA_NOT_AVAILABLE  "Neprieinama"
    IDS_FINANCIAL_CRITERIA_MEETS_CRITERIA "Atitinka kriterijus="
    IDS_YES                               "Taip"
    IDS_NO                                "Ne"
    IDS_DIGITAL_SIGNATURE                 "Skaitmeninis parašas"
    IDS_NON_REPUDIATION                   "Negalėjimas išsižadėti"
    IDS_KEY_ENCIPHERMENT                  "Rakto užšifravimas"
    IDS_DATA_ENCIPHERMENT                 "Duomenų užšifravimas"
    IDS_KEY_AGREEMENT                     "Rakto susitarimas"
    IDS_CERT_SIGN                         "Liudijimo pasirašymas"
    IDS_OFFLINE_CRL_SIGN                  "ALS pasirašymas atsijungus"
    IDS_CRL_SIGN                          "ALS pasirašymas"
    IDS_ENCIPHER_ONLY                     "Tik užšifravimas"
    IDS_DECIPHER_ONLY                     "Tik dešifravimas"
    IDS_NETSCAPE_SSL_CLIENT               "SSL kliento tapatumo nustatymas"
    IDS_NETSCAPE_SSL_SERVER               "SSL serverio tapatumo nustatymas"
    IDS_NETSCAPE_SMIME                    "S/MIME"
    IDS_NETSCAPE_SIGN                     "Parašas"
    IDS_NETSCAPE_SSL_CA                   "SSL LĮ"
    IDS_NETSCAPE_SMIME_CA                 "S/MIME LĮ"
    IDS_NETSCAPE_SIGN_CA                  "Parašo LĮ"
}
