# Slovenian translation for gst-plugins-bad.
# Copyright (C) 2005 - 2011 Free Software Foundation, Inc.
# This file is distributed under the same license as the gst-plugins-bad package.
# Matej Urbančič <matej.urban@gmail.com>, 2010.
# Klemen Košir <klemen.kosir@gmx.com>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2015-12-14 19:23+0100\n"
"PO-Revision-Date: 2011-04-26 15:21+0100\n"
"Last-Translator: Klemen Košir <klemen.kosir@gmx.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n"
"%100==4 ? 3 : 0);\n"
"X-Poedit-Language: Slovenian\n"
"X-Poedit-Country: SLOVENIA\n"
"X-Poedit-SourceCharset: utf-8\n"

msgid "format wasn't negotiated before get function"
msgstr ""

msgid "default GStreamer sound events audiosink"
msgstr ""

msgid ""
"GStreamer can play audio using any number of output elements. Some possible "
"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
"pipeline instead of just one element."
msgstr ""

msgid "description for default GStreamer sound events audiosink"
msgstr ""

msgid "Describes the selected audiosink element."
msgstr ""

msgid "default GStreamer audiosink for Audio/Video Conferencing"
msgstr ""

msgid ""
"description for default GStreamer audiosink for Audio/Video Conferencing"
msgstr ""

msgid "default GStreamer audiosink for Music and Movies"
msgstr ""

msgid "description for default GStreamer audiosink for Music and Movies"
msgstr ""

msgid "default GStreamer videosink"
msgstr ""

msgid ""
"GStreamer can play video using any number of output elements. Some possible "
"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
"can be a partial pipeline instead of just one element."
msgstr ""

msgid "description for default GStreamer videosink"
msgstr ""

msgid "Describes the selected videosink element."
msgstr ""

msgid "default GStreamer audiosrc"
msgstr ""

msgid ""
"GStreamer can record audio using any number of input elements. Some possible "
"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
"pipeline instead of just one element."
msgstr ""

msgid "description for default GStreamer audiosrc"
msgstr ""

msgid "Describes the selected audiosrc element."
msgstr ""

msgid "default GStreamer videosrc"
msgstr ""

msgid ""
"GStreamer can record video from any number of input elements. Some possible "
"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
"partial pipeline instead of just one element."
msgstr ""

msgid "description for default GStreamer videosrc"
msgstr ""

msgid "Describes the selected videosrc element."
msgstr ""

msgid "default GStreamer visualization"
msgstr ""

msgid ""
"GStreamer can put visualization plugins in a pipeline to transform audio "
"streams in video frames. Some possible choices are goom, goom2k1 and "
"synaesthesia. The visualization plugin can be a partial pipeline instead of "
"just one element."
msgstr ""

msgid "description for default GStreamer visualization"
msgstr ""

msgid "Describes the selected visualization element."
msgstr ""

msgid "OpenCV failed to load template image"
msgstr ""

msgid "Could not read title information for DVD."
msgstr "Podatkov naslova DVD-ja ni mogoče prebrati."

#, c-format
msgid "Failed to open DVD device '%s'."
msgstr "Napaka med odpiranjem DVD naprave \"%s\"."

msgid "Failed to set PGC based seeking."
msgstr "Napaka med nastavljanjem iskanja PGC."

msgid ""
"Could not read DVD. This may be because the DVD is encrypted and a DVD "
"decryption library is not installed."
msgstr ""
"DVD-ja ni mogoče prebrati. Verjetno je DVD šifriran, knjižnica za "
"dešifriranje pa ni nameščena."

msgid "Could not read DVD."
msgstr "DVD-ja ni mogoče prebrati."

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

#, fuzzy
msgid "Could not open sndfile stream for reading."
msgstr "Datoteke \"%s\" ni mogoče odpreti za branje."

msgid "Could not establish connection to sndio"
msgstr ""

msgid "Failed to query sndio capabilities"
msgstr ""

#, fuzzy
msgid "Could not configure sndio"
msgstr "Datoteke \"%s\" ni mogoče odpreti za branje."

#, fuzzy
msgid "Could not start sndio"
msgstr "DVD-ja ni mogoče prebrati."

msgid "Internal data flow error."
msgstr "Notranja napaka pretočnosti podatkov."

msgid "Generated file has a larger preroll time than its streams duration"
msgstr ""

#, c-format
msgid "Missing element '%s' - check your GStreamer installation."
msgstr ""

msgid "File location is set to NULL, please set it to a valid filename"
msgstr ""

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 "Internal data stream error."
msgstr "Notranja napaka pretoka podatkov."

msgid "Couldn't download fragments"
msgstr ""

msgid "No file name specified for writing."
msgstr "Ni navedenega imena datoteke za pisanje."

#, c-format
msgid "Given file name \"%s\" can't be converted to local file name encoding."
msgstr ""

#, c-format
msgid "Could not open file \"%s\" for writing."
msgstr "Datoteke \"%s\" ni mogoče odpreti za pisanje."

#, c-format
msgid "Device \"%s\" does not exist."
msgstr "Naprava \"%s\" ne obstaja."

#, c-format
msgid "Could not open frontend device \"%s\"."
msgstr "Čelne naprave \"%s\" ni mogoče odpreti."

#, c-format
msgid "Could not get settings from frontend device \"%s\"."
msgstr "Nastavitev čelne naprave \"%s\" ni mogoče pridobiti."

#, fuzzy, c-format
msgid "Cannot enumerate delivery systems from frontend device \"%s\"."
msgstr "Nastavitev čelne naprave \"%s\" ni mogoče pridobiti."

#, c-format
msgid "Could not open file \"%s\" for reading."
msgstr "Datoteke \"%s\" ni mogoče odpreti za branje."

msgid "Couldn't find DVB channel configuration file"
msgstr ""

#, c-format
msgid "Couldn't load DVB channel configuration file: %s"
msgstr ""

msgid "DVB channel configuration file doesn't contain any channels"
msgstr ""

#, c-format
msgid "Couldn't find details for DVB channel %s"
msgstr ""

#~ msgid "Could not write to file \"%s\"."
#~ msgstr "V datoteko \"%s\" ni mogoče pisati."

#~ msgid "Volume"
#~ msgstr "Glasnost"

#~ msgid "Master"
#~ msgstr "Glavni"

#~ msgid "Front"
#~ msgstr "Sprednji"

#~ msgid "Rear"
#~ msgstr "Zadnji"

#~ msgid "Headphones"
#~ msgstr "Slušalke"

#~ msgid "Center"
#~ msgstr "Sredinski"

#~ msgid "LFE"
#~ msgstr "LFE"

#~ msgid "Surround"
#~ msgstr "Surround sistem zvoka"

#~ msgid "Side"
#~ msgstr "Stranski"

#~ msgid "Built-in Speaker"
#~ msgstr "Vgrajeni zvočnik"

#~ msgid "AUX 1 Out"
#~ msgstr "AUX 1 izhod"

#~ msgid "AUX 2 Out"
#~ msgstr "AUX 2 izhod"

#~ msgid "AUX Out"
#~ msgstr "AUX izhod"

#~ msgid "Bass"
#~ msgstr "Basovski toni"

#~ msgid "Treble"
#~ msgstr "Visoki toni"

#~ msgid "3D Depth"
#~ msgstr "3D globina"

#~ msgid "3D Center"
#~ msgstr "3D središče"

#~ msgid "3D Enhance"
#~ msgstr "3D nadgradnja"

#~ msgid "Telephone"
#~ msgstr "Telefon"

#~ msgid "Microphone"
#~ msgstr "Mikrofon"

#~ msgid "Line Out"
#~ msgstr "Analogni izhod"

#~ msgid "Line In"
#~ msgstr "Analogni vhod"

#~ msgid "Internal CD"
#~ msgstr "Notranji CD"

#~ msgid "Video In"
#~ msgstr "Video vhod"

#~ msgid "AUX 1 In"
#~ msgstr "AUX 1 vhod"

#~ msgid "AUX 2 In"
#~ msgstr "AUX 2 vhod"

#~ msgid "AUX In"
#~ msgstr "AUX vhod"

#~ msgid "PCM"
#~ msgstr "PCM"

#~ msgid "Record Gain"
#~ msgstr "Ojačitev snemanja"

#~ msgid "Output Gain"
#~ msgstr "Ojačitev izhoda"

#, fuzzy
#~ msgid "Microphone Boost"
#~ msgstr "Ojačitev mikrofona"

#~ msgid "Loopback"
#~ msgstr "Povratna zanka"

#~ msgid "Diagnostic"
#~ msgstr "Diagnostika"

#~ msgid "Bass Boost"
#~ msgstr "Polni basi"

#~ msgid "Playback Ports"
#~ msgstr "Vrata predvajanja"

#~ msgid "Input"
#~ msgstr "Vhod"

#~ msgid "Record Source"
#~ msgstr "Vir zajemanja"

#~ msgid "Monitor Source"
#~ msgstr "Vir zaslona"

#~ msgid "Keyboard Beep"
#~ msgstr "Pisk tipkovnice"

#~ msgid "Monitor"
#~ msgstr "Zaslon"

#~ msgid "Simulate Stereo"
#~ msgstr "Simuliran stereo"

#~ msgid "Stereo"
#~ msgstr "Stereo"

#~ msgid "Surround Sound"
#~ msgstr "Surround zvok"

#~ msgid "Microphone Gain"
#~ msgstr "Ojačitev mikrofona"

#~ msgid "Speaker Source"
#~ msgstr "Vir zvočnika"

#~ msgid "Microphone Source"
#~ msgstr "Vir mikrofona"

#~ msgid "Jack"
#~ msgstr "Vhod"

#~ msgid "Center / LFE"
#~ msgstr "Srednji / LFE"

#~ msgid "Stereo Mix"
#~ msgstr "Stereo mešanje"

#~ msgid "Mono Mix"
#~ msgstr "Mono mešanje"

#~ msgid "Input Mix"
#~ msgstr "Vhodno mešanje"

#~ msgid "SPDIF In"
#~ msgstr "SPDIF vhod"

#~ msgid "SPDIF Out"
#~ msgstr "SPDIF izhod"

#~ msgid "Microphone 1"
#~ msgstr "Mikrofon 1"

#~ msgid "Microphone 2"
#~ msgstr "Mikrofon 2"

#~ msgid "Digital Out"
#~ msgstr "Digitalni izhod"

#~ msgid "Digital In"
#~ msgstr "Digitalni vhod"

#~ msgid "HDMI"
#~ msgstr "HDMI"

#~ msgid "Modem"
#~ msgstr "Modem"

#~ msgid "Handset"
#~ msgstr "Prostoročna slušalka"

#~ msgid "Other"
#~ msgstr "Drugo"

#~ msgid "None"
#~ msgstr "Brez"

#~ msgid "On"
#~ msgstr "Vklopljeno"

#~ msgid "Off"
#~ msgstr "Izklopljeno"

#~ msgid "Mute"
#~ msgstr "Nemo"

#~ msgid "Fast"
#~ msgstr "Hitro"

#~ msgid "Very Low"
#~ msgstr "Zelo nizko"

#~ msgid "Low"
#~ msgstr "Nizko"

#~ msgid "Medium"
#~ msgstr "Srednje"

#~ msgid "High"
#~ msgstr "Visoko"

#~ msgid "Very High"
#~ msgstr "Zelo visoko"

#~ msgid "Production"
#~ msgstr "Proizvodnja"

#, fuzzy
#~ msgid "Front Panel Microphone"
#~ msgstr "_Pokaži stranski pladenj"

#, fuzzy
#~ msgid "Front Panel Line In"
#~ msgstr "Trenutna vrstica v urejevalniku"

#, fuzzy
#~ msgid "Front Panel Headphones"
#~ msgstr "_Pokaži stranski pladenj"

#~ msgid "Green Connector"
#~ msgstr "Zeleni spojnik"

#~ msgid "Pink Connector"
#~ msgstr "Roza spojnik"

#~ msgid "Blue Connector"
#~ msgstr "Modri spojnik"

#~ msgid "White Connector"
#~ msgstr "Beli spojnik"

#~ msgid "Black Connector"
#~ msgstr "Črni spojnik"

#~ msgid "Gray Connector"
#~ msgstr "Sivi spojnik"

#~ msgid "Orange Connector"
#~ msgstr "Oranžni spojnik"

#~ msgid "Red Connector"
#~ msgstr "Rdeči spojnik"

#~ msgid "Yellow Connector"
#~ msgstr "Rumeni spojnik"

#, fuzzy
#~ msgid "Spread Output"
#~ msgstr "Standardni odvod:"

#~ msgid "Downmix"
#~ msgstr "Zmanjševanje kanalov"

#~ msgid "Virtual Mixer Input"
#~ msgstr "Navidezni mešalni vhod"

#~ msgid "Virtual Mixer Output"
#~ msgstr "Navidezni mešalni izhod"

#~ msgid "Virtual Mixer Channels"
#~ msgstr "Navidezni mešalni kanali"

#~ msgid "%s %d Function"
#~ msgstr "%s %d funkcija"

#~ msgid "%s Function"
#~ msgstr "%s funkcija"

#~ msgid ""
#~ "Could not open audio device for playback. Device is being used by another "
#~ "application."
#~ msgstr ""
#~ "Ni mogoče odpreti zvočne naprave za predvajanje. Napravo uporablja drug "
#~ "program."

#~ msgid ""
#~ "Could not open audio device for playback. You don't have permission to "
#~ "open the device."
#~ msgstr ""
#~ "Ni mogoče odpreti zvočne naprave za predvajanje. Ni ustreznih dovoljenj "
#~ "za odpiranje naprave."

#~ msgid "Could not open audio device for playback."
#~ msgstr "Ni mogoče odpreti zvočne naprave za predvajanje."

#, fuzzy
#~ msgid "Playback is not supported by this audio device."
#~ msgstr "Predvajanje s to zvočno napravo ni podprto."

#~ msgid "Audio playback error."
#~ msgstr "Napaka predvajanja zvoka."

#~ msgid "Error recording from audio device."
#~ msgstr "Napaka med branjem preko zvočne naprave."

#, fuzzy
#~ msgid "Internal clock error."
#~ msgstr "Prišlo je do notranje napake"

#~ msgid "%s %d"
#~ msgstr "%s %d"
