# Danish translation of gst-plugins-bad.
# Copyright (C) 2014 Mogens Jaeger og Joe Hansen.
# This file is distributed under the same license as the gst-plugins-bad package.
# Mogens Jaeger <mogens@jaeger.tf>, 2007.
# Joe Hansen <joedalton2@yahoo.dk>, 2008, 2009, 2011, 2013, 2014.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad-1.3.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2014-06-22 17:56+0200\n"
"PO-Revision-Date: 2014-05-24 11:28+0200\n"
"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

msgid "Could not read title information for DVD."
msgstr "Kunne ikke læse titelinformation for dvd."

#, c-format
msgid "Failed to open DVD device '%s'."
msgstr "Kunne ikke åbne dvd-enhed »%s«."

msgid "Failed to set PGC based seeking."
msgstr "Kunne ikke indstille PGC-baseret søgning."

msgid ""
"Could not read DVD. This may be because the DVD is encrypted and a DVD "
"decryption library is not installed."
msgstr ""
"Kunne ikke læse dvd. Dette kan være fordi dvd'en er krypteret og et dvd-"
"dekrypteringsbibliotek ikke er installeret."

msgid "Could not read DVD."
msgstr "Kunne ikke læse dvd."

msgid "This file contains no playable streams."
msgstr "Denne fil indeholder ingen spilbare strømme."

msgid "Couldn't get the Manifest's URI"
msgstr "Kunne ikke indhente Manifestens adresse"

msgid "Failed to get fragment URL."
msgstr "Kunne ikke indhente fragmentadresse."

msgid "Internal data stream error."
msgstr "Intern datastrømfejl."

msgid "Couldn't download fragments"
msgstr "Kunne ikke hente fragmenter"

msgid "Could not open sndfile stream for reading."
msgstr "Kunne ikke åbne sndfile-strøm for læsning."

msgid "No file name specified for writing."
msgstr "Intet filnavn er angivet til skrivning."

#, c-format
msgid "Could not open file \"%s\" for writing."
msgstr "Kunne ikke åbne filen »%s« til skrivning."

#, c-format
msgid "Could not write to file \"%s\"."
msgstr "Kunne ikke skrive til fil »%s«."

msgid "Could not establish connection to sndio"
msgstr "Kunne ikke etablere forbindelse til sndio"

msgid "Failed to query sndio capabilities"
msgstr "Kunne ikke forespørge sndio-funktioner"

msgid "Could not configure sndio"
msgstr "Kunne ikke konfigurere"

msgid "Could not start sndio"
msgstr "Kunne ikke starte sndio"

msgid "Internal data flow error."
msgstr "Intern datastrømfejl."

# pre-roll. The name of an online video commercial that appears prior to an online video,
# http://en.wiktionary.org/wiki/preroll
msgid "Generated file has a larger preroll time than its streams duration"
msgstr "Oprettet fil har en længere preroll-tid end strømmens varighed"

#, c-format
msgid "Missing element '%s' - check your GStreamer installation."
msgstr "Manglende element »%s« - kontroller din GStreamer-installation."

msgid "File location is set to NULL, please set it to a valid filename"
msgstr "Filplacering er sat til NULL, sæt den venligst til et gyldigt filnavn"

msgid "Subpicture format was not configured before data flow"
msgstr "Format for underbillede blev ikke konfigureret før datastrøm"

#, c-format
msgid "Given file name \"%s\" can't be converted to local file name encoding."
msgstr ""
"Det angivne filnavn »%s« kan ikke konverteres til en lokal filnavnskodning."

#, c-format
msgid "Device \"%s\" does not exist."
msgstr "Enheden »%s« eksisterer ikke."

#, c-format
msgid "Could not open frontend device \"%s\"."
msgstr "Kunne ikke åbne forende-enheden »%s«."

#, c-format
msgid "Could not get settings from frontend device \"%s\"."
msgstr "Kunne ikke hente indstillinger fra forende-enheden »%s«."

#, c-format
msgid "Cannot enumerate delivery systems from frontend device \"%s\"."
msgstr "Kunne opregne leveringssystemer fra forende-enheden »%s«."

#, c-format
msgid "Could not open file \"%s\" for reading."
msgstr "Kunne ikke åbne filen »%s« for læsning."

msgid "Couldn't find DVB channel configuration file"
msgstr "Kunne ikke finde DVB-kanalens konfigurationsfil"

#, c-format
msgid "Couldn't load DVB channel configuration file: %s"
msgstr "Kunne ikke indlæse DVB-kanalens konfigurationsfil: %s"

msgid "DVB channel configuration file doesn't contain any channels"
msgstr "DVB-kanalens konfigurationsfil indeholder ikke nogen kanaler"

#, c-format
msgid "Couldn't find details for DVB channel %s"
msgstr "Kunne ikke finde detaljer for DVB-kanalen %s"
