/*
 * 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 "windef.h"
#include "mmddk.h"

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

LANGUAGE LANG_LITHUANIAN, SUBLANG_NEUTRAL

STRINGTABLE
BEGIN

/* MMSYS errors */
MMSYSERR_NOERROR,                "Nurodyta komanda buvo atlikta."
MMSYSERR_ERROR,                  "Neapibrėžta išorinė klaida."
MMSYSERR_BADDEVICEID,            "Buvo panaudotas įrenginio identifikatorius, kuris nepatenka į sistemos rėžius."
MMSYSERR_NOTENABLED,             "Tvarkyklė nebuvo įjungta."
MMSYSERR_ALLOCATED,              "Nurodytas įrenginys jau naudojamas. Palaukite, kol jis atsilaisvins, tada mėginkite vėl."
MMSYSERR_INVALHANDLE,            "Nurodyta įrenginio rodyklė yra netinkama."
MMSYSERR_NODRIVER,               "Sistemoje nėra įdiegta tvarkyklė!\n"
MMSYSERR_NOMEM,                  "Trūksta atminties šiai užduočiai. Išeikite iš vienos ar daugiau programų laisvos atminties kiekiui padidinti ir mėginkite vėl."
MMSYSERR_NOTSUPPORTED,           "Ši funkcija yra nepalaikoma. Naudokite gebėjimų (Capabilities) funkciją, kad nustatytumėte, kurias funkcijas ir pranešimus tvarkyklė palaiko."
MMSYSERR_BADERRNUM,              "Buvo nurodytas klaidos kodas, kuris yra neapibrėžtas sistemoje."
MMSYSERR_INVALFLAG,              "Sisteminei funkcijai buvo perduotas neteisingas žymos bitas."
MMSYSERR_INVALPARAM,             "Sisteminei funkcijai buvo perduotas neteisingas parametras."

/* WAVE errors */
WAVERR_BADFORMAT,                "Nurodytas formatas yra nepalaikomas arba negali būti perskaičiuotas. Naudokite gebėjimų (Capabilities) funkciją palaikomiems formatams nustatyti"
WAVERR_STILLPLAYING,             "Negalima įvykdyti šios operacijos kol medijos duomenys dar groja. Paleiskite įrenginį iš naujo arba laukite kol duomenys bus baigti groti."
WAVERR_UNPREPARED,               "Wave antraštė nebuvo paruošta. Naudokite paruošimo (Prepare) funkciją antraštei paruošti ir mėginkite vėl."
WAVERR_SYNC,                     "Negalima atverti įrenginio nenaudojat WAVE_ALLOWSYNC žymos bito. Naudokite žymos bitą ir mėginkite vėl."

/* MIDI errors */
MIDIERR_UNPREPARED,              "MIDI antraštė nebuvo paruošta. Naudokite paruošimo (Prepare) funkciją antraštei paruošti ir mėginkite vėl."
MIDIERR_STILLPLAYING,            "Negalima įvykdyti šios operacijos, kol medijos duomenys dar groja. Paleiskite įrenginį iš naujo arba laukite kol duomenys bus baigti groti."
MIDIERR_NOMAP,                   "MIDI atvaizdis nerastas. Tai gali būti problema su tvarkykle arba trūksta MIDIMAP.CFG failo arba jis yra pažeistas."
MIDIERR_NOTREADY,                "Prievadas perduoda duomenis įrenginiui. Palaukite kol duomenys bus perduoti ir mėginkite vėl."
MIDIERR_NODEVICE,                "Dabartinė MIDI atvaizdžio konfigūracija kreipiasi į MIDI įrenginį, kuris nėra įdiegtas sistemoje. Naudokite MIDI Mapper konfigūracijai redaguoti."
MIDIERR_INVALIDSETUP,            "Dabartinė MIDI konfigūracija yra pažeista. Nukopijuokite originalų MIDIMAP.CFG failą į Windows SYSTEM katalogą ir mėginkite vėl."

/* MCI errors */
MCIERR_INVALID_DEVICE_ID,        "Klaidingas MCI įrenginio identifikatorius. Naudokite identifikatorių grąžintą atveriant MCI įrenginį."
MCIERR_UNRECOGNIZED_KEYWORD,     "Tvarkyklė negali atpažinti nurodyto komandos parametro."
MCIERR_UNRECOGNIZED_COMMAND,     "Tvarkyklė negali atpažinti nurodytos komandos."
MCIERR_HARDWARE,                 "Iškilo problema su jūsų medijos įrenginiu. Įsitikinkite, kad jis veikia teisingai arba kreipkitės į įrenginio gamintoją."
MCIERR_INVALID_DEVICE_NAME,      "Nurodytas įrenginys nėra atvertas arba yra neatpažintas MCI."
MCIERR_OUT_OF_MEMORY,            "Trūksta atminties šiai užduočiai.\nIšeikite iš vienos ar daugiau programų laisvos atminties kiekiui padidinti ir mėginkite vėl."
MCIERR_DEVICE_OPEN,              "Įrenginio vardas jau yra naudojamas programos kaip alternatyvus vardas. Naudokite unikalų alternatyvų vardą."
MCIERR_CANNOT_LOAD_DRIVER,       "Iškilo neaptinkama klaida įkeliant nurodytą įrenginio tvarkyklę."
MCIERR_MISSING_COMMAND_STRING,   "Nenurodyta jokia komanda."
MCIERR_PARAM_OVERFLOW,           "Išvedimo eilutė buvo per ilga, kad tilptų į buferį. Padidinkite buferio dydį."
MCIERR_MISSING_STRING_ARGUMENT,  "Nurodytai komandai reikalingas simbolių eilutės parametras. Prašome jį nurodyti."
MCIERR_BAD_INTEGER,              "Nurodytas sveikasis skaičius yra klaidingas šiai komandai."
MCIERR_PARSER_INTERNAL,          "Įrenginio tvarkyklė grąžino klaidingą atsakymo tipą. Susisiekite su įrenginio gamintoju dėl naujos tvarkyklės gavimo."
MCIERR_DRIVER_INTERNAL,          "Yra problema su įrenginio tvarkykle. Susisiekite su įrenginio gamintoju dėl naujos tvarkyklės gavimo."
MCIERR_MISSING_PARAMETER,        "Nurodytai komandai yra privalomas parametras. Prašome jį nurodyti."
MCIERR_UNSUPPORTED_FUNCTION,     "MCI įrenginys, kurį jūs naudojate, nepalaiko nurodytos komandos."
MCIERR_FILE_NOT_FOUND,           "Nepavyko rasti nurodyto failo. Įsitikinkite, kad kelias ir failo vardas yra teisingi."
MCIERR_DEVICE_NOT_READY,         "Įrenginio tvarkyklė neparengta."
MCIERR_INTERNAL,                 "Įvyko klaida inicijuojant MCI. Mėginkite perkrauti Windows."
MCIERR_DRIVER,                   "Yra problema su įrenginio tvarkykle. Tvarkyklė buvo užverta. Nepavyko gauti klaidos."
MCIERR_CANNOT_USE_ALL,           "Negalima naudoti „all“ kaip įrenginio vardo nurodytai komandai."
MCIERR_MULTIPLE,                 "Įvyko klaidų daugiau kaip viename įrenginyje. Nurodykite kiekvieną komandą ir įrenginį atskirai, kad nustatytumėte, kurie įrenginiai sukėlė klaidą."
MCIERR_EXTENSION_NOT_FOUND,      "Nepavyko nustatyti įrenginio tipo iš duoto failo prievardžio."
MCIERR_OUTOFRANGE,               "Nurodytas parametras nepatenka į rėžius nurodytai komandai."
MCIERR_FLAGS_NOT_COMPATIBLE,     "Nurodyti parametrai negali būti naudojami kartu."
MCIERR_FILE_NOT_SAVED,           "Nepavyko išsaugoti nurodyto failo. Įsitikinkite, kad diske yra pakankamai vietos, ar vis dar prisijungę prie tinklo."
MCIERR_DEVICE_TYPE_REQUIRED,     "Nepavyko rasti nurodyto įrenginio. Įsitikinkite, kad jis įdiegtas ir ar teisingai įrašytas įrenginio vardas."
MCIERR_DEVICE_LOCKED,            "Nurodytas įrenginys yra užveriamas. Palaukite kelias sekundes ir mėginkite vėl."
MCIERR_DUPLICATE_ALIAS,          "Nurodytas alternatyvus vardas jau yra naudojamas šioje programoje. Naudokite unikalų alternatyvų vardą."
MCIERR_BAD_CONSTANT,             "Nurodytas parametras yra klaidingas šiai komandai."
MCIERR_MUST_USE_SHAREABLE,       "Įrenginio tvarkyklė jau naudojama. Norėdami naudoti bendrai, naudokite parametrą „shareable“ su kiekviena „open“ komanda."
MCIERR_MISSING_DEVICE_NAME,      "Nurodytai komandai reikalingas alternatyvus vardas, failo, tvarkyklės ar įrenginio vardas. Prašome jį pateikti."
MCIERR_BAD_TIME_FORMAT,          "Nurodyta reikšmė laiko formatui yra klaidinga. Skaitykite MCI dokumentaciją tinkamiems formatams rasti."
MCIERR_NO_CLOSING_QUOTE,         "Parametro reikšmei trūksta reikalingų užveriančių dvigubų kabučių. Prašome jas pateikti."
MCIERR_DUPLICATE_FLAGS,          "Parametras ar reikšmė buvo nurodyta du kartus. Nurodykite tik vieną kartą."
MCIERR_INVALID_FILE,             "Nurodytas failas negali būti grojamas per nurodytą MCI įrenginį. Failas gali būti sugadintas arba netinkamo formato."
MCIERR_NULL_PARAMETER_BLOCK,     "Nulinis parametrų blokas buvo perduotas į MCI."
MCIERR_UNNAMED_RESOURCE,         "Negalima išsaugoti bevardžio failo. Nurodykite failo vardą."
MCIERR_NEW_REQUIRES_ALIAS,       "Jūs privalote pateikti alternatyvų vardą, kai naudojate parametrą „new“."
MCIERR_NOTIFY_ON_AUTO_OPEN,      "Negalima naudoti „notify“ žymos bito su automatiškai atvertais įrenginiais."
MCIERR_NO_ELEMENT_ALLOWED,       "Negalima naudoti failo vardo su nurodytu įrenginiu."
MCIERR_NONAPPLICABLE_FUNCTION,   "Negalima įvykdyti komandų nurodyta tvarka. Ištaisykite komandų seką ir mėginkite vėl."
MCIERR_ILLEGAL_FOR_AUTO_OPEN,    "Negalima įvykdyti nurodytos komandos automatiškai atvertam įrenginiui. Palaukite, kol įrenginys bus užvertas ir tada mėginkite vėl."
MCIERR_FILENAME_REQUIRED,        "Netinkamas failo vardas. Įsitikinkite, kad failo vardas yra neilgesnis kaip 8 simbolių, o po jų seka taškas ir plėtinys."
MCIERR_EXTRA_CHARACTERS,         "Negalima nurodyti papildomų simbolių po eilutės apsuptos kabutėmis."
MCIERR_DEVICE_NOT_INSTALLED,     "Nurodytas įrenginys neįdiegtas sistemoje. Naudokite tvarkyklių parinktį valdymo skydelyje įrenginiui įdiegti."
MCIERR_GET_CD,                   "Nepavyko kreiptis į nurodytą failą ar MCI įrenginį. Mėginkite keisti katalogus ar perkrauti kompiuterį."
MCIERR_SET_CD,                   "Nepavyko kreiptis į nurodytą failą ar MCI įrenginį, nes programa negali pakeisti katalogų."
MCIERR_SET_DRIVE,                "Nepavyko kreiptis į nurodytą failą ar MCI įrenginį, nes programa negali pakeisti diskų."
MCIERR_DEVICE_LENGTH,            "Nurodykite įrenginio ar tvarkyklės vardą, kuris yra trumpesnis nei 79 simboliai."
MCIERR_DEVICE_ORD_LENGTH,        "Nurodykite įrenginio ar tvarkyklės vardą, kuris yra trumpesnis nei 69 simboliai."
MCIERR_NO_INTEGER,               "Nurodytai komandai reikalingas sveikojo skaičiaus parametras. Prašome jį pateikti."
MCIERR_WAVE_OUTPUTSINUSE,        "Visi wave įrenginiai, kurie gali groti dabartinio formato failus yra naudojami. Palaukite kol wave įrenginys bus laisvas ir mėginkite vėl."
MCIERR_WAVE_SETOUTPUTINUSE,      "Negalima nustatyti dabartinio wave įrenginio grojimui, nes jis yra naudojamas. Palaukite kol wave įrenginys bus laisvas ir mėginkite vėl."
MCIERR_WAVE_INPUTSINUSE,         "Visi wave įrenginiai, kurie gali įrašyti failus dabartiniu formatu yra naudojami. Palaukite kol wave įrenginys bus laisvas ir mėginkite vėl."
MCIERR_WAVE_SETINPUTINUSE,       "Negalima nustatyti dabartinio wave įrenginio įrašymui, nes jis yra naudojamas. Palaukite kol wave įrenginys bus laisvas ir mėginkite vėl."
MCIERR_WAVE_OUTPUTUNSPECIFIED,   "Bet kuris derantis wave tipo grojimo įrenginys gali būti naudojamas."
MCIERR_WAVE_INPUTUNSPECIFIED,    "Bet kuris derantis wave tipo įrašymo įrenginys gali būti naudojamas."
MCIERR_WAVE_OUTPUTSUNSUITABLE,   "Nėra įdiegtas joks wave įrenginys galintis groti dabartinio formato failus. Naudokite tvarkyklių parinktį wave įrenginiui įdiegti."
MCIERR_WAVE_SETOUTPUTUNSUITABLE, "Įrenginys per kurį mėginate groti negali atpažinti dabartinio failo formato."
MCIERR_WAVE_INPUTSUNSUITABLE,    "Nėra įdiegtas joks wave įrenginys galintis įrašyti dabartinio formato failus. Naudokite tvarkyklių parinktį wave įrenginiui įdiegti."
MCIERR_WAVE_SETINPUTUNSUITABLE,  "Įrenginys iš kurio mėginate įrašyti negali atpažinti dabartinio failo formato."
MCIERR_NO_WINDOW,                "Nėra rodymo lango."
MCIERR_CREATEWINDOW,             "Nepavyko sukurti ar naudoti lango."
MCIERR_FILE_READ,                "Nepavyko skaityti nurodyto failo. Įsitikinkite, kad failas vis dar egzistuoja arba patikrinkite diską ar tinklo ryšį."
MCIERR_FILE_WRITE,               "Nepavyko rašyti į nurodytą failą. Įsitikinkite, kad yra pakankamai laisvos vietos diske, ar vis dar prisijungę prie tinklo."
MCIERR_SEQ_DIV_INCOMPATIBLE,     "„Dainos rodyklės“ ir SMPTE laiko formatai yra nesuderinami. Negalite jų naudoti kartu."
MCIERR_SEQ_NOMIDIPRESENT,        "Sistemoje nėra įdiegtų MIDI įrenginių. Naudokite tvarkyklių parinktį valdymo skydelyje MIDI tvarkyklei įdiegti."
MCIERR_SEQ_PORT_INUSE,           "Nurodytas MIDI prievadas jau naudojamas. Palaukite, kol jis bus laisvas ir mėginkite vėl."
MCIERR_SEQ_PORT_MAPNODEVICE,     "Dabartinė MIDI Mapper konfigūracija kreipiasi į MIDI įrenginį, kuris nėra įdiegtas sistemoje. Naudokite MIDI Mapper nuostatą valdymo skydelyje konfigūracijai redaguoti."
MCIERR_SEQ_PORT_MISCERROR,       "Įvyko klaida su nurodytu prievadu."
MCIERR_SEQ_PORT_NONEXISTENT,     "Nurodytas MIDI įrenginys yra neįdiegtas sistemoje. Naudokite tvarkyklių nuostatą valdymo skydelyje MIDI įrenginiui įdiegti."
MCIERR_SEQ_PORTUNSPECIFIED,      "Sistemoje nėra nurodytas dabartinis MIDI prievadas."
MCIERR_SEQ_TIMER,                "Visi įvairialypės terpės laikmačiai yra naudojami kitų programų. Išeikite iš vienos tokios programos ir mėginkite vėl."

END
