# Serbian translation of gst-plugins
# Copyright (C) 2004 Free Software Foundation, Inc.
# This file is distributed under the same license as the gst-plugins-bad package.
# Danilo Segan <dsegan@gmx.net>, 2004.
# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2011, 2013.
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad-1.1.4\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2013-11-09 15:49+0100\n"
"PO-Revision-Date: 2013-10-04 11:47+0200\n"
"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Project-Style: gnome\n"

msgid "Could not read title information for DVD."
msgstr "Не могу да прочитам информације о наслову ДВД-а."

#, c-format
msgid "Failed to open DVD device '%s'."
msgstr "Нисам успео да отворим ДВД уређај „%s“."

msgid "Failed to set PGC based seeking."
msgstr "Нисам успео да подесим позиционирање засновано на ланцу програма."

msgid ""
"Could not read DVD. This may be because the DVD is encrypted and a DVD "
"decryption library is not installed."
msgstr ""
"Не могу да читам ДВД. Можда зато што је ДВД шифрован а библиотека за "
"дешифровање ДВД-а није инсталирана."

msgid "Could not read DVD."
msgstr "Не могу да читам ДВД."

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 "Нисам успео да испитам могућности улаза/излаза звука"

msgid "Could not configure sndio"
msgstr "Не могу да подесим улаз/излаз звука"

msgid "Could not start sndio"
msgstr "Не могу да покренем улаз/излаз звука"

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 "Недостаје елемент „%s“ — проверите вашу инсталацију Гстримера."

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 ""
"Дати назив датотеке „%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 "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 "Не могу да учитам датотеку подешавања ДВБ канала: %s"

msgid "DVB channel configuration file doesn't contain any channels"
msgstr "Датотека подешавања ДВБ канала не садржи ниједан канал"

#, c-format
msgid "Couldn't find details for DVB channel %s"
msgstr "Не могу да пронађем податке за ДВБ канал „%s“"
