# Hungarian translation of gst-plugins-good
# This file is distributed under the same license as the gst-plugins-good package.
# Copyright (C) 2004, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
#
# Laszlo Dvornik <dvornik@invitel.hu>, 2004.
# Gabor Kelemen <kelemeng@gnome.hu>, 2007, 2008, 2009, 2010.
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 0.10.25.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2013-07-11 15:56+0200\n"
"PO-Revision-Date: 2010-11-04 01:21+0100\n"
"Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Rosetta-Export-Date: 2007-07-27 19:18:15+0000\n"
"X-Generator: KBabel 1.11.4\n"
"X-Rosetta-Export-Date: 2007-07-27 19:18:15+0000\n"
"Plural-Forms:  nplurals=2; plural=(n != 1);\n"

msgid "Jack server not found"
msgstr ""

msgid "Failed to decode JPEG image"
msgstr "A JPEG kép visszafejtése meghiúsult"

#. TRANSLATORS: 'song title' by 'artist name'
#, c-format
msgid "'%s' by '%s'"
msgstr "„%s” ettől: „%s”"

msgid "Could not connect to server"
msgstr "Nem lehet csatlakozni a kiszolgálóhoz"

msgid "No URL set."
msgstr "Nincs beállítva URL."

msgid "Server does not support seeking."
msgstr "A kiszolgáló nem támogatja a tekerést."

msgid "Could not resolve server name."
msgstr "Nem lehet feloldani a kiszolgáló nevét."

msgid "Could not establish connection to server."
msgstr "Nem hozható létre kapcsolat a kiszolgálóhoz."

msgid "Secure connection setup failed."
msgstr "A biztonságos kapcsolat kialakítása meghiúsult."

msgid ""
"A network error occured, or the server closed the connection unexpectedly."
msgstr ""
"Hálózati hiba történt, vagy a kiszolgáló váratlanul lezárta a kapcsolatot."

msgid "Server sent bad data."
msgstr "A kiszolgáló hibás adatokat küldött."

msgid "Internal data stream error."
msgstr "Belső adatfolyam-hiba."

msgid "No or invalid input audio, AVI stream will be corrupt."
msgstr "Nincs vagy érvénytelen bemeneti hang, az AVI-folyam sérült lesz."

msgid "This file contains no playable streams."
msgstr "A fájl nem tartalmaz lejátszható adatfolyamokat."

msgid "This file is invalid and cannot be played."
msgstr "A fájl nem érvényes és nem játszható le."

msgid "Cannot play stream because it is encrypted with PlayReady DRM."
msgstr ""

msgid "This file is corrupt and cannot be played."
msgstr "A fájl sérült és nem játszható le."

msgid "Invalid atom size."
msgstr ""

msgid "This file is incomplete and cannot be played."
msgstr "A fájl nem teljes és nem játszható le."

msgid "The video in this file might not play correctly."
msgstr "A fájlban található videó lehet, hogy nem játszható le megfelelően."

#, c-format
msgid "This file contains too many streams. Only playing first %d"
msgstr ""
"A fájl túl sok adatfolyamot tartalmaz. Csak az első %d kerül lejátszásra."

msgid ""
"No supported stream was found. You might need to install a GStreamer RTSP "
"extension plugin for Real media streams."
msgstr ""
"Nem található támogatott adatfolyam. Telepítse a GStreamer RTSP bővítményt a "
"Real media adatfolyamokhoz."

msgid ""
"No supported stream was found. You might need to allow more transport "
"protocols or may otherwise be missing the right GStreamer RTSP extension "
"plugin."
msgstr ""
"Nem található támogatott adatfolyam. Lehet, hogy több átviteli protokollt "
"kell engedélyezni, vagy hiányzik a megfelelő GStreamer RTSP bővítmény."

msgid "Internal data flow error."
msgstr "Belső adatfolyam-hiba."

msgid ""
"Could not open audio device for playback. Device is being used by another "
"application."
msgstr ""
"Nem nyitható meg hangeszköz a lejátszáshoz. Az eszközt másik alkalmazás "
"használja."

msgid ""
"Could not open audio device for playback. You don't have permission to open "
"the device."
msgstr ""
"Nem nyitható meg hangeszköz a lejátszáshoz. Nincs jogosultsága az eszköz "
"megnyitására."

msgid "Could not open audio device for playback."
msgstr "Nem nyitható meg hangeszköz a lejátszáshoz."

msgid ""
"Could not open audio device for playback. This version of the Open Sound "
"System is not supported by this element."
msgstr ""
"Nem nyitható meg hangeszköz a lejátszáshoz. Az Open Sound System ezen "
"verzióját az elem nem támogatja."

msgid "Playback is not supported by this audio device."
msgstr "Ez a hangeszköz nem támogatja a lejátszást."

msgid "Audio playback error."
msgstr "Hanglejátszási hiba."

msgid "Recording is not supported by this audio device."
msgstr "Ez a hangeszköz nem támogatja a felvételt."

msgid "Error recording from audio device."
msgstr "Hiba a hangeszközről való felvételkor."

msgid ""
"Could not open audio device for recording. You don't have permission to open "
"the device."
msgstr ""
"Nem nyitható meg hangeszköz a felvételhez. Nincs jogosultsága az eszköz "
"megnyitására."

msgid "Could not open audio device for recording."
msgstr "Nem nyitható meg hangeszköz a felvételhez."

msgid "Record Source"
msgstr "Felvétel forrása"

msgid "Microphone"
msgstr "Mikrofon"

msgid "Line In"
msgstr "Vonalbemenet"

msgid "Internal CD"
msgstr "Belső CD"

msgid "SPDIF In"
msgstr "SPDIF be"

msgid "AUX 1 In"
msgstr "1. AUX be"

msgid "AUX 2 In"
msgstr "2. AUX be"

#, fuzzy
msgid "Codec Loopback"
msgstr "Visszacsatolás"

#, fuzzy
msgid "SunVTS Loopback"
msgstr "Visszacsatolás"

msgid "Volume"
msgstr "Hangerő"

msgid "Gain"
msgstr "Erősítés"

msgid "Monitor"
msgstr "Monitor"

msgid "Built-in Speaker"
msgstr "Beépített hangszóró"

msgid "Headphone"
msgstr "Fejhallgató"

msgid "Line Out"
msgstr "Vonalkimenet"

msgid "SPDIF Out"
msgstr "SPDIF ki"

msgid "AUX 1 Out"
msgstr "1. AUX ki"

msgid "AUX 2 Out"
msgstr "2. AUX ki"

#, c-format
msgid "Error reading %d bytes from device '%s'."
msgstr "Hiba %d bájt olvasásakor a következő eszközről: „%s”."

#, c-format
msgid "Failed to enumerate possible video formats device '%s' can work with"
msgstr ""

#, c-format
msgid "Could not map buffers from device '%s'"
msgstr "Nem képezhetők le a(z) „%s” eszköz pufferei"

#, fuzzy, c-format
msgid "The driver of device '%s' does not support the IO method %d"
msgstr ""
"A(z) „%s” eszköz illesztőprogramja nem támogat egyetlen ismert felvételi "
"módot sem."

#, fuzzy, c-format
msgid "The driver of device '%s' does not support any known IO method."
msgstr ""
"A(z) „%s” eszköz illesztőprogramja nem támogat egyetlen ismert felvételi "
"módot sem."

#, fuzzy, c-format
msgid "Device '%s' does not support video capture"
msgstr "A(z) „%s” eszköz nem kimeneti eszköz."

#, fuzzy, c-format
msgid "Device '%s' is busy"
msgstr "A(z) „%s” eszköz nem kimeneti eszköz."

#, fuzzy, c-format
msgid "Device '%s' cannot capture at %dx%d"
msgstr "A(z) „%s” eszköz nem rögzítőeszköz."

#, fuzzy, c-format
msgid "Device '%s' cannot capture in the specified format"
msgstr "A(z) „%s” eszköz nem rögzítőeszköz."

#, c-format
msgid "Could not get parameters on device '%s'"
msgstr "Nem kérhetők le a(z) „%s” eszköz paraméterei"

#, fuzzy
msgid "Video device did not accept new frame rate setting."
msgstr ""
"A videobemeneti eszköz nem fogadta el az új képkockasebesség-beállítást."

msgid "Video device could not create buffer pool."
msgstr ""

#, fuzzy, c-format
msgid "Failed to get settings of tuner %d on device '%s'."
msgstr "A(z) %d. tuner beállításának lekérése a(z) „%s” eszközön meghiúsult."

#, fuzzy, c-format
msgid "Error getting capabilities for device '%s'."
msgstr "Hiba %d bájt olvasásakor a következő eszközről: „%s”."

#, fuzzy, c-format
msgid "Device '%s' is not a tuner."
msgstr "A(z) „%s” eszköz nem kimeneti eszköz."

#, fuzzy, c-format
msgid "Failed to get radio input on device '%s'. "
msgstr "A(z) %d. bemenet beállítása meghiúsult a(z) „%s” eszközön."

#, c-format
msgid "Failed to set input %d on device %s."
msgstr "A(z) %d. bemenet beállítása meghiúsult a(z) „%s” eszközön."

#, fuzzy, c-format
msgid "Failed to change mute state for device '%s'."
msgstr "A jelerősség lekérdezése meghiúsult a(z) „%s” eszközön."

#, c-format
msgid "Cannot identify device '%s'."
msgstr "Nem azonosítható a(z) „%s” eszköz."

#, c-format
msgid ""
"Error getting capabilities for device '%s': It isn't a v4l2 driver. Check if "
"it is a v4l1 driver."
msgstr ""
"hiba a(z) „%s” eszköz képességeinek lekérésekor. Ez nem egy v4l2 meghajtó. "
"Ellenőrizze, hogy nem v4l1 meghajtó-e."

#, c-format
msgid "Failed to query attributes of input %d in device %s"
msgstr "A(z) %d bemenet attribútumainak lekérése meghiúsult a(z) %s eszközön"

#, c-format
msgid "Failed to get setting of tuner %d on device '%s'."
msgstr "A(z) %d. tuner beállításának lekérése a(z) „%s” eszközön meghiúsult."

#, c-format
msgid "Failed to query norm on device '%s'."
msgstr "A norma lekérdezése meghiúsult a(z) „%s” eszköztől."

#, c-format
msgid "Failed getting controls attributes on device '%s'."
msgstr "A vezérlőattribútumok lekérése meghiúsult a(z) „%s” eszközön."

#, c-format
msgid "This isn't a device '%s'."
msgstr "Ez nem egy eszköz: „%s”."

#, c-format
msgid "Could not open device '%s' for reading and writing."
msgstr "Nem lehet olvasásra és írásra megnyitni a(z) „%s” eszközt."

#, c-format
msgid "Device '%s' is not a capture device."
msgstr "A(z) „%s” eszköz nem rögzítőeszköz."

#, c-format
msgid "Device '%s' is not a output device."
msgstr "A(z) „%s” eszköz nem kimeneti eszköz."

#, c-format
msgid "Failed to set norm for device '%s'."
msgstr "A norma beállítása meghiúsult a(z) „%s” eszközön."

#, c-format
msgid "Failed to get current tuner frequency for device '%s'."
msgstr ""
"A tuner aktuális frekvenciájának lekérdezése meghiúsult a(z) „%s” eszköztől."

#, c-format
msgid "Failed to set current tuner frequency for device '%s' to %lu Hz."
msgstr ""
"A tuner aktuális frekvenciájának beállítása meghiúsult a(z) „%s” eszközön "
"%lu Hz-re."

#, c-format
msgid "Failed to get signal strength for device '%s'."
msgstr "A jelerősség lekérdezése meghiúsult a(z) „%s” eszközön."

#, c-format
msgid "Failed to get value for control %d on device '%s'."
msgstr "A(z) %d. vezérlőelem értékének lekérése meghiúsult a(z) „%s” eszközön."

#, c-format
msgid "Failed to set value %d for control %d on device '%s'."
msgstr ""
"A(z) $%2d érték beállítása $%1d vezérlőelemhez meghiúsult a(z) „%s” eszközön."

#, c-format
msgid "Failed to get current input on device '%s'. May be it is a radio device"
msgstr ""
"Az aktuális bemenet lekérése meghiúsult a(z) „%s” eszközről. Lehet, hogy ez "
"egy rádióeszköz."

#, fuzzy, c-format
msgid ""
"Failed to get current output on device '%s'. May be it is a radio device"
msgstr ""
"Az aktuális bemenet lekérése meghiúsult a(z) „%s” eszközről. Lehet, hogy ez "
"egy rádióeszköz."

#, fuzzy, c-format
msgid "Failed to set output %d on device %s."
msgstr "A(z) %d. bemenet beállítása meghiúsult a(z) „%s” eszközön."

msgid "Changing resolution at runtime is not yet supported."
msgstr "A felbontás módosítása futás közben még nem támogatott."

msgid "Cannot operate without a clock"
msgstr "Óra nélkül lehetetlen a működés"

#~ msgid "Got unexpected frame size of %u instead of %u."
#~ msgstr "Váratlan keretméret (%u) érkezett %u helyett."

#~ msgid "Failed trying to get video frames from device '%s'."
#~ msgstr "Nem sikerült videokockákat lekérni a(z) „%s” eszköztől."

#~ msgid "Failed after %d tries. device %s. system error: %s"
#~ msgstr "Hiba %d próbálkozás után. Eszköz: %s. Rendszerhiba: %s."

#~ msgid "Bass"
#~ msgstr "Basszus"

#~ msgid "Treble"
#~ msgstr "Magas"

#~ msgid "Synth"
#~ msgstr "Szintet."

#~ msgid "PCM"
#~ msgstr "PCM"

#~ msgid "Speaker"
#~ msgstr "Hangfal"

#~ msgid "Line-in"
#~ msgstr "Vonalbemenet"

#~ msgid "CD"
#~ msgstr "CD"

#~ msgid "Mixer"
#~ msgstr "Keverő"

#~ msgid "PCM-2"
#~ msgstr "2. PCM"

#~ msgid "Record"
#~ msgstr "Felvétel"

#~ msgid "In-gain"
#~ msgstr "Be-erősítés"

#~ msgid "Out-gain"
#~ msgstr "Ki-erősítés"

#~ msgid "Line-1"
#~ msgstr "1. vonal"

#~ msgid "Line-2"
#~ msgstr "2. vonal"

#~ msgid "Line-3"
#~ msgstr "3. vonal"

#~ msgid "Digital-1"
#~ msgstr "1. digitális"

#~ msgid "Digital-2"
#~ msgstr "2. digitális"

#~ msgid "Digital-3"
#~ msgstr "3. digitális"

#~ msgid "Phone-in"
#~ msgstr "Hang-be"

#~ msgid "Phone-out"
#~ msgstr "Hang-ki"

#~ msgid "Video"
#~ msgstr "Video"

#~ msgid "Radio"
#~ msgstr "Rádió"

#~ msgid "Could not open audio device for mixer control handling."
#~ msgstr "Nem nyitható meg hangeszköz a keverővezérlő kezeléséhez."

#~ msgid ""
#~ "Could not open audio device for mixer control handling. This version of "
#~ "the Open Sound System is not supported by this element."
#~ msgstr ""
#~ "Nem nyitható meg hangeszköz a keverővezérlő kezeléséhez. Az Open Sound "
#~ "System ezen verzióját az elem nem támogatja."

#~ msgid "Master"
#~ msgstr "Fő hangerő"

#~ msgid "Front"
#~ msgstr "Elülső"

#~ msgid "Rear"
#~ msgstr "Hátsó"

#~ msgid "Headphones"
#~ msgstr "Fülhallgató"

#~ msgid "Center"
#~ msgstr "Középső"

#~ msgid "LFE"
#~ msgstr "LFE"

#~ msgid "Surround"
#~ msgstr "Térhatású"

#~ msgid "Side"
#~ msgstr "Oldalsó"

#~ msgid "AUX Out"
#~ msgstr "AUX ki"

#~ msgid "3D Depth"
#~ msgstr "3D mély"

#~ msgid "3D Center"
#~ msgstr "3D középső"

#~ msgid "3D Enhance"
#~ msgstr "3D javítás"

#~ msgid "Telephone"
#~ msgstr "Telefon"

#~ msgid "Video In"
#~ msgstr "Video be"

#~ msgid "AUX In"
#~ msgstr "AUX be"

#~ msgid "Record Gain"
#~ msgstr "Felvételerősítés"

#~ msgid "Output Gain"
#~ msgstr "Kimeneterősítés"

#~ msgid "Microphone Boost"
#~ msgstr "Mikrofonerősítés"

#~ msgid "Diagnostic"
#~ msgstr "Diagnosztika"

#~ msgid "Bass Boost"
#~ msgstr "Basszuskiemelés"

#~ msgid "Playback Ports"
#~ msgstr "Lejátszási portok"

#~ msgid "Input"
#~ msgstr "Bemenet"

#~ msgid "Monitor Source"
#~ msgstr "Monitor forrása"

#~ msgid "Keyboard Beep"
#~ msgstr "Billentyűzetcsengő"

#~ msgid "Simulate Stereo"
#~ msgstr "Sztereó szimulálása"

#~ msgid "Stereo"
#~ msgstr "Sztereó"

#~ msgid "Surround Sound"
#~ msgstr "Térhatású hang"

#~ msgid "Microphone Gain"
#~ msgstr "Mikrofonerősítés"

#~ msgid "Speaker Source"
#~ msgstr "Hangfalforrás"

#~ msgid "Microphone Source"
#~ msgstr "Mikrofonforrás"

#~ msgid "Jack"
#~ msgstr "Jack"

#~ msgid "Center / LFE"
#~ msgstr "Középső / LFE"

#~ msgid "Stereo Mix"
#~ msgstr "Sztereó keverés"

#~ msgid "Mono Mix"
#~ msgstr "Monó keverés"

#~ msgid "Input Mix"
#~ msgstr "Bemeneti keverés"

#~ msgid "Microphone 1"
#~ msgstr "1. mikrofon"

#~ msgid "Microphone 2"
#~ msgstr "2. mikrofon"

#~ msgid "Digital Out"
#~ msgstr "Digitális ki"

#~ msgid "Digital In"
#~ msgstr "Digitális be"

#~ msgid "HDMI"
#~ msgstr "HDMI"

#~ msgid "Modem"
#~ msgstr "Modem"

#~ msgid "Handset"
#~ msgstr "Mobiltelefon"

#~ msgid "Other"
#~ msgstr "Egyéb"

#~ msgid "None"
#~ msgstr "Nincs"

#~ msgid "On"
#~ msgstr "Be"

#~ msgid "Off"
#~ msgstr "Ki"

#~ msgid "Mute"
#~ msgstr "Némítás"

#~ msgid "Fast"
#~ msgstr "Gyors"

#~ msgid "Very Low"
#~ msgstr "Nagyon alacsony"

#~ msgid "Low"
#~ msgstr "Alacsony"

#~ msgid "Medium"
#~ msgstr "Közepes"

#~ msgid "High"
#~ msgstr "Magas"

#~ msgid "Very High"
#~ msgstr "Nagyon magas"

#~ msgid "Production"
#~ msgstr "Éles"

#~ msgid "Front Panel Microphone"
#~ msgstr "Előlapi mikrofon"

#~ msgid "Front Panel Line In"
#~ msgstr "Előlapi vonalbemenet"

#~ msgid "Front Panel Headphones"
#~ msgstr "Előlapi fülhallgató"

#~ msgid "Front Panel Line Out"
#~ msgstr "Előlapi vonalkimenet"

#~ msgid "Green Connector"
#~ msgstr "Zöld csatlakozó"

#~ msgid "Pink Connector"
#~ msgstr "Rózsaszín csatlakozó"

#~ msgid "Blue Connector"
#~ msgstr "Kék csatlakozó"

#~ msgid "White Connector"
#~ msgstr "Fehér csatlakozó"

#~ msgid "Black Connector"
#~ msgstr "Fekete csatlakozó"

#~ msgid "Gray Connector"
#~ msgstr "Szürke csatlakozó"

#~ msgid "Orange Connector"
#~ msgstr "Narancs csatlakozó"

#~ msgid "Red Connector"
#~ msgstr "Vörös csatlakozó"

#~ msgid "Yellow Connector"
#~ msgstr "Sárga csatlakozó"

#~ msgid "Green Front Panel Connector"
#~ msgstr "Zöld előoldali csatlakozó"

#~ msgid "Pink Front Panel Connector"
#~ msgstr "Rózsaszín előoldali csatlakozó"

#~ msgid "Blue Front Panel Connector"
#~ msgstr "Kék előoldali csatlakozó"

#~ msgid "White Front Panel Connector"
#~ msgstr "Fehér előoldali csatlakozó"

#~ msgid "Black Front Panel Connector"
#~ msgstr "Fekete előoldali csatlakozó"

#~ msgid "Gray Front Panel Connector"
#~ msgstr "Szürke előoldali csatlakozó"

#~ msgid "Orange Front Panel Connector"
#~ msgstr "Narancs előoldali csatlakozó"

#~ msgid "Red Front Panel Connector"
#~ msgstr "Vörös előoldali csatlakozó"

#~ msgid "Yellow Front Panel Connector"
#~ msgstr "Sárga előoldali csatlakozó"

#~ msgid "Spread Output"
#~ msgstr "Szóráskimenet"

#~ msgid "Downmix"
#~ msgstr "Lekeverés"

#~ msgid "Virtual Mixer Input"
#~ msgstr "Virtuális keverőbemenet"

#~ msgid "Virtual Mixer Output"
#~ msgstr "Virtuális keverőkimenet"

#~ msgid "Virtual Mixer Channels"
#~ msgstr "Virtuális keverőcsatornák"

#~ msgid "%s %d Function"
#~ msgstr "%s %d funkció"

#~ msgid "%s Function"
#~ msgstr "%s funkció"

#~ msgid "Error reading %d bytes on device '%s'."
#~ msgstr "Hiba %d bájt olvasásakor a következő eszközről: „%s”."

#~ msgid "Could not enqueue buffers in device '%s'."
#~ msgstr "Nem állíthatók sorba a pufferek a(z) „%s” eszközben."

#~ msgid "Could not establish connection to sound server"
#~ msgstr "Nem hozható létre kapcsolat a hangkiszolgálóhoz"

#~ msgid "Failed to query sound server capabilities"
#~ msgstr "A hangkiszolgáló képességeinek lekérdezése meghiúsult"
