# 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: 2016-11-01 17:53+0200\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 ""
"Failed to configure LAME mp3 audio encoder. Check your encoding parameters."
msgstr ""
"Misslyckades med att konfigurera LAME mp3 ljudkodare. Kontrollera dina "
"kodningsparametrar."

#, c-format
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 "This stream contains no data."
msgstr "Den här strömmen innehåller inget data."

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