# Serbian translation of gst-plugins
# This file is put in the public domain.
# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-ugly-0.10.17.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2013-08-28 12:55+0200\n"
"PO-Revision-Date: 2011-12-04 13:43+0200\n"
"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <gnu@prevod.org>\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-Generator: Virtaal 0.7.0\n"
"X-Project-Style: gnome\n"

msgid "Could not read from CD."
msgstr "Не могу да читам ЦД."

msgid "Could not open CD device for reading."
msgstr "Не могу да отворим ЦД уређај ради читања."

msgid "Disc is not an Audio CD."
msgstr "Диск није Звучни ЦД."

msgid "Could not open DVD"
msgstr "Не могу да отворим ДВД"

#, c-format
msgid "Could not open DVD title %d"
msgstr "Не могу да отворим ДВД наслов „%d“"

#, c-format
msgid "Failed to go to chapter %d of DVD title %d"
msgstr "Нисам успео да стигнем до поглавља „%d“ ДВД наслова „%d“"

#, c-format
msgid ""
"Could not open DVD title %d. Interactive titles are not supported by this "
"element"
msgstr ""
"Не могу да отворим ДВД наслов „%d“. Овај елемент не подржава међудејствене "
"наслове"

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 "Не могу да читам ДВД."

#, fuzzy
msgid ""
"Failed to configure LAME mp3 audio encoder. Check your encoding parameters."
msgstr ""
"Нисам успео да подесим ЛАМЕ енкодер. Проверите ваше параметре кодирања."

#, c-format
msgid ""
"The requested bitrate %d kbit/s for property '%s' is not allowed. The "
"bitrate was changed to %d kbit/s."
msgstr ""
"Тражени проток података од %d kbit/s за „%s“ није допуштен. Проток података "
"је постављен на %d kbit/s."

msgid "Failed to configure TwoLAME encoder. Check your encoding parameters."
msgstr ""
"Нисам успео да подесим ДваЛАМЕ енкодер. Проверите ваше параметре кодирања."

msgid "This stream contains no data."
msgstr "Овај ток не садржи податке."

msgid "Internal data stream error."
msgstr "Унутрашња грешка тока података."
