# Swedish translation for gst-plugins-ugly.
# Copyright (C) 2007-2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gst-plugins-ugly package.
# Daniel Nylander <po@danielnylander.se>, 2007, 2008, 2009.
# Sebastian Rasmussen <sebras@gmail.com>, 2014, 2015.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-ugly 1.6.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2018-10-02 23:04+0100\n"
"PO-Revision-Date: 2015-10-31 16:08+0100\n"
"Last-Translator: Sebastian Rasmussen <sebras@gmail.com>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
"X-Generator: Poedit 1.8.6\n"

msgid "Could not read from CD."
msgstr "Kunde inte läsa från cd."

msgid "Could not open CD device for reading."
msgstr "Kunde inte öppna cd-enheten för läsning."

msgid "Disc is not an Audio CD."
msgstr "Skivan är inte en ljud-cd."

msgid "Could not open DVD"
msgstr "Kunde inte öppna dvd"

#, c-format
msgid "Could not open DVD title %d"
msgstr "Kunde inte öppna dvd-titel %d"

#, c-format
msgid "Failed to go to chapter %d of DVD title %d"
msgstr "Misslyckades med att gå till kapitel %d för dvd-titel %d"

#, c-format
msgid ""
"Could not open DVD title %d. Interactive titles are not supported by this "
"element"
msgstr ""
"Kunde inte öppna dvd-titel %d. Interaktiva titlar stöds inte av det här "
"elementet"

msgid ""
"Could not read DVD. This may be because the DVD is encrypted and a DVD "
"decryption library is not installed."
msgstr ""
"Kunde ej läsa dvd. Detta kan vara för att dvd:n är krypterad och ett dvd-"
"avkrypteringsbibliotek inte är installerat."

msgid "Could not read DVD."
msgstr "Kunde inte läsa dvd."

msgid "This stream contains no data."
msgstr "Den här strömmen innehåller inget data."

#~ msgid ""
#~ "Failed to configure LAME mp3 audio encoder. Check your encoding "
#~ "parameters."
#~ msgstr ""
#~ "Misslyckades med att konfigurera LAME mp3 ljudkodare. Kontrollera dina "
#~ "kodningsparametrar."

#~ msgid ""
#~ "The requested bitrate %d kbit/s for property '%s' is not allowed. The "
#~ "bitrate was changed to %d kbit/s."
#~ msgstr ""
#~ "Den begärda bitfrekvensen %d kbit/s för egenskapen \"%s\" tillåts inte. "
#~ "Bitfrekvensen ändrades till %d kbit/s."

#~ msgid "Failed to configure TwoLAME encoder. Check your encoding parameters."
#~ msgstr ""
#~ "Misslyckades med att konfigurera TwoLAME-kodaren. Kontrollera dina "
#~ "kodningsparametrar."

#~ msgid "Internal data stream error."
#~ msgstr "Fel i intern dataström."
