# translation of gst-plugins-bad.master.po to Basque
# Copyright (C) 2004, 2005, 2006, 2008, 2009, 2010 Free Software Foundation, Inc.
# This file is distributed under the same license as the gst-plugins-bad package.
#
# Iñaki Larrañaga Murgoitio <dooteo@euskalgnu.org>, 2009, 2010.
# Mikel Olasagasti Uranga <hey_neken@mundurat.net>, 2009, 2010.
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad-0.10.17.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2016-11-17 15:03+0200\n"
"PO-Revision-Date: 2010-03-25 12:30+0100\n"
"Last-Translator: Mikel Olasagasti Uranga <hey_neken@mundurat.net>\n"
"Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n"
"Language: eu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

msgid "failed to draw pattern"
msgstr ""

msgid "A GL error occured"
msgstr ""

msgid "format wasn't negotiated before get function"
msgstr ""

msgid "OpenCV failed to load template image"
msgstr ""

msgid "Could not read title information for DVD."
msgstr "Ezin izan da DVDaren tituluaren informazioa irakurri."

#, c-format
msgid "Failed to open DVD device '%s'."
msgstr "Huts egin du '%s' DVD gailua irekitzean."

msgid "Failed to set PGC based seeking."
msgstr "Huts egin du PGC oinarriko kokapena ezartzean."

msgid ""
"Could not read DVD. This may be because the DVD is encrypted and a DVD "
"decryption library is not installed."
msgstr ""

#, fuzzy
msgid "Could not read DVD."
msgstr "Ezin izan da DVDaren tituluaren informazioa irakurri."

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

#, fuzzy
msgid "Could not open sndfile stream for reading."
msgstr "Ezin izan da \"%s\" fitxategia ireki irakurtzeko."

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

msgid "Failed to query sndio capabilities"
msgstr ""

#, fuzzy
msgid "Could not configure sndio"
msgstr "Ezin izan da \"%s\" fitxategia ireki irakurtzeko."

#, fuzzy
msgid "Could not start sndio"
msgstr "Ezin izan da DVDaren tituluaren informazioa irakurri."

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 "Digitalzoom element couldn't be created"
msgstr ""

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

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

msgid "Couldn't download fragments"
msgstr ""

msgid "Internal data stream error."
msgstr "Datu-korrontearen barne-errorea."

msgid "No file name specified for writing."
msgstr "Ez da fitxategi-izenik zehaztu idazteko."

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

#, c-format
msgid "Could not open file \"%s\" for writing."
msgstr "Ezin izan da \"%s\" fitxategia ireki idazteko."

#, c-format
msgid "Device \"%s\" does not exist."
msgstr "\"%s\" gailua ez dago."

#, c-format
msgid "Could not open frontend device \"%s\"."
msgstr "Ezin izan da \"%s\" kontrol-gailua ireki."

#, c-format
msgid "Could not get settings from frontend device \"%s\"."
msgstr "Ezin izan dira \"%s\" kontrol-gailuaren ezarpenak eskuratu."

#, fuzzy, c-format
msgid "Cannot enumerate delivery systems from frontend device \"%s\"."
msgstr "Ezin izan dira \"%s\" kontrol-gailuaren ezarpenak eskuratu."

#, c-format
msgid "Could not open file \"%s\" for reading."
msgstr "Ezin izan da \"%s\" fitxategia ireki irakurtzeko."

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

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

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

#, c-format
msgid "No properties for channel '%s'"
msgstr ""

#, fuzzy, c-format
msgid "Failed to set properties for channel '%s'"
msgstr "Huts egin du '%s' DVD gailua irekitzean."

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

msgid "Channel configuration file doesn't contain any channels"
msgstr ""

#~ msgid "Internal data flow error."
#~ msgstr "Datu-korrontearen barne-errorea."

#~ msgid "Could not write to file \"%s\"."
#~ msgstr "Ezin izan da idatzi \"%s\" fitxategian."

#~ msgid "Could not open audio device for mixer control handling."
#~ msgstr ""
#~ "Ezin izan da audioko gailua ireki nahastailearen kontrola kudeatzeko."

#~ msgid ""
#~ "Could not open audio device for mixer control handling. This version of "
#~ "the Open Sound System is not supported by this element."
#~ msgstr ""
#~ "Ezin izan da audioko gailua ireki nahastailearen kontrola kudeatzeko. "
#~ "Elementu honek ez du onartzen Open Sound System-en bertsio hau."

#~ msgid "Volume"
#~ msgstr "Bolumena"

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

#~ msgid "Front"
#~ msgstr "Aurrealdekoa"

#~ msgid "Rear"
#~ msgstr "Atzealdekoa"

#~ msgid "Headphones"
#~ msgstr "Aurikularrak"

#~ msgid "Center"
#~ msgstr "Erdikoa"

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

#~ msgid "Surround"
#~ msgstr "Inguratzailea"

#~ msgid "Side"
#~ msgstr "Albokoa"

#~ msgid "Built-in Speaker"
#~ msgstr "Barneko bozgorailua"

#~ msgid "AUX 1 Out"
#~ msgstr "1. irteera lagungarria"

#~ msgid "AUX 2 Out"
#~ msgstr "2. irteera lagungarria"

#~ msgid "AUX Out"
#~ msgstr "Irteera lagungarria"

#~ msgid "Bass"
#~ msgstr "Baxua"

#~ msgid "Treble"
#~ msgstr "Altua"

#~ msgid "3D Depth"
#~ msgstr "3D sakonera"

#~ msgid "3D Center"
#~ msgstr "3D zentratua"

#~ msgid "3D Enhance"
#~ msgstr "3D hobetua"

#~ msgid "Telephone"
#~ msgstr "Telefonoa"

#~ msgid "Microphone"
#~ msgstr "Mikrofonoa"

#~ msgid "Line Out"
#~ msgstr "Irteerako linea"

#~ msgid "Line In"
#~ msgstr "Sarrerako linea"

#~ msgid "Internal CD"
#~ msgstr "Barneko CDa"

#~ msgid "Video In"
#~ msgstr "Bideo-sarrera"

#~ msgid "AUX 1 In"
#~ msgstr "1. sarrera lagungarria"

#~ msgid "AUX 2 In"
#~ msgstr "2. sarrera lagungarria"

#~ msgid "AUX In"
#~ msgstr "Sarrera lagungarria"

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

#~ msgid "Record Gain"
#~ msgstr "Grabazioaren irabazia"

#~ msgid "Output Gain"
#~ msgstr "Irteeraren irabazia"

#~ msgid "Microphone Boost"
#~ msgstr "Mikrofonoaren bultzada"

#~ msgid "Loopback"
#~ msgstr "Atzera-begizta"

#~ msgid "Diagnostic"
#~ msgstr "Diagnostikoa"

#~ msgid "Bass Boost"
#~ msgstr "Baxuaren bultzada"

#~ msgid "Playback Ports"
#~ msgstr "Erreprodukzioaren atakak"

#~ msgid "Input"
#~ msgstr "Sarrera"

#~ msgid "Record Source"
#~ msgstr "Grabazioaren iturburua"

#~ msgid "Monitor Source"
#~ msgstr "Monitorearen iturburua"

#~ msgid "Keyboard Beep"
#~ msgstr "Teklatuaren soinua"

#~ msgid "Monitor"
#~ msgstr "Monitorea"

#~ msgid "Simulate Stereo"
#~ msgstr "Simulatu estereoa"

#~ msgid "Stereo"
#~ msgstr "Estereoa"

#~ msgid "Surround Sound"
#~ msgstr "Soinu inguratzailea"

#~ msgid "Microphone Gain"
#~ msgstr "Mikrofonoaren irabazia"

#~ msgid "Speaker Source"
#~ msgstr "Bozgorailuaren iturburua"

#~ msgid "Microphone Source"
#~ msgstr "Mikrofonoaren iturburua"

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

#~ msgid "Center / LFE"
#~ msgstr "Zentratua / LFE"

#~ msgid "Stereo Mix"
#~ msgstr "Estereozko nahasketa"

#~ msgid "Mono Mix"
#~ msgstr "Monozko nahasketa"

#~ msgid "Input Mix"
#~ msgstr "Sarrerako nahasketa"

#~ msgid "SPDIF In"
#~ msgstr "SPDIF sarrera"

#~ msgid "SPDIF Out"
#~ msgstr "SPDIF irteera"

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

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

#~ msgid "Digital Out"
#~ msgstr "Irteera digitala"

#~ msgid "Digital In"
#~ msgstr "Sarrera digitala"

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

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

#~ msgid "Handset"
#~ msgstr "Aurikular+mikrofonoa"

#~ msgid "Other"
#~ msgstr "Bestelakoa"

#~ msgid "None"
#~ msgstr "Bat ere ez"

#~ msgid "On"
#~ msgstr "Piztu"

#~ msgid "Off"
#~ msgstr "Itzali"

#~ msgid "Mute"
#~ msgstr "Mututu"

#~ msgid "Fast"
#~ msgstr "Bizkorra"

#~ msgid "Very Low"
#~ msgstr "Oso motela"

#~ msgid "Low"
#~ msgstr "Motela"

#~ msgid "Medium"
#~ msgstr "Tartekoa"

#~ msgid "High"
#~ msgstr "Altua"

#~ msgid "Very High"
#~ msgstr "Oso altua"

#~ msgid "Production"
#~ msgstr "Ekoizpena"

#~ msgid "Front Panel Microphone"
#~ msgstr "Aurrealdeko paneleko mikrofonoa"

#~ msgid "Front Panel Line In"
#~ msgstr "Aurrealdeko paneleko sarrerako linea"

#~ msgid "Front Panel Headphones"
#~ msgstr "Aurrealdeko paneleko aurikularrak"

#~ msgid "Front Panel Line Out"
#~ msgstr "Aurrealdeko paneleko irteerako linea"

#~ msgid "Green Connector"
#~ msgstr "Konektore berdea"

#~ msgid "Pink Connector"
#~ msgstr "Konektore arrosa"

#~ msgid "Blue Connector"
#~ msgstr "Konektore urdina"

#~ msgid "White Connector"
#~ msgstr "Konektore zuria"

#~ msgid "Black Connector"
#~ msgstr "Konektore beltza"

#~ msgid "Gray Connector"
#~ msgstr "Konektore grisa"

#~ msgid "Orange Connector"
#~ msgstr "Konektore laranja"

#~ msgid "Red Connector"
#~ msgstr "Konektore gorria"

#~ msgid "Yellow Connector"
#~ msgstr "Konektore horia"

#~ msgid "Green Front Panel Connector"
#~ msgstr "Aurrealdeko paneleko konektore berdea"

#~ msgid "Pink Front Panel Connector"
#~ msgstr "Aurrealdeko paneleko konektore arrosa"

#~ msgid "Blue Front Panel Connector"
#~ msgstr "Aurrealdeko paneleko konektore urdina"

#~ msgid "White Front Panel Connector"
#~ msgstr "Aurrealdeko paneleko konektore zuria"

#~ msgid "Black Front Panel Connector"
#~ msgstr "Aurrealdeko paneleko konektore beltza"

#~ msgid "Gray Front Panel Connector"
#~ msgstr "Aurrealdeko paneleko konektore grisa"

#~ msgid "Orange Front Panel Connector"
#~ msgstr "Aurrealdeko paneleko konektore laranja"

#~ msgid "Red Front Panel Connector"
#~ msgstr "Aurrealdeko paneleko konektore gorria"

#~ msgid "Yellow Front Panel Connector"
#~ msgstr "Aurrealdeko paneleko konektore horia"

#~ msgid "Spread Output"
#~ msgstr "Zabaldu irteera"

#~ msgid "Downmix"
#~ msgstr "Tolestu nahasketa"

#~ msgid "Virtual Mixer Input"
#~ msgstr "Nahastaile birtualaren sarrera"

#~ msgid "Virtual Mixer Output"
#~ msgstr "Nahastaile birtualaren irteera"

#~ msgid "Virtual Mixer Channels"
#~ msgstr "Nahastaile birtualaren kanalak"

#~ msgid "%s Function"
#~ msgstr "%s funtzioa"

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

#~ msgid ""
#~ "Could not open audio device for playback. Device is being used by another "
#~ "application."
#~ msgstr ""
#~ "Ezin izan da audioaren gailua ireki erreproduzitzeko. Beste aplikazio "
#~ "batek darabil gailua."

#~ msgid ""
#~ "Could not open audio device for playback. You don't have permission to "
#~ "open the device."
#~ msgstr ""
#~ "Ezin izan da audioaren gailua ireki erreproduzitzeko. Ez duzu baimenik "
#~ "gailua irekitzeko."

#~ msgid "Could not open audio device for playback."
#~ msgstr "Ezin izan da audioaren gailua ireki erreproduzitzeko."

#~ msgid ""
#~ "Could not open audio device for playback. This version of the Open Sound "
#~ "System is not supported by this element."
#~ msgstr ""
#~ "Ezin izan da audioaren gailua ireki erreproduzitzeko. Elementu honek ez "
#~ "du onartzen Open Sound System-en bertsio hau."

#~ msgid "Playback is not supported by this audio device."
#~ msgstr "Audio gailu honek ez du erreproduzitzea onartzen."

#~ msgid "Audio playback error."
#~ msgstr "Errorea audioa erreproduzitzean."

#~ msgid "Recording is not supported by this audio device."
#~ msgstr "Audio gailu honek ez du grabatzea onartzen."

#~ msgid "Error recording from audio device."
#~ msgstr "Errorea audioko gailutik grabatzean."

#~| msgid "%s Function"
#~ msgid "%s %d Function"
#~ msgstr "%s %d funtzioa"
