# Slovenian translation for gst-plugins-good.
# This file is distributed under the same license as the gst-plugins-good package.
# Copyright (C) 2005 - 2014 Free Software Foundation, Inc.
#
# Robert Horvat <robi@hipnos.net>, 2010.
# Matej Urbančič <matej.urban@gmail.com>, 2010 - 2011.
# Klemen Košir <klemen913@gmail.com>, 2012 - 2014.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good-1.2.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2015-05-13 13:04+0300\n"
"PO-Revision-Date: 2014-04-09 22:52+0100\n"
"Last-Translator: Klemen Košir <klemen913@gmail.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"

msgid "Jack server not found"
msgstr "Strežnika JACK ni mogoče najti"

msgid "Failed to decode JPEG image"
msgstr "Napaka med dekodiranjem JPEG slike"

#. TRANSLATORS: 'song title' by 'artist name'
#, c-format
msgid "'%s' by '%s'"
msgstr "'%s' izvajalca '%s'"

msgid "Could not connect to server"
msgstr "Ni se mogoče povezati s strežnikom"

msgid "No URL set."
msgstr "Ni nastavljenega naslova URL."

msgid "Server does not support seeking."
msgstr "Strežnik ne podpira iskanja."

msgid "Could not resolve server name."
msgstr "Ni mogoče razrešiti imena strežnika."

msgid "Could not establish connection to server."
msgstr "Ni mogoče vzpostaviti povezave s strežnikom."

msgid "Secure connection setup failed."
msgstr "Nastavitev varne povezave je spodletela."

msgid ""
"A network error occured, or the server closed the connection unexpectedly."
msgstr ""
"Prišlo je do omrežne napake ali pa je povezava nepričakovano prekinjena."

msgid "Server sent bad data."
msgstr "Strežnik je poslal slabe podatke."

msgid "Internal data stream error."
msgstr "Notranja napaka pretoka podatkov."

msgid "No or invalid input audio, AVI stream will be corrupt."
msgstr "Napaka vhodnega zvoka, AVI pretok bo pokvarjen."

msgid "This file contains no playable streams."
msgstr "Datoteka ne vsebuje pretokov za predvajanje."

msgid "This file is invalid and cannot be played."
msgstr "Datoteka je napačna, zato je ni mogoče predvajati."

msgid "Cannot play stream because it is encrypted with PlayReady DRM."
msgstr "Pretoka ni mogoče predvajati, ker je šifriran s PlayReady DRM."

msgid "This file is corrupt and cannot be played."
msgstr "Datoteka je pokvarjena, zato je ni mogoče predvajati."

msgid "Invalid atom size."
msgstr "Neveljavna velikost atoma."

msgid "This file is incomplete and cannot be played."
msgstr "Datoteka ni popolna, zato je ni mogoče predvajati."

msgid "The video in this file might not play correctly."
msgstr "Video zapis v tej datoteki morda ne bo predvajan pravilno."

#, c-format
msgid "This file contains too many streams. Only playing first %d"
msgstr "Datoteka vsebuje več pretokov. Predvajano bo le začetnih %d"

msgid "Internal data flow error."
msgstr "Notranja napaka pretoka podatkov."

msgid ""
"No supported stream was found. You might need to install a GStreamer RTSP "
"extension plugin for Real media streams."
msgstr ""
"Ni mogoče najti podprtega pretoka. Najverjetneje je treba namestiti vstavek "
"GStreamer RTSP razširitve za RealMedia pretoke."

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 ""
"Ni mogoče najti podprtega pretoka. Najverjetneje je treba omogočiti več "
"protokolov prenosa, oziroma manjka ustrezen vstavek GStreamer RTSP "
"razširitve."

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."

msgid ""
"Could not open audio device for playback. This version of the Open Sound "
"System is not supported by this element."
msgstr ""
"Ni mogoče odpreti zvočne naprave za predvajanje. Open Sound System ni podprt."

msgid "Playback is not supported by this audio device."
msgstr "Predvajane s to zvočno napravo ni podprto."

msgid "Audio playback error."
msgstr "Med predvajanjem zvoka je prišlo do napake."

msgid "Recording is not supported by this audio device."
msgstr "Snemanje s to zvočno napravo ni podprto."

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

msgid ""
"Could not open audio device for recording. You don't have permission to open "
"the device."
msgstr ""
"Zvočne naprave ni mogoče odpreti za snemanje. Ni ustreznih dovoljenj za "
"odpiranje naprave."

msgid "Could not open audio device for recording."
msgstr "Zvočne naprave ni mogoče odpreti za snemanje."

msgid "Record Source"
msgstr "Vir snemanja"

msgid "Microphone"
msgstr "Mikrofon"

msgid "Line In"
msgstr "Analogni vhod"

msgid "Internal CD"
msgstr "Notranji CD"

msgid "SPDIF In"
msgstr "Vhod SPDIF"

msgid "AUX 1 In"
msgstr "Vhod AUX 1"

msgid "AUX 2 In"
msgstr "Vhod AUX 2"

msgid "Codec Loopback"
msgstr "Povratna zanka kodeka"

msgid "SunVTS Loopback"
msgstr "Povratna zanka SunVTS"

msgid "Volume"
msgstr "Glasnost"

msgid "Gain"
msgstr "Ojačitev"

msgid "Monitor"
msgstr "Zaslon"

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

msgid "Headphone"
msgstr "Slušalke"

msgid "Line Out"
msgstr "Analogni izhod"

msgid "SPDIF Out"
msgstr "Izhod SPDIF"

msgid "AUX 1 Out"
msgstr "Izhod AUX 1"

msgid "AUX 2 Out"
msgstr "Izhod AUX 2"

#, c-format
msgid "Error reading %d bytes from device '%s'."
msgstr "Napaka med branjem %d bajtov iz naprave '%s'."

#, c-format
msgid "Failed to enumerate possible video formats device '%s' can work with"
msgstr ""
"Med številčenjem oblik videa, ki jih podpira naprava \"%s\", je prišlo do "
"napake."

#, c-format
msgid "Could not map buffers from device '%s'"
msgstr "Ni mogoče preslikati medpomnilnika naprave '%s'"

#, c-format
msgid "The driver of device '%s' does not support the IO method %d"
msgstr "Gonilnik naprave \"%s\" ne podpira nobenega načina I/O %d."

#, c-format
msgid "The driver of device '%s' does not support any known IO method."
msgstr "Gonilnik naprave \"%s\" ne podpira nobenega znanega načina I/O."

#, c-format
msgid "Device '%s' is busy"
msgstr "Naprava \"%s\" je zaposlena."

#, c-format
msgid "Device '%s' cannot capture at %dx%d"
msgstr "Naprava \"%s\" ne podpira zajemanja v ločljivosti %dx%d."

#, c-format
msgid "Device '%s' cannot capture in the specified format"
msgstr "Naprava \"%s\" ne podpira zajemanja v izbrani obliki."

#, fuzzy, c-format
msgid "Device '%s' does support non-contiguous planes"
msgstr "Naprava \"%s\" ne podpira zajemanja videa."

#, c-format
msgid "Could not get parameters on device '%s'"
msgstr "Ni mogoče pridobiti parametrov na napravi '%s'."

msgid "Video device did not accept new frame rate setting."
msgstr "Napravi ni mogoče določiti novih nastavitev hitrosti sličic."

#, fuzzy
msgid "Video device did not provide output format."
msgstr "Napravi ni mogoče določiti novih nastavitev hitrosti sličic."

msgid "Video device returned invalid dimensions."
msgstr ""

#, fuzzy
msgid "Video devices uses an unsupported interlacing method."
msgstr "Gonilnik naprave \"%s\" ne podpira nobenega načina I/O %d."

msgid "Video devices uses an unsupported pixel format."
msgstr ""

#, fuzzy
msgid "Failed to configure internal buffer pool."
msgstr "Naprava ne more ustvariti zaloge medpomnilnika."

#, fuzzy
msgid "Video device did not suggest any buffer size."
msgstr "Naprava ne more ustvariti zaloge medpomnilnika."

msgid "No downstream pool to import from."
msgstr ""

#, c-format
msgid "Failed to get settings of tuner %d on device '%s'."
msgstr ""
"Med pridobivanjem nastavitev uglaševalnika %d na napravi \"%s\" je prišlo do "
"napake."

#, c-format
msgid "Error getting capabilities for device '%s'."
msgstr "Med pridobivanjem lastnosti naprave \"%s\" je prišlo do napake."

#, c-format
msgid "Device '%s' is not a tuner."
msgstr "Naprava \"%s\" ni uglaševalnik."

#, c-format
msgid "Failed to get radio input on device '%s'. "
msgstr "Med pridobivanjem vhoda na napravi \"%s\" je prišlo do napake."

#, c-format
msgid "Failed to set input %d on device %s."
msgstr "Napaka med določanjem vhoda %d naprave %s."

#, c-format
msgid "Failed to change mute state for device '%s'."
msgstr ""
"Med nastavljanjem stanja glasnosti na napravi \"%s\" je prišlo do napake."

msgid "Failed to allocated required memory."
msgstr ""

msgid "Failed to allocate required memory."
msgstr ""

#, fuzzy, c-format
msgid "Converter on device %s has no supported input format"
msgstr "Gonilnik naprave \"%s\" ne podpira nobenega načina I/O %d."

#, fuzzy, c-format
msgid "Converter on device %s has no supported output format"
msgstr "Napravi ni mogoče določiti novih nastavitev hitrosti sličic."

#, fuzzy, c-format
msgid "Encoder on device %s has no supported input format"
msgstr "Napravi ni mogoče določiti novih nastavitev hitrosti sličic."

#, fuzzy, c-format
msgid "Encoder on device %s has no supported output format"
msgstr "Napravi ni mogoče določiti novih nastavitev hitrosti sličic."

#, fuzzy
msgid "Failed to start decoding thread."
msgstr "Napaka med dekodiranjem JPEG slike"

msgid "Failed to process frame."
msgstr ""

#, c-format
msgid ""
"Error getting capabilities for device '%s': It isn't a v4l2 driver. Check if "
"it is a v4l1 driver."
msgstr ""
"Napaka med pridobivanjem zmožnosti naprave '%s': ni pravega gonilnika v4l2. "
"Preverite namestitev."

#, c-format
msgid "Failed to query attributes of input %d in device %s"
msgstr "Napaka med pregledovanjem atributov poizvedbe vhoda %d naprave %s"

#, c-format
msgid "Failed to get setting of tuner %d on device '%s'."
msgstr "Napaka med pridobivanjem nastavitev uglaševalnika %d na napravi '%s'."

#, c-format
msgid "Failed to query norm on device '%s'."
msgstr "Napaka med poizvedovanjem uravnanosti naprave '%s'."

#, c-format
msgid "Failed getting controls attributes on device '%s'."
msgstr "Napaka med pridobivanjem atributov nadzora naprave '%s'."

#, c-format
msgid "Cannot identify device '%s'."
msgstr "Naprave \"%s\" ni mogoče določiti."

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

#, c-format
msgid "Could not open device '%s' for reading and writing."
msgstr "Ni mogoče odpreti naprave '%s' za branje in pisanje."

#, c-format
msgid "Device '%s' is not a capture device."
msgstr "Naprava '%s' ni naprava za zajemanje."

#, c-format
msgid "Device '%s' is not a output device."
msgstr "Naprava '%s' ni izhodna naprava."

#, fuzzy, c-format
msgid "Device '%s' is not a M2M device."
msgstr "Naprava '%s' ni izhodna naprava."

#, fuzzy, c-format
msgid "Could not dup device '%s' for reading and writing."
msgstr "Ni mogoče odpreti naprave '%s' za branje in pisanje."

#, c-format
msgid "Failed to set norm for device '%s'."
msgstr "Med nastavljanjem naprave \"%s\" je prišlo do napake."

#, c-format
msgid "Failed to get current tuner frequency for device '%s'."
msgstr "Napaka med pridobivanjem frekvence uglaševalnika naprave '%s'."

#, c-format
msgid "Failed to set current tuner frequency for device '%s' to %lu Hz."
msgstr ""
"Napaka med nastavljanjem frekvence uglaševalnika naprave '%s' na %lu Hz.."

#, c-format
msgid "Failed to get signal strength for device '%s'."
msgstr "Napaka med pridobivanjem moči signala za napravo '%s'."

#, c-format
msgid "Failed to get value for control %d on device '%s'."
msgstr "Napaka med pridobivanjem vrednosti %d na napravi '%s'."

#, c-format
msgid "Failed to set value %d for control %d on device '%s'."
msgstr "Napaka med določanjem vrednosti %d za %d na napravi '%s'."

#, c-format
msgid "Failed to get current input on device '%s'. May be it is a radio device"
msgstr ""
"Napaka med pridobivanjem vhodnega signala naprave '%s'. Morda je radijska "
"naprava."

#, c-format
msgid ""
"Failed to get current output on device '%s'. May be it is a radio device"
msgstr ""
"Napaka med pridobivanjem odvodnega signala naprave '%s'. Morda je radijska "
"naprava."

#, c-format
msgid "Failed to set output %d on device %s."
msgstr "Napaka med določanjem odvoda %d naprave %s."

msgid "Changing resolution at runtime is not yet supported."
msgstr "Spreminjanje ločljivosti med delovanjem še ni podprto."

msgid "Cannot operate without a clock"
msgstr "Izvajanje opravil brez ure ni mogoče"

#~ msgid "Device '%s' does not support video capture"
#~ msgstr "Naprava \"%s\" ne podpira zajemanja videa."
