# Danish translation of gst-plugins-good.
# Copyright (C) 2010 gst.
# This file is distributed under the same license as the gst-plugins-good package.
#
# Mogens Jaeger <mogens@jaeger.tf>, 2007.
# Joe Hansen <joedalton2@yahoo.dk>, 2008, 2009, 2010, 2011, 2012.
#
# gain -> forhøjelse
# boost -> øgning?
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good-1.0.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2013-09-24 14:19+0200\n"
"PO-Revision-Date: 2012-12-13 23:54+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 "Jack server not found"
msgstr ""

msgid "Failed to decode JPEG image"
msgstr "Mislykkedes i at afkode JPEG-billede"

#. TRANSLATORS: 'song title' by 'artist name'
#, c-format
msgid "'%s' by '%s'"
msgstr "'%s' af '%s'"

msgid "Could not connect to server"
msgstr "Kunne ikke forbinde til server"

msgid "No URL set."
msgstr "Ingen adresse angivet."

msgid "Server does not support seeking."
msgstr "Server understøtter ikke søgning."

msgid "Could not resolve server name."
msgstr "Kunne ikke slå servernavn op."

msgid "Could not establish connection to server."
msgstr "Kunne ikke skabe kontakt til serveren."

msgid "Secure connection setup failed."
msgstr "Opsætning af sikker forbindelse mislykkedes."

msgid ""
"A network error occured, or the server closed the connection unexpectedly."
msgstr ""
"Der opstod en netværksfejl, eller serveren lukkede uventet forbindelsen."

msgid "Server sent bad data."
msgstr "Server sendte ugyldige data."

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

msgid "No or invalid input audio, AVI stream will be corrupt."
msgstr "Ingen eller defekt inddatalyd, AVI-sekvens vil blive ødelagt."

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

msgid "This file is invalid and cannot be played."
msgstr "Denne fil er ufuldstændig og kan ikke afspilles."

msgid "Cannot play stream because it is encrypted with PlayReady DRM."
msgstr ""

msgid "This file is corrupt and cannot be played."
msgstr "Denne fil er ødelagt og kan ikke afspilles."

msgid "Invalid atom size."
msgstr "Ugyldig atomstørrelse."

msgid "This file is incomplete and cannot be played."
msgstr "Denne fil er ufuldstændig og kan ikke afspilles."

msgid "The video in this file might not play correctly."
msgstr "Videoen i denne fil afspilles måske ikke korrekt."

# hvad er %d i dette program? Umiddelbart ville jeg tro det skulle
# hedde, "Afpiller kun første %d" men det kommer selvfølgelig an på 
# sammenhængen.
#, c-format
msgid "This file contains too many streams. Only playing first %d"
msgstr "Denne fil indeholder for mange strømme. Afspil først kun %d"

msgid ""
"No supported stream was found. You might need to install a GStreamer RTSP "
"extension plugin for Real media streams."
msgstr ""
"Ingen understøttet strøm blev fundet. Du skal måske installere et "
"udvidelsesmodul for GStreamer RTSP til Real media-strømme."

msgid ""
"No supported stream was found. You might need to allow more transport "
"protocols or may otherwise be missing the right GStreamer RTSP extension "
"plugin."
msgstr ""
"Ingen understøttet strøm blev fundet. Du mangler måske at tillade yderligere "
"transportprotokoller eller mangler måske det korrekte udvidelsesmodul til "
"GStreamer RTSP."

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

msgid ""
"Could not open audio device for playback. Device is being used by another "
"application."
msgstr ""
"Kunne ikke åbne lydenhed til afspilning. Enheden anvendes af et andet "
"program."

msgid ""
"Could not open audio device for playback. You don't have permission to open "
"the device."
msgstr ""
"Kunne ikke åbne lydenhed til afspilning. Du har ikke rettighed til at åbne "
"enheden."

msgid "Could not open audio device for playback."
msgstr "Kunne ikke åbne enhed til afspilning."

msgid ""
"Could not open audio device for playback. This version of the Open Sound "
"System is not supported by this element."
msgstr ""
"Kunne ikke åbne lydenhed til afspilning. Denne version af Open Sound System "
"er ikke understøttet af dette element."

msgid "Playback is not supported by this audio device."
msgstr "Afspilning er ikke understøttet af denne lydenhed."

msgid "Audio playback error."
msgstr "Fejl ved lydafspilning."

msgid "Recording is not supported by this audio device."
msgstr "Optagelse er ikke understøttet af denne lydenhed."

msgid "Error recording from audio device."
msgstr "Fejl ved optagelse fra lydenhed."

msgid ""
"Could not open audio device for recording. You don't have permission to open "
"the device."
msgstr ""
"Kunne ikke åbne lydenhed til optagelse. Du har ikke rettighed til at åbne "
"enheden."

msgid "Could not open audio device for recording."
msgstr "Kunne ikke åbne lydenhed til optagelse."

msgid "Record Source"
msgstr ""

msgid "Microphone"
msgstr ""

#, fuzzy
msgid "Line In"
msgstr "Linje ud"

msgid "Internal CD"
msgstr ""

#, fuzzy
msgid "SPDIF In"
msgstr "SPDIF ud"

#, fuzzy
msgid "AUX 1 In"
msgstr "AUX 1 ud"

#, fuzzy
msgid "AUX 2 In"
msgstr "AUX 2 ud"

msgid "Codec Loopback"
msgstr ""

msgid "SunVTS Loopback"
msgstr ""

msgid "Volume"
msgstr "Lydstyrke"

msgid "Gain"
msgstr "Forhøjelse"

msgid "Monitor"
msgstr "Monitor"

msgid "Built-in Speaker"
msgstr "Indbygget højtaler"

msgid "Headphone"
msgstr "Hovedtelefon"

msgid "Line Out"
msgstr "Linje ud"

msgid "SPDIF Out"
msgstr "SPDIF ud"

msgid "AUX 1 Out"
msgstr "AUX 1 ud"

msgid "AUX 2 Out"
msgstr "AUX 2 ud"

#, c-format
msgid "Error reading %d bytes from device '%s'."
msgstr "Fejl ved læsning af %d byte på enhed '%s'."

#, c-format
msgid "Failed to enumerate possible video formats device '%s' can work with"
msgstr ""
"Kunne ikke nummerere mulig videoformater som enhed »%s« kan fungere med"

#, c-format
msgid "Could not map buffers from device '%s'"
msgstr "Kunne ikke afbilde mellemlager fra enhed '%s'"

#, c-format
msgid "The driver of device '%s' does not support the IO method %d"
msgstr "Driveren til enhed »%s« understøtter ikke IO-metoden %d"

#, c-format
msgid "The driver of device '%s' does not support any known IO method."
msgstr "Driveren til enhed »%s« understøtter ingen kendt IO-metode."

#, c-format
msgid "Device '%s' does not support video capture"
msgstr "Enheden »%s« understøtter ikke videooptagelse"

#, c-format
msgid "Device '%s' is busy"
msgstr "Enheden »%s« er optaget"

#, c-format
msgid "Device '%s' cannot capture at %dx%d"
msgstr "Enheden »%s« kan ikke optage med %dx%d"

#, c-format
msgid "Device '%s' cannot capture in the specified format"
msgstr "Enheden »%s« kan ikke optage i det angivne format"

#, c-format
msgid "Could not get parameters on device '%s'"
msgstr "Kunne ikke hente parametre fra enhed '%s'"

msgid "Video device did not accept new frame rate setting."
msgstr "Videoenheden accepterede ikke ny indstilling for billedrate."

msgid "Video device could not create buffer pool."
msgstr "Videoenhed kunne ikke oprette mellemlagerkø."

#, c-format
msgid "Failed to get settings of tuner %d on device '%s'."
msgstr "Hentning af indstillinger for tuner %d på enhed »%s« fejlede."

#, c-format
msgid "Error getting capabilities for device '%s'."
msgstr "Fejl under hentning af kapaciteter for enhed »%s«."

#, c-format
msgid "Device '%s' is not a tuner."
msgstr "Enhed »%s« er ikke en tuner."

#, c-format
msgid "Failed to get radio input on device '%s'. "
msgstr "Kunne ikke hente radioinddata for enhed »%s«."

#, c-format
msgid "Failed to set input %d on device %s."
msgstr "Kunne ikke sætte inddata %d for enhed %s."

#, c-format
msgid "Failed to change mute state for device '%s'."
msgstr "Kunne ikke ændre tilstand for tænk/slut for enhed »%s«."

#, c-format
msgid "Cannot identify device '%s'."
msgstr "Kan ikke identificere enhed '%s'."

#, c-format
msgid ""
"Error getting capabilities for device '%s': It isn't a v4l2 driver. Check if "
"it is a v4l1 driver."
msgstr ""
"Fejl ved hentning af egenskaber for enhed '%s': Det er ikke en v412 driver. "
"Kontroller om det er en v411 driver."

#, c-format
msgid "Failed to query attributes of input %d in device %s"
msgstr "Listning af inddata-attributter for %d i enhed %s fejlede"

#, c-format
msgid "Failed to get setting of tuner %d on device '%s'."
msgstr "Hentning af indstillinger for tuner %d på enhed '%s' fejlede."

#, c-format
msgid "Failed to query norm on device '%s'."
msgstr "Listning af standard på enhed '%s' fejlede."

#, c-format
msgid "Failed getting controls attributes on device '%s'."
msgstr "Hentning af kontrolattributter for enhed '%s' fejlede."

#, c-format
msgid "This isn't a device '%s'."
msgstr "Dette er ikke en enheds '%s'."

#, c-format
msgid "Could not open device '%s' for reading and writing."
msgstr "Kunne ikke tilgå enhed '%s'."

#, c-format
msgid "Device '%s' is not a capture device."
msgstr "Enhed '%s' er ikke en optageenhed."

#, c-format
msgid "Device '%s' is not a output device."
msgstr "Enhed '%s' er ikke en uddataenhed."

#, c-format
msgid "Failed to set norm for device '%s'."
msgstr "Indstilling af standard for enhed '%s' fejlede."

#, c-format
msgid "Failed to get current tuner frequency for device '%s'."
msgstr "Kunne ikke hente nuværende tuner-frekvens for enhed '%s'."

#, c-format
msgid "Failed to set current tuner frequency for device '%s' to %lu Hz."
msgstr "Kunne ikke sætte nuværende tuner-frekvens for enhed '%s' til %lu Hz."

#, c-format
msgid "Failed to get signal strength for device '%s'."
msgstr "Kunne ikke hente signalstyrke for enhed '%s'."

#, c-format
msgid "Failed to get value for control %d on device '%s'."
msgstr "Kunne ikke hente værdi af kontrol %d for enhed '%s'."

#, c-format
msgid "Failed to set value %d for control %d on device '%s'."
msgstr "Kunne ikke sætte værdi %d på kontrol %d for enhed '%s'."

#, c-format
msgid "Failed to get current input on device '%s'. May be it is a radio device"
msgstr ""
"Kunne ikke hente nuværende inddata for enhed '%s'. Måske er det en radioenhed"

#, c-format
msgid ""
"Failed to get current output on device '%s'. May be it is a radio device"
msgstr ""
"Kunne ikke hente nuværende uddata for enhed '%s'. Måske er det en radioenhed"

#, c-format
msgid "Failed to set output %d on device %s."
msgstr "Kunne ikke sætte uddata %d for enhed %s."

msgid "Changing resolution at runtime is not yet supported."
msgstr "Ændring af opløsning under kørsel er endnu ikke understøttet."

msgid "Cannot operate without a clock"
msgstr "Kan ikke fungere uden et ur"
