# Greek translation for gst-plugins-ugly package of GStreamer project.
# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 GStreamer core team
# This file is distributed under the same license as the gst-plugins-ugly package.
# Simos Xenitellis <simos.lists@googlemail.com>, 2009.
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-ugly 0.10.17.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2015-12-14 19:29+0100\n"
"PO-Revision-Date: 2012-03-18 01:04+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 "Could not read from CD."
msgstr "Δέν μπόρεσε να γινει ανάγνωση το CD."

msgid "Could not open CD device for reading."
msgstr "Δέν ήταν δυνατό το άνοιγμα της συσκευής CD για την ανάγνωση. "

msgid "Disc is not an Audio CD."
msgstr "Ο δίσκος δεν είναι ένα ακουστικό CD."

msgid "Could not open DVD"
msgstr "Δεν ήταν δυνατό το άνοιγμα του DVD"

#, c-format
msgid "Could not open DVD title %d"
msgstr "Δεν ήταν δυνατό το άνοιγμα του τίτλου DVD %d"

#, c-format
msgid "Failed to go to chapter %d of DVD title %d"
msgstr "Αποτυχία μετάβασης στο κεφάλαιο %d του τίτλου του DVD %d"

#, c-format
msgid ""
"Could not open DVD title %d. Interactive titles are not supported by this "
"element"
msgstr ""
"Δεν ήταν δυνατό το άνοιγμα του τίτλου DVD %d. Οι διαδραστικοί τίτλοι δεν "
"υποστηρίζονται από αυτό το στοιχείο"

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

#, fuzzy
msgid ""
"Failed to configure LAME mp3 audio encoder. Check your encoding parameters."
msgstr ""
"Αδυναμία ρύθμισης του κωδικοποιητή LAME. Ελέγξτε τις παραμέτρους "
"κωδικοποίησης."

#, c-format
msgid ""
"The requested bitrate %d kbit/s for property '%s' is not allowed. The "
"bitrate was changed to %d kbit/s."
msgstr ""
"Ο αιτούμενος ρυθμός μετάδοσης %d kbit/s για την ιδιοκτησία '%s' δεν είναι "
"επιτρεπτός.Ορυθμός μετάδοσης άλλαξε σε %d kbit/s."

msgid "Failed to configure TwoLAME encoder. Check your encoding parameters."
msgstr ""
"Αδυναμία ρύθμισης του κωδικοποιητή TwoLAME. Ελέγξτε τις παραμέτρους "
"κωδικοποίησης."

msgid "This stream contains no data."
msgstr "Η ροή αυτή δεν περιέχει καθόλου δεδομένα."

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