# translation of gst-plugins-bad to Dutch
# Copyright (C) 2004, 2007, 2008, 2009 Free Software Foundation, Inc.
#
# This file is distributed under the same license as the gst-plugins-bad package.
# Freek de Kruijf <f.de.kruijf@gmail.com>, 2007, 2008, 2009, 2011, 2013, 2014, 2015, 2016.
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2016-06-09 11:22+0300\n"
"PO-Revision-Date: 2016-02-20 12:35+0100\n"
"Last-Translator: Freek de Kruijf <f.de.kruijf@gmail.com>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 1.5\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"

msgid "format wasn't negotiated before get function"
msgstr "formaat is niet onderhandeld vóór get-functie"

msgid "OpenCV failed to load template image"
msgstr "OpenCV kon sjabloonafbeelding niet laden"

msgid "Could not read title information for DVD."
msgstr "Kan de titelinformatie voor de DVD niet lezen."

#, c-format
msgid "Failed to open DVD device '%s'."
msgstr "Kan het DVD-apparaat '%s' niet openen."

msgid "Failed to set PGC based seeking."
msgstr "Het instellen van het zoeken op basis van PGC is mislukt."

msgid ""
"Could not read DVD. This may be because the DVD is encrypted and a DVD "
"decryption library is not installed."
msgstr ""
"Kon de dvd niet lezen. Dit kan zo zijn omdat de dvd versleuteld is en een "
"bibliotheek voor ontcijferen niet is geïnstalleerd"

msgid "Could not read DVD."
msgstr "Kon de dvd niet lezen."

msgid "This file contains no playable streams."
msgstr "Dit bestand bevat geen af te spelen streams."

msgid "Could not open sndfile stream for reading."
msgstr "Kan sndfile-stream niet openen om te lezen."

msgid "Could not establish connection to sndio"
msgstr "Kon geen verbinding opzetten naar sndio"

msgid "Failed to query sndio capabilities"
msgstr "Opvragen van de mogelijkheden van sndio is mislukt"

msgid "Could not configure sndio"
msgstr "Kon sndio niet instellen"

msgid "Could not start sndio"
msgstr "Kon sndio niet starten"

msgid "Internal data flow error."
msgstr "Interne fout met gegevensdoorvoer."

msgid "Generated file has a larger preroll time than its streams duration"
msgstr ""
"Gegenereerd bestand heeft een grotere voorlooptijd dan de duur van zijn "
"streams"

#, c-format
msgid "Missing element '%s' - check your GStreamer installation."
msgstr "Ontbrekend element '%s' - controleer uw installatie van GStreamer."

msgid "File location is set to NULL, please set it to a valid filename"
msgstr ""
"Locatie van bestand is op NUL gezet, stel het in op een geldige bestandsnaam"

msgid "Digitalzoom element couldn't be created"
msgstr "Digitalzoom-element kon niet gemaakt worden"

msgid "Subpicture format was not configured before data flow"
msgstr ""
"Het format van de subafbeelding was niet ingesteld voor de gegevensstroom"

msgid "Failed to get fragment URL."
msgstr "Verkrijgen van de URL van het fragment is mislukt."

msgid "Internal data stream error."
msgstr "Interne fout in gegevensstroom."

msgid "Couldn't download fragments"
msgstr "Kan fragmenten niet downloaden"

msgid "No file name specified for writing."
msgstr "Geen bestandsnaam gespecificeerd voor de uitvoer."

#, c-format
msgid "Given file name \"%s\" can't be converted to local file name encoding."
msgstr ""
"Ingegeven bestandsnaam \"%s\" kan niet geconverteerd worden naar de codering "
"van een lokale bestandsnaam."

#, c-format
msgid "Could not open file \"%s\" for writing."
msgstr "Kan bestand \"%s\" niet openen voor uitvoer."

#, c-format
msgid "Device \"%s\" does not exist."
msgstr "Apparaat \"%s\" bestaat niet."

#, c-format
msgid "Could not open frontend device \"%s\"."
msgstr "Kan het frontend-apparaat \"%s\" niet openen."

#, c-format
msgid "Could not get settings from frontend device \"%s\"."
msgstr "Kan de instellingen van het frontend-apparaat \"%s\" niet verkrijgen."

#, c-format
msgid "Cannot enumerate delivery systems from frontend device \"%s\"."
msgstr "Kan de afleversystemen van het frontend-apparaat \"%s\" niet opnoemen."

#, c-format
msgid "Could not open file \"%s\" for reading."
msgstr "Kan bestand \"%s\" niet openen om te lezen."

msgid "Couldn't find DVB channel configuration file"
msgstr "Kon het instellingenbestand van het DVB-kanaal niet vinden"

#, c-format
msgid "Couldn't load DVB channel configuration file: %s"
msgstr "Kon het instellingenbestand \"%s\" van het DVB-kanaal niet laden"

msgid "DVB channel configuration file doesn't contain any channels"
msgstr "Het instellingenbestand van het DVB-kanaal bevat geen kanalen"

#, c-format
msgid "Couldn't find details for DVB channel %s"
msgstr "Kon de details voor het DVB-kanaal %s niet vinden"

#~ msgid "default GStreamer sound events audiosink"
#~ msgstr "standaard GStreamer audiosink voor geluidsgebeurtenissen"

#~ 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 ""
#~ "GStreamer kan geluid afspelen met elk aantal uitvoerelementen. Enige "
#~ "mogelijke keuzes zijn osssink, pulsesink en alsasink. De audiosink kan "
#~ "een gedeeltelijke pipeline zijn in plaats van gewoon één element."

#~ msgid "description for default GStreamer sound events audiosink"
#~ msgstr ""
#~ "beschrijving van standaard GStreamer audiosink voor geluidsgebeurtenissen"

#~ msgid "Describes the selected audiosink element."
#~ msgstr "Beschrijft het geselecteerde audiosink-element."

#~ msgid "default GStreamer audiosink for Audio/Video Conferencing"
#~ msgstr "standaard GStreamer audiosink voor audio/videoconferenties"

#~ msgid ""
#~ "description for default GStreamer audiosink for Audio/Video Conferencing"
#~ msgstr ""
#~ "beschrijving van standaard GStreamer audiosink voor audio/"
#~ "videoconferenties"

#~ msgid "default GStreamer audiosink for Music and Movies"
#~ msgstr "standaard GStreamer audiosink voor muziek en film"

#~ msgid "description for default GStreamer audiosink for Music and Movies"
#~ msgstr "beschrijving van standaard GStreamer audiosink voor muziek en film"

#~ msgid "default GStreamer videosink"
#~ msgstr "standaard GStreamer videosink"

#~ 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 ""
#~ "GStreamer kan video afspelen met elk aantal uitvoerelementen Enige "
#~ "mogelijke keuzes zijn xvimagesink, ximagesink, sdlvideosink en aasink. De "
#~ "videosink kan een gedeeltelijke pipeline zijn in plaats van gewoon één "
#~ "element."

#~ msgid "description for default GStreamer videosink"
#~ msgstr "beschrijving van standaard GStreamer videosink"

#~ msgid "Describes the selected videosink element."
#~ msgstr "Beschrijft het geselecteerde videosink-element."

#~ msgid "default GStreamer audiosrc"
#~ msgstr "standaard GStreamer audiobron"

#~ 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 ""
#~ "GStreamer kan geluid opnemen met elk aantal invoerelementen. Enige "
#~ "mogelijke keuzes zijn osssrc, pulsesrc en alsasrc. De audiobron kan een "
#~ "gedeeltelijke pipeline zijn in plaats van gewoon één element."

#~ msgid "description for default GStreamer audiosrc"
#~ msgstr "beschrijving van standaard GStreamer audiobron"

#~ msgid "Describes the selected audiosrc element."
#~ msgstr "Beschrijft het geselecteerde audiobron-element."

#~ msgid "default GStreamer videosrc"
#~ msgstr "standaard GStreamer videobron"

#~ 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 ""
#~ "GStreamer kan video opnemen met elk aantal invoerelementen. Enige "
#~ "mogelijke keuzes zijn v4lsrc, v4l2src en videotestsrc. De videobron kan "
#~ "een gedeeltelijke pipeline zijn in plaats van gewoon één element."

#~ msgid "description for default GStreamer videosrc"
#~ msgstr "beschrijving van standaard GStreamer videobron"

#~ msgid "Describes the selected videosrc element."
#~ msgstr "Beschrijft het geselecteerde videobron-element."

#~ msgid "default GStreamer visualization"
#~ msgstr "standaard GStreamer visualisatie"

#~ 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 ""
#~ "GStreamer kan visualisatieplug-ins in een pipeline stoppen om "
#~ "audiostreams te transformeren in videoframes. Enige mogelijke keuzes zijn "
#~ "goom, goom2k1 en synaesthesia. De visualisatieplug-in kan een "
#~ "gedeeltelijke pipeline zijn in plaats van gewoon één element."

#~ msgid "description for default GStreamer visualization"
#~ msgstr "beschrijving van standaard GStreamer visualisatie"

#~ msgid "Describes the selected visualization element."
#~ msgstr "Beschrijft het geselecteerde visualisatie-element."

#~ msgid "Couldn't get the Manifest's URI"
#~ msgstr "De URI van het manifest verkrijgen lukt niet"

#~ msgid "Could not write to file \"%s\"."
#~ msgstr "Kan niet in bestand \"%s\" schrijven."

#~ msgid "Internal clock error."
#~ msgstr "Interne fout met de klok."

#~ msgid "Could not open audio device for mixer control handling."
#~ msgstr "Kan het audio-apparaat niet openen voor de mixerbesturing."

#~ msgid ""
#~ "Could not open audio device for mixer control handling. This version of "
#~ "the Open Sound System is not supported by this element."
#~ msgstr ""
#~ "Kan het audio-apparaat niet openen voor de mixerbesturing. Deze versie "
#~ "van het Open Soundsysteem wordt niet ondersteund door dit element."

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

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

#~ msgid "Front"
#~ msgstr "Voorzijde"

#~ msgid "Rear"
#~ msgstr "Achterzijde"

#~ msgid "Headphones"
#~ msgstr "Hoofdtelefoon"

#~ msgid "Center"
#~ msgstr "Midden"

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

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

#~ msgid "Side"
#~ msgstr "Zijkant"

#~ msgid "Built-in Speaker"
#~ msgstr "Ingebouwde luidspreker"

#~ msgid "AUX 1 Out"
#~ msgstr "AUX 1-out"

#~ msgid "AUX 2 Out"
#~ msgstr "AUX 2-out"

#~ msgid "AUX Out"
#~ msgstr "AUX-out"

#~ msgid "Bass"
#~ msgstr "Lage tonen"

#~ msgid "Treble"
#~ msgstr "Hoge tonen"

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

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

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

#~ msgid "Telephone"
#~ msgstr "Telefoon"

#~ msgid "Microphone"
#~ msgstr "Microfoon"

#~ msgid "Line Out"
#~ msgstr "Line-out"

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

#~ msgid "Internal CD"
#~ msgstr "Interne cd"

#~ msgid "Video In"
#~ msgstr "Video-in"

#~ msgid "AUX 1 In"
#~ msgstr "AUX 1-in"

#~ msgid "AUX 2 In"
#~ msgstr "AUX 2-in"

#~ msgid "AUX In"
#~ msgstr "AUX-in"

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

#~ msgid "Record Gain"
#~ msgstr "Opnameversterking"

#~ msgid "Output Gain"
#~ msgstr "Uitgangversterking"

#~ msgid "Microphone Boost"
#~ msgstr "Microfoon-boost"

#~ msgid "Loopback"
#~ msgstr "Terugkoppeling"

#~ msgid "Diagnostic"
#~ msgstr "Diagnostiek"

#~ msgid "Bass Boost"
#~ msgstr "Lage tonen-boost"

#~ msgid "Playback Ports"
#~ msgstr "Afspeelpoorten"

#~ msgid "Input"
#~ msgstr "Invoer"

#~ msgid "Record Source"
#~ msgstr "Opnamebron"

#~ msgid "Monitor Source"
#~ msgstr "Monitorbron"

#~ msgid "Keyboard Beep"
#~ msgstr "Toetsenbordpiep"

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

#~ msgid "Simulate Stereo"
#~ msgstr "Stereo simuleren"

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

#~ msgid "Surround Sound"
#~ msgstr "Surround geluid"

#~ msgid "Microphone Gain"
#~ msgstr "Microfoonversterking"

#~ msgid "Speaker Source"
#~ msgstr "Luidsprekerbron"

#~ msgid "Microphone Source"
#~ msgstr "Microfoonbron"

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

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

#~ msgid "Stereo Mix"
#~ msgstr "Stereo mix"

#~ msgid "Mono Mix"
#~ msgstr "Mono mix"

#~ msgid "Input Mix"
#~ msgstr "Invoer mix"

#~ msgid "SPDIF In"
#~ msgstr "SPDIF-in"

#~ msgid "SPDIF Out"
#~ msgstr "SPDIF-out"

#~ msgid "Microphone 1"
#~ msgstr "Microfoon 1"

#~ msgid "Microphone 2"
#~ msgstr "Microfoon 2"

#~ msgid "Digital Out"
#~ msgstr "Digitaal-out"

#~ msgid "Digital In"
#~ msgstr "Digitaal-in"

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

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

#~ msgid "Handset"
#~ msgstr "Mobieltje"

#~ msgid "Other"
#~ msgstr "Overige"

#~ msgid "None"
#~ msgstr "Geen"

#~ msgid "On"
#~ msgstr "Aan"

#~ msgid "Off"
#~ msgstr "Uit"

#~ msgid "Mute"
#~ msgstr "Gedempt"

#~ msgid "Fast"
#~ msgstr "Snel"

#~ msgid "Very Low"
#~ msgstr "Zeer laag"

#~ msgid "Low"
#~ msgstr "Laag"

#~ msgid "Medium"
#~ msgstr "Gemiddeld"

#~ msgid "High"
#~ msgstr "Hoog"

#~ msgid "Very High"
#~ msgstr "Zeer hoog"

#~ msgid "Production"
#~ msgstr "Productie"

#~ msgid "Front Panel Microphone"
#~ msgstr "Microfoon in frontpaneel"

#~ msgid "Front Panel Line In"
#~ msgstr "Lijn-in in frontpaneel"

#~ msgid "Front Panel Headphones"
#~ msgstr "Hoofdtelefoon in frontpaneel"

#~ msgid "Front Panel Line Out"
#~ msgstr "Lijn-in in frontpaneel"

#~ msgid "Green Connector"
#~ msgstr "Groene connector"

#~ msgid "Pink Connector"
#~ msgstr "Roze connector"

#~ msgid "Blue Connector"
#~ msgstr "Blauwe connector"

#~ msgid "White Connector"
#~ msgstr "Witte connector"

#~ msgid "Black Connector"
#~ msgstr "Zwarte connector"

#~ msgid "Gray Connector"
#~ msgstr "Grijze connector"

#~ msgid "Orange Connector"
#~ msgstr "Oranje connector"

#~ msgid "Red Connector"
#~ msgstr "Rode connector"

#~ msgid "Yellow Connector"
#~ msgstr "Gele connector"

#~ msgid "Green Front Panel Connector"
#~ msgstr "Groene connector in frontpaneel"

#~ msgid "Pink Front Panel Connector"
#~ msgstr "Roze connector in frontpaneel"

#~ msgid "Blue Front Panel Connector"
#~ msgstr "Blauwe connector in frontpaneel"

#~ msgid "White Front Panel Connector"
#~ msgstr "Witte connector in frontpaneel"

#~ msgid "Black Front Panel Connector"
#~ msgstr "Zwarte connector in frontpaneel"

#~ msgid "Gray Front Panel Connector"
#~ msgstr "Grijze connector in frontpaneel"

#~ msgid "Orange Front Panel Connector"
#~ msgstr "Oranje connector in frontpaneel"

#~ msgid "Red Front Panel Connector"
#~ msgstr "Rode connector in frontpaneel"

#~ msgid "Yellow Front Panel Connector"
#~ msgstr "Gele connector in frontpaneel"

#~ msgid "Spread Output"
#~ msgstr "Spread Output"

#~ msgid "Downmix"
#~ msgstr "Downmix"

#~ msgid "Virtual Mixer Input"
#~ msgstr "Virtuele mixer-invoer"

#~ msgid "Virtual Mixer Output"
#~ msgstr "Virtuele mixer-uitvoer"

#~ msgid "Virtual Mixer Channels"
#~ msgstr "Virtuele mixer-kanalen"

#~ msgid "%s Function"
#~ msgstr "%s-functie"

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

#~ msgid ""
#~ "Could not open audio device for playback. Device is being used by another "
#~ "application."
#~ msgstr ""
#~ "Kan het audio-apparaat niet openen voor afspelen. Apparaat is in gebruik "
#~ "bij een andere applicatie."

#~ msgid ""
#~ "Could not open audio device for playback. You don't have permission to "
#~ "open the device."
#~ msgstr ""
#~ "Kan het audio-apparaat niet openen voor afspelen. U hebt geen toestemming "
#~ "om het apparaat te openen."

#~ msgid "Could not open audio device for playback."
#~ msgstr "Kan het audio-apparaat niet openen voor afspelen."

#~ msgid ""
#~ "Could not open audio device for playback. This version of the Open Sound "
#~ "System is not supported by this element."
#~ msgstr ""
#~ "Kan het audio-apparaat niet openen voor afspelen. Deze versie van het "
#~ "Open Soundsysteem wordt niet ondersteund door dit element."

#~ msgid "Playback is not supported by this audio device."
#~ msgstr "Afspelen wordt door dit audio-apparaat niet ondersteund."

#~ msgid "Audio playback error."
#~ msgstr "Fout bij audio-afspelen."

#~ msgid "Recording is not supported by this audio device."
#~ msgstr "Opnemen wordt door dit audio-apparaat niet ondersteund."

#~ msgid "Error recording from audio device."
#~ msgstr "Fout bij opnemen met dit audio-apparaat."
