# Bulgarian translation of gst-plugins-bad.
# Copyright (C) 2007, 2008, 2009, 2010, 2011, 2016 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, 2016.
#
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2016-11-01 17:49+0200\n"
"PO-Revision-Date: 2016-02-21 21:03+0200\n"
"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\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 "failed to draw pattern"
msgstr ""

msgid "A GL error occured"
msgstr ""

msgid "format wasn't negotiated before get function"
msgstr "форматът не е бил уточнен преди извикване на функцията за получаване"

msgid "OpenCV failed to load template image"
msgstr "OpenCV не успя да зареди изображението-шаблон"

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 "Could not open sndfile stream for reading."
msgstr "Потокът sndfile не може да се отвори за четене."

msgid "Could not establish connection to sndio"
msgstr "Не може да се установи връзка към sndio"

msgid "Failed to query sndio capabilities"
msgstr "Неуспешно запитване за възможностите на sndio"

msgid "Could not configure sndio"
msgstr "Не може да се настрои sndio"

msgid "Could not start sndio"
msgstr "Не може да се стартира sndio"

msgid "Generated file has a larger preroll time than its streams duration"
msgstr ""
"Генерираният файл е с по-дълго време за буфериране отколкото е самата му "
"продължителност"

#, c-format
msgid "Missing element '%s' - check your GStreamer installation."
msgstr "Елементът „%s“ липсва, проверете инсталацията на GStreamer."

msgid "File location is set to NULL, please set it to a valid filename"
msgstr "Местоположението на файла е NULL. Задайте име на файл"

msgid "Digitalzoom element couldn't be created"
msgstr "Елементът за цифрово увеличение не може да бъде създаден"

msgid "Subpicture format was not configured before data flow"
msgstr "Форматът на подкартината не е бил уточнен преди началото на потока"

msgid "Failed to get fragment URL."
msgstr "Неуспешно получаване на адреса на фрагмента."

msgid "Couldn't download fragments"
msgstr "Фрагментите не могат да бъдат свалени"

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

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

#, c-format
msgid "Given file name \"%s\" can't be converted to local file name encoding."
msgstr ""
"Зададеното име на файл „%s“ не може да бъде прехвърлено в локалното кодиране "
"на имена на файлове."

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

#, 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 "Cannot enumerate delivery systems from frontend device \"%s\"."
msgstr "Системите за доставка от устройството „%s“ не могат да бъдат изброени."

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

#, fuzzy
msgid "Couldn't find channel configuration file"
msgstr ""
"Файлът с настройките на цифровото видеоръзпръскване (DVB) не може да бъде "
"открит"

#, fuzzy, c-format
msgid "Couldn't load channel configuration file: '%s'"
msgstr ""
"Файлът с настройките на цифровото видеоръзпръскване (DVB) „%s“ не може да "
"бъде прочетен"

#, fuzzy, c-format
msgid "Couldn't find details for channel '%s'"
msgstr "Липсват данни за канала за цифрово видеоръзпръскване (DVB) „%s“"

#, fuzzy, c-format
msgid "No properties for channel '%s'"
msgstr "Липсват данни за канала за цифрово видеоръзпръскване (DVB) „%s“"

#, fuzzy, c-format
msgid "Failed to set properties for channel '%s'"
msgstr "Липсват данни за канала за цифрово видеоръзпръскване (DVB) „%s“"

#, fuzzy, c-format
msgid "Couldn't find channel configuration file: '%s'"
msgstr ""
"Файлът с настройките на цифровото видеоръзпръскване (DVB) не може да бъде "
"открит"

#, fuzzy
msgid "Channel configuration file doesn't contain any channels"
msgstr ""
"Файлът с настройките на цифровото видеоръзпръскване (DVB) не съдържа никакви "
"канали"

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