# Hungarian translation of gst-plugins-bad
# This file is distributed under the same license as the gst-plugins-bad package.
# Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
#
# Gabor Kelemen <kelemeng@gnome.hu>, 2007, 2008, 2009, 2012.
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.0.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2014-02-08 12:44+0100\n"
"PO-Revision-Date: 2012-11-30 15:02+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-Generator: Lokalize 1.4\n"
"Plural-Forms:  nplurals=2; plural=(n != 1);\n"

msgid "Could not read title information for DVD."
msgstr "Nem lehet címinformációkat olvasni a DVD-ről."

#, c-format
msgid "Failed to open DVD device '%s'."
msgstr "Nem nyitható meg a DVD eszköz („%s”)."

msgid "Failed to set PGC based seeking."
msgstr "A PGC-alapú keresés beállítása meghiúsult."

msgid ""
"Could not read DVD. This may be because the DVD is encrypted and a DVD "
"decryption library is not installed."
msgstr ""
"Nem olvasható a DVD. Ezt az okozhatja, hogy a DVD titkosított, és a DVD-"
"visszafejtő programkönyvtár nincs telepítve."

msgid "Could not read DVD."
msgstr "Nem olvasható a DVD."

msgid "This file contains no playable streams."
msgstr ""

msgid "Couldn't get the Manifest's URI"
msgstr ""

msgid "Failed to get fragment URL."
msgstr ""

msgid "Couldn't download fragments"
msgstr ""

msgid "No file name specified for writing."
msgstr "Nincs megadva fájlnév az íráshoz."

#, c-format
msgid "Could not open file \"%s\" for writing."
msgstr "A fájl („%s”) nem nyitható meg írásra."

msgid "Internal data stream error."
msgstr "Belső adatfolyamhiba."

#, c-format
msgid "Could not write to file \"%s\"."
msgstr "Nem lehet írni a fájlba („%s”)."

msgid "Could not establish connection to sndio"
msgstr ""

msgid "Failed to query sndio capabilities"
msgstr ""

#, fuzzy
msgid "Could not configure sndio"
msgstr "A fájl („%s”) nem nyitható meg olvasásra."

#, fuzzy
msgid "Could not start sndio"
msgstr "Nem olvasható a DVD."

msgid "Internal data flow error."
msgstr "Belső adatfolyamhiba."

msgid "Generated file has a larger preroll time than its streams duration"
msgstr ""

#, c-format
msgid "Missing element '%s' - check your GStreamer installation."
msgstr ""

msgid "File location is set to NULL, please set it to a valid filename"
msgstr ""

msgid "Subpicture format was not configured before data flow"
msgstr ""

#, c-format
msgid "Given file name \"%s\" can't be converted to local file name encoding."
msgstr ""

#, c-format
msgid "Device \"%s\" does not exist."
msgstr "Az eszköz („%s”) nem létezik."

#, c-format
msgid "Could not open frontend device \"%s\"."
msgstr "Nem nyitható meg az előtéteszköz („%s”)."

#, c-format
msgid "Could not get settings from frontend device \"%s\"."
msgstr "Nem kérhetők le a beállítások az előtéteszköztől („%s”)."

#, c-format
msgid "Could not open file \"%s\" for reading."
msgstr "A fájl („%s”) nem nyitható meg olvasásra."

msgid "Couldn't find DVB channel configuration file"
msgstr ""

#, c-format
msgid "Couldn't load DVB channel configuration file: %s"
msgstr ""

msgid "DVB channel configuration file doesn't contain any channels"
msgstr ""

#, c-format
msgid "Couldn't find details for DVB channel %s"
msgstr ""

#~ msgid "Internal clock error."
#~ msgstr "Belső órahiba."

#~ msgid "Could not open audio device for mixer control handling."
#~ msgstr "A hangeszköz nem nyitható meg a keverő vezérlőinek 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 ""
#~ "A hangeszköz nem nyitható meg a keverő vezérlőinek kezeléséhez. A Nyílt "
#~ "hangrendszer ezen verzióját nem támogatja az elem."

#~ msgid "Volume"
#~ msgstr "Hangerő"

#~ msgid "Master"
#~ msgstr "Master"

#~ msgid "Front"
#~ msgstr "Elöl"

#~ msgid "Rear"
#~ msgstr "Hátul"

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

#~ msgid "Center"
#~ msgstr "Közép"

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

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

#~ msgid "Side"
#~ msgstr "Oldalt"

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

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

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

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

#~ msgid "Bass"
#~ msgstr "Mély"

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

#~ msgid "3D Depth"
#~ msgstr "3D mélység"

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

#~ msgid "3D Enhance"
#~ msgstr "3D bővítés"

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

#~ msgid "Microphone"
#~ msgstr "Mikrofon"

#~ msgid "Line Out"
#~ msgstr "Vonalkimenet"

#~ msgid "Line In"
#~ msgstr "Vonalbemenet"

#~ msgid "Internal CD"
#~ msgstr "Belső CD"

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

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

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

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

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

#~ msgid "Record Gain"
#~ msgstr "Felvétel-erősítés"

#~ msgid "Output Gain"
#~ msgstr "Kimenet-erősítés"

#~ msgid "Microphone Boost"
#~ msgstr "Mikrofon-erősítés"

#~ msgid "Loopback"
#~ msgstr "Visszacsatolás"

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

#~ msgid "Bass Boost"
#~ msgstr "Mély erősítése"

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

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

#~ msgid "Record Source"
#~ msgstr "Forrás felvétele"

#~ msgid "Monitor Source"
#~ msgstr "Forrás figyelése"

#~ msgid "Keyboard Beep"
#~ msgstr "Billentyűzethang"

#~ msgid "Monitor"
#~ msgstr "Figyelés"

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

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

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

#~ msgid "Microphone Gain"
#~ msgstr "Mikrofon erősítése"

#~ msgid "Speaker Source"
#~ msgstr "Hangszóróforrás"

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

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

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

#~ msgid "Stereo Mix"
#~ msgstr "Sztereó keverő"

#~ msgid "Mono Mix"
#~ msgstr "Mono keverő"

#~ msgid "Input Mix"
#~ msgstr "Bemeneti keverő"

#~ msgid "SPDIF In"
#~ msgstr "SPDIF be"

#~ msgid "SPDIF Out"
#~ msgstr "SPDIF ki"

#~ 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 "Kagyló"

#~ 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 "Előállítás"

#~ 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őlapi csatlakozó"

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

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

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

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

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

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

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

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

#~ msgid "Spread Output"
#~ msgstr "Kimenet szórása"

#~ 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 Function"
#~ msgstr "%s funkció"

#~ msgid "%s %d"
#~ msgstr "%s %d"

#~ 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. A Nyílt hangrendszer ezen "
#~ "verzióját nem támogatja az elem."

#~ msgid "Playback is not supported by this audio device."
#~ msgstr "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 "A hangeszköz nem támogatja a felvételt."

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