From 68385191a044de983db6beefcd3e5062674abf2e Mon Sep 17 00:00:00 2001 From: dimpapas <147266934+dimpapas@users.noreply.github.com> Date: Tue, 10 Dec 2024 23:35:32 +0200 Subject: [PATCH 01/12] [3.12] Translate tutorial/index.po (#557) * [3.12] Translate tutorial/index.po * [pre-commit.ci lite] apply automatic fixes * Update tutorial/index.po Co-authored-by: Panagiotis Skias * Update tutorial/index.po Co-authored-by: Panagiotis Skias * Update tutorial/index.po Co-authored-by: Panagiotis Skias * Update tutorial/index.po Co-authored-by: Panagiotis Skias * Update tutorial/index.po Co-authored-by: Panagiotis Skias * Update tutorial/index.po Co-authored-by: Panagiotis Skias * Update tutorial/index.po Co-authored-by: Panagiotis Skias * Update tutorial/index.po Co-authored-by: Panagiotis Skias * Update tutorial/index.po Co-authored-by: Panagiotis Skias * Update tutorial/index.po Co-authored-by: Panagiotis Skias * [pre-commit.ci lite] apply automatic fixes * Fix dictionaries * [pre-commit.ci lite] apply automatic fixes * Update metadata in tutorial/index.po --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: Theofanis Petkos Co-authored-by: Panagiotis Skias --- dictionaries/main.txt | 2 ++ tutorial/index.po | 49 ++++++++++++++++++++++++++++++++++++------- 2 files changed, 43 insertions(+), 8 deletions(-) diff --git a/dictionaries/main.txt b/dictionaries/main.txt index 1e37901f..41e9525a 100644 --- a/dictionaries/main.txt +++ b/dictionaries/main.txt @@ -561,6 +561,7 @@ return reverse s script +scripting scripts see seek @@ -720,6 +721,7 @@ zlib δεκαεξαδικοί δεξαεξαδικές δηλ +διάφoρα διαγραφέα διαλειτουργήσει διαλειτουργικότητα diff --git a/tutorial/index.po b/tutorial/index.po index d73cd4b9..765c180c 100644 --- a/tutorial/index.po +++ b/tutorial/index.po @@ -1,24 +1,24 @@ -# SOME DESCRIPTIVE TITLE. +# Python Documentation Greek Translation # Copyright (C) 2001-2024, Python Software Foundation # This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. +# Dimitrios Papadopoulos 2024 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.12\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-14 12:51+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" +"POT-Creation-Date: 2024-05-02 12:51+0000\n" +"PO-Revision-Date: 2024-12-10 22:14+0300\n" +"Last-Translator: Dimitrios Papadopoulos\n" +"Language-Team: PyGreece \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: tutorial/index.rst:5 msgid "The Python Tutorial" -msgstr "" +msgstr "Το Python Tutorial" #: tutorial/index.rst:7 msgid "" @@ -28,6 +28,12 @@ msgid "" "with its interpreted nature, make it an ideal language for scripting and " "rapid application development in many areas on most platforms." msgstr "" +"Η Python είναι μια εύκολη στην εκμάθηση, ισχυρή γλώσσα προγραμματισμού. Έχει " +"αποτελεσματικές δομές δεδομένων υψηλού επιπέδου και μια απλή αλλά " +"αποτελεσματική προσέγγιση στον αντικειμενοστραφή προγραμματισμό. Το κομψό " +"συντακτικό και η δυναμική τυποποίηση της Python, σε συνδυασμό με τη " +"διερμηνευμένη φύση της, την καθιστούν ιδανική γλώσσα για scripting και " +"ταχεία ανάπτυξη εφαρμογών σε πολλούς τομείς στις περισσότερες πλατφόρμες." #: tutorial/index.rst:13 msgid "" @@ -37,6 +43,12 @@ msgid "" "site also contains distributions of and pointers to many free third party " "Python modules, programs and tools, and additional documentation." msgstr "" +"Ο διερμηνέας της Python και η εκτεταμένη τυπική (standard) βιβλιοθήκη " +"διατίθενται ελεύθερα σε πηγαία ή δυαδική μορφή για όλες τις κύριες " +"πλατφόρμες από την ιστοσελίδα της Python, https://www.python.org/ και " +"μπορούν να διανεμηθούν ελεύθερα. Ο ίδιος ιστότοπος περιέχει επίσης διανομές " +"και δείκτες σε πολλά δωρεάν modules τρίτων, προγράμματα και εργαλεία Python, " +"καθώς και πρόσθετη τεκμηρίωση." #: tutorial/index.rst:19 msgid "" @@ -44,6 +56,10 @@ msgid "" "implemented in C or C++ (or other languages callable from C). Python is also " "suitable as an extension language for customizable applications." msgstr "" +"Ο διερμηνέας της Python επεκτείνεται εύκολα με νέες συναρτήσεις και τύπους " +"δεδομένων που υλοποιούνται σε C ή C++ (ή άλλες γλώσσες που μπορούν να " +"κληθούν από τη C). Η Python είναι επίσης κατάλληλη ως γλώσσα επέκτασης για " +"προσαρμόσιμες εφαρμογές." #: tutorial/index.rst:23 msgid "" @@ -52,6 +68,10 @@ msgid "" "interpreter handy for hands-on experience, but all examples are self-" "contained, so the tutorial can be read off-line as well." msgstr "" +"Αυτό το tutorial εισάγει τον αναγνώστη ανεπίσημα στις βασικές έννοιες και " +"δυνατότητες της γλώσσας και του συστήματος Python. Βοηθάει να έχετε πρόχειρο " +"έναν διερμηνέα Python για πρακτική εμπειρία, αλλά όλα τα παραδείγματα είναι " +"αυτοτελή, οπότε το tutorial μπορεί να διαβαστεί και εκτός σύνδεσης." #: tutorial/index.rst:28 msgid "" @@ -60,6 +80,11 @@ msgid "" "language. To write extensions in C or C++, read :ref:`extending-index` and :" "ref:`c-api-index`. There are also several books covering Python in depth." msgstr "" +"Για μια περιγραφή των τυποποιημένων αντικειμένων και ενοτήτων, δείτε :ref:" +"`library-index`. Το :ref:`reference-index` δίνει έναν πιο επίσημο ορισμό της " +"γλώσσας. Για να γράψετε επεκτάσεις σε C ή C++, διαβάστε το :ref:`extending-" +"index` και το :ref:`c-api-index`. Υπάρχουν επίσης αρκετά βιβλία που " +"καλύπτουν την Python σε βάθος." #: tutorial/index.rst:33 msgid "" @@ -70,7 +95,15 @@ msgid "" "write Python modules and programs, and you will be ready to learn more about " "the various Python library modules described in :ref:`library-index`." msgstr "" +"Αυτό το tutorial δεν προσπαθεί να είναι περιεκτικό και να καλύψει κάθε " +"χαρακτηριστικό ή ακόμη και κάθε συχνά χρησιμοποιούμενο χαρακτηριστικό. " +"Αντίθετα, θα σας παρουσιάσει πολλά από τα πιο αξιοσημείωτα χαρακτηριστικά " +"της Python και θα σας δώσει μια καλή ιδέα για τη γεύση και το ύφος της " +"γλώσσας. Αφού το διαβάσετε, θα είστε σε θέση να διαβάζετε και να γράφετε " +"modules και προγράμματα Python, και θα είστε έτοιμοι να μάθετε περισσότερα " +"για τα διάφoρα modules βιβλιοθηκών Python που περιγράφονται στο :ref:" +"`library-index`." #: tutorial/index.rst:40 msgid "The :ref:`glossary` is also worth going through." -msgstr "" +msgstr "Αξίζει επίσης να διαβάσετε το :ref:`glossary`." From 8a8e71f4e780d8d67c83b0413ead5c9b8f6c1294 Mon Sep 17 00:00:00 2001 From: AnastasiosLouka <130856736+AnastasiosLouka@users.noreply.github.com> Date: Tue, 10 Dec 2024 23:57:51 +0200 Subject: [PATCH 02/12] Translate file tutorial/classes.po (#558) * Translate file tutorial/classes.po * [pre-commit.ci lite] apply automatic fixes * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: gzisopoulos <31842583+gzisopoulos@users.noreply.github.com> * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: gzisopoulos <31842583+gzisopoulos@users.noreply.github.com> * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: gzisopoulos <31842583+gzisopoulos@users.noreply.github.com> * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: gzisopoulos <31842583+gzisopoulos@users.noreply.github.com> * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: Panagiotis Skias * Update tutorial/classes.po Co-authored-by: gzisopoulos <31842583+gzisopoulos@users.noreply.github.com> * Update tutorial/classes.po Co-authored-by: gzisopoulos <31842583+gzisopoulos@users.noreply.github.com> * Update tutorial/classes.po Co-authored-by: gzisopoulos <31842583+gzisopoulos@users.noreply.github.com> * Update tutorial/classes.po Co-authored-by: gzisopoulos <31842583+gzisopoulos@users.noreply.github.com> * Update tutorial/classes.po Co-authored-by: gzisopoulos <31842583+gzisopoulos@users.noreply.github.com> * Update tutorial/classes.po Co-authored-by: gzisopoulos <31842583+gzisopoulos@users.noreply.github.com> * Update tutorial/classes.po Co-authored-by: gzisopoulos <31842583+gzisopoulos@users.noreply.github.com> * Update tutorial/classes.po Co-authored-by: gzisopoulos <31842583+gzisopoulos@users.noreply.github.com> * Update tutorial/classes.po Co-authored-by: gzisopoulos <31842583+gzisopoulos@users.noreply.github.com> * Update tutorial/classes.po Co-authored-by: gzisopoulos <31842583+gzisopoulos@users.noreply.github.com> * Update tutorial/classes.po Co-authored-by: gzisopoulos <31842583+gzisopoulos@users.noreply.github.com> * Update tutorial/classes.po Co-authored-by: gzisopoulos <31842583+gzisopoulos@users.noreply.github.com> * Update tutorial/classes.po Co-authored-by: gzisopoulos <31842583+gzisopoulos@users.noreply.github.com> * Update tutorial/classes.po Co-authored-by: gzisopoulos <31842583+gzisopoulos@users.noreply.github.com> * Update tutorial/classes.po Co-authored-by: gzisopoulos <31842583+gzisopoulos@users.noreply.github.com> * Update tutorial/classes.po Co-authored-by: gzisopoulos <31842583+gzisopoulos@users.noreply.github.com> * Add translation * Fix syntax * Fix syntax * Fix dictionaries * Update tutorial/classes.po * Update tutorial/classes.po --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: Theofanis Petkos Co-authored-by: Panagiotis Skias Co-authored-by: gzisopoulos <31842583+gzisopoulos@users.noreply.github.com> --- dictionaries/main.txt | 19 ++ tutorial/classes.po | 494 +++++++++++++++++++++++++++++++++++++++--- 2 files changed, 479 insertions(+), 34 deletions(-) diff --git a/dictionaries/main.txt b/dictionaries/main.txt index 41e9525a..880c2483 100644 --- a/dictionaries/main.txt +++ b/dictionaries/main.txt @@ -89,6 +89,7 @@ Majkowski Makefile Marek Matthias +Modula Modules Monty Mountain @@ -110,6 +111,7 @@ Path Perl Precision Print +Private Py Pyrex Queues @@ -133,6 +135,7 @@ Setup Shop Sign Skimming +Smalltalk Sox Sphinx Stacks @@ -173,6 +176,7 @@ annotations any api append +argument array assert b @@ -185,6 +189,7 @@ bash batch be binary +binding bit bits bitwise @@ -207,9 +212,11 @@ bytestring c cache cached +call callable callables callbacks +calling case cased casefolded @@ -264,6 +271,7 @@ count crt de debug +debugger debugging decorated decorator @@ -446,6 +454,7 @@ mailing main make mangled +mangling mapping mappings masking @@ -482,6 +491,7 @@ ndim ne negative new +next no non not @@ -531,6 +541,7 @@ pretty print printer printf +private project prompt prompts @@ -552,6 +563,7 @@ re read reader recompile +record ref regressions release @@ -586,6 +598,7 @@ site size slice slicing +sort source sources space @@ -603,6 +616,7 @@ stdout str string strings +stripped strtod struct style @@ -648,6 +662,7 @@ try tty tuple tuples +tut type typing unary @@ -689,6 +704,8 @@ zlib Αριθμητική Αριμθητικοί Βλ +Γεννήτορων +Επαναλήπτες Κινητής Μετα Περιβάλλοντας @@ -717,6 +734,7 @@ zlib αποσειριοποίησης βλ γλωσσαρίου +γραμμικοποιεί δεκαεξαδικής δεκαεξαδικοί δεξαεξαδικές @@ -734,6 +752,7 @@ zlib εκτυπώσιμοι εκτυπώσιμος εμφώλευσης +ενδοκλάσεων εντοπιστές εξαδικού επαναλήπτη diff --git a/tutorial/classes.po b/tutorial/classes.po index 8ec6fc1b..6610cea7 100644 --- a/tutorial/classes.po +++ b/tutorial/classes.po @@ -18,7 +18,7 @@ msgstr "" #: tutorial/classes.rst:5 msgid "Classes" -msgstr "" +msgstr "Κλάσεις" #: tutorial/classes.rst:7 msgid "" @@ -28,6 +28,11 @@ msgid "" "attributes attached to it for maintaining its state. Class instances can " "also have methods (defined by its class) for modifying its state." msgstr "" +"Οι κλάσεις παρέχουν ένα μέσο ομαδοποίησης δεδομένων και λειτουργικότητας. " +"Η δημιουργία μιας νέας κλάσης δημιουργεί έναν νέο *τύπο* αντικειμένου, επιτρέποντας νέα " +"*στιγμιότυπα* αυτού του τύπου που πρόκειται να γίνουν. Κάθε στιγμιότυπο κλάσης μπορεί να έχει " +"χαρακτηριστικά που συνδέονται με αυτό για τη διατήρηση της κατάστασής του. Τα στιγμιότυπα κλάσης μπορούν " +"να έχουν επίσης μεθόδους (που ορίζονται από την κλάση του) για την τροποποίηση της κατάστασής του." #: tutorial/classes.rst:13 msgid "" @@ -42,6 +47,16 @@ msgid "" "nature of Python: they are created at runtime, and can be modified further " "after creation." msgstr "" +"Σε σύγκριση με άλλες γλώσσες προγραμματισμού, ο μηχανισμός κλάσης της Python προσθέτει " +"κλάσεις με ελάχιστο νέο συντακτικό και σημασιολογία. Είναι ένα μείγμα των " +"μηχανισμών κλάσεων που βρέθηκαν στη C++ και στο Modula-3. Οι κλάσεις της Python παρέχουν όλα τα " +"standard χαρακτηριστικά του Αντικειμενοστραφούς Προγραμματισμού: ο μηχανισμός της κληρονομικότητας της κλάσης " +"επιτρέπει την ύπαρξη πολλαπλών βασικών κλάσεων, μια παραγόμενη κλάση να μπορεί να παρακάμψει οποιεσδήποτε " +"μεθόδους της βασικής κλάσης ή κλάσεων, και μια μέθοδος να μπορεί να καλέσει τη μέθοδο μίας " +"βασικής κλάσης με το ίδιο όνομα. Τα αντικείμενα μπορούν να περιέχουν αυθαίρετα ποσά και " +"είδη δεδομένων. Όπως ισχύει για τα modules, οι κλάσεις συμμετέχουν στη δυναμική " +"φύση της Python: δημιουργούνται κατά το χρόνο εκτέλεσης και μπορούν να τροποποιηθούν περαιτέρω " +"μετά τη δημιουργία. " #: tutorial/classes.rst:23 msgid "" @@ -57,6 +72,17 @@ msgid "" "(arithmetic operators, subscripting etc.) can be redefined for class " "instances." msgstr "" +"Στην ορολογία της C++, συνήθως τα μέλη της κλάσης (συμπεριλαμβανομένων των μελών δεδομένων) είναι " +"*δημόσια* (εκτός από βλέπε παρακάτω :ref:`tut-private`), και όλες οι συμμετέχουσες συναρτήσεις είναι " +"*εικονικές*. Όπως και στο Modula-3, δεν υπάρχουν συντομογραφίες για την αναφορά στα " +"μέλη του αντικειμένου από τις μεθόδους του: η μέθοδος δηλώνεται με " +"ρητό πρώτο όρισμα που αντιπροσωπεύει το αντικείμενο, το οποίο παρέχεται " +"έμμεσα από την κλήση. Όπως και στο Smalltalk, οι ίδιες οι κλάσεις είναι αντικείμενα." +"Αυτό παρέχει σημασιολογία για εισαγωγή και μετονομασία. Σε αντίθεση με τις γλώσσες C++ και " +"Modula-3, οι built-in τύποι μπορούν να χρησιμοποιηθούν ως βασικές κλάσεις για επέκταση από τον " +"χρήστη. Επίσης, όπως στην C++, οι περισσότεροι built-in τελεστές με ειδική σύνταξη " +"(αριθμητικοί τελεστές, εγγραφή κ.λπ.) μπορούν να επαναπροσδιοριστούν για τα στιγμιότυπα " +"κλάσης." #: tutorial/classes.rst:34 msgid "" @@ -65,10 +91,14 @@ msgid "" "since its object-oriented semantics are closer to those of Python than C++, " "but I expect that few readers have heard of it.)" msgstr "" +"(Ελλείψει καθολικής αποδεκτής ορολογίας για να μιλήσω για τις κλάσεις, θα κάνω " +"περιστασιακή χρήση όρων από τη Smalltalk και τη C++. Θα χρησιμοποιούσα όρους από τη Modula-3, " +"καθώς η αντικειμενοστραφής σημασιολογία του είναι πιο κοντά σε αυτήν της Python από ότι της C++, " +"Αλλά πιστεύω ότι λίγοι αναγνώστες το έχουν ακούσει.) " #: tutorial/classes.rst:43 msgid "A Word About Names and Objects" -msgstr "" +msgstr "Λίγα λόγια για Ονόματα και Αντικείμενα" #: tutorial/classes.rst:45 msgid "" @@ -85,10 +115,22 @@ msgid "" "the caller will see the change --- this eliminates the need for two " "different argument passing mechanisms as in Pascal." msgstr "" +"Τα αντικείμενα έχουν μοναδικότητα και πολλά ονόματα (σε πολλαπλά πεδία) μπορούν να " +"συνδεθούν στο ίδιο αντικείμενο. Αυτό είναι γνωστό ως ψευδώνυμο σε άλλες γλώσσες." +"Αυτό συνήθως δεν εκτιμάται με μια πρώτη ματιά στην Python και μπορεί να " +"αγνοείται με ασφάλεια όταν ασχολείται με αμετάβλητους βασικούς τύπους (αριθμοί, συμβολοσειρές, " +"πλειάδες (tuples)). Ωστόσο, το ψευδώνυμο έχει μια πιθανώς εκπληκτική επίδραση στη " +"σημασιολογία του κώδικα της Python που περιλαμβάνει ευμετάβλητα αντικείμενα όπως λίστες, " +"λεξικά, και τους περισσότερους άλλους τύπους. Αυτό χρησιμοποιείται συνήθως προς όφελος του " +"προγράμματος, δεδομένου ότι τα ψευδώνυμα συμπεριφέρονται σαν δείκτες από ορισμένες απόψεις. " +"Για παράδειγμα, η μετάδοση ενός αντικειμένου είναι ανέξοδη αφού μόνο ένας δείκτης περνά από την " +"υλοποίηση, και αν μια συνάρτηση τροποποιεί ένα αντικείμενο που έχει περάσει ως όρισμα, " +"ο καλών θα δει την αλλαγή --- αυτό εξαλείφει την ανάγκη για δύο " +"διαφορετικούς μηχανισμούς μετάδοσης ορισμάτων όπως στην Pascal." #: tutorial/classes.rst:61 msgid "Python Scopes and Namespaces" -msgstr "" +msgstr "Εμβέλεια και Πεδία Ονομάτων στην Python" #: tutorial/classes.rst:63 msgid "" @@ -98,10 +140,15 @@ msgid "" "understand what's going on. Incidentally, knowledge about this subject is " "useful for any advanced Python programmer." msgstr "" +"Πριν από την εισαγωγή των κλάσεων, πρέπει πρώτα να σας πω κάτι για τους " +"κανόνες εμβέλειας της Python. Οι ορισμοί των κλάσεων παίζουν μερικά ξεκάθαρα κόλπα με τα " +"πεδία ονομάτων και πρέπει να γνωρίζετε πώς λειτουργούν πλήρως τα πεδία ονομάτων και η εμβέλεια " +"για να κατανοήσετε πλήρως τι συμβαίνει. Παρεμπιπτόντως, η γνώση για αυτό το θέμα είναι " +"χρήσιμη για κάθε προχωρημένο προγραμματιστή της Python." #: tutorial/classes.rst:69 msgid "Let's begin with some definitions." -msgstr "" +msgstr "Ας ξεκινήσουμε με ορισμένους ορισμούς. " #: tutorial/classes.rst:71 msgid "" @@ -117,6 +164,17 @@ msgid "" "may both define a function ``maximize`` without confusion --- users of the " "modules must prefix it with the module name." msgstr "" +"Ένας *πεδίο ονομάτων (namespace)* είναι μια αντιστοίχιση από ονόματα σε αντικείμενα. Τα περισσότερα πεδία ονομάτων υλοποιούνται " +"επί του παρόντος ως λεξικά Python, αλλά αυτό συνήθως δεν γίνεται " +"αντιληπτό με κανέναν τρόπο (εκτός από την απόδοση) και μπορεί να αλλάξει στο " +"μέλλον. Παραδείγματα πεδίων ονομάτων είναι: το σύνολο των ενσωματωμένων ονομάτων (που περιέχει " +"συναρτήσεις όπως :func:`abs` και ενσωματωμένα ονόματα εξαιρέσεων)∙ τα καθολικά " +"ονόματα σε ένα module και τα τοπικά ονόματα σε μια επίκληση συνάρτησης. Κατά μία έννοια " +"το σύνολο των χαρακτηριστικών ενός αντικειμένου σχηματίζει επίσης ένα πεδίο ονομάτων. Το σημαντικό " +"πράγμα που πρέπει να γνωρίζετε για τα πεδία ονομάτων είναι ότι δεν υπάρχει καμία απολύτως σχέση " +"μεταξύ ονομάτων σε διαφορετικά πεδία ονομάτων, για παράδειγμα, δύο διαφορετικά modules " +"μπορεί και τα δύο να ορίσουν μια συνάρτηση ``maximize`` χωρίς σύγχυση --- χρήστες των " +"modules πρέπει να την προσθέσουν με το όνομα του module." #: tutorial/classes.rst:82 msgid "" @@ -128,6 +186,13 @@ msgid "" "happens to be a straightforward mapping between the module's attributes and " "the global names defined in the module: they share the same namespace! [#]_" msgstr "" +"Παρεμπιπτόντως, χρησιμοποιώ τη λέξη *attribute* για οποιοδήποτε όνομα που ακολουθεί μια τελεία --- για " +"παράδειγμα, στην έκφραση ``z.real``, το ``real`` είναι ένα attribute του " +"αντικειμένου ``z``. Αυστηρά μιλώντας, οι αναφορές σε ονόματα των modules είναι " +"αναφορές σε attributes: στην έκφραση ``modname.funcname``, το ``modname`` είναι " +"ένα module αντικείμενο και το ``funcname`` είναι ένα attribute του αντικειμένου. Σε αυτήν την περίπτωση συμβαίνει να " +"υπάρχει μια απλή αντιστοίχιση μεταξύ των attributes των modules και " +"των καθολικών ονομάτων που ορίζονται στο module: μοιράζονται τον ίδιο χώρο ονομάτων! [#]_" #: tutorial/classes.rst:90 msgid "" @@ -138,6 +203,12 @@ msgid "" "remove the attribute :attr:`!the_answer` from the object named by " "``modname``." msgstr "" +"Τα attributes μπορεί να είναι μόνο για ανάγνωση ή εγγράψιμα. Στην τελευταία περίπτωση, είναι δυνατή η ανάθεση " +"attributes. Τα attributes των modules είναι εγγράψιμα: μπορείτε να γράψετε " +"``modname.the_answer = 42``. Τα εγγράψιμα attributes μπορούν επίσης να διαγραφούν με " +"την δήλωση :keyword:`del`. Για παράδειγμα, ``del modname.the_answer`` θα " +"αφαιρέσει το attribute :attr:`!the_answer` από το αντικείμενο που ονομάστηκε από το " +"``modname``." #: tutorial/classes.rst:96 msgid "" @@ -151,6 +222,15 @@ msgid "" "`__main__`, so they have their own global namespace. (The built-in names " "actually also live in a module; this is called :mod:`builtins`.)" msgstr "" +"Οι χώροι ονομάτων δημιουργούνται σε διαφορετικές στιγμές και έχουν διαφορετική διάρκεια ζωής." +"Ο χώρος ονομάτων που περιέχει τα built-in ονόματα δημιουργείται κατά την εκκίνηση του διερμηνέα " +"της Python και δεν διαγράφεται ποτέ. Ο καθολικός χώρος ονομάτων για ένα " +"module δημιουργείται όταν διαβάζεται ο ορισμός του module. Κανονικά, οι χώροι ονομάτων " +"των modules διαρκούν επίσης μέχρι να τερματιστεί ο διερμηνέας. Οι δηλώσεις που εκτελούνται " +"από την επίκληση ανώτατου επιπέδου του διερμηνέα, είτε διαβάζονται από ένα script " +"είτε διαδραστικά, θεωρούνται μέρος ενός module που ονομάζεται :mod:" +"`__main__`, επομένως έχουν τον δικό τους καθολικό χώρο ονομάτων. (Τα ενσωματωμένα ονόματα " +"στην πραγματικότητα υπάρχουν επίσης σε ένα module,αυτό ονομάζεται :mod:`builtins`.)" #: tutorial/classes.rst:106 msgid "" @@ -160,6 +240,11 @@ msgid "" "describe what actually happens.) Of course, recursive invocations each have " "their own local namespace." msgstr "" +"Ο τοπικός χώρος ονομάτων για μια συνάρτηση δημιουργείται όταν καλείται η συνάρτηση, " +"και διαγράφεται όταν η συνάρτηση επιστρέφει ή δημιουργεί μια εξαίρεση που δεν " +"αντιμετωπίζεται στην συνάρτηση. (Στην πραγματικότητα, η λήθη θα ήταν καλύτερος τρόπος για να " +"περιγράψουμε τι πραγματικά συμβαίνει.) Φυσικά, οι επαναλαμβανόμενες επικλήσεις έχουν " +"το δικό τους τοπικό χώρο ονομάτων." #: tutorial/classes.rst:112 msgid "" @@ -167,6 +252,9 @@ msgid "" "directly accessible. \"Directly accessible\" here means that an unqualified " "reference to a name attempts to find the name in the namespace." msgstr "" +"Η εμβέλεια είναι μια περιοχή κειμένου ενός προγράμματος Python όπου ένας χώρος ονομάτων είναι " +"άμεσα προσβάσιμος. Το \`Άμεση πρόσβαση\` εδώ σημαίνει ότι μια ανεπιφύλακτη " +"αναφορά σε ένα όνομα προσπαθεί να βρει το όνομα στον χώρο ονομάτων." #: tutorial/classes.rst:116 msgid "" @@ -174,26 +262,31 @@ msgid "" "time during execution, there are 3 or 4 nested scopes whose namespaces are " "directly accessible:" msgstr "" +"Παρόλο που τα πεδία προσδιορίζονται στατικά, χρησιμοποιούνται δυναμικά. Σε οποιοδήποτε " +"χρόνο κατά την διάρκεια της εκτέλεσης, υπάρχουν 3 ή 4 ένθετα πεδία των οποίων οι χώροι ονομάτων είναι " +"άμεσα προσβάσιμοι " #: tutorial/classes.rst:120 msgid "the innermost scope, which is searched first, contains the local names" -msgstr "" +msgstr "η ενδότερη εμβέλεια, η οποία αναζητείται πρώτα, περιέχει τα τοπικά ονόματα" #: tutorial/classes.rst:121 msgid "" "the scopes of any enclosing functions, which are searched starting with the " "nearest enclosing scope, contain non-local, but also non-global names" msgstr "" +"η εμβέλεια οποιωνδήποτε εσωκλειόμενων συναρτήσεων, τα οποία αναζητούνται ξεκινώντας από την " +"πλησιέστερη εσωκλειόμενη εμβέλεια, περιέχει μη τοπικά, αλλά και μη καθολικά ονόματα" #: tutorial/classes.rst:123 msgid "the next-to-last scope contains the current module's global names" -msgstr "" +msgstr "η επόμενη προς την τελευταία εμβέλεια περιέχει τα τρέχοντα καθολικά ονόματα του module " #: tutorial/classes.rst:124 msgid "" "the outermost scope (searched last) is the namespace containing built-in " "names" -msgstr "" +msgstr "η πιο απομακρυσμένη εμβέλεια (που έγινε τελευταία αναζήτηση) είναι ο χώρος ονομάτων που περιέχει built-in ονόματα" #: tutorial/classes.rst:126 msgid "" @@ -205,6 +298,13 @@ msgid "" "*new* local variable in the innermost scope, leaving the identically named " "outer variable unchanged)." msgstr "" +"Εάν ένα όνομα έχει δηλωθεί ως καθολικό, τότε όλες οι αναφορές και οι εκχωρήσεις πηγαίνουν " +"απευθείας στο επόμενο προς το τελευταίο πεδίο που περιέχει τα καθολικά ονόματα του module. Για την " +"επανασύνδεση μεταβλητών που βρίσκονται εκτός της ενδότερης εμβέλειας ,μπορεί να χρησιμοποιηθεί η δήλωση του :keyword:" +"`nonlocal` . Εάν δεν δηλωθούν ως μη τοπικές, αυτές οι μεταβλητές " +"είναι μόνο για ανάγνωση (μια προσπάθεια εγγραφής σε μια τέτοια μεταβλητή θα δημιουργήσει απλώς μια " +"*νέα* τοπική μεταβλητή στην ενδότερη εμβέλεια, αφήνοντας αμετάβλητη την " +"εξωτερική μεταβλητή με το ίδιο όνομα )." #: tutorial/classes.rst:133 msgid "" @@ -213,6 +313,10 @@ msgid "" "namespace as the global scope: the module's namespace. Class definitions " "place yet another namespace in the local scope." msgstr "" +"Συνήθως, η τοπική εμβέλεια παραπέμπει στα τοπικά ονόματα της (κείμενης) " +"τρέχουσας συνάρτησης. Εκτός συναρτήσεων, η τοπική εμβέλεια αναφέρεται στον ίδιο " +"χώρο ονομάτων με την καθολική εμβέλεια: τον χώρο ονομάτων του module.Οι ορισμοί κλάσεων " +"τοποθετούν έναν ακόμη χώρο ονομάτων στην τοπική εμβέλεια. " #: tutorial/classes.rst:138 msgid "" @@ -224,6 +328,13 @@ msgid "" "at \"compile\" time, so don't rely on dynamic name resolution! (In fact, " "local variables are already determined statically.)" msgstr "" +"Είναι σημαντικό να συνειδητοποιήσουμε ότι οι εμβέλειες καθορίζονται με κείμενο: η καθολική " +"εμβέλεια μιας συνάρτησης που ορίζεται σε ένα module είναι ο χώρος ονομάτων αυτού του module " +"ανεξάρτητα από το πού ή με ποιο ψευδώνυμο καλείται η συνάρτηση. Από την άλλη " +"πλευρά, η πραγματική αναζήτηση ονομάτων γίνεται δυναμικά, κατά το χρόνο εκτέλεσης --- " +"ωστόσο, ο ορισμός της γλώσσας εξελίσσεται προς τη στατική ανάλυση ονομάτων, " +"την ώρα της \`μεταγλώττισης\`, επομένως μην βασίζεστε σε δυναμική ανάλυση ονόματος! (Στην πραγματικότητα, " +"οι τοπικές μεταβλητές έχουν ήδη καθοριστεί στατικά.) " #: tutorial/classes.rst:146 msgid "" @@ -236,6 +347,14 @@ msgid "" "particular, :keyword:`import` statements and function definitions bind the " "module or function name in the local scope." msgstr "" +"Μια ιδιαίτερη ιδιορρυθμία της Python είναι ότι -- αν οι δηλώσεις :keyword:`global` ή :keyword:" +"`nonlocal` δεν είναι σε ισχύ -- οι εκχωρήσεις στα ονόματα πηγαίνουν πάντα στην " +"ενδότερη εμβέλεια. Οι εκχωρήσεις δεν αντιγράφουν δεδομένα --- απλώς δεσμεύουν ονόματα σε " +"αντικείμενα. Το ίδιο ισχύει και για τις διαγραφές: η δήλωση `del x` αφαιρεί " +"την σύνδεση του ``x`` από τον χώρο ονομάτων που αναφέρεται από την τοπική εμβέλεια. Στην " +"πραγματικότητα, όλες οι λειτουργίες που εισάγουν νέα ονόματα χρησιμοποιούν την τοπική εμβέλεια: συγκεκριμένα " +"οι δηλώσεις, :keyword:`import` και οι ορισμοί συναρτήσεων δεσμεύουν το " +"όνομα του module ή της συνάρτησης στην τοπική εμβέλεια." #: tutorial/classes.rst:154 msgid "" @@ -244,10 +363,14 @@ msgid "" "`nonlocal` statement indicates that particular variables live in an " "enclosing scope and should be rebound there." msgstr "" +"Η δήλωση :keyword:`global` μπορεί να χρησιμοποιηθεί για να υποδείξει ότι συγκεκριμένες " +"μεταβλητές ζουν στην καθολική εμβέλεια και θα πρέπει να ανακάμψουν εκεί. Η δήλωση :keyword:" +"`nonlocal` υποδηλώνει ότι συγκεκριμένες μεταβλητές ζουν σε μια " +"εσώκλειστη εμβέλεια και θα πρέπει να ανακάμψουν εκεί." #: tutorial/classes.rst:162 msgid "Scopes and Namespaces Example" -msgstr "" +msgstr "Παράδειγμα Εμβέλειας και Χώρων Ονομάτων" #: tutorial/classes.rst:164 msgid "" @@ -255,10 +378,13 @@ msgid "" "namespaces, and how :keyword:`global` and :keyword:`nonlocal` affect " "variable binding::" msgstr "" +"Αυτό είναι ένα παράδειγμα που δείχνει τον τρόπο αναφοράς στα διαφορετικά πεδία και " +"χώρους ονομάτων και πώς τα :keyword:`global` και :keyword:`nonlocal` επηρεάζουν τα " +"variable binding::" #: tutorial/classes.rst:191 msgid "The output of the example code is:" -msgstr "" +msgstr "Το αποτέλεσμα του κώδικα στο παράδειγμα είναι:" #: tutorial/classes.rst:200 msgid "" @@ -267,30 +393,37 @@ msgid "" "changed *scope_test*\\'s binding of *spam*, and the :keyword:`global` " "assignment changed the module-level binding." msgstr "" +"Σημειώστε πώς η εκχώρηση *τοπική* (η οποία είναι προεπιλεγμένη) δεν άλλαξε " +"την δέσμευση *scope_test*\\'s του *spam*. Η εκχώρηση :keyword:`nonlocal` " +"άλλαξε την δέσμευση του *scope_test*\\'s του *spam* και η εκχώρηση του :keyword:`global` " +"άλλαξε τη δέσμευση σε επίπεδο module." #: tutorial/classes.rst:205 msgid "" "You can also see that there was no previous binding for *spam* before the :" "keyword:`global` assignment." msgstr "" +"Μπορείτε επίσης να δείτε ότι δεν υπήρχε προηγούμενη δέσμευση για *spam* πριν από την εκχώρηση :" +"keyword:`global`" #: tutorial/classes.rst:212 msgid "A First Look at Classes" -msgstr "" +msgstr "Μια πρώτη ματιά στις Κλάσεις" #: tutorial/classes.rst:214 msgid "" "Classes introduce a little bit of new syntax, three new object types, and " "some new semantics." msgstr "" +"Οι Κλάσεις εισάγουν λίγη νέα σύνταξη, τρεις νέους τύπους αντικειμένων και κάποια νέα σημασιολογία." #: tutorial/classes.rst:221 msgid "Class Definition Syntax" -msgstr "" +msgstr "Σύνταξη Ορισμού Κλάσης" #: tutorial/classes.rst:223 msgid "The simplest form of class definition looks like this::" -msgstr "" +msgstr "Η απλούστερη μορφή ορισμού κλάσης μοιάζει με αυτό::" #: tutorial/classes.rst:232 msgid "" @@ -299,6 +432,10 @@ msgid "" "a class definition in a branch of an :keyword:`if` statement, or inside a " "function.)" msgstr "" +"Ορισμοί κλάσεων, όπως ορισμοί συναρτήσεων (:keyword:`def` δηλώσεις) " +"πρέπει να εκτελεστούν προτού έχουν οποιοδήποτε αποτέλεσμα. (Θα μπορούσατε να τοποθετήσετε " +"έναν ορισμό κλάσης σε έναν κλάδο μιας δήλωσης :keyword:`if` ή μέσα σε μια " +"συνάρτηση.)" #: tutorial/classes.rst:236 msgid "" @@ -308,6 +445,11 @@ msgid "" "normally have a peculiar form of argument list, dictated by the calling " "conventions for methods --- again, this is explained later." msgstr "" +"Στην πράξη, οι δηλώσεις μέσα σε έναν ορισμό κλάσης συνήθως θα είναι " +"ορισμοί συναρτήσεων, αλλά επιτρέπονται άλλες δηλώσεις και μερικές φορές χρήσιμες " +"--- θα επανέλθουμε σε αυτό αργότερα. Οι ορισμοί συναρτήσεων μέσα σε μια κλάση " +"συνήθως έχουν μια περίεργη μορφή λίστας ορισμάτων, που υπαγορεύεται από τις συμβάσεις " +"κλήσης για μεθόδους --- και πάλι, αυτό εξηγείται αργότερα." #: tutorial/classes.rst:242 msgid "" @@ -316,6 +458,10 @@ msgid "" "new namespace. In particular, function definitions bind the name of the new " "function here." msgstr "" +"Όταν εισάγεται ένας ορισμός κλάσης, δημιουργείται ένας νέος χώρος ονομάτων και χρησιμοποιείται ως " +"τοπική εμβέλεια --- επομένως, όλες οι εκχωρήσεις σε τοπικές μεταβλητές πηγαίνουν σε αυτόν " +"τον νέο χώρο ονομάτων. Συγκεκριμένα, οι ορισμοί συναρτήσεων δεσμεύουν το όνομα της νέας " +"συνάρτησης εδώ." #: tutorial/classes.rst:247 msgid "" @@ -327,16 +473,24 @@ msgid "" "here to the class name given in the class definition header (:class:`!" "ClassName` in the example)." msgstr "" +"Όταν ένας ορισμός κλάσης αφήνεται κανονικά (μέσω του τέλους),δημιουργείται ένα *αντικείμενο κλάσης*. " +"Αυτό είναι βασικά ένα περιτύλιγμα γύρω από τα περιεχόμενα του χώρου ονομάτων " +"που δημιουργήθηκε από τον ορισμό κλάσης. θα μάθουμε περισσότερα για τα αντικείμενα κλάσης στην " +"επόμενη ενότητα.Η αρχική τοπική εμβέλεια(αυτό που ίσχυε λίγο πριν από την " +"εισαγωγή του ορισμού της κλάσης) αποκαθίσταται και το αντικείμενο κλάσης δεσμεύεται εδώ " +"στο όνομα κλάσης που δίνεται στην κεφαλίδα ορισμού κλάσης (:class:`!" +"ClassName` στο παράδειγμα)." #: tutorial/classes.rst:259 msgid "Class Objects" -msgstr "" +msgstr "Αντικείμενα Κλάσης" #: tutorial/classes.rst:261 msgid "" "Class objects support two kinds of operations: attribute references and " "instantiation." msgstr "" +"Τα αντικείμενα κλάσης υποστηρίζουν δύο είδη πράξεων: αναφορές χαρακτηριστικών και στιγμιότυπο." #: tutorial/classes.rst:264 msgid "" @@ -345,6 +499,10 @@ msgid "" "that were in the class's namespace when the class object was created. So, " "if the class definition looked like this::" msgstr "" +"Οι *Αναφορές χαρακτηριστικών* χρησιμοποιούν την τυπική σύνταξη που χρησιμοποιείται για όλα τις αναφορές χαρακτηριστικών " +"στην Python: ``obj.name``. Τα έγκυρα ονόματα χαρακτηριστικών είναι όλα τα ονόματα " +"που βρίσκονταν στον χώρο ονομάτων της κλάσης όταν δημιουργήθηκε το αντικείμενο της κλάσης. Έτσι, " +"αν ο ορισμός της κλάσης έμοιαζε ως εξής::" #: tutorial/classes.rst:276 msgid "" @@ -354,6 +512,11 @@ msgid "" "assignment. :attr:`!__doc__` is also a valid attribute, returning the " "docstring belonging to the class: ``\"A simple example class\"``." msgstr "" +"τότε τα `MyClass.i` και `MyClass.f` είναι έγκυρες αναφορές χαρακτηριστικών, " +"επιστρέφοντας έναν ακέραιο και ένα αντικείμενο συνάρτησης, αντίστοιχα.Τα attributes κλάσης " +"μπορούν επίσης να εκχωρηθούν, ώστε να μπορείτε να αλλάξετε την τιμή του `MyClass.i` " +"ανά ανάθεση. :attr:`!__doc__` είναι επίσης ένα έγκυρο χαρακτηριστικό, επιστρέφοντας το " +"docstring που ανήκει στην κλάση: ``\'Ένα απλό παράδειγμα κλάσης\'``." #: tutorial/classes.rst:282 msgid "" @@ -361,12 +524,17 @@ msgid "" "object is a parameterless function that returns a new instance of the class. " "For example (assuming the above class)::" msgstr "" +"Η κλάση *στιγμιότυπο* χρησιμοποιεί σημειογραφία συνάρτησης. Απλώς προσποιηθείτε ότι το " +"αντικείμενο της κλάσης είναι μια συνάρτηση χωρίς παραμέτρους που επιστρέφει ένα νέο στιγμιότυπο της κλάσης." +"Για παράδειγμα (υποθέτοντας την παραπάνω κλάση)::" #: tutorial/classes.rst:288 msgid "" "creates a new *instance* of the class and assigns this object to the local " "variable ``x``." msgstr "" +"δημιουργεί ένα νέο *στιγμιότυπο* της κλάσης και εκχωρεί αυτό το αντικείμενο στην τοπική " +"μεταβλητή ``x``." #: tutorial/classes.rst:291 msgid "" @@ -375,6 +543,10 @@ msgid "" "specific initial state. Therefore a class may define a special method named :" "meth:`~object.__init__`, like this::" msgstr "" +"Η λειτουργία του στιγμιότυπου (\"calling\" ένα αντικείμενο κλάσης) δημιουργεί ένα κενό " +"αντικείμενο. Σε πολλές κλάσεις αρέσει να δημιουργούν αντικείμενα με στιγμιότυπα προσαρμοσμένα σε μια " +"συγκεκριμένη αρχική κατάσταση. Επομένως μια κλάση μπορεί να ορίσει μια ειδική μέθοδο με το όνομα :" +"meth:`~object.__init__`, όπως αυτό::" #: tutorial/classes.rst:299 msgid "" @@ -383,6 +555,10 @@ msgid "" "instance. So in this example, a new, initialized instance can be obtained " "by::" msgstr "" +"Όταν μια κλάση ορίζει μια μέθοδο :meth:`~object.__init__`, το στιγμιότυπο κλάσης " +"καλεί αυτόματα :meth:`!__init__` για το στιγμιότυπο κλάσης που δημιουργήθηκε πρόσφατα. " +"Έτσι σε αυτό το παράδειγμα,ένα νέο, αρχικοποιημένο στιγμιότυπο μπορεί να ληφθεί " +"από::" #: tutorial/classes.rst:305 msgid "" @@ -390,10 +566,13 @@ msgid "" "greater flexibility. In that case, arguments given to the class " "instantiation operator are passed on to :meth:`!__init__`. For example, ::" msgstr "" +"Φυσικά, η μέθοδος :meth:`~object.__init__` μπορεί να έχει ορίσματα για " +"μεγαλύτερη ευελιξία. Σε αυτήν την περίπτωση, τα ορίσματα που δίνονται στον " +"τελεστή στιγμιότυπου κλάσης μεταβιβάζονται σε :meth:`!__init__`. Για παράδειγμα, ::" #: tutorial/classes.rst:322 msgid "Instance Objects" -msgstr "" +msgstr "Αντικείμενα Στιγμιοτύπων" #: tutorial/classes.rst:324 msgid "" @@ -401,6 +580,9 @@ msgid "" "instance objects are attribute references. There are two kinds of valid " "attribute names: data attributes and methods." msgstr "" +"Τώρα τι μπορούμε να κάνουμε με τα αντικείμενα στιγμιοτύπων; Οι μόνες λειτουργίες που γίνονται κατανοητές από " +"τα αντικείμενα στιγμιοτύπων είναι οι αναφορές χαρακτηριστικών. Υπάρχουν δύο είδη έγκυρων " +"ονομάτων attributes: attributes και μέθοδοι δεδομένων." #: tutorial/classes.rst:328 msgid "" @@ -411,6 +593,12 @@ msgid "" "following piece of code will print the value ``16``, without leaving a " "trace::" msgstr "" +"*τα attributes δεδομένων* αντιστοιχούν στις \"μεταβλητές στιγμιότυπου\" στο Smalltalk και στα " +"\"μέλη δεδομένων\" στη C++. Τα attributes δεδομένων δεν χρειάζεται να δηλωθούν, όπως και οι τοπικές " +"μεταβλητές, εμφανίζονται όταν εκχωρούνται για πρώτη φορά. Για " +"παράδειγμα, εάν το ``x`` είναι στιγμιότυπο του :class:`!MyClass` που δημιουργήθηκε παραπάνω, το " +"ακόλουθο κομμάτι κώδικα θα εκτυπώσει την τιμή ``16``, χωρίς να αφήσει " +"ίχνος::" #: tutorial/classes.rst:340 msgid "" @@ -422,6 +610,13 @@ msgid "" "exclusively to mean methods of class instance objects, unless explicitly " "stated otherwise.)" msgstr "" +"Το άλλο είδος αναφοράς χαρακτηριστικού στιγμιότυπου είναι μια *μέθοδος*. Μια μέθοδος είναι μια " +"συνάρτηση που \"ανήκει\" σε ένα αντικείμενο. (Στην Python, ο όρος μέθοδος δεν είναι " +"μοναδικός σε στιγμιότυπα κλάσεων: άλλοι τύποι αντικειμένων μπορούν επίσης να έχουν μεθόδους. Για " +"παράδειγμα, τα αντικείμενα λίστας έχουν μεθόδους που ονομάζονται προσάρτηση(append), εισαγωγή(insert), αφαίρεση(remove), ταξινόμηση(sort) και " +"ούτω καθεξής. Ωστόσο, στην παρακάτω συζήτηση, θα χρησιμοποιήσουμε τον όρο μέθοδος " +"αποκλειστικά για να εννοούμε μεθόδους αντικειμένων στιγμιότυπου κλάσης, εκτός εάν ρητά " +"δηλώνεται διαφορετικά.)" #: tutorial/classes.rst:349 msgid "" @@ -432,14 +627,20 @@ msgid "" "not, since ``MyClass.i`` is not. But ``x.f`` is not the same thing as " "``MyClass.f`` --- it is a *method object*, not a function object." msgstr "" +"Τα έγκυρα ονόματα μεθόδων ενός αντικειμένου στιγμιότυπου εξαρτώνται από την κλάση του. Εξ " +"ορισμού, όλα τα χαρακτηριστικά μιας κλάσης που είναι αντικείμενα συνάρτησης ορίζουν τις " +"αντίστοιχες μεθόδους των στιγμιοτύπων της. Έτσι στο παράδειγμά μας, το `x.f` είναι μια " +"έγκυρη αναφορά μεθόδου, αφού το `MyClass.f` είναι συνάρτηση, αλλά το `x.i` δεν είναι " +"αφού το `MyClass.i` δεν είναι. Αλλά το `x.f` δεν είναι το ίδιο πράγμα με το " +"`MyClass.f` --- είναι ένα *αντικείμενο μεθόδου*, όχι ένα αντικείμενο συνάρτησης." #: tutorial/classes.rst:360 msgid "Method Objects" -msgstr "" +msgstr "Αντικείμενα Μεθόδου" #: tutorial/classes.rst:362 msgid "Usually, a method is called right after it is bound::" -msgstr "" +msgstr "Συνήθως, μια μέθοδος καλείται αμέσως μετά τη δέσμευσή της::" #: tutorial/classes.rst:366 msgid "" @@ -448,10 +649,14 @@ msgid "" "is a method object, and can be stored away and called at a later time. For " "example::" msgstr "" +"Στο παράδειγμα :class:`!MyClass`, αυτό θα επιστρέψει τη συμβολοσειρά ``'hello " +"world'``. Ωστόσο, δεν είναι απαραίτητο να καλέσετε μια μέθοδο αμέσως: το ``x.f`` " +"είναι ένα αντικείμενο μεθόδου και μπορεί να αποθηκευτεί και να κληθεί αργότερα. Για " +"παράδειγμα::" #: tutorial/classes.rst:374 msgid "will continue to print ``hello world`` until the end of time." -msgstr "" +msgstr "θα συνεχίσει να εκτυπώνει το ``hello world`` μέχρι το τέλος του χρόνου." #: tutorial/classes.rst:376 msgid "" @@ -462,6 +667,11 @@ msgid "" "argument is called without any --- even if the argument isn't actually " "used..." msgstr "" +"Τι ακριβώς συμβαίνει όταν καλείται μια μέθοδος; Ίσως έχετε παρατηρήσει ότι ``x.f()`` " +"κλήθηκε χωρίς όρισμα παραπάνω, παρόλο που ο ορισμός της συνάρτησης " +"για :meth:`!f` καθόριζε ένα όρισμα. Τι συνέβη με το " +"όρισμα; Σίγουρα η Python δημιουργεί μια εξαίρεση όταν μια συνάρτηση που απαιτεί " +"όρισμα καλείται χωρίς --- ακόμα κι αν το όρισμα δεν χρησιμοποιείται στην πραγματικότητα " #: tutorial/classes.rst:382 msgid "" @@ -473,6 +683,13 @@ msgid "" "that is created by inserting the method's instance object before the first " "argument." msgstr "" +"Στην πραγματικότητα, μπορεί να έχετε μαντέψει την απάντηση: το ιδιαίτερο με τις μεθόδους " +"είναι ότι το αντικείμενο του στιγμιότυπου μεταβιβάζεται ως το πρώτο όρισμα της " +"συνάρτησης. Στο παράδειγμά μας, η κλήση ``x.f()`` είναι ακριβώς ισοδύναμη με το " +"``MyClass.f(x)``. Γενικά, η κλήση μιας μεθόδου με μια λίστα από *n* ορίσματα " +"ισοδυναμεί με την κλήση της αντίστοιχης συνάρτησης με μια λίστα ορισμάτων " +"που δημιουργείται με την εισαγωγή του αντικειμένου στιγμιότυπου της μεθόδου πριν από το πρώτο " +"όρισμα." #: tutorial/classes.rst:389 msgid "" @@ -484,10 +701,17 @@ msgid "" "argument list is constructed from the instance object and the argument list, " "and the function object is called with this new argument list." msgstr "" +"Γενικά, οι μέθοδοι λειτουργούν ως εξής. Όταν γίνεται αναφορά σε ένα χαρακτηριστικό μη δεδομένων ενός " +"στιγμιότυπου, γίνεται η αναζήτηση της κλάσης του στιγμιότυπου. Εάν το όνομα υποδηλώνει " +"ένα έγκυρο χαρακτηριστικό κλάσης που είναι αντικείμενο συνάρτησης, οι αναφορές τόσο στο " +"αντικείμενο στιγμιότυπου όσο και στο αντικείμενο συνάρτησης συσκευάζονται σε ένα " +"αντικείμενο μεθόδου. Όταν το αντικείμενο της μεθόδου καλείται με μια λίστα ορισμάτων,δημιουργείται μια νέα " +"λίστα ορισμάτων από το αντικείμενο στιγμιότυπου και τη λίστα ορισμάτων, " +"και το αντικείμενο συνάρτησης καλείται με αυτήν τη νέα λίστα ορισμάτων." #: tutorial/classes.rst:402 msgid "Class and Instance Variables" -msgstr "" +msgstr "Μεταβλητές Κλάσης και Στιγμιότυπου" #: tutorial/classes.rst:404 msgid "" @@ -495,6 +719,9 @@ msgid "" "and class variables are for attributes and methods shared by all instances " "of the class::" msgstr "" +"Σε γενικές γραμμές, οι μεταβλητές στιγμιότυπου προορίζονται για δεδομένα μοναδικά για κάθε στιγμιότυπο " +"και οι μεταβλητές κλάσης είναι για χαρακτηριστικά και μεθόδους που μοιράζονται όλα τα στιγμιότυπα " +"της κλάσης::" #: tutorial/classes.rst:426 msgid "" @@ -504,20 +731,27 @@ msgid "" "not be used as a class variable because just a single list would be shared " "by all *Dog* instances::" msgstr "" +"Όπως συζητήθηκε στο :ref:`tut-object`, τα κοινά δεδομένα μπορεί να έχουν πιθανώς εκπληκτικά " +"αποτελέσματα με τη συμμετοχή αντικειμένων :term:`mutable` όπως λίστες και " +"λεξικά. Για παράδειγμα, η λίστα *tricks* στον παρακάτω κώδικα δεν θα πρέπει να " +"χρησιμοποιείται ως μεταβλητή κλάσης επειδή μόνο μία λίστα θα μπορούσε να είναι κοινή " +"σε όλα τα στιγμιότυπα *Dog*::" #: tutorial/classes.rst:449 msgid "Correct design of the class should use an instance variable instead::" -msgstr "" +msgstr "Ο σωστός σχεδιασμός της κλάσης θα πρέπει να χρησιμοποιεί μια μεταβλητή στιγμιότυπου αντί::" #: tutorial/classes.rst:473 msgid "Random Remarks" -msgstr "" +msgstr "Τυχαίες Παρατηρήσεις" #: tutorial/classes.rst:477 msgid "" "If the same attribute name occurs in both an instance and in a class, then " "attribute lookup prioritizes the instance::" msgstr "" +"Αν το ίδιο όνομα χαρακτηριστικού εμφανίζεται και σε ένα στιγμιότυπο και σε μια κλάση, τότε " +"η αναζήτηση χαρακτηριστικών δίνει προτεραιότητα στο στιγμιότυπο::" #: tutorial/classes.rst:492 msgid "" @@ -529,6 +763,13 @@ msgid "" "implementation details and control access to an object if necessary; this " "can be used by extensions to Python written in C.)" msgstr "" +"Τα χαρακτηριστικά δεδομένων μπορούν να αναφέρονται με μεθόδους καθώς και από απλούς χρήστες " +"(\"πελάτες\") ενός αντικειμένου. Με άλλα λόγια, οι κλάσεις δεν μπορούν να χρησιμοποιηθούν για την " +"υλοποίηση καθαρών αφηρημένων τύπων δεδομένων. Στην πραγματικότητα, τίποτα στην Python δεν καθιστά " +"δυνατή την επιβολή της απόκρυψης δεδομένων --- όλα βασίζονται σε σύμβαση. " +"(από την άλλη πλευρά, η εφαρμογή Python, γραμμένη σε C, μπορεί να αποκρύψει εντελώς " +"τις λεπτομέρειες υλοποίησης και να ελέγξει την πρόσβαση σε ένα αντικείμενο εάν είναι απαραίτητο " +"αυτό μπορεί να χρησιμοποιηθεί από επεκτάσεις στην Python γραμμένες σε C.)" #: tutorial/classes.rst:500 msgid "" @@ -538,6 +779,11 @@ msgid "" "without affecting the validity of the methods, as long as name conflicts are " "avoided --- again, a naming convention can save a lot of headaches here." msgstr "" +"Οι χρήστες θα πρέπει να χρησιμοποιούν τα χαρακτηριστικά δεδομένων με προσοχή --- οι χρήστες ενδέχεται να μπερδέψουν " +"τα αμετάβλητα που διατηρούνται από τις μεθόδους σφραγίζοντας τα χαρακτηριστικά των δεδομένων τους. " +"Λάβετε υπόψη ότι οι χρήστες μπορούν να προσθέσουν δικά τους χαρακτηριστικά δεδομένων σε ένα αντικείμενο στιγμιότυπου " +"χωρίς να επηρεάσουν την εγκυρότητα των μεθόδων, εφόσον αποφεύγονται οι συγκρούσεις ονομάτων " +"--- και πάλι, μια σύμβαση ονομασίας μπορεί να σώσει πολλούς πονοκεφάλους εδώ." #: tutorial/classes.rst:506 msgid "" @@ -546,6 +792,10 @@ msgid "" "methods: there is no chance of confusing local variables and instance " "variables when glancing through a method." msgstr "" +"Δεν υπάρχει συντομογραφία για την αναφορά χαρακτηριστικών δεδομένων (ή άλλων μεθόδων!) " +"μέσα από τις μεθόδους. Διαπιστώνω ότι αυτό στην πραγματικότητα αυξάνει την αναγνωσιμότητα των " +"μεθόδων: δεν υπάρχει καμία πιθανότητα σύγχυσης τοπικών μεταβλητών και των μεταβλητών παραδείγματος " +"όταν εξετάζουμε μια μέθοδο." #: tutorial/classes.rst:511 msgid "" @@ -556,6 +806,12 @@ msgid "" "that a *class browser* program might be written that relies upon such a " "convention." msgstr "" +"Συχνά, το πρώτο όρισμα μιας μεθόδου ονομάζεται `self`. Αυτό δεν είναι τίποτα " +"περισσότερο από μια σύμβαση: το όνομα `self` δεν έχει καμία απολύτως ιδιαίτερη σημασία " +"για την Python. Σημειώστε, ωστόσο, ότι αν δεν ακολουθήσετε τη σύμβαση ο κώδικάς σας " +"μπορεί να είναι λιγότερο ευανάγνωστος σε άλλους προγραμματιστές Python, και είναι επίσης κατανοητό " +"ότι μπορεί να γραφτεί ένα πρόγραμμα *class browser* που να βασίζεται σε μια τέτοια " +"σύμβαση." #: tutorial/classes.rst:517 msgid "" @@ -564,6 +820,10 @@ msgid "" "textually enclosed in the class definition: assigning a function object to a " "local variable in the class is also ok. For example::" msgstr "" +"Κάθε αντικείμενο συνάρτησης που είναι χαρακτηριστικό κλάσης ορίζει μια μέθοδο για στιγμιότυπα " +"αυτής της κλάσης. Δεν είναι απαραίτητο ο ορισμός της συνάρτησης να " +"περικλείεται με κείμενο στον ορισμό της κλάσης: η αντιστοίχηση ενός αντικειμένου συνάρτησης σε μια " +"τοπική μεταβλητή της κλάσης είναι επίσης εντάξει. Για παράδειγμα::" #: tutorial/classes.rst:534 msgid "" @@ -572,12 +832,17 @@ msgid "" "instances of :class:`!C` --- ``h`` being exactly equivalent to ``g``. Note " "that this practice usually only serves to confuse the reader of a program." msgstr "" +"Τώρα τα ``f``, ``g`` και ``h`` είναι όλα χαρακτηριστικά της κλάσης :class:`!C` που " +"αναφέρονται σε αντικείμενα συνάρτησης, και κατά συνέπεια είναι όλες μέθοδοι " +"στιγμιοτύπων του :class:`!C` --- Το ``h`` είναι ακριβώς ισοδύναμο με το ``g``. Σημειώστε " +"ότι αυτή η πρακτική συνήθως χρησιμεύει μόνο για να μπερδέψει τον αναγνώστη ενός προγράμματος. " #: tutorial/classes.rst:539 msgid "" "Methods may call other methods by using method attributes of the ``self`` " "argument::" msgstr "" +"Οι μέθοδοι μπορούν να καλούν άλλες μεθόδους χρησιμοποιώντας χαρακτηριστικά μεθόδου του argument `self`:: " #: tutorial/classes.rst:553 msgid "" @@ -591,16 +856,26 @@ msgid "" "itself defined in this global scope, and in the next section we'll find some " "good reasons why a method would want to reference its own class." msgstr "" +"Οι μέθοδοι μπορεί να αναφέρονται σε καθολικά ονόματα με τον ίδιο τρόπο όπως οι συνηθισμένες συναρτήσεις." +"Η καθολική εμβέλεια που σχετίζεται με μια μέθοδο είναι το module που περιέχει " +"τον ορισμό της. (Μια κλάση δεν χρησιμοποιείται ποτέ ως καθολική εμβέλεια.) Αν και σπάνια " +"συναντά κανείς έναν καλό λόγο για τη χρήση καθολικών δεδομένων σε μια μέθοδο, υπάρχουν πολλές " +"Νόμιμες χρήσεις της καθολικής εμβέλειας: για ένα πράγμα, οι λειτουργίες και οι λειτουργικές μονάδες " +"που εισάγονται στην καθολική εμβέλεια μπορούν να χρησιμοποιηθούν από μεθόδους, καθώς και συναρτήσεις " +"και κλάσεις που ορίζονται σε αυτό. Συνήθως, η κλάση που περιέχει τη μέθοδο " +"ορίζεται από μόνη της σε αυτή την καθολική εμβέλεια, και στην επόμενη ενότητα θα βρούμε μερικούς " +"καλούς λόγους για τους οποίους μια μέθοδος θα ήθελε να αναφέρει τη δική της κλάση." #: tutorial/classes.rst:563 msgid "" "Each value is an object, and therefore has a *class* (also called its " "*type*). It is stored as ``object.__class__``." msgstr "" +"Κάθε τιμή είναι ένα αντικείμενο και επομένως έχει μια *κλάση* (ονομάζεται επίσης *τύπος* της). Αποθηκεύεται ως ``object.__class__``. " #: tutorial/classes.rst:570 msgid "Inheritance" -msgstr "" +msgstr "Κληρονομικότητα" #: tutorial/classes.rst:572 msgid "" @@ -608,6 +883,9 @@ msgid "" "without supporting inheritance. The syntax for a derived class definition " "looks like this::" msgstr "" +"Φυσικά, ένα χαρακτηριστικό γλώσσας δεν θα ήταν αντάξιο του ονόματος \"class\" " +"χωρίς την υποστήριξη της κληρονομικότητας. Η σύνταξη για έναν παραγόμενο ορισμό κλάσης " +"μοιάζει με αυτό:" #: tutorial/classes.rst:583 msgid "" @@ -616,6 +894,10 @@ msgid "" "class name, other arbitrary expressions are also allowed. This can be " "useful, for example, when the base class is defined in another module::" msgstr "" +"Το όνομα :class:`!BaseClassName` πρέπει να οριστεί σε έναν χώρο ονομάτων προσβάσιμο " +"από το πεδίο που περιέχει τον παραγόμενο ορισμό κλάσης. Στη θέση ενός ονόματος βασικής " +"κλάσης, επιτρέπονται και άλλες αυθαίρετες εκφράσεις. Αυτό μπορεί να είναι " +"χρήσιμο, για παράδειγμα, όταν η βασική κλάση ορίζεται σε άλλη module::" #: tutorial/classes.rst:591 msgid "" @@ -626,6 +908,12 @@ msgid "" "rule is applied recursively if the base class itself is derived from some " "other class." msgstr "" +"Η εκτέλεση ενός παραγόμενου ορισμού κλάσης προχωρά το ίδιο όπως για μια βασική " +"κλάση. Όταν το αντικείμενο της κλάσης κατασκευάζεται, η βασική κλάση απομνημονεύεται." +"Αυτό χρησιμοποιείται για την επίλυση αναφορών χαρακτηριστικών: εάν ένα ζητούμενο χαρακτηριστικό " +"δεν βρεθεί στην κλάση, η αναζήτηση προχωρά στην αναζήτηση στη βασική κλάση. Αυτός " +"ο κανόνας εφαρμόζεται αναδρομικά εάν η ίδια η βασική κλάση προέρχεται από κάποια " +"άλλη κλάση." #: tutorial/classes.rst:597 msgid "" @@ -635,6 +923,11 @@ msgid "" "searched, descending down the chain of base classes if necessary, and the " "method reference is valid if this yields a function object." msgstr "" +"Δεν υπάρχει τίποτα το ιδιαίτερο σχετικά με την δημιουργία στιγμιότυπου παραγόμενων κλάσεων: " +"``DerivedClassName()`` δημιουργεί ένα νέο στιγμιότυπο της κλάσης. Οι αναφορές " +"μεθόδων επιλύονται ως εξής: γίνεται αναζήτηση του αντίστοιχου χαρακτηριστικού κλάσης, " +"κατεβαίνοντας προς τα κάτω στην αλυσίδα των βασικών κλάσεων εάν είναι απαραίτητο, και " +"η αναφορά της μεθόδου είναι έγκυρη εάν αυτό αποδίδει ένα αντικείμενο συνάρτησης." #: tutorial/classes.rst:603 msgid "" @@ -644,6 +937,11 @@ msgid "" "class may end up calling a method of a derived class that overrides it. " "(For C++ programmers: all methods in Python are effectively ``virtual``.)" msgstr "" +"Οι παράγωγες κλάσεις ενδέχεται να παρακάμπτουν τις μεθόδους των βασικών τους κλάσεων. Επειδή οι μέθοδοι " +"δεν έχουν ειδικά προνόμια όταν καλούν άλλες μεθόδους του ίδιου αντικειμένου, μια " +"μέθοδος μιας βασικής κλάσης που καλεί μια άλλη μέθοδο που ορίζεται στην ίδια βασική " +"κλάση μπορεί να καταλήξει να καλεί μια μέθοδο μιας παραγόμενης κλάσης που την αντικαθιστά." +"(Για προγραμματιστές C++: όλες οι μέθοδοι στην Python είναι ουσιαστικά «εικονικές».)" #: tutorial/classes.rst:609 msgid "" @@ -654,10 +952,16 @@ msgid "" "well. (Note that this only works if the base class is accessible as " "``BaseClassName`` in the global scope.)" msgstr "" +"Μια υπερισχύουσα μέθοδος σε μια παραγόμενη κλάση μπορεί στην πραγματικότητα να θέλει να επεκτείνει αντί " +"να αντικαταστήσει απλώς τη μέθοδο βασικής κλάσης με το ίδιο όνομα. Υπάρχει ένας " +"απλός τρόπος για να καλέσετε τη μέθοδο βασικής κλάσης απευθείας: απλώς καλέστε το " +"``BaseClassName.methodname(self, arguments)`. Αυτό είναι περιστασιακά χρήσιμο στους χρήστες " +"(Λάβετε υπόψη ότι αυτό λειτουργεί μόνο εάν η βασική κλάση είναι προσβάσιμη ως " +"``BaseClassName`` στην καθολική εμβέλεια.)" #: tutorial/classes.rst:616 msgid "Python has two built-in functions that work with inheritance:" -msgstr "" +msgstr "Η Python έχει δύο (ενσωματωμένες) built-in συναρτήσεις που λειτουργούν με κληρονομικότητα:" #: tutorial/classes.rst:618 msgid "" @@ -665,6 +969,9 @@ msgid "" "will be ``True`` only if ``obj.__class__`` is :class:`int` or some class " "derived from :class:`int`." msgstr "" +"Χρησιμοποιήστε το :func:`isinstance` για να ελέγξετε τον τύπο ενός στιγμιότυπου: το ``isinstance(obj, int)`` " +"θα είναι ``True`` μόνο εάν το ``obj.__class__`` είναι :class:`int` ή προέρχεται από κάποια κλάση " +"από :class:`int`." #: tutorial/classes.rst:622 msgid "" @@ -673,16 +980,22 @@ msgid "" "``issubclass(float, int)`` is ``False`` since :class:`float` is not a " "subclass of :class:`int`." msgstr "" +"Χρησιμοποιήστε το :func:`issubclass` για να ελέγξετε την κληρονομικότητα κλάσης: Το ``issubclass(bool, int)`` " +"είναι `` True`` αφού το :class:`bool` είναι υποκλάση του :class:`int`. Ωστόσο, το " +"``issubclass(float, int)`` είναι ``False`` αφού το :class:`float` δεν είναι " +"υποκλάση του :class:`int`." #: tutorial/classes.rst:632 msgid "Multiple Inheritance" -msgstr "" +msgstr "Πολλαπλή Κληρονομικότητα" #: tutorial/classes.rst:634 msgid "" "Python supports a form of multiple inheritance as well. A class definition " "with multiple base classes looks like this::" msgstr "" +"Η Python υποστηρίζει επίσης μια μορφή πολλαπλής κληρονομικότητας. Ένας ορισμός κλάσης " +"με πολλαπλές βασικές κλάσεις μοιάζει με αυτό::" #: tutorial/classes.rst:644 msgid "" @@ -694,6 +1007,13 @@ msgid "" "classes of :class:`!Base1`, and if it was not found there, it was searched " "for in :class:`!Base2`, and so on." msgstr "" +"Για τους περισσότερους σκοπούς, στις πιο απλές περιπτώσεις, μπορείτε να σκεφτείτε την αναζήτηση " +"χαρακτηριστικών που κληρονομήθηκαν από μια γονική κλάση ως depth-first, από αριστερά προς τα δεξιά, " +"χωρίς αναζήτηση δύο φορές στην ίδια κλάση όπου υπάρχει επικάλυψη στην " +"ιεραρχία. Έτσι, εάν δεν βρεθεί ένα χαρακτηριστικό στο :class:`!DerivedClassName`, " +"αναζητείται στο :class:`!Base1` και μετά (αναδρομικά) στις βασικές " +"κλάσεις του :class:`!Base1`, και αν δεν βρέθηκε εκεί,αναζητήθηκε στο " +":class:`!Base2`, και ούτω καθεξής." #: tutorial/classes.rst:651 msgid "" @@ -703,6 +1023,10 @@ msgid "" "method and is more powerful than the super call found in single-inheritance " "languages." msgstr "" +"Στην πραγματικότητα, είναι λίγο πιο περίπλοκο από αυτό. Η σειρά ανάλυσης της μεθόδου " +"αλλάζει δυναμικά για να υποστηρίξει συνεργατικές κλήσεις σε :func:`super`. Αυτή " +"η προσέγγιση είναι γνωστή σε ορισμένες άλλες γλώσσες πολλαπλής κληρονομικότητας ως call-next-method " +"και είναι πιο ισχυρή από τη σούπερ κλήση που βρίσκεται σε γλώσσες μεμονωμένης κληρονομικότητας." #: tutorial/classes.rst:657 msgid "" @@ -720,10 +1044,23 @@ msgid "" "multiple inheritance. For more detail, see https://www.python.org/download/" "releases/2.3/mro/." msgstr "" +"Η δυναμική σειρά είναι απαραίτητη επειδή όλες οι περιπτώσεις πολλαπλής κληρονομικότητας " +"εμφανίζουν μία ή περισσότερες σχέσεις διαμαντιών (όπου τουλάχιστον μια από τις γονικές " +"κλάσεις μπορεί να προσπελαστεί μέσω πολλαπλών διαδρομών από την κατώτατη κλάση). " +"Για παράδειγμα, όλες οι κλάσεις κληρονομούν από :class:`object`, επομένως κάθε περίπτωση " +"πολλαπλής κληρονομικότητας παρέχει περισσότερες από μία διαδρομές για να φτάσετε στο :class:`object`. " +"Για να μην υπάρχει πρόσβαση στις βασικές κλάσεις περισσότερες από μία φορές, ο δυναμικός " +"αλγόριθμος γραμμικοποιεί τη σειρά αναζήτησης με τρόπο που διατηρεί τη σειρά από αριστερά προς τα δεξιά-" +"που καθορίζεται σε κάθε κλάση, που καλεί κάθε γονέα μόνο μία φορά, " +"και που είναι μονότονος (που σημαίνει ότι μια κλάση μπορεί να γίνει υπό-κλάση χωρίς " +"να επηρεαστεί η σειρά προτεραιότητας των γονέων της). Συνολικά, αυτές " +"οι ιδιότητες καθιστούν δυνατό τον σχεδιασμό αξιόπιστων και επεκτάσιμων κλάσεων με " +"πολλαπλή κληρονομικότητα. Για περισσότερες λεπτομέρειες, ανατρέξτε στη διεύθυνση https://www.python.org/download/" +"releases/2.3/mro/." #: tutorial/classes.rst:674 msgid "Private Variables" -msgstr "" +msgstr "Ιδιωτικές Μεταβλητές" #: tutorial/classes.rst:676 msgid "" @@ -734,6 +1071,12 @@ msgid "" "a function, a method or a data member). It should be considered an " "implementation detail and subject to change without notice." msgstr "" +"Οι μεταβλητές στιγμιοτύπου \"Private\" στις οποίες δεν είναι δυνατή η πρόσβαση εκτός από το εσωτερικό ενός " +"αντικειμένου,δεν υπάρχουν στην Python. Ωστόσο, υπάρχει μια σύμβαση που ακολουθείται " +"από τον περισσότερο Python κώδικα: ένα όνομα με πρόθεμα κάτω παύλα (π.χ. " +"``_spam``) θα πρέπει να αντιμετωπίζεται ως μη δημόσιο μέρος του API " +"(είτε πρόκειται για συνάρτηση,μέθοδο ή μέλος δεδομένων). Θα πρέπει να θεωρείται ως " +"λεπτομέρεια υλοποίησης και υπόκειται σε αλλαγές χωρίς προειδοποίηση. " #: tutorial/classes.rst:686 msgid "" @@ -746,12 +1089,22 @@ msgid "" "stripped. This mangling is done without regard to the syntactic position of " "the identifier, as long as it occurs within the definition of a class." msgstr "" +"Δεδομένου ότι υπάρχει μια έγκυρη περίπτωση χρήσης για ιδιωτικά μέλη της κλάσης (δηλαδή για να αποφευχθούν " +"συγκρούσεις ονομάτων με ονόματα που ορίζονται από υποκλάσεις), υπάρχει περιορισμένη " +"υποστήριξη για έναν τέτοιο μηχανισμό, που ονομάζεται :dfn:`name mangling`. Οποιοδήποτε αναγνωριστικό " +"της φόρμας ``__spam`` (τουλάχιστον δύο προπορευόμενες κάτω παύλες, το πολύ μια " +"στη συνέχεια κάτω παύλα) αντικαθίσταται με κείμενο με το ``_classname__spam``, όπου το " +"``classname`` είναι το όνομα της τρέχουσας τάξης με την πρώτη υπογράμμιση " +"stripped. Αυτό το mangling γίνεται χωρίς να λαμβάνεται υπόψη η συντακτική θέση του " +"του αναγνωριστικού, αρκεί να εμφανίζεται εντός του ορισμού μιας κλάσης." #: tutorial/classes.rst:695 msgid "" "Name mangling is helpful for letting subclasses override methods without " "breaking intraclass method calls. For example::" msgstr "" +"Η παραβίαση ονομάτων είναι χρήσιμη για να επιτρέπεται στις υποκλάσεις να παρακάμπτουν μεθόδους χωρίς " +"να διακόπτουν τις κλήσεις μεθόδων ενδοκλάσεων. Για παράδειγμα::" #: tutorial/classes.rst:717 msgid "" @@ -760,6 +1113,10 @@ msgid "" "the ``Mapping`` class and ``_MappingSubclass__update`` in the " "``MappingSubclass`` class respectively." msgstr "" +"Το παραπάνω παράδειγμα θα λειτουργούσε ακόμα και αν το ``MappingSubclass`` εισήγαγε ένα " +"αναγνωριστικό ``__update`` αφού αντικαταστάθηκε με το ``_Mapping__update`` στην " +"κλάση ``Mapping`` και με το ``_MappingSubclass__update`` στη " +"κλάση ``MappingSubclass`` αντίστοιχα." #: tutorial/classes.rst:722 msgid "" @@ -768,6 +1125,10 @@ msgid "" "private. This can even be useful in special circumstances, such as in the " "debugger." msgstr "" +"Λάβετε υπόψη ότι οι κανόνες παραβίασης έχουν σχεδιαστεί κυρίως για την αποφυγή ατυχημάτων.Εξακολουθεί " +"να είναι δυνατή η πρόσβαση ή η τροποποίηση μιας μεταβλητής που θεωρείται " +"ιδιωτική. Αυτό μπορεί να είναι χρήσιμο ακόμη και σε ειδικές περιπτώσεις, όπως στο " +"πρόγραμμα εντοπισμού σφαλμάτων(debugger)." #: tutorial/classes.rst:726 msgid "" @@ -778,10 +1139,16 @@ msgid "" "applies to ``getattr()``, ``setattr()`` and ``delattr()``, as well as when " "referencing ``__dict__`` directly." msgstr "" +"Σημειώστε ότι ο κώδικας που μεταβιβάστηκε στο ``exec()`` ή στο ``eval()`` δεν θεωρεί ότι το " +"το όνομα κλάσης της κλάσης επίκλησης να είναι η τρέχουσα κλάση. Αυτό είναι παρόμοιο με " +"το αποτέλεσμα της ``καθολικής`` δήλωσης , το αποτέλεσμα της οποίας επίσης " +"περιορίζεται στον κώδικα που έχει μεταγλωττιστεί μαζί(byte-compiled). Ο ίδιος περιορισμός " +"ισχύει για τα ``getattr()``, ``setattr()`` και ``delattr()``, καθώς και όταν γίνεται " +"αναφορά απευθείας στο ``__dict__``." #: tutorial/classes.rst:737 msgid "Odds and Ends" -msgstr "" +msgstr "Μικροπράγματα" #: tutorial/classes.rst:739 msgid "" @@ -789,6 +1156,9 @@ msgid "" "or C \"struct\", bundling together a few named data items. The idiomatic " "approach is to use :mod:`dataclasses` for this purpose::" msgstr "" +"Μερικές φορές είναι χρήσιμο να έχετε έναν τύπο δεδομένων παρόμοιο με τον Pascal \"record\" " +"ή C \"struct\", ομαδοποιώντας μερικά επώνυμα στοιχεία δεδομένων. Η ιδιωματική " +"προσέγγιση είναι η χρήση :mod:`dataclasses` για αυτόν τον σκοπό::" #: tutorial/classes.rst:759 msgid "" @@ -799,6 +1169,12 @@ msgid "" "and :meth:`~io.TextIOBase.readline` that get the data from a string buffer " "instead, and pass it as an argument." msgstr "" +"Ένα κομμάτι κώδικα Python που αναμένει έναν συγκεκριμένο αφηρημένο τύπο δεδομένων μπορεί " +"συχνά να περάσει σε μια κλάση που μιμείται τις μεθόδους αυτού του τύπου δεδομένων. " +"Για παράδειγμα, εάν έχετε μια συνάρτηση που μορφοποιεί ορισμένα δεδομένα από ένα " +"αντικείμενο αρχείου, μπορείτε να ορίσετε μια κλάση με μεθόδους :meth:`~io.TextIOBase.read` " +"και :meth:`~io.TextIOBase.readline` που λαμβάνουν τα δεδομένα από ένα buffer συμβολοσειρών " +"αντ' αυτού, και περάστε το ως όρισμα." #: tutorial/classes.rst:771 msgid "" @@ -807,16 +1183,22 @@ msgid "" "meth:`!m`, and :attr:`m.__func__ ` is the :ref:`function " "object ` corresponding to the method." msgstr "" +":ref:`Instance method objects ` έχουν επίσης χαρακτηριστικά: :" +"attr:`m.__self__ ` είναι το αντικείμενο παρουσίας με τη μέθοδο :" +"meth:`!m`, και :attr:`m.__func__ ` είναι το :ref:`αντικείμενο συνάρτησης " +"` που αντιστοιχεί στη μέθοδο." #: tutorial/classes.rst:781 msgid "Iterators" -msgstr "" +msgstr "Επαναλήπτες" #: tutorial/classes.rst:783 msgid "" "By now you have probably noticed that most container objects can be looped " "over using a :keyword:`for` statement::" msgstr "" +"Μέχρι τώρα πιθανότατα έχετε παρατηρήσει ότι τα περισσότερα αντικείμενα container μπορούν να επαναληφθούν " +"χρησιμοποιώντας μια δήλωση :keyword:`for`::" #: tutorial/classes.rst:797 msgid "" @@ -830,6 +1212,15 @@ msgid "" "terminate. You can call the :meth:`~iterator.__next__` method using the :" "func:`next` built-in function; this example shows how it all works::" msgstr "" +"Αυτό το στυλ πρόσβασης είναι σαφές, συνοπτικό και βολικό. Η χρήση των " +"Iterators διαπερνά και ενοποιεί την Python. Στο παρασκήνιο, η δήλωση :keyword:" +"`for` καλεί :func:`iter` στο αντικείμενο container. Η συνάρτηση " +"επιστρέφει ένα αντικείμενο iterator που ορίζει τη μέθοδο :meth:`~iterator." +"__next__` η οποία έχει πρόσβαση σε στοιχεία στο container ένα κάθε φορά. Όταν " +"δεν υπάρχουν άλλα στοιχεία, το :meth:`~iterator.__next__` δημιουργεί μια :exc:" +"`StopIteration` εξαίρεση που λέει τον βρόχο :keyword:`!for` να " +"τερματιστεί. Μπορείτε να καλέσετε τη μέθοδο :meth:`~iterator.__next__` χρησιμοποιώντας την " +"ενσωματωμένη συνάρτηση :func:`next`. Αυτό το παράδειγμα δείχνει πώς λειτουργούν όλα::" #: tutorial/classes.rst:822 msgid "" @@ -839,10 +1230,15 @@ msgid "" "the class defines :meth:`!__next__`, then :meth:`!__iter__` can just return " "``self``::" msgstr "" +"Έχοντας δει τους μηχανισμούς πίσω από το πρωτόκολλο iterator, είναι εύκολο να προσθέσετε " +"συμπεριφορά iterator στις κλάσεις σας. Ορίστε μια μέθοδο :meth:`~container.__iter__` " +"που επιστρέφει ένα αντικείμενο με μια μέθοδο :meth:`~iterator.__next__`. Εάν " +"η κλάση ορίζει :meth:`!__next__`, τότε το :meth:`!__iter__` μπορεί απλώς να επιστρέψει " +"``self``::" #: tutorial/classes.rst:859 msgid "Generators" -msgstr "" +msgstr "Γεννήτορες (Generators)" #: tutorial/classes.rst:861 msgid "" @@ -853,6 +1249,12 @@ msgid "" "the data values and which statement was last executed). An example shows " "that generators can be trivially easy to create::" msgstr "" +":term:`Generators ` είναι ένα απλό και ισχυρό εργαλείο για τη δημιουργία " +"iterators. Είναι γραμμένες σαν κανονικές συναρτήσεις αλλά χρησιμοποιούν τη :keyword:" +"`yield` όποτε θέλουν να επιστρέψουν δεδομένα. Κάθε φορά που καλείται :func:`next` " +"σε αυτό, ο generator συνεχίζει από εκεί που σταμάτησε (θυμάται όλες τις " +"τιμές δεδομένων και ποια δήλωση εκτελέστηκε τελευταία). Ένα παράδειγμα δείχνει " +"ότι οι generators μπορεί να είναι ασήμαντα εύκολο να δημιουργηθούν::" #: tutorial/classes.rst:882 msgid "" @@ -861,6 +1263,10 @@ msgid "" "compact is that the :meth:`~iterator.__iter__` and :meth:`~generator." "__next__` methods are created automatically." msgstr "" +"Οτιδήποτε μπορεί να γίνει με generators μπορεί να γίνει και με iterators " +"που βασίζονται σε κλάσεις, όπως περιγράφεται στην προηγούμενη ενότητα. Αυτό που κάνει τους generators τόσο " +"συμπαγείς είναι ότι οι μέθοδοι :meth:`~iterator.__iter__` και " +":meth:`~.generator__next__` δημιουργούνται αυτόματα." #: tutorial/classes.rst:887 msgid "" @@ -869,6 +1275,10 @@ msgid "" "and much more clear than an approach using instance variables like ``self." "index`` and ``self.data``." msgstr "" +"Ένα άλλο βασικό χαρακτηριστικό είναι ότι οι τοπικές μεταβλητές και η κατάσταση εκτέλεσης " +"αποθηκεύονται αυτόματα μεταξύ των κλήσεων. Αυτό έκανε τη συνάρτηση πιο εύκολη στην γραφή " +"και πολύ πιο ξεκάθαρη από μια προσέγγιση που χρησιμοποιεί μεταβλητές παράδειγμα όπως ``self." +"index`` και ``self.data``." #: tutorial/classes.rst:892 msgid "" @@ -877,10 +1287,14 @@ msgid "" "combination, these features make it easy to create iterators with no more " "effort than writing a regular function." msgstr "" +"Εκτός από την αυτόματη δημιουργία μεθόδου και την αποθήκευση της κατάστασης του προγράμματος, όταν " +"οι generators τερματίζονται, εγείρουν αυτόματα την εξαίρεση :exc:`StopIteration`. " +"Σε συνδυασμό, αυτά τα χαρακτηριστικά καθιστούν εύκολη τη δημιουργία επαναλήψεων χωρίς περισσότερη " +"προσπάθεια από τη σύνταξη μιας κανονικής συνάρτησης." #: tutorial/classes.rst:901 msgid "Generator Expressions" -msgstr "" +msgstr "Εκφράσεις Γεννήτορων" #: tutorial/classes.rst:903 msgid "" @@ -891,14 +1305,20 @@ msgid "" "compact but less versatile than full generator definitions and tend to be " "more memory friendly than equivalent list comprehensions." msgstr "" +"Ορισμένοι απλοί generators μπορούν να κωδικοποιηθούν συνοπτικά ως εκφράσεις χρησιμοποιώντας μια σύνταξη " +"παρόμοια με τις list comprehensions, αλλά με παρενθέσεις αντί για αγκύλες. " +"Αυτές οι εκφράσεις έχουν σχεδιαστεί για καταστάσεις όπου ο generator " +"χρησιμοποιείται αμέσως από μια περικλείουσα συνάρτηση. Οι εκφράσεις generator είναι πιο " +"συμπαγείς αλλά λιγότερο ευέλικτες από τους ορισμούς πλήρους generator και τείνουν να είναι " +"περισσότερο φιλικό προς τη μνήμη από αντίστοιχα list comprehensions." #: tutorial/classes.rst:910 msgid "Examples::" -msgstr "" +msgstr "Παραδείγματα::" #: tutorial/classes.rst:931 msgid "Footnotes" -msgstr "" +msgstr "Υποσημειώσεις" #: tutorial/classes.rst:932 msgid "" @@ -909,19 +1329,25 @@ msgid "" "abstraction of namespace implementation, and should be restricted to things " "like post-mortem debuggers." msgstr "" +"Εκτός από ένα πράγμα. Τα αντικείμενα του module έχουν ένα μυστικό χαρακτηριστικό μόνο για ανάγνωση που " +"καλείται :attr:`~object.__dict__` το οποίο επιστρέφει το λεξικό που χρησιμοποιείται για την " +"υλοποίηση του χώρου ονομάτων του module.Το όνομα :attr:`~object.__dict__` είναι ένα " +"χαρακτηριστικό αλλά όχι καθολικό όνομα. Προφανώς, η χρήση αυτού παραβιάζει την " +"αφαίρεση υλοποίησης χώρου ονομάτων και θα πρέπει να περιορίζεται σε πράγματα " +"όπως τα ύστερα προγράμματα εντοπισμού σφαλμάτων." #: tutorial/classes.rst:347 msgid "object" -msgstr "" +msgstr "αντικείμενο" #: tutorial/classes.rst:347 msgid "method" -msgstr "" +msgstr "μέθοδος" #: tutorial/classes.rst:683 msgid "name" -msgstr "" +msgstr "όνομα" #: tutorial/classes.rst:683 msgid "mangling" -msgstr "" +msgstr "συντριβή" From 9abf4f0fa3d7109771983a0517ddcf6dd9f7549c Mon Sep 17 00:00:00 2001 From: Artemis Leonardou Date: Wed, 4 Dec 2024 15:29:16 +0200 Subject: [PATCH 03/12] Translated distributing/index.po (#566) * Translated distributing/index.po * Update index.po * Update index.po * [pre-commit.ci lite] apply automatic fixes --------- Co-authored-by: = <=> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- distributing/index.po | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/distributing/index.po b/distributing/index.po index 6ef43dc5..879d0808 100644 --- a/distributing/index.po +++ b/distributing/index.po @@ -9,16 +9,17 @@ msgstr "" "Project-Id-Version: Python 3.12\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-03-14 12:51+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" +"PO-Revision-Date: 2024-11-25 20:18+0000\n" +"Last-Translator: Artemis Leonardou \n" +"Language-Team: PyGreece \n" +"Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: distributing/index.rst:10 msgid "Distributing Python Modules" -msgstr "" +msgstr "Διανομή Python Modules" #: distributing/index.rst:14 msgid "" @@ -26,3 +27,6 @@ msgid "" "been moved to the `Python Packaging User Guide`_, and the tutorial on " "`packaging Python projects`_." msgstr "" +"Οι πληροφορίες και οι οδηγίες για την διανομή των Python modules και των " +"πακέτων έχουν μεταφερθεί στο `Python Packaging User Guide` και στο διδακτικό " +"υλικό `packaging Python projects`_." From 7708f70f3152646e28c5adbd5ca8de3b7f306458 Mon Sep 17 00:00:00 2001 From: mgiannopoulos24 <79588074+mgiannopoulos24@users.noreply.github.com> Date: Mon, 9 Dec 2024 12:48:25 +0200 Subject: [PATCH 04/12] Translate file howto/pyporting.po (#568) Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: skpanagiotis --- TRANSLATORS | 1 + dictionaries/main.txt | 83 +++++++++++++++++++++++++++++++++++++++++++ faq/programming.po | 2 +- glossary.po | 2 +- howto/pyporting.po | 35 ++++++++++++------ tutorial/whatnow.po | 2 +- 6 files changed, 112 insertions(+), 13 deletions(-) diff --git a/TRANSLATORS b/TRANSLATORS index c5d64d8e..d8bf1d98 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -3,3 +3,4 @@ Lysandros Nikolaou Theofanis Petkos Panagiotis Skias Dimitrios Papadopoulos +Marios Giannopoulos diff --git a/dictionaries/main.txt b/dictionaries/main.txt index 880c2483..e8969f2a 100644 --- a/dictionaries/main.txt +++ b/dictionaries/main.txt @@ -1,4 +1,5 @@ A +ActiveState Alias Alternative Apache @@ -9,9 +10,11 @@ Bitwise Boolean Booleans Boost +Brett Bug Bytearray C +Cannon Case Category Centrum @@ -26,6 +29,7 @@ Cookbook Cookie Corporation Creations +Cython D Dan David @@ -34,12 +38,14 @@ Decimal Dictionaries Digit Digital +DigitalOcean Docutils Drake Emacs Error Errors Exceptions +Fedora Flying Folding Fortran @@ -113,7 +119,10 @@ Precision Print Private Py +PyCon Pyrex +Python +Pythonic Queues Raising Randal @@ -553,6 +562,8 @@ pure py pyc pyd +python +pythonrun quacks queue raise @@ -701,27 +712,42 @@ y you z zlib +Αν Αριθμητική Αριμθητικοί +Αυτό Βλ Γεννήτορων Επαναλήπτες +Η Κινητής Μετα +Μπορείτε +Οδηγοί Περιβάλλοντας Πρόσθεσα +Πώς +Σεμινάριο +Υπάρχουν Υποδιαστολής +ένα +έφτασε +ή αίτημά αγγίξετε αιωρούμενους +αλλαγές αλληλοαποκλείονται +αλληλογραφίας αναδιατάξετε αναθέτη αναθέτης ανακατευθυνθεί αναπαράξετε αναπαραστάσιμο +αναφορές αντ +αντί αντικαθιστούμενη αντικατεστημένες αντικειμενοστρεφής @@ -732,22 +758,35 @@ zlib αξιολογούμενης αποσειριοποίηση αποσειριοποίησης +από +αρχές +αρχείο +αρχειοθετημένη +αρχικός βλ +βρείτε +γίνονται +για γλωσσαρίου γραμμικοποιεί +δείτε δεκαεξαδικής δεκαεξαδικοί +δεν δεξαεξαδικές δηλ διάφoρα διαγραφέα +διακόπηκε διαλειτουργήσει διαλειτουργικότητα διαχειρίζοντας διαχειριζόμενου διγράφοι διεπαφών +διορθώσεις εγειρθεί +εκδόσεων εκτυπώσιμη εκτυπώσιμοι εκτυπώσιμος @@ -755,12 +794,15 @@ zlib ενδοκλάσεων εντοπιστές εξαδικού +επέκτασης +επίσης επαναλήπτη επαναλήψιμους επαναχρησιμοποιηθούν επανεισάγω επανεκκινήσετε επαυξημένοι +επιθυμείτε επικαλεί επικαλυπτόμενες επικαλυπτόμενων @@ -769,23 +811,40 @@ zlib ευρετηριοποίησης ευρετηριοποιηθούν ευρετική +ζωής ηχούς +θα ισοσταθμιστή ιστοτόπων ιστότοπο ιστότοπος +καθαρό +και +κατάσταση κατακερματιστέες κεφαλίδας κεφαλίδων +κώδικα +λίστα λπ μακροεντολές μακροεντολή +μετά μετα μεταδεδομένων μετακλάσεων μετακλάση μετακλάσης +μετατρέψετε +μεταφέρετε +μεταφοράς μιμηθείτε +μπορεί +να +ο +οδηγίες +οδηγό +οδηγός οκταδικές οκταδική οκταδικής @@ -798,20 +857,25 @@ zlib οριοθέτες οριοθέτη παλαιώσουν +παλιό παραβατική +παρακαλούμε παραμετροποιηθεί παραμετροποιηθούν παραμετροποιημένα παραμετροποιημένη παραμετροποιημένο πεζογράμμιση +περιέχει περιβάλλοντων περιγραφέα περιγραφέας περιηγείστε περικλειόμενο περικόβει +πλέον πληθικότητα +πολλοί πολυμορφική προέκδοση προεπιλεγμένης @@ -824,13 +888,19 @@ zlib προσεταιριστικός ρήτρων σίγαση +σε σειριοποίηση σειριοποίησης σειριοποιεί σειριοποιηθεί +σημαίνει +στην στιγμιοτύπου +στις +στο στρογγυλοποιήσετε στρογγυλοποιημένο +συγγραφέας συμβολοσειρά συμβολοσειράς συμβολοσειρές @@ -838,10 +908,19 @@ zlib συντηρησιμότητα συσχετιστικές συσχετιστικοί +σφαλμάτων +τέλος +την +της τμηματοποιηθούν +το +τον +του +τρίτων τροποποιητές τροποποιητής τυλιχθούν +των υ υπεραντικείμενο υπερκλάσης @@ -859,10 +938,14 @@ zlib υπομονάδων υποπακέτα υποπακέτο +υποστηρίζεται υποστηριζόμενους υποσυμβολοσειρά υποτετραγωνική υποτμημάτων χειριζόμενες +χρήσιμες +χρήσιμοι ψευδο ό +ότι diff --git a/faq/programming.po b/faq/programming.po index 3553bc36..92d34afa 100644 --- a/faq/programming.po +++ b/faq/programming.po @@ -1728,7 +1728,7 @@ msgstr "" "υπάρχουν εργαλεία που θα σας απομακρύνουν. Για παράδειγμα, το `Cython " "`_ μπορεί να μεταγλωττίσει μια ελαφρώς τροποποιημένη " "έκδοση του κώδικα Python σε μια επέκταση C, και μπορεί να χρησιμοποιηθεί σε " -"πολλές διαφορετικές πλατφόρμες. Η Cypthon μπορεί να εκμεταλλευτεί την " +"πολλές διαφορετικές πλατφόρμες. Η Cython μπορεί να εκμεταλλευτεί την " "μεταγλώττιση (και τους προαιρετικούς σχολιασμούς) για να κάνει τον κώδικα " "σας πολύ πιο γρήγορο από όταν ερμηνεύεται. Εάν είστε σίγουροι για τις " "δεξιότητές σας στον προγραμματισμό C, μπορείτε επίσης να :ref:`write a C " diff --git a/glossary.po b/glossary.po index cd5846f1..ce28b2b4 100644 --- a/glossary.po +++ b/glossary.po @@ -1790,7 +1790,7 @@ msgid "" "array in other languages than to a linked list since access to elements is " "*O*\\ (1)." msgstr "" -"Ένα ενσωματωμένο Pytohn :term:`sequence`. Παρά το όνομα του, μοιάζει " +"Ένα ενσωματωμένο Python :term:`sequence`. Παρά το όνομα του, μοιάζει " "περισσότερο με έναν πίνακα σε άλλες γλώσσες παρά με μια συνδεδεμένη λίστα, " "καθώς η πρόσβαση στα στοιχεί είναι *O*\\ (1)." diff --git a/howto/pyporting.po b/howto/pyporting.po index fb639560..7e783111 100644 --- a/howto/pyporting.po +++ b/howto/pyporting.po @@ -9,24 +9,24 @@ msgstr "" "Project-Id-Version: Python 3.12\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-03-14 12:51+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" +"PO-Revision-Date: 2024-12-06 13:40+0200\n" +"Last-Translator: Marios Giannopoulos \n" +"Language-Team: PyGreece \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: howto/pyporting.rst:7 msgid "How to port Python 2 Code to Python 3" -msgstr "" +msgstr "Πώς να μετατρέψετε τον κώδικα από Python 2 σε Python 3" #: howto/pyporting.rst:0 msgid "author" -msgstr "" +msgstr "συγγραφέας" #: howto/pyporting.rst:9 msgid "Brett Cannon" -msgstr "" +msgstr "Brett Cannon" #: howto/pyporting.rst:11 msgid "" @@ -35,17 +35,25 @@ msgid "" "no longer supported: see :pep:`373` and `status of Python versions `_." msgstr "" +"Η Python 2 έφτασε στο επίσημο τέλος ζωής της στις αρχές του 2020. Αυτό " +"σημαίνει ότι δεν θα γίνονται πλέον αναφορές σφαλμάτων, διορθώσεις ή αλλαγές " +"στην Python 2 - δεν υποστηρίζεται πλέον: δείτε :pep:`373` και την `κατάσταση " +"των εκδόσεων της Python `_." #: howto/pyporting.rst:16 msgid "" "If you are looking to port an extension module instead of pure Python code, " "please see :ref:`cporting-howto`." msgstr "" +"Αν επιθυμείτε να μεταφέρετε ένα module επέκτασης αντί για καθαρό κώδικα " +"Python, παρακαλούμε δείτε :ref:`cporting-howto`." #: howto/pyporting.rst:19 msgid "" "The archived python-porting_ mailing list may contain some useful guidance." msgstr "" +"Η αρχειοθετημένη λίστα αλληλογραφίας python-porting_ μπορεί να περιέχει " +"χρήσιμες οδηγίες." #: howto/pyporting.rst:21 msgid "" @@ -53,31 +61,38 @@ msgid "" "the old guide in the `archive `_." msgstr "" +"Από την Python 3.13 και μετά, ο αρχικός οδηγός μεταφοράς διακόπηκε. Μπορείτε " +"να βρείτε τον παλιό οδηγό στο `αρχείο `_." #: howto/pyporting.rst:27 msgid "Third-party guides" -msgstr "" +msgstr "Οδηγοί τρίτων" #: howto/pyporting.rst:29 msgid "There are also multiple third-party guides that might be useful:" -msgstr "" +msgstr "Υπάρχουν επίσης πολλοί οδηγοί τρίτων που μπορεί να είναι χρήσιμοι:" #: howto/pyporting.rst:31 msgid "`Guide by Fedora `_" -msgstr "" +msgstr "`Οδηγός από το Fedora `_" #: howto/pyporting.rst:32 msgid "`PyCon 2020 tutorial `_" -msgstr "" +msgstr "`Σεμινάριο PyCon 2020 `_" #: howto/pyporting.rst:33 msgid "" "`Guide by DigitalOcean `_" msgstr "" +"`Οδηγός από το DigitalOcean `_" #: howto/pyporting.rst:34 msgid "" "`Guide by ActiveState `_" msgstr "" +"`Οδηγός από το ActiveState `_" diff --git a/tutorial/whatnow.po b/tutorial/whatnow.po index 0bcd058f..be280d4e 100644 --- a/tutorial/whatnow.po +++ b/tutorial/whatnow.po @@ -30,7 +30,7 @@ msgid "" msgstr "" "Η ανάγνωση αυτού του διδακτικού υλικού πιθανότατα ενίσχυσε το ενδιαφέρον σας " "για τη χρήση της Python --- θα πρέπει να είστε πρόθυμοι να εφαρμόσετε την " -"Pyhton για την επίλυση των προβλημάτων του πραγματικού σας κόσμου. Που " +"Python για την επίλυση των προβλημάτων του πραγματικού σας κόσμου. Που " "πρέπει να πάτε για να μάθετε περισσότερα;" #: tutorial/whatnow.rst:11 From 730ba29adc816d0e69a90f670dd3e559ea6555b2 Mon Sep 17 00:00:00 2001 From: mgiannopoulos24 <79588074+mgiannopoulos24@users.noreply.github.com> Date: Mon, 9 Dec 2024 14:28:28 +0200 Subject: [PATCH 05/12] Added another step on contributing.md to avoid pip install issue (#571) --- CONTRIBUTING.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 044bddf3..6c495939 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -52,7 +52,12 @@ git remote add upstream git@github.com:pygreece/python-docs-gr.git git remote set-url --push upstream git@github.com:/cpython.git ``` -6. [Προαιρετικό βήμα] Δημιουργείστε ένα virtual environment και κάντε activate: +6. Τέλος κατεβάστε το περιεχόμενο του cpython submodule πληκτρολογώντας: +```bash +git submodule update --init +``` + +7. [Προαιρετικό βήμα] Δημιουργείστε ένα virtual environment και κάντε activate: ```bash python -m venv env @@ -60,7 +65,7 @@ source env/bin/activate # macOS or Linux env\Scripts\activate.bat # Windows ``` -7. [Προαιρετικό βήμα] Εγκαταστείστε τα requirements: +8. [Προαιρετικό βήμα] Εγκαταστήστε τα requirements: ```bash pip install -r requirements.txt From 20a80e929ed23312d01a0f467202e6b0ce1982a0 Mon Sep 17 00:00:00 2001 From: mgiannopoulos24 <79588074+mgiannopoulos24@users.noreply.github.com> Date: Thu, 12 Dec 2024 09:50:22 +0200 Subject: [PATCH 06/12] Translate/reference executionmodel (#573) * Translate file reference/executionmode.po * added info * added all the words on the txt * Update executionmodel.po * [pre-commit.ci lite] apply automatic fixes * Update executionmodel.po * [pre-commit.ci lite] apply automatic fixes * Update executionmodel.po * [pre-commit.ci lite] apply automatic fixes * Update executionmodel.po * [pre-commit.ci lite] apply automatic fixes * Update reference/executionmodel.po Co-authored-by: Lysandros Nikolaou * [pre-commit.ci lite] apply automatic fixes * Update executionmodel.po * [pre-commit.ci lite] apply automatic fixes * Update executionmodel.po * [pre-commit.ci lite] apply automatic fixes * Update reference/executionmodel.po Co-authored-by: Lysandros Nikolaou * Update executionmodel.po * Update executionmodel.po * [pre-commit.ci lite] apply automatic fixes * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * Update reference/executionmodel.po Co-authored-by: Panagiotis Skias * [pre-commit.ci lite] apply automatic fixes * rollback to previous dictionary * [pre-commit.ci lite] apply automatic fixes * added 2 words --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: Lysandros Nikolaou Co-authored-by: Panagiotis Skias --- dictionaries/main.txt | 4 + reference/executionmodel.po | 330 ++++++++++++++++++++++++++++++------ 2 files changed, 279 insertions(+), 55 deletions(-) diff --git a/dictionaries/main.txt b/dictionaries/main.txt index e8969f2a..c4dee596 100644 --- a/dictionaries/main.txt +++ b/dictionaries/main.txt @@ -187,6 +187,7 @@ api append argument array +as assert b backslash @@ -532,6 +533,7 @@ pages parser parsing path +pattern pdb pi pip @@ -831,6 +833,7 @@ zlib μακροεντολή μετά μετα +μεταβλητών μεταδεδομένων μετακλάσεων μετακλάση @@ -868,6 +871,7 @@ zlib πεζογράμμιση περιέχει περιβάλλοντων +περιβάλλουσας περιγραφέα περιγραφέας περιηγείστε diff --git a/reference/executionmodel.po b/reference/executionmodel.po index 968f1bdc..8374ee6f 100644 --- a/reference/executionmodel.po +++ b/reference/executionmodel.po @@ -9,20 +9,20 @@ msgstr "" "Project-Id-Version: Python 3.12\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-03-14 12:51+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" +"PO-Revision-Date: 2024-12-09 18:41+0200\n" +"Last-Translator: Marios Giannopoulos \n" +"Language-Team: PyGreece \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: reference/executionmodel.rst:6 msgid "Execution model" -msgstr "" +msgstr "Μοντέλο εκτέλεσης" #: reference/executionmodel.rst:15 msgid "Structure of a program" -msgstr "" +msgstr "Δομή ενός προγράμματος" #: reference/executionmodel.rst:19 msgid "" @@ -37,6 +37,18 @@ msgid "" "option:`-m` argument is also a code block. The string argument passed to the " "built-in functions :func:`eval` and :func:`exec` is a code block." msgstr "" +"Ένα πρόγραμμα Python αποτελείται από μπλοκ κώδικα. Ένα :dfn:`μπλοκ` είναι " +"ένα κομμάτι κειμένου προγράμματος Python που εκτελείται ως μια μονάδα. Τα " +"παρακάτω είναι μπλοκ: ένα module, το σώμα μιας συνάρτησης, ο ένας ορισμός " +"κλάσης. Κάθε εντολή που πληκτρολογείται διαδραστικά αποτελεί μπλοκ. Ένα " +"αρχείο δέσμης ενεργειών (ένα αρχείο που δίνεται ως τυπική είσοδος στο " +"διερμηνέα ή καθορίζεται ως όρισμα γραμμής εντολών στον διερμηνέα) είναι ένα " +"μπλοκ κώδικα. Μια script εντολή (μια εντολή που καθορίζεται στο διερμηνέα με " +"την επιλογή :option:`-c`) είναι ένα μπλοκ κώδικα. Μια ενότητα που εκτελείται " +"ως ανωτέρου επιπέδου script (ως module ``__main__``) από τη γραμμή εντολών " +"χρησιμοποιώντας ένα όρισμα :option:`-m` όρισμα είναι επίσης ένα μπλοκ " +"κώδικα. Το όρισμα συμβολοσειράς που περνάει στις ενσωματωμένες συναρτήσεις :" +"func:`eval` και :func:`exec` είναι ένα μπλοκ κώδικα." #: reference/executionmodel.rst:33 msgid "" @@ -44,50 +56,58 @@ msgid "" "some administrative information (used for debugging) and determines where " "and how execution continues after the code block's execution has completed." msgstr "" +"Ένα μπλοκ κώδικα εκτελείται σε ένα :dfn:`πλαίσιο εκτέλεσης`. Ένα πλαίσιο " +"περιέχει ορισμένες πληροφορίες διαχείρισης (που χρησιμοποιούνται για " +"αποσφαλμάτωση) και καθορίζει που και πως συνεχίζεται η εκτέλεση μετά την " +"ολοκλήρωση της εκτέλεσης του μπλοκ κώδικα." #: reference/executionmodel.rst:40 msgid "Naming and binding" -msgstr "" +msgstr "Ονομασία και σύνδεση" #: reference/executionmodel.rst:49 msgid "Binding of names" -msgstr "" +msgstr "Σύνδεση ονομάτων" #: reference/executionmodel.rst:55 msgid "" ":dfn:`Names` refer to objects. Names are introduced by name binding " "operations." msgstr "" +":dfn:`Names` αναφέρονται σε αντικείμενα. Τα ονόματα εισάγονται μέσω " +"λειτουργιών δέσμευσης ονομάτων." #: reference/executionmodel.rst:59 msgid "The following constructs bind names:" -msgstr "" +msgstr "Οι παρακάτω δομές δεσμεύουν ονόματα:" #: reference/executionmodel.rst:61 msgid "formal parameters to functions," -msgstr "" +msgstr "τυπικές παράμετροι συναρτήσεων," #: reference/executionmodel.rst:62 msgid "class definitions," -msgstr "" +msgstr "ορισμοί κλάσεων," #: reference/executionmodel.rst:63 msgid "function definitions," -msgstr "" +msgstr "ορισμοί συναρτήσεων" #: reference/executionmodel.rst:64 msgid "assignment expressions," -msgstr "" +msgstr "εκφράσεις ανάθεσης" #: reference/executionmodel.rst:65 msgid "" ":ref:`targets ` that are identifiers if occurring in an " "assignment:" msgstr "" +":ref:`targets ` που είναι αναγνωριστικά αν εμφανίζονται σε μια " +"ανάθεση:" #: reference/executionmodel.rst:68 msgid ":keyword:`for` loop header," -msgstr "" +msgstr "επικεφαλίδα βρόχου :keyword:`for`," #: reference/executionmodel.rst:69 msgid "" @@ -95,22 +115,25 @@ msgid "" "clause, :keyword:`except* ` clause, or in the as-pattern in " "structural pattern matching," msgstr "" +"μετά το :keyword:`!as` σε μια δήλωση :keyword:`with`, σε ρήτρα :keyword:" +"`except`, σε ρήτρα :keyword:`except* ` ή στο as-pattern κατά τη " +"δομική αντιστοίχησης μοτίβων," #: reference/executionmodel.rst:71 msgid "in a capture pattern in structural pattern matching" -msgstr "" +msgstr "σε ένα στιγμιότυπο μοτίβου κατά τη δομική αντιστοίχησης μοτίβων" #: reference/executionmodel.rst:73 msgid ":keyword:`import` statements." -msgstr "" +msgstr "δηλώσεις :keyword:`import`." #: reference/executionmodel.rst:74 msgid ":keyword:`type` statements." -msgstr "" +msgstr "δηλώσεις :keyword:`type`." #: reference/executionmodel.rst:75 msgid ":ref:`type parameter lists `." -msgstr "" +msgstr ":ref:`λίστες παραμέτρων τύπου `." #: reference/executionmodel.rst:77 msgid "" @@ -118,18 +141,28 @@ msgid "" "names defined in the imported module, except those beginning with an " "underscore. This form may only be used at the module level." msgstr "" +"Η δήλωση :keyword:`!import` της μορφής ``from ... import *`` συνδέει όλα τα " +"ονόματα που ορίζονται στο εισαγόμενο module, εκτός από αυτά που ξεκινούν με " +"μια κάτω παύλα. Αυτή η μορφή μπορεί να χρησιμοποιηθεί μόνο στο επίπεδο του " +"module." #: reference/executionmodel.rst:81 msgid "" "A target occurring in a :keyword:`del` statement is also considered bound " "for this purpose (though the actual semantics are to unbind the name)." msgstr "" +"Ένας στόχος που εμφανίζεται σε μια δήλωση :keyword:`del` θεωρείται επίσης " +"δεσμευμένος για αυτό τον σκοπό (αν και η πραγματική σημασιολογία είναι να " +"αποσυνδέσει το όνομα)." #: reference/executionmodel.rst:84 msgid "" "Each assignment or import statement occurs within a block defined by a class " "or function definition or at the module level (the top-level code block)." msgstr "" +"Κάθε δήλωση ανάθεσης ή εισαγωγής συμβαίνει μέσα σε ένα μπλοκ που ορίζεται " +"από έναν ορισμό κλάσης ή συνάρτησης ή στο επίπεδο του module (το μπλοκ " +"κώδικα ανώτατου επιπέδου)." #: reference/executionmodel.rst:89 msgid "" @@ -139,16 +172,25 @@ msgid "" "code block are local and global.) If a variable is used in a code block but " "not defined there, it is a :dfn:`free variable`." msgstr "" +"Αν ένα όνομα δεσμεύεται σε ένα μπλοκ, είναι μια τοπική μεταβλητή αυτού του " +"μπλοκ, εκτός αν δηλωθεί ως :keyword:`nonlocal` ή :keyword:`global`. Αν ένα " +"όνομα δεσμεύεται στο επίπεδο του module, είναι μια καθολική μεταβλητή. (Οι " +"μεταβλητές του μπλοκ του module είναι ταυτόχρονα τοπικές και καθολικές.) Αν " +"μια μεταβλητή χρησιμοποιείται σε ένα μπλοκ κώδικα αλλά δεν ορίζεται εκεί, " +"είναι μια :dfn:`free variable`." #: reference/executionmodel.rst:95 msgid "" "Each occurrence of a name in the program text refers to the :dfn:`binding` " "of that name established by the following name resolution rules." msgstr "" +"Κάθε εμφάνιση ενός ονόματος στο κείμενο του προγράμματος αναφέρεται στη :dfn:" +"`binding` αυτού του ονόματος που καθορίζεται από τους παρακάτω κανόνες " +"επίλυσης ονομάτων." #: reference/executionmodel.rst:101 msgid "Resolution of names" -msgstr "" +msgstr "Επίλυση ονομάτων" #: reference/executionmodel.rst:105 msgid "" @@ -158,6 +200,11 @@ msgid "" "contained within the defining one, unless a contained block introduces a " "different binding for the name." msgstr "" +"Ένα :dfn:`scope` ορίζει την ορατότητα ενός ονόματος μέσα σε ένα μπλοκ. Αν " +"μια τοπική μεταβλητή οριστεί σε ένα μπλοκ, το πεδίο της περιλαμβάνει το " +"μπλοκ αυτό. Αν ο ορισμός συμβαίνει σε ένα μπλοκ συνάρτησης, το πεδίο " +"επεκτείνεται σε οποιαδήποτε μπλοκ περιέχονται μέσα σε αυτό που την ορίζει, " +"εκτός αν ένα περιεχόμενο μπλοκ εισάγει διαφορετική σύνδεση για το όνομα." #: reference/executionmodel.rst:113 msgid "" @@ -165,6 +212,9 @@ msgid "" "enclosing scope. The set of all such scopes visible to a code block is " "called the block's :dfn:`environment`." msgstr "" +"Όταν ένα όνομα χρησιμοποιείται σε ένα μπλοκ κώδικα, επιλύεται " +"χρησιμοποιώντας το πλησιέστερο περιβάλλον πεδίο. Το σύνολο όλων των πεδίων " +"που είναι ορατά σε ένα μπλοκ κώδικα ονομάζεται :dfn:`environment` του μπλοκ." #: reference/executionmodel.rst:121 msgid "" @@ -174,6 +224,12 @@ msgid "" "is used, an :exc:`UnboundLocalError` exception is raised. :exc:" "`UnboundLocalError` is a subclass of :exc:`NameError`." msgstr "" +"Όταν ένα όνομα δεν βρίσκεται καθόλου, γίνεται raise μια εξαίρεση :exc:" +"`NameError`. Αν το τρέχον πεδίο είναι πεδίο συνάρτησης και το όνομα " +"αναφέρεται σε μια τοπική μεταβλητή που δεν έχει ακόμα δεσμευτεί σε κάποια " +"τιμή στο σημείο που χρησιμοποιείται το όνομα, γίνεται raise μια εξαίρεση :" +"exc:`UnboundLocalError`. Η :exc:`UnboundLocalError` είναι μια υποκλάση της :" +"exc:`NameError`." #: reference/executionmodel.rst:127 msgid "" @@ -186,6 +242,16 @@ msgid "" "the block for name binding operations. See :ref:`the FAQ entry on " "UnboundLocalError ` for examples." msgstr "" +"Αν μια λειτουργία σύνδεσης ονομάτων συμβεί οπουδήποτε μέσα σε ένα μπλοκ " +"κώδικα, όλες οι χρήσεις του ονόματος μέσα στο μπλοκ αντιμετωπίζονται ως " +"αναφορές στο τρέχον μπλοκ. Αυτό μπορεί να οδηγήσει σε σφάλματα όταν ένα " +"όνομα χρησιμοποιείται μέσα σε ένα μπλοκ πριν δεσμευτεί. Αυτός ο κανόνας " +"είναι λεπτός. Η Python δεν διαθέτει δηλώσεις και επιτρέπει τις λειτουργίες " +"σύνδεση ονομάτων να συμβαίνουν οπουδήποτε μέσα σε ένα μπλοκ κώδικα. Οι " +"τοπικές μεταβλητές ενός μπλοκ κώδικα μπορούν να προσδιοριστούν σαρώνοντας " +"ολόκληρο το κείμενο του μπλοκ για λειτουργίες σύνδεσης ονομάτων. Δείτε :ref:" +"`την εγγραφή στο FAQ για το UnboundLocalError ` για " +"παραδείγματα." #: reference/executionmodel.rst:136 msgid "" @@ -198,6 +264,16 @@ msgid "" "found there, the builtins namespace is searched. The :keyword:`!global` " "statement must precede all uses of the listed names." msgstr "" +"Αν η δήλωση :keyword:`global` εμφανιστεί μέσα σε ένα μπλοκ, όλες οι χρήσεις " +"των ονομάτων που καθορίζονται στη δήλωση αναφέρονται στις συνδέσεις αυτών " +"των ονομάτων στον χώρο ονομάτων ανώτατου επιπέδου. Τα ονόματα επιλύονται " +"στον χώρο ανώτατου επιπέδου αναζητώντας πρώτα στον καθολικό χώρο ονομάτων, " +"δηλαδή τον χώρο ονομάτων του module που περιέχει το μπλοκ κώδικα, και στη " +"συνέχεια στο χώρο ονομάτων των builtins, τον χώρο ονομάτων του module :mod:" +"`builtins`. Ο καθολικός χώρος ονομάτων αναζητείται πρώτος. Αν τα ονόματα δεν " +"βρεθούν εκεί, αναζητούνται στον χώρο ονομάτων των builtins. Η δήλωση :" +"keyword:`!global` πρέπει να προηγείται όλων των χρήσεων των καταγεγραμμένων " +"ονομάτων." #: reference/executionmodel.rst:145 msgid "" @@ -206,6 +282,10 @@ msgid "" "variable contains a global statement, the free variable is treated as a " "global." msgstr "" +"Η δήλωση :keyword:`global` έχει το ίδιο πεδίο με μια λειτουργία σύνδεσης " +"ονόματος στο ίδιο μπλοκ. Αν το πλησιέστερο περιβάλλον πεδίου για μια " +"ελεύθερη μεταβλητή περιέχει μια δήλωση global, η ελεύθερη μεταβλητή " +"αντιμετωπίζεται ως καθολική." #: reference/executionmodel.rst:151 msgid "" @@ -215,12 +295,21 @@ msgid "" "any enclosing function scope. :ref:`Type parameters ` cannot be " "rebound with the :keyword:`!nonlocal` statement." msgstr "" +"Η δήλωση :keyword:`nonlocal` προκαλεί τα αντίστοιχα ονόματα να αναφέρονται " +"σε προηγουμένως δεσμευμένες μεταβλητές στο πλησιέστερο περιβάλλον πεδίου " +"συνάρτησης. Μια εξαίρεση :exc:`SyntaxError` εγείρεται κατά το χρόνο " +"μεταγλώττισης αν το συγκεκριμένο δεν υπάρχει σε κανένα περιβάλλον πεδίου " +"συνάρτησης. :ref:`Οι παράμετροι τύπου ` δεν μπορούν να " +"δεσμευτούν εκ νέου με τη δήλωση :keyword:`!nonlocal`." #: reference/executionmodel.rst:159 msgid "" "The namespace for a module is automatically created the first time a module " "is imported. The main module for a script is always called :mod:`__main__`." msgstr "" +"Ο χώρος ονομάτων για ένα module δημιουργείται αυτόματα την πρώτη φορά που το " +"module εισάγεται Το κύριο module για ένα script ονομάζεται πάντα :mod:" +"`__main__`." #: reference/executionmodel.rst:162 msgid "" @@ -236,14 +325,26 @@ msgid "" "scopes>`, which have access to their enclosing class scopes. This means that " "the following will fail::" msgstr "" +"Τα μπλοκ ορισμού κλάσεων και τα ορίσματα στις συναρτήσεις :func:`exec` και :" +"func:`eval` είναι ειδικές περιπτώσεις στο πλαίσιο της επίλυσης ονομάτων. " +"Ένας ορισμός κλάσης είναι μια εκτελέσιμη δήλωση που μπορεί να χρησιμοποιεί " +"και να ορίζει ονόματα. Αυτές οι αναφορές ακολουθούν τους κανονικούς κανόνες " +"επίλυσης ονομάτων, με την εξαίρεση ότι οι αδέσμευτες τοπικές μεταβλητές " +"αναζητούνται στον καθολικό χώρο ονομάτων. Ο χώρος ονομάτων του ορισμού της " +"κλάσης γίνεται το λεξικό χαρακτηριστικών της κλάσης. Το πεδίο των ονομάτων " +"που ορίζονται σε ένα μπλοκ κλάσης περιορίζεται στο μπλοκ της κλάσης· δεν " +"επεκτείνεται στα μπλοκ κώδικα των μεθόδων. Αυτό περιλαμβάνει συνθέσεις και " +"εκφράσεις γεννητριών, αλλά δεν περιλαμβάνει :ref:`πεδία σημειώσεων " +"`, τα οποία έχουν πρόσβαση στα περιβάλλοντα πεδία της " +"περιβάλλουσας κλάσης. Αυτό σημαίνει ότι το παρακάτω θα αποτύχει::" #: reference/executionmodel.rst:179 msgid "However, the following will succeed::" -msgstr "" +msgstr "Ωστόσο, το παρακάτω θα επιτύχει::" #: reference/executionmodel.rst:190 msgid "Annotation scopes" -msgstr "" +msgstr "Σημειογραφία πεδία" #: reference/executionmodel.rst:192 msgid "" @@ -253,15 +354,23 @@ msgid "" "currently do not use annotation scopes, but they are expected to use " "annotation scopes in Python 3.13 when :pep:`649` is implemented." msgstr "" +":ref:`Οι λίστες παραμέτρων τύπου ` και οι δηλώσεις :keyword:" +"`type` εισάγουν *πεδία σημειογραφίας*, τα οποία συμπεριφέρονται κυρίως όπως " +"τα πεδία συναρτήσεων, αλλά με κάποιες εξαιρέσεις που συζητούνται παρακάτω. :" +"term:`Annotations ` προς το παρόν δεν χρησιμοποιούν πεδία " +"σημειώσεων, αλλά αναμένεται να τα χρησιμοποιήσουν στην Python 3.13, όταν " +"υλοποιηθεί το :pep:`649`." #: reference/executionmodel.rst:198 msgid "Annotation scopes are used in the following contexts:" -msgstr "" +msgstr "Τα πεδία σημειογραφίας χρησιμοποιούνται στα παρακάτω συμφραζόμενα:" #: reference/executionmodel.rst:200 msgid "" "Type parameter lists for :ref:`generic type aliases `." msgstr "" +"Λίστες παραμέτρων τύπου για :ref:`generic type aliases `." #: reference/executionmodel.rst:201 msgid "" @@ -269,6 +378,9 @@ msgid "" "generic function's annotations are executed within the annotation scope, but " "its defaults and decorators are not." msgstr "" +"Λίστες τύπου παραμέτρου για :ref:`generic functions `. Οι " +"σημειογραφίες μιας γενικής συνάρτησης εκτελούνται μέσα στο πεδίο σημειώσεων, " +"αλλά οι προεπιλογές και οι διακοσμητές της όχι." #: reference/executionmodel.rst:204 msgid "" @@ -276,20 +388,28 @@ msgid "" "class's base classes and keyword arguments are executed within the " "annotation scope, but its decorators are not." msgstr "" +"Λίστες παραμέτρων τύπου για :ref:`generic classes `. Οι " +"βασικές κλάσεις και τα ορίσματα λέξεων-κλειδιών μιας γενικής κλάσης " +"εκτελούνται μέσα στο πεδίο σημειώσεων, αλλά οι διακοσμητές της όχι." #: reference/executionmodel.rst:207 msgid "" "The bounds and constraints for type variables (:ref:`lazily evaluated `)." msgstr "" +"Τα όρια και οι περιορισμοί για μεταβλητές τύπου (:ref:`lazily evaluated " +"`)." #: reference/executionmodel.rst:209 msgid "The value of type aliases (:ref:`lazily evaluated `)." msgstr "" +"Η τιμή των ψευδωνύμων τύπου (:ref:`lazily evaluated `)." #: reference/executionmodel.rst:211 msgid "Annotation scopes differ from function scopes in the following ways:" msgstr "" +"Τα πεδία σημειογραφίας διαφέρουν από τα πεδία συναρτήσεων με τους εξής " +"τρόπους:" #: reference/executionmodel.rst:213 msgid "" @@ -301,6 +421,14 @@ msgid "" "functions defined within classes, which cannot access names defined in the " "class scope." msgstr "" +"Τα πεδία σημειογραφίας έχουν πρόσβαση στον χώρο ονομάτων της περιβάλλουσας " +"κλάσης. Αν ένα πεδίο σημειογραφίας βρίσκεται αμέσως μέσα σε έναν χώρο κλάσης " +"ή μέσα σε ένα άλλο πεδίο σημειογραφίας που βρίσκεται αμέσως μέσα σε έναν " +"χώρο κλάσης, ο κώδικας στο πεδίο σημειογραφίας μπορεί να χρησιμοποιεί " +"ονόματα που έχουν οριστεί στον χώρο της κλάσης σαν να εκτελούνταν απευθείας " +"στο σώμα της κλάσης. Αυτό έρχεται σε αντίθεση με τις κανονικές συναρτήσεις " +"που ορίζονται μέσα σε κλάσεις, οι οποίες δεν μπορούν να έχουν πρόσβαση σε " +"ονόματα που έχουν οριστεί στο χώρο της κλάσης." #: reference/executionmodel.rst:219 msgid "" @@ -309,6 +437,10 @@ msgid "" "assignment_expression>` expressions. (These expressions are allowed in other " "scopes contained within the annotation scope.)" msgstr "" +"Οι εκφράσεις σε πεδία σημειογραφίας δεν μπορούν να περιέχουν τις εκφράσεις :" +"keyword:`yield`, ``yield from``, :keyword:`await` ή :token:`:=` των αντικειμένων " +"που ορίζονται μέσα στο πεδίο.Αντίθετα, το :attr:`!__qualname__` αυτών των " +"αντικειμένων είναι σαν το αντικείμενο να είχε οριστεί στο περιβάλλων πεδίο." #: reference/executionmodel.rst:231 msgid "Annotation scopes were introduced in Python 3.12 as part of :pep:`695`." msgstr "" +"Τα πεδία σημειώσεων εισήχθησαν στην Python 3.12 ως μέρος του :pep:`695`." #: reference/executionmodel.rst:237 msgid "Lazy evaluation" -msgstr "" +msgstr "Καθυστερημένη εκτίμηση" #: reference/executionmodel.rst:239 msgid "" @@ -343,16 +484,26 @@ msgid "" "is created. Instead, they are only evaluated when doing so is necessary to " "resolve an attribute access." msgstr "" +"Οι τιμές των ψευδωνύμων τύπου που δημιουργούνται μέσω της δήλωσης :keyword:" +"`type` αξιολογούνται *καθυστερημένα*. Το ίδιο ισχύει και για τα όρια και " +"τους περιορισμούς των μεταβλητών τύπου που δημιουργούνται μέσω της :ref:" +"`σύνταξης παραμέτρων τύπου `.Αυτό σημαίνει ότι δεν " +"αξιολογούνται κατά τη δημιουργία του ψευδωνύμου τύπου ή της μεταβλητής " +"τύπου. Αντίθετα, αξιολογούνται μόνο όταν αυτό είναι απαραίτητο για την " +"επίλυση μιας πρόσβασης χαρακτηριστικού." #: reference/executionmodel.rst:246 msgid "Example:" -msgstr "" +msgstr "Παράδειγμα:" #: reference/executionmodel.rst:262 msgid "" "Here the exception is raised only when the ``__value__`` attribute of the " "type alias or the ``__bound__`` attribute of the type variable is accessed." msgstr "" +"Εδώ η εξαίρεση εγείρεται μόνο όταν γίνει πρόσβαση στο χαρακτηριστικό " +"``__value__`` του ψευδωνύμου τύπου ή στο χαρακτηριστικό ``__bound__`` της " +"μεταβλητής τύπου." #: reference/executionmodel.rst:266 msgid "" @@ -360,17 +511,25 @@ msgid "" "been defined when the type alias or type variable is created. For example, " "lazy evaluation enables creation of mutually recursive type aliases::" msgstr "" +"Αυτή η συμπεριφορά είναι κυρίως χρήσιμη για αναφορές σε τύπους που δεν έχουν " +"ακόμη οριστεί κατά τη δημιουργία του ψευδωνύμου τύπου ή της μεταβλητής " +"τύπου. Για παράδειγμα, η καθυστερημένη εκτίμηση επιτρέπει τη δημιουργία " +"αμοιβαίων αναδρομικών ψευδωνύμων τύπων::" #: reference/executionmodel.rst:276 msgid "" "Lazily evaluated values are evaluated in :ref:`annotation scope `, which means that names that appear inside the lazily evaluated " +"scopes>`,which means that names that appear inside the lazily evaluated " "value are looked up as if they were used in the immediately enclosing scope." msgstr "" +"Οι τιμές που αξιολογούνται καθυστερημένα αξιολογούνται στο :ref:`πεδίο " +"σημειογραφίας `, που σημαίνει ότι τα ονόματα που " +"εμφανίζονται μέσα στην καθυστερημένα αξιολογούμενη τιμή αναζητούνται σαν να " +"χρησιμοποιήθηκαν στο αμέσως περιβάλλον πεδίο." #: reference/executionmodel.rst:285 msgid "Builtins and restricted execution" -msgstr "" +msgstr "Ενσωματωμένες συναρτήσεις και περιορισμένη εκτέλεση" #: reference/executionmodel.rst:291 msgid "" @@ -379,6 +538,11 @@ msgid "" "keyword:`import` the :mod:`builtins` module and modify its attributes " "appropriately." msgstr "" +"Οι χρήστες δεν θα πρέπει να τροποποιούν το ``__builtins__``· είναι αυστηρά " +"μια λεπτομέρεια υλοποίησης. Οι χρήστες που θέλουν να παρακάμψουν τιμές στον " +"χώρο ονομάτων των ενσωματωμένων συναρτήσεων θα πρέπει να κάνουν :keyword:" +"`import` το module :mod:`builtins` και να τροποποιούν τα χαρακτηριστικά του " +"κατάλληλα." #: reference/executionmodel.rst:296 msgid "" @@ -390,16 +554,27 @@ msgid "" "other module, ``__builtins__`` is an alias for the dictionary of the :mod:" "`builtins` module itself." msgstr "" +"Ο χώρος ονομάτων των ενσωματωμένων συναρτήσεων που σχετίζεται με την " +"εκτέλεση ενός μπλοκ κώδικα βρίσκεται στην πραγματικότητα μέσω αναζήτησης του " +"ονόματος ``__builtins__`` στον καθολικό του χώρο ονομάτων· αυτό θα πρέπει να " +"είναι ένα λεξικό ή ένα module (στη δεύτερη περίπτωση χρησιμοποιείται το " +"λεξικό του module). Από προεπιλογή, όταν βρισκόμαστε στο module :mod:" +"`__main__`, το ``__builtins__`` είναι το ενσωματωμένο module :mod:" +"`builtins`· όταν βρισκόμαστε σε οποιοδήποτε άλλο module, το ``__builtins__`` " +"είναι ένα ψευδώνυμο για το λεξικό του ίδιου του module :mod:`builtins`." #: reference/executionmodel.rst:308 msgid "Interaction with dynamic features" -msgstr "" +msgstr "Αλληλεπίδραση με δυναμικές λειτουργίες" #: reference/executionmodel.rst:310 msgid "" "Name resolution of free variables occurs at runtime, not at compile time. " "This means that the following code will print 42::" msgstr "" +"Η επίλυση ονομάτων των ελεύθερων μεταβλητών συμβαίνει κατά το χρόνο " +"εκτέλεσης, όχι κατά το χρόνο μεταγλώττισης. Αυτό σημαίνει ότι ο παρακάτω " +"κώδικας θα εκτυπώσει το 42::" #: reference/executionmodel.rst:321 msgid "" @@ -411,10 +586,18 @@ msgid "" "global and local namespace. If only one namespace is specified, it is used " "for both." msgstr "" +"Οι συναρτήσεις :func:`eval` και :func:`exec` δεν έχουν πρόσβαση στο πλήρες " +"περιβάλλον για την επίλυση ονομάτων. Τα ονόματα μπορεί να επιλύονται στους " +"τοπικούς και καθολικούς χώρους ονομάτων του καλούντος. Οι ελεύθερες " +"μεταβλητές δεν επιλύονται στο πλησιέστερο περιβάλλον πεδίου, αλλά στον " +"καθολικό χώρο ονομάτων. [#]_ Οι συναρτήσεις :func:`exec` και :func:`eval` " +"έχουν προαιρετικά ορίσματα για να παρακάμψουν τους καθολικούς και τοπικούς " +"χώρους ονομάτων. Αν καθοριστεί μόνο ένας χώρος ονομάτων, χρησιμοποιείται και " +"για τους δύο." #: reference/executionmodel.rst:332 msgid "Exceptions" -msgstr "" +msgstr "Εξαιρέσεις" #: reference/executionmodel.rst:343 msgid "" @@ -424,6 +607,12 @@ msgid "" "*handled* by the surrounding code block or by any code block that directly " "or indirectly invoked the code block where the error occurred." msgstr "" +"Οι εξαιρέσεις είναι ένας τρόπος διακοπής της κανονικής ροής ελέγχου ενός " +"μπλοκ κώδικα, προκειμένου να αντιμετωπιστούν σφάλματα ή άλλες εξαιρετικές " +"συνθήκες. Μια εξαίρεση *γίνεται raise* στο σημείο όπου εντοπίζεται το " +"σφάλμα· μπορεί να *αντιμετωπιστεί* από το περιβάλλον μπλοκ κώδικα ή από " +"οποιοδήποτε μπλοκ κώδικα που άμεσα ή έμμεσα εκτέλεσε το μπλοκ κώδικα όπου " +"συνέβη το σφάλμα." #: reference/executionmodel.rst:349 msgid "" @@ -435,6 +624,14 @@ msgid "" "code which does not handle the exception, but is executed whether an " "exception occurred or not in the preceding code." msgstr "" +"Ο διερμηνέας της Python εγείρει μια εξαίρεση όταν εντοπίσει ένα σφάλμα κατά " +"την εκτέλεση(όπως η διαίρεση με το μηδέν). Ένα πρόγραμμα Python μπορεί " +"επίσης να εγείρει ρητά μια εξαίρεση με τη δήλωση :keyword:`raise`. Οι " +"διαχειριστές εξαιρέσεων καθορίζονται με τη δήλωση :keyword:`try` ... :" +"keyword:`except`. Η ρήτρα :keyword:`finally` μιας τέτοιας δήλωσης μπορεί να " +"χρησιμοποιηθεί για να καθοριστεί κώδικας καθαρισμού, ο οποίος δεν " +"διαχειρίζεται την εξαίρεση αλλά εκτελείται ανεξάρτητα από το αν προηγήθηκε " +"εξαίρεση ή όχι στον προηγούμενο κώδικα." #: reference/executionmodel.rst:359 msgid "" @@ -443,6 +640,11 @@ msgid "" "but it cannot repair the cause of the error and retry the failing operation " "(except by re-entering the offending piece of code from the top)." msgstr "" +"Η Python χρησιμοποιεί το μοντέλο διαχείρισης σφαλμάτων «τερματισμού»: ένας " +"διαχειριστής εξαιρέσεων μπορεί να διαπιστώσει τι συνέβη και να συνεχίσει την " +"εκτέλεση σε ένα εξωτερικό επίπεδο, αλλά δεν μπορεί να διορθώσει την αιτία " +"του σφάλματος και να επαναλάβει τη λειτουργία που απέτυχε (εκτός αν " +"επανεισαχθεί το προβληματικό κομμάτι κώδικα από την αρχή)." #: reference/executionmodel.rst:366 msgid "" @@ -451,6 +653,10 @@ msgid "" "either case, it prints a stack traceback, except when the exception is :exc:" "`SystemExit`." msgstr "" +"Όταν μια εξαίρεση δεν αντιμετωπιστεί καθόλου, ο διερμηνέας τερματίζει την " +"εκτέλεση του προγράμματος ή επιστρέφει στον διαδραστικό κύριο βρόχο του. Και " +"στις δύο περιπτώσεις, εκτυπώνει το ίχνος της στοίβας, εκτός αν η εξαίρεση " +"είναι :exc:`SystemExit`." #: reference/executionmodel.rst:370 msgid "" @@ -460,6 +666,12 @@ msgid "" "class>` thereof. The instance can be received by the handler and can carry " "additional information about the exceptional condition." msgstr "" +"Οι εξαιρέσεις αναγνωρίζονται από στιγμιότυπα κλάσεων. Η ρήτρα :keyword:" +"`except` επιλέγεται ανάλογα με την κλάση του στιγμιότυπου: πρέπει να " +"αναφέρεται στην κλάση του στιγμιότυπου ή σε μια :term:`μη εικονική βασική " +"κλάση ` αυτής. Το στιγμιότυπο μπορεί να παραληφθεί από " +"τον διαχειριστή και να μεταφέρει πρόσθετες πληροφορίες σχετικά με την " +"εξαιρετική συνθήκη." #: reference/executionmodel.rst:378 msgid "" @@ -468,127 +680,135 @@ msgid "" "be relied on by code which will run under multiple versions of the " "interpreter." msgstr "" +"Τα μηνύματα εξαιρέσεων δεν αποτελούν μέρος του API της Python. Το " +"περιεχόμενό τους μπορεί να αλλάξει από τη μία έκδοση της Python στην επόμενη " +"χωρίς προειδοποίηση και δεν θα πρέπει να βασίζεται σε αυτά ο κώδικας που θα " +"εκτελεστεί σε πολλαπλές εκδόσεις του διερμηνέα." #: reference/executionmodel.rst:382 msgid "" "See also the description of the :keyword:`try` statement in section :ref:" "`try` and :keyword:`raise` statement in section :ref:`raise`." msgstr "" +"Δείτε επίσης την περιγραφή της δήλωσης :keyword:`try` στην ενότητα :ref:" +"`try` και της δήλωσης :keyword:`raise` στην ενότητα :ref:`raise`." #: reference/executionmodel.rst:387 msgid "Footnotes" -msgstr "" +msgstr "Υποσημειώσεις" #: reference/executionmodel.rst:388 msgid "" "This limitation occurs because the code that is executed by these operations " "is not available at the time the module is compiled." msgstr "" +"Αυτός ο περιορισμός προκύπτει επειδή ο κώδικας που εκτελείται από αυτές τις " +"λειτουργίες δεν είναι διαθέσιμος τη στιγμή που το module μεταγλωττίζεται." #: reference/executionmodel.rst:8 msgid "execution model" -msgstr "" +msgstr "μοντέλο εκτέλεσης" #: reference/executionmodel.rst:8 msgid "code" -msgstr "" +msgstr "κώδικας" #: reference/executionmodel.rst:17 msgid "block" -msgstr "" +msgstr "μπλοκ" #: reference/executionmodel.rst:31 reference/executionmodel.rst:287 msgid "execution" -msgstr "" +msgstr "εκτέλεση" #: reference/executionmodel.rst:31 msgid "frame" -msgstr "" +msgstr "πλαίσιο" #: reference/executionmodel.rst:42 msgid "namespace" -msgstr "" +msgstr "χώρος ονομάτων" #: reference/executionmodel.rst:42 reference/executionmodel.rst:103 msgid "scope" -msgstr "" +msgstr "πεδίο" #: reference/executionmodel.rst:51 msgid "name" -msgstr "" +msgstr "όνομα" #: reference/executionmodel.rst:51 msgid "binding" -msgstr "" +msgstr "σύνδεση" #: reference/executionmodel.rst:57 msgid "from" -msgstr "" +msgstr "από" #: reference/executionmodel.rst:57 msgid "import statement" -msgstr "" +msgstr "δήλωση εισαγωγής" #: reference/executionmodel.rst:87 msgid "free" -msgstr "" +msgstr "ελεύθερη" #: reference/executionmodel.rst:87 msgid "variable" -msgstr "" +msgstr "μεταβλητή" #: reference/executionmodel.rst:111 msgid "environment" -msgstr "" +msgstr "περιβάλλον" #: reference/executionmodel.rst:117 msgid "NameError (built-in exception)" -msgstr "" +msgstr "NameError (ενσωματωμένη εξαίρεση)" #: reference/executionmodel.rst:117 msgid "UnboundLocalError" -msgstr "" +msgstr "UnboundLocalError" #: reference/executionmodel.rst:157 msgid "module" -msgstr "" +msgstr "module" #: reference/executionmodel.rst:157 msgid "__main__" -msgstr "" +msgstr "__main__" #: reference/executionmodel.rst:287 msgid "restricted" -msgstr "" +msgstr "περιορισμένη" #: reference/executionmodel.rst:334 msgid "exception" -msgstr "" +msgstr "εξαίρεση" #: reference/executionmodel.rst:336 msgid "raise an exception" -msgstr "" +msgstr "κάνει raise μια εξαίρεση" #: reference/executionmodel.rst:336 msgid "handle an exception" -msgstr "" +msgstr "διαχειρίζεται μια εξαίρεση" #: reference/executionmodel.rst:336 msgid "exception handler" -msgstr "" +msgstr "διαχειριστής εξαιρέσεων" #: reference/executionmodel.rst:336 msgid "errors" -msgstr "" +msgstr "σφάλματα" #: reference/executionmodel.rst:336 msgid "error handling" -msgstr "" +msgstr "διαχείριση σφαλμάτων" #: reference/executionmodel.rst:357 msgid "termination model" -msgstr "" +msgstr "μοντέλο τερματισμού" #: reference/executionmodel.rst:364 msgid "SystemExit (built-in exception)" -msgstr "" +msgstr "SystemExit (ενσωματωμένη εξαίρεση)" From 9f62a82fb9021ca0955c6720583902a9b19fdb7c Mon Sep 17 00:00:00 2001 From: skpanagiotis Date: Thu, 12 Dec 2024 23:50:04 +0200 Subject: [PATCH 07/12] fix: Add words in maint.txt --- dictionaries/main.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dictionaries/main.txt b/dictionaries/main.txt index c4dee596..9f17badd 100644 --- a/dictionaries/main.txt +++ b/dictionaries/main.txt @@ -764,6 +764,7 @@ zlib αρχές αρχείο αρχειοθετημένη +αρχικοποιημένο αρχικός βλ βρείτε @@ -809,6 +810,8 @@ zlib επικαλυπτόμενες επικαλυπτόμενων επιστρεφόμενος +εσωκλειόμενη +εσωκλειόμενων ευρετηριοποίηση ευρετηριοποίησης ευρετηριοποιηθούν @@ -890,6 +893,7 @@ zlib προσδιοριστή προσδιοριστής προσεταιριστικός +προσποιηθείτε ρήτρων σίγαση σε @@ -927,6 +931,7 @@ zlib των υ υπεραντικείμενο +υπερισχύουσα υπερκλάσης υποακολουθία υποακολουθίας From 78c9f39a0d4620d4b9f9524b0d0965ab9be61df6 Mon Sep 17 00:00:00 2001 From: stelios rotas <146639002+steliosrotas@users.noreply.github.com> Date: Fri, 13 Dec 2024 16:33:03 +0200 Subject: [PATCH 08/12] Translate file reference/introduction.po (and additions in dictionary) (#570) Co-authored-by: skpanagiotis Co-authored-by: Lysandros Nikolaou --- dictionaries/main.txt | 12 ++++ reference/introduction.po | 139 +++++++++++++++++++++++++++++++++----- 2 files changed, 133 insertions(+), 18 deletions(-) diff --git a/dictionaries/main.txt b/dictionaries/main.txt index 9f17badd..b146c0fa 100644 --- a/dictionaries/main.txt +++ b/dictionaries/main.txt @@ -59,6 +59,7 @@ Get Gordon Hat Hewlett +Hugunin I If Inc @@ -72,6 +73,8 @@ Intermezzo Intra Jim Jr +Just +Jython Korn L Letter @@ -134,6 +137,7 @@ Research Reston Roskind Rossum +Runtime Rust Search Separator @@ -156,6 +160,7 @@ Sun Syntax Tab Thread +Time Title Tk Transform @@ -188,6 +193,7 @@ append argument array as +assembly assert b backslash @@ -272,6 +278,7 @@ containment context contexts contiguous +control conversion copy coroutine @@ -536,6 +543,7 @@ path pattern pdb pi +pickle pip pipes place @@ -584,6 +592,7 @@ remove request return reverse +runtime s script scripting @@ -620,6 +629,7 @@ spam spot sprintf stack +stackless stand standard statement @@ -784,6 +794,7 @@ zlib διαλειτουργήσει διαλειτουργικότητα διαχειρίζοντας +διαχειριζόμενη διαχειριζόμενου διγράφοι διεπαφών @@ -826,6 +837,7 @@ zlib καθαρό και κατάσταση +κατέληγες κατακερματιστέες κεφαλίδας κεφαλίδων diff --git a/reference/introduction.po b/reference/introduction.po index 20ac7dd6..7e8ed1b6 100644 --- a/reference/introduction.po +++ b/reference/introduction.po @@ -9,22 +9,26 @@ msgstr "" "Project-Id-Version: Python 3.12\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-03-14 12:51+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" +"PO-Revision-Date: 2024-11-25 12:27+0200\n" +"Last-Translator: Stelios Rotas \n" +"Language-Team: PyGreece \n" +"Language: el_GR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.5\n" #: reference/introduction.rst:6 msgid "Introduction" -msgstr "" +msgstr "Εισαγωγή" #: reference/introduction.rst:8 msgid "" "This reference manual describes the Python programming language. It is not " "intended as a tutorial." msgstr "" +"Αυτό το εγχειρίδιο αναφοράς περιγράφει την γλώσσα προγραμματισμού Python. " +"Δεν προορίζεται ως εγχειρίδιο εκμάθησης." #: reference/introduction.rst:11 msgid "" @@ -40,6 +44,19 @@ msgid "" "like to see a more formal definition of the language, maybe you could " "volunteer your time --- or invent a cloning machine :-)." msgstr "" +"Στην προσπάθεια το έγγραφο αυτό να είναι όσο το δυνατόν πιο ακριβές, " +"επιλέχθηκε αρχικά η Αγγλική γλώσσα, και ύστερα μεταφράστηκε στην Ελληνική, " +"και όχι οι επίσημες προδιαγραφές, με εξαίρεση την συντακτική και λεξιλογική " +"ανάλυση. Αυτό θα πρέπει να κάνει το έγγραφο πιο κατανοητό στον μέσο " +"αναγνώστη, αλλά θα αφήσει χώρο για αμφισημίες. Συνεπώς, αν ερχόσουν από τον " +"Άρη και προσπαθούσες να υλοποιήσεις ξανά την Python από το έγγραφο αυτό και " +"μόνο, μάλλον θα χρειαζόταν να μαντέψεις κάποια πράγματα και για την ακρίβεια " +"ίσως θα κατέληγες να υλοποιείς μια τελείως διαφορετική γλώσσα. Από την άλλη " +"πλευρά, αν χρησιμοποιείς την Python και αναρωτιέσαι ποιοι είναι οι ακριβείς " +"κανόνες σχετικά με έναν συγκεκριμένο τομέα της γλώσσας, τότε σίγουρα θα τους " +"βρεις εδώ πέρα. Αν θα ήθελες να δεις έναν πιο επίσημο ορισμό της γλώσσας, " +"ίσως θα μπορούσες να προσφέρεις λίγο από τον χρόνο σου --- ή να φτιάξεις μια " +"μηχανή κλωνοποίησης :-)." #: reference/introduction.rst:23 msgid "" @@ -52,6 +69,14 @@ msgid "" "implementation imposes additional limitations. Therefore, you'll find short " "\"implementation notes\" sprinkled throughout the text." msgstr "" +"Είναι επικίνδυνο να προσθέσουμε πολλές λεπτομέρειες υλοποίησης σε ένα " +"έγγραφο αναφοράς μίας γλώσσας --- η υλοποίηση δύναται να αλλάξει, και άλλες " +"υλοποιήσεις της ίδιας γλώσσας μπορεί να λειτουργούν διαφορετικά. Από την " +"άλλη, η CPython είναι μία υλοποίηση της Python με ευρεία χρήση (ωστόσο " +"εναλλακτικές υλοποιήσεις συνεχίζουν να υποστηρίζονται), και οι συγκεκριμένες " +"της ιδιομορφίες ενίοτε αξίζουν αναφορά, ειδικά εκεί που η υλοποίηση " +"επιβάλλει επιπρόσθετους περιορισμούς. Επομένως, θα βρεις σύντομες " +"\"σημειώσεις υλοποίησης\" σε διάφορα μέρη του κειμένου." #: reference/introduction.rst:32 msgid "" @@ -60,10 +85,14 @@ msgid "" "modules are mentioned when they interact in a significant way with the " "language definition." msgstr "" +"Κάθε υλοποίηση της Python συνοδεύεται από έναν αριθμό ενσωματωμένων και " +"πρότυπων module. Αυτές είναι καταγεγραμμένες στο :ref:`library-index`. " +"Κάποια ενσωματωμένα module αναφέρονται όταν αλληλεπιδρούν με έναν σημαντικό " +"τρόπο με τον ορισμό της γλώσσας." #: reference/introduction.rst:41 msgid "Alternate Implementations" -msgstr "" +msgstr "Εναλλακτικές Υλοποιήσεις" #: reference/introduction.rst:43 msgid "" @@ -71,24 +100,29 @@ msgid "" "there are some alternate implementations which are of particular interest to " "different audiences." msgstr "" +"Παρόλο που υπάρχει μία υλοποίηση της Python που είναι μακράν η πιο διάσημη, " +"υπάρχουν εναλλακτικές υλοποιήσεις που έχουν ιδιαίτερο ενδιαφέρον για " +"διάφορους ανθρώπους." #: reference/introduction.rst:47 msgid "Known implementations include:" -msgstr "" +msgstr "Γνωστές υλοποιήσεις περιλαμβάνουν:" #: reference/introduction.rst:51 msgid "CPython" -msgstr "" +msgstr "CPython" #: reference/introduction.rst:50 msgid "" "This is the original and most-maintained implementation of Python, written " "in C. New language features generally appear here first." msgstr "" +"Αυτή είναι η πρωτότυπη και η πιο καλοδιατηρημένη υλοποίηση της Python, " +"γραμμένη στην C. Νέες λειτουργίες της γλώσσας συνήθως εμφανίζονται πρώτα εδώ." #: reference/introduction.rst:57 msgid "Jython" -msgstr "" +msgstr "Jython" #: reference/introduction.rst:54 msgid "" @@ -98,10 +132,16 @@ msgid "" "libraries. More information can be found at `the Jython website `_." msgstr "" +"Η υλοποίηση της Python στην Java. Αυτή η υλοποίηση μπορεί να χρησιμοποιηθεί " +"ως γλώσσα δέσμης ενεργειών για εφαρμογές στην Java, ή μπορεί να " +"χρησιμοποιηθεί για να δημιουργήσει εφαρμογές με τη χρήση των βιβλιοθηκών των " +"κλάσεων της Java. Συχνά επίσης χρησιμοποιείται για να δημιουργήσει τεστ για " +"τις βιβλιοθήκες της Java. Περισσότερες πληροφορίες μπορείτε να βρείτε στην " +"`ιστοσελίδα της Jython `_." #: reference/introduction.rst:63 msgid "Python for .NET" -msgstr "" +msgstr "Python για το .NET" #: reference/introduction.rst:60 msgid "" @@ -110,10 +150,15 @@ msgid "" "by Brian Lloyd. For more information, see the `Python for .NET home page " "`_." msgstr "" +"Αυτή η υλοποίηση στην πραγματικότητα χρησιμοποιεί την υλοποίηση CPython, " +"αλλά είναι μία διαχειριζόμενη εφαρμογή του .NET και κάνει διαθέσιμες τις ." +"NET βιβλιοθήκες. Δημιουργήθηκε από τον *Brian Lloyd*. Για περισσότερες " +"πληροφορίες, δείτε την `αρχική σελίδα της Python για το .NET `_." #: reference/introduction.rst:69 msgid "IronPython" -msgstr "" +msgstr "IronPython" #: reference/introduction.rst:66 msgid "" @@ -123,10 +168,15 @@ msgid "" "For more information, see `the IronPython website `_." msgstr "" +"Μια εναλλακτική Python για το .NET. Σε αντίθεση με το Python.NET, αυτή είναι " +"μία ολοκληρωμένη υλοποίηση της Python που παράγει IL, και κάνει μεταγλώττιση " +"του κώδικα της Python απευθείας στη γλώσσα assembly του .NET. Δημιουργήθηκε " +"από τον Jim Hugunin, τον πρωτότυπο δημιουργό της Jython. Για περισσότερες " +"πληροφορίες δείτε την `ιστοσελίδα της IronPython `_." #: reference/introduction.rst:77 msgid "PyPy" -msgstr "" +msgstr "PyPy" #: reference/introduction.rst:72 msgid "" @@ -138,6 +188,13 @@ msgid "" "information is available on `the PyPy project's home page `_." msgstr "" +"Μια υλοποίηση της Python γραμμένη εξ ολοκλήρου σε Python. Υποστηρίζει " +"αρκετές προηγμένες λειτουργίες που δεν υπάρχουν σε άλλες υλοποιήσεις όπως " +"υποστήριξη για stackless και τον μεταγλωττιστή Just in Time. Ένας από τους " +"στόχους του πρότζεκτ είναι να ενθαρρύνει τον πειραματισμό με την ίδια την " +"γλώσσα κάνοντας πιο εύκολη την τροποποίηση του διερμηνέα (αφού είναι " +"γραμμένος στην Python). Περισσότερες πληροφορίες είναι διαθέσιμες στην " +"`αρχική σελίδα του PyPy πρότζεκτ `_." #: reference/introduction.rst:79 msgid "" @@ -147,10 +204,16 @@ msgid "" "implementation-specific documentation to determine what else you need to " "know about the specific implementation you're using." msgstr "" +"Κάθε μία από αυτές τις υλοποιήσεις διαφοροποιούνται με κάποιον τρόπο από την " +"γλώσσα όπως καταγράφεται σε αυτό το εγχειρίδιο, ή εισάγει συγκεκριμένη " +"πληροφορία πέρα από ό,τι καλύπτουν τα πρότυπα έγγραφα της Python. Παρακαλώ " +"να συμβουλευτείτε το έγγραφο της συγκεκριμένης υλοποίησης για να " +"προσδιορίσετε τι άλλο χρειάζεται να ξέρετε σχετικά με την συγκεκριμένη " +"υλοποίηση που χρησιμοποιείτε." #: reference/introduction.rst:89 msgid "Notation" -msgstr "" +msgstr "Σημειογραφία" #: reference/introduction.rst:93 msgid "" @@ -158,6 +221,12 @@ msgid "" "form (BNF) `_ " "grammar notation. This uses the following style of definition:" msgstr "" +"Οι περιγραφές στην λεξιλογική ανάλυση και σύνταξη χρησιμοποιούν έναν " +"τροποποιημένο γραμματικό συμβολισμό στην `μορφή Μπάκους-Νάουρ (BNF) " +"`_. Αυτό χρησιμοποιεί τον ακόλουθο τρόπο " +"ορισμού:" #: reference/introduction.rst:101 msgid "" @@ -167,6 +236,12 @@ msgid "" "``'z'``. (This rule is actually adhered to for the names defined in lexical " "and grammar rules in this document.)" msgstr "" +"Η πρώτη γραμμή λέει ότι ένα ``name`` είναι ένα ``lc_letter`` ακολουθούμενο " +"από μία σειρά από μηδέν ή περισσότερα ``lc_letter``\\ s και κάτω παύλες. Ένα " +"``lc_letter`` με τη σειρά του είναι οποιοσδήποτε από τους μονούς χαρακτήρες " +"``'a'`` έως ``'z'``. (Αυτός ο κανόνας στην πραγματικότητα εφαρμόζεται για τα " +"ονόματα που ορίζονται στους λεξιλογικούς και γραμματικούς κανόνες αυτού του " +"εγγράφου.)" #: reference/introduction.rst:106 msgid "" @@ -182,6 +257,20 @@ msgid "" "line; rules with many alternatives may be formatted alternatively with each " "line after the first beginning with a vertical bar." msgstr "" +"Κάθε κανόνας ξεκινά με ένα όνομα (το οποίο είναι ένα όνομα ορισμένο από τον " +"κανόνα) και ``::=``. Μία κάθετη γραμμή (``|``) χρησιμοποιείται για να " +"διαχωρίσει τις εναλλακτικές· έχει την μικρότερη προτεραιότητα στην σειρά " +"προτεραιότητας πράξεων αυτού του συμβολισμού. Ένας αστερίσκος (``*``) " +"σημαίνει μηδέν ή περισσότερες επαναλήψεις του προηγούμενου αντικειμένου· " +"παρομοίως, το συν (``+``) σημαίνει μία ή περισσότερες επαναλήψεις, και μία " +"φράση περιφραγμένη από αγκύλες (``[ ]``) σημαίνει μηδέν ή μία περίπτωση (με " +"άλλα λόγια, η περιφραγμένη φράση είναι προαιρετική). Οι τελεστές ``*`` και " +"``+`` ενώνονται όσο το δυνατόν πιο σφιχτά· οι παρενθέσεις χρησιμοποιούνται " +"για ομαδοποίηση. Οι συμβολοσειρές είναι περιφραγμένες από εισαγωγικά. Οι " +"κενοί χαρακτήρες είναι μόνο σημαντικοί για να διαχωρίσουν τα *tokens*. Οι " +"κανόνες συνήθως περιέχονται σε μία μονή γραμμή· οι κανόνες με πολλές " +"εναλλακτικές μπορεί να μορφοποιηθούν εναλλακτικά με κάθε γραμμή μετά την " +"πρώτη να ξεκινάει με μια κάθετη γραμμή." #: reference/introduction.rst:120 msgid "" @@ -192,6 +281,13 @@ msgid "" "the symbol defined; e.g., this could be used to describe the notion of " "'control character' if needed." msgstr "" +"Στους λεξιλογικούς ορισμούς (όπως στο παραπάνω παράδειγμα), δύο περισσότεροι " +"κανόνες χρησιμοποιούνται: Δύο χαρακτήρες χωρισμένοι από τρεις τελείες " +"σημαίνει επιλογή όποιου μονού χαρακτήρα στο συγκεκριμένο (κλειστό) εύρος " +"*ASCII* χαρακτήρων. Η φράση ανάμεσα σε γωνιακές παρενθέσεις (``<...>``) " +"δίνει μία άτυπη περιγραφή του ορισμένου συμβόλου· π.χ., αυτό θα μπορούσε να " +"χρησιμοποιηθεί για να περιγράψει την ιδέα του 'χαρακτήρα ελέγχου' (control " +"character) αν χρειαστεί." #: reference/introduction.rst:127 msgid "" @@ -203,27 +299,34 @@ msgid "" "are lexical definitions; uses in subsequent chapters are syntactic " "definitions." msgstr "" +"Αν και η σημειογραφία που χρησιμοποιείται είναι σχεδόν η ίδια, υπάρχει " +"μεγάλη διαφορά ανάμεσα στη σημασία των λεξιλογικών και των συντακτικών " +"ορισμών: ένας λεξιλογικός ορισμός λειτουργεί με τους μεμονωμένους χαρακτήρες " +"της πηγής εισόδου, ενώ ένας ορισμός σύνταξης λειτουργεί στην ροή των *token* " +"που δημιουργείται από τη λεξιλογική ανάλυση. Όλες οι χρήσεις του *BNF* στο " +"επόμενο κεφάλαιο (\"Λεξιλογική Ανάλυση\") είναι λεξιλογικοί ορισμοί· οι " +"χρήσεις στα ακόλουθα κεφάλαια είναι συντακτικοί ορισμοί." #: reference/introduction.rst:91 msgid "BNF" -msgstr "" +msgstr "BNF" #: reference/introduction.rst:91 msgid "grammar" -msgstr "" +msgstr "γραμματική" #: reference/introduction.rst:91 msgid "syntax" -msgstr "" +msgstr "συντακτικό" #: reference/introduction.rst:91 msgid "notation" -msgstr "" +msgstr "σημειογραφία" #: reference/introduction.rst:118 msgid "lexical definitions" -msgstr "" +msgstr "λεξιλογικοί ορισμοί" #: reference/introduction.rst:118 msgid "ASCII" -msgstr "" +msgstr "ASCII" From aaaa28612a69abd4ccb6db39b1a6825c8bb5480c Mon Sep 17 00:00:00 2001 From: Panagiotis Skias Date: Sun, 15 Dec 2024 18:49:50 +0200 Subject: [PATCH 09/12] Update TRANSLATORS --- TRANSLATORS | 1 + 1 file changed, 1 insertion(+) diff --git a/TRANSLATORS b/TRANSLATORS index d8bf1d98..25dcc912 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -4,3 +4,4 @@ Theofanis Petkos Panagiotis Skias Dimitrios Papadopoulos Marios Giannopoulos +Stelios Rotas From b7bff229267c462ddcf1eaf8f52bf15d496dd5e5 Mon Sep 17 00:00:00 2001 From: mgiannopoulos24 <79588074+mgiannopoulos24@users.noreply.github.com> Date: Sun, 22 Dec 2024 17:49:45 +0200 Subject: [PATCH 10/12] Translate file library/email.errors.po (#576) * Translate file library/email.errors.po * Fixed some typos * Resolve requested changes * Update library/email.errors.po Co-authored-by: Lysandros Nikolaou * Update library/email.errors.po Co-authored-by: Lysandros Nikolaou * Update library/email.errors.po Co-authored-by: Lysandros Nikolaou * Update library/email.errors.po Co-authored-by: Lysandros Nikolaou * Update library/email.errors.po Co-authored-by: Lysandros Nikolaou * Update library/email.errors.po Co-authored-by: Lysandros Nikolaou * Update library/email.errors.po Co-authored-by: Lysandros Nikolaou * Update library/email.errors.po Co-authored-by: Lysandros Nikolaou * [pre-commit.ci lite] apply automatic fixes * replace words * no changes * changed words --------- Co-authored-by: Lysandros Nikolaou Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- dictionaries/main.txt | 5 +++ library/email.errors.po | 89 +++++++++++++++++++++++++++++++++++++---- 2 files changed, 87 insertions(+), 7 deletions(-) diff --git a/dictionaries/main.txt b/dictionaries/main.txt index b146c0fa..12a02644 100644 --- a/dictionaries/main.txt +++ b/dictionaries/main.txt @@ -541,6 +541,7 @@ parser parsing path pattern +payload pdb pi pickle @@ -594,6 +595,8 @@ return reverse runtime s +scalar +scanf script scripting scripts @@ -628,6 +631,7 @@ spaces spam spot sprintf +sscanf stack stackless stand @@ -956,6 +960,7 @@ zlib υποκλάσεις υποκλάση υποκλάσης +υπομέρη υπομονάδων υποπακέτα υποπακέτο diff --git a/library/email.errors.po b/library/email.errors.po index 1475af5c..c27bb464 100644 --- a/library/email.errors.po +++ b/library/email.errors.po @@ -9,26 +9,26 @@ msgstr "" "Project-Id-Version: Python 3.12\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-03-14 12:51+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" +"PO-Revision-Date: 2024-12-14 01:00+0200\n" +"Last-Translator: Marios Giannopoulos \n" +"Language-Team: PyGreece \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: library/email.errors.rst:2 msgid ":mod:`email.errors`: Exception and Defect classes" -msgstr "" +msgstr ":mod:`email.errors`: Κλάσεις Εξαιρέσεων και Ελαττωμάτων" #: library/email.errors.rst:7 msgid "**Source code:** :source:`Lib/email/errors.py`" -msgstr "" +msgstr "**Πηγαίος κώδικας:** :source:`Lib/email/errors.py`" #: library/email.errors.rst:11 msgid "" "The following exception classes are defined in the :mod:`email.errors` " "module:" -msgstr "" +msgstr "Οι εξής κλάσεις εξαιρέσεων ορίζονται στο module :mod:`email.errors`:" #: library/email.errors.rst:16 msgid "" @@ -36,6 +36,9 @@ msgid "" "raise. It is derived from the standard :exc:`Exception` class and defines " "no additional methods." msgstr "" +"Αυτή είναι η βασική κλάση για όλες τις εξαιρέσεις που μπορεί να κάνει raise " +"το module :mod:`email`. Παράγεται από την τυπική κλάση :exc:`Exception` και " +"δεν ορίζει επιπλέον μεθόδους." #: library/email.errors.rst:23 msgid "" @@ -43,6 +46,10 @@ msgid "" "Parser` class. It is derived from :exc:`MessageError`. This class is also " "used internally by the parser used by :mod:`~email.headerregistry`." msgstr "" +"Αυτή είναι η βασική κλάση για τις εξαιρέσεις που γίνονται raise από την " +"κλάση :class:`~email.parser.Parser`. Κληρονομεί από την :exc:`MessageError`. " +"Αυτή η κλάση χρησιμοποιείται επίσης εσωτερικά από τον αναλυτή που " +"χρησιμοποιείται από το :mod:`~email.headerregistry`." #: library/email.errors.rst:31 msgid "" @@ -55,10 +62,19 @@ msgid "" "header (that is, there is what is supposed to be a continuation line that " "has no leading whitespace and looks like a header)." msgstr "" +"Γίνεται raise κάτω από ορισμένες συνθήκες σφάλματος κατά την ανάλυση των " +"κεφαλίδων :rfc:`5322` ενός μηνύματος, αυτή η κλάση προέρχεται από την :exc:" +"`MessageParseError`. Η μέθοδος :meth:`~email.message.EmailMessage." +"set_boundary` θα κάνει raise αυτό το σφάλμα αν ο τύπος περιεχομένου είναι " +"άγνωστος όταν καλείται η μέθοδος. Η :class:`~email.header.Header` μπορεί να " +"κάνει raise αυτό το σφάλμα για ορισμένα σφάλματα αποκωδικοποίησης base64, " +"καθώς και όταν επιχειρείται η δημιουργία μιας κεφαλίδας που φαίνεται να " +"περιέχει ενσωματωμένη κεφαλίδα (δηλαδή υπάρχει μια γραμμή συνέχειας που δεν " +"έχει προηγούμενο κενό διάστημα και μοιάζει με κεφαλίδα)." #: library/email.errors.rst:43 msgid "Deprecated and no longer used." -msgstr "" +msgstr "Έχει καταργηθεί και δεν χρησιμοποιείται πλέον." #: library/email.errors.rst:48 msgid "" @@ -68,6 +84,12 @@ msgid "" "`multipart` or missing. :exc:`MultipartConversionError` multiply inherits " "from :exc:`MessageError` and the built-in :exc:`TypeError`." msgstr "" +"Γίνεται raise όταν προστεθεί ένα payload σε ένα αντικείμενο :class:`~email." +"message.Message` χρησιμοποιώντας τη μέθοδο :meth:`add_payload`, αλλά το " +"payload είναι ήδη scalar και ο κύριος τύπος του :mailheader:`Content-Type` " +"μηνύματος δεν είναι ούτε :mimetype:`multipart` ούτε απών. Η :exc:" +"`MultipartConversionError` κληρονομεί ταυτόχρονα από την :exc:`MessageError` " +"και την ενσωματωμένη :exc:`TypeError`." #: library/email.errors.rst:54 msgid "" @@ -77,18 +99,27 @@ msgid "" "derived from :class:`~email.mime.nonmultipart.MIMENonMultipart` (e.g. :class:" "`~email.mime.image.MIMEImage`)." msgstr "" +"Επειδή η μέθοδος :meth:`Message.add_payload` έχει ξεπεραστεί, αυτή η " +"εξαίρεση σπάνια εμφανίζεται στην πράξη. Ωστόσο, η εξαίρεση μπορεί επίσης να " +"εμφανιστεί αν κληθεί η μέθοδος :meth:`~email.message.Message.attach` σε ένα " +"στιγμιότυπο μιας κλάσης που κληρονομεί από :class:`~email.mime.nonmultipart." +"MIMENonMultipart` (π.χ. :class:`~email.mime.image.MIMEImage`)." #: library/email.errors.rst:63 msgid "" "This is the base class for all defects found when parsing email messages. It " "is derived from :exc:`ValueError`." msgstr "" +"Αυτή είναι η βασική κλάση για όλα τα ελαττώματα που εντοπίζονται κατά την " +"ανάλυση μηνυμάτων email. Είναι παράγωγη της :exc:`ValueError`." #: library/email.errors.rst:68 msgid "" "This is the base class for all defects found when parsing email headers. It " "is derived from :exc:`MessageDefect`." msgstr "" +"Αυτή είναι η βασική κλάση για όλα τα ελαττώματα που εντοπίζονται κατά την " +"ανάλυση των κεφαλίδων email. Είναι παράγωγο της :exc:`MessageDefect`." #: library/email.errors.rst:71 msgid "" @@ -99,41 +130,59 @@ msgid "" "nested message object would have a defect, but the containing messages would " "not." msgstr "" +"Ακολουθεί η λίστα με τα ελαττώματα που μπορεί να εντοπίσει η :class:`~email." +"parser.FeedParser` κατά την ανάλυση των μηνυμάτων. Σημειώστε ότι τα " +"ελαττώματα προστίθενται στο μήνυμα όπου βρέθηκε το πρόβλημα, οπότε για " +"παράδειγμα, εάν ένα μήνυμα που είναι ένθετο μέσα σε ένα :mimetype:`multipart/" +"alternative` είχε μια παραμορφωμένη κεφαλίδα, αυτό το ένθετο αντικείμενο " +"μηνύματος θα είχε ένα ελάττωμα, αλλά τα μηνύματα που το περιέχουν όχι." #: library/email.errors.rst:77 msgid "" "All defect classes are subclassed from :class:`email.errors.MessageDefect`." msgstr "" +"Όλες οι κλάσεις ελαττωμάτων είναι υποκλάσεις της :class:`email.errors." +"MessageDefect`." #: library/email.errors.rst:79 msgid "" ":class:`NoBoundaryInMultipartDefect` -- A message claimed to be a multipart, " "but had no :mimetype:`boundary` parameter." msgstr "" +":class:`NoBoundaryInMultipartDefect` -- Ένα μήνυμα δήλωσε ότι είναι " +"πολλαπλό, αλλά δεν είχε παράμετρο :mimetype:`boundary`." #: library/email.errors.rst:82 msgid "" ":class:`StartBoundaryNotFoundDefect` -- The start boundary claimed in the :" "mailheader:`Content-Type` header was never found." msgstr "" +":class:`StartBoundaryNotFoundDefect` -- Το όριο εκκίνησης που αναφέρεται " +"στην κεφαλίδα :mailheader:`Content-Type` δεν βρέθηκε ποτέ." #: library/email.errors.rst:85 msgid "" ":class:`CloseBoundaryNotFoundDefect` -- A start boundary was found, but no " "corresponding close boundary was ever found." msgstr "" +":class:`CloseBoundaryNotFoundDefect` -- Βρέθηκε ένα όριο εκκίνησης, αλλά δεν " +"βρέθηκε ποτέ αντίστοιχο όριο κλεισίματος." #: library/email.errors.rst:90 msgid "" ":class:`FirstHeaderLineIsContinuationDefect` -- The message had a " "continuation line as its first header line." msgstr "" +":class:`FirstHeaderLineIsContinuationDefect` -- Το μήνυμα είχε μια γραμμή " +"συνέχισης ως την πρώτη γραμμή κεφαλίδας." #: library/email.errors.rst:93 msgid "" ":class:`MisplacedEnvelopeHeaderDefect` - A \"Unix From\" header was found in " "the middle of a header block." msgstr "" +":class:`MisplacedEnvelopeHeaderDefect` - Βρέθηκε μια κεφαλίδα \"Unix From\" " +"στη μέση ενός μπλοκ κεφαλίδων." #: library/email.errors.rst:96 msgid "" @@ -141,16 +190,23 @@ msgid "" "headers that had no leading white space but contained no ':'. Parsing " "continues assuming that the line represents the first line of the body." msgstr "" +":class:`MissingHeaderBodySeparatorDefect` - Βρέθηκε μια γραμμή κατά την " +"ανάλυση των κεφαλίδων που δεν είχε αρχικό κενό αλλά δεν περιείχε ':'. Η " +"ανάλυση συνεχίζεται στην περίπτωση που η γραμμή αντιπροσωπεύει την πρώτη " +"γραμμή του σώματος." #: library/email.errors.rst:102 msgid "" ":class:`MalformedHeaderDefect` -- A header was found that was missing a " "colon, or was otherwise malformed." msgstr "" +":class:`MalformedHeaderDefect` -- Βρέθηκε μια κεφαλίδα που της έλειπε μια " +"άνω τελεία, ή ήταν αλλιώς παραμορφωμένη." #: library/email.errors.rst:105 msgid "This defect has not been used for several Python versions." msgstr "" +"Αυτό το σφάλμα δεν έχει χρησιμοποιηθεί εδώ και πολλές εκδόσεις της Python." #: library/email.errors.rst:108 msgid "" @@ -160,6 +216,11 @@ msgid "" "return ``False`` even though its content type claims to be :mimetype:" "`multipart`." msgstr "" +":class:`MultipartInvariantViolationDefect` -- Ένα μήνυμα δήλωσε ότι είναι :" +"mimetype:`multipart`, αλλά δεν βρέθηκαν υπομέρη. Σημειώστε ότι όταν ένα " +"μήνυμα έχει αυτό το σφάλμα, η μέθοδος του :meth:`~email.message.Message." +"is_multipart` μπορεί να επιστρέψει ``False`` ακόμα κι αν ο τύπος " +"περιεχομένου του δηλώνει ότι είναι :mimetype:`multipart`." #: library/email.errors.rst:113 msgid "" @@ -167,6 +228,10 @@ msgid "" "encoded bytes, the padding was not correct. Enough padding is added to " "perform the decode, but the resulting decoded bytes may be invalid." msgstr "" +":class:`InvalidBase64PaddingDefect` -- Όταν αποκωδικοποιείται ένα μπλοκ από " +"base64 κωδικοποιημένα bytes, η προσθήκη padding δεν ήταν σωστή. Προστίθεται " +"αρκετό padding για να πραγματοποιηθεί η αποκωδικοποίηση, αλλά τα " +"αποκωδικοποιημένα bytes που προκύπτουν μπορεί να είναι άκυρα." #: library/email.errors.rst:117 msgid "" @@ -174,6 +239,10 @@ msgid "" "encoded bytes, characters outside the base64 alphabet were encountered. The " "characters are ignored, but the resulting decoded bytes may be invalid." msgstr "" +":class:`InvalidBase64CharactersDefect` -- Όταν αποκωδικοποιείται ένα μπλοκ " +"από base64 κωδικοποιημένα bytes, συναντήθηκαν χαρακτήρες εκτός του αλφαβήτου " +"base64. Οι χαρακτήρες αγνοούνται, αλλά τα αποκωδικοποιημένα bytes που " +"προκύπτουν μπορεί να είναι άκυρα." #: library/email.errors.rst:121 msgid "" @@ -181,9 +250,15 @@ msgid "" "encoded bytes, the number of non-padding base64 characters was invalid (1 " "more than a multiple of 4). The encoded block was kept as-is." msgstr "" +":class:`InvalidBase64LengthDefect` -- Όταν αποκωδικοποιείται ένα μπλοκ από " +"base64 κωδικοποιημένα bytes, ο αριθμός των χαρακτήρων base64 χωρίς " +"συμπλήρωμα ήταν άκυρος (1 παραπάνω από ένα πολλαπλάσιο του 4). Το " +"κωδικοποιημένο μπλοκ διατηρήθηκε ως έχει." #: library/email.errors.rst:125 msgid "" ":class:`InvalidDateDefect` -- When decoding an invalid or unparsable date " "field. The original value is kept as-is." msgstr "" +":class:`InvalidDateDefect` -- Όταν αποκωδικοποιείται ένα άκυρο ή μη " +"αναγνώσιμο πεδίο ημερομηνίας. Η αρχική τιμή διατηρείται ως έχει." From 08ef9727ee641a6962fd853805c465f5d52f2d11 Mon Sep 17 00:00:00 2001 From: Artemis Leonardou Date: Mon, 23 Dec 2024 15:29:19 +0200 Subject: [PATCH 11/12] Translate library/internet.po (#577) Co-authored-by: = <=> --- TRANSLATORS | 1 + dictionaries/main.txt | 1 + library/internet.po | 25 ++++++++++++++++--------- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/TRANSLATORS b/TRANSLATORS index 25dcc912..c42308e3 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -4,4 +4,5 @@ Theofanis Petkos Panagiotis Skias Dimitrios Papadopoulos Marios Giannopoulos +Artemis Leonardou Stelios Rotas diff --git a/dictionaries/main.txt b/dictionaries/main.txt index 12a02644..53fcdb4c 100644 --- a/dictionaries/main.txt +++ b/dictionaries/main.txt @@ -411,6 +411,7 @@ integers interactive interface interfaces +internet interpolation interpreted interpreter diff --git a/library/internet.po b/library/internet.po index 101fb226..1f1a2595 100644 --- a/library/internet.po +++ b/library/internet.po @@ -9,16 +9,17 @@ msgstr "" "Project-Id-Version: Python 3.12\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-03-14 12:51+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" +"PO-Revision-Date: 2024-12-15 13:44+0000\n" +"Last-Translator: Artemis Leonardou \n" +"Language-Team: PyGreece \n" +"Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: library/internet.rst:5 msgid "Internet Protocols and Support" -msgstr "" +msgstr "Πρωτόκολλα Internet και Υποστήριξη" #: library/internet.rst:14 msgid "" @@ -28,23 +29,29 @@ msgid "" "`socket`, which is currently supported on most popular platforms. Here is " "an overview:" msgstr "" +"Τα modules που περιγράφονται σε αυτό το κεφάλαιο υλοποιούν πρωτόκολλα " +"internet και υποστήριξη για τις σχετικές τεχνολογίες. Όλα υλοποιούνται σε " +"Python. Τα περισσότερα από αυτά τα modules απαιτούν την παρουσία του, " +"εξαρτώμενου από το σύστημα, module :mod:`socket`, το οποίο υποστηρίζεται επί " +"του παρόντος στις περισσότερες δημοφιλείς πλατφόρμες. Εδώ είναι μια " +"επισκόπηση:" #: library/internet.rst:7 msgid "WWW" -msgstr "" +msgstr "WWW" #: library/internet.rst:7 msgid "Internet" -msgstr "" +msgstr "Internet" #: library/internet.rst:7 msgid "World Wide Web" -msgstr "" +msgstr "Παγκόσμιος Ιστός" #: library/internet.rst:12 msgid "module" -msgstr "" +msgstr "module" #: library/internet.rst:12 msgid "socket" -msgstr "" +msgstr "socket" From 7a57aedcf7ab2199d1a348a6a254b190422dc809 Mon Sep 17 00:00:00 2001 From: mgiannopoulos24 <79588074+mgiannopoulos24@users.noreply.github.com> Date: Fri, 3 Jan 2025 11:36:56 +0200 Subject: [PATCH 12/12] Translate file library/aifc.po (#579) * Translate file library/aifc.po * typo fix * Update aifc.po * [pre-commit.ci lite] apply automatic fixes * Update aifc.po * [pre-commit.ci lite] apply automatic fixes * Update library/aifc.po Co-authored-by: Panagiotis Skias * Update library/aifc.po Co-authored-by: Panagiotis Skias * Update library/aifc.po Co-authored-by: Panagiotis Skias * Update library/aifc.po Co-authored-by: Panagiotis Skias * Update library/aifc.po Co-authored-by: Panagiotis Skias * Update library/aifc.po Co-authored-by: Panagiotis Skias * Update library/aifc.po Co-authored-by: Panagiotis Skias * Update library/aifc.po Co-authored-by: Panagiotis Skias * Update library/aifc.po Co-authored-by: Panagiotis Skias * Update library/aifc.po Co-authored-by: Panagiotis Skias * Update library/aifc.po Co-authored-by: Panagiotis Skias * Update library/aifc.po Co-authored-by: Panagiotis Skias * Update library/aifc.po Co-authored-by: Panagiotis Skias * Update library/aifc.po Co-authored-by: Panagiotis Skias * Update library/aifc.po Co-authored-by: Panagiotis Skias * Update library/aifc.po Co-authored-by: Panagiotis Skias * Update library/aifc.po Co-authored-by: Panagiotis Skias * Update library/aifc.po Co-authored-by: Panagiotis Skias * Update library/aifc.po Co-authored-by: Panagiotis Skias * [pre-commit.ci lite] apply automatic fixes * Update main.txt * [pre-commit.ci lite] apply automatic fixes * Update main.txt * [pre-commit.ci lite] apply automatic fixes * Update main.txt * [pre-commit.ci lite] apply automatic fixes * Update main.txt * [pre-commit.ci lite] apply automatic fixes * Update aifc.po * [pre-commit.ci lite] apply automatic fixes --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: Panagiotis Skias --- dictionaries/main.txt | 3 + library/aifc.po | 139 ++++++++++++++++++++++++++++++++++++------ 2 files changed, 122 insertions(+), 20 deletions(-) diff --git a/dictionaries/main.txt b/dictionaries/main.txt index 53fcdb4c..ef3e4a85 100644 --- a/dictionaries/main.txt +++ b/dictionaries/main.txt @@ -345,6 +345,7 @@ facto factory false fatal +file finder finders first @@ -409,6 +410,7 @@ instances int integers interactive +interchange interface interfaces internet @@ -757,6 +759,7 @@ zlib αλληλοαποκλείονται αλληλογραφίας αναδιατάξετε +αναζητήσιμο αναθέτη αναθέτης ανακατευθυνθεί diff --git a/library/aifc.po b/library/aifc.po index 7aa329e4..198ac452 100644 --- a/library/aifc.po +++ b/library/aifc.po @@ -9,26 +9,28 @@ msgstr "" "Project-Id-Version: Python 3.12\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-03-14 12:51+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" +"PO-Revision-Date: 2024-12-23 14:33+0200\n" +"Last-Translator: Marios Giannopoulos \n" +"Language-Team: PyGreece \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: library/aifc.rst:2 msgid ":mod:`aifc` --- Read and write AIFF and AIFC files" -msgstr "" +msgstr ":mod:`aifc` --- Ανάγνωση και εγγραφή AIFF και AIFC αρχείων" #: library/aifc.rst:8 msgid "**Source code:** :source:`Lib/aifc.py`" -msgstr "" +msgstr "**Πηγαίος κώδικας:** :source:`Lib/aifc.py`" #: library/aifc.rst:19 msgid "" "The :mod:`aifc` module is deprecated (see :pep:`PEP 594 <594#aifc>` for " "details)." msgstr "" +"Το module :mod:`aifc` είναι κατηργημένο (δείτε το :pep:`PEP 594 <594#aifc>` " +"για λεπτομέρειες)." #: library/aifc.rst:22 msgid "" @@ -37,6 +39,11 @@ msgid "" "samples in a file. AIFF-C is a newer version of the format that includes " "the ability to compress the audio data." msgstr "" +"Το module παρέχει υποστήριξη για την ανάγνωση και την εγγραφή AIFF και AIFF-" +"C αρχείων. Το AIFF είναι η μορφή ήχου Audio Interchange File Format, μια " +"μορφή για την αποθήκευση ψηφιακών δειγμάτων ήχου σε ένα αρχείο. Το AIFF-C " +"είναι μια νεότερη έκδοση της μορφής που περιλαμβάνει την δυνατότητα " +"συμπίεσης των δεδομένων ήχου." #: library/aifc.rst:27 msgid "" @@ -48,6 +55,14 @@ msgid "" "samplesize`` bytes, and a second's worth of audio consists of ``nchannels * " "samplesize * framerate`` bytes." msgstr "" +"Τα αρχεία ήχου έχουν έναν αριθμό παραμέτρων που περιγράφουν τα δεδομένα " +"ήχου. Η συχνότητα δειγματοληψίας ή ο ρυθμός καρέ είναι ο αριθμός των φορών " +"ανά δευτερόλεπτο που δειγματοληπτείται ο ήχος. Ο αριθμός των καναλιών " +"δείχνει αν ο ήχος είναι μονοφωνικός, στερεοφωνικός ή τετραφωνικός. Κάθε καρέ " +"αποτελείται από ένα δείγμα ανά κανάλι. Το μέγεθος δείγματος είναι το μέγεθος " +"σε bytes του κάθε δείγματος. Έτσι ένα καρέ αποτελείται από ``nchannels * " +"samplesize`` bytes, και ένα δευτερόλεπτο ήχου από ``nchannels * samplesize * " +"framerate`` bytes." #: library/aifc.rst:35 msgid "" @@ -56,10 +71,14 @@ msgid "" "gives a frame size of 4 bytes (2\\*2), and a second's worth occupies " "2\\*2\\*44100 bytes (176,400 bytes)." msgstr "" +"Για παράδειγμα, ο ήχος ποιότητας CD έχει μέγεθος δείγματος δύο bytes (16 " +"bits), χρησιμοποιεί δύο κανάλια (στερεοφωνικός ήχος) και έχει ρυθμό καρέ " +"44.100 καρέ/δευτερόλεπτο. Αυτό δίνει μέγεθος καρέ 4 bytes (2\\*2), και ένα " +"δευτερόλεπτο καταλαμβάνει 2\\*2\\*44100 bytes (176.400 bytes). " #: library/aifc.rst:40 msgid "Module :mod:`aifc` defines the following function:" -msgstr "" +msgstr "Το module :mod:`aifc` ορίζει την ακόλουθη συνάρτηση:" #: library/aifc.rst:45 msgid "" @@ -74,38 +93,59 @@ msgid "" "func:`.open` function may be used in a :keyword:`with` statement. When the :" "keyword:`!with` block completes, the :meth:`~aifc.close` method is called." msgstr "" +"Ανοίγει ένα αρχείο AIFF ή AIFF-C και επιστρέφει ένα στιγμιότυπο αντικειμένου " +"με μεθόδους που περιγράφονται παρακάτω. Η παράμετρος *file* είναι είτε μια " +"συμβολοσειρά που καθορίζει το όνομα του αρχείου είτε ένα :term:`file " +"object`. Η παράμετρος *mode* πρέπει να είναι ``'r'`` ή ``'rb'`` όταν το " +"αρχείο πρέπει να ανοίξει για ανάγνωση, ή ``'w'`` ή ``'wb'`` όταν το αρχείο " +"πρέπει να ανοίξει για εγγραφή. Αν παραληφθεί, χρησιμοποιείται το ``file." +"mode`` αν υπάρχει, διαφορετικά χρησιμοποιείται το ``'rb'``. Όταν " +"χρησιμοποιείται για εγγραφή, το αντικείμενο αρχείου θα πρέπει να είναι " +"αναζητήσιμο, εκτός αν γνωρίζετε εκ των προτέρων πόσα δείγματα θα γράψετε " +"συνολικά και χρησιμοποιήσετε τις μεθόδους :meth:`writeframesraw` και :meth:" +"`setnframes`. Η συνάρτηση :func:`.open` μπορεί να χρησιμοποιηθεί σε μια " +"δήλωση :keyword:`with`. Όταν ολοκληρωθεί το μπλοκ :keyword:`!with`, καλείται " +"η μέθοδος :meth:`~aifc.close`." #: library/aifc.rst:56 msgid "Support for the :keyword:`with` statement was added." -msgstr "" +msgstr "Προστέθηκε υποστήριξη για τη δήλωση :keyword:`with`." #: library/aifc.rst:59 msgid "" "Objects returned by :func:`.open` when a file is opened for reading have the " "following methods:" msgstr "" +"Τα αντικείμενα που επιστρέφονται από τη συνάρτηση :func:`.open` όταν ένα " +"αρχείο είναι ανοιχτό για ανάγνωση διαθέτουν τις παρακάτω μεθόδους: " #: library/aifc.rst:65 msgid "Return the number of audio channels (1 for mono, 2 for stereo)." msgstr "" +"Επιστρέφει τον αριθμό των καναλιών ήχου (1 για μονοφωνικό ήχο, 2 για " +"στερεοφωνικό ήχο)." #: library/aifc.rst:70 msgid "Return the size in bytes of individual samples." -msgstr "" +msgstr "Επιστρέφει το μέγεθος σε bytes των μεμονωμένων δειγμάτων." #: library/aifc.rst:75 msgid "Return the sampling rate (number of audio frames per second)." msgstr "" +"Επιστρέφει το ρυθμό δειγματοληψίας (αριθμός καρέ ήχου ανά δευτερόλεπτο)." #: library/aifc.rst:80 msgid "Return the number of audio frames in the file." -msgstr "" +msgstr "Επιστρέφει τον αριθμό των καρέ ήχου στο αρχείο." #: library/aifc.rst:85 msgid "" "Return a bytes array of length 4 describing the type of compression used in " "the audio file. For AIFF files, the returned value is ``b'NONE'``." msgstr "" +"Επιστρέφει έναν πίνακα από bytes μήκους 4 που περιγράφει τον τύπο συμπίεσης " +"που χρησιμοποιείται στο αρχείο ήχου. Για τα αρχεία AIFF, η επιστρεφόμενη " +"τιμή είναι ``b'NONE'``." #: library/aifc.rst:92 msgid "" @@ -113,6 +153,9 @@ msgid "" "of compression used in the audio file. For AIFF files, the returned value " "is ``b'not compressed'``." msgstr "" +"Επιστρέφει έναν πίνακα από bytes που μπορεί να μετατραπεί σε αναγνώσιμη " +"περιγραφή του τύπου συμπίεσης που χρησιμοποιείται στο αρχείο ήχου. Για τα " +"αρχεία AIFF, η επιστρεφόμενη τιμή είναι ``b'not compressed'``." #: library/aifc.rst:99 msgid "" @@ -120,6 +163,9 @@ msgid "" "framerate, nframes, comptype, compname)``, equivalent to output of the :meth:" "`get\\*` methods." msgstr "" +"Επιστρέφει μια πλειάδα :func:`~collections.namedtuple` ``(nchannels, " +"sampwidth, framerate, nframes, comptype, compname)``, η οποία είναι " +"ισοδύναμη με την έξοδο των μεθόδων :meth:`get\\*`." #: library/aifc.rst:106 msgid "" @@ -128,12 +174,19 @@ msgid "" "mark position in frames from the beginning of the data (an integer), the " "third is the name of the mark (a string)." msgstr "" +"Επιστρέφει μια λίστα με δείκτες στο αρχείο ήχου. Ένας δείκτης αποτελείται " +"από μια πλειάδα με τρία στοιχεία. Το πρώτο είναι το αναγνωριστικό του δείκτη " +"(ένας ακέραιος), το δεύτερο είναι η θέση του δείκτη σε καρέ από την αρχή των " +"δεδομένων (ένας ακέραιος), το τρίτο είναι το όνομα του δείκτη (μια " +"συμβολοσειρά)." #: library/aifc.rst:114 msgid "" "Return the tuple as described in :meth:`getmarkers` for the mark with the " "given *id*." msgstr "" +"Επιστρέφει την πλειάδα όπως περιγράφεται στη μέθοδο :meth:`getmarkers` για " +"το δείκτη με το δοσμένο *id*. " #: library/aifc.rst:120 msgid "" @@ -141,26 +194,33 @@ msgid "" "data is a string containing for each frame the uncompressed samples of all " "channels." msgstr "" +"Διαβάζει και επιστρέφει τα επόμενα *nframes* καρέ από το αρχείο ήχου. Τα " +"δεδομένα που επιστρέφονται είναι μια αλυσίδα που περιέχει για κάθε καρέ τα " +"αποσυμπιεσμένα δείγματα όλων των καναλιών." #: library/aifc.rst:127 msgid "" "Rewind the read pointer. The next :meth:`readframes` will start from the " "beginning." msgstr "" +"Επαναφέρει τον δείκτη ανάγνωσης. Η επόμενη μέθοδος :meth:`readframes` θα " +"ξεκινήσει από την αρχή." #: library/aifc.rst:133 msgid "Seek to the specified frame number." -msgstr "" +msgstr "Μετακινεί το δείκτη στο καθορισμένο αριθμό καρέ." #: library/aifc.rst:138 msgid "Return the current frame number." -msgstr "" +msgstr "Επιστρέφει τον τρέχοντα αριθμό καρέ." #: library/aifc.rst:143 msgid "" "Close the AIFF file. After calling this method, the object can no longer be " "used." msgstr "" +"Κλείνει το αρχείο AIFF. Μετά την κλήση αυτής της μεθόδου, το αντικείμενο δεν " +"μπορεί πλέον να χρησιμοποιηθεί." #: library/aifc.rst:146 msgid "" @@ -171,6 +231,13 @@ msgid "" "Before the first :meth:`writeframes` or :meth:`writeframesraw`, all " "parameters except for the number of frames must be filled in." msgstr "" +"Τα αντικείμενα που επιστρέφονται από τη συνάρτηση :func:`.open` όταν ένα " +"αρχείο ανοίγεται για εγγραφή έχουν όλες τις παραπάνω μεθόδους, εκτός από τις " +"μεθόδους :meth:`readframes` και :meth:`setpos`. Επίσης, υπάρχουν οι εξής " +"μέθοδοι. Οι μέθοδοι :meth:`get\\*` μπορούν να κληθούν μόνο αφού έχουν κληθεί " +"οι αντίστοιχες μέθοδοι :meth:`set\\*`. Πριν την πρώτη κλήση των μεθόδων :" +"meth:`writeframes` ή :meth:`writeframesraw`, όλες οι παράμετροι εκτός από " +"τον αριθμό των καρέ πρέπει να είναι συμπληρωμένες." #: library/aifc.rst:156 msgid "" @@ -178,6 +245,9 @@ msgid "" "the name of the file ends in ``'.aiff'`` in which case the default is an " "AIFF file." msgstr "" +"Δημιουργία αρχείου AIFF. Η προεπιλογή είναι να δημιουργηθεί ένα αρχείο AIFF-" +"C, εκτός αν το όνομα του αρχείου λήγει σε ``'.aiff'`` οπότε η προεπιλογή " +"είναι ένα αρχείο AIFF." #: library/aifc.rst:162 msgid "" @@ -185,18 +255,21 @@ msgid "" "unless the name of the file ends in ``'.aiff'`` in which case the default is " "an AIFF file." msgstr "" +"Δημιουργία αρχείου AIFF-C. Η προεπιλογή είναι να δημιουργηθεί ένα αρχείο " +"AIFF-C, εκτός αν το όνομα του αρχείου λήγει σε ``'.aiff'`` οπότε η " +"προεπιλογή είναι ένα αρχείο AIFF." #: library/aifc.rst:169 msgid "Specify the number of channels in the audio file." -msgstr "" +msgstr "Καθορίζει τον αριθμό των καναλιών στο αρχείο ήχου." #: library/aifc.rst:174 msgid "Specify the size in bytes of audio samples." -msgstr "" +msgstr "Καθορίζει το μέγεθος σε bytes των δειγμάτων ήχου." #: library/aifc.rst:179 msgid "Specify the sampling frequency in frames per second." -msgstr "" +msgstr "Καθορίζει τη συχνότητα δειγματοληψίας σε καρέ ανά δευτερόλεπτο." #: library/aifc.rst:184 msgid "" @@ -204,6 +277,9 @@ msgid "" "this parameter is not set, or not set correctly, the file needs to support " "seeking." msgstr "" +"Καθορίστε τον αριθμό των καρέ που πρέπει να εγγραφούν στο αρχείο ήχου. Εάν " +"αυτή η παράμετρος δεν έχει ρυθμιστεί ή δεν έχει ρυθμιστεί σωστά, το αρχείο " +"πρέπει να υποστηρίζει αναζήτηση. " #: library/aifc.rst:195 msgid "" @@ -214,6 +290,12 @@ msgid "" "the following compression types are supported: ``b'NONE'``, ``b'ULAW'``, " "``b'ALAW'``, ``b'G722'``." msgstr "" +"Καθορίζει τον τύπο συμπίεσης. Εάν δεν καθοριστεί, τα δεδομένα ήχου δεν θα " +"συμπιεστούν. Στα αρχεία AIFF, η συμπίεση δεν είναι δυνατή. Η παράμετρος " +"όνομα θα πρέπει να είναι μια αναγνώσιμη περιγραφή του τύπου συμπίεσης ως " +"πίνακας byte, ενώ η παράμετρος τύπος θα πρέπει να είναι ένας πίνακας από " +"bytes μήκους 4. Προς το παρόν υποστηρίζονται οι εξής τύποι συμπίεσης: " +"``b'NONE'``, ``b'ULAW'``, ``b'ALAW'``, ``b'G722'``." #: library/aifc.rst:205 msgid "" @@ -221,34 +303,48 @@ msgid "" "the various parameters. This means that it is possible to use the result of " "a :meth:`getparams` call as argument to :meth:`setparams`." msgstr "" +"Ορίζει όλες τις παραμέτρους παραπάνω ταυτόχρονα. Η παράμετρος είναι μια " +"πλειάδα που αποτελείται από τις διάφορες παραμέτρους. Αυτό σημαίνει ότι " +"είναι δυνατό να χρησιμοποιηθεί το αποτέλεσμα μιας κλήσης μεθόδου :meth:" +"`getparams` ως παράμετρος στην μέθοδο :meth:`setparams`." #: library/aifc.rst:212 msgid "" "Add a mark with the given id (larger than 0), and the given name at the " "given position. This method can be called at any time before :meth:`close`." msgstr "" +"Προσθέστε ένα δείκτη με το δοσμένο αναγνωριστικό (μεγαλύτερο από 0), και το " +"δοσμένο όνομα στη δοσμένη θέση. Αυτή η μέθοδος μπορεί να κληθεί οποιαδήποτε " +"στιγμή πριν από την μέθοδο :meth:`close`." #: library/aifc.rst:219 msgid "" "Return the current write position in the output file. Useful in combination " "with :meth:`setmark`." msgstr "" +"Επιστρέφει την τρέχουσα θέση εγγραφής στο αρχείο εξόδου. Χρήσιμο σε " +"συνδυασμό με τη μέθοδο :meth:`setmark`." #: library/aifc.rst:225 msgid "" "Write data to the output file. This method can only be called after the " "audio file parameters have been set." msgstr "" +"Γράφει δεδομένα στο αρχείο εξόδου. Αυτή η μέθοδος μπορεί να κληθεί μόνο μετά " +"τη ρύθμιση των παραμέτρων του αρχείου ήχου." #: library/aifc.rst:237 msgid "Any :term:`bytes-like object` is now accepted." msgstr "" +"Τώρα γίνονται αποδεκτά όλα τα αντικείμενα τύπου :term:`bytes-like object`." #: library/aifc.rst:234 msgid "" "Like :meth:`writeframes`, except that the header of the audio file is not " "updated." msgstr "" +"Όπως η μέθοδος :meth:`writeframes`, εκτός από το γεγονός ότι η κεφαλίδα του " +"αρχείου ήχου δεν ενημερώνεται." #: library/aifc.rst:244 msgid "" @@ -256,27 +352,30 @@ msgid "" "actual size of the audio data. After calling this method, the object can no " "longer be used." msgstr "" +"Κλείστε το αρχείο AIFF. Η κεφαλίδα του αρχείου ενημερώνεται για να αντανακλά " +"το πραγματικό μέγεθος των δεδομένων ήχου. Μετά την κλήση αυτής της μεθόδου, " +"το αντικείμενο δεν μπορεί να χρησιμοποιηθεί πια." #: library/aifc.rst:10 msgid "Audio Interchange File Format" -msgstr "" +msgstr "Audio Interchange File Format" #: library/aifc.rst:10 msgid "AIFF" -msgstr "" +msgstr "AIFF" #: library/aifc.rst:10 msgid "AIFF-C" -msgstr "" +msgstr "AIFF-C" #: library/aifc.rst:190 msgid "u-LAW" -msgstr "" +msgstr "u-LAW" #: library/aifc.rst:190 msgid "A-LAW" -msgstr "" +msgstr "A-LAW" #: library/aifc.rst:190 msgid "G.722" -msgstr "" +msgstr "G.722"