# Greek translation for gst-plugins-bad.
# This file is put in the public domain.
#
# Michael Kotsarinis <mk73628@gmail.com>, 2010.
# Simos Xenitellis <simos.lists@googlemail.com>, 2010.
# Savvas Radevic <vicedar@gmail.com>, 2012.
#
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-06-24 22:59+0200\n"
"PO-Revision-Date: 2012-05-05 19:17+0100\n"
"Last-Translator: Savvas Radevic <vicedar@gmail.com>\n"
"Language-Team: Greek <team@lists.gnome.gr>\n"
"Language: el\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n>1;\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 "Αδυναμία ανάγνωσης πληροφοριών τίτλου του DVD."

#, c-format
msgid "Failed to open DVD device '%s'."
msgstr "Αποτυχία ανοίγματος της συσκευής DVD '%s'."

msgid "Failed to set PGC based seeking."
msgstr "Αποτυχία ορισμού αναζήτησης βασισμένη σε PGC."

msgid ""
"Could not read DVD. This may be because the DVD is encrypted and a DVD "
"decryption library is not installed."
msgstr ""
"Αδυναμία ανάγνωσης δίσκου DVD. Αυτό μπορεί να οφείλεται στο ότι το DVD είναι "
"κρυπτογραφημένο και δεν έχει εγκατασταθεί μια βιβλιοθήκη αποκρυπτογράφησης "
"DVD."

msgid "Could not read DVD."
msgstr "Αδυναμία ανάγνωσης δίσκου DVD."

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

#, fuzzy
msgid "Could not open sndfile stream for reading."
msgstr "Αδυναμία ανοίγματος αρχείου \"%s\" για ανάγνωση."

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

msgid "Failed to query sndio capabilities"
msgstr ""

#, fuzzy
msgid "Could not configure sndio"
msgstr "Αδυναμία ανοίγματος αρχείου \"%s\" για ανάγνωση."

#, fuzzy
msgid "Could not start sndio"
msgstr "Αδυναμία ανάγνωσης δίσκου DVD."

msgid "Internal data flow error."
msgstr "Εσωτερικό σφάλμα ροής δεδομένων."

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 cound'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 "Εσωτερικό σφάλμα ροής δεδομένων."

msgid "Couldn't download fragments"
msgstr ""

msgid "No file name specified for writing."
msgstr "Δεν έχει καθορισθεί όνομα αρχείου για εγγραφή."

#, 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 "Αδυναμία ανοίγματος αρχείου \"%s\" για εγγραφή."

#, c-format
msgid "Device \"%s\" does not exist."
msgstr "Η συσκευή \"%s\" δεν υπάρχει."

#, c-format
msgid "Could not open frontend device \"%s\"."
msgstr "Αδυναμία ανοίγματος συσκευής frontend \"%s\"."

#, c-format
msgid "Could not get settings from frontend device \"%s\"."
msgstr "Αδυναμία λήψης ρυθμίσεων από τη συσκευή frontend \"%s\"."

#, fuzzy, c-format
msgid "Cannot enumerate delivery systems from frontend device \"%s\"."
msgstr "Αδυναμία λήψης ρυθμίσεων από τη συσκευή frontend \"%s\"."

#, c-format
msgid "Could not open file \"%s\" for reading."
msgstr "Αδυναμία ανοίγματος αρχείου \"%s\" για ανάγνωση."

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 "Αδυναμία εγγραφής στο αρχείο \"%s\"."
