# 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-01-20 14:17+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 "format wasn't negotiated before get function"
msgstr ""

msgid "default GStreamer sound events audiosink"
msgstr ""

msgid ""
"GStreamer can play audio using any number of output elements. Some possible "
"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
"pipeline instead of just one element."
msgstr ""

msgid "description for default GStreamer sound events audiosink"
msgstr ""

msgid "Describes the selected audiosink element."
msgstr ""

msgid "default GStreamer audiosink for Audio/Video Conferencing"
msgstr ""

msgid ""
"description for default GStreamer audiosink for Audio/Video Conferencing"
msgstr ""

msgid "default GStreamer audiosink for Music and Movies"
msgstr ""

msgid "description for default GStreamer audiosink for Music and Movies"
msgstr ""

msgid "default GStreamer videosink"
msgstr ""

msgid ""
"GStreamer can play video using any number of output elements. Some possible "
"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
"can be a partial pipeline instead of just one element."
msgstr ""

msgid "description for default GStreamer videosink"
msgstr ""

msgid "Describes the selected videosink element."
msgstr ""

msgid "default GStreamer audiosrc"
msgstr ""

msgid ""
"GStreamer can record audio using any number of input elements. Some possible "
"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
"pipeline instead of just one element."
msgstr ""

msgid "description for default GStreamer audiosrc"
msgstr ""

msgid "Describes the selected audiosrc element."
msgstr ""

msgid "default GStreamer videosrc"
msgstr ""

msgid ""
"GStreamer can record video from any number of input elements. Some possible "
"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
"partial pipeline instead of just one element."
msgstr ""

msgid "description for default GStreamer videosrc"
msgstr ""

msgid "Describes the selected videosrc element."
msgstr ""

msgid "default GStreamer visualization"
msgstr ""

msgid ""
"GStreamer can put visualization plugins in a pipeline to transform audio "
"streams in video frames. Some possible choices are goom, goom2k1 and "
"synaesthesia. The visualization plugin can be a partial pipeline instead of "
"just one element."
msgstr ""

msgid "description for default GStreamer visualization"
msgstr ""

msgid "Describes the selected visualization element."
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 "Internal data flow error."
msgstr "Datu-korrontearen barne-errorea."

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 "Internal data stream error."
msgstr "Datu-korrontearen barne-errorea."

msgid "Couldn't download fragments"
msgstr ""

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 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 "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"
