# Serbian translation of gst-plugins
# Copyright (C) 2004 Free Software Foundation, Inc.
# Danilo Segan <dsegan@gmx.net>, 2004.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins 0.7.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-06-13 12:47+0200\n"
"PO-Revision-Date: 2004-03-13 00:18+0100\n"
"Last-Translator: Danilo Segan <dsegan@gmx.net>\n"
"Language-Team: Serbian <gnu@prevod.org>\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"

#: sys/dvb/gstdvbsrc.c:658 sys/dvb/gstdvbsrc.c:713
#, c-format
msgid "Device \"%s\" does not exist."
msgstr "Не постоји уређај „%s“."

#: sys/dvb/gstdvbsrc.c:662
#, fuzzy, c-format
msgid "Could not open frontend device \"%s\"."
msgstr "Не могу да затворим управљачки уређај „%s“."

#: sys/dvb/gstdvbsrc.c:674
#, fuzzy, c-format
msgid "Could not get settings from frontend device \"%s\"."
msgstr "Не могу да примим довољно бафера са уређаја „%s“."

#: sys/dvb/gstdvbsrc.c:717
#, c-format
msgid "Could not open file \"%s\" for reading."
msgstr "Не могу да отворим датотеку „%s“ ради читања."

#~ msgid "Could not open device \"%s\" for reading and writing."
#~ msgstr "Не могу да отворим уређај „%s“ ради читања и уписа."

#~ msgid "Device \"%s\" is not a capture device."
#~ msgstr "Уређај „%s“ не представља уређај за снимање."

#~ msgid "Could not write to device \"%s\"."
#~ msgstr "Не могу да пишем на видео уређај „%s“."

#~ msgid "Could not get buffers from device \"%s\"."
#~ msgstr "Не могу да примим бафере са уређаја „%s“."

#~ msgid "No filename specified."
#~ msgstr "Име датотеке није задато."

#~ msgid "Could not open file \"%s\" for writing."
#~ msgstr "Не могу да отворим датотеку „%s“ ради уписа."

#~ msgid "Could not write to file \"%s\"."
#~ msgstr "Не могу да пишем у датотеку „%s“."

#~ msgid "Could not open audio device \"%s\" for writing."
#~ msgstr "Не могу да отворим звучни уређај „%s“ ради уписа."

#~ msgid "Could not open control device \"%s\" for writing."
#~ msgstr "Не могу да отворим управљачки уређај „%s“ ради уписа."

#~ msgid "Could not configure audio device \"%s\"."
#~ msgstr "Не могу да подесим звучни уређај „%s“."

#~ msgid "Could not set audio device \"%s\" to %d Hz."
#~ msgstr "Не могу да поставим звучни уређај „%s“ на %d Hz."

#~ msgid "Could not close audio device \"%s\"."
#~ msgstr "Не могу да отворим радио уређај '%s'"

#~ msgid "Could not open video device \"%s\" for writing."
#~ msgstr "Не могу да отворим видео уређај „%s“ ради уписа."

#~ msgid "Could not close video device \"%s\"."
#~ msgstr "Не могу да затворим видео уређај „%s“."

#~ msgid "Error closing file \"%s\"."
#~ msgstr "Грешка при затварању датотеке „%s“."

#~ msgid "No or invalid input audio, AVI stream will be corrupt."
#~ msgstr "Улазног звука нема или је неисправан, АВИ ток ће бити искварен."

#~ msgid "OSS device \"%s\" is already in use by another program."
#~ msgstr "OSS уређај „%s“ већ користи неки програм."

#~ msgid "Could not access device \"%s\", check its permissions."
#~ msgstr "Не могу да приступим уређају „%s“, проверите његова овлашћења."

#~ msgid "Could not open device \"%s\" for writing."
#~ msgstr "Не могу да отворим уређај „%s“ ради уписа."

#~ msgid "Could not open device \"%s\" for reading."
#~ msgstr "Не могу да отворим уређај „%s“ ради читања."

#~ msgid "Volume"
#~ msgstr "Јачина звука"

#~ msgid "Bass"
#~ msgstr "Бас"

#~ msgid "Treble"
#~ msgstr "Шум"

#~ msgid "Synth"
#~ msgstr "Синт."

#~ msgid "PCM"
#~ msgstr "ПЦМ"

#~ msgid "Speaker"
#~ msgstr "Звучник"

#~ msgid "Line-in"
#~ msgstr "Ул.лин."

#~ msgid "Microphone"
#~ msgstr "Микрофон"

#~ msgid "CD"
#~ msgstr "ЦД"

#~ msgid "Mixer"
#~ msgstr "Миксер"

#~ msgid "PCM-2"
#~ msgstr "ПЦМ-2"

#~ msgid "Record"
#~ msgstr "Снимање"

#~ msgid "In-gain"
#~ msgstr "Ул. пој."

#~ msgid "Out-gain"
#~ msgstr "Из. пој."

#~ msgid "Line-1"
#~ msgstr "Лин. 1"

#~ msgid "Line-2"
#~ msgstr "Лин. 2"

#~ msgid "Line-3"
#~ msgstr "Лин. 3"

#~ msgid "Digital-1"
#~ msgstr "Диг. 1"

#~ msgid "Digital-2"
#~ msgstr "Диг. 2"

#~ msgid "Digital-3"
#~ msgstr "Диг. 3"

#~ msgid "Phone-in"
#~ msgstr "Тел. ул."

#~ msgid "Phone-out"
#~ msgstr "Тел. из."

#~ msgid "Video"
#~ msgstr "Видео"

#~ msgid "Radio"
#~ msgstr "Радио"

#~ msgid "Monitor"
#~ msgstr "Праћење"

#, fuzzy
#~ msgid "PC Speaker"
#~ msgstr "Звучник"

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

# Виртуелни Систем Датотека
#~ msgid "Could not open vfs file \"%s\" for reading."
#~ msgstr "Не могу да отворим ВСД датотеку „%s“ ради читања."

#, fuzzy
#~ msgid "No filename given."
#~ msgstr "Име датотеке није задато."

#, fuzzy
#~ msgid "Could not open vfs file \"%s\" for writing: %s."
#~ msgstr "Не могу да отворим ВСД датотеку „%s“ ради уписа."

#, fuzzy
#~ msgid "No filename given"
#~ msgstr "Име датотеке није задато."

#~ msgid "Could not close vfs file \"%s\"."
#~ msgstr "Не могу да затворим ВСД датотеку „%s“."

#~ msgid "No device specified."
#~ msgstr "Уређај није наведен."

#~ msgid "Device is not open."
#~ msgstr "Уређај није отворен."

#~ msgid "Device is open."
#~ msgstr "Уређај је отворен."
