# Bulgarian translation of gst-plugins-bad.
# Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Fondation, Inc.
# This file is distributed under the same license as the gst-plugins-bad package.
# Alexander Shopov <ash@kambanaria.org>, 2007, 2008, 2009, 2010, 2011.
#
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2013-11-09 15:49+0100\n"
"PO-Revision-Date: 2011-04-26 22:30+0300\n"
"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"

msgid "Could not read title information for DVD."
msgstr "Информацията за заглавните части на DVD-то не може да бъде прочетена."

#, c-format
msgid "Failed to open DVD device '%s'."
msgstr "Не може да се чете от устройството за DVD-та „%s“."

msgid "Failed to set PGC based seeking."
msgstr "Не може да се търси по веригата на програмите (PGC)"

msgid ""
"Could not read DVD. This may be because the DVD is encrypted and a DVD "
"decryption library is not installed."
msgstr ""
"DVD-то не може да бъде прочетено. Причината може да е, че DVD-то е шифрирано "
"и не е инсталирана библиотека за дешифриране."

msgid "Could not read DVD."
msgstr "DVD-то не може да бъде прочетено."

msgid "This file contains no playable streams."
msgstr ""

msgid "Couldn't get the Manifest's URI"
msgstr ""

msgid "Failed to get fragment URL."
msgstr ""

msgid "Couldn't download fragments"
msgstr ""

msgid "No file name specified for writing."
msgstr "Не е указано име на файл за запис."

#, c-format
msgid "Could not open file \"%s\" for writing."
msgstr "Файлът „%s“ не може да се отвори за запис."

msgid "Internal data stream error."
msgstr "Вътрешна грешка в потока на данни."

#, c-format
msgid "Could not write to file \"%s\"."
msgstr "Не може да се записва във файла „%s“."

msgid "Could not establish connection to sndio"
msgstr ""

msgid "Failed to query sndio capabilities"
msgstr ""

#, fuzzy
msgid "Could not configure sndio"
msgstr "Файлът „%s“ не може да се отвори за четене."

#, fuzzy
msgid "Could not start sndio"
msgstr "DVD-то не може да бъде прочетено."

msgid "Internal data flow error."
msgstr "Вътрешна грешка в потока на данни."

msgid "Generated file has a larger preroll time than its streams duration"
msgstr ""

#, c-format
msgid "Missing element '%s' - check your GStreamer installation."
msgstr ""

msgid "File location is set to NULL, please set it to a valid filename"
msgstr ""

msgid "Subpicture format was not configured before data flow"
msgstr ""

#, c-format
msgid "Given file name \"%s\" can't be converted to local file name encoding."
msgstr ""

#, c-format
msgid "Device \"%s\" does not exist."
msgstr "Устройството „%s“ не съществува."

#, c-format
msgid "Could not open frontend device \"%s\"."
msgstr "Устройството „%s“ не може да бъде отворено."

#, c-format
msgid "Could not get settings from frontend device \"%s\"."
msgstr "Настройките на устройството „%s“ не могат да бъдат получени."

#, c-format
msgid "Could not open file \"%s\" for reading."
msgstr "Файлът „%s“ не може да се отвори за четене."

msgid "Couldn't find DVB channel configuration file"
msgstr ""

#, c-format
msgid "Couldn't load DVB channel configuration file: %s"
msgstr ""

msgid "DVB channel configuration file doesn't contain any channels"
msgstr ""

#, c-format
msgid "Couldn't find details for DVB channel %s"
msgstr ""
