# translation of gst-plugins-ugly-1.5.1.nl.po to Dutch
# Copyright (C) 2004, 2007, 2008, 2009 Free Software Foundation, Inc.
#
# This file is distributed under the same license as the gst-plugins-ugly package.
# Freek de Kruijf <f.de.kruijf@gmail.com>, 2007, 2008, 2009, 2011, 2012, 2014.
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-ugly 1.5.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2016-11-01 17:53+0200\n"
"PO-Revision-Date: 2015-06-13 13:05+0200\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 "Could not read from CD."
msgstr "Kan niet van de CD lezen."

msgid "Could not open CD device for reading."
msgstr "Kan het CD-apparaat niet openen voor lezen."

msgid "Disc is not an Audio CD."
msgstr "De schrijf is geen audio-CD"

msgid "Could not open DVD"
msgstr "Kan DVD niet openen"

#, c-format
msgid "Could not open DVD title %d"
msgstr "Kan DVD-titel %d niet openen"

#, c-format
msgid "Failed to go to chapter %d of DVD title %d"
msgstr "Kan niet naar hoofdstuk %d van DVD-titel %d gaan"

#, c-format
msgid ""
"Could not open DVD title %d. Interactive titles are not supported by this "
"element"
msgstr ""
"Kan de DVD-titel %d niet openen. Interactieve titels worden door dit element "
"niet ondersteund"

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

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

msgid ""
"Failed to configure LAME mp3 audio encoder. Check your encoding parameters."
msgstr ""
"Instellen van de LAME mp3-encoder is mislukt. Controleer uw parameters voor "
"codering."

#, c-format
msgid ""
"The requested bitrate %d kbit/s for property '%s' is not allowed. The "
"bitrate was changed to %d kbit/s."
msgstr ""
"De gevraagde bitsnelheid %d kbits/s voor eigenschap '%s' is niet toegestaan. "
"De bitsnelheid is gewijzigd in %d kbits/s."

msgid "Failed to configure TwoLAME encoder. Check your encoding parameters."
msgstr ""
"Kan de TwoLAME-encoder niet configureren. Controleer uw encodingparameters."

msgid "This stream contains no data."
msgstr "Deze stroom bevat geen gegevens."

#~ msgid "Internal data stream error."
#~ msgstr "Fout met interne gegevensstroom."

#~ msgid "Invalid title information on DVD."
#~ msgstr "Ongeldige titelinformatie op de DVD."

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

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

#~ msgid "Failed to set PGC based seeking."
#~ msgstr "Kan op PGC gebaseerd zoeken niet instellen."
