# 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: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2009-11-17 00:15+0000\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"

msgid "Could not establish connection to sound server"
msgstr ""

msgid "Failed to query sound server capabilities"
msgstr ""

#, c-format
msgid "'%s' by '%s'"
msgstr ""

msgid "Internal data stream error."
msgstr ""

msgid "Failed to decode JPEG image"
msgstr ""

#, fuzzy
msgid "Could not connect to server"
msgstr "Не могу да затворим управљачки уређај „%s“."

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

msgid "This file is invalid and cannot be played."
msgstr ""

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

msgid "This file is incomplete and cannot be played."
msgstr ""

msgid "This file is corrupt and cannot be played."
msgstr ""

msgid "The video in this file might not play correctly."
msgstr ""

#, c-format
msgid "This file contains too many streams. Only playing first %d"
msgstr ""

msgid ""
"No supported stream was found. You might need to install a GStreamer RTSP "
"extension plugin for Real media streams."
msgstr ""

msgid ""
"No supported stream was found. You might need to allow more transport "
"protocols or may otherwise be missing the right GStreamer RTSP extension "
"plugin."
msgstr ""

msgid "Internal data flow error."
msgstr ""

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 "Праћење"

msgid ""
"Could not open audio device for playback. Device is being used by another "
"application."
msgstr ""

msgid ""
"Could not open audio device for playback. You don't have permission to open "
"the device."
msgstr ""

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

msgid ""
"Could not open audio device for recording. You don't have permission to open "
"the device."
msgstr ""

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

msgid "Gain"
msgstr ""

#, fuzzy
msgid "Built-in Speaker"
msgstr "Звучник"

msgid "Headphone"
msgstr ""

msgid "Line Out"
msgstr ""

msgid "SPDIF Out"
msgstr ""

msgid "AUX 1 Out"
msgstr ""

msgid "AUX 2 Out"
msgstr ""

#, fuzzy, c-format
msgid "Error reading %d bytes from device '%s'."
msgstr "Не могу да примим бафере са уређаја „%s“."

#, c-format
msgid "Got unexpected frame size of %u instead of %u."
msgstr ""

#, c-format
msgid "Error reading %d bytes on device '%s'."
msgstr ""

#, c-format
msgid ""
"Error getting capabilities for device '%s': It isn't a v4l2 driver. Check if "
"it is a v4l1 driver."
msgstr ""

#, c-format
msgid "Failed to query attributes of input %d in device %s"
msgstr ""

#, fuzzy, c-format
msgid "Failed to get setting of tuner %d on device '%s'."
msgstr "Не могу да примим довољно бафера са уређаја „%s“."

#, c-format
msgid "Failed to query norm on device '%s'."
msgstr ""

#, c-format
msgid "Failed getting controls attributes on device '%s'."
msgstr ""

#, fuzzy, c-format
msgid "Cannot identify device '%s'."
msgstr "Не могу да пишем на видео уређај „%s“."

#, c-format
msgid "This isn't a device '%s'."
msgstr ""

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

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

#, fuzzy, c-format
msgid "Device '%s' is not a output device."
msgstr "Уређај „%s“ не представља уређај за снимање."

#, fuzzy, c-format
msgid "Failed to set norm for device '%s'."
msgstr "Не могу да примим бафере са уређаја „%s“."

#, fuzzy, c-format
msgid "Failed to get current tuner frequency for device '%s'."
msgstr "Не могу да примим довољно бафера са уређаја „%s“."

#, c-format
msgid "Failed to set current tuner frequency for device '%s' to %lu Hz."
msgstr ""

#, c-format
msgid "Failed to get signal strength for device '%s'."
msgstr ""

#, fuzzy, c-format
msgid "Failed to get value for control %d on device '%s'."
msgstr "Не могу да затворим управљачки уређај „%s“."

#, fuzzy, c-format
msgid "Failed to set value %d for control %d on device '%s'."
msgstr "Не могу да затворим управљачки уређај „%s“."

#, c-format
msgid "Failed to get current input on device '%s'. May be it is a radio device"
msgstr ""

#, fuzzy, c-format
msgid "Failed to set input %d on device %s."
msgstr "Не могу да отворим радио уређај '%s'"

#, fuzzy, c-format
msgid "Could not enqueue buffers in device '%s'."
msgstr "Не могу да примим бафере са уређаја „%s“."

#, fuzzy, c-format
msgid "Failed trying to get video frames from device '%s'."
msgstr "Не могу да примим довољно бафера са уређаја „%s“."

#, c-format
msgid "Failed after %d tries. device %s. system error: %s"
msgstr ""

#, fuzzy, c-format
msgid "Could not get parameters on device '%s'"
msgstr "Не могу да примим бафере са уређаја „%s“."

msgid "Video input device did not accept new frame rate setting."
msgstr ""

#, fuzzy, c-format
msgid "Could not map buffers from device '%s'"
msgstr "Не могу да примим бафере са уређаја „%s“."

#, c-format
msgid "The driver of device '%s' does not support any known capture method."
msgstr ""

msgid "Changing resolution at runtime is not yet supported."
msgstr ""

msgid "Cannot operate without a clock"
msgstr ""

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

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

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

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

#~ msgid "Could not write to file \"%s\"."
#~ 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 open video device \"%s\" for writing."
#~ msgstr "Не могу да отворим видео уређај „%s“ ради уписа."

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

#~ 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 "Device \"%s\" does not exist."
#~ msgstr "Не постоји уређај „%s“."

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

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

# Виртуелни Систем Датотека
#~ 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 "Уређај је отворен."
