diff --git a/dictionaries/main.txt b/dictionaries/main.txt index ee79ae25..44c24397 100644 --- a/dictionaries/main.txt +++ b/dictionaries/main.txt @@ -1,7 +1,9 @@ A ActiveState Actual +Adam Agreement +Alex Alias All Allen @@ -16,6 +18,7 @@ April Associates Audio Avenue +Awaitable Awk B Bartelt @@ -26,6 +29,7 @@ Blue Boolean Booleans Boost +Borrowed Brett Buddy Bug @@ -33,11 +37,14 @@ Built Bytearray C Cannon +Canopy Case Category Centrum Changelog +Chapman Cheese +Circus Classes Clause Cleese @@ -57,6 +64,7 @@ Corporation Creations Cross Ctrl +Customize Cython D Dan @@ -79,7 +87,9 @@ Downey Dr Drake Emacs +Enable English +Enthought Eric Error Errors @@ -87,24 +97,31 @@ Exceeds Excel Exception Exceptions +Explorer Fedora Fido Flying Folding Fortran Foundation +Fourier Fraction Fred Fredrik +Frozen Garcia Gaussian Gay General Generics Get +Golden +Google Gordon Graham Green +Greg +Gross Group Guido Hans @@ -115,6 +132,8 @@ Hewlett Hue Hugunin I +Idel +Idle If Inc Indent @@ -152,6 +171,7 @@ Ll Lm Lo Local +Lock Look Looking Looping @@ -169,11 +189,14 @@ Majkowski Makefile Managers Marek +Mark Matthias Mersenne Message Michael +Microsoft Mises +Mitch Mixin Modeling Modula @@ -195,6 +218,7 @@ Numeric Nα O Objective +Olsen Optimized Organization Origin @@ -204,13 +228,16 @@ Packard Pareto Pascal Path +Paul Perl Permission Pillow Platform +Powershell Precision Print Private +Program Py PyCon Pyrex @@ -238,6 +265,7 @@ Rossum Ru Runtime Rust +Sam Saturation Saving Scientific @@ -267,19 +295,24 @@ Stallman Start States Stefan +Stein Stichting Storage Store String +Studio Subject +Subsystem Sun Sx Sy Syntax Tab +Tcl Terry This Thread +Tim Time Title Tk @@ -298,6 +331,7 @@ Unices Union United Unix +Usenet V Van Vol @@ -347,6 +381,7 @@ archive archives are arg +argcount args argument argv @@ -367,7 +402,9 @@ auditing available average await +awaitable b +back backport backslash backslashes @@ -376,6 +413,7 @@ backwards bacon base based +bases bash basis basket @@ -395,6 +433,7 @@ bindings bit bits bitwise +blob block blocks bool @@ -436,6 +475,7 @@ callables callback callbacks calling +can cancel canine cannot @@ -449,6 +489,8 @@ caseless cat catch ceil +cellvars +center cfg cfuhash chain @@ -461,13 +503,16 @@ choice chomp chr class +classcell classname clear close closed clossure +closure cls cmath +co code codec codecs @@ -496,9 +541,11 @@ conflict conflicts cong conjugate +connect consistency constructor constructors +consts container containers containment @@ -527,9 +574,12 @@ crt csv csvfile cubes +curl currency current +curses cut +cx d daemon data @@ -537,6 +587,7 @@ date datetime day days +dbm de dead deal @@ -557,6 +608,7 @@ deflate deghi del delegation +delete delimiters demo deploy @@ -615,10 +667,12 @@ endorse enter entities entry +enum env epoch eq equidistributed +errno error errors escape @@ -644,6 +698,7 @@ external extra f facto +factories factory false fatal @@ -659,6 +714,8 @@ filter finder finders first +firstlineno +flag flags flatten float @@ -670,18 +727,27 @@ following foo for forget +fork form format formatted formatting forms +found frac +frame frames framework +frameworks free +freevars freeze freshfruit from +frozen +frozenset +frozensets +frozesets fruit fruits fsum @@ -726,6 +792,7 @@ guard guru gzip h +hack half handler has @@ -781,6 +848,7 @@ inf info informal inheritance +ini init initialization initializations @@ -794,6 +862,7 @@ insert inst insta install +installation installing instance instances @@ -847,14 +916,17 @@ kind kiwi kqueue kwd +kwdefaults l lang last +lasti lazy le leading leap leaping +left len length leo @@ -869,7 +941,9 @@ limit limitation line linear +lineno liners +lines linking links linters @@ -880,6 +954,7 @@ lists literal literals little +lnotab loader loaders local @@ -909,6 +984,7 @@ mailbox mailing main make +makefile making manager mangled @@ -928,6 +1004,7 @@ math matrix max maxsize +mbcs memoizing memory memoryview @@ -961,10 +1038,12 @@ mult multi must mutable +mutex my mydict myfile mymodule +mypy n nSecond name @@ -975,12 +1054,14 @@ namespaces nan nanosecond native +ncurses ndim ne negative new newline next +nlocals no non normal @@ -989,6 +1070,7 @@ notation notice now nowait +nuget null num number @@ -1004,8 +1086,11 @@ of old on one +onexit only op +opcode +opcodes open opener operations @@ -1031,11 +1116,13 @@ packages packing pad padding +pads page pages pairs pandas parameter +params parrot parser parsing @@ -1044,7 +1131,10 @@ partnership party pass passion +patches path +pathname +paths pattern payload pdb @@ -1053,11 +1143,13 @@ perform permission permit permitted +persistent person persons pi pickle pip +pipe pipes pkg place @@ -1067,6 +1159,7 @@ play point points pop +popen popleft population portions @@ -1110,13 +1203,17 @@ pycache pyd python pythonrun +pythonx +pyw quacks +qualname queue quoted quotes r rainfall raise +raised random randrange range @@ -1124,6 +1221,7 @@ ranges raw rb rbga +rd re read reader @@ -1133,6 +1231,7 @@ record reduce ref reference +regex register regressions regular @@ -1157,6 +1256,7 @@ reverse reversed rgb rgba +rich rights rjust roll @@ -1166,10 +1266,12 @@ routines row run runtime +runtimes s safe said salad +salted sample sausage sax @@ -1189,6 +1291,7 @@ seeds seek self sell +sendmail sense sep sequence @@ -1207,6 +1310,7 @@ setuptools shall shallow shebang +shebangs shell shells shift @@ -1223,11 +1327,15 @@ singleton singletons site size +sl +slash sleep slept slice +slices slicing slot +slots so software somedir @@ -1239,14 +1347,17 @@ space spaces spam spamspam +spec speed split +splitlines spot sprintf sscanf stack stackless stacklevel +stacksize stand standard start @@ -1261,6 +1372,7 @@ status stderr stdin stdout +step stop str stream @@ -1308,13 +1420,16 @@ t tab tabs tag +tags tangerine tar target task tasks +tb temperature templating +termcap terminal terminate terminator @@ -1338,10 +1453,12 @@ thread threaded threading threads +through time timeout titlecase titlecased +tk to today token @@ -1413,9 +1530,12 @@ values van var variable +varnames vars vec +vendoring venture +venv version void von @@ -1435,6 +1555,8 @@ wiki will win window +windowed +windows with without word @@ -1447,12 +1569,14 @@ workload works world wrap +wrapped wrapper wrappers write writer written writtern +www x xc xor @@ -1474,9 +1598,12 @@ zoneinfo Αυτό Βλ Γεννήτορων +Γκρίνουιτς +Διανεμημένες Ειδαλλιώς Επαναλήπτες Επαναχρησιμοποιώντας +Επιστρεφόμενοι Η Κινητής Μετα @@ -1486,15 +1613,19 @@ zoneinfo Μπορείτε Οδηγοί Περιβάλλοντας +Περιγραφέων Περιτυλίγει +Προεκδόσεις Προθεμάτιζει Προθεμάτισε Προθεματίζει Πρόσθεσα Πώς Σεμινάριο +Σημειώστε Συμπτύξτε Υπάρχουν +Υπερ Υποδιαστολής ά ένα @@ -1520,6 +1651,7 @@ zoneinfo αναθέτης ανακατευθυνθεί ανακατευθύνονται +ανακλώμενους ανακτήσιμο ανακτήσιμου αναπαράγετε @@ -1530,6 +1662,8 @@ zoneinfo αναπαραστάσιμα αναπαραστάσιμο αναπαραστάσιμοι +ανασταλμένου +αναστημένο αναφορές αντ αντί @@ -1544,8 +1678,11 @@ zoneinfo αξιολογούμενης απαρχαιωθούν απαρχαιώσεως +απεγκαταστήστε +απεγκατασταθεί αποσειριοποίηση αποσειριοποίησης +αποσυρμένη αποσυσκευασία αποσυσκευασμένα αποσυσκευασμένο @@ -1583,6 +1720,7 @@ zoneinfo διαλειτουργικότητα διαρρεύσετε διαχειρίζοντας +διαχειριζόμενες διαχειριζόμενη διαχειριζόμενου διγράφοι @@ -1593,22 +1731,29 @@ zoneinfo εγκαταστάτη εγκαταστάτης εγκαταστατών +εισάγοντάς +εισάγοντας εκδόσεων +εκκινητή εκτελούμενης εκτυπώσιμη εκτυπώσιμο εκτυπώσιμοι εκτυπώσιμος +εμφωλευμένα εμφωλευμένες εμφωλευμένη εμφωλεύσετε εμφώλευσης ενδοκλάσεων +ενσωματωτές +ενσωματώσιμες εντοπιστές εντοπιστή εξαδικού επέκτασης επίσης +επανάκληση επανακαθορίζονται επανακαθορισμός επανακινεί @@ -1618,6 +1763,9 @@ zoneinfo επαναληπτή επαναχρησιμοποιήσετε επαναχρησιμοποιηθούν +επανεγκατασήστε +επανεγκαταστήσετε +επανεγκαταστήστε επανεισάγω επανεκκινήσετε επανεκκινείται @@ -1627,12 +1775,14 @@ zoneinfo επικαλεί επικαλυπτόμενες επικαλυπτόμενων +επικαλώντας επιστρεφόμενης επιστρεφόμενος εσωκλειόμενη εσωκλειόμενων εσωτερικοποίησης ευπάθειες +ευρετηριασμένα ευρετηριοποίηση ευρετηριοποίησης ευρετηριοποιηθούν @@ -1659,10 +1809,13 @@ zoneinfo κανονικοποιούνται κατάσταση κατέληγες +κατακερματιζόμενες κατακερματιστέες +καταστέλετε καταστέλλετε καταστείλετε καταστραμμένο +καταχωρητή κατηργημένο κεφαλίδας κεφαλίδες @@ -1673,6 +1826,7 @@ zoneinfo κωδικοποιητών κώδικα λίστα +ληγμένου λπ μακροεντολές μακροεντολή @@ -1681,13 +1835,17 @@ zoneinfo μετα μεταβάλλετε μεταβλητή +μεταβλητότητά μεταβλητών +μεταδεδομένα μεταδεδομένων +μετακλάσεις μετακλάσεων μετακλάση μετακλάσης μετατρέψετε μεταφέρετε +μεταφέροντάς μεταφοράς μιμηθείτε μονοεπεξεργαστικό @@ -1696,7 +1854,9 @@ zoneinfo να νανοδευτερολέπτων νανοδευτερόλεπτα +νεο νεοδεσμευμένο +νεοδημιουργημένες νηματοποποίησης ξεπερνάται ο @@ -1715,21 +1875,25 @@ zoneinfo οριοθέτες οριοθέτη οστή +πάροχο πακετοποιημένα παλαιώσουν παλιό παραβατική παρακαλούμε +παρακαμφθείσες παραλειφθέντα παραμετροποιηθεί παραμετροποιηθούν παραμετροποιημένα +παραμετροποιημένες παραμετροποιημένη παραμετροποιημένο παραμετροποιούν παρατεθειμένα παρατεθειμένη παρατεθειμένο +παρόχους παύλων πεζογράμμιση περιέκτης @@ -1739,10 +1903,14 @@ zoneinfo περιβαλλόμενοι περιγραφέα περιγραφέας +περιγραφέων +περιγραφείς περιηγείστε περικλειόμενο περικόβει +περικόψετε περικόψτε +περιπλέκουμε περιτυλίγετε περιτυλίγοντάς περιτυλιγμένης @@ -1751,10 +1919,12 @@ zoneinfo πλέον πληθικότητα πολλοί +πολυεπεξεργαστές πολυεπεξεργαστικό πολυμορφική πολυνημάτωσης προέκδοση +προέκδοσης προεγκατεστημένη προεπεξεργασία προεπιλέγει @@ -1805,7 +1975,9 @@ zoneinfo τέλος ταιριασμένες τελεστέο +τελεστέοι τελεστέος +τελεστέου τελεστέους τερματιστή την @@ -1818,11 +1990,14 @@ zoneinfo τροποποιητές τροποποιητής τυλιχθούν +τυχαιοποίηση τυχαιότητας των υ +υπακούουν υπεραντικείμενο υπερισχύουσα +υπερκαλύψεων υπερκλάσης υπο υποακολουθία @@ -1830,6 +2005,8 @@ zoneinfo υποακολουθίες υποαντικείμενα υποδιαδικασίες +υποεντολές +υποεντολή υποεντολών υποενότητα υποενότητες @@ -1851,6 +2028,7 @@ zoneinfo υποσυμβολοσειρά υποτετραγωνική υποτμημάτων +υποτύπος υποφάκελο υποφακέλους φάκελους diff --git a/faq/library.po b/faq/library.po index a8399444..83093081 100644 --- a/faq/library.po +++ b/faq/library.po @@ -9,9 +9,9 @@ msgstr "" "Project-Id-Version: Python 3.12\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-06-19 17:36+0300\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" +"PO-Revision-Date: 2025-11-04 21:13+0200\n" +"Last-Translator: Panagiotis Skias \n" +"Language-Team: PyGreece \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,19 +19,20 @@ msgstr "" #: faq/library.rst:5 msgid "Library and Extension FAQ" -msgstr "" +msgstr "Συχνές ερωτήσεις βιβλιοθήκης και επέκτασης" #: faq/library.rst:8 msgid "Contents" -msgstr "" +msgstr "Περιεχόμενα" #: faq/library.rst:12 msgid "General Library Questions" -msgstr "" +msgstr "Γενικές Ερωτήσεις Βιβλιοθήκης" #: faq/library.rst:15 msgid "How do I find a module or application to perform task X?" msgstr "" +"Πως μπορώ να βρω ένα module ή μια εφαρμογή για να εκτελέσω την εργασία Χ;" #: faq/library.rst:17 msgid "" @@ -39,6 +40,9 @@ msgid "" "relevant standard library module. (Eventually you'll learn what's in the " "standard library and will be able to skip this step.)" msgstr "" +"Ελέγξτε την :ref:`the Library Reference ` για να δείτε αν " +"υπάρχει ένα σχετικό τυπικό module. (Τελικά θα μάθετε τι υπάρχει στην τυπική " +"βιβλιοθήκη και θα μπορείτε να παραλείψετε αυτό το βήμα.)" #: faq/library.rst:21 msgid "" @@ -47,10 +51,15 @@ msgid "" "engine. Searching for \"Python\" plus a keyword or two for your topic of " "interest will usually find something helpful." msgstr "" +"Για πακέτα τρίτων, πραγματοποιήστε αναζήτηση στο `Python Package Index " +"`_ ή δοκιμάστε στο `Google `_ ή σε " +"κάποια άλλη μηχανή αναζήτησης ιστού. Η αναζήτηση με τον όρο \"Python\" μαζί " +"με μια ή δύο λέξεις κλειδιά για το θέμα που σας ενδιαφέρει συνήθως θα βγάλει " +"κάποιο χρήσιμο αποτέλεσμα." #: faq/library.rst:28 msgid "Where is the math.py (socket.py, regex.py, etc.) source file?" -msgstr "" +msgstr "Που βρίσκεται το πηγαίο αρχείο math.py (socket.py, regex.py, κ.λπ.);" #: faq/library.rst:30 msgid "" @@ -60,35 +69,46 @@ msgid "" "file:`mathmodule.c`, somewhere in a C source directory (not on the Python " "Path)." msgstr "" +"Εάν δεν μπορείτε να βρείτε ένα πηγαίο αρχείο για ένα module, μπορεί να είναι " +"ένα ενσωματωμένο (built-in) module ή ένα module που φορτώνεται δυναμικά " +"υλοποιημένο σε C, C++ ή άλλη μεταγλωττισμένη γλώσσα. Σε αυτή την περίπτωση " +"μπορεί να μην έχετε το αρχείο προέλευσης ή μπορεί να είναι κάτι σαν :file:" +"`mathmodule.c`, κάπου σε έναν κατάλογο προέλευσης C (όχι στην διαδρομή της " +"Python)." #: faq/library.rst:35 msgid "There are (at least) three kinds of modules in Python:" -msgstr "" +msgstr "Υπάρχουν (το λιγότερο) τριών ειδών modules στην Python:" #: faq/library.rst:37 msgid "modules written in Python (.py);" -msgstr "" +msgstr "modules γραμμένα σε Python (.py):" #: faq/library.rst:38 msgid "" "modules written in C and dynamically loaded (.dll, .pyd, .so, .sl, etc);" msgstr "" +"modules γραμμένα σε C και φορτώνονται δυναμικά (.dll, .pyd, .so, .sl, κ.λπ.):" #: faq/library.rst:39 msgid "" "modules written in C and linked with the interpreter; to get a list of " "these, type::" msgstr "" +"modules γραμμένα σε C και συνδεδεμένα με τον διερμηνέα: για να λάβετε μια " +"λίστα από αυτά, πληκτρολογήστε::" #: faq/library.rst:42 msgid "" "import sys\n" "print(sys.builtin_module_names)" msgstr "" +"import sys\n" +"print(sys.builtin_module_names)" #: faq/library.rst:47 msgid "How do I make a Python script executable on Unix?" -msgstr "" +msgstr "Πως δημιουργώ ένα εκτελέσιμο Python script στο Unix;" #: faq/library.rst:49 msgid "" @@ -96,28 +116,37 @@ msgid "" "first line must begin with ``#!`` followed by the path of the Python " "interpreter." msgstr "" +"Θα πρέπει να κάνετε δύο πράγματα: η λειτουργία του script αρχείου πρέπει να " +"είναι εκτελέσιμη και η πρώτη γραμμή θα πρέπει αν ξεκινά με ``#!`` " +"ακολουθούμενη από τη διαδρομή του διερμηνέα της Python." #: faq/library.rst:53 msgid "" "The first is done by executing ``chmod +x scriptfile`` or perhaps ``chmod " "755 scriptfile``." msgstr "" +"Το πρώτο γίνεται με την εκτέλεση του ``chmod +x scriptfile`` ή ίσως ``chmod " +"755 scriptfile``." #: faq/library.rst:56 msgid "" "The second can be done in a number of ways. The most straightforward way is " "to write ::" msgstr "" +"Το δεύτερο μπορεί να γίνει με ποικίλους τρόπους. Ο πιο απλός τρόπος είναι " +"να γράψετε ::" #: faq/library.rst:59 msgid "#!/usr/local/bin/python" -msgstr "" +msgstr "#!/usr/local/bin/python" #: faq/library.rst:61 msgid "" "as the very first line of your file, using the pathname for where the Python " "interpreter is installed on your platform." msgstr "" +"ως η πρώτη γραμμή του αρχείου σας, χρησιμοποιώντας το pathname για το πού " +"είναι εγκατεστημένος ο διερμηνέας Python στην πλατφόρμα σας." #: faq/library.rst:64 msgid "" @@ -126,10 +155,14 @@ msgid "" "variants support the following, assuming the Python interpreter is in a " "directory on the user's :envvar:`PATH`::" msgstr "" +"Εάν θέλετε το script να είναι ανεξάρτητο, από το που ζει ο διερμηνέας της " +"Python, μπορείτε να χρησιμοποιήσετε το πρόγραμμα :program:`env`. Σχεδόν " +"όλες οι παραλλαγές Unix υποστηρίζουν τα ακόλουθα, υποθέτοντας ότι ο " +"διερμηνέας Python βρίσκεται σε έναν κατάλογο στο :envvar:`PATH` του χρήστη::" #: faq/library.rst:69 msgid "#!/usr/bin/env python" -msgstr "" +msgstr "#!/usr/bin/env python" #: faq/library.rst:71 msgid "" @@ -137,6 +170,9 @@ msgid "" "scripts is often very minimal, so you need to use the actual absolute " "pathname of the interpreter." msgstr "" +"*Μην* το κάνετε αυτό για CGI scripts. Η μεταβλητή :envvar:`PATH` για τα CGI " +"scripts είναι συχνά πολύ ελάχιστη, επομένως πρέπει να χρησιμοποιήσετε το " +"πραγματικό απόλυτο όνομα διαδρομής του διερμηνέα." #: faq/library.rst:75 msgid "" @@ -144,6 +180,10 @@ msgid "" "env` program fails; or there's no env program at all. In that case, you can " "try the following hack (due to Alex Rezinsky):" msgstr "" +"Περιστασιακά, το περιβάλλον ενός χρήστη είναι τόσο γεμάτο που το πρόγραμμα :" +"program:`/usr/bin/env` αποτυγχάνει ή δεν υπάρχει καθόλου πρόγραμμα env. Σε " +"αυτήν την περίπτωση, μπορείτε να δοκιμάσετε το ακόλουθο hack (λόγω του Alex " +"Rezinsky):" #: faq/library.rst:79 msgid "" @@ -152,20 +192,26 @@ msgid "" "exec python $0 ${1+\"$@\"}\n" "\"\"\"" msgstr "" +"#! /bin/sh\n" +"\"\"\":\"\n" +"exec python $0 ${1+\"$@\"}\n" +"\"\"\"" #: faq/library.rst:86 msgid "" "The minor disadvantage is that this defines the script's __doc__ string. " "However, you can fix that by adding ::" msgstr "" +"Το, ελάχιστης σημασίας, μειονέκτημα είναι ότι αυτό καθορίζει τη συμβολοσειρά " +"__doc__ του script. Ωστόσο, μπορείτε να το διορθώσετε προσθέτοντας ::" #: faq/library.rst:89 msgid "__doc__ = \"\"\"...Whatever...\"\"\"" -msgstr "" +msgstr "__doc__ = \"\"\"...Οτιδήποτε...\"\"\"" #: faq/library.rst:94 msgid "Is there a curses/termcap package for Python?" -msgstr "" +msgstr "Υπάρχει ένα curses/termcap πακέτο για την Python;" #: faq/library.rst:98 msgid "" @@ -174,6 +220,10 @@ msgid "" "compiled by default. (Note that this is not available in the Windows " "distribution -- there is no curses module for Windows.)" msgstr "" +"Για παραλλαγές Unix: Η τυπική διανομή του πηγαίου της Python συνοδεύεται από " +"ένα curses module στον υποκατάλογο :source:`Modules`, αν και δεν έχει " +"μεταγλωττιστεί από προεπιλογή. (Λάβετε υπόψη ότι αυτό δεν είναι διαθέσιμο " +"στη διανομή των Windows -- δεν υπάρχει curses module για Windows.)" #: faq/library.rst:103 msgid "" @@ -184,48 +234,60 @@ msgid "" "but there don't seem to be any currently maintained OSes that fall into this " "category." msgstr "" +"Το module :mod:`curses` υποστηρίζει βασικές curses λειτουργίες καθώς και " +"πολλές πρόσθετες λειτουργίες από ncurses και SYSV curses, όπως χρώμα, " +"υποστήριξη εναλλακτικού συνόλου χαρακτήρων, pads και υποστήριξη ποντικιού. " +"Αυτό σημαίνει ότι το module δεν είναι συμβατό με λειτουργικά συστήματα που " +"έχουνε μόνο BSD curses, αλλά δεν φαίνεται να υπάρχουν επί του παρόντος " +"διατηρημένα λειτουργικά συστήματα που να εμπίπτουν σε αυτήν την κατηγορία." #: faq/library.rst:111 msgid "Is there an equivalent to C's onexit() in Python?" -msgstr "" +msgstr "Υπάρχει κάτι ισοδύναμο με την onexit() της C στην Python;" #: faq/library.rst:113 msgid "" "The :mod:`atexit` module provides a register function that is similar to " "C's :c:func:`!onexit`." msgstr "" +"Το module :mod:`atexit` παρέχει μια συνάρτηση καταχωρητή παρόμοια με τη " +"συνάρτηση :c:func:`!onexit` της C." #: faq/library.rst:118 msgid "Why don't my signal handlers work?" -msgstr "" +msgstr "Γιατί δεν λειτουργούν οι χειριστές σήματος μου;" #: faq/library.rst:120 msgid "" "The most common problem is that the signal handler is declared with the " "wrong argument list. It is called as ::" msgstr "" +"Το πιο συνηθισμένο πρόβλημα είναι ότι ο χειριστής σήματος δηλώνεται με λάθος " +"λίστα ορισμάτων. Ονομάζεται ως ::" #: faq/library.rst:123 msgid "handler(signum, frame)" -msgstr "" +msgstr "handler(signum, frame)" #: faq/library.rst:125 msgid "so it should be declared with two parameters::" -msgstr "" +msgstr "οπότε θα πρέπει να δηλωθεί με δύο παραμέτρους::" #: faq/library.rst:127 msgid "" "def handler(signum, frame):\n" " ..." msgstr "" +"def handler(signum, frame):\n" +" ..." #: faq/library.rst:132 msgid "Common tasks" -msgstr "" +msgstr "Κοινές εργασίες" #: faq/library.rst:135 msgid "How do I test a Python program or component?" -msgstr "" +msgstr "Πως μπορώ να τεστάρω ένα Python πρόγραμμα ή ένα Python component;" #: faq/library.rst:137 msgid "" @@ -233,12 +295,17 @@ msgid "" "examples in the docstrings for a module and runs them, comparing the output " "with the expected output given in the docstring." msgstr "" +"Η Python συνοδεύεται από δύο frameworks για τεστ. To module :mod:`doctest` " +"βρίσκει παραδείγματα στα docstrings για ένα module και τα εκτελεί, " +"συγκρίνοντας την έξοδο με την αναμενόμενη έξοδο που δίνεται στο docstring." #: faq/library.rst:141 msgid "" "The :mod:`unittest` module is a fancier testing framework modelled on Java " "and Smalltalk testing frameworks." msgstr "" +"Το module :mod:`unittest` είναι ένα πιο εντυπωσιακό framework που έχει " +"σχεδιαστεί με βάση τα frameworks για τεστ της Java και του Smalltalk." #: faq/library.rst:144 msgid "" @@ -250,20 +317,32 @@ msgid "" "avoid depending on mutating global variables, since this makes testing much " "more difficult to do." msgstr "" +"Για να κάνετε τα τεστ σας ευκολότερα θα πρέπει να χρησιμοποιείτε μια καλή " +"αρθρωτή σχεδίαση στο πρόγραμμα σας. Το πρόγραμμα σας θα πρέπει να έχει όλες " +"σχεδόν τις λειτουργίες ενσωματωμένες είτε σε συναρτήσεις είτε σε μεθόδους " +"κλάσης - και αυτό μερικές φορές έχει το εκπληκτικό και ευχάριστο αποτέλεσμα " +"να κάνει το πρόγραμμα να τρέχει πιο γρήγορα (γιατί οι τοπικές προσβάσεις " +"μεταβλητών είναι πιο γρήγορες από τις καθολικές προσβάσεις). Επιπλέον, το " +"πρόγραμμα θα πρέπει να αποφεύγει την εξάρτηση από μεταλλάξεις παγκόσμιων " +"μεταβλητών, καθώς αυτό κάνει τη δοκιμή πολύ πιο δύσκολη." #: faq/library.rst:152 msgid "The \"global main logic\" of your program may be as simple as ::" msgstr "" +"Η \"παγκόσμια κύρια λογική\" του προγράμματος σας μπορεί να είναι τόσο απλή " +"όσο ::" #: faq/library.rst:154 msgid "" "if __name__ == \"__main__\":\n" " main_logic()" msgstr "" +"if __name__ == \"__main__\":\n" +" main_logic()" #: faq/library.rst:157 msgid "at the bottom of the main module of your program." -msgstr "" +msgstr "στο κάτω μέρος του κύριου module του προγράμματος σας." #: faq/library.rst:159 msgid "" @@ -276,18 +355,32 @@ msgid "" "the \"production code\", since this makes it easy to find bugs and even " "design flaws earlier." msgstr "" +"Από τη στιγμή που το πρόγραμμα σας οργανωθεί ως μια συλλογή από συναρτήσεις " +"και κλάσεις που υλοποιούν μια διαδικασία, θα πρέπει να γράψετε τεστ " +"συναρτήσεις που εκτελούν τις αντίστοιχες διαδικασίες. Μια τεστ σουίτα που " +"αυτοματοποιεί μια ακολουθία από tests μπορεί να συσχετιστεί με κάθε module. " +"Αυτό ακούγεται σαν πολλή δουλειά, αλλά επειδή η Python είναι τόσο σύντομη " +"και ευέλικτη, αυτό είναι εκπληκτικά εύκολο. Μπορείτε να κάνετε την συγγραφή " +"κώδικα πολύ πιο ευχάριστη και διασκεδαστική γράφοντας τις δοκιμαστικές " +"συναρτήσεις σας παράλληλα με τον \"κώδικα παραγωγής\", καθώς αυτό " +"διευκολύνει την εύρεση σφαλμάτων και ακόμη και ελαττώματα σχεδιασμού " +"νωρίτερα." #: faq/library.rst:167 msgid "" "\"Support modules\" that are not intended to be the main module of a program " "may include a self-test of the module. ::" msgstr "" +"\"Modules υποστήριξης\" που δεν προορίζονται να είναι το κύριο module ενός " +"προγράμματος μπορεί να περιλαμβάνουν αυτοέλεγχο της ενότητας::" #: faq/library.rst:170 msgid "" "if __name__ == \"__main__\":\n" " self_test()" msgstr "" +"if __name__ == \"__main__\":\n" +" self_test()" #: faq/library.rst:173 msgid "" @@ -295,10 +388,13 @@ msgid "" "when the external interfaces are unavailable by using \"fake\" interfaces " "implemented in Python." msgstr "" +"Ακόμη και προγράμματα που αλληλεπιδρούν με πολύπλοκες εξωτερικές διεπαφές " +"μπορούν να δοκιμαστούν όταν οι εξωτερικές διεπαφές δεν είναι διαθέσιμες " +"χρησιμοποιώντας \"τεχνητές\" διεπαφές υλοποιημένες στην Python." #: faq/library.rst:179 msgid "How do I create documentation from doc strings?" -msgstr "" +msgstr "Πως δημιουργώ τεκμηρίωση από doc strings;" #: faq/library.rst:181 msgid "" @@ -307,24 +403,32 @@ msgid "" "docstrings is `epydoc `_. `Sphinx `_ can also include docstring content." msgstr "" +"Το module :mod:`pydoc` μπορεί να δημιουργήσει HTML από τα doc strings στον " +"πηγαίο κώδικα Python σας. Μια εναλλακτική λύση για τη δημιουργία μιας " +"τεκμηρίωσης API αποκλειστικά με docstrings είναι το `epydoc `_. `Sphinx `_ μπορεί επίσης " +"να περιλαμβάνει docstring περιεχόμενο." #: faq/library.rst:188 msgid "How do I get a single keypress at a time?" -msgstr "" +msgstr "Πως μπορώ να λάβω μόνο ένα πάτημα κουμπιού κάθε φορά;" #: faq/library.rst:190 msgid "" "For Unix variants there are several solutions. It's straightforward to do " "this using curses, but curses is a fairly large module to learn." msgstr "" +"Για τις παραλλαγές του Unix υπάρχουν πολλές λύσεις. Είναι απλό να κάνετε " +"αυτό χρησιμοποιώντας curses, αλλά τα curses είναι ένα αρκετά μεγάλο module " +"για εκμάθηση." #: faq/library.rst:234 msgid "Threads" -msgstr "" +msgstr "Νήματα (Threads)" #: faq/library.rst:237 msgid "How do I program using threads?" -msgstr "" +msgstr "Πώς μπορώ να προγραμματίσω χρησιμοποιώντας νήματα(threads);" #: faq/library.rst:239 msgid "" @@ -332,22 +436,31 @@ msgid "" "module. The :mod:`threading` module builds convenient abstractions on top of " "the low-level primitives provided by the :mod:`_thread` module." msgstr "" +"Βεβαιωθείτε ότι χρησιμοποιείτε το module :mod:`threading` και όχι το module :" +"mod:`_thread`. Το module :mod:`threading` παρέχει ένα πιο βολικό και υψηλού " +"επιπέδου τρόπο διαχείρισης νημάτων, χτίζοντας πάνω στις βασικές λειτουργίες " +"του module :mod:`_thread`." #: faq/library.rst:245 msgid "None of my threads seem to run: why?" -msgstr "" +msgstr "Κανένα από τα νήματα (threads) μου δεν φαίνεται να εκτελείται: γιατί;" #: faq/library.rst:247 msgid "" "As soon as the main thread exits, all threads are killed. Your main thread " "is running too quickly, giving the threads no time to do any work." msgstr "" +"Μόλις γίνει έξοδος από το κύριο νήμα, τερματίζονται όλα τα νήματα. Το κύριο " +"νήμα τρέχει πολύ γρήγορα, χωρίς να δίνεται χρόνος στα νήματα να κάνουν " +"οποιαδήποτε εργασία." #: faq/library.rst:250 msgid "" "A simple fix is to add a sleep to the end of the program that's long enough " "for all the threads to finish::" msgstr "" +"Μια απλή λύση είναι να προσθέσετε ένα sleep στο τέλος που προγράμματος που " +"είναι αρκετό για να τερματιστούν όλα τα νήματα::" #: faq/library.rst:253 msgid "" @@ -363,6 +476,17 @@ msgid "" "\n" "time.sleep(10) # <---------------------------!" msgstr "" +"import threading, time\n" +"\n" +"def thread_task(name, n):\n" +" for i in range(n):\n" +" print(name, i)\n" +"\n" +"for i in range(10):\n" +" T = threading.Thread(target=thread_task, args=(str(i), i))\n" +" T.start()\n" +"\n" +"time.sleep(10) # <---------------------------!" #: faq/library.rst:265 msgid "" @@ -370,10 +494,16 @@ msgid "" "run sequentially, one at a time! The reason is that the OS thread scheduler " "doesn't start a new thread until the previous thread is blocked." msgstr "" +"Αλλά τώρα (σε πολλές πλατφόρμες) τα νήματα δεν εκτελούνται παράλληλα, αλλά " +"φαίνεται να εκτελούνται διαδοχικά, ένα κάθε φορά! Ο λόγος είναι ότι ο " +"προγραμματιστής νημάτων του λειτουργικού συστήματος δεν ξεκινά ένα νέο νήμα " +"μέχρι να αποκλειστεί το προηγούμενο νήμα." #: faq/library.rst:269 msgid "A simple fix is to add a tiny sleep to the start of the run function::" msgstr "" +"Μια απλή λύση είναι να προσθέσετε ένα μικρό sleep στην αρχή της λειτουργίας " +"εκτέλεσης::" #: faq/library.rst:271 msgid "" @@ -388,6 +518,16 @@ msgid "" "\n" "time.sleep(10)" msgstr "" +"def thread_task(name, n):\n" +" time.sleep(0.001) # <--------------------!\n" +" for i in range(n):\n" +" print(name, i)\n" +"\n" +"for i in range(10):\n" +" T = threading.Thread(target=thread_task, args=(str(i), i))\n" +" T.start()\n" +"\n" +"time.sleep(10)" #: faq/library.rst:282 msgid "" @@ -397,10 +537,18 @@ msgid "" "the queue when it finishes, and let the main thread read as many tokens from " "the queue as there are threads." msgstr "" +"Αντί να προσπαθείτε να μαντέψετε μια καλή τιμή καθυστέρησης για την :func:" +"`time.sleep`, είναι καλύτερα να χρησιμοποιείτε κάποιο είδος μηχανισμού " +"σηματοφόρου. Μια ιδέα είναι να χρησιμοποιήσετε το module :mod:`queue` για " +"να δημιουργήσετε ένα αντικείμενο ουράς, αφήνοντας το κάθε νήμα να προσθέτει " +"ένα token στην ουρά όταν ολοκληρωθεί, και να αφήνει στο κύριο νήμα να " +"διαβάσει τόσα tokens από την ουρά όσα είναι και τα νήματα." #: faq/library.rst:290 msgid "How do I parcel out work among a bunch of worker threads?" msgstr "" +"Πως μπορώ να μοιράσω την εργασία σε ένα σωρό από νήματα για αυτήν την " +"εργασία;" #: faq/library.rst:292 msgid "" @@ -417,10 +565,17 @@ msgid "" "``.get()`` method to return them. The class will take care of the locking " "necessary to ensure that each job is handed out exactly once." msgstr "" +"Ή, ένα θέλετε καλό έλεγχο στον αλγόριθμο αποστολής, μπορείτε να γράψετε τη " +"δική σας λογική με μη αυτόματο τρόπο. Χρησιμοποιήστε το module :mod:`queue` " +"για να δημιουργήσετε μια ουρά που περιέχει μια λίστα εργασιών. Η κλάση :" +"class:`~queue.Queue` διατηρεί μια λίστα αντικειμένων και έχει μια μέθοδο ``." +"put(obj)`` που προσθέτει στοιχεία στην ουρά και μια μέθοδο ``.get()`` για " +"επιστροφή. Η κλάση θα φροντίσει για το κλείδωμα που είναι απαραίτητο για να " +"διασφαλίσει ότι κάθε εργασία θα παραδοθεί ακριβώς μία φορά." #: faq/library.rst:302 msgid "Here's a trivial example::" -msgstr "" +msgstr "Ένα απλό παράδειγμα::" #: faq/library.rst:304 msgid "" @@ -460,10 +615,45 @@ msgid "" "print('Main thread sleeping')\n" "time.sleep(5)" msgstr "" +"import threading, queue, time\n" +"\n" +"# The worker thread gets jobs off the queue. When the queue is empty, it\n" +"# assumes there will be no more work and exits.\n" +"# (Realistically workers will run until terminated.)\n" +"def worker():\n" +" print('Running worker')\n" +" time.sleep(0.1)\n" +" while True:\n" +" try:\n" +" arg = q.get(block=False)\n" +" except queue.Empty:\n" +" print('Worker', threading.current_thread(), end=' ')\n" +" print('queue empty')\n" +" break\n" +" else:\n" +" print('Worker', threading.current_thread(), end=' ')\n" +" print('running with argument', arg)\n" +" time.sleep(0.5)\n" +"\n" +"# Create queue\n" +"q = queue.Queue()\n" +"\n" +"# Start a pool of 5 workers\n" +"for i in range(5):\n" +" t = threading.Thread(target=worker, name='worker %i' % (i+1))\n" +" t.start()\n" +"\n" +"# Begin adding work to the queue\n" +"for i in range(50):\n" +" q.put(i)\n" +"\n" +"# Give threads time to run\n" +"print('Main thread sleeping')\n" +"time.sleep(5)" #: faq/library.rst:340 msgid "When run, this will produce the following output:" -msgstr "" +msgstr "Κατά την εκτέλεση, αυτό θα παράγει την ακόλουθη έξοδο:" #: faq/library.rst:342 msgid "" @@ -481,16 +671,31 @@ msgid "" "Worker running with argument 5\n" "..." msgstr "" +"Running worker\n" +"Running worker\n" +"Running worker\n" +"Running worker\n" +"Running worker\n" +"Main thread sleeping\n" +"Worker running with argument 0\n" +"Worker running with argument 1\n" +"Worker running with argument 2\n" +"Worker running with argument 3\n" +"Worker running with argument 4\n" +"Worker running with argument 5\n" +"..." #: faq/library.rst:358 msgid "" "Consult the module's documentation for more details; the :class:`~queue." "Queue` class provides a featureful interface." msgstr "" +"Συμβουλευτείτε την τεκμηρίωση του module για περισσότερες λεπτομέρειες· η " +"κλάση :class:`~queue.Queue` παρέχει μια χαρακτηριστική διεπαφή." #: faq/library.rst:363 msgid "What kinds of global value mutation are thread-safe?" -msgstr "" +msgstr "Ποια είδη global μετάλλαξης τιμής είναι ασφαλή για νήμα(thread);" #: faq/library.rst:365 msgid "" @@ -501,6 +706,13 @@ msgid "" "instruction and therefore all the C implementation code reached from each " "instruction is therefore atomic from the point of view of a Python program." msgstr "" +"Ένα :term:`global interpreter lock` (GIL) χρησιμοποιείται εσωτερικά για να " +"διασφαλιστεί ότι μόνο ένα νήμα εκτελείται στο Python VM κάθε φορά. Γενικά, " +"η Python προσφέρει εναλλαγή μεταξύ νημάτων μόνο μεταξύ εντολών bytecode· το " +"πόσο συχνά γίνεται αυτή η εναλλαγή καθορίζεται από την :func:`sys." +"setswitchinterval`. Κάθε εντολή bytecode και επομένως όλος ο κώδικας " +"υλοποίησης C που φτάνει από κάθε εντολή είναι επομένως ατομικός από την " +"άποψη ενός προγράμματος Python." #: faq/library.rst:372 msgid "" @@ -509,12 +721,19 @@ msgid "" "shared variables of built-in data types (ints, lists, dicts, etc) that " "\"look atomic\" really are." msgstr "" +"Θεωρητικά, αυτό σημαίνει ότι μια ακριβώς λογιστική απαιτεί ακριβή κατανόηση " +"της εφαρμογής bytecode PVM. Στην πράξη, σημαίνει ότι οι λειτουργίες σε " +"κοινόχρηστες μεταβλητές ενσωματωμένων δεδομένων (ακέραιοι, λίστες, λεξικά, κ." +"λπ.) που \"φαίνονται ατομικά\" πραγματικά είναι." #: faq/library.rst:377 msgid "" "For example, the following operations are all atomic (L, L1, L2 are lists, " "D, D1, D2 are dicts, x, y are objects, i, j are ints)::" msgstr "" +"Για παράδειγμα, οι ακόλουθες πράξεις είναι όλες ατομικές (L, L1, L2 είναι " +"λίστες, D, D1, D2 είναι λεξικά, x, y είναι αντικείμενα, i, j είναι " +"ακέραιοι)::" #: faq/library.rst:380 msgid "" @@ -530,10 +749,21 @@ msgid "" "D1.update(D2)\n" "D.keys()" msgstr "" +"L.append(x)\n" +"L1.extend(L2)\n" +"x = L[i]\n" +"x = L.pop()\n" +"L1[i:j] = L2\n" +"L.sort()\n" +"x = y\n" +"x.field = y\n" +"D[x] = y\n" +"D1.update(D2)\n" +"D.keys()" #: faq/library.rst:392 msgid "These aren't::" -msgstr "" +msgstr "Αυτά δεν είναι::" #: faq/library.rst:394 msgid "" @@ -542,6 +772,10 @@ msgid "" "L[i] = L[j]\n" "D[x] = D[x] + 1" msgstr "" +"i = i+1\n" +"L.append(L[-1])\n" +"L[i] = L[j]\n" +"D[x] = D[x] + 1" #: faq/library.rst:399 msgid "" @@ -550,10 +784,15 @@ msgid "" "can affect things. This is especially true for the mass updates to " "dictionaries and lists. When in doubt, use a mutex!" msgstr "" +"Οι λειτουργίες που αντικαθιστούν άλλα αντικείμενα ενδέχεται να καλέσουν αυτά " +"τα άλλα αντικείμενα της :meth:`~object.__del__` όταν ο αριθμός αναφοράς τους " +"φτάσει στο μηδέν και αυτό μπορεί να επηρεάσει πράγματα. Αυτό ισχύει " +"ιδιαίτερα για τις μαζικές ενημερώσεις σε λεξικά και λίστες. Σε περίπτωση " +"αμφιβολίας, χρησιμοποιήστε ένα mutex!" #: faq/library.rst:406 msgid "Can't we get rid of the Global Interpreter Lock?" -msgstr "" +msgstr "Μπορούμε να απαλλαγούμε από ένα Global Interpreter Lock;" #: faq/library.rst:408 msgid "" @@ -562,6 +801,11 @@ msgid "" "multi-threaded Python program effectively only uses one CPU, due to the " "insistence that (almost) all Python code can only run while the GIL is held." msgstr "" +"Το :term:`global interpreter lock` (GIL) θεωρείται συχνά ως εμπόδιο για την " +"ανάπτυξη της Python σε υψηλής τεχνολογίας μηχανήματα διακομιστών με " +"πολυεπεξεργαστές, επειδή ένα πρόγραμμα Python με πολλά νήματα χρησιμοποιεί " +"αποτελεσματικά μόνο μία CPU, λόγω της επιμονής ότι (σχεδόν) όλος ο κώδικας " +"της Python μπορεί να εκτελεστεί μόνο όσο διατηρείται το GIL." #: faq/library.rst:413 msgid "" @@ -574,6 +818,15 @@ msgid "" "containing this work, although it may not be completely functional in this " "release." msgstr "" +"Με την έγκριση του :pep:`703` έχει ξεκινήσει η εργασία για την αφαίρεση του " +"GIL από την υλοποίηση CPython της Python. Αρχικά θα υλοποιηθεί ως μια " +"προαιρετική σημαία μεταγλωττιστή κατά την κατασκευή του διερμηνευτή, και " +"έτσι θα είναι διαθέσιμες ξεχωριστές κατασκευές με και χωρίς το GIL. " +"Μακροπρόθεσμα, η ελπίδα είναι να καταλήξουμε σε μια ενιαία κατασκευή, μόλις " +"οι επιπτώσεις στην απόδοση της αφαίρεσης του GIL να γίνουν πλήρως " +"κατανοητές. Η Python 3.13 είναι πιθανό να είναι η πρώτη έκδοση που θα " +"περιέχει αυτήν την εργασία, αν και μπορεί να μην είναι πλήρως λειτουργική σε " +"αυτήν την έκδοση." #: faq/library.rst:422 msgid "" @@ -589,6 +842,18 @@ msgid "" "compensate for the removal of the GIL. The Python 3.9 fork is the first " "attempt at removing the GIL with an acceptable performance impact." msgstr "" +"Η τρέχουσα εργασία για την αφαίρεση του GIL βασίζεται σε ένα `fork της " +"Python 3.9 με το GIL αφαιρεμένο `_ από " +"τον Sam Gross. Πριν από αυτό, στις ημέρες της Python 1.5, ο Greg Stein " +"υλοποίησε στην πραγματικότητα ένα ολοκληρωμένο σύνολο διορθώσεων (τα \"free " +"threading\" patches) που αφαίρεσαν το GIL και το αντικατέστησαν με λεπτομερή " +"κλείδωμα. Ο Adam Olsen έκανε ένα παρόμοιο πείραμα στο έργο του `python-" +"safethread `_. " +"Δυστυχώς, και τα δύο αυτά προηγούμενα πειράματα παρουσίασαν απότομη πτώση " +"στην απόδοση ενός νήματος (τουλάχιστον 30% πιο αργά), λόγω της ποσότητας " +"λεπτομερούς κλειδώματος που απαιτείται για να αντισταθμιστεί η αφαίρεση του " +"GIL. Το fork της Python 3.9 είναι η πρώτη προσπάθεια αφαίρεσης του GIL με " +"αποδεκτή επίδραση στην απόδοση." #: faq/library.rst:437 msgid "" @@ -600,6 +865,14 @@ msgid "" "doing so; the :mod:`multiprocessing` module provides a lower-level API in " "case you want more control over dispatching of tasks." msgstr "" +"Η παρουσία του GIL στις τρέχουσες εκδόσεις της Python δεν σημαίνει ότι δεν " +"μπορείτε να κάνετε καλή χρήση της Python σε μηχανές με πολλαπλές CPU! Απλώς " +"πρέπει να είστε δημιουργικοί με τον διαχωρισμό της εργασίας μεταξύ πολλαπλών " +"*processes* αντί για πολλαπλά *threads*. Η κλάση :class:`~concurrent." +"futures.ProcessPoolExecutor` στο νέο module :mod:`concurrent.futures` " +"παρέχει έναν εύκολο τρόπο για να το κάνετε αυτό· το module :mod:" +"`multiprocessing` παρέχει μια χαμηλότερου επιπέδου API σε περίπτωση που " +"θέλετε περισσότερο έλεγχο στην αποστολή εργασιών." #: faq/library.rst:446 msgid "" @@ -609,6 +882,11 @@ msgid "" "work done. Some standard library modules such as :mod:`zlib` and :mod:" "`hashlib` already do this." msgstr "" +"Η συνετή χρήση των επεκτάσεων C βοηθάει επίσης· εάν χρησιμοποιείτε μια " +"επέκταση C για να εκτελέσετε μια χρονοβόρα εργασία, η επέκταση μπορεί να " +"απελευθερώσει το GIL ενώ το νήμα εκτέλεσης βρίσκεται στον κώδικα C και να " +"επιτρέψει σε άλλα νήματα να ολοκληρώσουν κάποια εργασία. Ορισμένα τυπικά " +"module βιβλιοθήκης όπως :mod:`zlib` και :mod:`hashlib` το κάνουν ήδη αυτό." #: faq/library.rst:452 msgid "" @@ -620,14 +898,23 @@ msgid "" "since these must be written with multiple interpreters in mind in order to " "be usable, so many older extension modules will not be usable." msgstr "" +"Μια εναλλακτική προσέγγιση για τη μείωση της επίδρασης του GIL είναι να " +"γίνει το GIL ένα κλείδωμα ανά κατάσταση διερμηνευτή αντί για πραγματικά " +"παγκόσμιο. Αυτό :ref:`υλοποιήθηκε πρώτα στην Python 3.12 ` και είναι διαθέσιμο στο C API. Μια διεπαφή Python σε αυτό " +"αναμένεται στην Python 3.13. Ο κύριος περιορισμός προς το παρόν είναι πιθανό " +"να είναι τα 3rd party extension modules, καθώς αυτά πρέπει να γράφονται με " +"πολλαπλούς διερμηνευτές στο μυαλό για να είναι χρησιμοποιήσιμα, οπότε πολλά " +"παλαιότερα extension modules δεν θα είναι χρησιμοποιήσιμα." #: faq/library.rst:462 msgid "Input and Output" -msgstr "" +msgstr "Είσοδος και Έξοδος" #: faq/library.rst:465 msgid "How do I delete a file? (And other file questions...)" msgstr "" +"Πώς μπορώ να διαγράψω ένα αρχείο; (Και άλλες ερωτήσεις για το αρχείο...)" #: faq/library.rst:467 msgid "" @@ -635,6 +922,10 @@ msgid "" "see the :mod:`os` module. The two functions are identical; :func:`~os." "unlink` is simply the name of the Unix system call for this function." msgstr "" +"Χρησιμοποιήστε τα ``os.remove(filename)`` ή ``os.unlink(filename)`` ∙ για " +"τεκμηρίωση, ανατρέξτε στο module :mod:`os`. Οι δύο συναρτήσεις είναι ίδιες∙ " +"η :func:`~os.unlink` είναι απλώς το όνομα της κλήσης συστήματος Unix για " +"αυτήν τη λειτουργία." #: faq/library.rst:471 msgid "" @@ -644,6 +935,12 @@ msgid "" "directories as long as they're empty; if you want to delete an entire " "directory tree and its contents, use :func:`shutil.rmtree`." msgstr "" +"Για να καταργήσετε έναν κατάλογο, χρησιμοποιήστε τη :func:`os.rmdir` ∙ " +"χρησιμοποιήστε τη :func:`os.mkdir` για να δημιουργήσετε έναν. Το ``os." +"makedirs(path)`` θα δημιουργήσει τυχόν ενδιάμεσους καταλόγους στο ``path`` " +"που δεν υπάρχουν. Το ``os.removedirs(path)`` θα αφαιρέσει τους ενδιάμεσους " +"καταλόγους εφόσον είναι κενοί∙ εάν θέλετε να διαγράψετε ολόκληρο δέντρο " +"καταλόγου και τα περιεχόμενα του, χρησιμοποιήστε τη :func:`shutil.rmtree`." #: faq/library.rst:477 msgid "To rename a file, use ``os.rename(old_path, new_path)``." @@ -656,6 +953,11 @@ msgid "" "There's also ``os.ftruncate(fd, offset)`` for files opened with :func:`os." "open`, where *fd* is the file descriptor (a small integer)." msgstr "" +"Για να περικόψετε ένα αρχείο, ανοίξτε το χρησιμοποιώντας ``f = " +"open(filename, \"rb+\")``, και χρησιμοποιήστε το ``f.truncate(offset)``∙ το " +"offset προεπιλέγεται στη τρέχουσα θέση αναζήτησης. Υπάρχει επίσης το ``os." +"ftruncate(fd, offset)`` για αρχεία που έχουν ανοιχτεί με :func:`os.open`, " +"όπου *fd* είναι ο περιγραφέας αρχείου (ένας μικρός ακέραιος)." #: faq/library.rst:484 msgid "" @@ -663,10 +965,13 @@ msgid "" "files including :func:`~shutil.copyfile`, :func:`~shutil.copytree`, and :" "func:`~shutil.rmtree`." msgstr "" +"Το module :mod:`shutil` περιέχει επίσης έναν αριθμό λειτουργιών για εργασία " +"σε αρχεία, όπως :func:`~shutil.copyfile`, :func:`~shutil.copytree`, και :" +"func:`~shutil.rmtree`." #: faq/library.rst:490 msgid "How do I copy a file?" -msgstr "" +msgstr "Πως αντιγράφω ένα αρχείο;" #: faq/library.rst:492 msgid "" @@ -678,10 +983,17 @@ msgid "" "permissions and metadata, though using :func:`shutil.copy2` instead will " "preserve most (though not all) of it." msgstr "" +"Το module :mod:`shutil` περιέχει μια συνάρτηση :func:`~shutil.copyfile`. " +"Σημειώστε ότι στους τόμους NTFS των Windows, δεν αντιγράφει `alternate data " +"streams `_ " +"ούτε `resource forks `__ σε " +"τόμους macOS HFS+, αν και οι δύο χρησιμοποιούνται πλέον σπάνια. Επίσης δεν " +"αντιγράφει δικαιώματα αρχείων και μεταδεδομένα, αν και η χρήση :func:`shutil." +"copy2` θα διατηρήσει το μεγαλύτερο μέρος (αν και όχι όλο) από αυτό." #: faq/library.rst:503 msgid "How do I read (or write) binary data?" -msgstr "" +msgstr "Πώς διαβάζω (ή γράφω) δυαδικά δεδομένα;" #: faq/library.rst:505 msgid "" @@ -689,12 +1001,18 @@ msgid "" "`struct` module. It allows you to take a string containing binary data " "(usually numbers) and convert it to Python objects; and vice versa." msgstr "" +"Για να διαβάσετε ή να γράψετε σύνθετες μορφές δυαδικών δεδομένων, είναι " +"καλύτερο να χρησιμοποιήσετε το module :mod:`struct`. Σας επιτρέπει να " +"πάρετε μια συμβολοσειρά που περιέχει δυαδικά δεδομένα (συνήθως αριθμούς) και " +"να τη μετατρέψετε σε αντικείμενα Python και αντίστροφα." #: faq/library.rst:509 msgid "" "For example, the following code reads two 2-byte integers and one 4-byte " "integer in big-endian format from a file::" msgstr "" +"Για παράδειγμα, ο παρακάτω κώδικας διαβάζει δύο ακέραιους αριθμούς 2 byte " +"και έναν ακέραιο αριθμό 4 byte σε μορφή big-endian από ένα αρχείο::" #: faq/library.rst:512 msgid "" @@ -704,6 +1022,11 @@ msgid "" " s = f.read(8)\n" " x, y, z = struct.unpack(\">hhl\", s)" msgstr "" +"import struct\n" +"\n" +"with open(filename, \"rb\") as f:\n" +" s = f.read(8)\n" +" x, y, z = struct.unpack(\">hhl\", s)" #: faq/library.rst:518 msgid "" @@ -711,12 +1034,18 @@ msgid "" "one \"short integer\" (2 bytes), and 'l' reads one \"long integer\" (4 " "bytes) from the string." msgstr "" +"Το '>' στη συμβολοσειρά μορφής αναγκάζει δεδομένα big-endian∙ το γράμμα 'h' " +"διαβάζει έναν \"short integer\" (2 bytes), και το 'l' διαβάζει έναν \"long " +"integer\" (4 byte) από την συμβολοσειρά." #: faq/library.rst:522 msgid "" "For data that is more regular (e.g. a homogeneous list of ints or floats), " "you can also use the :mod:`array` module." msgstr "" +"Για δεδομένα που είναι πιο κανονικά (π.χ. μια ομοιογενής λίστα ακεραίων ή " +"αριθμούς με υποδιαστολή), μπορείτε επίσης να χρησιμοποιήσετε το module :mod:" +"`array`." #: faq/library.rst:527 msgid "" @@ -725,10 +1054,17 @@ msgid "" "instead (the default), the file will be open in text mode and ``f.read()`` " "will return :class:`str` objects rather than :class:`bytes` objects." msgstr "" +"Για να διαβάσετε και να γράψετε δυαδικά δεδομένα, είναι υποχρεωτικό να " +"ανοίξετε το αρχείο σε δυαδική λειτουργία (εδώ, περνώντας το ``\"rb\"`` στη :" +"func:`open`). Εάν χρησιμοποιήσετε το ``\"r\"`` αντί αυτού (προεπιλεγμένο) " +"το αρχείο θα είναι ανοιχτό σε λειτουργία κειμένου και το ``f.read()`` θα " +"επιστρέψει αντικείμενα :class:`str` αντί για αντικείμενα :class:`bytes`." #: faq/library.rst:535 msgid "I can't seem to use os.read() on a pipe created with os.popen(); why?" msgstr "" +"Δεν μπορώ να χρησιμοποιήσω το os.read() σε ένα pipe που δημιουργήθηκε με το " +"os.popen()∙ γιατί;" #: faq/library.rst:537 msgid "" @@ -738,36 +1074,46 @@ msgid "" "function. Thus, to read *n* bytes from a pipe *p* created with :func:`os." "popen`, you need to use ``p.read(n)``." msgstr "" +"Η :func:`os.read` είναι μια συνάρτηση χαμηλού επιπέδου που παίρνει έναν " +"περιγραφέα αρχείου, έναν μικρό ακέραιο που αντιπροσωπεύει το ανοιχτό " +"αρχείο. Η :func:`os.popen` δημιουργεί ένα αντικείμενο αρχείου υψηλού " +"επιπέδου, του ίδιου τύπου που επιστρέφεται από την ενσωματωμένη συνάρτηση :" +"func:`open`. Έτσι, για να διαβάσετε *n* byte από ένα pipe *p* που " +"δημιουργήθηκε με τη :func:`os.popen`, πρέπει να χρησιμοποιήσετε το ``p." +"read(n)``." #: faq/library.rst:545 msgid "How do I access the serial (RS232) port?" -msgstr "" +msgstr "Πώς μπορώ να αποκτήσω πρόσβαση στη σειριακή θύρα (RS232);" #: faq/library.rst:547 msgid "For Win32, OSX, Linux, BSD, Jython, IronPython:" -msgstr "" +msgstr "Για Win32, OSX, Linux, BSD, Jython, IronPython:" #: faq/library.rst:549 msgid ":pypi:`pyserial`" -msgstr "" +msgstr ":pypi:`pyserial`" #: faq/library.rst:551 msgid "For Unix, see a Usenet post by Mitch Chapman:" -msgstr "" +msgstr "Για το Unix, δείτε μια ανάρτηση στο Usenet από τον Mitch Chapman:" #: faq/library.rst:553 msgid "https://groups.google.com/groups?selm=34A04430.CF9@ohioee.com" -msgstr "" +msgstr "https://groups.google.com/groups?selm=34A04430.CF9@ohioee.com" #: faq/library.rst:557 msgid "Why doesn't closing sys.stdout (stdin, stderr) really close it?" msgstr "" +"Γιατί το κλείσιμο του sys.stdout (stdin, stderr) δεν το κλείνει πραγματικά;" #: faq/library.rst:559 msgid "" "Python :term:`file objects ` are a high-level layer of " "abstraction on low-level C file descriptors." msgstr "" +"Το Python :term:`file objects ` είναι ένα επίπεδο αφαίρεσης " +"υψηλού επιπέδου σε χαμηλού επιπέδου περιγραφείς αρχείων C." #: faq/library.rst:562 msgid "" @@ -777,6 +1123,11 @@ msgid "" "descriptor. This also happens automatically in ``f``'s destructor, when " "``f`` becomes garbage." msgstr "" +"Για τα περισσότερα αντικείμενα αρχείων που δημιουργείτε στην Python μέσω της " +"ενσωματωμένης συνάρτησης :func:`open`, η ``f.close()`` επισημαίνει το " +"αντικείμενο αρχείου Python ως κλειστό από την άποψη της Python και επίσης " +"κανονίζει να κλείσει ο υποκείμενος περιγραφέας αρχείου C. Αυτό συμβαίνει " +"επίσης αυτόματα στον καταστροφέα του ``f``, όταν το ``f`` γίνεται σκουπίδια." #: faq/library.rst:568 msgid "" @@ -785,6 +1136,10 @@ msgid "" "marks the Python-level file object as being closed, but does *not* close the " "associated C file descriptor." msgstr "" +"Αλλά τα stdin, stdout και stderr αντιμετωπίζονται ειδικά από την Python, " +"λόγω της ειδικής κατάστασης που τους δίνεται επίσης από τη C. Εκτελώντας το " +"``sys.stdout.close()`` επισημαίνει το αντικείμενο αρχείου σε επίπεδο Python " +"ως κλειστό, αλλά *δεν* κλείνει το συσχετισμένο περιγραφικό αρχείου C." #: faq/library.rst:573 msgid "" @@ -792,6 +1147,10 @@ msgid "" "first be sure that's what you really want to do (e.g., you may confuse " "extension modules trying to do I/O). If it is, use :func:`os.close`::" msgstr "" +"Για να κλείσετε τον υποκείμενο περιγραφέα αρχείου C για ένα από αυτά τα " +"τρία, θα πρέπει πρώτα να βεβαιωθείτε ότι αυτό θέλετε πραγματικά να κάνετε (π." +"χ., μπορείτε να μπερδέψετε τα modules επέκτασης που προσπαθούν να κάνουν I/" +"O). Εάν είναι, χρησιμοποιήστε τη :func:`os.close`::" #: faq/library.rst:577 msgid "" @@ -799,18 +1158,23 @@ msgid "" "os.close(stdout.fileno())\n" "os.close(stderr.fileno())" msgstr "" +"os.close(stdin.fileno())\n" +"os.close(stdout.fileno())\n" +"os.close(stderr.fileno())" #: faq/library.rst:581 msgid "Or you can use the numeric constants 0, 1 and 2, respectively." msgstr "" +"Ή μπορείτε να χρησιμοποιήσετε τις αριθμητικές σταθερές 0, 1 και 2, " +"αντίστοιχα." #: faq/library.rst:585 msgid "Network/Internet Programming" -msgstr "" +msgstr "Προγραμματισμός Δικτύου/Διαδικτύου" #: faq/library.rst:588 msgid "What WWW tools are there for Python?" -msgstr "" +msgstr "Ποια εργαλεία WWW υπάρχουν για την Python;" #: faq/library.rst:590 msgid "" @@ -818,36 +1182,46 @@ msgid "" "Reference Manual. Python has many modules that will help you build server-" "side and client-side web systems." msgstr "" +"Δείτε τα κεφάλαια με τίτλο :ref:`internet` και :ref:`netdata` στο Εγχειρίδιο " +"Αναφοράς Βιβλιοθήκης. Η Python έχει πολλά modules που θα σας βοηθήσουν να " +"δημιουργήσετε συστήματα ιστού από την πλευρά του διακομιστή και του πελάτη." #: faq/library.rst:596 msgid "" "A summary of available frameworks is maintained by Paul Boddie at https://" "wiki.python.org/moin/WebProgramming\\ ." msgstr "" +"Μια σύνοψη των διαθέσιμων πλαισίων διατηρείται από τον Paul Boddie στη " +"διεύθυνση https://wiki.python.org/moin/WebProgramming\\ ." #: faq/library.rst:601 msgid "What module should I use to help with generating HTML?" -msgstr "" +msgstr "Τι module πρέπει να χρησιμοποιήσω για να βοηθήσω στην δημιουργία HTML;" #: faq/library.rst:605 msgid "" "You can find a collection of useful links on the `Web Programming wiki page " "`_." msgstr "" +"Μπορείτε να βρείτε μια συλλογή από χρήσιμους συνδέσμους στη σελίδα `Web " +"Programming wiki page `_." #: faq/library.rst:610 msgid "How do I send mail from a Python script?" -msgstr "" +msgstr "Πώς μπορώ να στείλω αλληλογραφία από ένα Python script;" #: faq/library.rst:612 msgid "Use the standard library module :mod:`smtplib`." -msgstr "" +msgstr "Χρησιμοποιήστε την τυπική module βιβλιοθήκη :mod:`smtplib`." #: faq/library.rst:614 msgid "" "Here's a very simple interactive mail sender that uses it. This method will " "work on any host that supports an SMTP listener. ::" msgstr "" +"Εδώ είναι ένας πολύ απλός διαδραστικός αποστολέας αλληλογραφίας που τον " +"χρησιμοποιεί. Αυτή η μέθοδος θα λειτουργήσει σε οποιονδήποτε κεντρικό " +"υπολογιστή υποστηρίζει το πρόγραμμα ακρόασης SMTP. ::" #: faq/library.rst:617 msgid "" @@ -868,6 +1242,22 @@ msgid "" "server.sendmail(fromaddr, toaddrs, msg)\n" "server.quit()" msgstr "" +"import sys, smtplib\n" +"\n" +"fromaddr = input(\"From: \")\n" +"toaddrs = input(\"To: \").split(',')\n" +"print(\"Enter message, end with ^D:\")\n" +"msg = ''\n" +"while True:\n" +" line = sys.stdin.readline()\n" +" if not line:\n" +" break\n" +" msg += line\n" +"\n" +"# The actual mail send\n" +"server = smtplib.SMTP('localhost')\n" +"server.sendmail(fromaddr, toaddrs, msg)\n" +"server.quit()" #: faq/library.rst:634 msgid "" @@ -876,6 +1266,10 @@ msgid "" "usr/sbin/sendmail``. The sendmail manual page will help you out. Here's " "some sample code::" msgstr "" +"Μια εναλλακτική λύση μόνο για Unix χρησιμοποιεί sendmail. Η τοποθεσία του " +"προγράμματος sendmail ποικίλλει μεταξύ των συστημάτων∙ μερικές φορές είναι " +"``/usr/lib/sendmail``, μερικές φορές ``/usr/sbin/sendmail``. Η σελίδα " +"εγχειριδίου sendmail θα σας βοηθήσει. Ορίστε ένα δείγμα κώδικα::" #: faq/library.rst:639 msgid "" @@ -892,16 +1286,30 @@ msgid "" "if sts != 0:\n" " print(\"Sendmail exit status\", sts)" msgstr "" +"import os\n" +"\n" +"SENDMAIL = \"/usr/sbin/sendmail\" # sendmail location\n" +"p = os.popen(\"%s -t -i\" % SENDMAIL, \"w\")\n" +"p.write(\"To: receiver@example.com\\n\")\n" +"p.write(\"Subject: test\\n\")\n" +"p.write(\"\\n\") # blank line separating headers from body\n" +"p.write(\"Some text\\n\")\n" +"p.write(\"some more text\\n\")\n" +"sts = p.close()\n" +"if sts != 0:\n" +" print(\"Sendmail exit status\", sts)" #: faq/library.rst:654 msgid "How do I avoid blocking in the connect() method of a socket?" -msgstr "" +msgstr "Πώς μπορώ να αποφύγω τον αποκλεισμό στη μέθοδο connect() ενός socket;" #: faq/library.rst:656 msgid "" "The :mod:`select` module is commonly used to help with asynchronous I/O on " "sockets." msgstr "" +"Το module :mod:`select` χρησιμοποιείται συνήθως για να βοηθήσει με " +"ασύγχρονες I/O σε sockets." #: faq/library.rst:659 msgid "" @@ -913,6 +1321,14 @@ msgid "" "return different values, so you're going to have to check what's returned on " "your system." msgstr "" +"Για να αποτρέψετε τον αποκλεισμό της σύνδεσης TCP, μπορείτε να ρυθμίσετε την " +"υποδοχή σε λειτουργία μη αποκλεισμού. Στην συνέχεια, όταν κάνετε τη :meth:" +"`~socket.socket.connect`, είτε θα συνδεθείτε αμέσως (απίθανο), είτε θα " +"λάβετε μια εξαίρεση που περιέχει τον αριθμό σφάλματος ως ``.errno``. Το " +"``errno.EINPROGRESS`` υποδηλώνει ότι η σύνδεση είναι σε εξέλιξη, αλλά δεν " +"έχει ολοκληρωθεί ακόμα. Διαφορετικά λειτουργικά συστήματα θα επιστρέψουν " +"διαφορετικές τιμές, επομένως θα πρέπει να ελέγξετε τι επιστρέφεται στο " +"σύστημα σας." #: faq/library.rst:667 msgid "" @@ -922,6 +1338,12 @@ msgid "" "indicate that you're connected -- or you can pass this socket to :meth:" "`select.select` to check if it's writable." msgstr "" +"Μπορείτε να χρησιμοποιήσετε τη μέθοδο :meth:`~socket.socket.connect_ex` για " +"να αποφύγετε τη δημιουργία εξαίρεσης. Απλώς θα επιστρέψει την τιμή errno. " +"Για δημοσκόπηση, μπορείτε να καλέσετε το :meth:`~socket.socket.connect_ex` " +"ξανά αργότερα -- ``0`` ή ``errno.EISCONN`` υποδηλώνει ότι είστε συνδεδεμένοι " +"-- ή μπορείτε να περάσετε αυτό το socket στη :meth:`select.select` για να " +"ελέγξτε αν είναι εγγράψιμο." #: faq/library.rst:675 msgid "" @@ -930,18 +1352,22 @@ msgid "" "network code. The third-party `Twisted `_ library is a " "popular and feature-rich alternative." msgstr "" +"Το module :mod:`asyncio` παρέχει μια γενικού σκοπού απλή και ταυτόχρονη " +"ασύγχρονη βιβλιοθήκη, η οποία μπορεί να χρησιμοποιηθεί για τη σύνταξη κώδικα " +"δικτύου χωρίς αποκλεισμό. Η βιβλιοθήκη `Twisted `_ " +"είναι μια δημοφιλής και με πολλές λειτουργίες εναλλακτική λύση." #: faq/library.rst:683 msgid "Databases" -msgstr "" +msgstr "Βάσεις Δεδομένων" #: faq/library.rst:686 msgid "Are there any interfaces to database packages in Python?" -msgstr "" +msgstr "Υπάρχουν διεπαφές σε πακέτα βάσεων δεδομένων στην Python;" #: faq/library.rst:688 msgid "Yes." -msgstr "" +msgstr "Ναι." #: faq/library.rst:690 msgid "" @@ -950,6 +1376,10 @@ msgid "" "`sqlite3` module, which provides a lightweight disk-based relational " "database." msgstr "" +"Διεπαφές σε κατακερματισμούς που βασίζονται σε δίσκο, όπως :mod:`DBM ` και :mod:`GDBM ` περιλαμβάνονται επίσης στην τυπική Python. " +"Υπάρχει επίσης το module :mod:`sqlite3`, το οποίο παρέχει μια ελαφριά " +"σχεσιακή βάση δεδομένων που βασίζεται στο δίσκο." #: faq/library.rst:695 msgid "" @@ -957,10 +1387,13 @@ msgid "" "`DatabaseProgramming wiki page `_ for details." msgstr "" +"Υποστήριξη για τις περισσότερες σχεσιακές βάσεις δεδομένων είναι διαθέσιμη. " +"Δείτε τη σελίδα `DatabaseProgramming wiki page `_ για λεπτομέρειες." #: faq/library.rst:701 msgid "How do you implement persistent objects in Python?" -msgstr "" +msgstr "Πως υλοποιείτε persistent αντικείμενα στην Python;" #: faq/library.rst:703 msgid "" @@ -969,63 +1402,85 @@ msgid "" "mod:`shelve` library module uses pickle and (g)dbm to create persistent " "mappings containing arbitrary Python objects." msgstr "" +"To module βιβλιοθήκης :mod:`pickle` το λύνει αυτό με πολύ γενικό τρόπο (αν " +"και δεν μπορείτε ακόμα να αποθηκεύσετε πράγματα όπως ανοιχτά αρχεία, sockets " +"ή παράθυρα), και το module βιβλιοθήκης :mod:`shelve` χρησιμοποιεί pickle και " +"(g)dbm για τη δημιουργία επίμονων αντιστοιχίσεων που περιέχουν αυθαίρετα " +"αντικείμενα Python." #: faq/library.rst:710 msgid "Mathematics and Numerics" -msgstr "" +msgstr "Μαθηματικά και Αριθμητικά" #: faq/library.rst:713 msgid "How do I generate random numbers in Python?" -msgstr "" +msgstr "Πως μπορώ να δημιουργήσω τυχαίους αριθμούς στην Python;" #: faq/library.rst:715 msgid "" "The standard module :mod:`random` implements a random number generator. " "Usage is simple::" msgstr "" +"Το τυπικό module :mod:`random` υλοποιεί μια γεννήτρια τυχαίων αριθμών. Η " +"χρήση είναι απλή::" #: faq/library.rst:718 msgid "" "import random\n" "random.random()" msgstr "" +"import random\n" +"random.random()" #: faq/library.rst:721 msgid "This returns a random floating-point number in the range [0, 1)." msgstr "" +"Αυτό επιστρέφει έναν τυχαίο αριθμό κινητής υποδιαστολής στο εύρος [0, 1)." #: faq/library.rst:723 msgid "" "There are also many other specialized generators in this module, such as:" msgstr "" +"Υπάρχουν επίσης πολλές άλλες εξειδικευμένες γεννήτριες σε αυτό το module, " +"όπως:" #: faq/library.rst:725 msgid "``randrange(a, b)`` chooses an integer in the range [a, b)." -msgstr "" +msgstr "Το ``randrange(a, b)`` επιλέγει έναν ακέραιο στο εύρος [a, b)." #: faq/library.rst:726 msgid "``uniform(a, b)`` chooses a floating-point number in the range [a, b)." msgstr "" +"Το ``uniform(a, b)`` επιλέγει έναν αριθμό κινητής υποδιαστολής στο εύρος [a, " +"b)." #: faq/library.rst:727 msgid "" "``normalvariate(mean, sdev)`` samples the normal (Gaussian) distribution." msgstr "" +"Το ``normalvariate(mean, sdev)`` λαμβάνει δείγματα της κανονικής (Gaussian) " +"κατανομής." #: faq/library.rst:729 msgid "Some higher-level functions operate on sequences directly, such as:" msgstr "" +"Ορισμένες συναρτήσεις υψηλότερου επιπέδου λειτουργούν απευθείας σε " +"ακολουθίες, όπως:" #: faq/library.rst:731 msgid "``choice(S)`` chooses a random element from a given sequence." msgstr "" +"To ``choice(S)`` επιλέγει ένα τυχαίο στοιχείο από μια δεδομένη ακολουθία." #: faq/library.rst:732 msgid "``shuffle(L)`` shuffles a list in-place, i.e. permutes it randomly." msgstr "" +"Το ``shuffle(L)`` ανακατεύει μια λίστα επιτόπου, δηλαδή τη μεταθέτει τυχαία." #: faq/library.rst:734 msgid "" "There's also a ``Random`` class you can instantiate to create independent " "multiple random number generators." msgstr "" +"Υπάρχει επίσης μια κλάση ``Random`` που μπορείτε να επιβεβαιώσετε για να " +"δημιουργήσετε ανεξάρτητες γεννήτριες πολλαπλών τυχαίων αριθμών." diff --git a/reference/datamodel.po b/reference/datamodel.po index 8e3a423e..cab45f82 100644 --- a/reference/datamodel.po +++ b/reference/datamodel.po @@ -9,21 +9,22 @@ msgstr "" "Project-Id-Version: Python 3.12\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-06-19 17:36+0300\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"PO-Revision-Date: 2025-11-20 18:12+0200\n" +"Last-Translator: Panagiotis Skias \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" +"X-Generator: Poedit 3.6\n" #: reference/datamodel.rst:6 msgid "Data model" -msgstr "" +msgstr "Μοντέλο Δεδομένων" #: reference/datamodel.rst:12 msgid "Objects, values and types" -msgstr "" +msgstr "Αντικείμενα, τιμές και τύποι" #: reference/datamodel.rst:18 msgid "" @@ -32,6 +33,11 @@ msgid "" "sense, and in conformance to Von Neumann's model of a \"stored program " "computer\", code is also represented by objects.)" msgstr "" +"Το :dfn:`Objects` είναι μια αφαιρετική αναπαράσταση της Python για τα " +"δεδομένα. Όλα τα δεδομένα σε ένα Python πρόγραμμα αναπαριστώνται από " +"αντικείμενα ή από συσχετίσεις μεταξύ αντικειμένων. (Κατά μία έννοια, και " +"σύμφωνα με το μοντέλο του Von Neumann για έναν \"υπολογιστή αποθηκευμένου " +"προγράμματος\", ο κώδικας αντιπροσωπεύεται επίσης από αντικείμενα.)" #: reference/datamodel.rst:35 msgid "" @@ -41,10 +47,17 @@ msgid "" "objects; the :func:`id` function returns an integer representing its " "identity." msgstr "" +"Κάθε αντικείμενο έχει μια ταυτότητα, έναν τύπο και μια τιμή. Η *ταυτότητα* " +"ενός αντικειμένου δεν αλλάζει ποτέ αφού δημιουργηθεί∙ μπορείτε να το " +"σκεφτείτε ως τη διεύθυνση του αντικειμένου στη μνήμη. Ο τελεστής :keyword:" +"`is` συγκρίνει την ταυτότητα δύο αντικειμένων∙ η συνάρτηση :func:`id` " +"επιστρέφει έναν ακέραιο αριθμό που αντιπροσωπεύει την ταυτότητά του." #: reference/datamodel.rst:42 msgid "For CPython, ``id(x)`` is the memory address where ``x`` is stored." msgstr "" +"Για την CPython, το ``id(x)`` είναι η διεύθυνση μνήμης όπου είναι " +"αποθηκευμένο το ``x``." #: reference/datamodel.rst:44 msgid "" @@ -54,6 +67,11 @@ msgid "" "an object itself). Like its identity, an object's :dfn:`type` is also " "unchangeable. [#]_" msgstr "" +"Ο τύπος ενός αντικειμένου καθορίζει τις λειτουργίες που υποστηρίζει το " +"αντικείμενο (π.χ., \"έχει μήκος;\") και ορίζει επίσης τις πιθανές τιμές για " +"αντικείμενα αυτού του τύπου. Η συνάρτηση :func:`type` επιστρέφει τον τύπο " +"ενός αντικειμένου (που είναι το ίδιο το αντικείμενο). Όπως και η ταυτότητά, " +"το :dfn:`type` ενός αντικειμένου είναι επίσης αμετάβλητο. [#]_" #: reference/datamodel.rst:50 msgid "" @@ -68,6 +86,17 @@ msgid "" "instance, numbers, strings and tuples are immutable, while dictionaries and " "lists are mutable." msgstr "" +"Η *τιμή* ορισμένων αντικειμένων μπορεί να αλλάξει. Τα αντικείμενα των " +"οποίων η τιμή μπορεί να αλλάξει λέγονται *μεταβλητά*∙ τα αντικείμενα των " +"οποίων η τιμή είναι αμετάβλητη μόλις δημιουργηθούν ονομάζονται *αμετάβλητα*. " +"(Η τιμή ενός αμετάβλητου container αντικειμένου που περιέχει μια αναφορά σε " +"ένα μεταβλητό αντικείμενο μπορεί να αλλάξει όταν αλλάξει η τιμή του " +"τελευταίου. Ωστόσο, το container δεν μπορεί να θεωρείται ακόμα αμετάβλητο, " +"επειδή η συλλογή δεν μπορεί να αλλάξει. Έτσι, η αμετάβλητη δεν είναι " +"αυστηρά ίδια με την αμετάβλητη τιμή, είναι πιο λεπτή.) Η μεταβλητότητα ενός " +"αντικειμένου καθορίζεται από τον τύπο του∙ για παράδειγμα οι αριθμοί, οι " +"συμβολοσειρές και οι πλειάδες είναι αμετάβλητα, ενώ τα λεξικά και οι λίστες " +"είναι μεταβλητά." #: reference/datamodel.rst:65 msgid "" @@ -77,6 +106,11 @@ msgid "" "implementation quality how garbage collection is implemented, as long as no " "objects are collected that are still reachable." msgstr "" +"Τα αντικείμενα δεν καταστρέφονται ποτέ ρητά∙ ωστόσο, όταν γίνονται απρόσιτα " +"μπορεί να συλλεχθούν ως σκουπίδια. Μια υλοποίηση επιτρέπεται να αναβάλει τη " +"συλλογή σκουπιδιών ή να την παραλείψει εντελώς --- είναι θέμα ποιότητας " +"υλοποίησης πώς θα υλοποιηθεί η συλλογή απορριμμάτων, εφόσον δεν συλλέγονται " +"αντικείμενα που είναι ακόμα προσβάσιμα." #: reference/datamodel.rst:73 msgid "" @@ -89,6 +123,15 @@ msgid "" "on immediate finalization of objects when they become unreachable (so you " "should always close files explicitly)." msgstr "" +"Η CPython χρησιμοποιεί επί του παρόντος ένα σχήμα μέτρησης αναφορών με " +"(προαιρετικό) καθυστερημένο εντοπισμό κυκλικά συνδεδεμένων σκουπιδιών, το " +"οποίο συλλέγει τα περισσότερα αντικείμενα μόλις γίνουν απρόσιτα, αλλά δεν " +"είναι εγγυημένο ότι συλλέγει σκουπίδια που κάνουν κυκλικές αναφορές. Δείτε " +"την τεκμηρίωση του module :mod:`gc` για πληροφορίες σχετικά με τον έλεγχο " +"της συλλογής κυκλικών σκουπιδιών. Άλλες υλοποιήσεις ενεργούν διαφορετικά και " +"η CPython μπορεί να αλλάξει. Μην εξαρτάστε από την άμεση οριστικοποίηση των " +"αντικειμένων όταν γίνονται απρόσιτα (έτσι θα πρέπει πάντα να κλείνετε ρητά " +"τα αρχεία)." #: reference/datamodel.rst:82 msgid "" @@ -97,6 +140,11 @@ msgid "" "catching an exception with a :keyword:`try`...\\ :keyword:`except` statement " "may keep objects alive." msgstr "" +"Λάβετε υπόψη ότι η χρήση των υπηρεσιών ανίχνευσης ή εντοπισμού σφαλμάτων της " +"υλοποίησης μπορεί να διατηρήσει ζωντανά αντικείμενα που κανονικά θα " +"μπορούσαν να συλλεχθούν. Επίσης σημειώστε ότι η σύλληψη μιας εξαίρεσης με " +"μια δήλωση :keyword:`try`...\\ :keyword:`except`, μπορεί να κρατήσει ζωντανά " +"αντικείμενα." #: reference/datamodel.rst:87 msgid "" @@ -109,6 +157,14 @@ msgid "" "`finally` statement and the :keyword:`with` statement provide convenient " "ways to do this." msgstr "" +"Ορισμένα αντικείμενα περιέχουν αναφορές σε \"εξωτερικούς\" πόρους, όπως " +"ανοιχτά αρχεία ή παράθυρα. Είναι κατανοητό ότι αυτοί οι πόροι " +"ελευθερώνονται όταν το αντικείμενο συλλέγεται από σκουπίδια, αλλά επειδή η " +"συλλογή απορριμμάτων δεν είναι εγγυημένη, τέτοια αντικείμενα παρέχουν επίσης " +"έναν σαφή τρόπο απελευθέρωσης του εξωτερικού πόρου, συνήθως μια μέθοδο :meth:" +"`!close`. Συνιστώνται προγράμματα για τη ρητό κλείσιμο τέτοιων " +"αντικειμένων. Η δήλωση :keyword:`try`...\\ :keyword:`finally` και η δήλωση :" +"keyword:`with` παρέχουν βολικούς τρόπους για να το κάνετε αυτό." #: reference/datamodel.rst:97 msgid "" @@ -121,6 +177,15 @@ msgid "" "implied. So, if an immutable container (like a tuple) contains a reference " "to a mutable object, its value changes if that mutable object is changed." msgstr "" +"Μερικά αντικείμενα περιέχουν αναφορές σε άλλα αντικείμενα· αυτά ονομάζονται " +"*containers*. Παραδείγματα containers είναι πλειάδες, λίστες και λεξικά. Οι " +"αναφορές αποτελούν μέρος της τιμής ενός container. Στις περισσότερες " +"περιπτώσεις, όταν μιλάμε για την αξία ενός container, υπονοούμε τις τιμές, " +"όχι τις ταυτότητες των αντικειμένων που περιέχονται. Ωστόσο, όταν μιλάμε για " +"τη μεταβλητότητα ενός δοχείου υπονοούνται μόνο οι ταυτότητες των αμέσως " +"περιεχομένων αντικειμένων. Έτσι, εάν ένα αμετάβλητο container (όπως μια " +"πλειάδα) περιέχει μια αναφορά σε ένα μεταβλητό αντικείμενο, η τιμή του " +"αλλάζει εάν αυτό το μεταβλητό αντικείμενο αλλάξει." #: reference/datamodel.rst:106 msgid "" @@ -138,10 +203,26 @@ msgid "" "newly created empty lists. (Note that ``e = f = []`` assigns the *same* " "object to both *e* and *f*.)" msgstr "" +"Οι τύποι επηρεάζουν σχεδόν όλες τις πτυχές της συμπεριφοράς των " +"αντικειμένων. Ακόμη και η σημασία της ταυτότητας αντικειμένου επηρεάζεται " +"κατά κάποιο τρόπο: για αμετάβλητους τύπους, οι πράξεις που υπολογίζουν νέες " +"τιμές μπορούν στην πραγματικότητα να επιστρέψουν μια αναφορά σε οποιοδήποτε " +"υπάρχον αντικείμενο με τον ίδιο τύπο και τιμή, ενώ για μεταβλητά αντικείμενα " +"αυτό δεν επιτρέπεται. Π.χ., μετά από ``a = 1; b = 1``, τα *a* και *b* μπορεί " +"να αναφέρονται ή να μην αναφέρονται στο ίδιο αντικείμενο με την τιμή ένα, " +"ανάλογα με την υλοποίηση. Αυτό συμβαίνει επειδή το :class:`int` είναι ένας " +"αμετάβλητος τύπος, επομένως η αναφορά στο ``1`` μπορεί να " +"επαναχρησιμοποιηθεί. Αυτή η συμπεριφορά εξαρτάται από την υλοποίηση που " +"χρησιμοποιείται, επομένως δεν πρέπει να βασίζεστε σε αυτήν, αλλά είναι κάτι " +"που πρέπει να γνωρίζετε όταν χρησιμοποιείτε δοκιμές ταυτότητας αντικειμένων. " +"Ωστόσο, μετά από ``c = []; d = []``, *c* και *d* είναι εγγυημένα ότι " +"αναφέρονται σε δύο διαφορετικές, μοναδικές, νεοδημιουργημένες κενές λίστες. " +"(Σημειώστε ότι το ``e = f = []`` αντιστοιχίζει το *ίδιο* αντικείμενο τόσο " +"στο *e* όσο και στο *f*.)" #: reference/datamodel.rst:124 msgid "The standard type hierarchy" -msgstr "" +msgstr "Η τυπική ιεραρχία τύπου" #: reference/datamodel.rst:133 msgid "" @@ -152,6 +233,12 @@ msgid "" "integers, etc.), although such additions will often be provided via the " "standard library instead." msgstr "" +"Ακολουθεί μια λίστα με τους τύπους που είναι ενσωματωμένοι στην Python. Τα " +"modules επέκτασης (γραμμένες σε C, Java, ή άλλες γλώσσες, ανάλογα με την " +"υλοποίηση) μπορούν να ορίσουν πρόσθετους τύπους. Οι μελλοντικές εκδόσεις της " +"Python ενδέχεται να προσθέσουν τύπους στην ιεραρχία τύπων (π.χ. ορθολογικοί " +"αριθμοί, αποτελεσματικά αποθηκευμένοι πίνακες ακεραίων κ.λπ.), ν και αντ' " +"αυτού παρέχονται τυπικές βιβλιοθήκες." #: reference/datamodel.rst:144 msgid "" @@ -160,10 +247,14 @@ msgid "" "and are not intended for general use. Their definition may change in the " "future." msgstr "" +"Ορισμένες από τις παρακάτω περιγραφές τύπων περιέχουν μια παράγραφο με " +"'ειδικά χαρακτηριστικά.' Αυτά είναι χαρακτηριστικά που παρέχουν πρόσβαση " +"στην υλοποίηση και δεν προορίζονται για γενική χρήση ο ορισμός τους μπορεί " +"να αλλάξει στο μέλλον." #: reference/datamodel.rst:152 msgid "None" -msgstr "" +msgstr "None" #: reference/datamodel.rst:154 msgid "" @@ -172,10 +263,15 @@ msgid "" "signify the absence of a value in many situations, e.g., it is returned from " "functions that don't explicitly return anything. Its truth value is false." msgstr "" +"Αυτό ο τύπος έχει μια ενιαία τιμή. Υπάρχει ένα μεμονωμένο αντικείμενο με " +"αυτήν την τιμή. Η πρόσβαση σε αυτό το αντικείμενο γίνεται μέσω του " +"ενσωματωμένου ονόματος ``None``. Χρησιμοποιείται για να υποδηλώσει την " +"απουσία τιμής σε πολλές περιπτώσεις, π.χ. επιστρέφεται από συναρτήσεις που " +"δεν επιστρέφουν ρητά τίποτα. Η τιμή αλήθειας του είναι ψευδής." #: reference/datamodel.rst:163 msgid "NotImplemented" -msgstr "" +msgstr "NotImplemented" #: reference/datamodel.rst:165 msgid "" @@ -186,14 +282,25 @@ msgid "" "will then try the reflected operation, or some other fallback, depending on " "the operator.) It should not be evaluated in a boolean context." msgstr "" +"Αυτός ο τύπος έχει μια ενιαία τιμή. Υπάρχει ένα μεμονωμένο αντικείμενο με " +"αυτήν την τιμή. Η πρόσβαση σε αυτό το αντικείμενο γίνεται μέσω του " +"ενσωματωμένου ονόματος :data:`NotImplemented`. Οι αριθμητικές μέθοδοι και οι " +"μέθοδοι εμπλουτισμένης σύγκρισης θα πρέπει να επιστρέφουν αυτήν την τιμή εάν " +"δεν εφαρμόζουν τη λειτουργία για τους τελεστές που παρέχονται. (Ο " +"διερμηνέας θα δοκιμάσει την ανακλώμενη λειτουργία ή κάποια άλλη εναλλακτική, " +"ανάλογα με τον τελεστή.) Δεν πρέπει να αξιολογείται σε ένα boolean πλαίσιο." #: reference/datamodel.rst:172 msgid "See :ref:`implementing-the-arithmetic-operations` for more details." msgstr "" +"Δείτε το :ref:`implementing-the-arithmetic-operations` για περισσότερες " +"λεπτομέρειες." #: reference/datamodel.rst:176 msgid "Evaluating :data:`NotImplemented` in a boolean context was deprecated." msgstr "" +"Η αξιολόγηση του :data:`NotImplemented` σε ένα boolean πλαίσιο έχει " +"αποσυρθεί." #: reference/datamodel.rst:179 msgid "" @@ -201,10 +308,13 @@ msgid "" "`TypeError`. It previously evaluated to :const:`True` and emitted a :exc:" "`DeprecationWarning` since Python 3.9." msgstr "" +"Η αξιολόγηση του :data:`NotImplemented` σε ένα boolean πλαίσιο τώρα κάνει " +"raise μια :exc:`TypeError`. Προηγουμένως αξιολογούνταν σε :const:`True` και " +"εξέπεμπε μια :exc:`DeprecationWarning` από την Python 3.9." #: reference/datamodel.rst:187 msgid "Ellipsis" -msgstr "" +msgstr "Ellipsis" #: reference/datamodel.rst:191 msgid "" @@ -212,10 +322,14 @@ msgid "" "This object is accessed through the literal ``...`` or the built-in name " "``Ellipsis``. Its truth value is true." msgstr "" +"Αυτός ο τύπος έχει μια ενιαία τιμή. Υπάρχει ένα μεμονωμένο αντικείμενο με " +"αυτή την τιμή. Η πρόσβαση σε αυτό το αντικείμενο γίνεται μέσω του literal " +"``...`` ή του ενσωματωμένου ονόματος ``Ellipsis``. Η τιμή αλήθειας του " +"είναι αληθής." #: reference/datamodel.rst:197 msgid ":class:`numbers.Number`" -msgstr "" +msgstr ":class:`numbers.Number`" #: reference/datamodel.rst:201 msgid "" @@ -225,6 +339,12 @@ msgid "" "strongly related to mathematical numbers, but subject to the limitations of " "numerical representation in computers." msgstr "" +"Αυτά δημιουργούνται από αριθμητικά literals και επιστρέφονται ως " +"αποτελέσματα από αριθμητικούς τελεστές και αριθμητικές ενσωματωμένες " +"συναρτήσεις. Τα αριθμητικά αντικείμενα είναι αμετάβλητα∙ μόλις " +"δημιουργηθούν, η τιμή τους δεν αλλάζει ποτέ. Οι αριθμοί Python φυσικά " +"σχετίζονται στενά με τους μαθηματικούς αριθμούς, αλλά υπόκεινται στους " +"περιορισμούς της αριθμητικής αναπαράστασης στους υπολογιστές." #: reference/datamodel.rst:207 msgid "" @@ -232,48 +352,62 @@ msgid "" "`~object.__repr__` and :meth:`~object.__str__`, have the following " "properties:" msgstr "" +"Οι αναπαραστάσεις συμβολοσειρών των αριθμητικών κλάσεων, που υπολογίζονται " +"από την :meth:`~object.__repr__` και από τη :meth:`~object.__str__`, έχουν " +"τις ακόλουθες ιδιότητες:" #: reference/datamodel.rst:211 msgid "" "They are valid numeric literals which, when passed to their class " "constructor, produce an object having the value of the original numeric." msgstr "" +"Είναι έγκυρα αριθμητικά γράμματα τα οποία, όταν περάσουν στον κατασκευαστή " +"της κλάσης τους, παράγουν ένα αντικείμενο που έχει την τιμή του αρχικού " +"αριθμητικού." #: reference/datamodel.rst:215 msgid "The representation is in base 10, when possible." -msgstr "" +msgstr "Η αναπαράσταση είναι στη βάση του 10, όταν αυτό είναι εφικτό." #: reference/datamodel.rst:217 msgid "" "Leading zeros, possibly excepting a single zero before a decimal point, are " "not shown." msgstr "" +"Τα προηγούμενα μηδενικά, ενδεχομένως με εξαίρεση ένα μόνο μηδέν πριν από μια " +"υποδιαστολή, δεν εμφανίζονται." #: reference/datamodel.rst:220 msgid "" "Trailing zeros, possibly excepting a single zero after a decimal point, are " "not shown." msgstr "" +"Τα μηδενικά που ακολουθούν, ενδεχομένως με εξαίρεση ένα μεμονωμένο μηδέν " +"μετά από μια υποδιαστολή, δεν εμφανίζονται." #: reference/datamodel.rst:223 msgid "A sign is shown only when the number is negative." -msgstr "" +msgstr "Ένα πρόσημο εμφανίζεται μόνο όταν ο αριθμός είναι αρνητικός." #: reference/datamodel.rst:225 msgid "" "Python distinguishes between integers, floating-point numbers, and complex " "numbers:" msgstr "" +"Η Python κάνει διάκριση μεταξύ ακεραίων, αριθμών κινητής υποδιαστολής και " +"μιγαδικών αριθμών:" #: reference/datamodel.rst:230 msgid ":class:`numbers.Integral`" -msgstr "" +msgstr ":class:`numbers.Integral`" #: reference/datamodel.rst:234 msgid "" "These represent elements from the mathematical set of integers (positive and " "negative)." msgstr "" +"Αυτά αντιπροσωπεύουν στοιχεία από το μαθηματικό σύνολο ακεραίων (θετικών και " +"αρνητικών)." #: reference/datamodel.rst:240 msgid "" @@ -281,14 +415,17 @@ msgid "" "meaningful interpretation of shift and mask operations involving negative " "integers." msgstr "" +"Οι κανόνες για την αναπαράσταση ακεραίων έχουν σκοπό να δώσουν την πιο " +"ουσιαστική ερμηνεία των πράξεων μετατόπισης και κάλυψης που περιλαμβάνουν " +"αρνητικούς ακέραιους αριθμούς." #: reference/datamodel.rst:243 msgid "There are two types of integers:" -msgstr "" +msgstr "Υπάρχουν δύο τύποι ακεραίων:" #: reference/datamodel.rst:245 msgid "Integers (:class:`int`)" -msgstr "" +msgstr "Ακέραιοι (:class:`int`)" #: reference/datamodel.rst:246 msgid "" @@ -298,10 +435,16 @@ msgid "" "variant of 2's complement which gives the illusion of an infinite string of " "sign bits extending to the left." msgstr "" +"Αυτές αντιπροσωπεύουν αριθμούς σε απεριόριστο εύρος, υπόκεινται μόνο στη " +"διαθέσιμη (εικονική) μνήμη. Για τους σκοπούς των λειτουργιών μετατόπισης " +"και κάλυψης, θεωρείται μια δυαδική αναπαράσταση και οι αρνητικοί αριθμοί " +"αντιπροσωπεύονται σε μια παραλλαγή του συμπληρώματος του 2 που δίνει την " +"ψευδαίσθηση μιας άπειρης συμβολοσειράς bits από bits προσήμου που " +"εκτείνονται προς τα αριστερά." #: reference/datamodel.rst:252 msgid "Booleans (:class:`bool`)" -msgstr "" +msgstr "Booleans (:class:`bool`)" #: reference/datamodel.rst:258 msgid "" @@ -312,10 +455,16 @@ msgid "" "being that when converted to a string, the strings ``\"False\"`` or " "``\"True\"`` are returned, respectively." msgstr "" +"Αυτά αντιπροσωπεύουν τις τιμές αλήθειας False και True. Τα δύο αντικείμενα " +"που αντιπροσωπεύουν τις τιμές ``False`` και ``True`` είναι τα μόνα Boolean " +"αντικείμενα. Ο Boolean τύπος είναι ένας υποτύπος του ακεραίου τύπου και οι " +"Boolean τιμές συμπεριφέρονται όπως οι τιμές 0 και 1, αντίστοιχα, σχεδόν σε " +"όλα τα περιβάλλοντα, οι εξαιρέσεις που μετατρέπονται σε string είναι " +"``\"False\"`` ή ``\"True\"`` επιστρέφονται, αντίστοιχα." #: reference/datamodel.rst:268 msgid ":class:`numbers.Real` (:class:`float`)" -msgstr "" +msgstr ":class:`numbers.Real` (:class:`float`)" #: reference/datamodel.rst:276 msgid "" @@ -327,10 +476,18 @@ msgid "" "dwarfed by the overhead of using objects in Python, so there is no reason to " "complicate the language with two kinds of floating-point numbers." msgstr "" +"Αυτοί αντιπροσωπεύουν αριθμούς κινητής υποδιαστολής διπλής ακρίβειας σε " +"επίπεδο μηχανής. Βρίσκεστε σε έλεος της υποκείμενης αρχιτεκτονικής μηχανής " +"(και της εφαρμογής C ή Java) για το αποδεκτό εύρος και τον χειρισμό " +"υπερχείλισης. Η Python δεν υποστηρίζει αριθμούς κινητής υποδιαστολής απλής " +"ακρίβειας∙ η εξοικονόμηση στη χρήση επεξεργαστή και μνήμης που συνήθως είναι " +"συνήθως ο λόγος για τη χρήση τους μειώνεται από την επιβάρυνση της χρήσης " +"αντικειμένων στην Python, επομένως δεν υπάρχει λόγος να περιπλέκουμε τη " +"γλώσσα με δύο είδη αριθμών κινητής υποδιαστολής." #: reference/datamodel.rst:286 msgid ":class:`numbers.Complex` (:class:`complex`)" -msgstr "" +msgstr ":class:`numbers.Complex` (:class:`complex`)" #: reference/datamodel.rst:292 msgid "" @@ -339,10 +496,16 @@ msgid "" "numbers. The real and imaginary parts of a complex number ``z`` can be " "retrieved through the read-only attributes ``z.real`` and ``z.imag``." msgstr "" +"Αυτοί αντιπροσωπεύουν μιγαδικούς αριθμούς ως ζεύγος αριθμών κινητής " +"υποδιαστολής διπλής ακρίβειας σε επίπεδο μηχανής. Ισχύουν οι ίδιες " +"προειδοποιήσεις όπως και για τους αριθμούς κινητής υποδιαστολής. Τα " +"πραγματικά και τα φανταστικά μέρη ενός μιγαδικού αριθμού ``z`` μπορούν να " +"ανακτηθούν μέσω των χαρακτηριστικών ``z.real`` και ``z.imag`` μόνο για " +"ανάγνωση." #: reference/datamodel.rst:299 msgid "Sequences" -msgstr "" +msgstr "Ακολουθίες" #: reference/datamodel.rst:308 msgid "" @@ -354,6 +517,15 @@ msgid "" "adding the sequence length. For example, ``a[-2]`` equals ``a[n-2]``, the " "second to last item of sequence a with length ``n``." msgstr "" +"Αυτά αντιπροσωπεύουν πεπερασμένα διατεταγμένα σύνολα ευρετηριασμένα με μη " +"αρνητικούς αριθμούς. Η ενσωματωμένη συνάρτηση :func:`len` επιστρέφει τον " +"αριθμός των στοιχείων μιας ακολουθίας. Όταν το μήκος μια ακολουθίας είναι " +"*n*, το σύνολο δεικτών περιέχει τους αριθμούς 0, 1, ..., *n*-1. Το στοιχείο " +"*i* της ακολουθίας *a* επιλέγεται από το ``a[i]``. Ορισμένες ακολουθίες, " +"συμπεριλαμβανομένων των ενσωματωμένων ακολουθιών, ερμηνεύουν αρνητικούς " +"δείκτες προσθέτοντας το μήκος της ακολουθίας. Για παράδειγμα, το ``a[-2]`` " +"ισούται με ``a[n-2]``, το δεύτερο έως το τελευταίο στοιχείο της ακολουθίας a " +"με μήκος ``n``." #: reference/datamodel.rst:318 msgid "" @@ -362,6 +534,11 @@ msgid "" "a sequence of the same type. The comment above about negative indexes also " "applies to negative slice positions." msgstr "" +"Οι ακολουθίες υποστηρίζουν επίσης την τμηματοποίηση: το ``a[i:j]`` επιλέγει " +"όλα τα στοιχεία με ευρετήριο *k* έτσι ώστε *i* ``<=`` *k* ``<`` *j*. Όταν " +"χρησιμοποιείται ως έκφραση, ένα τμήμα είναι μια ακολουθία του ίδιου τύπου. " +"Το παραπάνω σχόλιο σχετικά με τους αρνητικούς δείκτες ισχύει και για " +"αρνητικές θέσεις." #: reference/datamodel.rst:323 msgid "" @@ -369,14 +546,18 @@ msgid "" "parameter: ``a[i:j:k]`` selects all items of *a* with index *x* where ``x = " "i + n*k``, *n* ``>=`` ``0`` and *i* ``<=`` *x* ``<`` *j*." msgstr "" +"Ορισμένες ακολουθίες υποστηρίζουν επίσης την \"εκτεταμένη τμηματοποίηση\" με " +"μια τρίτη παράμετρο \"βήμα\": το ``a[i:j:k]`` επιλέγει όλα τα στοιχεία του " +"*a* με ευρετήριο *x* όπου ``x = i + n*k``, *n* ``>=`` ``0`` και *i* ``<=`` " +"*x* ``<`` *j*." #: reference/datamodel.rst:327 msgid "Sequences are distinguished according to their mutability:" -msgstr "" +msgstr "Οι ακολουθίες διακρίνονται ανάλογα με τη μεταβλητότητά τους:" #: reference/datamodel.rst:331 msgid "Immutable sequences" -msgstr "" +msgstr "Αμετάβλητες ακολουθίες" #: reference/datamodel.rst:337 msgid "" @@ -385,14 +566,19 @@ msgid "" "be mutable and may be changed; however, the collection of objects directly " "referenced by an immutable object cannot change.)" msgstr "" +"Ένα αντικείμενο ενός τύπου αμετάβλητης ακολουθίας δεν μπορεί να αλλάξει " +"μόλις δημιουργηθεί. (Εάν το αντικείμενο περιέχει αναφορές σε άλλα " +"αντικείμενα, αυτά τα άλλα αντικείμενα μπορεί να είναι μεταβλητά και μπορεί " +"να αλλάξουν∙ ωστόσο, η συλλογή αντικειμένων που αναφέρονται απευθείας από " +"ένα αμετάβλητο αντικείμενο δεν μπορεί να αλλάξει.)" #: reference/datamodel.rst:342 msgid "The following types are immutable sequences:" -msgstr "" +msgstr "Οι ακόλουθοι τύποι είναι αμετάβλητες ακολουθίες:" #: reference/datamodel.rst:347 msgid "Strings" -msgstr "" +msgstr "Συμβολοσειρές" #: reference/datamodel.rst:355 msgid "" @@ -407,10 +593,22 @@ msgid "" "`bytes` using the given text encoding, and :meth:`bytes.decode` can be used " "to achieve the opposite." msgstr "" +"Μια συμβολοσειρά είναι μια ακολουθία τιμών που αντιπροσωπεύουν σημεία κώδικα " +"Unicode. Όλα τα σημεία κώδικα στο εύρος ``U+0000 - U+10FFFF`` μπορούν να " +"αναπαρασταθούν σε μια συμβολοσειρά. Η Python δεν έχει τύπο :c:expr:`char` ∙ " +"αντίθετα, κάθε σημείο κώδικα στη συμβολοσειρά αντιπροσωπεύεται ως " +"αντικείμενο συμβολοσειράς με μήκος ``1``. Η ενσωματωμένη συνάρτηση :func:" +"`ord` μετατρέπει ένα σημείο κώδικα από τη μορφή συμβολοσειράς του σε έναν " +"ακέραιο στο εύρος ``0 - 10FFFF`` ∙ η :func:`chr` μετατρέπει έναν ακέραιο στο " +"εύρος ``0 - 10FFFF`` στο αντικείμενο συμβολοσειράς αντίστοιχου μήκους ``1``. " +"Η :meth:`str.encode` μπορεί να χρησιμοποιηθεί για τη μετατροπή μιας :class:" +"`str` σε :class:`bytes` χρησιμοποιώντας τη δεδομένη κωδικοποίηση κειμένου " +"και η :meth:`bytes.decode` μπορεί να χρησιμοποιηθεί για να επιτευχθεί το " +"αντίθετο." #: reference/datamodel.rst:367 msgid "Tuples" -msgstr "" +msgstr "Πλειάδες (Tuples)" #: reference/datamodel.rst:373 msgid "" @@ -421,10 +619,17 @@ msgid "" "usable for grouping of expressions). An empty tuple can be formed by an " "empty pair of parentheses." msgstr "" +"Τα στοιχεία της πλειάδας είναι αυθαίρετα αντικείμενα Python. Οι πλειάδες δύο " +"ή περισσότερων αντικειμένων σχηματίζονται από λίστες εκφράσεων διαχωρισμένων " +"με κόμμα. Μια πλειάδα ενός στοιχείο (ενός «singleton») μπορεί να " +"σχηματιστεί με την τοποθέτηση ενός κόμματος σε μια έκφραση (μια έκφραση από " +"μόνη της δεν δημιουργεί πλειάδα, αφού οι παρενθέσεις μπορούν να " +"χρησιμοποιηθούν για ομαδοποίηση εκφράσεων). Μια κενή πλειάδα μπορεί να " +"σχηματιστεί από ένα κενό ζευγάρι παρενθέσεων." #: reference/datamodel.rst:380 msgid "Bytes" -msgstr "" +msgstr "Bytes" #: reference/datamodel.rst:383 msgid "" @@ -434,10 +639,16 @@ msgid "" "bytes objects. Also, bytes objects can be decoded to strings via the :meth:" "`~bytes.decode` method." msgstr "" +"Ένα αντικείμενο bytes είναι ένας αμετάβλητος πίνακας. Τα στοιχεία είναι " +"bytes των 8-bit, που αντιπροσωπεύονται από ακέραιους αριθμούς στο εύρος 0 <= " +"x < 256. Τα bytes literals (όπως ``b'abc'``) και ο ενσωματωμένος " +"κατασκευαστής :func:`bytes()` μπορεί να χρησιμοποιηθεί για τη δημιουργία " +"αντικειμένων bytes. Επίσης, τα αντικείμενα bytes μπορούν να " +"αποκωδικοποιηθούν σε συμβολοσειρές μέσω της μεθόδου :meth:`~bytes.decode`." #: reference/datamodel.rst:391 msgid "Mutable sequences" -msgstr "" +msgstr "Μεταβλητές ακολουθίες" #: reference/datamodel.rst:400 msgid "" @@ -445,20 +656,25 @@ msgid "" "and slicing notations can be used as the target of assignment and :keyword:" "`del` (delete) statements." msgstr "" +"Οι μεταβλητές ακολουθίες μπορούν να αλλάξουν αφού δημιουργηθούν. Οι " +"σημειώσεις εγγραφής και τμηματοποίησης μπορούν να χρησιμοποιηθούν ως στόχος " +"εκχώρησης και δηλώσεων :keyword:`del` (delete)." #: reference/datamodel.rst:408 msgid "" "The :mod:`collections` and :mod:`array` module provide additional examples " "of mutable sequence types." msgstr "" +"Τα modules :mod:`collections` και :mod:`array` παρέχουν πρόσθετα " +"παραδείγματα μεταβλητών τύπων ακολουθιών." #: reference/datamodel.rst:411 msgid "There are currently two intrinsic mutable sequence types:" -msgstr "" +msgstr "Υπάρχουν επί του παρόντος δύο εγγενείς τύποι μεταβλητών ακολουθιών:" #: reference/datamodel.rst:413 msgid "Lists" -msgstr "" +msgstr "Λίστες" #: reference/datamodel.rst:416 msgid "" @@ -466,10 +682,14 @@ msgid "" "placing a comma-separated list of expressions in square brackets. (Note that " "there are no special cases needed to form lists of length 0 or 1.)" msgstr "" +"Τα στοιχεία μιας λίστας είναι αυθαίρετα αντικείμενα Python. Οι λίστες " +"σχηματίζονται τοποθετώντας μια λίστα εκφράσεων διαχωρισμένων με κόμματα σε " +"αγκύλες. (Σημειώστε ότι δεν χρειάζονται ειδικές περιπτώσεις για να " +"σχηματιστούν λίστες μήκους 0 ή 1.)" #: reference/datamodel.rst:420 msgid "Byte Arrays" -msgstr "" +msgstr "Πίνακες Byte" #: reference/datamodel.rst:423 msgid "" @@ -478,10 +698,15 @@ msgid "" "unhashable), byte arrays otherwise provide the same interface and " "functionality as immutable :class:`bytes` objects." msgstr "" +"Ένα αντικείμενο bytearray είναι ένα ευμετάβλητος πίνακας. Δημιουργούνται από " +"τον ενσωματωμένο κατασκευαστή :func:`bytearray`. Εκτός από το ότι είναι " +"μεταβλητοί (και επομένως μη κατακερματισμένοι), οι πίνακες byte κατά τα άλλα " +"παρέχουν την ίδια διεπαφή και λειτουργικότητα με τα αμετάβλητα αντικείμενα :" +"class:`bytes`." #: reference/datamodel.rst:430 msgid "Set types" -msgstr "" +msgstr "Σύνολο τύπων" #: reference/datamodel.rst:436 msgid "" @@ -492,6 +717,13 @@ msgid "" "from a sequence, and computing mathematical operations such as intersection, " "union, difference, and symmetric difference." msgstr "" +"Αυτά αντιπροσωπεύουν μη διατεταγμένα, πεπερασμένα, σύνολα μοναδικών, " +"αμετάβλητων αντικειμένων. Ως εκ τούτου, δεν μπορούν να ευρετηριοποιηθούν από " +"κανένα δείκτη. Ωστόσο, μπορούν να επαναληφθούν και η ενσωματωμένη συνάρτηση :" +"func:`len` επιστρέφει τον αριθμό των στοιχείων σε ένα σύνολο. Συνήθεις " +"χρήσεις για τα σύνολα είναι ο γρήγορος έλεγχος ιδιότητας μέλους, η αφαίρεση " +"διπλότυπων από μια αλληλουχία, μη συνδυαστική λειτουργία, και συμμετρική " +"διαφορά." #: reference/datamodel.rst:443 msgid "" @@ -500,14 +732,19 @@ msgid "" "numbers compare equal (e.g., ``1`` and ``1.0``), only one of them can be " "contained in a set." msgstr "" +"Για τα στοιχεία συνόλου ισχύουν οι ίδιοι κανόνες αμετάβλητης όπως και για τα " +"κλειδιά λεξικού. Λάβετε υπόψη ότι οι αριθμητικοί τύποι λειτουργία στους " +"κανονικούς κανόνες για αριθμητική σύγκριση: εάν δύο αριθμοί συγκρίνονται " +"ίσοι (π.χ. ``1`` και ``1.0``), μόνο ένας από αυτούς μπορεί να περιέχεται σε " +"ένα σύνολο." #: reference/datamodel.rst:448 msgid "There are currently two intrinsic set types:" -msgstr "" +msgstr "Υπάρχουν επί του παρόντος δύο εγγενείς τύποι συνόλων:" #: reference/datamodel.rst:451 msgid "Sets" -msgstr "" +msgstr "Σύνολα" #: reference/datamodel.rst:454 msgid "" @@ -515,10 +752,13 @@ msgid "" "constructor and can be modified afterwards by several methods, such as :meth:" "`~set.add`." msgstr "" +"Αυτά αντιπροσωπεύουν ένα μεταβλητό σύνολο. Δημιουργούνται από τον " +"ενσωματωμένο κατασκευαστή :func:`set` και μπορούν να τροποποιηθούν στη " +"συνέχεια με διάφορες μεθόδους, όπως :meth:`~set.add`." #: reference/datamodel.rst:459 msgid "Frozen sets" -msgstr "" +msgstr "Frozen σύνολα" #: reference/datamodel.rst:462 msgid "" @@ -526,10 +766,14 @@ msgid "" "`frozenset` constructor. As a frozenset is immutable and :term:`hashable`, " "it can be used again as an element of another set, or as a dictionary key." msgstr "" +"Αυτά αντιπροσωπεύουν ένα αμετάβλητο σύνολο. Δημιουργούνται από τον " +"ενσωματωμένο κατασκευαστή :func:`frozenset`. Καθώς ένα παγωμένο σύνολο είναι " +"αμετάβλητο και το :term:`hashable`, μπορεί να χρησιμοποιηθεί ξανά ως " +"στοιχείο ενός άλλου συνόλου ή ως κλειδί λεξικού." #: reference/datamodel.rst:469 msgid "Mappings" -msgstr "" +msgstr "Αντιστοιχίσεις" #: reference/datamodel.rst:476 msgid "" @@ -539,14 +783,20 @@ msgid "" "assignments or :keyword:`del` statements. The built-in function :func:`len` " "returns the number of items in a mapping." msgstr "" +"Αυτά αντιπροσωπεύουν πεπερασμένα σύνολα αντικειμένων που ευρετηριάζονται από " +"αυθαίρετα σύνολα ευρετηρίου. Ο συμβολικός συμβολισμός ``a[k]`` επιλέγει το " +"στοιχείο που ευρετηριάζεται με ``k`` από την αντιστοίχιση ``a`` · αυτό " +"μπορεί να χρησιμοποιηθεί σε εκφράσεις και ως στόχος αναθέσεων ή δηλώσεων :" +"keyword:`del`. Η ενσωματωμένη συνάρτηση :func:`len` επιστρέφει τον αριθμό " +"των στοιχείων σε μια αντιστοίχιση." #: reference/datamodel.rst:482 msgid "There is currently a single intrinsic mapping type:" -msgstr "" +msgstr "Υπάρχει επί του παρόντος ένας ενιαίος εγγενής τύπος αντιστοίχισης:" #: reference/datamodel.rst:486 msgid "Dictionaries" -msgstr "" +msgstr "Λεξικά" #: reference/datamodel.rst:490 msgid "" @@ -559,6 +809,16 @@ msgid "" "numbers compare equal (e.g., ``1`` and ``1.0``) then they can be used " "interchangeably to index the same dictionary entry." msgstr "" +"Αυτά αντιπροσωπεύουν πεπερασμένα σύνολα αντικειμένων που ευρετηριάζονται με " +"σχεδόν αυθαίρετες τιμές. Οι μόνοι τύποι τιμών που δεν είναι αποδεκτοί ως " +"κλειδιά είναι τιμές που περιέχουν λίστες ή λεξικά ή άλλους μεταβλητούς " +"τύπους που συγκρίνονται με βάση την τιμή και όχι με την ταυτότητα " +"αντικειμένου, ο λόγος είναι ότι η αποτελεσματική υλοποίηση λεξικών απαιτεί " +"τιμή κατακερματισμού ενός κλειδιού να παραμένει σταθερή. Οι αριθμητικοί " +"τύποι που χρησιμοποιούνται για κλειδιά υπακούουν στους κανονικούς κανόνες " +"για αριθμητική σύγκριση: εάν δύο αριθμοί συγκρίνονται ίσοι (π.χ. ``1`` και " +"``1.0``), τότε μπορούν να χρησιμοποιηθούν εναλλακτικά για την ευρετηρίαση " +"της ίδιας καταχώρησης λεξικού." #: reference/datamodel.rst:499 msgid "" @@ -567,18 +827,27 @@ msgid "" "an existing key does not change the order, however removing a key and re-" "inserting it will add it to the end instead of keeping its old place." msgstr "" +"Τα λεξικά διατηρούν τη σειρά εισαγωγής, πράγμα που σημαίνει ότι τα κλειδιά " +"θα παράγονται με την ίδια σειρά που προστέθηκαν διαδοχικά στο λεξικό. Η " +"αντικατάσταση ενός υπάρχοντος κλειδιού δεν αλλάζει τη σειρά, ωστόσο η " +"αφαίρεση ενός κλειδιού και η επανεισαγωγή του θα προσθέσει στο τέλος αντί να " +"διατηρήσει την παλιά του θέση." #: reference/datamodel.rst:504 msgid "" "Dictionaries are mutable; they can be created by the ``{}`` notation (see " "section :ref:`dict`)." msgstr "" +"Τα λεξικά είναι μεταβλητά· μπορούν να δημιουργηθούν με τη σημείωση ``{...}`` " +"(βλ. ενότητα :ref:`dict`)." #: reference/datamodel.rst:511 msgid "" "The extension modules :mod:`dbm.ndbm` and :mod:`dbm.gnu` provide additional " "examples of mapping types, as does the :mod:`collections` module." msgstr "" +"Τα modules επέκτασης :mod:`dbm.ndbm` και :mod:`dbm.gnu` παρέχουν πρόσθετα " +"παραδείγματα τύπων αντιστοίχισης, όπως και το module :mod:`collections`." #: reference/datamodel.rst:515 msgid "" @@ -586,20 +855,25 @@ msgid "" "3.6. In CPython 3.6, insertion order was preserved, but it was considered an " "implementation detail at that time rather than a language guarantee." msgstr "" +"Τα λεξικά δεν διατήρησαν τη σειρά εισαγωγής σε εκδόσεις της Python πριν από " +"την 3.6. Στη CPython 3.6, η σειρά εισαγωγής διατηρήθηκε, αλλά θεωρήθηκε ως " +"λεπτομέρεια υλοποίησης εκείνη τη στιγμή και όχι ως εγγύηση γλώσσας." #: reference/datamodel.rst:522 msgid "Callable types" -msgstr "" +msgstr "Τύποι με δυνατότητα κλήσης" #: reference/datamodel.rst:530 msgid "" "These are the types to which the function call operation (see section :ref:" "`calls`) can be applied:" msgstr "" +"Αυτοί είναι οι τύποι στους οποίους μπορεί να εφαρμοστεί η λειτουργία κλήσης " +"συνάρτησης (βλ. ενότητα :ref:`calls`) :" #: reference/datamodel.rst:537 msgid "User-defined functions" -msgstr "" +msgstr "Συναρτήσεις που ορίζονται από τον χρήστη" #: reference/datamodel.rst:544 msgid "" @@ -607,18 +881,22 @@ msgid "" "section :ref:`function`). It should be called with an argument list " "containing the same number of items as the function's formal parameter list." msgstr "" +"Ένα αντικείμενο συνάρτησης που ορίζεται από τον χρήστη δημιουργείται από " +"έναν ορισμό συνάρτησης (βλ. ενότητα :ref:`function`). Θα πρέπει να καλείται " +"με μια λίστα ορισμών που περιέχει τον ίδιο αριθμό στοιχείων με την επίσημη " +"λίστα παραμέτρων της συνάρτησης." #: reference/datamodel.rst:1443 reference/datamodel.rst:1643 msgid "Special read-only attributes" -msgstr "" +msgstr "Ειδικά χαρακτηριστικά μόνο για ανάγνωση" #: reference/datamodel.rst:596 reference/datamodel.rst:1198 msgid "Attribute" -msgstr "" +msgstr "Χαρακτηριστικό" #: reference/datamodel.rst:597 reference/datamodel.rst:1199 msgid "Meaning" -msgstr "" +msgstr "Έννοια" #: reference/datamodel.rst:564 msgid "" @@ -626,6 +904,9 @@ msgid "" "`global variables ` -- the global namespace of the module in which " "the function was defined." msgstr "" +"Μια αναφορά στη :class:`dictionary ` που περιέχει τις :ref:`global " +"variables ` -- τον καθολικό χώρο ονομάτων του module στην οποία " +"ορίστηκε η συνάρτηση." #: reference/datamodel.rst:569 msgid "" @@ -633,42 +914,57 @@ msgid "" "specified in the :attr:`~codeobject.co_freevars` attribute of the " "function's :attr:`code object `." msgstr "" +"Το ``None`` ή μια :class:`tuple` από κελιά που περιέχουν δεσμεύσεις για τα " +"ονόματα που καθορίζονται στο χαρακτηριστικό :attr:`~codeobject.co_freevars` " +"του :attr:`code object ` της συνάρτησης." #: reference/datamodel.rst:573 msgid "" "A cell object has the attribute ``cell_contents``. This can be used to get " "the value of the cell, as well as set the value." msgstr "" +"Ένα αντικείμενο κελιού έχει το χαρακτηριστικό ``cell_contents``. Αυτό μπορεί " +"να χρησιμοποιηθεί για να ληφθεί η τιμή του κελιού, καθώς και να οριστεί η " +"τιμή." #: reference/datamodel.rst:1685 msgid "Special writable attributes" -msgstr "" +msgstr "Ειδικά εγγράψιμα χαρακτηριστικά" #: reference/datamodel.rst:591 msgid "Most of these attributes check the type of the assigned value:" msgstr "" +"Τα περισσότερα από αυτά τα χαρακτηριστικά ελέγχουν τον τύπο της εκχωρημένης " +"τιμής:" #: reference/datamodel.rst:600 msgid "The function's documentation string, or ``None`` if unavailable." msgstr "" +"Η συμβολοσειρά τεκμηρίωσης της συνάρτηση ή ``None`` εάν δεν είναι διαθέσιμη." #: reference/datamodel.rst:603 msgid "" "The function's name. See also: :attr:`__name__ attributes `." msgstr "" +"Το όνομα της συνάρτησης. Δείτε επίσης :attr:`__name__ attributes `." #: reference/datamodel.rst:607 msgid "" "The function's :term:`qualified name`. See also: :attr:`__qualname__ " "attributes `." msgstr "" +"Η συνάρτηση είναι :term:`qualified name`. Δείτε επίσης :attr:`__qualname__ " +"attributes `." #: reference/datamodel.rst:613 msgid "" "The name of the module the function was defined in, or ``None`` if " "unavailable." msgstr "" +"Το όνομα του module στην οποία ορίστηκε η συνάρτηση ή ``None`` εάν δεν είναι " +"διαθέσιμη." #: reference/datamodel.rst:617 msgid "" @@ -676,18 +972,25 @@ msgid "" "parameters that have defaults, or ``None`` if no parameters have a default " "value." msgstr "" +"Ένα :class:`tuple` που περιέχει προεπιλεγμένες τιμές :term:`parameter` για " +"εκείνες τις παραμέτρους που έχουν προεπιλογές ή ``None`` εάν καμία " +"παράμετρος δεν έχει προεπιλεγμένη τιμή." #: reference/datamodel.rst:622 msgid "" "The :ref:`code object ` representing the compiled function " "body." msgstr "" +"Το αντικείμενο :ref:`code object ` που αντιπροσωπεύει το " +"μεταγλωττισμένο σώμα συνάρτησης." #: reference/datamodel.rst:626 msgid "" "The namespace supporting arbitrary function attributes. See also: :attr:" "`__dict__ attributes `." msgstr "" +"Ο χώρος ονομάτων που υποστηρίζει αυθαίρετα χαρακτηριστικά συνάρτησης. Δείτε " +"επίσης :attr:`__dict__ attributes `." #: reference/datamodel.rst:630 msgid "" @@ -696,30 +999,42 @@ msgid "" "``'return'`` for the return annotation, if provided. See also: :attr:`object." "__annotations__`." msgstr "" +"Μια :class:`dictionary ` που περιέχει annotations για :term:" +"`parameters `. Τα κλειδιά του λεξικού είναι τα ονόματα των " +"παραμέτρων και ``'return'``, για το annotation επιστροφής, εάν παρέχεται. " +"Δείτε επίσης: :attr:`object.__annotations__`." #: reference/datamodel.rst:1105 reference/datamodel.rst:1249 msgid "" "Annotations are now :ref:`lazily evaluated `. See :pep:" "`649`." msgstr "" +"Τα annotations πλέον :ref:`lazily evaluated `. Βλ. :pep:" +"`649`." #: reference/datamodel.rst:641 msgid "" "The :term:`annotate function` for this function, or ``None`` if the function " "has no annotations. See :attr:`object.__annotate__`." msgstr "" +"Η :term:`annotate function` για αυτή τη συνάρτηση ή ``None`` εάν η συνάρτηση " +"δεν έχει annotations. Δείτε :attr:`object.__annotate__`." #: reference/datamodel.rst:647 msgid "" "A :class:`dictionary ` containing defaults for keyword-only :term:" "`parameters `." msgstr "" +"Μια :class:`dictionary ` που περιέχει προεπιλογές για λέξεις-κλειδιά " +"μόνο :term:`parameters `." #: reference/datamodel.rst:651 msgid "" "A :class:`tuple` containing the :ref:`type parameters ` of a :" "ref:`generic function `." msgstr "" +"Μια :class:`tuple` που περιέχει τις παραμέτρους :ref:`type parameters ` μιας :ref:`generic function `." #: reference/datamodel.rst:656 msgid "" @@ -727,6 +1042,11 @@ msgid "" "which can be used, for example, to attach metadata to functions. Regular " "attribute dot-notation is used to get and set such attributes." msgstr "" +"Τα αντικείμενα συναρτήσεων υποστηρίζουν επίσης τη λήψη και τον καθορισμό " +"αυθαίρετων χαρακτηριστικών , τα οποία μπορούν να χρησιμοποιηθούν, για " +"παράδειγμα, για την επισύναψη μεταδεδομένων σε συναρτήσεις. Η τυπική " +"σημειογραφία σημείων χαρακτηριστικών χρησιμοποιείται για τη λήψη και τον " +"ορισμό τέτοιων χαρακτηριστικών." #: reference/datamodel.rst:662 msgid "" @@ -734,6 +1054,10 @@ msgid "" "defined functions. Function attributes on :ref:`built-in functions ` may be supported in the future." msgstr "" +"Η τρέχουσα υλοποίηση του CPython υποστηρίζει μόνο χαρακτηριστικά συναρτήσεων " +"σε συναρτήσεις που καθορίζονται από τον χρήστη. Τα χαρακτηριστικά " +"συναρτήσεων σε :ref:`built-in functions ` ενδέχεται να " +"υποστηρίζονται στο μέλλον." #: reference/datamodel.rst:667 msgid "" @@ -741,30 +1065,38 @@ msgid "" "its :ref:`code object ` (accessible via the :attr:`~function." "__code__` attribute)." msgstr "" +"Μπορούν να ανακτηθούν πρόσθετες πληροφορίες σχετικά με τον ορισμό μιας " +"συνάρτησης από το αντικείμενο :ref:`code object ` (προσβάσιμο " +"μέσω του χαρακτηριστικού :attr:`~function.__code__`)." #: reference/datamodel.rst:675 msgid "Instance methods" -msgstr "" +msgstr "Μέθοδοι Στιγμιοτύπου" #: reference/datamodel.rst:682 msgid "" "An instance method object combines a class, a class instance and any " "callable object (normally a user-defined function)." msgstr "" +"Ένα αντικείμενο μεθόδου στιγμιοτύπου συνδυάζει μια κλάση, ένα στιγμιότυπο " +"κλάσης και οποιοδήποτε αντικείμενο που μπορεί να κληθεί (συνήθως μια " +"συνάρτηση που ορίζεται από τον χρήστη.)" #: reference/datamodel.rst:1781 msgid "Special read-only attributes:" -msgstr "" +msgstr "Ειδικά χαρακτηριστικά μόνο για ανάγνωση:" #: reference/datamodel.rst:697 msgid "" "Refers to the class instance object to which the method is :ref:`bound " "`" msgstr "" +"Αναφέρεται στο αντικείμενο στιγμιοτύπου κλάσης στο οποίο βρίσκεται η " +"μέθοδος :ref:`bound `" #: reference/datamodel.rst:701 msgid "Refers to the original :ref:`function object `" -msgstr "" +msgstr "Αναφέρεται στο αρχικό :ref:`function object `" #: reference/datamodel.rst:704 msgid "" @@ -772,23 +1104,33 @@ msgid "" "__doc__>`). A :class:`string ` if the original function had a " "docstring, else ``None``." msgstr "" +"Η τεκμηρίωση της μεθόδου (ίδια με την :attr:`method.__func__.__doc__ " +"`). Μια :class:`string ` εάν η αρχική συνάρτηση είχε " +"docstring, αλλιώς ``None``." #: reference/datamodel.rst:710 msgid "" "The name of the method (same as :attr:`method.__func__.__name__ `)" msgstr "" +"Το όνομα της μεθόδου (ίδιο με το :attr:`method.__func__.__name__ `)" #: reference/datamodel.rst:714 msgid "" "The name of the module the method was defined in, or ``None`` if unavailable." msgstr "" +"Το όνομα του module στην οποία ορίστηκε η μέθοδος, ή ``None`` εάν δεν είναι " +"διαθέσιμη." #: reference/datamodel.rst:717 msgid "" "Methods also support accessing (but not setting) the arbitrary function " "attributes on the underlying :ref:`function object `." msgstr "" +"Οι μέθοδοι υποστηρίζουν επίσης την πρόσβαση (αλλά όχι τη ρύθμιση) των " +"αυθαίρετων χαρακτηριστικών συνάρτησης στο υποκείμενο αντικείμενο :ref:" +"`function object `." #: reference/datamodel.rst:720 msgid "" @@ -797,6 +1139,11 @@ msgid "" "defined :ref:`function object ` or a :class:" "`classmethod` object." msgstr "" +"Τα αντικείμενα μεθόδου που ορίζονται από το χρήστη μπορούν να δημιουργηθούν " +"όταν λαμβάνεται ένα χαρακτηριστικό μιας κλάσης (ίσως μέσω ενός στιγμιοτύπου " +"αυτής της κλάσης), εάν αυτό το χαρακτηριστικό είναι ένα αντικείμενο :ref:" +"`function object ` ή ένα αντικείμενο :class:" +"`classmethod`." #: reference/datamodel.rst:727 msgid "" @@ -806,6 +1153,12 @@ msgid "" "method object is said to be *bound*. The new method's :attr:`~method." "__func__` attribute is the original function object." msgstr "" +"Όταν δημιουργείται ένα αντικείμενο μεθόδου στιγμιοτύπου ανακτώντας ένα " +"αντικείμενο :ref:`function object ` που ορίζεται από το " +"χρήστη από μια κλάση, το χαρακτηριστικό :attr:`~method.__self__` είναι το " +"στιγμιότυπο και το αντικείμενό της μεθόδου λέγεται ότι είναι *δεσμευμένο*. " +"Το χαρακτηριστικό :attr:`~method.__func__` της νέας μεθόδου είναι το αρχικό " +"αντικείμενο συνάρτησης." #: reference/datamodel.rst:733 msgid "" @@ -814,6 +1167,11 @@ msgid "" "attribute is the class itself, and its :attr:`~method.__func__` attribute is " "the function object underlying the class method." msgstr "" +"Όταν ένα αντικείμενο μεθόδου παρουσίας δημιουργείται με ανάκτηση ενός " +"αντικειμένου :class:`classmethod` από μια κλάση ή στιγμιότυπο, το " +"χαρακτηριστικό :attr:`~method.__self__` είναι η ίδια κλάση και το " +"χαρακτηριστικό :attr:`~method.__func__` είναι το αντικείμενο συνάρτησης που " +"βρίσκεται κάτω από τη μέθοδο κλάσης." #: reference/datamodel.rst:738 msgid "" @@ -824,6 +1182,12 @@ msgid "" "an instance of :class:`!C`, calling ``x.f(1)`` is equivalent to calling ``C." "f(x, 1)``." msgstr "" +"Όταν καλείται ένα αντικείμενο μεθόδου στιγμιοτύπου, καλείται η υποκείμενη " +"συνάρτηση (:attr:`~method.__func__`), εισάγοντας το στιγμιότυπο κλάσης (:" +"attr:`~method.__self__`) μπροστά από τη λίστα ορισμάτων. Για παράδειγμα, " +"όταν η :class:`!C` είναι μια κλάση που περιέχει έναν ορισμό για μια " +"συνάρτηση :meth:`!f`, και το ``x`` είναι ένα στιγμιότυπο της :class:`!C`, η " +"κλήση του ``x.f(1)`` ισοδυναμεί με την κλήση του ``C.f(x, 1)``." #: reference/datamodel.rst:745 msgid "" @@ -833,6 +1197,11 @@ msgid "" "f(1)`` is equivalent to calling ``f(C,1)`` where ``f`` is the underlying " "function." msgstr "" +"Όταν ένα αντικείμενο μεθόδου στιγμιοτύπου προέρχεται από ένα αντικείμενο :" +"class:`classmethod`, το \"στιγμιότυπο κλάσης\" που είναι αποθηκευμένο στη :" +"attr:`~method.__self__` θα είναι στη πραγματικότητα η ίδια η κλάση, έτσι " +"ώστε η κλήση είτε του ``x.f(1)` ή του ``C.f(1)`` ισοδυναμεί με την κλήση του " +"``f(C,1)`` όπου το ``f`` είναι η υποκείμενη συνάρτηση." #: reference/datamodel.rst:750 msgid "" @@ -840,10 +1209,14 @@ msgid "" "a class instance are not converted to bound methods; this *only* happens " "when the function is an attribute of the class." msgstr "" +"Είναι σημαντικό να σημειωθεί ότι οι συναρτήσεις που ορίζονται από το χρήστη " +"και είναι χαρακτηριστικό ενός στιγμιοτύπου μιας κλάσης δεν μετατρέπονται σε " +"δεσμευμένες μεθόδους∙ Αυτό συμβαίνει *μόνο* όταν η συνάρτηση είναι " +"χαρακτηριστικό της κλάσης." #: reference/datamodel.rst:757 msgid "Generator functions" -msgstr "" +msgstr "Generator Συναρτήσεις" #: reference/datamodel.rst:763 msgid "" @@ -857,10 +1230,19 @@ msgid "" "exception is raised and the iterator will have reached the end of the set of " "values to be returned." msgstr "" +"Μια συνάρτηση ή μέθοδος που χρησιμοποιεί τη δήλωση :keyword:`yield` (βλ. " +"ενότητα :ref:`yield`) ονομάζεται :dfn:`generator function`. Μια τέτοια " +"συνάρτηση, όταν καλείται, επιστρέφει πάντα ένα αντικείμενο :term:`iterator` " +"που μπορεί να χρησιμοποιηθεί για την εκτέλεση του σώματος της συνάρτησης: " +"καλώντας τη μέθοδο :meth:`iterator.__next__` του iterator θα προκαλέσει την " +"εκτέλεση της συνάρτησης έως ότου παρέχει μια τιμή χρησιμοποιώντας τη δήλωση :" +"keyword:`!yield`. Όταν η συνάρτηση εκτελεί μια δήλωση :keyword:`return` ή " +"πέσει στο τέλος, γίνεται raise μια εξαίρεση :exc:`StopIteration` και ο " +"iterator θα έχει φτάσει στο τέλος του συνόλου τιμών που θα επιστραφεί." #: reference/datamodel.rst:775 msgid "Coroutine functions" -msgstr "" +msgstr "Coroutine συναρτήσεις" #: reference/datamodel.rst:780 msgid "" @@ -870,10 +1252,15 @@ msgid "" "as :keyword:`async with` and :keyword:`async for` statements. See also the :" "ref:`coroutine-objects` section." msgstr "" +"Μια συνάρτηση ή μέθοδος που ορίζεται χρησιμοποιώντας :keyword:`async def` " +"ονομάζεται μια :dfn:`coroutine function`. Μια τέτοια συνάρτηση, όταν " +"καλείται, επιστρέφει ένα αντικείμενο :term:`coroutine`. Μπορεί να περιέχει " +"εκφράσεις :keyword:`await`, καθώς και :keyword:`async with` και :keyword:" +"`async for`. Δείτε επίσης την ενότητα :ref:`coroutine-objects`." #: reference/datamodel.rst:788 msgid "Asynchronous generator functions" -msgstr "" +msgstr "Asynchronous generator συναρτήσεις" #: reference/datamodel.rst:794 msgid "" @@ -883,6 +1270,12 @@ msgid "" "iterator` object which can be used in an :keyword:`async for` statement to " "execute the body of the function." msgstr "" +"Μια συνάρτηση ή μέθοδος που ορίζεται χρησιμοποιώντας :keyword:`async def` " +"και που χρησιμοποιεί την πρόταση :keyword:`yield` ονομάζεται :dfn:" +"`asynchronous generator function`. Μια τέτοια συνάρτηση, όταν καλείται, " +"επιστρέφει ένα αντικείμενο :term:`asynchronous iterator` που μπορεί να " +"χρησιμοποιηθεί σε μια δήλωση :keyword:`async for` για την εκτέλεση του " +"σώματος της συνάρτησης." #: reference/datamodel.rst:800 msgid "" @@ -894,10 +1287,17 @@ msgid "" "asynchronous iterator will have reached the end of the set of values to be " "yielded." msgstr "" +"Η κλήση της μεθόδου :meth:`aiterator.__anext__ ` του " +"ασύγχρονου iterator θα επιστρέψει ένα :term:`awaitable` το οποίο όταν " +"αναμένεται θα εκτελεστεί έως ότου δώσει μια τιμή χρησιμοποιώντας την " +"έκφραση :keyword:`yield`. Όταν η συνάρτηση εκτελεί μια κενή εντολή :keyword:" +"`return` ή πέφτει στο τέλος, γίνεται raise μια εξαίρεση :exc:" +"`StopAsyncIteration` και ο ασύγχρονος iterator θα έχει φτάσει στο τέλος του " +"συνόλου τιμών που θα αποδοθούν." #: reference/datamodel.rst:813 msgid "Built-in functions" -msgstr "" +msgstr "Ενσωματωμένες συναρτήσεις" #: reference/datamodel.rst:820 msgid "" @@ -906,31 +1306,45 @@ msgid "" "standard built-in module). The number and type of the arguments are " "determined by the C function. Special read-only attributes:" msgstr "" +"Ένα αντικείμενο ενσωματωμένης συνάρτησης είναι ένας wrapper γύρω από μια " +"συνάρτηση C. Παραδείγματα ενσωματωμένων συναρτήσεων είναι οι :func:`len` " +"και :func:`math.sin` (:mod:`math` είναι ένα ενσωματωμένο module). Ο αριθμός " +"και ο τύπος των ορισμάτων καθορίζονται από τη συνάρτηση C. Ειδικά " +"χαρακτηριστικά μόνο για ανάγνωση:" #: reference/datamodel.rst:825 msgid "" ":attr:`!__doc__` is the function's documentation string, or ``None`` if " "unavailable. See :attr:`function.__doc__`." msgstr "" +"Η :attr:`!__doc__` είναι η συμβολοσειρά τεκμηρίωσης της συνάρτησης, ή " +"``None`` εάν δεν είναι διαθέσιμη . Δείτε :attr:`function.__doc__`." #: reference/datamodel.rst:827 msgid "" ":attr:`!__name__` is the function's name. See :attr:`function.__name__`." msgstr "" +"Η :attr:`!__name__` είναι το όνομα της συνάρτησης. Δείτε :attr:`function." +"__name__`." #: reference/datamodel.rst:828 msgid ":attr:`!__self__` is set to ``None`` (but see the next item)." msgstr "" +"Η :attr:`!__self__` έχει οριστεί σε ``None`` (αλλά δείτε το επόμενο " +"στοιχείο)." #: reference/datamodel.rst:829 msgid "" ":attr:`!__module__` is the name of the module the function was defined in or " "``None`` if unavailable. See :attr:`function.__module__`." msgstr "" +"Η :attr:`!__module__` είναι το όνομα του module στην οποία ορίστηκε η " +"συνάρτηση ή ``None`` εάν δεν είναι διαθέσιμη. Δείτε :attr:`function." +"__module__`." #: reference/datamodel.rst:837 msgid "Built-in methods" -msgstr "" +msgstr "Ενσωματωμένες μεθόδους" #: reference/datamodel.rst:844 msgid "" @@ -942,10 +1356,18 @@ msgid "" "the same semantics as it does with :attr:`other instance methods `.)" msgstr "" +"Αυτή είναι πραγματικά μια διαφορετική μεταμφίεση μιας ενσωματωμένης " +"συνάρτησης, αυτή τη φορά που περιέχει ένα αντικείμενο που μεταβιβάστηκε στη " +"συνάρτηση C ως ένα έμμεσο επιπλέον όρισμα. Ένα παράδειγμα ενσωματωμένης " +"μεθόδου είναι η ``alist.append()``, υποθέτοντας ότι το *alist* είναι " +"αντικείμενο λίστας. Σε αυτήν την περίπτωση, το ειδικό χαρακτηριστικό μόνο " +"για ανάγνωση :attr:`!__self__` ορίζεται στο αντικείμενο που συμβολίζεται με " +"*alist*. (Το χαρακτηριστικό έχει την ίδια σημασιολογία με το :attr:`other " +"instance methods `.)" #: reference/datamodel.rst:854 msgid "Classes" -msgstr "" +msgstr "Κλάσεις" #: reference/datamodel.rst:856 msgid "" @@ -955,20 +1377,28 @@ msgid "" "meth:`!__new__` and, in the typical case, to :meth:`~object.__init__` to " "initialize the new instance." msgstr "" +"Οι κλάσεις μπορούν να κληθούν. Αυτά τα αντικείμενα λειτουργούν κανονικά ως " +"εργοστάσια (factories) για νέα στιγμιότυπα του εαυτού τους, αλλά είναι " +"δυνατές παραλλαγές για τύπους κλάσεων που παρακάμπτουν το :meth:`~object." +"__new__`. Τα ορίσματα της κλήσης μεταβιβάζονται στην :meth:`!__new__` και, " +"στην τυπική περίπτωση, στη :meth:`~object.__init__` για να αρχικοποιηθεί το " +"νέο στιγμιότυπο." #: reference/datamodel.rst:864 msgid "Class Instances" -msgstr "" +msgstr "Στιγμιότυπα Κλάσης" #: reference/datamodel.rst:866 msgid "" "Instances of arbitrary classes can be made callable by defining a :meth:" "`~object.__call__` method in their class." msgstr "" +"Τα στιγμιότυπα αυθαίρετων κλάσεων μπορούν να έχουν την δυνατότητα κλήσης " +"ορίζοντας μια μέθοδο :meth:`~object.__call__` στην κλάση τους." #: reference/datamodel.rst:873 msgid "Modules" -msgstr "" +msgstr "Modules" #: reference/datamodel.rst:879 msgid "" @@ -984,16 +1414,30 @@ msgid "" "initialize the module (since it isn't needed once the initialization is " "done)." msgstr "" +"Τα modules είναι μια βασική οργανωτική μονάδα κώδικα Python, και " +"δημιουργούνται από το :ref:`import system ` όπως καλείται είτε " +"από τη δήλωση :keyword:`import` είτε με κλήση συναρτήσεων όπως :func:" +"`importlib.import_module` και το ενσωματωμένο :func:`__import__`. Ένα " +"αντικείμενο module έχει έναν χώρο ονομάτων που υλοποιείται από ένα " +"αντικείμενο :class:`dictionary ` (αυτό είναι το λεξικό που αναφέρεται " +"από τη συνάρτηση :attr:`~function.__globals__` των συναρτήσεων που ορίζονται " +"στο module). Οι αναφορές χαρακτηριστικών μεταφράζονται σε αναζητήσεις σε " +"αυτό το λεξικό, π.χ., το ``m.x`` ισοδυναμεί με ``m.__dict__[\"x\"]``. Ένα " +"αντικείμενο module δεν περιέχει το αντικείμενο κώδικα που χρησιμοποιείται " +"για την προετοιμασία του module (καθώς δεν χρειάζεται μόλις ολοκληρωθεί η " +"προετοιμασία)." #: reference/datamodel.rst:892 msgid "" "Attribute assignment updates the module's namespace dictionary, e.g., ``m.x " "= 1`` is equivalent to ``m.__dict__[\"x\"] = 1``." msgstr "" +"Η εκχώρηση χαρακτηριστικών ενημερώνει το λεξικό χώρου ονομάτων του module, π." +"χ., ``m.x = 1`` ισοδυναμεί με ``m.__dict__[\"x\"] = 1``." #: reference/datamodel.rst:911 msgid "Import-related attributes on module objects" -msgstr "" +msgstr "Χαρακτηριστικά που σχετίζονται με εισαγωγή σε αντικείμενα modules" #: reference/datamodel.rst:913 msgid "" @@ -1003,6 +1447,11 @@ msgid "" "the module's :term:`spec `, before the :term:`loader` executes " "and loads the module." msgstr "" +"Τα αντικείμενα modules έχουν τα ακόλουθα χαρακτηριστικά που σχετίζονται με " +"το :ref:`import system `. Όταν δημιουργείται ένα module με τη " +"χρήση του μηχανήματος που σχετίζεται με το σύστημα εισαγωγής, αυτά τα " +"χαρακτηριστικά συμπληρώνονται με βάση το :term:`spec ` του " +"module, προτού το :term:`loader` εκτελέσει και φορτώσει το module." #: reference/datamodel.rst:919 msgid "" @@ -1014,6 +1463,14 @@ msgid "" "manually set on the module object after it has been created when using this " "approach." msgstr "" +"Για να δημιουργήσετε ένα module δυναμικά αντί να χρησιμοποιήσετε το σύστημα " +"εισαγωγής, συνίσταται να χρησιμοποιήσετε τη :func:`importlib.util." +"module_from_spec`, η οποία θα ορίσει τα διάφορα ελεγχόμενα από εισαγωγή " +"χαρακτηριστικών σε κατάλληλες τιμές. Είναι επίσης δυνατό να χρησιμοποιηθεί ο " +"κατασκευαστής :class:`types.ModuleType` για τη δημιουργία modules απευθείας, " +"αλλά αυτή η τεχνική είναι πιο επιρρεπής σε σφάλματα, καθώς τα περισσότερα " +"χαρακτηριστικά πρέπει να οριστούν χειροκίνητα στο αντικείμενο του module " +"αφού δημιουργηθεί κατά τη χρήση αυτής της προσέγγισης." #: reference/datamodel.rst:929 msgid "" @@ -1023,6 +1480,11 @@ msgid "" "Note that updating an attribute on :attr:`!__spec__` will not update the " "corresponding attribute on the module itself:" msgstr "" +"Με εξαίρεση το :attr:`~module.__name__`, **συνίσταται ανεπιφύλακτα** να " +"βασίζεστε στο :attr:`~module.__spec__` και στα χαρακτηριστικά του αντί για " +"οποιοδήποτε από τα άλλα μεμονωμένα χαρακτηριστικά που αναφέρονται σε αυτήν " +"την υποενότητα. Σημειώστε ότι η ενημέρωση ενός χαρακτηριστικού στο :attr:`!" +"__spec__` δεν θα ενημερώσει το αντίστοιχο χαρακτηριστικό στο ίδιο το module:" #: reference/datamodel.rst:935 msgid "" @@ -1036,12 +1498,24 @@ msgid "" ">>> typing.__name__, typing.__spec__.name\n" "('keyboard_smashing', 'spelling')" msgstr "" +">>> import typing\n" +">>> typing.__name__, typing.__spec__.name\n" +"('typing', 'typing')\n" +">>> typing.__spec__.name = 'spelling'\n" +">>> typing.__name__, typing.__spec__.name\n" +"('typing', 'spelling')\n" +">>> typing.__name__ = 'keyboard_smashing'\n" +">>> typing.__name__, typing.__spec__.name\n" +"('keyboard_smashing', 'spelling')" #: reference/datamodel.rst:949 msgid "" "The name used to uniquely identify the module in the import system. For a " "directly executed module, this will be set to ``\"__main__\"``." msgstr "" +"Το όνομα που χρησιμοποιείται για την μοναδική αναγνώριση της ενότητας στο " +"σύστημα εισαγωγής. Για ένα άμεσο εκτελούμενο module, αυτό θα οριστεί σε " +"``\"__main__\"``." #: reference/datamodel.rst:952 msgid "" @@ -1049,20 +1523,27 @@ msgid "" "expected to match the value of :attr:`module.__spec__.name `." msgstr "" +"Αυτό το χαρακτηριστικό πρέπει να οριστεί στο πλήρως προσδιορισμένο όνομα του " +"module. Αναμένεται να ταιριάζει με την τιμή :attr:`module.__spec__.name " +"`." #: reference/datamodel.rst:958 msgid "A record of the module's import-system-related state." msgstr "" +"Μια εγγραφή της κατάστασης του module που σχετίζεται με το σύστημα εισαγωγής." #: reference/datamodel.rst:960 msgid "" "Set to the :class:`module spec ` that was " "used when importing the module. See :ref:`module-specs` for more details." msgstr "" +"Ορίστε την παράμετρο :class:`module spec ` " +"που χρησιμοποιήθηκε κατά την εισαγωγή της ενότητας. Δείτε το :ref:`module-" +"specs` για περισσότερες λεπτομέρειες." #: reference/datamodel.rst:967 msgid "The :term:`package` a module belongs to." -msgstr "" +msgstr "Το :term:`package` στο οποίο ανήκει μια ενότητα." #: reference/datamodel.rst:969 msgid "" @@ -1072,6 +1553,12 @@ msgid "" "attr:`module.__name__` if the module itself is a package). See :pep:`366` " "for further details." msgstr "" +"Εάν το module είναι ανώτατου επιπέδου (δηλαδή, δεν αποτελεί μέρος κάποιου " +"συγκεκριμένου πακέτου), τότε το χαρακτηριστικό θα πρέπει να οριστεί σε " +"``''`` (η κενή συμβολοσειρά). Διαφορετικά, θα πρέπει να οριστεί το όνομα του " +"πακέτου της ενότητας (το οποίο μπορεί να είναι ίσο με :attr:`module." +"__name__` εάν η ίδια η ενότητα είναι πακέτο). Δείτε :pep:`366` για " +"περισσότερες λεπτομέρειες." #: reference/datamodel.rst:975 msgid "" @@ -1081,6 +1568,12 @@ msgid "" "use :func:`importlib.util.module_from_spec` instead to ensure the attribute " "is set to a :class:`str`." msgstr "" +"Αυτό το χαρακτηριστικό χρησιμοποιείται αντί για το :attr:`~module.__name__` " +"για την υπολογισμό σαφών σχετικών εισαγωγών για τα κύρια modules. Η " +"προεπιλεγμένη τιμή είναι ``None`` για modules που δημιουργούνται δυναμικά " +"χρησιμοποιώντας τον κατασκευαστή :class:`types.ModuleType` ∙ χρησιμοποιήστε " +"το :func:`importlib.util.module_from_spec` για να βεβαιωθείτε ότι το " +"χαρακτηριστικό έχει οριστεί σε :class:`str`." #: reference/datamodel.rst:981 msgid "" @@ -1089,6 +1582,11 @@ msgid "" "__package__`. :attr:`__package__` is now only used as a fallback if :attr:`!" "__spec__.parent` is not set, and this fallback path is deprecated." msgstr "" +"Συνίσταται ανεπιφύλακτα να χρησιμοποιείτε την εντολή :attr:`module.__spec__." +"parent ` αντί για την εντολή :attr:`!" +"module.__package__`. Η εντολή :attr:`__package__` χρησιμοποιείται πλέον μόνο " +"ως εφεδρική εντολή εάν η εντολή :attr:`!__spec__.parent` δεν έχει οριστεί " +"και αυτή η εφεδρική διαδρομή έχει καταργηθεί." #: reference/datamodel.rst:1028 msgid "" @@ -1096,6 +1594,9 @@ msgid "" "using the :class:`types.ModuleType` constructor. Previously the attribute " "was optional." msgstr "" +"Αυτό το χαρακτηριστικό έχει πλέον την προεπιλεγμένη τιμή ``None`` για " +"modules που δημιουργούνται δυναμικά χρησιμοποιώντας τον κατασκευαστή :class:" +"`types.ModuleType`. Προηγουμένως, το χαρακτηριστικό ήταν προαιρετικό." #: reference/datamodel.rst:992 msgid "" @@ -1104,6 +1605,10 @@ msgid "" "`__package__` is now only used as a fallback during import resolution if :" "attr:`!__spec__.parent` is not defined." msgstr "" +"Η τιμή του :attr:`!__package__` αναμένεται να είναι η ίδια με την τιμή του :" +"attr:`__spec__.parent `. Το :attr:" +"`__package__` χρησιμοποιείται πλέον μόνο ως εφεδρική τιμή κατά την ανάλυση " +"εισαγωγής εάν δεν έχει οριστεί το :attr:`!__spec__.parent`." #: reference/datamodel.rst:998 msgid "" @@ -1111,23 +1616,32 @@ msgid "" "__package__` instead of :attr:`__spec__.parent `." msgstr "" +"Η :exc:`ImportWarning` γίνεται raised εάν η ανάλυση εισαγωγής επανέλθει σε :" +"attr:`!__package__` αντί για :attr:`__spec__.parent `." #: reference/datamodel.rst:1003 msgid "" "Raise :exc:`DeprecationWarning` instead of :exc:`ImportWarning` when falling " "back to :attr:`!__package__` during import resolution." msgstr "" +"Γίνεται :exc:`DeprecationWarning` αντί για :exc:`ImportWarning` κατά την " +"επιστροφή στο :attr:`!__package__` κατά την επίλυση της εισαγωγής." #: reference/datamodel.rst:1007 msgid "" ":attr:`!__package__` will cease to be set or taken into consideration by the " "import system or standard library." msgstr "" +"Το :attr:`!__package__` θα πάψει να ορίζεται ή να λαμβάνεται υπόψη από το " +"σύστημα εισαγωγής ή την τυπική βιβλιοθήκη." #: reference/datamodel.rst:1013 msgid "" "The :term:`loader` object that the import machinery used to load the module." msgstr "" +"Το αντικείμενο :term:`loader` που χρησιμοποίησε ο μηχανισμός εισαγωγής για " +"τη φόρτωση του module." #: reference/datamodel.rst:1015 msgid "" @@ -1135,6 +1649,9 @@ msgid "" "additional loader-specific functionality, for example getting data " "associated with a loader." msgstr "" +"Αυτό το χαρακτηριστικό είναι κυρίως χρήσιμο για ενδοσκόπηση, αλλά μπορεί να " +"χρησιμοποιηθεί για πρόσθετη λειτουργικότητα ειδικά για τον loader, για " +"παράδειγμα για τη λήψη δεδομένων που σχετίζονται με έναν loader." #: reference/datamodel.rst:1019 msgid "" @@ -1143,6 +1660,11 @@ msgid "" "module_from_spec` instead to ensure the attribute is set to a :term:`loader` " "object." msgstr "" +"Το :attr:`!__loader__` έχει προεπιλεγμένη τιμή ``None`` για modules που " +"δημιουργούνται δυναμικά χρησιμοποιώντας τον κατασκευαστή :class:`types." +"ModuleType` ∙ χρησιμοποιήστε τη :func:`importlib.util.module_from_spec` για " +"να βεβαιωθείτε ότι το χαρακτηριστικό έχει οριστεί σε ένα αντικείμενο :term:" +"`loader`." #: reference/datamodel.rst:1024 msgid "" @@ -1150,6 +1672,9 @@ msgid "" "` instead of :attr:`!module." "__loader__`." msgstr "" +"Συνίσταται ανεπιφύλακτα να χρησιμοποιείτε την εντολή :attr:`module.__spec__." +"loader ` αντί για την εντολή :attr:`!" +"module.__loader__`." #: reference/datamodel.rst:1033 msgid "" @@ -1158,6 +1683,10 @@ msgid "" "cease to be set or taken into consideration by the import system or the " "standard library." msgstr "" +"Ο ορισμός του :attr:`!__loader__` σε ένα module χωρίς τον αντίστοιχο ορισμό " +"του :attr:`!__spec__.loader` θεωρείται παρωχημένος. Στην Python 3.16, το :" +"attr:`!__loader__` θα πάψει να ορίζεται η να λαμβάνεται υπόψη από το σύστημα " +"εισαγωγής ή την τυπική βιβλιοθήκη." #: reference/datamodel.rst:1041 msgid "" @@ -1166,6 +1695,10 @@ msgid "" "have a :attr:`!__path__` attribute. See :ref:`package-path-rules` for more " "details." msgstr "" +"Μια (ενδεχομένως κενή) :term:`sequence` από συμβολοσειρές που απαριθμεί τις " +"τοποθεσίες όπου θα εντοπιστούν τα submodules του πακέτου. Modules που δεν " +"είναι πακέτα δεν θα πρέπει να έχουν το χαρακτηριστικό :attr:`!__path__`. " +"Δείτε το :ref:`package-path-rules` για περισσότερες λεπτομέρειες." #: reference/datamodel.rst:1046 msgid "" @@ -1173,6 +1706,9 @@ msgid "" "submodule_search_locations ` instead of :attr:`!module.__path__`." msgstr "" +"Συνίσταται **ισχυρά** να χρησιμοποιείτε το :attr:`module.__spec__." +"submodule_search_locations ` αντί για το :attr:`!module.__path__`." #: reference/datamodel.rst:1053 msgid "" @@ -1180,6 +1716,9 @@ msgid "" "may or may not be set. Both attributes should be a :class:`str` when they " "are available." msgstr "" +"Τα :attr:`!__file__` και :attr:`!__cached__` είναι και τα δύο προαιρετικά " +"χαρακτηριστικά, τα οποία ενδέχεται να μην έχουν οριστεί. Όταν είναι " +"διαθέσιμα, και τα δύο θα πρέπει να είναι αντικείμενα τύπου μιας :class:`str`." #: reference/datamodel.rst:1057 msgid "" @@ -1191,6 +1730,14 @@ msgid "" "` may opt to leave it unset if it has no semantic meaning (for " "example, a module loaded from a database)." msgstr "" +"Το :attr:`!__file__` υποδεικνύει το όνομα διαδρομής του αρχείου από το οποίο " +"φορτώθηκε το module (εάν φορτώθηκε από ένα αρχείο) ή το όνομα διαδρομής της " +"κοινόχρηστης βιβλιοθήκης στην περίπτωση επεκτάσεων που φορτώνονται δυναμικά " +"από τέτοια βιβλιοθήκη. Ενδέχεται να απουσιάζει για ορισμένους τύπους " +"modules, όπως modules C που έχουν συνδεθεί στατικά στον διερμηνέα, και το :" +"ref:`import system ` μπορεί να επιλέξει να μην το ορίσει εάν " +"δεν έχει σημασιολογική αξία (π.χ. ένα module που φορτώνεται από μια βάση " +"δεδομένων)." #: reference/datamodel.rst:1065 msgid "" @@ -1200,6 +1747,12 @@ msgid "" "attribute; the path can simply point to where the compiled file *would* " "exist (see :pep:`3147`)." msgstr "" +"Αν το :attr:`!__file__` έχει οριστεί τότε το χαρακτηριστικό :attr:`!" +"__cached__` μπορεί επίσης να ρυθμιστεί, η οποία είναι η διαδρομή σε " +"οποιαδήποτε καταρτισμένη έκδοση του κώδικα (για παράδειγμα, ένα byte-" +"compiled αρχείο). Το αρχείο δεν χρειάζεται να υπάρχει για να ορίσετε αυτό το " +"χαρακτηριστικό. Η διαδρομή μπορεί απλά να επισημάνει το πού *θα* υπήρχε το " +"αρχείο που έχει καταρτιστεί (βλ. :pep:`3147`)." #: reference/datamodel.rst:1071 msgid "" @@ -1210,6 +1763,13 @@ msgid "" "loader can load from a cached module but otherwise does not load from a " "file, that atypical scenario may be appropriate." msgstr "" +"Σημειώστε ότι το :attr:`!__cached__` μπορεί να ρυθμιστεί ακόμη και αν το :" +"attr:`!__file__` δεν έχει οριστεί. Ωστόσο, αυτό το σενάριο είναι αρκετά " +"άτυπο. Τελικά, ο :term:`loader` είναι αυτό που κάνει τη χρήση του spec " +"module που παρέχεται από το :term:`finder` (από το οποίο :attr:`!__file__` " +"και :attr:`!__cached__` παρέχονται). Έτσι, εάν ένας loader μπορεί να " +"φορτωθεί από ένα προσωρινό module, αλλά διαφορετικά δεν φορτώνεται από ένα " +"αρχείο, αυτό το άτυπο σενάριο μπορεί να είναι κατάλληλο." #: reference/datamodel.rst:1078 msgid "" @@ -1217,6 +1777,9 @@ msgid "" "` instead of :attr:`!module." "__cached__`." msgstr "" +"Συνίσταται **ισχυρά** να χρησιμοποιείτε το :attr:`module.__spec__.cached " +"` αντί για το :attr:`!module." +"__cached__`." #: reference/datamodel.rst:1082 msgid "" @@ -1225,22 +1788,31 @@ msgid "" "cease to be set or taken into consideration by the import system or standard " "library." msgstr "" +"Ο ορισμός του :attr:`!__cached__` σε ένα module χωρίς τον αντίστοιχο ορισμό " +"του :attr:`!__spec__.cached` θεωρείται παρωχημένος. Στην Python 3.15, το :" +"attr:`!__cached__` θα πάψει να ορίζεται η να λαμβάνεται υπόψη από το σύστημα " +"εισαγωγής ή την τυπική βιβλιοθήκη." #: reference/datamodel.rst:1089 msgid "Other writable attributes on module objects" -msgstr "" +msgstr "Άλλα εγγράφως χαρακτηριστικά σε αντικείμενα μονάδων" #: reference/datamodel.rst:1091 msgid "" "As well as the import-related attributes listed above, module objects also " "have the following writable attributes:" msgstr "" +"Εκτός από τα χαρακτηριστικά που σχετίζονται με τις εισαγωγές που αναφέρονται " +"παραπάνω, τα αντικείμενα της μονάδας έχουν επίσης τα ακόλουθα δικαιολογημένα " +"χαρακτηριστικά:" #: reference/datamodel.rst:1096 msgid "" "The module's documentation string, or ``None`` if unavailable. See also: :" "attr:`__doc__ attributes `." msgstr "" +"Η συμβολοσειρά τεκμηρίωσης του module, ή ``None`` αν δεν είναι διαθέσιμη. " +"Δείτε επίσης: :attr:`__doc__ attributes `." #: reference/datamodel.rst:1101 msgid "" @@ -1248,20 +1820,28 @@ msgid "" "collected during module body execution. For best practices on working with :" "attr:`!__annotations__`, see :mod:`annotationlib`." msgstr "" +"Ένα λεξικό που περιέχει :term:`variable annotations ` " +"που συλλέγονται κατά την εκτέλεση του σώματος του module. Για τις βέλτιστες " +"πρακτικές σχετικά με την εργασία με :attr:`!__annotations__`, δείτε το :mod:" +"`annotationlib`." #: reference/datamodel.rst:1111 msgid "" "The :term:`annotate function` for this module, or ``None`` if the module has " "no annotations. See also: :attr:`~object.__annotate__` attributes." msgstr "" +"Η :term:`annotate function` για αυτό το module, ή ``None`` εάν το module δεν " +"έχει annotations. Δείτε επίσης: :attr:`~object.__annotate__` attributes." #: reference/datamodel.rst:1117 msgid "Module dictionaries" -msgstr "" +msgstr "Λεξικά Modules" #: reference/datamodel.rst:1119 msgid "Module objects also have the following special read-only attribute:" msgstr "" +"Τα αντικείμενα module έχουν επίσης την ακόλουθη ειδική ιδιότητα μόνο για " +"ανάγνωση:" #: reference/datamodel.rst:1124 msgid "" @@ -1269,6 +1849,10 @@ msgid "" "listed here, :attr:`!__dict__` cannot be accessed as a global variable from " "within a module; it can only be accessed as an attribute on module objects." msgstr "" +"Ο χώρος ονομάτων του module ως αντικείμενο λεξικού. Μοναδικά μεταξύ των " +"χαρακτηριστικών που αναφέρονται εδώ, το :attr:`!__dict__` δεν μπορεί να " +"προσπελαστεί ως καθολική μεταβλητή από μέσα σε ένα module∙ μπορεί να " +"προσπελαστεί μόνο ως χαρακτηριστικό σε αντικείμενα module." #: reference/datamodel.rst:1130 msgid "" @@ -1277,10 +1861,15 @@ msgid "" "still has live references. To avoid this, copy the dictionary or keep the " "module around while using its dictionary directly." msgstr "" +"Λόγω του τρόπου με τον οποίο η CPython διαγράφει τα λεξικά των modules το " +"λεξικό του module θα διαγραφεί όταν το module πέσει εκτός πεδίου εφαρμογής, " +"ακόμα κι αν το λεξικό εξακολουθεί να έχει ζωντανές αναφορές. Για να " +"αποφύγετε αυτό, αντιγράψτε το λεξικό ή κρατήστε το module ενώ " +"χρησιμοποιείται απευθείας το λεξικό της." #: reference/datamodel.rst:1139 msgid "Custom classes" -msgstr "" +msgstr "Προσαρμοσμένες κλάσεις" #: reference/datamodel.rst:1141 msgid "" @@ -1296,6 +1885,19 @@ msgid "" "common ancestor. Additional details on the C3 MRO used by Python can be " "found at :ref:`python_2.3_mro`." msgstr "" +"Οι τύποι προσαρμοσμένων κλάσεων δημιουργούνται συνήθως από ορισμούς κλάσεων " +"(βλ. ενότητα :ref:`class`). Μια κλάση έχει έναν χώρο ονομάτων που " +"υλοποιείται από ένα αντικείμενο λεξικού. Οι αναφορές χαρακτηριστικών κλάσης " +"μεταφράζονται σε αναζητήσεις σε αυτό το λεξικό, π.χ., το ``C.x`` " +"μεταφράζεται σε ``C.__dict__[\"x\"]`` (αν και άλλα μέσα για τα οποία " +"επιτρέπεται ο αριθμός των θέσεων υπάρχουν). Όταν το όνομα του " +"χαρακτηριστικού δεν βρίσκεται εκεί, η αναζήτηση χαρακτηριστικών συνεχίζεται " +"στις βασικές κλάσεις. Αυτή η αναζήτηση των βασικών κλάσεων χρησιμοποιεί τη " +"σειρά ανάλυσης της μεθόδου C3 η οποία συμπεριφέρεται σωστά ακόμη και με την " +"παρουσία δομών κληρονομικότητας «διαμάντι» όπου υπάρχουν πολλαπλές διαδρομές " +"κληρονομικότητας που οδηγούν πίσω σε έναν κοινό πρόγονο. Πρόσθετε " +"λεπτομέρειες για το C3 MRO που χρησιμοποιείται από την Python μπορείτε να " +"βρείτε στην διεύθυνση :ref:`python_2.3_mro`." #: reference/datamodel.rst:1162 msgid "" @@ -1307,38 +1909,55 @@ msgid "" "which attributes retrieved from a class may differ from those actually " "contained in its :attr:`~object.__dict__`." msgstr "" +"Όταν μια αναφορά χαρακτηριστικού κλάσης (για την κλάση :class:`!C`, ας " +"πούμε) θα έδινε ένα αντικείμενο μεθόδου κλάσης, μετατρέπεται σε ένα " +"αντικείμενο μεθόδου παρουσίας του οποίου το χαρακτηριστικό :attr:`~method." +"__self__` είναι :class:`!C`. Όταν θα έδινε ένα αντικείμενο :class:" +"`staticmethod`, μετατρέπεται στο αντικείμενο που είναι wrapped από το " +"αντικείμενο στατικής μεθόδου. Δείτε την ενότητα :ref:`descriptors` για έναν " +"άλλο τρόπο με το οποίο τα χαρακτηριστικά που ανακτώνται από μια κλάση μπορεί " +"να διαφέρουν από αυτά που πραγματικά περιέχονται στο :attr:`~object." +"__dict__` της." #: reference/datamodel.rst:1173 msgid "" "Class attribute assignments update the class's dictionary, never the " "dictionary of a base class." msgstr "" +"Οι αναθέσεις χαρακτηριστικών κλάσης ενημερώνουν το λεξικό της κλάσης, ποτέ " +"το λεξικό μιας βασικής κλάσης." #: reference/datamodel.rst:1178 msgid "" "A class object can be called (see above) to yield a class instance (see " "below)." msgstr "" +"Ένα αντικείμενο κλάσης μπορεί να κληθεί (δείτε παραπάνω) για να δώσει ένα " +"στιγμιότυπο κλάσης (δείτε παρακάτω)." #: reference/datamodel.rst:1349 msgid "Special attributes" -msgstr "" +msgstr "Ειδικά χαρακτηριστικά" #: reference/datamodel.rst:1202 msgid "" "The class's name. See also: :attr:`__name__ attributes `." msgstr "" +"Το όνομα της κλάσης, Δείτε επίσης: :attr:`__name__ attributes `." #: reference/datamodel.rst:1206 msgid "" "The class's :term:`qualified name`. See also: :attr:`__qualname__ attributes " "`." msgstr "" +"Το :term:`qualified name` της κλάσης. Δείτε επίσης: :attr:`__qualname__ " +"attributes `." #: reference/datamodel.rst:1210 msgid "The name of the module in which the class was defined." -msgstr "" +msgstr "Το όνομα του module στην οποία ορίστηκε η κλάση." #: reference/datamodel.rst:1213 msgid "" @@ -1346,6 +1965,9 @@ msgid "" "of the class's namespace. See also: :attr:`__dict__ attributes `." msgstr "" +"Μια :class:`mapping proxy ` που παρέχει μια προβολή " +"μόνο για ανάγνωση του χώρου ονομάτων της κλάσης. Δείτε επίσης: :attr:" +"`__dict__ attributes `." #: reference/datamodel.rst:1218 msgid "" @@ -1353,12 +1975,17 @@ msgid "" "defined as ``class X(A, B, C)``, ``X.__bases__`` will be exactly equal to " "``(A, B, C)``." msgstr "" +"Μια :class:`tuple` που περιέχει τις βάσεις της κλάσης. Στις περισσότερες " +"περιπτώσεις, για μια κλάση που ορίζεται ως ``class X(A, B, C)``, το ``X." +"__bases__`` θα είναι ακριβώς ίσο με ``(A, B, C)``." #: reference/datamodel.rst:1223 msgid "" "The class's documentation string, or ``None`` if undefined. Not inherited by " "subclasses." msgstr "" +"Η συμβολοσειρά τεκμηρίωσης της κλάσης ή ``None`` εάν δεν έχει οριστεί. Δεν " +"κληρονομείται από υποκλάσεις." #: reference/datamodel.rst:1227 msgid "" @@ -1366,6 +1993,9 @@ msgid "" "collected during class body execution. See also: :attr:`__annotations__ " "attributes `." msgstr "" +"Ένα λεξικό που περιέχει :term:`variable annotations ` " +"που συλλέγονται κατά την εκτέλεση του σώματος της κλάσης. Δείτε επίσης: :" +"attr:`__annotations__ attributes `." #: reference/datamodel.rst:1232 msgid "" @@ -1373,6 +2003,10 @@ msgid "" "see :mod:`annotationlib`. Use :func:`annotationlib.get_annotations` instead " "of accessing this attribute directly." msgstr "" +"Για βέλτιστες πρακτικές σχετικά με την εργασία με :attr:`~object." +"__annotations__`, δείτε το :mod:`annotationlib`. Χρησιμοποιήστε την :func:" +"`annotationlib.get_annotations` αντί να έχετε άμεση πρόσβαση σε αυτό το " +"χαρακτηριστικό." #: reference/datamodel.rst:1239 msgid "" @@ -1382,12 +2016,19 @@ msgid "" "__future__ import annotations``. See :pep:`749 <749#pep749-metaclasses>` for " "details." msgstr "" +"Η πρόσβαση στο χαρακτηριστικό :attr:`!__annotations__` απευθείας σε ένα " +"αντικείμενο κλάσης ενδέχεται να επιστρέψει annotations για τη λάθος κλάση, " +"συγκεκριμένα σε ορισμένες περιπτώσεις όπου η κλάση, η βασική της κλάση ή μια " +"μετακλάση ορίζεται με το ``from __future__ import annotations``. Δείτε το :" +"pep:`749 <749#pep749-metaclasses>` για λεπτομέρειες." #: reference/datamodel.rst:1245 msgid "" "This attribute does not exist on certain builtin classes. On user-defined " "classes without ``__annotations__``, it is an empty dictionary." msgstr "" +"Αυτό το χαρακτηριστικό δεν υπάρχει σε ορισμένες ενσωματωμένες κλάσεις. Σε " +"προσαρμοσμένες κλάσεις χωρίς ``__annotations__``, είναι ένα κενό λεξικό." #: reference/datamodel.rst:1254 msgid "" @@ -1395,18 +2036,25 @@ msgid "" "no annotations. See also: :attr:`__annotate__ attributes `." msgstr "" +"Η :term:`annotate function` για αυτή την κλάση, ή ``None`` εάν η κλάση δεν " +"έχει annotations. Δείτε επίσης: :attr:`__annotate__ attributes `." #: reference/datamodel.rst:1261 msgid "" "A :class:`tuple` containing the :ref:`type parameters ` of a :" "ref:`generic class `." msgstr "" +"Μια :class:`tuple` που περιέχει τις :ref:`type parameters ` " +"μιας :ref:`generic class `." #: reference/datamodel.rst:1267 msgid "" "A :class:`tuple` containing names of attributes of this class which are " "assigned through ``self.X`` from any function in its body." msgstr "" +"Ένα :class:`tuple` που περιέχει ονόματα χαρακτηριστικών αυτής της κλάσης τα " +"οποία ανατίθενται μέσω του ``self.X`` από οποιαδήποτε συνάρτηση στο σώμα της." #: reference/datamodel.rst:1273 msgid "" @@ -1414,22 +2062,29 @@ msgid "" "decorators. Setting the :attr:`__module__` attribute removes the :attr:`!" "__firstlineno__` item from the type's dictionary." msgstr "" +"Ο αριθμός γραμμής της πρώτης γραμμής του ορισμού της κλάσης, " +"συμπεριλαμβανομένων των διακοσμητών. Ο ορισμός του χαρακτηριστικού :attr:" +"`__module__` αφαιρεί το :attr:`!__firstlineno__` από το λεξικό του τύπου." #: reference/datamodel.rst:1281 msgid "" "The :class:`tuple` of classes that are considered when looking for base " "classes during method resolution." msgstr "" +"Η :class:`tuple` των κλάσεων που λαμβάνονται υπόψη κατά την αναζήτηση " +"βασικών κλάσεων κατά την ανάλυση της μεθόδου." #: reference/datamodel.rst:1286 msgid "Special methods" -msgstr "" +msgstr "Ειδικές μέθοδοι" #: reference/datamodel.rst:1288 msgid "" "In addition to the special attributes described above, all Python classes " "also have the following two methods available:" msgstr "" +"Εκτός από τα ειδικά χαρακτηριστικά που περιγράφονται παραπάνω, όλες οι " +"κλάσεις Python έχουν επίσης διαθέσιμες τις ακόλουθες δύο μεθόδους:" #: reference/datamodel.rst:1293 msgid "" @@ -1437,6 +2092,10 @@ msgid "" "resolution order for its instances. It is called at class instantiation, " "and its result is stored in :attr:`~type.__mro__`." msgstr "" +"Αυτή η μέθοδος μπορεί να παρακαμφθεί από μια μετακλάση για να προσαρμόσετε " +"τη σειρά ανάλυσης της μεθόδου για τις παρουσίες της. Καλείται κατά την " +"έναρξη της κλάσης και το αποτέλεσμα της αποθηκεύεται στο :attr:`~type." +"__mro__`." #: reference/datamodel.rst:1299 msgid "" @@ -1444,6 +2103,9 @@ msgid "" "method returns a list of all those references still alive. The list is in " "definition order. Example:" msgstr "" +"Κάθε κλάση διατηρεί μια λίστα με ασθενείς αναφορές στις άμεσες υποκλάσεις " +"της. Αυτή η μέθοδος επιστρέφει μια λίστα με όλες αυτές τις αναφορές που " +"εξακολουθούν να είναι ενεργές. Η λίστα είναι με σειρά ορισμού. Παράδειγμα:" #: reference/datamodel.rst:1303 msgid "" @@ -1452,10 +2114,14 @@ msgid "" ">>> A.__subclasses__()\n" "[]" msgstr "" +">>> class A: pass\n" +">>> class B(A): pass\n" +">>> A.__subclasses__()\n" +"[]" #: reference/datamodel.rst:1311 msgid "Class instances" -msgstr "" +msgstr "Στιγμιότυπα κλάσης" #: reference/datamodel.rst:1319 msgid "" @@ -1473,6 +2139,23 @@ msgid "" "class attribute is found, and the object's class has a :meth:`~object." "__getattr__` method, that is called to satisfy the lookup." msgstr "" +"Ένα στιγμιότυπο κλάσης δημιουργείται καλώντας ένα αντικείμενο κλάσης (δείτε " +"παραπάνω). Ένα στιγμιότυπο κλάσης έχει έναν χώρο ονομάτων που υλοποιείται " +"ως λεξικό που είναι το πρώτο μέρος στο οποίο αναζητούνται οι αναφορές " +"χαρακτηριστικών. Όταν ένα χαρακτηριστικό δεν βρίσκεται εκεί και η κλάση του " +"στιγμιοτύπου έχει ένα χαρακτηριστικό με αυτό το όνομα, η αναζήτηση " +"συνεχίζεται με τα χαρακτηριστικά κλάσης. Εάν βρεθεί ένα χαρακτηριστικό " +"κλάσης που είναι ένα αντικείμενο συνάρτησης που ορίζεται από το χρήστη, " +"μετατρέπεται σε ένα αντικείμενο μεθόδου στιγμιοτύπου του οποίου το " +"χαρακτηριστικό :attr:`~method.__self__` είναι το στιγμιότυπο. Τα " +"αντικείμενα στατικής μεθόδου και μεθόδου κλάσης μετασχηματίζονται επίσης· " +"δείτε παραπάνω στην ενότητα \"Κλάσεις\". Δείτε την ενότητα :ref:" +"`descriptors` για έναν άλλο τρόπο με τον οποίο τα χαρακτηριστικά μιας κλάσης " +"που ανακτώνται μέσω των στιγμιοτύπων της μπορεί να διαφέρουν από τα " +"αντικείμενα που είναι πραγματικά αποθηκευμένα στο :attr:`~object.__dict__` " +"της κλάσης. Εάν δεν βρεθεί χαρακτηριστικό κλάσης και η κλάση του " +"αντικειμένου έχει μια μέθοδο :meth:`~object.__getattr__`, αυτή καλείται να " +"ικανοποιήσει την αναζήτηση." #: reference/datamodel.rst:1335 msgid "" @@ -1481,16 +2164,23 @@ msgid "" "meth:`~object.__delattr__` method, this is called instead of updating the " "instance dictionary directly." msgstr "" +"Οι αναθέσεις χαρακτηριστικών ενημερώνουν το λεξικό της παρουσίας και πότε το " +"λεξικό μιας κλάσης. Εάν η κλάση έχει μια μέθοδο :meth:`~object.__setattr__` " +"ή :meth:`~object.__delattr__`, καλείται αντί να ενημερώνεται απευθείας το " +"λεξικό του στιγμιοτύπου." #: reference/datamodel.rst:1345 msgid "" "Class instances can pretend to be numbers, sequences, or mappings if they " "have methods with certain special names. See section :ref:`specialnames`." msgstr "" +"Τα στιγμιότυπα κλάσεων μπορούν να προσποιηθούν ότι είναι αριθμοί, ακολουθίες " +"ή αντιστοιχίσεις εάν έχουν μεθόδους με συγκεκριμένα ειδικά ονόματα. Δείτε " +"την ενότητα :ref:`specialnames`." #: reference/datamodel.rst:1357 msgid "The class to which a class instance belongs." -msgstr "" +msgstr "Η κλάση στην οποία ανήκει ένα στιγμιότυπο κλάσης." #: reference/datamodel.rst:1361 msgid "" @@ -1498,10 +2188,14 @@ msgid "" "attributes. Not all instances have a :attr:`!__dict__` attribute; see the " "section on :ref:`slots` for more details." msgstr "" +"Ένα λεξικό ή άλλο αντικείμενο αντιστοίχισης που χρησιμοποιείται για την " +"αποθήκευση των (εγγράψιμων) χαρακτηριστικών ενός αντικειμένου. Δεν έχουν όλα " +"τα στιγμιότυπα ένα χαρακτηριστικό :attr:`!__dict__` ∙ δείτε την ενότητα για " +"τα :ref:`slots` για περισσότερες λεπτομέρειες." #: reference/datamodel.rst:1367 msgid "I/O objects (also known as file objects)" -msgstr "" +msgstr "Αντικείμενα εισόδου/εξόδου (γνωστά και ως αντικείμενα αρχείου)" #: reference/datamodel.rst:1382 msgid "" @@ -1511,6 +2205,12 @@ msgid "" "makefile` method of socket objects (and perhaps by other functions or " "methods provided by extension modules)." msgstr "" +"Ένα αντικείμενο :term:`file object` αντιπροσωπεύει ένα ανοιχτό αρχείο. " +"Διάφορες συντομεύσεις είναι διαθέσιμες για τη δημιουργία αντικειμένων " +"αρχείου: η ενσωματωμένη συνάρτηση :func:`open`, και επίσης :func:`os." +"popen`, :func:`os.fdopen`, και τη μέθοδο :meth:`~socket.socket.makefile` των " +"αντικειμένων socket (και ίσως από άλλες συναρτήσεις ή μεθόδους που " +"παρέχονται από modules επέκτασης)." #: reference/datamodel.rst:1388 msgid "" @@ -1519,10 +2219,15 @@ msgid "" "and error streams; they are all open in text mode and therefore follow the " "interface defined by the :class:`io.TextIOBase` abstract class." msgstr "" +"Τα αντικείμενα ``sys.stdin``, ``sys.stdout`` και ``sys.stderr`` " +"αρχικοποιούνται για να αρχειοθετούν αντικείμενα που αντιστοιχούν στις " +"τυπικές ροές εισόδου, εξόδου και σφαλμάτων του διερμηνέα· είναι όλα ανοιχτά " +"σε λειτουργία κειμένου και επομένως ακολουθούν τη διεπαφή που ορίζεται από " +"την αφηρημένη κλάση :class:`io.TextIOBase`." #: reference/datamodel.rst:1396 msgid "Internal types" -msgstr "" +msgstr "Εσωτερικοί τύποι" #: reference/datamodel.rst:1402 msgid "" @@ -1530,10 +2235,13 @@ msgid "" "Their definitions may change with future versions of the interpreter, but " "they are mentioned here for completeness." msgstr "" +"Μερικοί τύποι που χρησιμοποιούνται εσωτερικά από τον διερμηνέα εκτίθενται " +"στο χρήστη. Οι ορισμοί τους μπορεί να αλλάξουν με μελλοντικές εκδόσεις του " +"διερμηνέα, αλλά αναφέρονται εδώ για πληρότητα." #: reference/datamodel.rst:1410 msgid "Code objects" -msgstr "" +msgstr "Αντικείμενα κώδικα" #: reference/datamodel.rst:1414 msgid "" @@ -1546,14 +2254,24 @@ msgid "" "run-time). Unlike function objects, code objects are immutable and contain " "no references (directly or indirectly) to mutable objects." msgstr "" +"Τα αντικείμενα κώδικα αντιπροσωπεύουν *byte-compiled* εκτελέσιμο κώδικα " +"Python, ή :term:`bytecode`. Η διαφορά μεταξύ ενός αντικειμένου κώδικα και " +"ενός αντικειμένου συνάρτησης είναι ότι το αντικείμενο συνάρτησης περιέχει " +"μια ρητή αναφορά στα καθολικά της συνάρτησης (το module στο οποίο ορίστηκε), " +"ενώ ένα αντικείμενο κώδικα δεν περιέχει πλαίσιο· επίσης, οι προεπιλεγμένες " +"τιμές ορίσματος αποθηκεύονται στο αντικείμενο συνάρτησης, όχι στο " +"αντικείμενο κώδικα (επειδή αντιπροσωπεύουν τιμές που υπολογίζονται κατά τον " +"χρόνο εκτέλεσης). Σε αντίθεση με τα αντικείμενα συνάρτησης, τα αντικείμενα " +"κώδικα είναι αμετάβλητα και δεν περιέχουν αναφορές (άμεσα ή έμμεσα) σε " +"μεταβλητά αντικείμενα." #: reference/datamodel.rst:1448 msgid "The function name" -msgstr "" +msgstr "Το όνομα της συνάρτησης" #: reference/datamodel.rst:1451 msgid "The fully qualified function name" -msgstr "" +msgstr "Το πλήρως αναγνωρισμένο όνομα συνάρτησης" #: reference/datamodel.rst:1456 msgid "" @@ -1561,30 +2279,41 @@ msgid "" "positional-only parameters and parameters with default values) that the " "function has" msgstr "" +"Ο συνολικός αριθμός των θέσεων :term:`parameters ` " +"(συμπεριλαμβανομένων των παραμέτρων μόνο θέσης και παραμέτρων με " +"προεπιλεγμένες τιμές) που έχει η συνάρτηση" #: reference/datamodel.rst:1461 msgid "" "The number of positional-only :term:`parameters ` (including " "arguments with default values) that the function has" msgstr "" +"Ο αριθμός των :term:`parameters ` θέσεως (συμπεριλαμβανομένων " +"ορισμάτων με προεπιλεγμένες τιμές) που έχει η συνάρτηση" #: reference/datamodel.rst:1465 msgid "" "The number of keyword-only :term:`parameters ` (including " "arguments with default values) that the function has" msgstr "" +"Ο αριθμός των :term:`parameters ` λέξεων κλειδιών " +"(συμπεριλαμβανομένων ορισμάτων με προεπιλεγμένες τιμές) που έχει η συνάρτηση" #: reference/datamodel.rst:1469 msgid "" "The number of :ref:`local variables ` used by the function " "(including parameters)" msgstr "" +"Ο αριθμός των :ref:`local variables ` που χρησιμοποιούνται από τη " +"συνάρτηση (συμπεριλαμβανομένων των παραμέτρων)" #: reference/datamodel.rst:1473 msgid "" "A :class:`tuple` containing the names of the local variables in the function " "(starting with the parameter names)" msgstr "" +"Μια :class:`tuple` που περιέχει τα ονόματα των τοπικών μεταβλητών στη " +"συνάρτηση (ξεκινώντας με τα ονόματα των παραμέτρων)" #: reference/datamodel.rst:1477 msgid "" @@ -1592,6 +2321,9 @@ msgid "" "that are referenced from at least one :term:`nested scope` inside the " "function" msgstr "" +"Ένα :class:`tuple` που περιέχει τα ονόματα των :ref:`local variables " +"` που αναφέρονται από τουλάχιστον ένα :term:`nested scope` μέσα στη " +"συνάρτηση" #: reference/datamodel.rst:1481 msgid "" @@ -1599,57 +2331,75 @@ msgid "" "` that a :term:`nested scope` references in an outer " "scope. See also :attr:`function.__closure__`." msgstr "" +"Ένα :class:`tuple` που περιέχει τα ονόματα των :term:`free (closure) " +"variables ` που αναφέρεται από ένα :term:`nested scope` σε " +"ένα εξωτερικό πλαίσιο. Δείτε επίσης το :attr:`function.__closure__`." #: reference/datamodel.rst:1485 msgid "Note: references to global and builtin names are *not* included." msgstr "" +"Σημείωση: οι αναφορές σε καθολικά και ενσωματωμένα ονόματα *δεν* " +"περιλαμβάνονται." #: reference/datamodel.rst:1488 msgid "" "A string representing the sequence of :term:`bytecode` instructions in the " "function" msgstr "" +"Μια συμβολοσειρά που αντιπροσωπεύει την ακολουθία εντολών :term:`bytecode` " +"στη συνάρτηση" #: reference/datamodel.rst:1492 msgid "" "A :class:`tuple` containing the literals used by the :term:`bytecode` in the " "function" msgstr "" +"Μια :class:`tuple` που περιέχει τα literals που χρησιμοποιούνται από το :" +"term:`bytecode` στη συνάρτηση" #: reference/datamodel.rst:1496 msgid "" "A :class:`tuple` containing the names used by the :term:`bytecode` in the " "function" msgstr "" +"Μια :class:`tuple` που περιέχει τα ονόματα που χρησιμοποιούνται από τον :" +"term:`bytecode` στην συνάρτηση" #: reference/datamodel.rst:1500 msgid "The name of the file from which the code was compiled" -msgstr "" +msgstr "Το όνομα του αρχείου από το οποίο συντάχθηκε ο κώδικας" #: reference/datamodel.rst:1503 msgid "The line number of the first line of the function" -msgstr "" +msgstr "Ο αριθμός γραμμής της πρώτης γραμμής της συνάρτησης" #: reference/datamodel.rst:1506 msgid "" "A string encoding the mapping from :term:`bytecode` offsets to line numbers. " "For details, see the source code of the interpreter." msgstr "" +"Μια συμβολοσειρά που κωδικοποιεί την αντιστοίχιση από τον :term:`bytecode` " +"μετατοπίζεται σε αριθμούς γραμμών. Για λεπτομέρειες, ανατρέξτε στον πηγαίο " +"κώδικα του διερμηνέα." #: reference/datamodel.rst:1509 msgid "" "This attribute of code objects is deprecated, and may be removed in Python " "3.15." msgstr "" +"Αυτό το χαρακτηριστικό των αντικειμένων κώδικα έχει καταργηθεί, και μπορεί " +"να αφαιρεθεί στην Python 3.15." #: reference/datamodel.rst:1514 msgid "The required stack size of the code object" -msgstr "" +msgstr "Το απαιτούμενο μέγεθος στοίβας του αντικειμένου κώδικα" #: reference/datamodel.rst:1517 msgid "" "An :class:`integer ` encoding a number of flags for the interpreter." msgstr "" +"Μια :class:`integer ` που κωδικοποιεί έναν αριθμό flags για τον " +"διερμηνέα." #: reference/datamodel.rst:1522 msgid "" @@ -1661,6 +2411,13 @@ msgid "" "`inspect-module-co-flags` for details on the semantics of each flags that " "might be present." msgstr "" +"Τα ακόλουθα flag bits ορίζονται για :attr:`~codeobject.co_flags`: το bit " +"``0x04`` ορίζεται εάν η συνάρτηση χρησιμοποιεί τη σύνταξη ``*arguments`` για " +"να αποδεχτεί έναν αυθαίρετο αριθμό ορισμάτων θέσης· το bit ``0x08`` ορίζεται " +"εάν η συνάρτηση χρησιμοποιεί τη σύνταξη ``**keywords`` για να δέχεται " +"αυθαίρετα ορίσματα λέξεων-κλειδιών· το bit ``0x20`` ορίζεται εάν η συνάρτηση " +"είναι γεννήτρια. Δείτε το :ref:`inspect-module-co-flags` για λεπτομέρειες " +"σχετικά με τη σημασιολογία κάθε σημαίας που μπορεί να υπάρχει." #: reference/datamodel.rst:1530 msgid "" @@ -1669,11 +2426,18 @@ msgid "" "whether a code object was compiled with a particular feature enabled. See :" "attr:`~__future__._Feature.compiler_flag`." msgstr "" +"Οι δηλώσεις μελλοντικών δυνατοτήτων (για παράδειγμα, ``from __future__ " +"import division``) χρησιμοποιούν επίσης bits στο :attr:`~codeobject." +"co_flags` για να υποδείξουν εάν ένα αντικείμενο κώδικα έχει συνταχθεί με μια " +"συγκεκριμένη ενεργοποιημένη δυνατότητα. Δείτε το :attr:`~__future__._Feature." +"compiler_flag`." #: reference/datamodel.rst:1534 msgid "" "Other bits in :attr:`~codeobject.co_flags` are reserved for internal use." msgstr "" +"Άλλα bits στο :attr:`~codeobject.co_flags` είναι δεσμευμένα για εσωτερική " +"χρήση." #: reference/datamodel.rst:1538 msgid "" @@ -1682,16 +2446,22 @@ msgid "" "the first item in :attr:`~codeobject.co_consts` is the docstring of the " "function." msgstr "" +"Εάν ένα αντικείμενο κώδικα αντιπροσωπεύει μια συνάρτηση και έχει μια " +"συμβολοσειρά τεκμηρίωσης, το bit :data:`~inspect.CO_HAS_DOCSTRING` ορίζεται " +"στο :attr:`~codeobject.co_flags` και το πρώτο στοιχείο στο :attr:" +"`~codeobject.co_consts` είναι η συμβολοσειρά τεκμηρίωσης της συνάρτησης." #: reference/datamodel.rst:1544 msgid "Methods on code objects" -msgstr "" +msgstr "Μέθοδοι σε αντικείμενα κώδικα" #: reference/datamodel.rst:1548 msgid "" "Returns an iterable over the source code positions of each :term:`bytecode` " "instruction in the code object." msgstr "" +"Επιστρέφει έναν iterable πάνω από τις θέσεις του πηγαίου κώδικα κάθε " +"εντολής :term:`bytecode` στο αντικείμενο κώδικα." #: reference/datamodel.rst:1551 msgid "" @@ -1700,36 +2470,49 @@ msgid "" "position of the source code that compiled to the *i-th* code unit. Column " "information is 0-indexed utf-8 byte offsets on the given source line." msgstr "" +"Ο iterator επιστρέφει :class:`tuple`\\s που περιέχει το ``(start_line, " +"end_line, start_column, end_column)``. Η πλειάδα *i-th* αντιστοιχεί στη θέση " +"του πηγαίου κώδικα που μεταγλωττίστηκε στην εντολή *i-th*. Οι πληροφορίες " +"στηλών είναι μετατοπίσεις utf-8 byte με ευρετήριο 0 στη δεδομένη γραμμή " +"πηγής." #: reference/datamodel.rst:1557 msgid "" "This positional information can be missing. A non-exhaustive lists of cases " "where this may happen:" msgstr "" +"Αυτές οι πληροφορίες θέσης μπορεί να λείπουν. Μια μη εξαντλητική λίστα " +"περιπτώσεων όπου αυτό μπορεί να συμβεί:" #: reference/datamodel.rst:1560 msgid "Running the interpreter with :option:`-X` ``no_debug_ranges``." -msgstr "" +msgstr "Εκτέλεση του διερμηνέα με :option:`-X` ``no_debug_ranges``." #: reference/datamodel.rst:1561 msgid "" "Loading a pyc file compiled while using :option:`-X` ``no_debug_ranges``." msgstr "" +"Φόρτωση ενός αρχείου pyc που έχει μεταγλωττιστεί κατά τη χρήση του :option:`-" +"X` ``no_debug_ranges``." #: reference/datamodel.rst:1562 msgid "Position tuples corresponding to artificial instructions." -msgstr "" +msgstr "Τοποθετεί τις πλειάδες που αντιστοιχούν σε τεχνικές οδηγίες." #: reference/datamodel.rst:1563 msgid "" "Line and column numbers that can't be represented due to implementation " "specific limitations." msgstr "" +"Αριθμοί γραμμών και στηλών που δεν μπορούν να αναπαρασταθούν λόγω " +"περιορισμών για την υλοποίηση." #: reference/datamodel.rst:1566 msgid "" "When this occurs, some or all of the tuple elements can be :const:`None`." msgstr "" +"Όταν συμβαίνει αυτό, ορισμένα η όλα τα πολλαπλά στοιχεία μπορεί να είναι :" +"const:`None`." #: reference/datamodel.rst:1572 msgid "" @@ -1740,6 +2523,13 @@ msgid "" "``no_debug_ranges`` command line flag or the :envvar:`PYTHONNODEBUGRANGES` " "environment variable can be used." msgstr "" +"Αυτή η δυνατότητα απαιτεί αποθήκευση θέσεων στηλών σε αντικείμενα κώδικα που " +"μπορεί να οδηγήσει σε μικρή αύξηση της χρήσης δίσκου των μεταγλωττισμένων " +"αρχείων Python ή της χρήσης μνήμης διερμηνέα. Για να αποφύγετε την " +"αποθήκευση των επιπλέον πληροφοριών ή/και να απενεργοποιήσετε την εκτύπωση " +"των επιπλέον πληροφοριών παρακολούθησης, μπορεί να χρησιμοποιηθεί η σημαία " +"(flag) γραμμής εντολών :option:`-X` ``no_debug_ranges`` ή η μεταβλητή " +"περιβάλλοντος :envvar:`PYTHONNODEBUGRANGES`." #: reference/datamodel.rst:1581 msgid "" @@ -1747,18 +2537,25 @@ msgid "" "`bytecode`\\s. Each item yielded is a ``(start, end, lineno)`` :class:" "`tuple`:" msgstr "" +"Επιστρέφει έναν iterator που παράγει πληροφορίες σχετικά με διαδοχικά εύρη :" +"term:`bytecode`\\s. Κάθε στοιχείο που αποδίδεται είναι μια ``(start, end, " +"lineno)`` :class:`tuple`:" #: reference/datamodel.rst:1585 msgid "" "``start`` (an :class:`int`) represents the offset (inclusive) of the start " "of the :term:`bytecode` range" msgstr "" +"Το ``start`` (ένα :class:`int`) αναπαριστά τη μετατόπιση " +"(συμπεριλαμβανομένης) της έναρξης του εύρους :term:`bytecode`" #: reference/datamodel.rst:1587 msgid "" "``end`` (an :class:`int`) represents the offset (exclusive) of the end of " "the :term:`bytecode` range" msgstr "" +"Το ``end`` (ένα :class:`int`) αναπαριστά τη μετατόπιση (αποκλειστική) του " +"τέλους του εύρους :term:`bytecode`" #: reference/datamodel.rst:1589 msgid "" @@ -1766,14 +2563,17 @@ msgid "" "`bytecode` range, or ``None`` if the bytecodes in the given range have no " "line number" msgstr "" +"Το ``lineno`` είναι ένα :class:`int` που αναπαριστά τον αριθμό γραμμής του " +"εύρους :term:`bytecode` ή ``None`` εάν τα bytecodes στη δεδομένη περιοχή δεν " +"έχουν αριθμό γραμμής" #: reference/datamodel.rst:1593 msgid "The items yielded will have the following properties:" -msgstr "" +msgstr "Τα στοιχεία που θα προκύψουν θα έχουν τις ακόλουθες ιδιότητες:" #: reference/datamodel.rst:1595 msgid "The first range yielded will have a ``start`` of 0." -msgstr "" +msgstr "Το πρώτο εύρος που θα προκύψει θα έχει ένα ``start`` 0." #: reference/datamodel.rst:1596 msgid "" @@ -1781,16 +2581,23 @@ msgid "" "for any pair of :class:`tuple`\\s, the ``start`` of the second will be equal " "to the ``end`` of the first." msgstr "" +"Τα εύρη ``(start, end)`` θα είναι μη φθίνουσες και διαδοχικές. Δηλαδή, για " +"οποιοδήποτε ζεύγος :class:`tuple`\\s, το ``start`` του δεύτερου θα είναι ίσο " +"με το το ``end`` του πρώτου." #: reference/datamodel.rst:1599 msgid "No range will be backwards: ``end >= start`` for all triples." msgstr "" +"Κανένα εύρος δεν θα είναι προς τα πίσω: ``end >= start`` για όλες τις " +"τριάδες." #: reference/datamodel.rst:1600 msgid "" "The last :class:`tuple` yielded will have ``end`` equal to the size of the :" "term:`bytecode`." msgstr "" +"Το τελευταίο :class:`tuple` που θα αποφέρει θα έχει ``end`` ίσο με το " +"μέγεθος του :term:`bytecode`." #: reference/datamodel.rst:1603 msgid "" @@ -1798,28 +2605,37 @@ msgid "" "are used for lines that are present in the source code, but have been " "eliminated by the :term:`bytecode` compiler." msgstr "" +"Εύρος μηδενικού πλάτους, όπου ``start == end``, επιτρέπονται. Τα εύρη " +"μηδενικού πλάτους χρησιμοποιούνται για γραμμές που υπάρχουν στον πηγαίο " +"κώδικα, αλλά έχουν εξαλειφθεί από τον μεταγλωττιστή :term:`bytecode`." #: reference/datamodel.rst:1611 msgid ":pep:`626` - Precise line numbers for debugging and other tools." msgstr "" +":pep:`626` - Ακριβείς αριθμοί γραμμών για εντοπισμό σφαλμάτων και άλλα " +"εργαλεία." #: reference/datamodel.rst:1612 msgid "The PEP that introduced the :meth:`!co_lines` method." -msgstr "" +msgstr "Το PEP που εισήγαγε τη μέθοδο :meth:`!co_lines`." #: reference/datamodel.rst:1616 msgid "" "Return a copy of the code object with new values for the specified fields." msgstr "" +"Επιστρέφει ένα αντίγραφο του αντικειμένου κώδικα με νέες τιμές για τα " +"καθορισμένα πεδία." #: reference/datamodel.rst:1618 msgid "" "Code objects are also supported by the generic function :func:`copy.replace`." msgstr "" +"Τα αντικείμενα κώδικα υποστηρίζονται επίσης από τη γενική συνάρτηση :func:" +"`copy.replace`." #: reference/datamodel.rst:1626 msgid "Frame objects" -msgstr "" +msgstr "Πλαίσιο αντικειμένων" #: reference/datamodel.rst:1630 msgid "" @@ -1827,12 +2643,17 @@ msgid "" "objects `, and are also passed to registered trace " "functions." msgstr "" +"Τα αντικείμενα πλαισίου αναπαριστούν πλαίσια εκτέλεσης. Μπορούν να " +"εμφανίζονται σε :ref:`traceback objects `, και επίσης " +"μεταβιβάζονται σε καταχωρημένες συναρτήσεις ανίχνευσης." #: reference/datamodel.rst:1648 msgid "" "Points to the previous stack frame (towards the caller), or ``None`` if this " "is the bottom stack frame" msgstr "" +"Δείχνει το προηγούμενο πλαίσιο στοίβας (προς από εκεί που καλείται), ή " +"``None`` αν αυτό είναι το πλαίσιο της κάτω στοίβας" #: reference/datamodel.rst:1652 msgid "" @@ -1840,6 +2661,10 @@ msgid "" "Accessing this attribute raises an :ref:`auditing event ` ``object." "__getattr__`` with arguments ``obj`` and ``\"f_code\"``." msgstr "" +"Το αντικείμενο :ref:`code object ` εκτελείται σε αυτό το " +"πλαίσιο. Η πρόσβαση σε αυτό το χαρακτηριστικό κάνει raise σε ένα συμβάν :ref:" +"`auditing event ` ``object.__getattr__`` με ορίσματα ``obj`` και " +"``\"f_code\"``." #: reference/datamodel.rst:1657 msgid "" @@ -1847,27 +2672,38 @@ msgid "" "the frame refers to an :term:`optimized scope`, this may return a write-" "through proxy object." msgstr "" +"Η αντιστοίχιση που χρησιμοποιείται από το πλαίσιο για την αναζήτηση :ref:" +"`local variables `. Εάν το πλαίσιο αναφέρεται σε ένα :term:" +"`optimized scope`, αυτό μπορεί να επιστρέψει ένα αντικείμενο proxy write-" +"through." #: reference/datamodel.rst:1662 msgid "Return a proxy for optimized scopes." -msgstr "" +msgstr "Επιστρέφει ένα proxy για βελτιστοποιημένα πλαίσια." #: reference/datamodel.rst:1666 msgid "" "The dictionary used by the frame to look up :ref:`global variables `" msgstr "" +"Το λεξικό που χρησιμοποιείται από το πλαίσιο για την αναζήτηση :ref:`global " +"variables `" #: reference/datamodel.rst:1670 msgid "" "The dictionary used by the frame to look up :ref:`built-in (intrinsic) names " "`" msgstr "" +"Το λεξικό που χρησιμοποιείται από το πλαίσιο για την αναζήτηση :ref:`built-" +"in (intrinsic) names `" #: reference/datamodel.rst:1674 msgid "" "The \"precise instruction\" of the frame object (this is an index into the :" "term:`bytecode` string of the :ref:`code object `)" msgstr "" +"Η \"ακριβής εντολή\" του αντικειμένου πλαισίου (αυτό είναι ένα ευρετήριο στη " +"συμβολοσειρά :term:`bytecode` του αντικειμένου :ref:`code object `)" #: reference/datamodel.rst:1690 msgid "" @@ -1875,12 +2711,18 @@ msgid "" "execution (this is used by debuggers). Normally an event is triggered for " "each new source line (see :attr:`~frame.f_trace_lines`)." msgstr "" +"Εάν όχι ``None``, αυτή είναι μια συνάρτηση που καλείται για διάφορα συμβάντα " +"κατά την εκτέλεση κώδικα (αυτό χρησιμοποιείται από προγράμματα εντοπισμού " +"σφαλμάτων). Κανονικά ένα συμβάν ενεργοποιείται για κάθε νέα γραμμή πηγαίου " +"κώδικα (δείτε :attr:`~frame.f_trace_lines`)." #: reference/datamodel.rst:1695 msgid "" "Set this attribute to :const:`False` to disable triggering a tracing event " "for each source line." msgstr "" +"Ορίστε αυτό το χαρακτηριστικό σε :const:`False` για να απενεργοποιήσετε την " +"ενεργοποίηση ενός συμβάντος ανίχνευσης για κάθε γραμμή πηγαίου κώδικα." #: reference/datamodel.rst:1699 msgid "" @@ -1888,6 +2730,10 @@ msgid "" "requested. Note that this may lead to undefined interpreter behaviour if " "exceptions raised by the trace function escape to the function being traced." msgstr "" +"Ορίζει αυτό το χαρακτηριστικό σε :const:`True` για να επιτρέψετε να ζητηθούν " +"συμβάντα ανά opcode. Σημειώστε ότι αυτό μπορεί να οδηγήσει σε απροσδιόριστη " +"συμπεριφορά διερμηνέα εάν οι εξαιρέσεις που προκύπτουν από τη συνάρτηση " +"ανίχνευσης διαφεύγουν στη συνάρτηση που παρακολουθείται." #: reference/datamodel.rst:1705 msgid "" @@ -1896,14 +2742,19 @@ msgid "" "debugger can implement a Jump command (aka Set Next Statement) by writing to " "this attribute." msgstr "" +"Ο τρέχων αριθμός γραμμής του πλαισίου -- η εγγραφή σε αυτό μέσα από μια " +"συνάρτηση ανίχνευσης μεταβαίνει στη δεδομένη γραμμή (μόνο για το πιο κάτω " +"πλαίσιο). Ένας εντοπισμός σφαλμάτων μπορεί να εφαρμόσει μια εντολή " +"Μετάβασης (γνωστή και ως Ορισμός Επόμενης Δήλωσης) γράφοντας σε αυτό το " +"χαρακτηριστικό." #: reference/datamodel.rst:1711 msgid "Frame object methods" -msgstr "" +msgstr "Μέθοδοι αντικειμένων πλαισίου" #: reference/datamodel.rst:1713 msgid "Frame objects support one method:" -msgstr "" +msgstr "Τα αντικείμενα πλαισίου υποστηρίζουν μια μέθοδο:" #: reference/datamodel.rst:1717 msgid "" @@ -1913,22 +2764,31 @@ msgid "" "objects (for example when catching an :ref:`exception ` " "and storing its :ref:`traceback ` for later use)." msgstr "" +"Αυτή η μέθοδος διαγράφει όλες τις αναφορές σε :ref:`local variables " +"` που τηρούνται από το πλαίσιο. Επίσης, εάν το πλαίσιο ανήκε σε " +"ένα :term:`generator`, η γεννήτρια έχει οριστικοποιηθεί. Αυτό βοηθά στη " +"διακοπή των κύκλων αναφοράς που περιλαμβάνουν αντικείμενα πλαισίου (για " +"παράδειγμα, όταν γίνεται catch μια :ref:`exception ` και " +"αποθηκεύετε το :ref:`traceback ` για μετέπειτα χρήση)." #: reference/datamodel.rst:1723 msgid "" ":exc:`RuntimeError` is raised if the frame is currently executing or " "suspended." msgstr "" +"Η :exc:`RuntimeError` γίνεται raise εάν το πλαίσιο εκτελείται ή αναστέλλεται." #: reference/datamodel.rst:1728 msgid "" "Attempting to clear a suspended frame raises :exc:`RuntimeError` (as has " "always been the case for executing frames)." msgstr "" +"Η προσπάθεια εκκαθάρισης ενός ανασταλμένου πλαισίου κάνει raise :exc:" +"`RuntimeError` (όπως πάντα συμβαίνει για τα εκτελούμενα πλαίσια)." #: reference/datamodel.rst:1736 msgid "Traceback objects" -msgstr "" +msgstr "Αντικείμενα ανίχνευσης" #: reference/datamodel.rst:1749 msgid "" @@ -1936,10 +2796,16 @@ msgid "" "errors>`. A traceback object is implicitly created when an exception occurs, " "and may also be explicitly created by calling :class:`types.TracebackType`." msgstr "" +"Τα αντικείμενα ανίχνευσης αντιπροσωπεύουν το ίχνος στοίβας μιας :ref:" +"`exception `. Ένα αντικείμενο traceback δημιουργείται σιωπηρά " +"όταν εμφανίζεται μια εξαίρεση και μπορεί επίσης να δημιουργηθεί ρητά " +"καλώντας το :class:`types.TracebackType`." #: reference/datamodel.rst:1754 msgid "Traceback objects can now be explicitly instantiated from Python code." msgstr "" +"Τα αντικείμενα Traceback μπορούν τώρα να δημιουργηθούν ρητά από τον κώδικα " +"Python." #: reference/datamodel.rst:1757 msgid "" @@ -1951,6 +2817,14 @@ msgid "" "`sys.exc_info`, and as the :attr:`~BaseException.__traceback__` attribute of " "the caught exception." msgstr "" +"Για εμμέσως δημιουργημένα tracebacks, όταν η αναζήτηση για έναν χειριστή " +"εξαιρέσεων ξετυλίγει τη στοίβα εκτέλεσης, σε κάθε επίπεδο ξετυλίγματος " +"εισάγεται ένα αντικείμενο traceback μπροστά από το τρέχον traceback. Όταν " +"εισάγεται ένα χειριστής εξαίρεσης, το ίχνος στοίβας διατίθεται στο " +"πρόγραμμα. (Δείτε την ενότητα :ref:`try`.) Είναι προσβάσιμο ως το τρίτο " +"στοιχείο της πλειάδα που επιστρέφεται από το :func:`sys.exc_info` και έχει " +"ως το χαρακτηριστικό :attr:`~BaseException.__traceback__` της εξαίρεσης που " +"έχει εντοπιστεί." #: reference/datamodel.rst:1766 msgid "" @@ -1959,6 +2833,10 @@ msgid "" "interactive, it is also made available to the user as :data:`sys." "last_traceback`." msgstr "" +"Όταν το πρόγραμμα δεν περιέχει ον κατάλληλο χειριστή, το ίχνος στοίβας " +"γράφεται (όμορφα μορφοποιημένο) στην τυπική ροή σφαλμάτων· εάν ο διερμηνέα " +"είναι διαδραστικός, διατίθεται επίσης στον χρήστη ως :data:`sys." +"last_traceback`." #: reference/datamodel.rst:1771 msgid "" @@ -1966,25 +2844,31 @@ msgid "" "to determine how the :attr:`~traceback.tb_next` attributes should be linked " "to form a full stack trace." msgstr "" +"Για ρητά δημιουργημένα tracebacks, εναπόκειται στον δημιουργό του traceback " +"να καθορίσει πως θα πρέπει να συνδεθούν, τα χαρακτηριστικά :attr:`~traceback." +"tb_next` για να σχηματίσουν ένα ίχνος πλήρους στοίβας." #: reference/datamodel.rst:1786 msgid "" "Points to the execution :ref:`frame ` of the current level." msgstr "" +"Δείχνει την εκτέλεση :ref:`frame ` του τρέχοντος επιπέδου." #: reference/datamodel.rst:1789 msgid "" "Accessing this attribute raises an :ref:`auditing event ` ``object." "__getattr__`` with arguments ``obj`` and ``\"tb_frame\"``." msgstr "" +"Η πρόσβαση σε αυτό το χαρακτηριστικό κάνει raise ένα :ref:`auditing event " +"` ``object.__getattr__`` με ορίσματα ``obj`` και ``\"tb_frame\"``." #: reference/datamodel.rst:1794 msgid "Gives the line number where the exception occurred" -msgstr "" +msgstr "Δίνει τον αριθμό γραμμής όπου προέκυψε η εξαίρεση" #: reference/datamodel.rst:1797 msgid "Indicates the \"precise instruction\"." -msgstr "" +msgstr "Δηλώνει την \"ακριβή οδηγία\"." #: reference/datamodel.rst:1799 msgid "" @@ -1993,6 +2877,10 @@ msgid "" "occurred in a :keyword:`try` statement with no matching except clause or " "with a :keyword:`finally` clause." msgstr "" +"Ο αριθμός γραμμής και η τελευταία εντολή στο traceback μπορεί να διαφέρουν " +"από τον αριθμό γραμμής του αντικειμένου :ref:`frame object ` " +"εάν η εξαίρεση εμφανίστηκε σε μια πρόταση :keyword:`try` χωρίς αντιστοίχιση " +"εκτός από τον όρο ή με έναν όρο :keyword:`finally`." #: reference/datamodel.rst:1810 msgid "" @@ -2000,20 +2888,26 @@ msgid "" "stack trace (towards the frame where the exception occurred), or ``None`` if " "there is no next level." msgstr "" +"Το ειδικό εγγράψιμο χαρακτηριστικό :attr:`!tb_next` είναι το επόμενο επίπεδο " +"στο ίχνος στοίβας (προς το πλαίσιο όπου σημειώθηκε η εξαίρεση), ή ``None`` " +"εάν δεν υπάρχει επόμενο επίπεδο." #: reference/datamodel.rst:1814 msgid "This attribute is now writable" -msgstr "" +msgstr "Αυτό το χαρακτηριστικό είναι τώρα εγγράψιμο" #: reference/datamodel.rst:1819 msgid "Slice objects" -msgstr "" +msgstr "Αντικείμενα τμηματοποίησης" #: reference/datamodel.rst:1823 msgid "" "Slice objects are used to represent slices for :meth:`~object.__getitem__` " "methods. They are also created by the built-in :func:`slice` function." msgstr "" +"Τα αντικείμενα τμηματοποίησης χρησιμοποιούνται για να αναπαραστήσουν τμήματα " +"για μεθόδους :meth:`~object.__getitem__`. Δημιουργούνται επίσης από την " +"ενσωματωμένη συνάρτηση :func:`slice`." #: reference/datamodel.rst:1832 msgid "" @@ -2021,10 +2915,14 @@ msgid "" "`~slice.stop` is the upper bound; :attr:`~slice.step` is the step value; " "each is ``None`` if omitted. These attributes can have any type." msgstr "" +"Ειδικά χαρακτηριστικά μόνο για ανάγνωση: το :attr:`~slice.start` είναι το " +"κάτω όριο∙ το :attr:`~slice.stop` είναι το άνω όριο∙ και το :attr:`~slice." +"step` είναι το βήμα∙ κάθε ένα είναι ``None`` αν παραλειφθεί. Τα " +"χαρακτηριστικά μπορούν να έχουν οποιονδήποτε τύπο." #: reference/datamodel.rst:1836 msgid "Slice objects support one method:" -msgstr "" +msgstr "Τα αντικείμενα slice υποστηρίζουν μια μέθοδο:" #: reference/datamodel.rst:1840 msgid "" @@ -2035,10 +2933,17 @@ msgid "" "stride length of the slice. Missing or out-of-bounds indices are handled in " "a manner consistent with regular slices." msgstr "" +"Αυτή η μέθοδος παίρνει ένα μόνο ακέραιο όρισμα *length* και υπολογίζει " +"πληροφορίες σχετικά το slice που θα περιέγραφε το αντικείμενο slice εάν " +"εφαρμοστεί σε μια ακολουθία στοιχείων *length*. Επιστρέφει μια πλειάδα " +"τριών ακεραίων αριθμών∙ αντίστοιχα αυτοί είναι δείκτες *start* και *stop* " +"και το *step* ή το μήκος του βήματος του τμήματος. Οι δείκτες που λείπουν ή " +"είναι εκτός ορίων αντιμετωπίζονται με τρόπο που συνάδει με τα κανονικά " +"slices." #: reference/datamodel.rst:1849 msgid "Static method objects" -msgstr "" +msgstr "Αντικείμενα στατικών μεθόδων" #: reference/datamodel.rst:1851 msgid "" @@ -2050,10 +2955,20 @@ msgid "" "any further transformation. Static method objects are also callable. Static " "method objects are created by the built-in :func:`staticmethod` constructor." msgstr "" +"Τα αντικείμενα στατικής μεθόδου παρέχουν έναν τρόπο εξουδετέρωσης του " +"μετασχηματισμού αντικειμένων συνάρτησης σε αντικείμενα μεθόδου που " +"περιγράφονται παραπάνω. Ένα αντικείμενο στατικής μεθόδου είναι ένα " +"περιτύλιγμα γύρω από οποιοδήποτε άλλο αντικείμενο , συνήθως ένα αντικείμενο " +"μεθόδου που ορίζεται από το χρήστη. Όταν ένα αντικείμενο στατικής μεθόδου " +"ανακτάται από μια κλάση ή ένα στιγμιότυπο κλάσης, το αντικείμενο που " +"επιστρέφεται στην πραγματικότητα είναι το τυλιγμένο αντικείμενο, το οποίο " +"δεν υπόκειται σε περαιτέρω μετασχηματισμό. Τα αντικείμενα στατικής μεθόδου " +"μπορούν επίσης να κληθούν. Τα αντικείμενα στατικής μεθόδου δημιουργούνται " +"από τον ενσωματωμένο κατασκευαστή :func:`staticmethod`." #: reference/datamodel.rst:1861 msgid "Class method objects" -msgstr "" +msgstr "Αντικείμενα μεθόδων κλάσεων" #: reference/datamodel.rst:1863 msgid "" @@ -2064,10 +2979,17 @@ msgid "" "methods>`. Class method objects are created by the built-in :func:" "`classmethod` constructor." msgstr "" +"Ένα αντικείμενο μεθόδου κλάσης, όπως ένα αντικείμενο στατικής μεθόδου, είναι " +"ένα περιτύλιγμα γύρω από ένα άλλο αντικείμενο που αλλάζει τον τρόπο με τον " +"οποίο ανακτάται αυτό το αντικείμενο από κλάσεις και στιγμιότυπα κλάσεων. Η " +"συμπεριφορά των αντικειμένων της μεθόδου κλάσης κατά την ανάκτηση αυτή " +"περιγράφεται παραπάνω, στην ενότητα :ref:`\"instance methods\" `. Τα αντικείμενα της μεθόδου κλάσης δημιουργούνται από τον " +"ενσωματωμένο κατασκευαστή :func:`classmethod`." #: reference/datamodel.rst:1873 msgid "Special method names" -msgstr "" +msgstr "Ειδικά ονόματα μεθόδων" #: reference/datamodel.rst:1879 msgid "" @@ -2082,6 +3004,17 @@ msgid "" "appropriate method is defined (typically :exc:`AttributeError` or :exc:" "`TypeError`)." msgstr "" +"Μια κλάση μπορεί να εφαρμόσει ορισμένες πράξεις που καλούνται από ειδική " +"σύνταξη (όπως αριθμητικές πράξεις ή εγγραφή και κοπή) ορίζονται μεθόδους με " +"ειδικά ονόματα. Αυτή είναι η προσέγγιση της Python για το :dfn:`operator " +"overloading`, επιτρέποντας στις κλάσεις να ορίσουν τη δική τους συμπεριφορά " +"σε σχέση με τους τελεστές γλώσσας. Για παράδειγμα, εάν μια κλάση ορίζει μια " +"μέθοδο με το όνομα :meth:`~object.__getitem__`, και το ``x`` είναι ένα " +"στιγμιότυπο αυτής της κλάσης, τότε το ``x[i]`` είναι περίπου ισοδύναμο με το " +"``type(x).__getitem__(x, i)``. Εκτός από τις περιπτώσεις που αναφέρονται, οι " +"προσπάθειες εκτέλεσης μιας λειτουργίας δημιουργούν εξαίρεση όταν δεν " +"ορίζεται κατάλληλη μέθοδος (συνήθως :exc:`AttributeError` ή :exc:" +"`TypeError`)." #: reference/datamodel.rst:1890 msgid "" @@ -2091,6 +3024,11 @@ msgid "" "its instances will raise a :exc:`TypeError` (without falling back to :meth:" "`~object.__getitem__`). [#]_" msgstr "" +"Ο ορισμός μιας ειδική μεθόδου σε ``None`` σημαίνει ότι η αντίστοιχη " +"λειτουργία δεν είναι διαθέσιμη. Για παράδειγμα, εάν μια κλάση ορίσει την :" +"meth:`~object.__iter__` σε ``None`` η κλάση δεν είναι iterable, επομένως η " +"κλήση :func:`iter` στα στιγμιότυπα της θα κάνει raise μια :exc:`TypeError` " +"(χωρίς να επιστρέψουμε στο :meth:`~object.__getitem__`). [#]_" #: reference/datamodel.rst:1896 msgid "" @@ -2101,10 +3039,17 @@ msgid "" "sense. (One example of this is the :class:`~xml.dom.NodeList` interface in " "the W3C's Document Object Model.)" msgstr "" +"Κατά την υλοποίηση μιας κλάσης που προσομοιώνει οποιονδήποτε ενσωματωμένο " +"τύπο, είναι σημαντικό η εξομοίωση να υλοποιείται μόνο στο βαθμό που έχει " +"νόημα για το αντικείμενο που μοντελοποιείται. Για παράδειγμα, ορισμένες " +"ακολουθίες μπορεί να λειτουργούν καλά με την ανάκτηση μεμονωμένων στοιχείων, " +"αλλά η εξαγωγή ενός τμήματος μπορεί να μην έχει νόημα. (Ένα παράδειγμα " +"αυτού είναι η διεπαφή :class:`~xml.dom.NodeList` στο Μοντέλο Αντικειμένου " +"Εγγράφου του W3C.)" #: reference/datamodel.rst:1907 msgid "Basic customization" -msgstr "" +msgstr "Βασική προσαρμογή" #: reference/datamodel.rst:1913 msgid "" @@ -2115,6 +3060,13 @@ msgid "" "(the call to the class). The return value of :meth:`__new__` should be the " "new object instance (usually an instance of *cls*)." msgstr "" +"Καλείται για τη δημιουργία ενός νέου στιγμιοτύπου κλάσης *cls*. Η :meth:" +"`__new__` είναι μια στατική μέθοδος (ειδική περίπτωση, επομένως δεν " +"χρειάζεται να τη δηλώνετε ως τέτοια) που παίρνει την κλάση της οποίας " +"ζητήθηκε ένα στιγμιότυπο ως πρώτο όρισμα. Τα υπόλοιπα ορίσματα είναι αυτά " +"που μεταβιβάζονται στην έκφραση του κατασκευαστή αντικειμένου (η κλήση στην " +"κλάση). Η επιστρεφόμενη τιμή του :meth:`__new__` θα πρέπει να είναι το νέο " +"στιγμιότυπο αντικειμένου (συνήθως ένα στιγμιότυπο του *cls*)." #: reference/datamodel.rst:1920 msgid "" @@ -2123,6 +3075,10 @@ msgid "" "with appropriate arguments and then modifying the newly created instance as " "necessary before returning it." msgstr "" +"Οι τυπικές υλοποιήσεις δημιουργούν ένα νέο στιγμιότυπο κλάσης επικαλώντας τη " +"μέθοδο :meth:`__new__` της υπερκλάσης χρησιμοποιώντας ``super()." +"__new__(cls[, ...])`` με κατάλληλα ορίσματα και στη συνέχεια τροποποιώντας " +"τη νεο-δημιουργηθείσα παρουσία όπως απαιτείται πριν την επιστρέψει." #: reference/datamodel.rst:1925 msgid "" @@ -2132,12 +3088,19 @@ msgid "" "the remaining arguments are the same as were passed to the object " "constructor." msgstr "" +"Εάν το :meth:`__new__` καλείται κατά την κατασκευή αντικειμένου και " +"επιστρέφει ένα στιγμιότυπο του *cls*, τότε η μέθοδος :meth:`__init__` του " +"νέου στιγμιοτύπου θα κληθεί όπως ``__init__(self[, ...])``, όπου το *self* " +"είναι το νέο στιγμιότυπο και τα υπόλοιπα ορίσματα είναι τα ίδια με αυτά που " +"διαβιβάστηκαν στον κατασκευαστή του αντικειμένου." #: reference/datamodel.rst:1930 msgid "" "If :meth:`__new__` does not return an instance of *cls*, then the new " "instance's :meth:`__init__` method will not be invoked." msgstr "" +"Εάν το :meth:`__new__` δεν επιστρέφει ένα στιγμιότυπο του *cls*, τότε η " +"μέθοδος :meth:`__init__` του νέου στιγμιοτύπου δεν θα κληθεί." #: reference/datamodel.rst:1933 msgid "" @@ -2146,6 +3109,10 @@ msgid "" "commonly overridden in custom metaclasses in order to customize class " "creation." msgstr "" +"Το :meth:`__new__` προορίζεται κυρίως για να επιτρέψει σε υποκλάσεις " +"αμετάβλητων τύπων (όπως int, str, ή tuple) να προσαρμόσουν τη δημιουργία " +"στιγμιοτύπων. Επίσης συνήθως παρακάμπτεται σε προσαρμοσμένες μετακλάσεις " +"προκειμένου να προσαρμόσουν τη δημιουργία κλάσεων." #: reference/datamodel.rst:1942 msgid "" @@ -2156,6 +3123,13 @@ msgid "" "ensure proper initialization of the base class part of the instance; for " "example: ``super().__init__([args...])``." msgstr "" +"Καλείται μετά τη δημιουργία του στιγμιοτύπου (από :meth:`__new__`), αλλά " +"πριν επιστραφεί εκεί που καλέστηκε. Τα ορίσματα είναι αυτά που " +"μεταβιβάζονται στην έκφραση του κατασκευαστή κλάσης. Εάν μια κλάση βάσης " +"έχει μια μέθοδο :meth:`__init__`, η μέθοδος :meth:`__init__` της παραγόμενης " +"κλάσης, εάν υπάρχει πρέπει να την καλέσει ρητά για να διασφαλιστεί η σωστή " +"προετοιμασία του τμήματος της βασικής κλάσης του στιγμιοτύπου∙ για " +"παράδειγμα: ``super().__init__([args...])``." #: reference/datamodel.rst:1949 msgid "" @@ -2164,6 +3138,11 @@ msgid "" "it), no non-``None`` value may be returned by :meth:`__init__`; doing so " "will cause a :exc:`TypeError` to be raised at runtime." msgstr "" +"Επειδή τα :meth:`__new__` και :meth:`__init__` συνεργάζονται για την " +"κατασκευή αντικειμένων (:meth:`__new__` για να το δημιουργήσετε, και :meth:" +"`__init__` για να το προσαρμόσετε), δεν επιτρέπεται να επιστραφεί καμία τιμή " +"μη-``None`` από το :meth:`__init__` ∙ αν το κάνετε αυτό, θα εμφανιστεί ένα :" +"exc:`TypeError` κατά το χρόνο εκτέλεσης." #: reference/datamodel.rst:1962 msgid "" @@ -2173,6 +3152,11 @@ msgid "" "explicitly call it to ensure proper deletion of the base class part of the " "instance." msgstr "" +"Καλείται όταν το παράδειγμα πρόκειται να καταστραφεί. Αυτό ονομάζεται " +"επίσης τελικό ή (κακώς) καταστροφέας. Εάν μια βασική κλάση έχει μια μέθοδο :" +"meth:`__del__`, η μέθοδος :meth:`__del__` της παράγωγης κλάσης, εάν υπάρχει, " +"πρέπει να την καλέσει ρητά για να διασφαλιστεί η σωστή διαγραφή του τμήματος " +"της βασικής κλάσης του στιγμιοτύπου." #: reference/datamodel.rst:1968 msgid "" @@ -2183,6 +3167,12 @@ msgid "" "about to be destroyed; the current :term:`CPython` implementation only calls " "it once." msgstr "" +"Είναι δυνατό (αν και δεν συνίσταται!) η μέθοδος :meth:`__del__` να αναβάλει " +"την καταστροφή του στιγμιότυπου δημιουργώντας μια νέα αναφορά σε αυτό. Αυτό " +"ονομάζεται αντικείμενο *ανάσταση (resurrection)*. Εξαρτάται από την " +"υλοποίηση εάν το :meth:`__del__` καλείται δεύτερη φορά όταν ένα αναστημένο " +"αντικείμενο πρόκειται να καταστραφεί εξαρτάται από την υλοποίηση∙ η τρέχουσα " +"υλοποίηση του :term:`CPython` την καλεί μόνο μία φορά." #: reference/datamodel.rst:1975 msgid "" @@ -2191,6 +3181,10 @@ msgid "" "provides a straightforward way to register a cleanup function to be called " "when an object is garbage collected." msgstr "" +"Δεν είναι εγγυημένο ότι οι μέθοδοι :meth:`__del__` καλούνται για αντικείμενα " +"που εξακολουθούν να υπάρχουν κατά την έξοδο του διερμηνέα. Η :class:`weakref." +"finalize` παρέχει έναν απλό τρόπο για την καταχώριση μιας συνάρτησης " +"καθαρισμού που θα καλείται όταν ένα αντικείμενο συλλέγεται από τα σκουπίδια." #: reference/datamodel.rst:1982 msgid "" @@ -2198,6 +3192,9 @@ msgid "" "the reference count for ``x`` by one, and the latter is only called when " "``x``'s reference count reaches zero." msgstr "" +"Το ``del x`` δεν καλεί απευθείας το ``x.__del__()`` --- το πρώτο μειώνει το " +"πλήθος αναφοράς για το ``x`` κατά ένα και το δεύτερο καλείται μόνο όταν το " +"πλήθος αναφοράς του ``x`` φτάσει στο μηδέν." #: reference/datamodel.rst:1987 msgid "" @@ -2209,10 +3206,17 @@ msgid "" "references its own traceback, which references the locals of all frames " "caught in the traceback." msgstr "" +"Είναι δυνατό για έναν κύκλο αναφοράς να εμποδίσει το πλήθος αναφοράς ενός να " +"μηδενιστεί. Σε αυτήν την περίπτωσης, ο κύκλος θα εντοπιστεί αργότερα και θα " +"διαγραφεί από τον :term:`cyclic garbage collector `. Μια " +"κοινή αιτία κύκλων αναφοράς είναι όταν μια εξαίρεση έχει εντοπιστεί σε μια " +"τοπική μεταβλητή. Στη συνέχεια, τα τοπικά του πλαισίου αναφέρονται στην " +"εξαίρεση, η οποία αναφέρεται στο δικό του traceback, το οποίο αναφέρεται " +"στους τοπικούς αριθμούς όλων των καρέ που έχουν εντοπιστεί στο traceback." #: reference/datamodel.rst:1997 msgid "Documentation for the :mod:`gc` module." -msgstr "" +msgstr "Τεκμηρίωση για το module :mod:`gc`." #: reference/datamodel.rst:2001 msgid "" @@ -2220,6 +3224,9 @@ msgid "" "invoked, exceptions that occur during their execution are ignored, and a " "warning is printed to ``sys.stderr`` instead. In particular:" msgstr "" +"Λόγω των επισφαλών συνθηκών υπό τις οποίες καλούνται οι μέθοδοι :meth:" +"`__del__`, οι εξαιρέσεις που προκύπτουν κατά την εκτέλεση τους αγνοούνται " +"και αντ' αυτού εκτυπώνεται μια προειδοποίηση στο ``sys.stderr``. Ειδικότερα:" #: reference/datamodel.rst:2005 msgid "" @@ -2229,6 +3236,11 @@ msgid "" "may already be taken by the code that gets interrupted to execute :meth:" "`__del__`." msgstr "" +"Η :meth:`__del__` μπορεί να καλεστεί, όταν καλείται αυθαίρετος κώδικα, " +"συμπεριλαμβανομένου οποιουδήποτε αυθαίρετου νήματος. Εάν η :meth:`__del__` " +"χρειάζεται να κλειδώσει ή να επικαλεστεί οποιονδήποτε άλλο πόρο αποκλεισμού, " +"μπορεί να είναι αδιέξοδο καθώς ο πόρος μπορεί να έχει ήδη ληφθεί από τον " +"κώδικα που διακόπτεται για να εκτελεστεί :meth:`__del__`." #: reference/datamodel.rst:2011 msgid "" @@ -2240,6 +3252,15 @@ msgid "" "such globals exist, this may help in assuring that imported modules are " "still available at the time when the :meth:`__del__` method is called." msgstr "" +"Η :meth:`__del__` μπορεί να εκτελεστεί κατά τη διάρκεια του τερματισμού " +"λειτουργίας του διερμηνέα. Κατά συνέπεια, οι καθολικές μεταβλητές στις " +"οποίες χρειάζεται πρόσβαση (συμπεριλαμβανομένων άλλως modules) μπορεί να " +"έχουν ήδη διαγραφεί ή να έχουν οριστεί σε ``None``. Η Python εγγυάται ότι τα " +"καθολικά των οποίων το όνομα αρχίζει με μία μόνο υπογράμμιση διαγράφονται " +"από το module τους πριν διαγραφούν άλλα καθολικά∙ εάν δεν υπάρχουν άλλες " +"αναφορές σε τέτοια καθολικά, αυτό μπορεί να βοηθήσει στη διασφάλιση ότι τα " +"εισαγόμενα modules εξακολουθούν να είναι διαθέσιμες τη στιγμή που καλείται η " +"μέθοδος :meth:`__del__`." #: reference/datamodel.rst:2026 msgid "" @@ -2252,6 +3273,16 @@ msgid "" "`__repr__` but not :meth:`__str__`, then :meth:`__repr__` is also used when " "an \"informal\" string representation of instances of that class is required." msgstr "" +"Καλείται από την ενσωματωμένη συνάρτηση :func:`repr` για τον υπολογισμό της " +"\"official\" αναπαράστασης συμβολοσειράς ενός αντικειμένου. Εάν είναι " +"δυνατόν, αυτό θα πρέπει να μοιάζει με μια έγκυρη έκφραση Python που θα " +"μπορούσε να χρησιμοποιηθεί για την αναδημιουργία ενός αντικειμένου με την " +"ίδια τιμή (δεδομένου ενός κατάλληλου περιβάλλοντος). Εάν αυτό δεν είναι " +"δυνατό, θα πρέπει να επιστραφεί μια συμβολοσειρά της μορφής ``<...κάποια " +"χρήσιμη περιγραφή...>``. Η τιμή επιστροφής πρέπει να είναι αντικείμενο " +"συμβολοσειράς. Εάν μια κλάση ορίζει :meth:`__repr__` αλλά όχι :meth:" +"`__str__`, τότε η :meth:`__repr__` χρησιμοποιείται επίσης όταν απαιτείται " +"μια \"ανεπίσημη\" αναπαράσταση συμβολοσειράς στιγμιοτύπων αυτής της κλάσης." #: reference/datamodel.rst:2035 msgid "" @@ -2259,6 +3290,9 @@ msgid "" "representation is information-rich and unambiguous. A default implementation " "is provided by the :class:`object` class itself." msgstr "" +"Αυτό χρησιμοποιείται συνήθως για εντοπισμός σφαλμάτων, επομένως είναι " +"σημαντικό η αναπαράσταση να είναι πλούσια σε πληροφορίες και ξεκάθαρη. Μια " +"προεπιλεγμένη υλοποίηση παρέχεται από την ίδια την κλάση :class:`object`." #: reference/datamodel.rst:2047 msgid "" @@ -2267,6 +3301,10 @@ msgid "" "\"informal\" or nicely printable string representation of an object. The " "return value must be a :ref:`str ` object." msgstr "" +"Καλείται από :func:`str(object) ` και τις ενσωματωμένες συναρτήσεις :" +"func:`format` και :func:`print` για τον υπολογισμό της \"ανεπίσημης\" ή " +"ωραίας εκτύπωσης συμβολοσειράς ενός αντικειμένου. Η τιμή που επιστρέφεται " +"πρέπει να είναι ένα αντικείμενο :ref:`string `." #: reference/datamodel.rst:2052 msgid "" @@ -2274,12 +3312,17 @@ msgid "" "expectation that :meth:`__str__` return a valid Python expression: a more " "convenient or concise representation can be used." msgstr "" +"Αυτή η μέθοδος διαφέρει από τη :meth:`object.__repr__` στο ότι δεν υπάρχει " +"καμία προσδοκία ότι η :meth:`__str__` θα επιστρέψει μια έγκυρη έκφραση " +"Python: μπορεί να χρησιμοποιηθεί μια πιο βολική ή συνοπτική αναπαράσταση." #: reference/datamodel.rst:2056 msgid "" "The default implementation defined by the built-in type :class:`object` " "calls :meth:`object.__repr__`." msgstr "" +"Η προεπιλεγμένη υλοποίηση που ορίζεται από τον ενσωματωμένο τύπο :class:" +"`object` καλεί την :meth:`object.__repr__`." #: reference/datamodel.rst:2066 msgid "" @@ -2287,6 +3330,10 @@ msgid "" "of an object. This should return a :class:`bytes` object. The :class:" "`object` class itself does not provide this method." msgstr "" +"Καλείται από :ref:`bytes ` για να υπολογιστεί μια παράσταση " +"συμβολοσειράς byte ενός αντικειμένου. Αυτό θα πρέπει να επιστρέψει ένα :" +"class:`bytes` αντικείμενο. Η ίδια κλάση :class:`object` δεν παρέχει αυτήν τη " +"μέθοδο." #: reference/datamodel.rst:2078 msgid "" @@ -2299,33 +3346,50 @@ msgid "" "either delegate formatting to one of the built-in types, or use a similar " "formatting option syntax." msgstr "" +"Καλείται από την ενσωματωμένη συνάρτηση :func:`format` και κατ' επέκταση, " +"αξιολόγηση των :ref:`formatted string literals ` και της μεθόδου :" +"meth:`str.format`, για την παραγωγή μιας \"μορφοποιημένης\" συμβολοσειράς " +"αναπαράστασης ενός αντικειμένου. Το όρισμα *format_spec* είναι μια " +"συμβολοσειρά που περιέχει μια περιγραφή των επιλογών μορφοποίησης που " +"επιθυμείτε. Η ερμηνεία του ορίσματος *format_spec* εξαρτάται από τον τύπο " +"που υλοποιεί τη :meth:`__format__`, ωστόσο οι περισσότερες κλάσεις είτε θα " +"αναθέσουν τη μορφοποίηση σε έναν από τους ενσωματωμένους τύπους είτε θα " +"χρησιμοποιήσουν παρόμοια σύνταξη επιλογής μορφοποίησης." #: reference/datamodel.rst:2088 msgid "" "See :ref:`formatspec` for a description of the standard formatting syntax." msgstr "" +"Δείτε το :ref:`formatspec` για μια περιγραφή της τυπικής σύνταξης " +"μορφοποίησης." #: reference/datamodel.rst:2090 msgid "The return value must be a string object." -msgstr "" +msgstr "Η τιμή επιστροφής πρέπει να είναι αντικείμενο συμβολοσειράς." #: reference/datamodel.rst:2092 msgid "" "The default implementation by the :class:`object` class should be given an " "empty *format_spec* string. It delegates to :meth:`__str__`." msgstr "" +"Η προεπιλεγμένη υλοποίηση από την κλάση :class:`object` θα πρέπει να λάβει " +"μια κενή συμβολοσειρά *format_spec*. Αναθέτει την εντολή σε :meth:`__str__`." #: reference/datamodel.rst:2095 msgid "" "The __format__ method of ``object`` itself raises a :exc:`TypeError` if " "passed any non-empty string." msgstr "" +"Η ίδια μέθοδος __format__ του ``object`` κάνει raise μια :exc:`TypeError` " +"εάν περάσει οποιαδήποτε μη κενή συμβολοσειρά." #: reference/datamodel.rst:2099 msgid "" "``object.__format__(x, '')`` is now equivalent to ``str(x)`` rather than " "``format(str(x), '')``." msgstr "" +"Το ``object.__format__(x, '')`` είναι πλέον ισοδύναμο με το ``str(x)`` αντί " +"για το ``format(str(x), '')``." #: reference/datamodel.rst:2115 msgid "" @@ -2335,6 +3399,11 @@ msgid "" "``x!=y`` calls ``x.__ne__(y)``, ``x>y`` calls ``x.__gt__(y)``, and ``x>=y`` " "calls ``x.__ge__(y)``." msgstr "" +"Αυτές είναι οι λεγόμενες μέθοδοι \"πλούσιας σύγκρισης (rich comparison)\". Η " +"αντιστοιχία μεταξύ των συμβόλων των τελεστών και των ονομάτων των μεθόδων " +"έχει ως εξής: ``xy`` " +"καλεί ``x.__gt__(y)``, και ``x>=y`` καλεί ``x.__ge__(y)``." #: reference/datamodel.rst:2121 msgid "" @@ -2346,6 +3415,14 @@ msgid "" "statement), Python will call :func:`bool` on the value to determine if the " "result is true or false." msgstr "" +"Μια μέθοδος πλούσια σύγκρισης μπορεί να επιστρέψει το singleton :data:" +"`NotImplemented` εάν δεν υλοποιήσει τη λειτουργία για ένα δεδομένο ζεύγος " +"ορισμάτων. Σύμφωνα με τη σύμβαση, επιστρέφονται οι τιμές ``False`` και " +"``True`` για μια επιτυχημένη σύγκριση. Ωστόσο, αυτές οι μέθοδοι μπορούν αν " +"επιστρέψουν οποιαδήποτε τιμή, επομένως εάν ο τελεστής σύγκρισης " +"χρησιμοποιείται σε ένα Boolean περιβάλλον (π.χ., στη συνθήκη μιας πρότασης " +"``if``), η Python θα καλέσει τη συνάρτηση :func:`bool` στην τιμή για να " +"προσδιορίσει εάν το αποτέλεσμα είναι αληθές ή ψευδές." #: reference/datamodel.rst:2128 msgid "" @@ -2358,6 +3435,15 @@ msgid "" "``x<=y``. To automatically generate ordering operations from a single root " "operation, see :func:`functools.total_ordering`." msgstr "" +"Από προεπιλογή, το ``object`` υλοποιεί την :meth:`__eq__` χρησιμοποιώντας " +"την ``is``, επιστρέφοντας :data:`NotImplemented` σε περίπτωση ψευδούς " +"σύγκρισης: ``True if x is y else NotImplemented``. Για την :meth:`__ne__`, " +"από προεπιλογή αναθέτει σε :meth:`__eq__` και αντιστρέφει το αποτέλεσμα " +"εκτός αν είναι :data:`!NotImplemented`. Δεν υπάρχουν άλλες σιωπηρές σχέσεις " +"μεταξύ των τελεστών σύγκρισης ή των προεπιλεγμένων υλοποιήσεων∙ για " +"παράδειγμα, το αληθές του ``(x.__hash__``." msgstr "" +"Εάν μια κλάση που παρακάμπτει την :meth:`__eq__` χρειάζεται να διατηρήσει " +"την υλοποίηση της :meth:`__hash__` από μια γονική κλάση, ο διερμηνέας πρέπει " +"να ενημερωθεί ρητά για αυτό ορίζονται την ``__hash__ = ." +"__hash__``." #: reference/datamodel.rst:2213 msgid "" @@ -2468,6 +3621,12 @@ msgid "" "`TypeError` would be incorrectly identified as hashable by an " "``isinstance(obj, collections.abc.Hashable)`` call." msgstr "" +"Εάν μια κλάση που δεν παρακάμπτει τη :meth:`__eq__` επιθυμεί να καταστείλει " +"την υποστήριξη κατακερματισμού, θα πρέπει να συμπεριλάβει το ``__hash__ = " +"None`` στον ορισμός της κλάσης. Μια κλάση που ορίζει τη δικιά της :meth:" +"`__hash__` που κάνει raise μια :exc:`TypeError` θα αναγνωριστεί εσφαλμένα ως " +"μια κλάση που μπορεί να κατακερματιστεί από μια κλήση ``isinstance(obj, " +"collections.abc.Hashable)``." #: reference/datamodel.rst:2222 msgid "" @@ -2476,6 +3635,10 @@ msgid "" "constant within an individual Python process, they are not predictable " "between repeated invocations of Python." msgstr "" +"Από προεπιλογή, οι τιμές :meth:`__hash__` των αντικειμένων str και bytes " +"είναι \"salted\" με μια απρόβλεπτη τυχαία τιμή. Παρόλο που παραμένουν " +"σταθερές μέσα σε μια μεμονωμένη διεργασία Python, δεν είναι προβλέψιμες " +"μεταξύ επαναλαμβανόμενων κλήσεων της Python." #: reference/datamodel.rst:2227 msgid "" @@ -2484,6 +3647,11 @@ msgid "" "insertion, *O*\\ (*n*\\ :sup:`2`) complexity. See http://ocert.org/" "advisories/ocert-2011-003.html for details." msgstr "" +"Αυτό έχει ως στόχο να παρέχει προστασία από άρνηση υπηρεσίας που προκαλείται " +"από προσεκτικά επιλεγμένες εισόδους που εκμεταλλεύονται τη χειρότερη " +"περίπτωση απόδοσης μιας εισαγωγής ψηφίου, πολυπλοκότητας *O*\\ (*n*\\ :sup:" +"`2`). Δείτε http://ocert.org/advisories/ocert-2011-003.html για " +"λεπτομέρειες." #: reference/datamodel.rst:2232 msgid "" @@ -2491,14 +3659,17 @@ msgid "" "made guarantees about this ordering (and it typically varies between 32-bit " "and 64-bit builds)." msgstr "" +"Η αλλαγή των τιμών κατακερματισμού επηρεάζει τη σειρά επανάληψης των " +"συνόλων. Η Python δεν έχει δώσει ποτέ εγγυήσεις σχετικά με αυτήν τη σειρά " +"(και συνήθως ποικίλει μεταξύ εκδόσεων 32-bit και 64-bit)." #: reference/datamodel.rst:2236 msgid "See also :envvar:`PYTHONHASHSEED`." -msgstr "" +msgstr "Δείτε επίσης :envvar:`PYTHONHASHSEED`." #: reference/datamodel.rst:2238 msgid "Hash randomization is enabled by default." -msgstr "" +msgstr "Η τυχαιοποίηση κατακερματισμού είναι ενεργοποιημένη από προεπιλογή." #: reference/datamodel.rst:2246 msgid "" @@ -2509,10 +3680,17 @@ msgid "" "meth:`!__len__` nor :meth:`!__bool__` (which is true of the :class:`object` " "class itself), all its instances are considered true." msgstr "" +"Καλείται για την υλοποίηση ελέγχου τιμών αλήθειας και την ενσωματωμένη " +"λειτουργία ``bool()`` ∙ θα πρέπει να επιστρέφει ``False`` ή ``True``. Όταν " +"αυτή η μέθοδος δεν έχει οριστεί, καλείται η :meth:`~object.__len__`, εάν " +"έχει οριστεί, και το αντικείμενο θεωρείται αληθές εάν το αποτέλεσμα του " +"είναι μη μηδενικό. Εάν μια κλάση δεν ορίζει ούτε :meth:`!__len__` ούτε :" +"meth:`!__bool__`, (κάτι που ισχύει για την ίδια την κλάση :class:`object`), " +"όλα τα στιγμιότυπα της θεωρούνται αληθείς." #: reference/datamodel.rst:2257 msgid "Customizing attribute access" -msgstr "" +msgstr "Προσαρμογή πρόσβασης χαρακτηριστικών" #: reference/datamodel.rst:2259 msgid "" @@ -2520,6 +3698,9 @@ msgid "" "access (use of, assignment to, or deletion of ``x.name``) for class " "instances." msgstr "" +"Οι ακόλουθες μέθοδοι μπορούν αν οριστούν για την προσαρμογή της έννοιας της " +"πρόσβασης χαρακτηριστικών (χρήση, ανάθεση ή διαγραφή του ``x.name``) για " +"στιγμιότυπα κλάσης." #: reference/datamodel.rst:2267 msgid "" @@ -2531,6 +3712,14 @@ msgid "" "attribute value or raise an :exc:`AttributeError` exception. The :class:" "`object` class itself does not provide this method." msgstr "" +"Καλείται όταν η πρόσβαση προεπιλεγμένου χαρακτηριστικού αποτυγχάνει με μια :" +"exc:`AttributeError` (είτε η :meth:`__getattribute__` κάνει raise μια :exc:" +"`AttributeError` επειδή το *name* δεν είναι χαρακτηριστικό στιγμιοτύπου ή " +"χαρακτηριστικό στο δέντρο κλάσης για το ``self`` ∙ ή η :meth:`__get__` μια " +"ιδιότητας *name* κάνει raise μια :exc:`AttributeError`). Αυτή η μέθοδος θα " +"πρέπει είτε να επιστρέψει την (υπολογισμένη) τιμή του χαρακτηριστικού είτε " +"να κάνει raise μια εξαίρεση :exc:`AttributeError`. Η ίδια η κλάση :class:" +"`object` δεν παρέχει αυτήν τη μέθοδο." #: reference/datamodel.rst:2275 msgid "" @@ -2544,6 +3733,16 @@ msgid "" "object). See the :meth:`__getattribute__` method below for a way to " "actually get total control over attribute access." msgstr "" +"Σημειώστε ότι εάν το χαρακτηριστικό βρεθεί μέσω του κανονικού μηχανισμού, η :" +"meth:`__getattr__` δεν καλείται. (Αυτή είναι μια σκόπιμη ασυμμετρία μεταξύ " +"της :meth:`__getattr__` και της :meth:`__setattr__`.) Αυτό γίνεται τόσο για " +"λόγους αποδοτικότητας όσο και επειδή διαφορετικά η :meth:`__getattr__` δεν " +"θα είχε κανέναν τρόπο να έχει πρόσβαση σε άλλα χαρακτηριστικά του " +"στιγμιοτύπου. Σημειώστε ότι τουλάχιστον για τις μεταβλητές στιγμιοτύπου, " +"μπορείτε να αναλάβετε πλήρη έλεγχο εισάγοντας καμία τιμή στο λεξικό " +"χαρακτηριστικών στιγμιοτύπου (αλλά αντίθετα εισάγοντάς τις σε ένα άλλο " +"αντικείμενο). Δείτε την παρακάτω μέθοδο :meth:`__getattribute__` για έναν " +"τρόπο να έχετε πραγματικά πλήρη έλεγχο της πρόσβασης σε χαρακτηριστικά." #: reference/datamodel.rst:2288 msgid "" @@ -2556,6 +3755,16 @@ msgid "" "base class method with the same name to access any attributes it needs, for " "example, ``object.__getattribute__(self, name)``." msgstr "" +"Καλείται χωρίς προϋποθέσεις για την υλοποίηση της πρόσβασης σε " +"χαρακτηριστικά για στιγμιότυπα κλάσης. Αν η κλάση ορίζει επίσης τη μέθοδο :" +"meth:`__getattr__`, αυτή δεν θα κληθεί εκτός αν η :meth:`__getattribute__` " +"την καλέσει ρητά ή κάνει raise μια εξαίρεση :exc:`AttributeError`. Αυτή η " +"μέθοδος πρέπει να επιστρέφει την (υπολογισμένη) τιμή του χαρακτηριστικού ή " +"να κάνει raise μια εξαίρεση :exc:`AttributeError`. Για να αποφευχθεί η " +"ατέρμονη αναδρομή μέσα σε αυτή τη μέθοδο, η υλοποίηση της πρέπει πάντα να " +"καλεί τη μέθοδο της βασικής κλάσης με το ίδιο όνομα για να έχει πρόσβαση σε " +"οποιαδήποτε ιδιότητα χρειάζεται, για παράδειγμα ``object." +"__getattribute__(self, name)``." #: reference/datamodel.rst:2299 msgid "" @@ -2563,12 +3772,18 @@ msgid "" "result of implicit invocation via language syntax or :ref:`built-in " "functions `. See :ref:`special-lookup`." msgstr "" +"Αυτή η μέθοδος μπορεί ακόμα να παρακαμφθεί κατά την αναζήτηση ειδικών " +"μεθόδων ως αποτέλεσμα σιωπηρής επίκλησης μέσω σύνταξης γλώσσας ή :ref:`built-" +"in functions `. Βλ. :ref:`special-lookup`." #: reference/datamodel.rst:2306 msgid "" "For certain sensitive attribute accesses, raises an :ref:`auditing event " "` ``object.__getattr__`` with arguments ``obj`` and ``name``." msgstr "" +"Για συγκεκριμένες προσβάσεις ευαίσθητων χαρακτηριστικών, δημιουργεί ένα :ref:" +"`auditing event ` ``object.__getattr__`` με ορίσματα ``obj`` και " +"``name``." #: reference/datamodel.rst:2313 msgid "" @@ -2576,6 +3791,10 @@ msgid "" "the normal mechanism (i.e. store the value in the instance dictionary). " "*name* is the attribute name, *value* is the value to be assigned to it." msgstr "" +"Καλείται όταν επιχειρείται εκχώρηση χαρακτηριστικού. Αυτό καλείται αντί για " +"τον κανονικό μηχανισμό (δηλαδή αποθήκευση της τιμής στο λεξικό " +"στιγμιοτύπου). Το *name* είναι το όνομα του χαρακτηριστικού, *value* είναι η " +"τιμή που θα του εκχωρηθεί." #: reference/datamodel.rst:2317 msgid "" @@ -2583,6 +3802,9 @@ msgid "" "call the base class method with the same name, for example, ``object." "__setattr__(self, name, value)``." msgstr "" +"Εάν η :meth:`__setattr__` θέλει να εκχωρήσει σε ένα χαρακτηριστικό " +"στιγμιοτύπου, θα πρέπει να καλέσει τη μέθοδο της βασικής κλάσης με το ίδιο " +"όνομα, για παράδειγμα, ``object.__setattr__(self, name, value)``." #: reference/datamodel.rst:2323 msgid "" @@ -2590,6 +3812,9 @@ msgid "" "` ``object.__setattr__`` with arguments ``obj``, ``name``, " "``value``." msgstr "" +"Για ορισμένες εκχωρήσεις ευαίσθητων χαρακτηριστικών, γίνεται raise μια :ref:" +"`auditing event ` ``object.__setattr__`` με ορίσματα ``obj``, " +"``name``, ``value``." #: reference/datamodel.rst:2330 msgid "" @@ -2597,22 +3822,31 @@ msgid "" "This should only be implemented if ``del obj.name`` is meaningful for the " "object." msgstr "" +"Όπως η :meth:`__setattr__` αλλά για διαγραφή χαρακτηριστικών αντί για " +"ανάθεση. Αυτό θα πρέπει να εφαρμοστεί μόνο εάν το ``del obj.name`` έχει " +"νόημα για το αντικείμενο." #: reference/datamodel.rst:2335 msgid "" "For certain sensitive attribute deletions, raises an :ref:`auditing event " "` ``object.__delattr__`` with arguments ``obj`` and ``name``." msgstr "" +"Για ορισμένες διαγραφές ευαίσθητων χαρακτηριστικών, κάνει raise ένα :ref:" +"`auditing event ` ``object.__delattr__`` με ορίσματα ``obj`` και " +"``name``." #: reference/datamodel.rst:2342 msgid "" "Called when :func:`dir` is called on the object. An iterable must be " "returned. :func:`dir` converts the returned iterable to a list and sorts it." msgstr "" +"Καλείται όταν η :func:`dir` καλείται στο αντικείμενο. Πρέπει να επιστραφεί " +"ένα iterable. Η :func:`dir` μετατρέπει το iterable που επιστρέφεται σε λίστα " +"και τον ταξινομεί." #: reference/datamodel.rst:2347 msgid "Customizing module attribute access" -msgstr "" +msgstr "Προσαρμογή πρόσβασης χαρακτηριστικών module" #: reference/datamodel.rst:2354 msgid "" @@ -2625,6 +3859,16 @@ msgid "" "``__dict__`` before raising an :exc:`AttributeError`. If found, it is called " "with the attribute name and the result is returned." msgstr "" +"Οι ειδικές ονομασίες ``__getattr__`` και ``__dir__`` μπορούν επίσης να " +"χρησιμοποιηθούν για την προσαρμογή της πρόσβασης στα χαρακτηριστικά του " +"module. Η συνάρτηση ``__getattr__`` στο επίπεδο του module πρέπει να δέχεται " +"ένα όρισμα, το οποίο είναι το όνομα ενός χαρακτηριστικού, και να επιστρέφει " +"την υπολογισμένη τιμή ή να κάνει raise μια εξαίρεση :exc:`AttributeError`. " +"Εάν ένα χαρακτηριστικό δεν βρεθεί σε ένα αντικείμενο module μέσω της " +"κανονικής αναζήτησης, δηλαδή με τη μέθοδο :meth:`object.__getattribute__`, " +"τότε η μέθοδος ``__getattr__`` αναζητείται στο λεξικό ``__dict__`` του " +"module πριν γίνει raise η εξαίρεση :exc:`AttributeError`. Αν βρεθεί, " +"καλείται με το όνομα της ιδιότητας και το αποτέλεσμα επιστρέφεται." #: reference/datamodel.rst:2363 msgid "" @@ -2632,6 +3876,10 @@ msgid "" "of strings that represents the names accessible on module. If present, this " "function overrides the standard :func:`dir` search on a module." msgstr "" +"Η συνάρτηση ``__dir__`` δεν πρέπει να δέχεται ορίσματα και να επιστρέφει μια " +"επαναλαμβανόμενη σειρά συμβολοσειρών που αντιπροσωπεύει τα ονόματα που είναι " +"προσβάσιμα στο module. Εάν υπάρχει, αυτή η συνάρτηση παρακάμπτει την τυπική " +"αναζήτηση :func:`dir` σε ένα module." #: reference/datamodel.rst:2367 msgid "" @@ -2639,6 +3887,10 @@ msgid "" "attributes, properties, etc.), one can set the ``__class__`` attribute of a " "module object to a subclass of :class:`types.ModuleType`. For example::" msgstr "" +"Για μια πιο λεπτομερή προσαρμογή της συμπεριφοράς του module (ρύθμιση " +"χαρακτηριστικών, ιδιοτήτων κλπ.), μπορεί κανείς να ορίσει το χαρακτηριστικό " +"``__class__`` ενός αντικειμένου module σε μια υποκλάση :class:`types." +"ModuleType`. Για παράδειγμα::" #: reference/datamodel.rst:2371 msgid "" @@ -2655,6 +3907,18 @@ msgid "" "\n" "sys.modules[__name__].__class__ = VerboseModule" msgstr "" +"import sys\n" +"from types import ModuleType\n" +"\n" +"class VerboseModule(ModuleType):\n" +" def __repr__(self):\n" +" return f'Verbose {self.__name__}'\n" +"\n" +" def __setattr__(self, attr, value):\n" +" print(f'Setting {attr}...')\n" +" super().__setattr__(attr, value)\n" +"\n" +"sys.modules[__name__].__class__ = VerboseModule" #: reference/datamodel.rst:2385 msgid "" @@ -2663,26 +3927,31 @@ msgid "" "module globals (whether by code within the module, or via a reference to the " "module's globals dictionary) is unaffected." msgstr "" +"Ο καθορισμός του module ``__getattr__`` και η ρύθμιση του module " +"``__class__`` επηρεάζουν μόνο τις αναζητήσεις που πραγματοποιούνται με χρήση " +"της σύνταξης πρόσβασης χαρακτηριστικών -- η απευθείας πρόσβαση στα καθολικά " +"του module (είτε μέσω κώδικας εντός του module, είτε μέσω αναφοράς στο " +"λεξικό καθολικών του module) δεν επηρεάζεται." #: reference/datamodel.rst:2390 msgid "``__class__`` module attribute is now writable." -msgstr "" +msgstr "Το χαρακτηριστικό ``__class__`` του module είναι πλέον εγγράψιμο." #: reference/datamodel.rst:2393 msgid "``__getattr__`` and ``__dir__`` module attributes." -msgstr "" +msgstr "Τα χαρακτηριστικά ``__getattr__`` και ``__dir__`` του module." #: reference/datamodel.rst:2398 msgid ":pep:`562` - Module __getattr__ and __dir__" -msgstr "" +msgstr ":pep:`562` - Module __getattr__ and __dir__" #: reference/datamodel.rst:2399 msgid "Describes the ``__getattr__`` and ``__dir__`` functions on modules." -msgstr "" +msgstr "Περιγράφει τις συναρτήσεις ``__getattr__`` και ``__dir__`` σε modules." #: reference/datamodel.rst:2405 msgid "Implementing Descriptors" -msgstr "" +msgstr "Υλοποίηση Περιγραφέων" #: reference/datamodel.rst:2407 msgid "" @@ -2694,6 +3963,14 @@ msgid "" "the owner class' :attr:`~object.__dict__`. The :class:`object` class itself " "does not implement any of these protocols." msgstr "" +"Οι παρακάτω μέθοδοι ισχύουν μόνο όταν ένα στιγμιότυπο της κλάσης που " +"περιέχει τη μέθοδο (μια λεγόμενη κλάση *περιγραφέα*) εμφανίζεται μια " +"*ιδιοκτήτρια* κλάση (ο περιγραφέας πρέπει να βρίσκεται είτε στο λεξικό της " +"κλάσης της ιδιοκτήτριας είτε στο λεξικό κλάσης κάποιου από τους γονείς " +"της). Στα παρακάτω παραδείγματα, \"το χαρακτηριστικό\" αναφέρεται στο " +"χαρακτηριστικό του οποίου το όνομα είναι το κλειδί της ιδιότητας στο :attr:" +"`~object.__dict__` της ιδιοκτήτριας κλάσης. Η ίδια η κλάση :class:`object` " +"δεν υλοποιεί κανένα από αυτά τα πρωτόκολλα." #: reference/datamodel.rst:2417 msgid "" @@ -2703,12 +3980,20 @@ msgid "" "the attribute was accessed through, or ``None`` when the attribute is " "accessed through the *owner*." msgstr "" +"Καλείται για να ληφθεί η ιδιότητα της ιδιοκτήτρια κλάσης (πρόσβαση σε " +"χαρακτηριστικό κλάσης) ή ενός στιγμιοτύπου αυτή της κλάση (πρόσβαση σε " +"χαρακτηριστικό στιγμιοτύπου). Η προαιρετική παράμετρος *owner* είναι η " +"ιδιοκτήτρια κλάση, ενώ η *instance* είναι το στιγμιότυπο μέσω της οποίας " +"έγινε πρόσβαση στο χαρακτηριστικό, ή ``None`` όταν η πρόσβαση στο " +"χαρακτηριστικό έγινε μέσω της *owner*." #: reference/datamodel.rst:2423 msgid "" "This method should return the computed attribute value or raise an :exc:" "`AttributeError` exception." msgstr "" +"Αυτή η μέθοδος πρέπει να επιστρέφει την υπολογισμένη τιμή του " +"χαρακτηριστικού ή να κάνει raise μια :exc:`AttributeError` εξαίρεση." #: reference/datamodel.rst:2426 msgid "" @@ -2719,12 +4004,20 @@ msgid "" "implementation always passes in both arguments whether they are required or " "not." msgstr "" +"Το :PEP:`252` ορίζει ότι η μέθοδος :meth:`__get__` μπορεί να καλείται με ένα " +"ή δύο ορίσματα. Οι ενσωματωμένοι περιγραφείς της Python υποστηρίζουν αυτή " +"την προδιαγραφή∙ ωστόσο, είναι πιθανό κάποια εργαλεία τρίτων να έχουν " +"περιγραφείς που απαιτούν και τα δύο ορίσματα. Η ενσωματωμένη υλοποίηση της " +"Python για τη μέθοδο :meth:`__getattribute__` περνάει πάντα και τα δύο " +"ορίσματα, είτε είναι απαραίτητα είτε όχι." #: reference/datamodel.rst:2435 msgid "" "Called to set the attribute on an instance *instance* of the owner class to " "a new value, *value*." msgstr "" +"Καλείται για να οριστεί το χαρακτηριστικό σε ένα στιγμιότυπο *instance* της " +"ιδιοκτήτρια κλάσης σε μια νέα τιμή, *value*." #: reference/datamodel.rst:2438 msgid "" @@ -2732,17 +4025,24 @@ msgid "" "descriptor to a \"data descriptor\". See :ref:`descriptor-invocation` for " "more details." msgstr "" +"Σημείωση, η προσθήκη της :meth:`__set__` ή :meth:`__delete__` αλλάζει το " +"είδος του περιγραφέα σε έναν \"περιγραφέα δεδομένων\". Δείτε το :ref:" +"`descriptor-invocation` για περισσότερες λεπτομέρειες." #: reference/datamodel.rst:2444 msgid "" "Called to delete the attribute on an instance *instance* of the owner class." msgstr "" +"Καλείται για να διαγραφεί το χαρακτηριστικό σε ένα στιγμιότυπο *instance* " +"της ιδιοκτήτρια κλάσης." #: reference/datamodel.rst:2446 msgid "" "Instances of descriptors may also have the :attr:`!__objclass__` attribute " "present:" msgstr "" +"Τα στιγμιότυπα περιγραφέων μπορείς επίσης να έχουν διαθέσιμο το " +"χαρακτηριστικό :attr:`!__objclass__`:" #: reference/datamodel.rst:2451 msgid "" @@ -2754,10 +4054,18 @@ msgid "" "argument (for example, CPython sets this attribute for unbound methods that " "are implemented in C)." msgstr "" +"Το χαρακτηριστικό :attr:`!__objclass__` ερμηνεύεται από το module :mod:" +"`inspect` ως ένδειξη κλάσης στην οποία ορίστηκε το αντικείμενο (η κατάλληλη " +"ρύθμιση αυτής μπορεί να βοηθήσει στην ανάκτηση πληροφοριών κατά την εκτέλεση " +"για δυναμικά χαρακτηριστικά κλάσεων). Για αυτά που μπορούν να κληθούν, " +"μπορεί να υποδεικνύει ότι ένα στιγμιότυπο του δεδομένου τύπου (ή μιας " +"υποκλάσης του) αναμένεται ή απαιτείται ως το πρώτο όρισμα θέσεως (για " +"παράδειγμα, η CPython θέτει αυτήν την ιδιότητα για μη δεσμευμένες μεθόδους " +"που έχουν υλοποιηθεί σε C)." #: reference/datamodel.rst:2462 msgid "Invoking Descriptors" -msgstr "" +msgstr "Κλήση Descriptors" #: reference/datamodel.rst:2464 msgid "" @@ -2767,6 +4075,12 @@ msgid "" "`~object.__delete__`. If any of those methods are defined for an object, it " "is said to be a descriptor." msgstr "" +"Γενικά, ένας descriptor είναι ένα χαρακτηριστικό αντικειμένου με " +"\"συμπεριφορά δέσμευσης\", δηλαδή μια ιδιότητα της οποίας η πρόσβαση έχει " +"παρακαμφθεί μέσω μεθόδων του πρωτοκόλλου περιγραφέα :meth:`~object." +"__get__`, :meth:`~object.__set__`, και :meth:`~object.__delete__`. Αν " +"οποιαδήποτε από αυτές τις μεθόδους έχει οριστεί για ένα αντικείμενο, τότε το " +"αντικείμενο αυτό θεωρείται descriptor." #: reference/datamodel.rst:2470 msgid "" @@ -2775,6 +4089,12 @@ msgid "" "chain starting with ``a.__dict__['x']``, then ``type(a).__dict__['x']``, and " "continuing through the base classes of ``type(a)`` excluding metaclasses." msgstr "" +"Η προεπιλεγμένη συμπεριφορά για την πρόσβαση χαρακτηριστικών είναι η " +"ανάκτηση, ο ορισμός, ή η διαγραφή του χαρακτηριστικού από το λεξικό ενός " +"αντικειμένου. Για παράδειγμα, το ``a.x`` έχει μια αλυσίδα αναζήτησης που " +"ξεκινά με ``a.__dict__['x']``, στη συνέχεια με ``type(a).__dict__['x']`` και " +"συνεχίζει στις βασικές κατηγορίες του ``type(a)`` εξαιρουμένων των " +"μετακλάσεων." #: reference/datamodel.rst:2475 msgid "" @@ -2783,46 +4103,59 @@ msgid "" "descriptor method instead. Where this occurs in the precedence chain " "depends on which descriptor methods were defined and how they were called." msgstr "" +"Ωστόσο, εάν η τιμή αναζήτησης είναι ένα αντικείμενο που ορίζει μία από τις " +"μεθόδους περιγραφής, τότε η Python μπορεί να παρακάμψει την προεπιλεγμένη " +"συμπεριφορά και να επικαλεστεί τη μέθοδο περιγραφής. Το πού συμβαίνει αυτό " +"στην αλυσίδα προτεραιότητας εξαρτάται από το ποιες μέθοδοι περιγραφής " +"ορίστηκαν και πώς ονομάστηκαν." #: reference/datamodel.rst:2480 msgid "" "The starting point for descriptor invocation is a binding, ``a.x``. How the " "arguments are assembled depends on ``a``:" msgstr "" +"Το σημείο εκκίνηση για την επίκληση του περιγραφέα είναι ένα δεσμευτικό, ``a." +"x``. Ο τρόπος συναρμολόγησης των ορισμάτων εξαρτάται από το ``a``:" #: reference/datamodel.rst:2483 msgid "Direct Call" -msgstr "" +msgstr "Απευθείας Κλήση" #: reference/datamodel.rst:2484 msgid "" "The simplest and least common call is when user code directly invokes a " "descriptor method: ``x.__get__(a)``." msgstr "" +"Η απλούστερη και λιγότερο συνηθισμένη κλήση είναι όταν ο κωδικός χρήστη " +"καλεί απευθείας μια μέθοδο περιγραφής: ``x.__get__(a)``." #: reference/datamodel.rst:2487 msgid "Instance Binding" -msgstr "" +msgstr "Δέσμευση Στιγμιοτύπου" #: reference/datamodel.rst:2488 msgid "" "If binding to an object instance, ``a.x`` is transformed into the call: " "``type(a).__dict__['x'].__get__(a, type(a))``." msgstr "" +"Εάν δεσμεύεται σε ένα στιγμιότυπο αντικειμένου, το ``a.x`` μετατρέπεται στην " +"κλήση: ``type(a).__dict__['x'].__get__(a, type(a))``." #: reference/datamodel.rst:2491 msgid "Class Binding" -msgstr "" +msgstr "Δέσμευση Κλάσης" #: reference/datamodel.rst:2492 msgid "" "If binding to a class, ``A.x`` is transformed into the call: ``A." "__dict__['x'].__get__(None, A)``." msgstr "" +"Εάν δεσμεύεται σε μια κλάση, το ``A.x`` μετατρέπεται στην κλήση: ``A." +"__dict__['x'].__get__(None, A)``." #: reference/datamodel.rst:2495 msgid "Super Binding" -msgstr "" +msgstr "Υπερ-Δέσμευση" #: reference/datamodel.rst:2496 msgid "" @@ -2830,6 +4163,10 @@ msgid "" "for a base class ``B`` following ``A`` and then returns ``B.__dict__['x']." "__get__(a, A)``. If not a descriptor, ``x`` is returned unchanged." msgstr "" +"Μια διακεκομμένη αναζήτηση όπως ``super(A, a).x`` αναζητά το ``a.__class__." +"__mro__`` για μια βασική κλάση ``B`` μετά το ``A`` και, στη συνέχεια, " +"επιστρέφει το ``B.__dict__['x'].__get__(a, A)``. Εάν δεν είναι περιγραφέας, " +"το ``x`` επιστρέφεται αμετάβλητο." #: reference/datamodel.rst:2533 msgid "" @@ -2848,6 +4185,21 @@ msgid "" "dictionary. In contrast, non-data descriptors can be overridden by " "instances." msgstr "" +"Για δεσμεύσεις στιγμιοτύπου, η προτεραιότητα της κλήση του περιγραφέα " +"εξαρτάται από το ποιες μέθοδοι περιγραφέα έχουν οριστεί. Ένα περιγραφέας " +"μπορεί να ορίσει οποιονδήποτε συνδυασμό των :meth:`~object.__get__`, :meth:" +"`~object.__set__` και :meth:`~object.__delete__`. Αν δεν ορίσει τη μέθοδο :" +"meth:`!__get__`, τότε η πρόσβαση στην ιδιότητα θα επιστρέψει το ίδιο το " +"αντικείμενο του περιγραφέα, εκτός αν υπάρχει τιμή στο λεξικό στιγμιοτύπου " +"του αντικειμένου. Αν ο περιγραφέας ορίζει τη μέθοδο :meth:`!__set__` και/ή :" +"meth:`!__delete__`, θεωρείται περιγραφέας δεδομένων∙ αν δεν ορίζει καμία από " +"τις δύο, είναι μη-περιγραφέας δεδομένων. Συνήθως, οι περιγραφείς δεδομένων " +"ορίζουν και τις δύο :meth:`!__get__` και :meth:`!__set__`, ενώ οι μη-" +"περιγραφείς δεδομένων έχουν μόνο τη μέθοδο :meth:`!__get__`. Οι περιγραφείς " +"δεδομένων που έχουν ορίσει :meth:`!__get__` και :meth:`!__set__` (και/ή :" +"meth:`!__delete__`) υπερισχύουν πάντα από έναν επαναπροσδιορισμό στο λεξικό " +"στιγμιοτύπου. Αντίθετα, οι μη περιγραφείς δεδομένων μπορούν να παρακαμφθούν " +"από στιγμιότυπα." #: reference/datamodel.rst:2548 msgid "" @@ -2857,16 +4209,24 @@ msgid "" "methods. This allows individual instances to acquire behaviors that differ " "from other instances of the same class." msgstr "" +"Οι μέθοδοι Python (συμπεριλαμβανομένων εκείνων που είναι διακοσμημένες με :" +"func:`@staticmethod ` και :func:`@classmethod `) " +"υλοποιούνται ως περιγραφέα χωρίς δεδομένα. Αντίστοιχα, τα στιγμιότυπα " +"μπορούν να επαναπροσδιορίσουν και να παρακάμψουν μεθόδους. Αυτό επιτρέπει σε " +"μεμονωμένα στιγμιότυπα να αποκτήσουν συμπεριφορές που διαφέρουν από άλλα " +"στιγμιότυπα της ίδιας κλάσης." #: reference/datamodel.rst:2554 msgid "" "The :func:`property` function is implemented as a data descriptor. " "Accordingly, instances cannot override the behavior of a property." msgstr "" +"Η συνάρτηση :func:`property` υλοποιείται ως περιγραφέας δεδομένων. Συνεπώς, " +"οι περιπτώσεις δεν μπορούν να παρακάμψουν τη συμπεριφορά μιας ιδιότητας." #: reference/datamodel.rst:2561 msgid "__slots__" -msgstr "" +msgstr "__slots__" #: reference/datamodel.rst:2563 msgid "" @@ -2874,12 +4234,19 @@ msgid "" "and deny the creation of :attr:`~object.__dict__` and *__weakref__* (unless " "explicitly declared in *__slots__* or available in a parent.)" msgstr "" +"Το *__slots__* μας επιτρέπει να δηλώνουμε ρητά τα μέλη δεδομένων (όπως " +"ιδιότητες) και να αρνηθούμε τη δημιουργία των :attr:`~object.__dict__` και " +"*__weakref__* (εκτός εάν δηλώνεται ρητά στο *__slots__* ή είναι διαθέσιμο σε " +"έναν γονέα.)" #: reference/datamodel.rst:2567 msgid "" "The space saved over using :attr:`~object.__dict__` can be significant. " "Attribute lookup speed can be significantly improved as well." msgstr "" +"Ο χώρος που εξοικονομείται χρησιμοποιώντας :attr:`~object.__dict__` μπορεί " +"να είναι σημαντικός. Η ταχύτητα αναζήτησης χαρακτηριστικών μπορεί επίσης να " +"βελτιωθεί σημαντικά." #: reference/datamodel.rst:2572 msgid "" @@ -2888,10 +4255,15 @@ msgid "" "for the declared variables and prevents the automatic creation of :attr:" "`~object.__dict__` and *__weakref__* for each instance." msgstr "" +"Σε αυτήν την μεταβλητή κλάσης μπορεί να εκχωρηθεί μια συμβολοσειρά, iterable " +"ή ακολουθία συμβολοσειρών με ονόματα μεταβλητών που χρησιμοποιούνται από " +"στιγμιότυπα. Το *__slots__* διατηρεί χώρο για τις δηλωμένες μεταβλητές και " +"αποτρέπει την αυτόματη δημιουργία των :attr:`~object.__dict__` και " +"*__weakref__* για κάθε περίπτωση." #: reference/datamodel.rst:2581 msgid "Notes on using *__slots__*:" -msgstr "" +msgstr "Σημειώσεις σχετικά με τη χρήση *__slots__*:" #: reference/datamodel.rst:2583 msgid "" @@ -2899,6 +4271,9 @@ msgid "" "__dict__` and *__weakref__* attribute of the instances will always be " "accessible." msgstr "" +"Όταν γίνεται κληρονομιά από μια κλάση χωρίς *__slots__*, το χαρακτηριστικό :" +"attr:`~object.__dict__` και *__weakref__* των στιγμιοτύπων θα είναι πάντα " +"προσβάσιμο." #: reference/datamodel.rst:2587 msgid "" @@ -2908,6 +4283,12 @@ msgid "" "assignment of new variables is desired, then add ``'__dict__'`` to the " "sequence of strings in the *__slots__* declaration." msgstr "" +"Χωρίς μια μεταβλητή :attr:`~object.__dict__`, τα στιγμιότυπα δεν μπορούν να " +"αντιστοιχιστούν σε νέες μεταβλητές που δεν αναφέρονται στον ορισμό " +"*__slots__*. Οι προσπάθειες αντιστοίχισης σε ένα όνομα μεταβλητής εκτός " +"λίστας κάνουν raise τη :exc:`AttributeError`. Εάν είναι επιθυμητή η δυναμική " +"αντιστοίχιση νέων μεταβλητών, τότε προσθέστε το ``'__dict__'`` στην " +"ακολουθία συμβολοσειρών στη δήλωση *__slots__*." #: reference/datamodel.rst:2594 msgid "" @@ -2916,6 +4297,11 @@ msgid "" "instances. If weak reference support is needed, then add ``'__weakref__'`` " "to the sequence of strings in the *__slots__* declaration." msgstr "" +"Χωρίς μια μεταβλητή *__weakref__* για κάθε στιγμιότυπο, οι κλάσεις που " +"ορίζουν *__slots__* δεν υποστηρίζουν :mod:`weak references ` στα " +"στιγμιότυπα τους. Εάν απαιτείται αδύναμη υποστήριξη για αδύναμες αναφορές, " +"τότε προσθέστε το ``'__weakref__'`` στην ακολουθία των συμβολοσειρών στη " +"δήλωση των *__slots__*." #: reference/datamodel.rst:2600 msgid "" @@ -2924,6 +4310,12 @@ msgid "" "be used to set default values for instance variables defined by *__slots__*; " "otherwise, the class attribute would overwrite the descriptor assignment." msgstr "" +"Τα *__slots__* υλοποιούνται σε επίπεδα κλάσης με τη δημιουργία :ref:" +"`descriptors ` για κάθε όνομα μεταβλητής. Ως ένα αποτέλεσμα, " +"οι ιδιότητες της κλάσης δεν μπορούν να χρησιμοποιηθούν για να ορίσουν " +"προεπιλεγμένες τιμές για μεταβλητές στιγμιοτύπων που έχουν δηλωθεί μέσω " +"*__slots__* ∙ διαφορετικά, το χαρακτηριστικό της κλάσης θα αντικαθιστούσε " +"την ανάθεση του descriptor." #: reference/datamodel.rst:2606 msgid "" @@ -2933,6 +4325,12 @@ msgid "" "and *__weakref__* unless the subclass also defines *__slots__* (which should " "only contain names of any *additional* slots)." msgstr "" +"Η ενέργεια μιας δήλωσης *__slots__* δεν περιορίζεται μόνο στην κλάση όπου " +"ορίζεται. Τα *__slots__* που δηλώνονται σε γονικές κλάσεις είναι διαθέσιμα " +"και στις θυγατρικές κλάσεις. Ωστόσο, οι θυγατρικές κλάσεις θα αποκτήσουν " +"ένα :attr:`~object.__dict__` και *__weakref__*, εκτός αν δηλώσουν και οι " +"ίδιες *__slots__* (τα οποία θα πρέπει να περιέχουν μόνο τα *επιπλέον* " +"ονόματα slots)." #: reference/datamodel.rst:2612 msgid "" @@ -2942,6 +4340,11 @@ msgid "" "meaning of the program undefined. In the future, a check may be added to " "prevent this." msgstr "" +"Αν μια κλάση ορίσει ένα slot που έχει ήδη οριστεί σε μια γονική κλάση, τότε " +"η μεταβλητή στιγμιοτύπου που ορίζεται από το slot της γονικής κλάσης γίνεται " +"μη προσβάσιμη (εκτός αν ανακτηθεί απευθείας ο descriptor της από τη γονική " +"κλάση). Αυτό καθιστά το νόημα του προγράμματος ασαφές. Στο μέλλον, μπορεί " +"να προστεθεί έλεγχος που να αποτρέπει κάτι τέτοιο." #: reference/datamodel.rst:2617 msgid "" @@ -2950,10 +4353,16 @@ msgid "" "` such as :class:`int`, :class:`bytes`, and :class:" "`tuple`." msgstr "" +"Θα γίνει raise :exc:`TypeError` αν οριστούν μη κενά *__slots__* σε μια κλάση " +"που προέρχεται από έναν :c:member:`\"variable-length\" ενσωματωμένο τύπο " +"`, όπως οι :class:`int`, :class:`bytes`, και :" +"class:`tuple`." #: reference/datamodel.rst:2622 msgid "Any non-string :term:`iterable` may be assigned to *__slots__*." msgstr "" +"Οποιαδήποτε μη συμβολοσειρά :term:`iterable` μπορεί να εκχωρηθεί σε " +"*__slots__*." #: reference/datamodel.rst:2624 msgid "" @@ -2962,12 +4371,20 @@ msgid "" "can be used to provide per-attribute docstrings that will be recognised by :" "func:`inspect.getdoc` and displayed in the output of :func:`help`." msgstr "" +"Αν χρησιμοποιηθεί μια :class:`dictionary ` για την ανάθεση των " +"*__slots__*, τα κλειδιά του λεξικού θα χρησιμοποιηθούν ως ονόματα των slots. " +"Οι τιμές του λεξικού μπορούν να χρησιμοποιηθούν για να παρέχουν τεκμηρίωση " +"(docstrings) για κάθε ιδιότητα ξεχωριστά, η οποία θα αναγνωρίζεται από τη " +"συνάρτηση :func:`inspect.getdoc` και θα εμφανίζεται στην έξοδο της :func:" +"`help`." #: reference/datamodel.rst:2629 msgid "" ":attr:`~object.__class__` assignment works only if both classes have the " "same *__slots__*." msgstr "" +"Η ανάθεση στη :attr:`~instance.__class__` λειτουργεί μόνο αν και οι δύο " +"κλάσεις έχουν τα ίδια *__slots__*." #: reference/datamodel.rst:2632 msgid "" @@ -2976,6 +4393,11 @@ msgid "" "created by slots (the other bases must have empty slot layouts) - violations " "raise :exc:`TypeError`." msgstr "" +"Το :ref:`Multiple inheritance ` με πολλαπλές γονικές κλάσεις " +"που χρησιμοποιούν __slots__ μπορεί να χρησιμοποιηθεί, αλλά επιτρέπεται μόνο " +"ένας γονέας να έχει ορίσει ιδιότητες μέσω των slots (οι υπόλοιπες γονικές " +"κλάσεις πρέπει να έχουν κενή διάταξη slots) - παραβιάσεις αυτού κάνουν " +"raise :exc:`TypeError`." #: reference/datamodel.rst:2638 msgid "" @@ -2983,10 +4405,13 @@ msgid "" "created for each of the iterator's values. However, the *__slots__* " "attribute will be an empty iterator." msgstr "" +"Εάν χρησιμοποιείται ένας :term:`iterator` για *__slots__* τότε δημιουργείται " +"ένας :term:`descriptor` για κάθε μία από τις τιμές του iterator. Ωστόσο, το " +"χαρακτηριστικό *__slots__* θα είναι ένας κενός iterator." #: reference/datamodel.rst:2646 msgid "Customizing class creation" -msgstr "" +msgstr "Προσαρμογή δημιουργίας κλάσης" #: reference/datamodel.rst:2648 msgid "" @@ -2997,6 +4422,13 @@ msgid "" "specific class they're applied to, ``__init_subclass__`` solely applies to " "future subclasses of the class defining the method." msgstr "" +"Όποτε μια κλάση κληρονομεί από μια άλλη κλάση, τη :meth:`~object." +"__init_subclass__` καλείται μια γονική κλάση. Με αυτόν τον τρόπο, είναι " +"δυνατόν να γραφτούν κλάσεις που αλλάζουν τη συμπεριφορά των υποκλάσεων. Αυτό " +"σχετίζεται στενά με τους decorators των κλάσεων, αλλά όπου οι decorators " +"κλάσεων επηρεάζουν μόνο τη συγκεκριμένη κλάση στην οποία εφαρμόζονται, το " +"``__init_subclass__`` ισχύει αποκλειστικά για μελλοντικές υποκλάσεις της " +"κλάσης που ορίζουν τη μέθοδο." #: reference/datamodel.rst:2657 msgid "" @@ -3004,6 +4436,9 @@ msgid "" "then the new subclass. If defined as a normal instance method, this method " "is implicitly converted to a class method." msgstr "" +"Αυτή η μέθοδος καλείται κάθε φορά που η κλάση περιέχει υποκλάση. Το *cls* " +"είναι τότε η νέα υποκλάση. Εάν οριστεί ως μια κανονική μέθοδος στιγμιοτύπου, " +"αυτή η μέθοδος μετατρέπεται σιωπηρά σε μέθοδο κλάσης." #: reference/datamodel.rst:2661 msgid "" @@ -3012,6 +4447,10 @@ msgid "" "``__init_subclass__``, one should take out the needed keyword arguments and " "pass the others over to the base class, as in::" msgstr "" +"Τα ορίσματα λέξεων-κλειδιών που δίνονται σε μια νέα κλάση μεταβιβάζονται στη " +"``__init_subclass__``. Για συμβατότητα με άλλες κλάσεις που χρησιμοποιούν " +"``__init_subclass__``, θα πρέπει να αφαιρεθούν τα απαραίτητα ορίσματα λέξεων-" +"κλειδιών και να περάσουν τα άλλα στη βασική κλάση, όπως στο::" #: reference/datamodel.rst:2667 msgid "" @@ -3023,12 +4462,21 @@ msgid "" "class AustralianPhilosopher(Philosopher, default_name=\"Bruce\"):\n" " pass" msgstr "" +"class Philosopher:\n" +" def __init_subclass__(cls, /, default_name, **kwargs):\n" +" super().__init_subclass__(**kwargs)\n" +" cls.default_name = default_name\n" +"\n" +"class AustralianPhilosopher(Philosopher, default_name=\"Bruce\"):\n" +" pass" #: reference/datamodel.rst:2675 msgid "" "The default implementation ``object.__init_subclass__`` does nothing, but " "raises an error if it is called with any arguments." msgstr "" +"Η προεπιλεγμένη υλοποίηση ``object.__init_subclass__`` δεν κάνει τίποτα, " +"αλλά δημιουργεί ένα σφάλμα εάν καλείται με οποιαδήποτε ορίσματα." #: reference/datamodel.rst:2680 msgid "" @@ -3037,24 +4485,35 @@ msgid "" "actual metaclass (rather than the explicit hint) can be accessed as " "``type(cls)``." msgstr "" +"Η υπόδειξη μετακλάσης ``metaclass`` καταναλώνεται από τα υπόλοιπα μηχανήματα " +"τύπου και δεν μεταβιβάζεται ποτέ στις υλοποιήσεις ``__init_subclass__``. Η " +"πραγματική μετακλάση (και όχι η ρητή υπόδειξη) μπορεί να προσπελαστεί ως " +"``type(cls)``." #: reference/datamodel.rst:2688 msgid "" "When a class is created, :meth:`type.__new__` scans the class variables and " "makes callbacks to those with a :meth:`~object.__set_name__` hook." msgstr "" +"Όταν δημιουργείται μια κλάση, η :meth:`type.__new__` σαρώνει τις μεταβλητές " +"κλάσης και πραγματοποιεί επανάκληση σε εκείνες με ένα :meth:`~object." +"__set_name__` hook." #: reference/datamodel.rst:2693 msgid "" "Automatically called at the time the owning class *owner* is created. The " "object has been assigned to *name* in that class::" msgstr "" +"Καλείται αυτόματα τη στιγμή που δημιουργείται η ιδιοκτήτρια κλάση *owner*. " +"Το αντικείμενο έχει εκχωρηθεί στο *name* σε αυτήν την κλάση::" #: reference/datamodel.rst:2696 msgid "" "class A:\n" " x = C() # Automatically calls: x.__set_name__(A, 'x')" msgstr "" +"class A:\n" +" x = C() # Automatically calls: x.__set_name__(A, 'x')" #: reference/datamodel.rst:2699 msgid "" @@ -3062,6 +4521,9 @@ msgid "" "`__set_name__` will not be called automatically. If needed, :meth:" "`__set_name__` can be called directly::" msgstr "" +"Εάν η μεταβλητή κλάσης εκχωρηθεί μετά τη δημιουργία της κλάσης, η :meth:" +"`__set_name__` δεν θα κληθεί αυτόματα. Εάν χρειάζεται, η :meth:" +"`__set_name__` μπορεί να κληθεί απευθείας::" #: reference/datamodel.rst:2703 msgid "" @@ -3072,14 +4534,20 @@ msgid "" "A.x = c # The hook is not called\n" "c.__set_name__(A, 'x') # Manually invoke the hook" msgstr "" +"class A:\n" +" pass\n" +"\n" +"c = C()\n" +"A.x = c # The hook is not called\n" +"c.__set_name__(A, 'x') # Manually invoke the hook" #: reference/datamodel.rst:2710 msgid "See :ref:`class-object-creation` for more details." -msgstr "" +msgstr "Δείτε το :ref:`class-object-creation` για περισσότερες λεπτομέρειες." #: reference/datamodel.rst:2718 msgid "Metaclasses" -msgstr "" +msgstr "Μετα-κλάσεις" #: reference/datamodel.rst:2725 msgid "" @@ -3087,6 +4555,9 @@ msgid "" "executed in a new namespace and the class name is bound locally to the " "result of ``type(name, bases, namespace)``." msgstr "" +"Από προεπιλογή, οι κλάσεις κατασκευάζονται χρησιμοποιώντας :func:`type`. Το " +"σώμα κλάσης εκτελείται σε νέο χώρο ονομάτων και το όνομα της κλάσης " +"συνδέεται τοπικά με το αποτέλεσμα του ``type(name, bases, namespace)``." #: reference/datamodel.rst:2729 msgid "" @@ -3095,6 +4566,11 @@ msgid "" "existing class that included such an argument. In the following example, " "both ``MyClass`` and ``MySubclass`` are instances of ``Meta``::" msgstr "" +"Η διαδικασία δημιουργία κλάσης μπορεί να προσαρμοστεί μεταβιβάζοντας το " +"όρισμα λέξης-κλειδιού ``metaclass`` στη γραμμή ορισμού κλάσης ή " +"κληρονομώντας από μια υπάρχουσα κλάση που περιλάμβανε ένα τέτοιο όρισμα. Στο " +"παρακάτω παράδειγμα, τόσο το ``MyClass`` και ``MySubclass`` είναι " +"περιπτώσεις του ``Meta``::" #: reference/datamodel.rst:2734 msgid "" @@ -3107,40 +4583,50 @@ msgid "" "class MySubclass(MyClass):\n" " pass" msgstr "" +"class Meta(type):\n" +" pass\n" +"\n" +"class MyClass(metaclass=Meta):\n" +" pass\n" +"\n" +"class MySubclass(MyClass):\n" +" pass" #: reference/datamodel.rst:2743 msgid "" "Any other keyword arguments that are specified in the class definition are " "passed through to all metaclass operations described below." msgstr "" +"Οποιαδήποτε άλλα ορίσματα λέξης-κλειδιού που καθορίζονται στον ορισμό κλάσης " +"μεταβιβάζονται σε όλες τις λειτουργίες μετακλάσης που περιγράφονται παρακάτω." #: reference/datamodel.rst:2746 msgid "When a class definition is executed, the following steps occur:" -msgstr "" +msgstr "Όταν εκτελείται ένας ορισμός κλάσης, εμφανίζονται τα ακόλουθα βήματα:" #: reference/datamodel.rst:2748 msgid "MRO entries are resolved;" -msgstr "" +msgstr "Οι εγγραφές MRO επιλύονται∙" #: reference/datamodel.rst:2749 msgid "the appropriate metaclass is determined;" -msgstr "" +msgstr "καθορίζεται η κατάλληλη μετακλάση∙" #: reference/datamodel.rst:2750 msgid "the class namespace is prepared;" -msgstr "" +msgstr "προετοιμάζεται ο χώρος ονομάτων της κλάσης∙" #: reference/datamodel.rst:2751 msgid "the class body is executed;" -msgstr "" +msgstr "εκτελείται το σώμα της κλάσης∙" #: reference/datamodel.rst:2752 msgid "the class object is created." -msgstr "" +msgstr "δημιουργείται το αντικείμενο της κλάσης." #: reference/datamodel.rst:2756 msgid "Resolving MRO entries" -msgstr "" +msgstr "Επίλυση εγγραφών MRO" #: reference/datamodel.rst:2760 msgid "" @@ -3153,58 +4639,75 @@ msgid "" "the base. The returned tuple may be empty: in these cases, the original base " "is ignored." msgstr "" +"Εάν μια βάση που εμφανίζεται σε ένα ορισμό κλάσης δεν είναι ένα στιγμιότυπο " +"της :class:`type`, τότε γίνεται αναζήτηση στη βάση μιας :meth:`!" +"__mro_entries__` μεθόδου. Εάν βρεθεί μια μέθοδος :meth:`!__mro_entries__`, η " +"βάση αντικαθίσταται με το αποτέλεσμα μιας κλήσης στο :meth:`!" +"__mro_entries__` κατά τη δημιουργία της κλάσης. Η μέθοδος καλείται με την " +"αρχική πλειάδα βάσεων μεταβιβασμένη στην παράμετρο *bases* και πρέπει να " +"επιστρέψει μια πλειάδα κλάσεων που θα χρησιμοποιηθούν αντί για τη βάση. Η " +"πλειάδα που επιστράφηκε μπορεί να είναι κενή: σε αυτές τις περιπτώσεις, η " +"αρχική βάση αγνοείται." #: reference/datamodel.rst:2771 msgid ":func:`types.resolve_bases`" -msgstr "" +msgstr ":func:`types.resolve_bases`" #: reference/datamodel.rst:2772 msgid "Dynamically resolve bases that are not instances of :class:`type`." -msgstr "" +msgstr "Επιλύστε δυναμικά βάσεις που δεν είναι στιγμιότυπα του :class:`type`." #: reference/datamodel.rst:2774 msgid ":func:`types.get_original_bases`" -msgstr "" +msgstr ":func:`types.get_original_bases`" #: reference/datamodel.rst:2775 msgid "" "Retrieve a class's \"original bases\" prior to modifications by :meth:" "`~object.__mro_entries__`." msgstr "" +"Ανακτήσετε τις \"αρχικές βάσεις\" μιας κλάσης πριν από τις τροποποιήσεις " +"από :meth:`~object.__mro_entries__`." #: reference/datamodel.rst:2778 msgid ":pep:`560`" -msgstr "" +msgstr ":pep:`560`" #: reference/datamodel.rst:2779 msgid "Core support for typing module and generic types." -msgstr "" +msgstr "Βασική υποστήριξη για modules τύπων και γενικούς τύπους." #: reference/datamodel.rst:2783 msgid "Determining the appropriate metaclass" -msgstr "" +msgstr "Προσδιορισμός της κατάλληλης μετακλάσης" #: reference/datamodel.rst:2787 msgid "" "The appropriate metaclass for a class definition is determined as follows:" -msgstr "" +msgstr "Η κατάλληλη μετακλάση για έναν ορισμό κλάσης καθορίζεται ως εξής:" #: reference/datamodel.rst:2789 msgid "" "if no bases and no explicit metaclass are given, then :func:`type` is used;" msgstr "" +"εάν δεν δίνονται βάσεις και καμία ρητή μετακλάση, τότε χρησιμοποιείται η :" +"func:`type` ∙" #: reference/datamodel.rst:2790 msgid "" "if an explicit metaclass is given and it is *not* an instance of :func:" "`type`, then it is used directly as the metaclass;" msgstr "" +"εάν δοθεί μια ρητή μετακλάση και *δεν* είναι ένα στιγμιότυπο της :func:" +"`type`, τότε χρησιμοποιείται απευθείας ως μετακλάση∙" #: reference/datamodel.rst:2792 msgid "" "if an instance of :func:`type` is given as the explicit metaclass, or bases " "are defined, then the most derived metaclass is used." msgstr "" +"εάν ένα στιγμιότυπο της :func:`type` δίνεται ως ρητή μετακλάση ή ορίζονται " +"βάσεις, τότε χρησιμοποιείται η πιο παραγόμενη μετακλάση." #: reference/datamodel.rst:2795 msgid "" @@ -3214,10 +4717,16 @@ msgid "" "of these candidate metaclasses. If none of the candidate metaclasses meets " "that criterion, then the class definition will fail with ``TypeError``." msgstr "" +"Η πιο παραγόμενη μετακλάση επιλέγεται από τη ρητά καθορισμένη μετακλάση (εάν " +"υπάρχει) και τις μετακλάσεις (δηλαδή ``type(cls)``) όλων των καθορισμένων " +"βασικών κλάσεων. Η πιο παραγόμενη μετακλάση είναι αυτή που είναι υπο-τύπος " +"*όλων* αυτών των υποψήφιων μετακλάσεων. Εάν καμία από τις υποψήφιες " +"μετακλάσεις δεν πληροί αυτό το κριτήριο, τότε ο ορισμός της κλάσης θα " +"αποτύχει με ``TypeError``." #: reference/datamodel.rst:2805 msgid "Preparing the class namespace" -msgstr "" +msgstr "Προετοιμασία του χώρου ονομάτων της κλάσης" #: reference/datamodel.rst:2810 msgid "" @@ -3230,24 +4739,35 @@ msgid "" "``__new__``, but when the final class object is created the namespace is " "copied into a new ``dict``." msgstr "" +"Μόλις εντοπιστεί η κατάλληλη μετακλάση, τότε προετοιμάζεται ο χώρος ονομάτων " +"της κλάσης. Εάν η μετακλάση έχει ένα χαρακτηριστικό ``__prepare__``, " +"ονομάζεται ``namespace = metaclass.__prepare__(name, bases, **kwds)`` (όπου " +"τα πρόσθετα ορίσματα λέξης-κλειδιού, εάν υπάρχουν, προέρχονται από τον " +"ορισμό της κλάσης). Η μέθοδος ``__prepare__`` θα πρέπει να υλοποιηθεί ως " +"μέθοδος :func:`classmethod `. Ο χώρος ονομάτων που επιστρέφεται " +"από το ``__prepare__`` μεταβιβάζεται στο ``__new__``, αλλά όταν " +"δημιουργείται το τελικό αντικείμενο κλάσης, ο χώρος ονομάτων αντιγράφεται σε " +"ένα νέο ``dict``." #: reference/datamodel.rst:2819 msgid "" "If the metaclass has no ``__prepare__`` attribute, then the class namespace " "is initialised as an empty ordered mapping." msgstr "" +"Εάν η μετακλάση δεν έχει χαρακτηριστικό ``__prepare__``, τότε ο χώρος " +"ονομάτων κλάσης αρχικοποιείται ως κενή ταξινομημένη αντιστοίχιση." #: reference/datamodel.rst:2824 msgid ":pep:`3115` - Metaclasses in Python 3000" -msgstr "" +msgstr ":pep:`3115` - Μετακλάσεις στην Python 3000" #: reference/datamodel.rst:2825 msgid "Introduced the ``__prepare__`` namespace hook" -msgstr "" +msgstr "Παρουσιάστηκε το άγκιστρο χώρου ονομάτων ``__prepare__``" #: reference/datamodel.rst:2829 msgid "Executing the class body" -msgstr "" +msgstr "Εκτέλεση του σώματος της κλάσης" #: reference/datamodel.rst:2834 msgid "" @@ -3257,6 +4777,12 @@ msgid "" "names from the current and outer scopes when the class definition occurs " "inside a function." msgstr "" +"Το σώμα της κλάσης εκτελείται (περίπου) ως ``exec(body, globals(), " +"namespace)``. Η βασική διαφορά από μια κανονική κλήση στην :func:`exec` " +"είναι ότι το λεξικό πεδίο εφαρμογής επιτρέπει στο σώμα της κλάσης " +"(συμπεριλαμβανομένων οποιωνδήποτε μεθόδων) να παραπέμπει σε ονόματα από το " +"τρέχον και το εξωτερικό πεδίο εφαρμογής όταν ο ορισμός κλάσης εμφανίζεται " +"μέσα σε μια συνάρτηση." #: reference/datamodel.rst:2840 msgid "" @@ -3266,10 +4792,16 @@ msgid "" "class methods, or through the implicit lexically scoped ``__class__`` " "reference described in the next section." msgstr "" +"Ωστόσο, ακόμα και όταν ο ορισμός της κλάσης εμφανίζεται μέσα στη συνάρτηση, " +"οι μέθοδοι που ορίζονται μέσα στην κλάση εξακολουθούν να μην μπορούν να δουν " +"ονόματα που ορίζονται στο πεδίο της κλάσης. Οι μεταβλητές κλάσης πρέπει να " +"είναι προσβάσιμες μέσω της πρώτης παραμέτρου των μεθόδων στιγμιοτύπου ή " +"κλάσης ή μέσω της σιωπηρής αναφοράς ``__class__`` με λεξικό που περιγράφεται " +"στην επόμενη ενότητα." #: reference/datamodel.rst:2849 msgid "Creating the class object" -msgstr "" +msgstr "Δημιουργία αντικειμένου κλάσης" #: reference/datamodel.rst:2856 msgid "" @@ -3278,6 +4810,10 @@ msgid "" "**kwds)`` (the additional keywords passed here are the same as those passed " "to ``__prepare__``)." msgstr "" +"Μόλις ο χώρος ονομάτων της κλάσης έχει συμπληρωθεί εκτελώντας το σώμα της " +"κλάσης, το αντικείμενο της κλάσης δημιουργείται καλώντας ``metaclass(name, " +"bases, namespace, **kwds)`` (οι πρόσθετε λέξεις-κλειδιά που μεταβιβάζονται " +"εδώ είναι οι ίδιες με αυτές που διαβιβάζονται στο ``__prepare__``)." #: reference/datamodel.rst:2861 msgid "" @@ -3289,6 +4825,15 @@ msgid "" "scoping, while the class or instance that was used to make the current call " "is identified based on the first argument passed to the method." msgstr "" +"Αυτό το αντικείμενο κλάσης είναι αυτό που θα αναφέρεται με τη μορφή " +"μηδενικού ορίσματος του :func:`super`. Το ``__class__`` είναι μια σιωπηρή " +"αναφορά κλεισίματος που δημιουργείται από τον μεταγλωττιστή εάν οποιεσδήποτε " +"μέθοδοι σε ένα σώμα κλάσης αναφέρονται είτε σε ``__class__`` είτε σε " +"``super``. Αυτό επιτρέπει στη μορφή μηδενικού ορίσματος του :func:`super` να " +"προσδιορίζει σωστά την κλάση που ορίζεται με βάση το λεξικό πεδίο εφαρμογής, " +"ενώ η κλάση ή το παράδειγμα που χρησιμοποιήθηκε για την πραγματοποίηση της " +"τρέχουσας κλήσης προσδιορίζεται με βάση το πρώτο όρισμα που μεταβιβάστηκε " +"στη μέθοδο." #: reference/datamodel.rst:2871 msgid "" @@ -3298,6 +4843,12 @@ msgid "" "initialised correctly. Failing to do so will result in a :exc:`RuntimeError` " "in Python 3.8." msgstr "" +"Στη CPython 3.6 και μεταγενέστερα, το κελί ``__class__`` μεταβιβάζεται στην " +"μετακλάση ως μια καταχώρηση ``__classcell__`` στον χώρο ονομάτων της κλάσης. " +"Εάν υπάρχει, αυτό πρέπει να διαδοθεί μέχρι την κλήση ``type.__new__``, " +"προκειμένου η κλάση να έχει ως αποτέλεσμα να αρχικοποιηθεί σωστά ώστε να " +"γίνει σωστά. Αν δεν το κάνετε αυτό θα έχει ως αποτέλεσμα μια :exc:" +"`RuntimeError` στην Python 3.8." #: reference/datamodel.rst:2877 msgid "" @@ -3305,24 +4856,33 @@ msgid "" "ultimately calls ``type.__new__``, the following additional customization " "steps are invoked after creating the class object:" msgstr "" +"Κατά τη χρήση της προεπιλεγμένης μετακλάσης :class:`type` ή οποιασδήποτε " +"μετακλάσης που τελικά καλεί ``type.__new__``, τα ακόλουθα πρόσθετα βήματα " +"προσαρμογής καλούνται μετά τη δημιουργία του αντικείμενου κλάσης:" #: reference/datamodel.rst:2881 msgid "" "The ``type.__new__`` method collects all of the attributes in the class " "namespace that define a :meth:`~object.__set_name__` method;" msgstr "" +"Η μέθοδος ``type.__new__`` συλλέγει όλα τα χαρακτηριστικά στον χώρο ονομάτων " +"της κλάσης που ορίζουν μια μέθοδο :meth:`~object.__set_name__` ∙" #: reference/datamodel.rst:2883 msgid "" "Those ``__set_name__`` methods are called with the class being defined and " "the assigned name of that particular attribute;" msgstr "" +"Αυτές οι μέθοδοι ``__set_name__`` καλούνται με την κλάση που ορίζεται και το " +"εκχωρημένο όνομα του συγκεκριμένου χαρακτηριστικού∙" #: reference/datamodel.rst:2885 msgid "" "The :meth:`~object.__init_subclass__` hook is called on the immediate parent " "of the new class in its method resolution order." msgstr "" +"Το άγκιστρο :meth:`~object.__init_subclass__` καλείται στον άμεσο γονέα της " +"νέας κλάσης στη σειρά ανάλυσης της μεθόδου." #: reference/datamodel.rst:2888 msgid "" @@ -3330,6 +4890,10 @@ msgid "" "included in the class definition (if any) and the resulting object is bound " "in the local namespace as the defined class." msgstr "" +"Αφού δημιουργηθεί το αντικείμενο κλάσης, μεταβιβάζεται στους decorators " +"κλάσης που περιλαμβάνονται στον ορισμό της κλάσης (εάν υπάρχει) και το " +"αντικείμενο που προκύπτει δεσμεύεται στον τοπικό χώρο ονομάτων ως η " +"καθορισμένη κλάση." #: reference/datamodel.rst:2892 msgid "" @@ -3338,18 +4902,24 @@ msgid "" "object is discarded. The new copy is wrapped in a read-only proxy, which " "becomes the :attr:`~type.__dict__` attribute of the class object." msgstr "" +"Όταν δημιουργείται μια νέα κλάση από ``type.__new__``, το αντικείμενο που " +"παρέχεται ως παράμετρος στο χώρο ονομάτων αντιγράφεται σε μια νέα " +"ταξινομημένη αντιστοίχιση και το αρχικό αντικείμενο απορρίπτεται. Το νέο " +"αντίγραφο τυλίγεται σε έναν διακομιστή μεσολάβησης μόνο για ανάγνωση, ο " +"οποίος γίνεται το χαρακτηριστικό :attr:`~object.__dict__` του αντικειμένου " +"κλάσης." #: reference/datamodel.rst:2899 msgid ":pep:`3135` - New super" -msgstr "" +msgstr ":pep:`3135` - Νέο super" #: reference/datamodel.rst:2900 msgid "Describes the implicit ``__class__`` closure reference" -msgstr "" +msgstr "Περιγράφει την σιωπηρή αναφορά κλεισίματος ``__class__``" #: reference/datamodel.rst:2904 msgid "Uses for metaclasses" -msgstr "" +msgstr "Χρήσεις για μετακλάσεις" #: reference/datamodel.rst:2906 msgid "" @@ -3358,16 +4928,23 @@ msgid "" "automatic property creation, proxies, frameworks, and automatic resource " "locking/synchronization." msgstr "" +"Οι πιθανές χρήσεις για μετακλάσεις είναι απεριόριστες. Ορισμένες ιδέες που " +"έχουν διερευνηθεί περιλαμβάνουν το enum, την καταγραφή, τον έλεγχο διεπαφής, " +"την αυτόματα ανάθεση την αυτόματη δημιουργία ιδιοτήτων, τους διακομιστές " +"μεσολάβησης, τα πλαίσια και το αυτόματο κλείδωμα/συγχρονισμό πόρων." #: reference/datamodel.rst:2913 msgid "Customizing instance and subclass checks" -msgstr "" +msgstr "Προσαρμογή ελέγχων παρουσίας και υποκλάσης" #: reference/datamodel.rst:2915 msgid "" "The following methods are used to override the default behavior of the :func:" "`isinstance` and :func:`issubclass` built-in functions." msgstr "" +"Οι ακόλουθες μέθοδοι χρησιμοποιούνται για την παράκαμψη της προεπιλεγμένης " +"συμπεριφοράς των ενσωματωμένων συναρτήσεων :func:`isinstance` και :func:" +"`issubclass`." #: reference/datamodel.rst:2918 msgid "" @@ -3376,6 +4953,11 @@ msgid "" "base classes\" to any class or type (including built-in types), including " "other ABCs." msgstr "" +"Συγκεκριμένα, η μετακλάση :class:`abc.ABCMeta` υλοποιεί αυτές τις μεθόδους " +"προκειμένου να επιτρέψει την προσθήκη Αφηρημένων Βασικών Κλάσεων (ABCs) ως " +"\"εικονικές βασικές κλάσεις\" σε οποιαδήποτε κλάση ή τύπο " +"(συμπεριλαμβανομένων των ενσωματωμένων τύπων), συμπεριλαμβανομένων άλλων " +"ABCs." #: reference/datamodel.rst:2925 msgid "" @@ -3383,6 +4965,9 @@ msgid "" "instance of *class*. If defined, called to implement ``isinstance(instance, " "class)``." msgstr "" +"Επιστρέφετε true εάν το *instance* θα πρέπει να θεωρείται ένα (άμεσο ή " +"έμμεσο) στιγμιότυπο της *class*. Εάν ορίζεται, καλείται να υλοποιήσει " +"``isinstance(instance, class)``." #: reference/datamodel.rst:2932 msgid "" @@ -3390,6 +4975,9 @@ msgid "" "subclass of *class*. If defined, called to implement ``issubclass(subclass, " "class)``." msgstr "" +"Επιστρέφετε true εάν η *subclass* πρέπει να θεωρείται μια (άμεση ή έμμεση) " +"υποκλάση της *class*. Εάν ορίζεται, καλείται να υλοποιήσει " +"``issubclass(subclass, class)``." #: reference/datamodel.rst:2937 msgid "" @@ -3398,10 +4986,14 @@ msgid "" "consistent with the lookup of special methods that are called on instances, " "only in this case the instance is itself a class." msgstr "" +"Λάβετε υπόψη ότι αυτές οι μέθοδοι αναζητούνται στον τύπο (μετακλάση) μιας " +"κλάσης. Δεν μπορούν να οριστούν ως μέθοδοι κλάσης στην πραγματική κλάση. " +"Αυτό είναι σύμφωνο με την αναζήτηση ειδικών μεθόδων που καλούνται σε " +"στιγμιότυπα, μόνο σε αυτήν την περίπτωση το ίδιο στιγμιότυπο είναι μια κλάση." #: reference/datamodel.rst:2944 msgid ":pep:`3119` - Introducing Abstract Base Classes" -msgstr "" +msgstr ":pep:`3119` - Εισάγοντας τις Αφηρημένες Βασικές Κλάσεις" #: reference/datamodel.rst:2945 msgid "" @@ -3411,10 +5003,15 @@ msgid "" "context of adding Abstract Base Classes (see the :mod:`abc` module) to the " "language." msgstr "" +"Περιλαμβάνει την προδιαγραφή για την προσαρμογή της συμπεριφορά της :func:" +"`isinstance` και της :func:`issubclass` μέσω των :meth:`~class." +"__instancecheck__` και :meth:`~class.__subclasscheck__`, με κίνητρο για " +"αυτήν τη λειτουργικότητα στο πλαίσιο της προσθήκης Αφηρημένης Βασικής Κλάσης " +"(δείτε το module :mod:`abc`) στη γλώσσα." #: reference/datamodel.rst:2953 msgid "Emulating generic types" -msgstr "" +msgstr "Εξομοίωση γενικών τύπων" #: reference/datamodel.rst:2955 msgid "" @@ -3423,46 +5020,62 @@ msgid "" "notation. For example, the annotation ``list[int]`` might be used to signify " "a :class:`list` in which all the elements are of type :class:`int`." msgstr "" +"Όταν χρησιμοποιείτε το :term:`type annotations`, είναι συχνά " +"χρήσιμο να *παραμετροποιήσετε* έναν :term:`generic type` χρησιμοποιώντας τον " +"συμβολισμό σε αγκύλες της Python. Για παράδειγμα, το annotation " +"``list[int]`` μπορεί να χρησιμοποιηθεί για να υποδηλώσει μια :class:`list` " +"στην οποία όλα τα στοιχεία της κλάσης είναι τύπου :class:`int`." #: reference/datamodel.rst:2962 msgid ":pep:`484` - Type Hints" -msgstr "" +msgstr ":pep:`484` - Τύπος Hints" #: reference/datamodel.rst:2963 msgid "Introducing Python's framework for type annotations" -msgstr "" +msgstr "Εισάγοντας το πλαίσιο της Python για τύπους annotations" #: reference/datamodel.rst:2965 msgid ":ref:`Generic Alias Types`" -msgstr "" +msgstr ":ref:`Generic Alias Types`" #: reference/datamodel.rst:2966 msgid "Documentation for objects representing parameterized generic classes" msgstr "" +"Τεκμηρίωση για αντικείμενα που αντιπροσωπεύουν παραμετροποιημένες γενικές " +"κλάσεις" #: reference/datamodel.rst:2968 msgid "" ":ref:`Generics`, :ref:`user-defined generics` and :" "class:`typing.Generic`" msgstr "" +":ref:`Generics`, :ref:`user-defined generics` και :" +"class:`typing.Generic`" #: reference/datamodel.rst:2969 msgid "" "Documentation on how to implement generic classes that can be parameterized " "at runtime and understood by static type-checkers." msgstr "" +"Τεκμηρίωση για τον τρόπο υλοποίησης γενικών κλάσεων που μπορούν να " +"παραμετροποιηθούν κατά το χρόνο εκτέλεσης και να κατανοηθούν από στατικούς " +"ελεγκτές τύπων." #: reference/datamodel.rst:2972 msgid "" "A class can *generally* only be parameterized if it defines the special " "class method ``__class_getitem__()``." msgstr "" +"Μια κλάση *γενικά* μπορεί να παραμετροποιηθεί μόνο εάν ορίζει την ειδική " +"μέθοδο κλάσης ``__class_getitem__()``." #: reference/datamodel.rst:2977 msgid "" "Return an object representing the specialization of a generic class by type " "arguments found in *key*." msgstr "" +"Επιστρέφετε ένα αντικείμενο που αντιπροσωπεύει την εξειδίκευση μιας γενικής " +"κλάσης κατά ορίσματα τύπου που βρίσκονται στο *key*." #: reference/datamodel.rst:2980 msgid "" @@ -3470,10 +5083,13 @@ msgid "" "method. As such, there is no need for it to be decorated with :func:" "`@classmethod` when it is defined." msgstr "" +"Όταν ορίζεται σε μια κλάση, το ``__class_getitem__()`` είναι αυτόματα " +"μέθοδος κλάσης. Ως εκ τούτου, δεν χρειάζεται να γίνει decorated με :func:" +"`@classmethod` όταν ορίζεται." #: reference/datamodel.rst:2986 msgid "The purpose of *__class_getitem__*" -msgstr "" +msgstr "Ο σκοπός του *__class_getitem__*" #: reference/datamodel.rst:2988 msgid "" @@ -3481,6 +5097,10 @@ msgid "" "parameterization of standard-library generic classes in order to more easily " "apply :term:`type hints` to these classes." msgstr "" +"Ο σκοπός της :meth:`~object.__class_getitem__` είναι να επιτρέψει την " +"παραμετροποίηση χρόνου εκτέλεσης των γενικών κλάσεων τυπικής βιβλιοθήκης " +"προκειμένου να εφαρμοστούν πιο εύκολα :term:`type hints` σε αυτές " +"τις κλάσεις." #: reference/datamodel.rst:2992 msgid "" @@ -3490,6 +5110,12 @@ msgid "" "__class_getitem__`, or inherit from :class:`typing.Generic`, which has its " "own implementation of ``__class_getitem__()``." msgstr "" +"Για να εφαρμόσουν προσαρμοσμένες γενικές κλάσεις που μπορούν να " +"παραμετροποιηθούν κατά το χρόνο εκτέλεσης και να κατανοηθούν από στατικούς " +"ελεγκτές τύπων, οι χρήστες θα πρέπει είτε να κληρονομήσουν από μια τυπική " +"κλάση βιβλιοθήκης που ήδη υλοποιεί τη :meth:`~object.__class_getitem__`, " +"είτε να κληρονομήσουν από την :class:`typing.Generic`, η οποία έχει τη δική " +"της υλοποίηση του ``__class_getitem__()``." #: reference/datamodel.rst:2998 msgid "" @@ -3498,10 +5124,15 @@ msgid "" "type-checkers such as mypy. Using ``__class_getitem__()`` on any class for " "purposes other than type hinting is discouraged." msgstr "" +"Προσαρμοσμένες υλοποιήσεις της :meth:`~object.__class_getitem__` σε κλάσεις " +"που ορίζονται εκτός της τυπικής βιβλιοθήκης ενδέχεται να μην είναι " +"κατανοητές από ελεγκτές τύπων τρίτου μέρους, όπως το mypy. Η χρήση " +"``__class_getitem__()`` σε οποιαδήποτε κλάση για άλλους σκοπούς εκτός από " +"την υπόδειξη τύπων δεν ενθαρρύνεται." #: reference/datamodel.rst:3008 msgid "*__class_getitem__* versus *__getitem__*" -msgstr "" +msgstr "*__class_getitem__* έναντι *__getitem__*" #: reference/datamodel.rst:3010 msgid "" @@ -3512,6 +5143,13 @@ msgid "" "instead. ``__class_getitem__()`` should return a :ref:`GenericAlias` object if it is properly defined." msgstr "" +"Συνήθως, η :ref:`subscription` ενός αντικειμένου που " +"χρησιμοποιεί αγκύλες θα καλεί τη μέθοδο του στιγμιοτύπου :meth:`~object." +"__getitem__` που ορίζεται στην κλάση του αντικειμένου. Ωστόσο, εάν το " +"αντικείμενο που εγγράφεται είναι το ίδιο μια κλάση, η μέθοδος της κλάσης :" +"meth:`~object.__class_getitem__` μπορεί να κληθεί αντί να γίνει. Το " +"``__class_getitem__()`` θα πρέπει να επιστρέψει ένα αντικείμενο :ref:" +"`GenericAlias`, εάν έχει οριστεί σωστά." #: reference/datamodel.rst:3017 msgid "" @@ -3519,6 +5157,9 @@ msgid "" "follows something like the following process to decide whether :meth:" "`~object.__getitem__` or :meth:`~object.__class_getitem__` should be called::" msgstr "" +"Παρουσιάζεται με το :term:`expression` ``obj[x]``, ο διερμηνέας Python " +"ακολουθεί κάτι σαν την ακόλουθη διαδικασία για να αποφασίσει εάν θα πρέπει " +"να κληθεί :meth:`~object.__getitem__` ή :meth:`~object.__class_getitem__`::" #: reference/datamodel.rst:3022 msgid "" @@ -3545,6 +5186,28 @@ msgid "" " f\"'{class_of_obj.__name__}' object is not subscriptable\"\n" " )" msgstr "" +"from inspect import isclass\n" +"\n" +"def subscribe(obj, x):\n" +" \"\"\"Return the result of the expression 'obj[x]'\"\"\"\n" +"\n" +" class_of_obj = type(obj)\n" +"\n" +" # If the class of obj defines __getitem__,\n" +" # call class_of_obj.__getitem__(obj, x)\n" +" if hasattr(class_of_obj, '__getitem__'):\n" +" return class_of_obj.__getitem__(obj, x)\n" +"\n" +" # Else, if obj is a class and defines __class_getitem__,\n" +" # call obj.__class_getitem__(x)\n" +" elif isclass(obj) and hasattr(obj, '__class_getitem__'):\n" +" return obj.__class_getitem__(x)\n" +"\n" +" # Else, raise an exception\n" +" else:\n" +" raise TypeError(\n" +" f\"'{class_of_obj.__name__}' object is not subscriptable\"\n" +" )" #: reference/datamodel.rst:3045 msgid "" @@ -3555,6 +5218,12 @@ msgid "" "``dict[str, float]`` and ``tuple[str, bytes]`` all result in :meth:`~object." "__class_getitem__` being called::" msgstr "" +"Στην Python, όλες οι κλάσεις είναι οι ίδιες παρουσίες άλλων κλάσεων. Η κλάση " +"μιας κλάσης είναι γνωστή ως :term:`metaclass` αυτής της κλάσης, και οι " +"περισσότερες κλάσεις έχουν ως μετακλάση την κλάση :class:`type`. Η :class:" +"`type` δεν ορίζει το :meth:`~object.__getitem__`, πράγμα που σημαίνει ότι " +"εκφράσεις όπως ``list[int]``, ``dict[str, float]`` και ``tuple[str, bytes]`` " +"έχουν ως αποτέλεσμα την κλήση της :meth:`~object.__class_getitem__`::" #: reference/datamodel.rst:3052 msgid "" @@ -3570,6 +5239,17 @@ msgid "" ">>> type(list[int])\n" "" msgstr "" +">>> # list has class \"type\" as its metaclass, like most classes:\n" +">>> type(list)\n" +"\n" +">>> type(dict) == type(list) == type(tuple) == type(str) == type(bytes)\n" +"True\n" +">>> # \"list[int]\" calls \"list.__class_getitem__(int)\"\n" +">>> list[int]\n" +"list[int]\n" +">>> # list.__class_getitem__ returns a GenericAlias object:\n" +">>> type(list[int])\n" +"" #: reference/datamodel.rst:3064 msgid "" @@ -3577,6 +5257,10 @@ msgid "" "__getitem__`, subscribing the class may result in different behaviour. An " "example of this can be found in the :mod:`enum` module::" msgstr "" +"Ωστόσο, εάν μια κλάση έχει μια προσαρμοσμένη μετακλάση που ορίζει :meth:" +"`~object.__getitem__`, η εγγραφή στην κλάση μπορεί να οδηγήσει σε " +"διαφορετική συμπεριφορά. Ένα παράδειγμα αυτού μπορεί να βρεθεί στο module :" +"meth:`~object.__getitem__`::" #: reference/datamodel.rst:3068 msgid "" @@ -3597,10 +5281,27 @@ msgid "" ">>> type(Menu['SPAM'])\n" "" msgstr "" +">>> from enum import Enum\n" +">>> class Menu(Enum):\n" +"... \"\"\"A breakfast menu\"\"\"\n" +"... SPAM = 'spam'\n" +"... BACON = 'bacon'\n" +"...\n" +">>> # Enum classes have a custom metaclass:\n" +">>> type(Menu)\n" +"\n" +">>> # EnumMeta defines __getitem__,\n" +">>> # so __class_getitem__ is not called,\n" +">>> # and the result is not a GenericAlias object:\n" +">>> Menu['SPAM']\n" +"\n" +">>> type(Menu['SPAM'])\n" +"" #: reference/datamodel.rst:3087 msgid ":pep:`560` - Core Support for typing module and generic types" msgstr "" +":pep:`560` - Βασική υποστήριξη για module πληκτρολόγησης και γενικούς τύπους" #: reference/datamodel.rst:3088 msgid "" @@ -3608,10 +5309,13 @@ msgid "" "`subscription` results in ``__class_getitem__()`` being " "called instead of :meth:`~object.__getitem__`" msgstr "" +"Παρουσίαση της :meth:`~object.__class_getitem__`, και περιγραφή του πότε " +"ένα :ref:`subscription` έχει ως αποτέλεσμα την κλήση " +"``__class_getitem__()`` αντί για :meth:`~object.__getitem__`" #: reference/datamodel.rst:3096 msgid "Emulating callable objects" -msgstr "" +msgstr "Εξομοίωση αντικειμένων με δυνατότητα κλήσης" #: reference/datamodel.rst:3103 msgid "" @@ -3619,10 +5323,14 @@ msgid "" "defined, ``x(arg1, arg2, ...)`` roughly translates to ``type(x).__call__(x, " "arg1, ...)``. The :class:`object` class itself does not provide this method." msgstr "" +"Καλείται όταν το στιγμιότυπο \"καλείται\" ως συνάρτηση∙ εάν αυτή η μέθοδος " +"οριστεί, το ``x(arg1, arg2, ...)`` μεταφράζεται χονδρικά σε ``type(x)." +"__call__(x, arg1, ...)``. Η ίδια η κλάση :class:`object` δεν παρέχει αυτήν " +"τη μέθοδο." #: reference/datamodel.rst:3111 msgid "Emulating container types" -msgstr "" +msgstr "Εξομοίωση τύπων κοντέινερ" #: reference/datamodel.rst:3113 msgid "" @@ -3660,6 +5368,43 @@ msgid "" "meth:`!__iter__` should iterate through the object's keys; for sequences, it " "should iterate through the values." msgstr "" +"Οι ακόλουθες μέθοδοι μπορούν να οριστούν για την υλοποίηση αντικειμένων " +"κοντέινερ. Καμία από αυτές δεν παρέχεται από την ίδια την κλάση :class:" +"`object`. Τα κοντέινερ είναι συνήθως :term:`sequences ` (όπως :" +"class:`lists ` ή :class:`tuples `) ή :term:`mappings ` " +"(όπως :class:`dictionaries `), αλλά τα λεξικά μπορούν επίσης να " +"αντιπροσωπεύουν άλλα κοντέινερ. Το πρώτο σύνολο μεθόδων χρησιμοποιείται " +"είτε για την εξομοίωση μιας ακολουθίας είτε για την εξομοίωση μιας " +"αντιστοίχισης∙ η διαφορά είναι ότι για μια ακολουθία, τα επιτρεπόμενα " +"κλειδιά θα πρέπει να είναι οι ακέραιοι *k* για τους οποίους ``0 <= k < N`` " +"όπου *N* είναι το μήκος της ακολουθίας, ή αντικείμενα :class:`slice`, τα " +"οποία ορίζουν ένα εύρος στοιχείων. Συνίσταται επίσης οι αντιστοιχίσεις να " +"παρέχουν τις μεθόδους :meth:`!keys`, :meth:`!values`, :meth:`!items`, :meth:" +"`!get`, :meth:`!clear`, :meth:`!setdefault`, :meth:`!pop`, :meth:`!" +"popitem`, :meth:`!copy`, και :meth:`!update` όπου συμπεριφέρονται παρόμοια " +"με εκείνα για τα τυπικά αντικείμενα :class:`dictionary ` της Python. " +"Το module :mod:`collections.abc` παρέχει μια :class:`~collections.abc." +"MutableMapping` :term:`abstract base class` για να βοηθήσει στη δημιουργία " +"αυτών των μεθόδων από ένα βασικό σύνολο :meth:`~object.__getitem__`, :meth:" +"`~object.__setitem__`, :meth:`~object.__delitem__`, και :meth:`!keys`. Οι " +"μεταβλητές ακολουθίες θα πρέπει να παρέχουν μεθόδους :meth:`!append`, :meth:" +"`!count`, :meth:`!index`, :meth:`!extend`, :meth:`!insert`, :meth:`!pop`, :" +"meth:`!remove`, :meth:`!reverse` και :meth:`!sort`, όπως τα πρότυπα Python :" +"class:`list` αντικείμενα. Τέλος, οι τύποι ακολουθιών θα πρέπει να υλοποιούν " +"πρόσθεση (που σημαίνει συνένωση) και πολλαπλασιασμό (δηλαδή επανάληψη) " +"ορίζοντας τις μεθόδους :meth:`~object.__add__`, :meth:`~object.__radd__`, :" +"meth:`~object.__iadd__`, :meth:`~object.__mul__`, :meth:`~object.__rmul__` " +"και :meth:`~object.__imul__` που περιγράφονται παρακάτω∙ δεν θα πρέπει να " +"ορίζουν άλλους αριθμητικούς τελεστές. Συνίσταται τόσο οι αντιστοιχίσεις όσο " +"και οι ακολουθίες να εφαρμόζουν τη μέθοδο :meth:`~object.__contains__` για " +"να επιτρέπεται η αποτελεσματική χρήση του τελεστή ``in`` ∙ για " +"αντιστοιχίσεις, το ``in`` θα πρέπει να αναζητήσει τα κλειδιά της " +"αντιστοίχισης∙ για ακολουθίες θα πρέπει να αναζητήσει τις τιμές. Συνίσταται " +"περαιτέρω τόσο οι αντιστοιχίσεις όσο και οι ακολουθίες να εφαρμόζουν τη " +"μέθοδο :meth:`~object.__iter__` για να επιτρέπεται η αποτελεσματική " +"επανάληψη μέσω του κοντέινερ∙ για αντιστοιχίσεις, η :meth:`!__iter__` θα " +"πρέπει να επαναλαμβάνεται μέσω των κλειδιών του αντικειμένου∙ για " +"ακολουθίες, θα πρέπει να επαναλαμβάνεται μέσω των τιμών." #: reference/datamodel.rst:3155 msgid "" @@ -3668,6 +5413,11 @@ msgid "" "define a :meth:`~object.__bool__` method and whose :meth:`!__len__` method " "returns zero is considered to be false in a Boolean context." msgstr "" +"Καλείται για την υλοποίηση της ενσωματωμένης συνάρτησης :func:`len`. Θα " +"πρέπει να επιστρέψει το μήκος του αντικειμένου, ένας ακέραιος αριθμός ``>=`` " +"0. Επίσης, ένα αντικείμενο που δεν ορίζει μια μέθοδο :meth:`~object." +"__bool__` και του οποίου η μέθοδος :meth:`!__len__` επιστρέφει μηδέν, " +"θεωρείται ψευδές σε ένα Boolean περιβάλλον." #: reference/datamodel.rst:3162 msgid "" @@ -3677,6 +5427,12 @@ msgid "" "OverflowError` by truth value testing, an object must define a :meth:" "`~object.__bool__` method." msgstr "" +"Στο CPython, το μήκος απαιτείται να είναι το πολύ :data:`sys.maxsize`. Εάν " +"το μήκος είναι μεγαλύτερο από :data:`!sys.maxsize` ορισμένες δυνατότητες " +"(όπως :func:`len`) ενδέχεται να αυξήσουν το :exc:`OverflowError`. Για να " +"αποφευχθεί να γίνει raise :exc:`!OverflowError` από τον έλεγχο τιμής " +"αλήθειας, ένα αντικείμενο πρέπει να ορίσει μια μέθοδο :meth:`~object." +"__bool__`." #: reference/datamodel.rst:3171 msgid "" @@ -3687,27 +5443,38 @@ msgid "" "method didn't exist at all. This method is purely an optimization and is " "never required for correctness." msgstr "" +"Καλείται για υλοποίηση :func:`operator.length_hint`. Θα πρέπει να επιστρέψει " +"ένα εκτιμώμενο μήκος για το αντικείμενο (το οποίο μπορεί να είναι μεγαλύτερο " +"ή μικρότερο από το πραγματικό μήκος). Το μήκος πρέπει να είναι ένας ακέραιος " +"αριθμός ``>=`` 0. Η τιμή επιστροφής μπορεί επίσης να είναι :data:" +"`NotImplemented`, η οποία αντιμετωπίζεται με τον ίδιο τρόπο σαν να μην " +"υπήρχε καθόλου η μέθοδος ``__length_hint__``. Αυτή η μέθοδος είναι καθαρά " +"βελτιστοποίηση και δεν απαιτείται ποτέ για ορθότητα." #: reference/datamodel.rst:3185 msgid "" "Slicing is done exclusively with the following three methods. A call like ::" msgstr "" +"Η διαδικασία τμηματοποίησης γίνεται αποκλειστικά με τις ακόλουθες τρεις " +"μεθόδους. Μια κλήση όπως ::" #: reference/datamodel.rst:3187 msgid "a[1:2] = b" -msgstr "" +msgstr "a[1:2] = b" #: reference/datamodel.rst:3189 msgid "is translated to ::" -msgstr "" +msgstr "μεταφράζεται σε ::" #: reference/datamodel.rst:3191 msgid "a[slice(1, 2, None)] = b" -msgstr "" +msgstr "a[slice(1, 2, None)] = b" #: reference/datamodel.rst:3193 msgid "and so forth. Missing slice items are always filled in with ``None``." msgstr "" +"και ούτω καθεξής. Τα στοιχεία τμήματος που λείπουν συμπληρώνονται πάντα με " +"``None``." #: reference/datamodel.rst:3198 msgid "" @@ -3720,12 +5487,24 @@ msgid "" "term:`mapping` types, if *key* is missing (not in the container), :exc:" "`KeyError` should be raised." msgstr "" +"Καλείται για την υλοποίηση αξιολόγησης του ``self[key]``. Για τους τύπους :" +"term:`sequence`, τα αποδεκτά κλειδιά πρέπει να είναι ακέραιοι. Προαιρετικά, " +"ενδέχεται να υποστηρίζουν επίσης αντικείμενα :class:`slice`. Η υποστήριξη " +"αρνητικού ευρετηρίου είναι επίσης προαιρετική. Εάν το *key* είναι " +"ακατάλληλου τύπου, μπορεί να γίνει raise το :exc:`TypeError` ∙ εάν το *key* " +"είναι μια τιμή εκτός του συνόλου των ευρετηρίων για την ακολουθία (μετά από " +"οποιαδήποτε ειδική ερμηνεία αρνητικών τιμών), το :exc:`IndexError` θα πρέπει " +"να γίνει raise. Για τύπους :term:`mapping`, εάν λείπει το *key* (όχι στο " +"κοντέινερ), το :exc:`KeyError` θα πρέπει να γίνει raise." #: reference/datamodel.rst:3210 msgid "" ":keyword:`for` loops expect that an :exc:`IndexError` will be raised for " "illegal indexes to allow proper detection of the end of the sequence." msgstr "" +"Οι βρόχοι :keyword:`for` αναμένουν ότι θα γίνει raise ένα :exc:`IndexError` " +"για παράνομα ευρετήρια για να επιτρέπεται ο σωστός εντοπισμός του τέλους της " +"ακολουθίας." #: reference/datamodel.rst:3215 msgid "" @@ -3733,6 +5512,10 @@ msgid "" "meth:`~object.__class_getitem__` may be called instead of ``__getitem__()``. " "See :ref:`classgetitem-versus-getitem` for more details." msgstr "" +"Όταν το :ref:`subscripting` μια *class*, η μέθοδος ειδικής " +"κλάσης :meth:`~object.__class_getitem__` μπορεί να κληθεί αντί για " +"``__getitem__()``. Δείτε το :ref:`classgetitem-versus-getitem` για " +"περισσότερες λεπτομέρειες." #: reference/datamodel.rst:3223 msgid "" @@ -3742,6 +5525,12 @@ msgid "" "sequences if elements can be replaced. The same exceptions should be raised " "for improper *key* values as for the :meth:`__getitem__` method." msgstr "" +"Καλείται για την υλοποίηση της ανάθεσης στο ``self[key]``. Ίδια σημείωση με " +"το :meth:`__getitem__`. Αυτό θα πρέπει να εφαρμοστεί μόνο για αντιστοιχίσεις " +"εάν τα αντικείμενα υποστηρίζουν αλλαγές στις τιμές για κλειδιά ή εάν μπορούν " +"να προστεθούν νέα κλειδιά ή για ακολουθίες εάν μπορούν να αντικατασταθούν " +"στοιχεία. Θα πρέπει να δημιουργηθούν οι ίδιες εξαιρέσεις για ακατάλληλες " +"τιμές *key* όπως και για τη μέθοδο :meth:`__getitem__`." #: reference/datamodel.rst:3232 msgid "" @@ -3751,12 +5540,20 @@ msgid "" "the sequence. The same exceptions should be raised for improper *key* " "values as for the :meth:`__getitem__` method." msgstr "" +"Κλήθηκε για την υλοποίηση της διαγραφής του ``self[key]``. Ίδια σημείωση με " +"το :meth:`__getitem__`. Αυτό θα πρέπει να εφαρμόζεται μόνο για " +"αντιστοιχίσεις εάν τα αντικείμενα υποστηρίζουν την αφαίρεση πλήκτρων ή για " +"ακολουθίες εάν μπορούν να αφαιρεθούν στοιχεία από την ακολουθία. Θα πρέπει " +"να δημιουργηθούν οι ίδιες εξαιρέσεις για ακατάλληλες τιμές *key* όπως και " +"για τη μέθοδο :meth:`__getitem__`." #: reference/datamodel.rst:3241 msgid "" "Called by :class:`dict`\\ .\\ :meth:`__getitem__` to implement ``self[key]`` " "for dict subclasses when key is not in the dictionary." msgstr "" +"Κλήθηκε από :class:`dict`\\ .\\ :meth:`__getitem__` για την υλοποίηση του " +"``self[key]`` για υποκλάσεις dict όταν το κλειδί δεν υπάρχει στο λεξικό." #: reference/datamodel.rst:3247 msgid "" @@ -3765,6 +5562,11 @@ msgid "" "the objects in the container. For mappings, it should iterate over the keys " "of the container." msgstr "" +"Αυτή η μέθοδος καλείται όταν απαιτείται ένας :term:`iterator` για ένα " +"κοντέινερ. Αυτή η μέθοδος θα πρέπει να επιστρέψει ένα νέο αντικείμενο " +"iterator που μπορεί να επαναλάβει όλα τα αντικείμενα στο κοντέινερ. Για " +"αντιστοιχίσεις, θα πρέπει να επαναλαμβάνεται πάνω από τα κλειδιά του " +"κοντέινερ." #: reference/datamodel.rst:3255 msgid "" @@ -3772,6 +5574,10 @@ msgid "" "iteration. It should return a new iterator object that iterates over all " "the objects in the container in reverse order." msgstr "" +"Καλείται (εάν υπάρχει) από την ενσωματωμένη :func:`reversed` για την " +"υλοποίηση της αντίστροφης επανάληψης. Θα πρέπει να επιστρέψει ένα νέο " +"iterator αντικείμενο που επαναλαμβάνεται πάνω από όλα τα αντικείμενα στο " +"κοντέινερ με αντίστροφη σειρά." #: reference/datamodel.rst:3259 msgid "" @@ -3781,6 +5587,12 @@ msgid "" "provide :meth:`__reversed__` if they can provide an implementation that is " "more efficient than the one provided by :func:`reversed`." msgstr "" +"Εάν η μέθοδος :meth:`__reversed__` δεν παρέχεται, η ενσωματωμένη :func:" +"`reversed` θα χρησιμοποιήσει το πρωτόκολλο ακολουθίας (:meth:`__len__` και :" +"meth:`__getitem__`). Τα αντικείμενα που υποστηρίζουν το πρωτόκολλο " +"ακολουθίας θα πρέπει να παρέχουν μόνο τη :meth:`__reversed__` εάν μπορούν να " +"παρέχουν μια υλοποίηση που είναι πιο αποτελεσματική από αυτή που παρέχεται " +"από τη :func:`reversed`." #: reference/datamodel.rst:3266 msgid "" @@ -3789,6 +5601,11 @@ msgid "" "objects can supply the following special method with a more efficient " "implementation, which also does not require the object be iterable." msgstr "" +"Οι τελεστές τεστ ιδιότητας μέλους (:keyword:`in` και :keyword:`not in`) " +"συνήθως υλοποιούνται ως επανάληψη μέσω ενός κοντέινερ. Ωστόσο, τα " +"αντικείμενα κοντέινερ μπορούν να παρέχουν την ακόλουθη ειδική μέθοδο μια μια " +"αποτελεσματική υλοποίηση, η οποία επίσης δεν απαιτεί το αντικείμενο να είναι " +"επαναλαμβανόμενο." #: reference/datamodel.rst:3273 msgid "" @@ -3796,6 +5613,10 @@ msgid "" "is in *self*, false otherwise. For mapping objects, this should consider " "the keys of the mapping rather than the values or the key-item pairs." msgstr "" +"Καλείται για την εφαρμογή τελεστών δοκιμής ιδιότητας μέλους. Θα πρέπει να " +"επιστρέψει true εάν το *item* είναι στο *self*, false διαφορετικά. Για την " +"αντιστοίχιση αντικειμένων, αυτό θα πρέπει να λαμβάνει υπόψη τα κλειδιά της " +"αντιστοίχισης αντί για τις τιμές ή τα ζεύγη κλειδιών-στοιχείων." #: reference/datamodel.rst:3277 msgid "" @@ -3804,10 +5625,14 @@ msgid "" "protocol via :meth:`__getitem__`, see :ref:`this section in the language " "reference `." msgstr "" +"Για αντικείμενα που δεν ορίζουν :meth:`__contains__`, το τεστ ιδιότητας " +"δοκιμάζει πρώτα την επανάληψη μέσω :meth:`__iter__`, και μετά το παλιό " +"πρωτόκολλο επανάληψης ακολουθίας μέσω :meth:`__getitem__`, δείτε :ref:`this " +"section in the language reference `." #: reference/datamodel.rst:3286 msgid "Emulating numeric types" -msgstr "" +msgstr "Εξομοίωση αριθμητικών τύπων" #: reference/datamodel.rst:3288 msgid "" @@ -3816,6 +5641,10 @@ msgid "" "number implemented (e.g., bitwise operations for non-integral numbers) " "should be left undefined." msgstr "" +"Οι ακόλουθες μέθοδοι μπορούν να οριστούν για την εξομοίωση αριθμητικών " +"αντικειμένων. Οι μέθοδοι που αντιστοιχούν σε πράξεις που δεν υποστηρίζονται " +"από το συγκεκριμένο είδος αριθμού που υλοποιείται (π.χ. λειτουργίες bitwise " +"για μη ακέραιους αριθμούς) θα πρέπει να παραμείνουν απροσδιόριστες." #: reference/datamodel.rst:3314 msgid "" @@ -3830,12 +5659,25 @@ msgid "" "optional third argument if the three-argument version of the built-in :func:" "`pow` function is to be supported." msgstr "" +"Αυτές οι μέθοδοι καλούνται να υλοποιήσουν τις δυαδικές αριθμητικές " +"λειτουργίες (``+``, ``-``, ``*``, ``@``, ``/``, ``//``, ``%``, :func:" +"`divmod`, :func:`pow`, ``**``, ``<<``, ``>>``, ``&``, ``^``, ``|``). Για " +"παράδειγμα, για να αξιολογηθεί η έκφραση ``x + y``, όπου *x* είναι ένα " +"στιγμιότυπο μιας κλάσης που έχει μια μέθοδο :meth:`__add__`, καλείται το " +"``type(x).__add__(x, y)``. Η μέθοδος :meth:`__divmod__` θα πρέπει να είναι " +"ισοδύναμη με τη χρήση των :meth:`__floordiv__` και :meth:`__mod__`; δεν θα " +"πρέπει να σχετίζεται με τη :meth:`__truediv__`. Σημειώστε ότι η :meth:" +"`__pow__` θα πρέπει να ορίζεται ώστε να δέχεται ένα προαιρετικό τρίτο όρισμα " +"εάν υποστηρίζεται η τριών ορισμάτων έκδοση της ενσωματωμένης συνάρτησης :" +"func:`pow`." #: reference/datamodel.rst:3325 msgid "" "If one of those methods does not support the operation with the supplied " "arguments, it should return :data:`NotImplemented`." msgstr "" +"Εάν μία από αυτές τις μεθόδους δεν υποστηρίζει τη λειτουργία με τα " +"παρεχόμενα ορίσματα, θα πρέπει να επιστρέψει :data:`NotImplemented`." #: reference/datamodel.rst:3348 msgid "" @@ -3850,6 +5692,17 @@ msgid "" "__rsub__(y, x)`` is called if ``type(x).__sub__(x, y)`` returns :data:" "`NotImplemented` or ``type(y)`` is a subclass of ``type(x)``. [#]_" msgstr "" +"Αυτές οι μέθοδοι καλούνται να υλοποιήσουν τις δυαδικές αριθμητικές " +"λειτουργίες (``+``, ``-``, ``*``, ``@``, ``/``, ``//``, ``%``, :func:" +"`divmod`, :func:`pow`, ``**``, ``<<``, ``>>``, ``&``, ``^``, ``|``) με " +"ανακλώμενους (ανταλλαγμένους) τελεστές. Αυτές οι λειτουργίες καλούνται μόνο " +"εάν οι τελεστές είναι διαφορετικών τύπων, όταν ο αριστερός τελεστής δεν " +"υποστηρίζει την αντίστοιχη λειτουργία [#]_, ή η κλάση του δεξιού τελεστή " +"προέρχεται από την κλάση του αριστερού τελεστή. [#]_ Για παράδειγμα, για να " +"αξιολογηθεί η έκφραση ``x - y``, όπου *y* είναι ένα στιγμιότυπο μιας κλάσης " +"που έχει μια μέθοδο :meth:`__rsub__`, καλείται το ``type(y).__rsub__(y, x)`` " +"εάν το ``type(x).__sub__(x, y)`` επιστρέψει :data:`NotImplemented` ή το " +"``type(y)`` είναι υποκλάση του ``type(x)``. [#]_" #: reference/datamodel.rst:3359 msgid "" @@ -3857,6 +5710,9 @@ msgid "" "argument if the three-argument version of the built-in :func:`pow` function " "is to be supported." msgstr "" +"Σημειώστε ότι η :meth:`__rpow__` θα πρέπει να ορίζεται ώστε να δέχεται ένα " +"προαιρετικό τρίτο όρισμα εάν υποστηρίζεται η τριών ορισμάτων έκδοση της " +"ενσωματωμένης συνάρτησης :func:`pow`." #: reference/datamodel.rst:3365 msgid "" @@ -3864,6 +5720,9 @@ msgid "" "necessary. Previously it was only called in two-argument :func:`!pow` and " "the binary power operator." msgstr "" +"Η τριών ορισμάτων :func:`pow` τώρα προσπαθεί να καλέσει τη :meth:`~object." +"__rpow__` εάν είναι απαραίτητο. Παλαιότερα καλούνταν μόνο στη δύο ορισμάτων :" +"func:`!pow` και στον δυαδικό τελεστή δύναμης." #: reference/datamodel.rst:3371 msgid "" @@ -3873,6 +5732,11 @@ msgid "" "reflected method. This behavior allows subclasses to override their " "ancestors' operations." msgstr "" +"Εάν ο τύπος του δεξιού τελεστή είναι υποκλάση του τύπου του αριστερού " +"τελεστή και αυτή η υποκλάση παρέχει μια διαφορετική υλοποίηση της " +"ανακλώμενης μεθόδου για τη λειτουργία, αυτή η μέθοδος θα κληθεί πριν από τη " +"μη ανακλώμενη μέθοδο του αριστερού τελεστή. Αυτή η συμπεριφορά επιτρέπει " +"στις υποκλάσεις να παρακάμπτουν τις πράξεις των προγόνων τους." #: reference/datamodel.rst:3391 msgid "" @@ -3891,18 +5755,39 @@ msgid "" "augmented-assignment-tuple-error`), but this behavior is in fact part of the " "data model." msgstr "" +"Αυτές οι μέθοδοι καλούνται να υλοποιήσουν τις επαυξημένες αριθμητικές " +"εκχωρήσεις (``+=``, ``-=``, ``*=``, ``@=``, ``/=``, ``//=``, ``%=``, " +"``**=``, ``<<=``, ``>>=``, ``&=``, ``^=``, ``|=``). Αυτές οι μέθοδοι θα " +"πρέπει να προσπαθήσουν να κάνουν τη λειτουργία επιτόπου (τροποποίηση *self*) " +"και να επιστρέψουν το αποτέλεσμα (το οποίο θα μπορούσε, αλλά δεν χρειάζεται " +"να είναι, *self*). Εάν δεν έχει οριστεί μια συγκεκριμένη μέθοδος ή εάν αυτή " +"η μέθοδος επιστρέψει :data:`NotImplemented`, η επαυξημένη ανάθεση " +"επανέρχεται στις κανονικές μεθόδους. Για παράδειγμα, εάν το *x* είναι ένα " +"στιγμιότυπο μιας κλάσης με μια μέθοδο :meth:`__iadd__`, το ``x += y`` " +"ισοδυναμεί ``x = x.__iadd__(y)`` . Εάν το :meth:`__iadd__` δεν υπάρχει, ή " +"εάν το ``x.__iadd__(y)`` επιστρέφει :data:`!NotImplemented`, τα ``x." +"__add__(y)`` και ``y.__radd__(x)`` θεωρούνται, όπως και με την αξιολόγηση " +"του. Σε ορισμένες περιπτώσεις, η επαυξημένη ανάθεση μπορεί να οδηγήσει σε " +"απροσδόκητα σφάλματα (δείτε :ref:`faq-augmented-assignment-tuple-error`), " +"αλλά αυτή η συμπεριφορά είναι στην πραγματικότητα μέρος του μοντέλου " +"δεδομένων." #: reference/datamodel.rst:3414 msgid "" "Called to implement the unary arithmetic operations (``-``, ``+``, :func:" "`abs` and ``~``)." msgstr "" +"Καλείται για την υλοποίηση μονομερών αριθμητικών πράξεων (``-``, ``+``, :" +"func:`abs` και ``~``)." #: reference/datamodel.rst:3427 msgid "" "Called to implement the built-in functions :func:`complex`, :func:`int` and :" "func:`float`. Should return a value of the appropriate type." msgstr "" +"Καλείται για την υλοποίηση των ενσωματωμένων συναρτήσεων :func:`complex`, :" +"func:`int` και :func:`float`. Θα πρέπει να επιστρέψει μια τιμή του " +"κατάλληλου τύπου." #: reference/datamodel.rst:3434 msgid "" @@ -3912,6 +5797,12 @@ msgid "" "functions). Presence of this method indicates that the numeric object is an " "integer type. Must return an integer." msgstr "" +"Καλείται για υλοποίηση :func:`operator.index`, και όποτε η Python χρειάζεται " +"να μετατρέψει χωρίς απώλειες το αριθμητικό αντικείμενο σε ένα ακέραιο " +"αντικείμενο (όπως στη λειτουργία τμηματοποίησης ή στις ενσωματωμένες " +"συναρτήσεις :func:`bin`, :func:`hex` και :func:`oct`). Η παρουσία αυτής της " +"μεθόδου υποδεικνύει ότι το αριθμητικό αντικείμενο είναι ακέραιου τύπου. " +"Πρέπει να επιστρέψει έναν ακέραιο αριθμό." #: reference/datamodel.rst:3440 msgid "" @@ -3919,6 +5810,9 @@ msgid "" "defined then corresponding built-in functions :func:`int`, :func:`float` " "and :func:`complex` fall back to :meth:`__index__`." msgstr "" +"Εάν οι :meth:`__int__`, :meth:`__float__` και :meth:`__complex__` δεν " +"ορίζονται, τότε οι αντίστοιχες ενσωματωμένες συναρτήσεις :func:`int`, :func:" +"`float` και :func:`complex` επιστρέφουν στο :meth:`__index__`." #: reference/datamodel.rst:3452 msgid "" @@ -3928,15 +5822,20 @@ msgid "" "return the value of the object truncated to an :class:`~numbers.Integral` " "(typically an :class:`int`)." msgstr "" +"Καλείται για την υλοποίηση της ενσωματωμένης συνάρτησης :func:`round` και :" +"mod:`math` συναρτήσεις :func:`~math.trunc`, :func:`~math.floor` και :func:" +"`~math.ceil`. Εκτός εάν το *ndigits* μεταβιβαστεί στο :meth:`!__round__` " +"όλες αυτές οι μέθοδοι θα πρέπει να επιστρέψουν την τιμή του αντικειμένου που " +"περικόπτεται σε μια :class:`~numbers.Integral` (συνήθως ένα :class:`int`)." #: reference/datamodel.rst:3458 msgid "" ":func:`int` no longer delegates to the :meth:`~object.__trunc__` method." -msgstr "" +msgstr "Η :func:`int` δεν αναθέτει πλέον στη μέθοδο :meth:`~object.__trunc__`." #: reference/datamodel.rst:3465 msgid "With Statement Context Managers" -msgstr "" +msgstr "Με τους Διαχειριστές Περιβάλλοντος Δήλωσης" #: reference/datamodel.rst:3467 msgid "" @@ -3947,12 +5846,22 @@ msgid "" "using the :keyword:`!with` statement (described in section :ref:`with`), but " "can also be used by directly invoking their methods." msgstr "" +"Ένα :dfn:`context manager` είναι ένα αντικείμενο που ορίζει το περιβάλλον " +"χρόνου εκτέλεσης που θα καθοριστεί κατά την εκτέλεση μιας πρότασης :keyword:" +"`with`. Ο διαχειριστής περιβάλλοντος χειρίζεται την είσοδο και την έξοδο από " +"το επιθυμητό περιβάλλον χρόνου εκτέλεσης για την εκτέλεση του μπλοκ κώδικα. " +"Οι διαχειριστές περιβάλλοντος συνήθως καλούνται χρησιμοποιώντας τη δήλωση :" +"keyword:`!with` (που περιγράφεται στην ενότητα :ref:`with`), αλλά μπορούν " +"επίσης να χρησιμοποιηθούν με απευθείας επίκληση των μεθόδων τους." #: reference/datamodel.rst:3478 msgid "" "Typical uses of context managers include saving and restoring various kinds " "of global state, locking and unlocking resources, closing opened files, etc." msgstr "" +"Οι τυπικές χρήσεις των διαχειριστών περιβάλλοντος περιλαμβάνουν την " +"αποθήκευση και την επαναφορά διαφόρων ειδών καθολικών καταστάσεων, το " +"κλείδωμα και το ξεκλείδωμα πόρων, το κλείσιμο των ανοιχτών αρχείων κ.λπ." #: reference/datamodel.rst:3481 msgid "" @@ -3960,6 +5869,9 @@ msgid "" "The :class:`object` class itself does not provide the context manager " "methods." msgstr "" +"Για περισσότερες πληροφορίες σχετικά με τους διαχειριστές περιβάλλοντος, " +"ανατρέξτε στο :ref:`typecontextmanager`. Η ίδια η κλάση :class:`object` δεν " +"παρέχει τις μεθόδους διαχειριστή περιβάλλοντος." #: reference/datamodel.rst:3487 msgid "" @@ -3967,6 +5879,10 @@ msgid "" "statement will bind this method's return value to the target(s) specified in " "the :keyword:`!as` clause of the statement, if any." msgstr "" +"Εισαγάγετε το περιβάλλον χρόνου εκτέλεσης που σχετίζεται με αυτό το " +"αντικείμενο. Η δήλωση :keyword:`with` θα δεσμεύσει την επιστρεφόμενη τιμή " +"αυτής της μεθόδου με τους στόχους που καθορίζονται στον όρο :keyword:`!as` " +"της πρότασης, εάν υπάρχει." #: reference/datamodel.rst:3494 msgid "" @@ -3974,6 +5890,10 @@ msgid "" "exception that caused the context to be exited. If the context was exited " "without an exception, all three arguments will be :const:`None`." msgstr "" +"Έξοδος από το περιβάλλον χρόνου εκτέλεσης που σχετίζεται με αυτό το " +"αντικείμενο. Οι παράμετροι περιγράφουν την εξαίρεση που προκάλεσε την έξοδο " +"από το περιβάλλον. Εάν το περιβάλλον είχε βγει χωρίς εξαίρεση, και τα τρία " +"ορίσματα θα είναι :const:`None`." #: reference/datamodel.rst:3498 msgid "" @@ -3982,26 +5902,34 @@ msgid "" "Otherwise, the exception will be processed normally upon exit from this " "method." msgstr "" +"Εάν παρέχεται μια εξαίρεση και η μέθοδος επιθυμεί να καταργήσει την εξαίρεση " +"(δηλαδή, να αποτρέψει τη διάδοση της), θα πρέπει να επιστρέψει μια " +"πραγματική τιμή. Διαφορετικά, η εξαίρεση θα διεκπεραιωθεί κανονικά κατά την " +"έξοδο από αυτήν τη μέθοδο." #: reference/datamodel.rst:3502 msgid "" "Note that :meth:`~object.__exit__` methods should not reraise the passed-in " "exception; this is the caller's responsibility." msgstr "" +"Λάβετε υπόψη ότι οι μέθοδοι :meth:`~object.__exit__` δεν θα πρέπει να " +"επαναφέρουν την εξαίρεση που μεταβιβάστηκε∙ αυτή είναι ευθύνη του καλούντος." #: reference/datamodel.rst:3508 msgid ":pep:`343` - The \"with\" statement" -msgstr "" +msgstr ":pep:`343` - Η πρόταση \"with\"" #: reference/datamodel.rst:3509 msgid "" "The specification, background, and examples for the Python :keyword:`with` " "statement." msgstr "" +"Οι προδιαγραφές, το υπόβαθρο και τα παραδείγματα για τη δήλωση Python :" +"keyword:`with`." #: reference/datamodel.rst:3516 msgid "Customizing positional arguments in class pattern matching" -msgstr "" +msgstr "Προσαρμογή ορισμάτων θέσης στην αντιστοίχιση προτύπων κλάσης" #: reference/datamodel.rst:3518 msgid "" @@ -4010,6 +5938,11 @@ msgid "" "without special support in ``MyClass``. To be able to use that kind of " "pattern, the class needs to define a *__match_args__* attribute." msgstr "" +"Όταν χρησιμοποιείται ένα όνομα κλάσης σε ένα μοτίβο, τα ορίσματα θέσης στο " +"μοτίβο δεν επιτρέπονται από προεπιλογή, δηλαδή ``case MyClass(x, y)`` δεν " +"είναι συνήθως έγκυρη χωρίς ειδική υποστήριξη στο ``MyClass``. Για να " +"μπορέσει να χρησιμοποιήσει αυτό το είδος μοτίβου, η κλάση πρέπει να ορίσει " +"ένα χαρακτηριστικό *__match_args__*." #: reference/datamodel.rst:3525 msgid "" @@ -4019,6 +5952,11 @@ msgid "" "*__match_args__* as the keyword. The absence of this attribute is equivalent " "to setting it to ``()``." msgstr "" +"Σε αυτήν την μεταβλητή κλάσης μπορεί να εκχωρηθεί μια πλειάδα συμβολοσειρών. " +"Όταν αυτή η κλάση χρησιμοποιείται σε ένα μοτίβο κλάσης με ορίσματα θέσης, " +"κάθε όρισμα θέσης θα μετατραπεί σε όρισμα λέξης-κλειδιού, χρησιμοποιώντας " +"την αντίστοιχη τιμή στο *__match_args__* ως λέξη-κλειδί. Η απουσία αυτού του " +"χαρακτηριστικού ισοδυναμεί με τη ρύθμιση του σε ``()``." #: reference/datamodel.rst:3531 msgid "" @@ -4029,18 +5967,24 @@ msgid "" "*__match_args__*; if it is larger, the pattern match attempt will raise a :" "exc:`TypeError`." msgstr "" +"Για παράδειγμα, εάν το ``MyClass.__match_args__`` είναι ``(\"left\", " +"\"center\", \"right\")`` αυτό σημαίνει ότι το ``case MyClass(x, y)`` " +"ισοδυναμεί με MyClass(left=x, center=y)``. Σημειώστε ότι ο αριθμός των " +"ορισμάτων στο μοτίβο πρέπει να είναι μικρότερος ή ίσος με τον αριθμό των " +"στοιχείων στο *__match_args__* ∙ αν είναι μεγαλύτερο, η προσπάθεια " +"αντιστοίχισης μοτίβου θα κάνει raise μια :exc:`TypeError`." #: reference/datamodel.rst:3541 msgid ":pep:`634` - Structural Pattern Matching" -msgstr "" +msgstr ":pep:`634` - Αντιστοίχιση δομικών προτύπων" #: reference/datamodel.rst:3542 msgid "The specification for the Python ``match`` statement." -msgstr "" +msgstr "Η προδιαγραφή για τη δήλωση Python ``match``." #: reference/datamodel.rst:3548 msgid "Emulating buffer types" -msgstr "" +msgstr "Εξομοίωση τύπων buffer" #: reference/datamodel.rst:3550 msgid "" @@ -4049,12 +5993,19 @@ msgid "" "implemented by builtin types such as :class:`bytes` and :class:`memoryview`, " "and third-party libraries may define additional buffer types." msgstr "" +"Το πρωτόκολλο :ref:`buffer protocol ` παρέχει έναν τρόπο για " +"τα αντικείμενα της Python να εκθέτουν αποτελεσματική πρόσβαση σε έναν πίνακα " +"μνήμης χαμηλού επιπέδου. Αυτό το πρωτόκολλο υλοποιείται από ενσωματωμένους " +"τύπους όπως :class:`bytes` και :class:`memoryview`, και οι βιβλιοθήκες " +"τρίτων μπορούν να ορίσουν πρόσθετους τύπους buffer." #: reference/datamodel.rst:3555 msgid "" "While buffer types are usually implemented in C, it is also possible to " "implement the protocol in Python." msgstr "" +"Ενώ οι τύπου buffer συνήθως υλοποιούνται σε C, είναι επίσης δυνατή η " +"υλοποίηση του πρωτοκόλλου στην Python." #: reference/datamodel.rst:3560 msgid "" @@ -4065,6 +6016,13 @@ msgid "" "convenient way to interpret the flags. The method must return a :class:" "`memoryview` object." msgstr "" +"Καλείται όταν ζητείται buffer από τον *self* (για παράδειγμα, από τον " +"κατασκευαστή :class:`memoryview`). Το όρισμα *flags* είναι ένας ακέραιος " +"αριθμός που αντιπροσωπεύει το είδος της προσωρινής μνήμης που ζητήθηκε, " +"επηρεάζοντας για παράδειγμα εάν η προσωρινή μνήμη που επιστρέφεται είναι " +"μόνο για ανάγνωση ή για εγγράψιμο. Η :class:`inspect.BufferFlags` παρέχει " +"έναν βολικό τρόπο ερμηνείας των flags. Η μέθοδος πρέπει να επιστρέψει ένα " +"αντικείμενο :class:`memoryview`." #: reference/datamodel.rst:3569 msgid "" @@ -4074,27 +6032,34 @@ msgid "" "buffer. This method should return ``None``. Buffer objects that do not need " "to perform any cleanup are not required to implement this method." msgstr "" +"Καλείται όταν δεν χρειάζεται πλέον μια προσωρινή μνήμη. Το όρισμα *buffer* " +"είναι ένα αντικείμενο :class:`memoryview` που επιστράφηκε προηγουμένως από " +"την :meth:`~object.__buffer__`. Η μέθοδος πρέπει να απελευθερώσει τυχόν " +"πόρους που σχετίζονται με το buffer. Αυτή η μέθοδος θα πρέπει να επιστρέψει " +"``None``. Τα αντικείμενα buffer που δεν χρειάζονται εκκαθάριση δεν " +"απαιτούνται για την εφαρμογή αυτής της μεθόδου." #: reference/datamodel.rst:3580 msgid ":pep:`688` - Making the buffer protocol accessible in Python" -msgstr "" +msgstr ":pep:`688` - Κάνοντας το πρωτόκολλο buffer προσβάσιμο στην Python" #: reference/datamodel.rst:3581 msgid "" "Introduces the Python ``__buffer__`` and ``__release_buffer__`` methods." msgstr "" +"Παρουσιάζει τις μεθόδους Python ``__buffer__`` και ``__release_buffer__``." #: reference/datamodel.rst:3583 msgid ":class:`collections.abc.Buffer`" -msgstr "" +msgstr ":class:`collections.abc.Buffer`" #: reference/datamodel.rst:3584 msgid "ABC for buffer types." -msgstr "" +msgstr "ABC για τύπους buffer." #: reference/datamodel.rst:3587 msgid "Annotations" -msgstr "" +msgstr "Annotations" #: reference/datamodel.rst:3589 msgid "" @@ -4102,6 +6067,9 @@ msgid "" "`, which are a way to associate information (usually :term:`type " "hints `) with a symbol." msgstr "" +"Οι συναρτήσεις, οι κλάσεις και τα προγράμματα μπορεί να περιέχουν :term:" +"`annotations `, που είναι ένας τρόπος να συσχετιστεί πληροφορία " +"(συνήθως :term:`type hints `) με ένα σύμβολο." #: reference/datamodel.rst:3595 msgid "" @@ -4110,16 +6078,24 @@ msgid "" "arbitrary code and raise exceptions. If evaluation is successful, the " "attribute is set to a dictionary mapping from variable names to annotations." msgstr "" +"Αυτό το χαρακτηριστικό περιέχει τα annotations για ένα αντικείμενο. Είναι :" +"ref:`lazily evaluated `, οπότε η πρόσβαση στο " +"χαρακτηριστικό μπορεί να εκτελέσει αυθαίρετο κώδικα και να κάνει raise " +"εξαιρέσεις. Εάν η αξιολόγηση είναι επιτυχής, το χαρακτηριστικό ορίζεται σε " +"ένα λεξικό που αντιστοιχεί από ονόματα μεταβλητών σε annotations." #: reference/datamodel.rst:3600 msgid "Annotations are now lazily evaluated." -msgstr "" +msgstr "Τα annotations αξιολογούνται πλέον τεμπέλικα." #: reference/datamodel.rst:3605 msgid "" "An :term:`annotate function`. Returns a new dictionary object mapping " "attribute/parameter names to their annotation values." msgstr "" +"Ένα :term:`annotate function`. Επιστρέφει ένα νέο αντικείμενο λεξικού που " +"αντιστοιχεί ονόματα χαρακτηριστικών/παραμέτρων στις τιμές των annotations " +"τους." #: reference/datamodel.rst:3608 msgid "" @@ -4127,6 +6103,10 @@ msgid "" "should be provided. It must be a member of the :class:`annotationlib.Format` " "enum, or an integer with a value corresponding to a member of the enum." msgstr "" +"Λαμβάνει μια παράμετρο μορφής που καθορίζει τη μορφή στην οποία θα πρέπει να " +"παρέχονται οι τιμές των annotations. Πρέπει να είναι μέλος της :class:" +"`annotationlib.Format` enum, ή ένας ακέραιος αριθμός με τιμή που αντιστοιχεί " +"σε μέλος της enum." #: reference/datamodel.rst:3612 msgid "" @@ -4135,6 +6115,10 @@ msgid "" "`~annotationlib.Format.VALUE` format; they must not raise :exc:" "`NotImplementedError()` when called with this format." msgstr "" +"Εάν μια annotate συνάρτηση δεν υποστηρίζει την ζητούμενη μορφή, πρέπει να " +"κάνει raise :exc:`NotImplementedError`. Οι annotate συναρτήσεις πρέπει πάντα " +"να υποστηρίζουν τη μορφή :attr:`~annotationlib.Format.VALUE` ∙ δεν πρέπει να " +"κάνουν raise :exc:`NotImplementedError()` όταν καλούνται με αυτή τη μορφή." #: reference/datamodel.rst:3617 msgid "" @@ -4142,6 +6126,9 @@ msgid "" "function may raise :exc:`NameError`; it must not raise :exc:`!NameError` " "when called requesting any other format." msgstr "" +"Όταν καλείται με τη μορφή :attr:`~annotationlib.Format.VALUE`, μια annotate " +"συνάρτηση μπορεί να κάνει raise :exc:`NameError`∙ δεν πρέπει να κάνει raise :" +"exc:`!NameError` όταν καλείται ζητώντας οποιαδήποτε άλλη μορφή." #: reference/datamodel.rst:3620 msgid "" @@ -4149,19 +6136,26 @@ msgid "" "should preferably be set to ``None`` (it can’t be deleted), rather than set " "to a function that returns an empty dict." msgstr "" +"Εάν ένα αντικείμενο δεν έχει κανένα annotation, το :attr:`~object." +"__annotate__` θα πρέπει κατά προτίμηση να ορίζεται σε ``None`` (δεν μπορεί " +"να διαγραφεί), αντί να ορίζεται σε μια συνάρτηση που επιστρέφει ένα κενό " +"dict." #: reference/datamodel.rst:3627 msgid ":pep:`649` --- Deferred evaluation of annotation using descriptors" msgstr "" +":pep:`649` --- Τεμπέλικη αξιολόγηση annotation χρησιμοποιώντας descriptors" #: reference/datamodel.rst:3628 msgid "" "Introduces lazy evaluation of annotations and the ``__annotate__`` function." msgstr "" +"Παρουσιάζει την τεμπέλικη αξιολόγηση των annotations και τη συνάρτηση " +"``__annotate__``." #: reference/datamodel.rst:3634 msgid "Special method lookup" -msgstr "" +msgstr "Αναζήτηση ειδικής μεθόδου" #: reference/datamodel.rst:3636 msgid "" @@ -4170,6 +6164,11 @@ msgid "" "object's instance dictionary. That behaviour is the reason why the " "following code raises an exception::" msgstr "" +"Για προσαρμοσμένες κλάσεις, οι σιωπηρές επικλήσεις ειδικών μεθόδων είναι " +"εγγυημένο ότι θα λειτουργούν σωστά μόνο εάν ορίζονται στον τύπο ενός " +"αντικειμένου και όχι στο λεξικό στιγμιοτύπου του αντικειμένου. Αυτή η " +"συμπεριφορά είναι ο λόγος για τον οποίο ο ακόλουθος κώδικας κάνει raise μια " +"εξαίρεση::" #: reference/datamodel.rst:3641 msgid "" @@ -4183,6 +6182,15 @@ msgid "" " File \"\", line 1, in \n" "TypeError: object of type 'C' has no len()" msgstr "" +">>> class C:\n" +"... pass\n" +"...\n" +">>> c = C()\n" +">>> c.__len__ = lambda: 5\n" +">>> len(c)\n" +"Traceback (most recent call last):\n" +" File \"\", line 1, in \n" +"TypeError: object of type 'C' has no len()" #: reference/datamodel.rst:3651 msgid "" @@ -4192,6 +6200,11 @@ msgid "" "of these methods used the conventional lookup process, they would fail when " "invoked on the type object itself::" msgstr "" +"Η λογική πίσω από αυτήν τη συμπεριφορά έγκειται σε μια σειρά ειδικών μεθόδων " +"όπως :meth:`~object.__hash__` και :meth:`~object.__repr__` που υλοποιούνται " +"από όλα τα αντικείμενα, συμπεριλαμβανομένων των αντικειμένων τύπου. Εάν η " +"σιωπηρή αναζήτηση αυτών των μεθόδων χρησιμοποιούσε τη συμβατική διαδικασία " +"αναζήτησης, θα αποτύγχανε όταν καλούνταν στο ίδιο το αντικείμενο τύπου::" #: reference/datamodel.rst:3658 msgid "" @@ -4202,6 +6215,12 @@ msgid "" " File \"\", line 1, in \n" "TypeError: descriptor '__hash__' of 'int' object needs an argument" msgstr "" +">>> 1 .__hash__() == hash(1)\n" +"True\n" +">>> int.__hash__() == hash(int)\n" +"Traceback (most recent call last):\n" +" File \"\", line 1, in \n" +"TypeError: descriptor '__hash__' of 'int' object needs an argument" #: reference/datamodel.rst:3665 msgid "" @@ -4209,6 +6228,9 @@ msgid "" "sometimes referred to as 'metaclass confusion', and is avoided by bypassing " "the instance when looking up special methods::" msgstr "" +"Η εσφαλμένη προσπάθειας επίκλησης μιας μη δεσμευμένης μεθόδου μιας κλάσης με " +"αυτόν τον τρόπο αναφέρεται μερικές φορές ως 'σύγχυση μετακλάσης', και " +"αποφεύγεται με παράκαμψη της παρουσίας κατά την αναζήτηση ειδικών μεθόδων::" #: reference/datamodel.rst:3669 msgid "" @@ -4217,6 +6239,10 @@ msgid "" ">>> type(int).__hash__(int) == hash(int)\n" "True" msgstr "" +">>> type(1).__hash__(1) == hash(1)\n" +"True\n" +">>> type(int).__hash__(int) == hash(int)\n" +"True" #: reference/datamodel.rst:3674 msgid "" @@ -4224,6 +6250,10 @@ msgid "" "correctness, implicit special method lookup generally also bypasses the :" "meth:`~object.__getattribute__` method even of the object's metaclass::" msgstr "" +"Εκτός από την παράκαμψη οποιωνδήποτε χαρακτηριστικών στιγμιοτύπου για λόγους " +"ορθότητας, η σιωπηρή αναζήτηση ειδική μεθόδου γενικά παρακάμπτει επίσης τη " +"μέθοδο :meth:`~object.__getattribute__` ακόμη και της μετακλάσης του " +"αντικειμένου::" #: reference/datamodel.rst:3678 msgid "" @@ -4249,6 +6279,27 @@ msgid "" ">>> len(c) # Implicit lookup\n" "10" msgstr "" +">>> class Meta(type):\n" +"... def __getattribute__(*args):\n" +"... print(\"Metaclass getattribute invoked\")\n" +"... return type.__getattribute__(*args)\n" +"...\n" +">>> class C(object, metaclass=Meta):\n" +"... def __len__(self):\n" +"... return 10\n" +"... def __getattribute__(*args):\n" +"... print(\"Class getattribute invoked\")\n" +"... return object.__getattribute__(*args)\n" +"...\n" +">>> c = C()\n" +">>> c.__len__() # Explicit lookup via instance\n" +"Class getattribute invoked\n" +"10\n" +">>> type(c).__len__(c) # Explicit lookup via type\n" +"Metaclass getattribute invoked\n" +"10\n" +">>> len(c) # Implicit lookup\n" +"10" #: reference/datamodel.rst:3700 msgid "" @@ -4258,14 +6309,19 @@ msgid "" "special method *must* be set on the class object itself in order to be " "consistently invoked by the interpreter)." msgstr "" +"Η παράκαμψη του μηχανισμού :meth:`~object.__getattribute__` με αυτόν τον " +"τρόπο παρέχει σημαντικά περιθώρια για βελτιστοποιήσεις ταχύτητας εντός του " +"διερμηνέα, με κόστος κάποιας ευελιξίας στον χειρισμό ειδικών μεθόδων (η " +"ειδική μέθοδος *πρέπει* να οριστεί στο ίδιο το αντικείμενο κλάσης για να " +"καλείται με συνέπεια από τον διερμηνέα)." #: reference/datamodel.rst:3711 msgid "Coroutines" -msgstr "" +msgstr "Coroutines" #: reference/datamodel.rst:3715 msgid "Awaitable Objects" -msgstr "" +msgstr "Awaitable Αντικείμενα" #: reference/datamodel.rst:3717 msgid "" @@ -4273,6 +6329,9 @@ msgid "" "__await__` method. :term:`Coroutine objects ` returned from :" "keyword:`async def` functions are awaitable." msgstr "" +"Ένα αντικείμενο :term:`awaitable` εφαρμόζει γενικά μια μέθοδο :meth:`~object." +"__await__`. Τα :term:`Coroutine objects ` που επιστρέφονται από " +"τις :keyword:`async def` συναρτήσεις είναι awaitable." #: reference/datamodel.rst:3723 msgid "" @@ -4280,6 +6339,9 @@ msgid "" "with :func:`types.coroutine` are also awaitable, but they do not implement :" "meth:`~object.__await__`." msgstr "" +"Τα αντικείμενα :term:`generator iterator` που επιστράφηκαν από γεννήτριες " +"διακοσμημένες με :func:`types.coroutine` είναι επίσης awaitable, αλλά δεν " +"εφαρμόζουν το :meth:`~object.__await__`." #: reference/datamodel.rst:3729 msgid "" @@ -4288,6 +6350,11 @@ msgid "" "method to be compatible with the :keyword:`await` expression. The :class:" "`object` class itself is not awaitable and does not provide this method." msgstr "" +"Πρέπει να επιστρέψει ένα :term:`iterator`. Θα πρέπει να χρησιμοποιείται για " +"την υλοποίηση :term:`awaitable` αντικειμένων. Για παράδειγμα, η :class:" +"`asyncio.Future` υλοποιεί αυτήν την μέθοδο ώστε να είναι συμβατή με την " +"έκφραση :keyword:`await`. Η ίδια η κλάση :class:`object` δεν είναι αναμονή " +"και δεν παρέχει αυτήν τη μέθοδο." #: reference/datamodel.rst:3737 msgid "" @@ -4296,14 +6363,19 @@ msgid "" "specific to the implementation of the asynchronous execution framework (e." "g. :mod:`asyncio`) that will be managing the :term:`awaitable` object." msgstr "" +"Η γλώσσα δεν θέτει κανέναν περιορισμό στον τύπο ή την τιμή των αντικειμένων " +"που παράγονται από τον iterator που επιστρέφεται από το ``__await__``, καθώς " +"αυτό αφορά συγκεκριμένα την υλοποίηση του πλαισίου ασύγχρονης εκτέλεσης (π." +"χ. :mod:`asyncio`) που θα διαχειρίζεται το :term:`awaitable` αντικείμενο." #: reference/datamodel.rst:3745 msgid ":pep:`492` for additional information about awaitable objects." msgstr "" +"Το :pep:`492` για πρόσθετες πληροφορίες σχετικά με τα awaitable αντικείμενα." #: reference/datamodel.rst:3751 msgid "Coroutine Objects" -msgstr "" +msgstr "Coroutine Αντικείμενα" #: reference/datamodel.rst:3753 msgid "" @@ -4315,6 +6387,14 @@ msgid "" "coroutine raises an exception, it is propagated by the iterator. Coroutines " "should not directly raise unhandled :exc:`StopIteration` exceptions." msgstr "" +"Τα :term:`Coroutine objects ` είναι :term:`awaitable` " +"αντικείμενα. Η εκτέλεση μιας coroutine μπορεί να ελεγχθεί καλώντας το :meth:" +"`~object.__await__` και επαναλαμβάνοντας το αποτέλεσμα. Όταν η coroutine " +"ολοκληρώσει την εκτέλεση και επιστρέψει ο iterator κάνει raise την :exc:" +"`StopIteration`, και το χαρακτηριστικό :attr:`~StopIteration.value` της " +"εξαίρεσης διατηρεί την τιμή επιστροφής. Εάν η coroutine εγείρει μια " +"εξαίρεση, αυτή διαδίδεται από τον iterator. Οι coroutines δεν πρέπει να " +"κάνουν raise ανεξέλεγκτες εξαιρέσεις :exc:`StopIteration`." #: reference/datamodel.rst:3761 msgid "" @@ -4322,10 +6402,16 @@ msgid "" "of generators (see :ref:`generator-methods`). However, unlike generators, " "coroutines do not directly support iteration." msgstr "" +"Οι coroutines έχουν επίσης τις μεθόδου που αναφέρονται παρακάτω, οι οποίες " +"είναι ανάλογες με αυτές των γεννητριών (βλ. :ref:`generator-methods`). " +"Ωστόσο, σε αντίθεση με τις γεννήτριες, οι coroutines δεν υποστηρίζουν άμεσα " +"την επανάληψη." #: reference/datamodel.rst:3765 msgid "It is a :exc:`RuntimeError` to await on a coroutine more than once." msgstr "" +"Είναι ένα :exc:`RuntimeError` να περιμένει κανείς σε μια coroutine " +"περισσότερες από μία φορές." #: reference/datamodel.rst:3771 msgid "" @@ -4337,6 +6423,13 @@ msgid "" "exception) is the same as when iterating over the :meth:`!__await__` return " "value, described above." msgstr "" +"Ξεκινά ή συνεχίζει την εκτέλεση της coroutine. Εάν η *τιμή* είναι ``None``, " +"αυτό ισοδυναμεί με την προώθηση του iterator που επιστρέφεται :meth:`~object." +"__await__`. Εάν η *τιμή* δεν είναι ``None``, αυτή η μέθοδος εκχωρεί στη " +"μέθοδο :meth:`~generator.send` του iterator που προκάλεσε την αναστολή της " +"coroutine. Το αποτέλεσμα (επιστρεφόμενη τιμή, :exc:`StopIteration`, ή άλλη " +"εξαίρεση) είναι το ίδιο όπως όταν γίνεται επανάληψη πάνω από την τιμή " +"επιστροφής :meth:`!__await__` , που περιγράφεται παραπάνω." #: reference/datamodel.rst:3782 msgid "" @@ -4348,12 +6441,22 @@ msgid "" "meth:`~object.__await__` return value, described above. If the exception is " "not caught in the coroutine, it propagates back to the caller." msgstr "" +"Κάνει Raise την καθορισμένη εξαίρεση στην coroutine. Αυτή η μέθοδος εκχωρεί " +"στη μέθοδο :meth:`~generator.throw` του iterator που προκάλεσε την αναστολή " +"της coroutine, εάν διαθέτει τέτοια μέθοδο. Διαφορετικά, η εξαίρεση γίνεται " +"raise στο σημείο αναστολής. Το αποτέλεσμα (επιστρεφόμενη τιμή, :exc:" +"`StopIteration`, ή άλλη εξαίρεση) είναι το ίδιο όπως όταν γίνεται επανάληψη " +"πάνω από την τιμή επιστροφής :meth:`~object.__await__`, που περιγράφεται " +"παραπάνω. Εάν η εξαίρεση δεν περιλαμβάνεται στην coroutine, διαδίδεται πίσω " +"από εκεί που καλέστηκε." #: reference/datamodel.rst:3793 msgid "" "The second signature \\(type\\[, value\\[, traceback\\]\\]\\) is deprecated " "and may be removed in a future version of Python." msgstr "" +"Η δεύτερη υπογραφή \\(type\\[, value\\[, traceback\\]\\]\\) έχει καταργηθεί " +"και μπορεί να αφαιρεθεί σε μια μελλοντική έκδοση της Python." #: reference/datamodel.rst:3798 msgid "" @@ -4364,45 +6467,61 @@ msgid "" "causing the coroutine to immediately clean itself up. Finally, the coroutine " "is marked as having finished executing, even if it was never started." msgstr "" +"Προκαλεί τον καθαρισμό και την έξοδο της coroutine. Εάν η coroutine τεθεί " +"σε αναστολή, αυτή η μέθοδος εκχωρεί πρώτα στην μέθοδο :meth:`~generator." +"close` του iterator που προκάλεσε την αναστολή της coroutine, εάν έχει " +"τέτοια μέθοδο. Στη συνέχεια, σηκώνει το :exc:`GeneratorExit` στο σημείο " +"αναστολής, με αποτέλεσμα η coroutine να καθαριστεί αμέσως. Τέλος, η " +"coroutine επισημαίνεται ότι έχει τελειώσει την εκτέλεση, ακόμα κι αν δεν " +"ξεκίνησε ποτέ." #: reference/datamodel.rst:3806 msgid "" "Coroutine objects are automatically closed using the above process when they " "are about to be destroyed." msgstr "" +"Τα αντικείμενα coroutine κλείνουν αυτόματα χρησιμοποιώντας την παραπάνω " +"διαδικασία όταν πρόκειται να καταστραφούν." #: reference/datamodel.rst:3812 msgid "Asynchronous Iterators" -msgstr "" +msgstr "Ασύγχρονοι Iterators" #: reference/datamodel.rst:3814 msgid "" "An *asynchronous iterator* can call asynchronous code in its ``__anext__`` " "method." msgstr "" +"Ένας *ασύγχρονος iterator* μπορεί να καλέσει ασύγχρονο κώδικα με τη μέθοδο " +"``__anext__``." #: reference/datamodel.rst:3817 msgid "" "Asynchronous iterators can be used in an :keyword:`async for` statement." msgstr "" +"Οι ασύγχρονοι iterators μπορούν να χρησιμοποιηθούν σε μια δήλωση :keyword:" +"`async for`." #: reference/datamodel.rst:3868 msgid "The :class:`object` class itself does not provide these methods." -msgstr "" +msgstr "Η ίδια η κλάση :class:`object` δεν παρέχει αυτές τις μεθόδους." #: reference/datamodel.rst:3824 msgid "Must return an *asynchronous iterator* object." -msgstr "" +msgstr "Πρέπει να επιστρέψει ένα αντικείμενο *ασύγχρονου iterator*." #: reference/datamodel.rst:3828 msgid "" "Must return an *awaitable* resulting in a next value of the iterator. " "Should raise a :exc:`StopAsyncIteration` error when the iteration is over." msgstr "" +"Πρέπει να επιστρέψει ένα *αναμενόμενο* που θα έχει ως αποτέλεσμα μια επόμενη " +"τιμή iterator. Θα πρέπει να κάνει raise ένα σφάλμα :exc:" +"`StopAsyncIteration` όταν τελειώσει η επανάληψη." #: reference/datamodel.rst:3831 msgid "An example of an asynchronous iterable object::" -msgstr "" +msgstr "Παράδειγμα σύγχρονου iterator αντικειμένου::" #: reference/datamodel.rst:3833 msgid "" @@ -4419,6 +6538,18 @@ msgid "" " raise StopAsyncIteration\n" " return val" msgstr "" +"class Reader:\n" +" async def readline(self):\n" +" ...\n" +"\n" +" def __aiter__(self):\n" +" return self\n" +"\n" +" async def __anext__(self):\n" +" val = await self.readline()\n" +" if val == b'':\n" +" raise StopAsyncIteration\n" +" return val" #: reference/datamodel.rst:3848 msgid "" @@ -4426,6 +6557,9 @@ msgid "" "that would resolve to an :term:`asynchronous iterator `." msgstr "" +"Πριν από την Python 3.7, η :meth:`~object.__aiter__` θα μπορούσε να " +"επιστρέψει ένα *αναμενόμενο* που θα επιλύονται σε ένα :term:`asynchronous " +"iterator `." #: reference/datamodel.rst:3853 msgid "" @@ -4433,38 +6567,50 @@ msgid "" "asynchronous iterator object. Returning anything else will result in a :exc:" "`TypeError` error." msgstr "" +"Ξεκινώντας με την Python 3.7, η :meth:`~object.__aiter__` πρέπει να " +"επιστρέψει ένα ασύγχρονο αντικείμενο iterator. Εάν επιστρέφει οτιδήποτε " +"άλλο θα έχει ως αποτέλεσμα ένα σφάλμα :exc:`TypeError`." #: reference/datamodel.rst:3861 msgid "Asynchronous Context Managers" -msgstr "" +msgstr "Ασύγχρονοι Διαχειριστές Περιβάλλοντος" #: reference/datamodel.rst:3863 msgid "" "An *asynchronous context manager* is a *context manager* that is able to " "suspend execution in its ``__aenter__`` and ``__aexit__`` methods." msgstr "" +"Ένας *ασύγχρονος διαχειριστής περιβάλλοντος* είναι ένα *διαχειριστής " +"περιβάλλοντος* που μπορεί να αναστείλει την εκτέλεση στις μεθόδους " +"``__aenter__`` και ``__aexit__``." #: reference/datamodel.rst:3866 msgid "" "Asynchronous context managers can be used in an :keyword:`async with` " "statement." msgstr "" +"Οι ασύγχρονοι διαχειριστές περιβάλλοντος μπορούν να χρησιμοποιηθούν σε μια " +"δήλωση :keyword:`async with`." #: reference/datamodel.rst:3872 msgid "" "Semantically similar to :meth:`~object.__enter__`, the only difference being " "that it must return an *awaitable*." msgstr "" +"Σημασιολογικά παρόμοια με :meth:`~object.__enter__`, η μόνη διαφορά είναι " +"ότι πρέπει να επιστρέψει ένα *awaitable*." #: reference/datamodel.rst:3877 msgid "" "Semantically similar to :meth:`~object.__exit__`, the only difference being " "that it must return an *awaitable*." msgstr "" +"Σημασιολογικά παρόμοια με :meth:`~object.__exit__`, η μόνη διαφορά είναι ότι " +"πρέπει να επιστρέψει ένα *awaitable*." #: reference/datamodel.rst:3880 msgid "An example of an asynchronous context manager class::" -msgstr "" +msgstr "Ένα παράδειγμα κλάσης ασύγχρονης διαχείρισης περιβάλλοντος::" #: reference/datamodel.rst:3882 msgid "" @@ -4475,10 +6621,16 @@ msgid "" " async def __aexit__(self, exc_type, exc, tb):\n" " await log('exiting context')" msgstr "" +"class AsyncContextManager:\n" +" async def __aenter__(self):\n" +" await log('entering context')\n" +"\n" +" async def __aexit__(self, exc_type, exc, tb):\n" +" await log('exiting context')" #: reference/datamodel.rst:3893 msgid "Footnotes" -msgstr "" +msgstr "Υποσημειώσεις" #: reference/datamodel.rst:3894 msgid "" @@ -4486,6 +6638,10 @@ msgid "" "controlled conditions. It generally isn't a good idea though, since it can " "lead to some very strange behaviour if it is handled incorrectly." msgstr "" +"Αυτό *είναι* δυνατό σε ορισμένες περιπτώσεις να αλλάξει ο τύπος ενός " +"αντικειμένου, υπό ορισμένες ελεγχόμενες συνθήκες. Γενικά δεν είναι καλή ιδέα " +"όμως, καθώς μπορεί να οδηγήσει σε κάποια πολύ περίεργη συμπεριφορά εάν γίνει " +"λάθος χειρισμός." #: reference/datamodel.rst:3898 msgid "" @@ -4495,6 +6651,12 @@ msgid "" "handling for this. Others will still raise a :exc:`TypeError`, but may do so " "by relying on the behavior that ``None`` is not callable." msgstr "" +"Οι μέθοδοι :meth:`~object.__hash__`, :meth:`~object.__iter__`, :meth:" +"`~object.__reversed__`, :meth:`~object.__contains__`, :meth:`~object." +"__class_getitem__` και :meth:`~os.PathLike.__fspath__` έχουν ειδικό χειρισμό " +"για αυτό. Άλλες θα εξακολουθούν να κάνουν raise ένα :exc:`TypeError`, αλλά " +"μπορεί να το κάνουν με την αξιοποίηση της συμπεριφοράς ότι το ``None`` δεν " +"είναι καλούμενο." #: reference/datamodel.rst:3905 msgid "" @@ -4503,6 +6665,11 @@ msgid "" "you want to force fallback to the right operand's reflected method—that will " "instead have the opposite effect of explicitly *blocking* such fallback." msgstr "" +"Το \"Δεν υποστηρίζει\" εδώ σημαίνει ότι η κλάση δεν έχει τέτοια μέθοδο ή η " +"μέθοδος επιστρέφει :data:`NotImplemented`. Μην ορίσετε τη μέθοδο σε " +"``None`` εάν θέλετε να αναγκάσετε την επιστροφή στη μέθοδο ανακλώμενης του " +"δεξιού τελεστή-αυτό θα έχει το αντίθετο αποτέλεσμα του ρητού " +"*μπλοκαρίσματος* αυτού του εναλλακτικού." #: reference/datamodel.rst:3911 msgid "" @@ -4510,6 +6677,9 @@ msgid "" "method (such as :meth:`~object.__add__`) fails then the operation is not " "supported, which is why the reflected method is not called." msgstr "" +"Για τελεστές του ίδιου τύπου, θεωρείται ότι εάν η μη ανακλώμενη μέθοδος " +"(όπως :meth:`~object.__add__`) αποτύχει τότε η λειτουργία δεν υποστηρίζεται, " +"γι' αυτό δεν καλείται η ανακλώμενη μέθοδος." #: reference/datamodel.rst:3915 msgid "" @@ -4517,6 +6687,9 @@ msgid "" "reflected method having precedence allows subclasses to override their " "ancestors' operations." msgstr "" +"Εάν ο τύπος του δεξιού τελεστή είναι υποκλάση του τύπου του αριστερού " +"τελεστή, η προτεραιότητα της ανακλώμενης μεθόδου επιτρέπει στις υποκλάσεις " +"να υπερισχύουν των λειτουργιών των προγόνων τους." #: reference/datamodel.rst:152 reference/datamodel.rst:187 #: reference/datamodel.rst:232 reference/datamodel.rst:270 @@ -4528,11 +6701,11 @@ msgstr "" #: reference/datamodel.rst:1520 reference/datamodel.rst:1738 #: reference/datamodel.rst:3181 msgid "object" -msgstr "" +msgstr "αντικείμενο" #: reference/datamodel.rst:126 msgid "data" -msgstr "" +msgstr "δεδομένα" #: reference/datamodel.rst:301 reference/datamodel.rst:432 #: reference/datamodel.rst:815 reference/datamodel.rst:1821 @@ -4540,941 +6713,941 @@ msgstr "" #: reference/datamodel.rst:3309 reference/datamodel.rst:3412 #: reference/datamodel.rst:3450 msgid "built-in function" -msgstr "" +msgstr "ενσωματωμένη συνάρτηση" #: reference/datamodel.rst:23 msgid "id" -msgstr "" +msgstr "αναγνωριστικό" #: reference/datamodel.rst:126 reference/datamodel.rst:2720 msgid "type" -msgstr "" +msgstr "τύπος" #: reference/datamodel.rst:23 msgid "identity of an object" -msgstr "" +msgstr "ταυτότητα ενός αντικειμένου" #: reference/datamodel.rst:23 msgid "value of an object" -msgstr "" +msgstr "τιμή ενός αντικειμένου" #: reference/datamodel.rst:23 msgid "type of an object" -msgstr "" +msgstr "τύπος ενός αντικειμένου" #: reference/datamodel.rst:23 msgid "mutable object" -msgstr "" +msgstr "ευμετάβλητο αντικείμενο" #: reference/datamodel.rst:23 msgid "immutable object" -msgstr "" +msgstr "αμετάβλητο αντικείμενο" #: reference/datamodel.rst:60 msgid "garbage collection" -msgstr "" +msgstr "συλλογή σκουπιδιών" #: reference/datamodel.rst:60 msgid "reference counting" -msgstr "" +msgstr "καταμέτρηση αναφοράς" #: reference/datamodel.rst:60 msgid "unreachable object" -msgstr "" +msgstr "απρόσιτο αντικείμενο" #: reference/datamodel.rst:1153 msgid "container" -msgstr "" +msgstr "κοντέινερ" #: reference/datamodel.rst:126 msgid "hierarchy" -msgstr "" +msgstr "ιεραρχία" #: reference/datamodel.rst:126 msgid "extension" -msgstr "" +msgstr "επέκταση" #: reference/datamodel.rst:405 reference/datamodel.rst:507 #: reference/datamodel.rst:895 reference/datamodel.rst:1369 msgid "module" -msgstr "" +msgstr "module" #: reference/datamodel.rst:270 reference/datamodel.rst:815 msgid "C" -msgstr "" +msgstr "C" #: reference/datamodel.rst:270 reference/datamodel.rst:815 msgid "language" -msgstr "" +msgstr "γλώσσα" #: reference/datamodel.rst:1153 reference/datamodel.rst:1313 #: reference/datamodel.rst:1333 msgid "attribute" -msgstr "" +msgstr "χαρακτηριστικό" #: reference/datamodel.rst:139 msgid "special" -msgstr "" +msgstr "ειδικό" #: reference/datamodel.rst:139 msgid "generic" -msgstr "" +msgstr "γενικό" #: reference/datamodel.rst:187 msgid "..." -msgstr "" +msgstr "..." #: reference/datamodel.rst:187 msgid "ellipsis literal" -msgstr "" +msgstr "ellipsis literal" #: reference/datamodel.rst:1340 msgid "numeric" -msgstr "" +msgstr "αριθμητικό" #: reference/datamodel.rst:238 reference/datamodel.rst:348 msgid "integer" -msgstr "" +msgstr "ακέραιος" #: reference/datamodel.rst:238 msgid "representation" -msgstr "" +msgstr "αναπαράσταση" #: reference/datamodel.rst:253 msgid "Boolean" -msgstr "" +msgstr "Boolean" #: reference/datamodel.rst:253 msgid "False" -msgstr "" +msgstr "False" #: reference/datamodel.rst:253 msgid "True" -msgstr "" +msgstr "True" #: reference/datamodel.rst:270 msgid "floating-point" -msgstr "" +msgstr "κινητής υποδιαστολής" #: reference/datamodel.rst:288 msgid "number" -msgstr "" +msgstr "αριθμός" #: reference/datamodel.rst:270 msgid "Java" -msgstr "" +msgstr "Java" #: reference/datamodel.rst:3422 msgid "complex" -msgstr "" +msgstr "complex" #: reference/datamodel.rst:432 reference/datamodel.rst:3151 msgid "len" -msgstr "" +msgstr "len" #: reference/datamodel.rst:1340 msgid "sequence" -msgstr "" +msgstr "ακολουθία" #: reference/datamodel.rst:301 msgid "index operation" -msgstr "" +msgstr "λειτουργία ευρετηρίου" #: reference/datamodel.rst:301 msgid "item selection" -msgstr "" +msgstr "επιλογή αντικειμένου" #: reference/datamodel.rst:393 reference/datamodel.rst:471 msgid "subscription" -msgstr "" +msgstr "εγγραφή" #: reference/datamodel.rst:393 msgid "slicing" -msgstr "" +msgstr "τμηματοποίηση" #: reference/datamodel.rst:333 msgid "immutable sequence" -msgstr "" +msgstr "αμετάβλητη ακολουθία" #: reference/datamodel.rst:333 msgid "immutable" -msgstr "" +msgstr "αμετάβλητο" #: reference/datamodel.rst:2039 reference/datamodel.rst:2070 msgid "string" -msgstr "" +msgstr "συμβολοσειρά" #: reference/datamodel.rst:344 msgid "immutable sequences" -msgstr "" +msgstr "αμετάβλητες ακολουθίες" #: reference/datamodel.rst:348 msgid "chr" -msgstr "" +msgstr "chr" #: reference/datamodel.rst:348 msgid "ord" -msgstr "" +msgstr "ord" #: reference/datamodel.rst:348 msgid "character" -msgstr "" +msgstr "χαρακτήρας" #: reference/datamodel.rst:348 msgid "Unicode" -msgstr "" +msgstr "Unicode" #: reference/datamodel.rst:368 msgid "tuple" -msgstr "" +msgstr "πλειάδα" #: reference/datamodel.rst:368 msgid "singleton" -msgstr "" +msgstr "singleton" #: reference/datamodel.rst:368 msgid "empty" -msgstr "" +msgstr "empty" #: reference/datamodel.rst:2064 msgid "bytes" -msgstr "" +msgstr "bytes" #: reference/datamodel.rst:381 msgid "byte" -msgstr "" +msgstr "byte" #: reference/datamodel.rst:393 msgid "mutable sequence" -msgstr "" +msgstr "ευμετάβλητη ακολουθία" #: reference/datamodel.rst:393 msgid "mutable" -msgstr "" +msgstr "ευμετάβλητο" #: reference/datamodel.rst:1171 reference/datamodel.rst:1333 msgid "assignment" -msgstr "" +msgstr "εκχώρηση" #: reference/datamodel.rst:875 reference/datamodel.rst:1957 #: reference/datamodel.rst:3474 msgid "statement" -msgstr "" +msgstr "δήλωση" #: reference/datamodel.rst:405 msgid "array" -msgstr "" +msgstr "πίνακας" #: reference/datamodel.rst:406 msgid "collections" -msgstr "" +msgstr "συλλογές" #: reference/datamodel.rst:414 msgid "list" -msgstr "" +msgstr "λίστα" #: reference/datamodel.rst:421 msgid "bytearray" -msgstr "" +msgstr "πίνακας byte" #: reference/datamodel.rst:432 msgid "set type" -msgstr "" +msgstr "τύπος συνόλου" #: reference/datamodel.rst:452 msgid "set" -msgstr "" +msgstr "σύνολο" #: reference/datamodel.rst:460 msgid "frozenset" -msgstr "" +msgstr "αμετάβλητο σύνολο" #: reference/datamodel.rst:1340 msgid "mapping" -msgstr "" +msgstr "αντιστοίχιση" #: reference/datamodel.rst:1153 reference/datamodel.rst:2163 msgid "dictionary" -msgstr "" +msgstr "λεξικό" #: reference/datamodel.rst:507 msgid "dbm.ndbm" -msgstr "" +msgstr "dbm.ndbm" #: reference/datamodel.rst:507 msgid "dbm.gnu" -msgstr "" +msgstr "dbm.gnu" #: reference/datamodel.rst:524 msgid "callable" -msgstr "" +msgstr "με δυνατότητα κλήσης" #: reference/datamodel.rst:539 reference/datamodel.rst:777 #: reference/datamodel.rst:815 msgid "function" -msgstr "" +msgstr "συνάρτηση" #: reference/datamodel.rst:1153 reference/datamodel.rst:3101 msgid "call" -msgstr "" +msgstr "κλήση" #: reference/datamodel.rst:524 msgid "invocation" -msgstr "" +msgstr "εκτέλεση" #: reference/datamodel.rst:524 msgid "argument" -msgstr "" +msgstr "παράμετρος" #: reference/datamodel.rst:677 msgid "user-defined" -msgstr "" +msgstr "ορισμένο από τον χρήστη" #: reference/datamodel.rst:539 msgid "user-defined function" -msgstr "" +msgstr "συνάρτηση ορισμένη από τον χρήστη" #: reference/datamodel.rst:552 msgid "__closure__ (function attribute)" -msgstr "" +msgstr "__closure__ (χαρακτηριστικό συνάρτησης)" #: reference/datamodel.rst:552 msgid "__globals__ (function attribute)" -msgstr "" +msgstr "__globals__ (χαρακτηριστικό συνάρτησης)" #: reference/datamodel.rst:552 msgid "global" -msgstr "" +msgstr "global" #: reference/datamodel.rst:895 msgid "namespace" -msgstr "" +msgstr "πεδίο ονομάτων" #: reference/datamodel.rst:579 msgid "__doc__ (function attribute)" -msgstr "" +msgstr "__doc__ (χαρακτηριστικό συνάρτησης)" #: reference/datamodel.rst:579 msgid "__name__ (function attribute)" -msgstr "" +msgstr "__name__ (χαρακτηριστικό συνάρτησης)" #: reference/datamodel.rst:579 msgid "__module__ (function attribute)" -msgstr "" +msgstr "__module__ (χαρακτηριστικό συνάρτησης)" #: reference/datamodel.rst:579 msgid "__dict__ (function attribute)" -msgstr "" +msgstr "__dict__ (χαρακτηριστικό συνάρτησης)" #: reference/datamodel.rst:579 msgid "__defaults__ (function attribute)" -msgstr "" +msgstr "__defaults__ (χαρακτηριστικό συνάρτησης)" #: reference/datamodel.rst:579 msgid "__code__ (function attribute)" -msgstr "" +msgstr "__code__ (χαρακτηριστικό συνάρτησης)" #: reference/datamodel.rst:579 msgid "__annotations__ (function attribute)" -msgstr "" +msgstr "__annotations__ (χαρακτηριστικό συνάρτησης)" #: reference/datamodel.rst:579 msgid "__annotate__ (function attribute)" -msgstr "" +msgstr "__annotate__ (χαρακτηριστικό συνάρτησης)" #: reference/datamodel.rst:579 msgid "__kwdefaults__ (function attribute)" -msgstr "" +msgstr "__kwdefaults__ (χαρακτηριστικό συνάρτησης)" #: reference/datamodel.rst:579 msgid "__type_params__ (function attribute)" -msgstr "" +msgstr "__type_params__ (χαρακτηριστικό συνάρτησης)" #: reference/datamodel.rst:839 msgid "method" -msgstr "" +msgstr "μέθοδος" #: reference/datamodel.rst:677 msgid "user-defined method" -msgstr "" +msgstr "μέθοδος ορισμένη από τον χρήστη" #: reference/datamodel.rst:685 msgid "__func__ (method attribute)" -msgstr "" +msgstr "__func__ (χαρακτηριστικό μεθόδου)" #: reference/datamodel.rst:685 msgid "__self__ (method attribute)" -msgstr "" +msgstr "__self__ (χαρακτηριστικό μεθόδου)" #: reference/datamodel.rst:685 msgid "__doc__ (method attribute)" -msgstr "" +msgstr "__doc__ (χαρακτηριστικό μεθόδου)" #: reference/datamodel.rst:685 msgid "__name__ (method attribute)" -msgstr "" +msgstr "__name__ (χαρακτηριστικό μεθόδου)" #: reference/datamodel.rst:685 msgid "__module__ (method attribute)" -msgstr "" +msgstr "__module__ (χαρακτηριστικό μεθόδου)" #: reference/datamodel.rst:1520 msgid "generator" -msgstr "" +msgstr "γεννήτρια" #: reference/datamodel.rst:759 msgid "iterator" -msgstr "" +msgstr "iterator" #: reference/datamodel.rst:3707 msgid "coroutine" -msgstr "" +msgstr "coroutine" #: reference/datamodel.rst:790 msgid "asynchronous generator" -msgstr "" +msgstr "ασύγχρονη γεννήτρια" #: reference/datamodel.rst:790 msgid "asynchronous iterator" -msgstr "" +msgstr "ασύγχρονος iterator" #: reference/datamodel.rst:839 msgid "built-in method" -msgstr "" +msgstr "ενσωματωμένη μέθοδος" #: reference/datamodel.rst:839 msgid "built-in" -msgstr "" +msgstr "built-in" #: reference/datamodel.rst:875 msgid "import" -msgstr "" +msgstr "import" #: reference/datamodel.rst:895 msgid "__name__ (module attribute)" -msgstr "" +msgstr "__name__ (χαρακτηριστικό module)" #: reference/datamodel.rst:895 msgid "__spec__ (module attribute)" -msgstr "" +msgstr "__spec__ (χαρακτηριστικό module)" #: reference/datamodel.rst:895 msgid "__package__ (module attribute)" -msgstr "" +msgstr "__package__ (χαρακτηριστικό module)" #: reference/datamodel.rst:895 msgid "__loader__ (module attribute)" -msgstr "" +msgstr "__loader__ (χαρακτηριστικό module)" #: reference/datamodel.rst:895 msgid "__path__ (module attribute)" -msgstr "" +msgstr "__path__ (χαρακτηριστικό module)" #: reference/datamodel.rst:895 msgid "__file__ (module attribute)" -msgstr "" +msgstr "__file__ (χαρακτηριστικό module)" #: reference/datamodel.rst:895 msgid "__cached__ (module attribute)" -msgstr "" +msgstr "__cached__ (χαρακτηριστικό module)" #: reference/datamodel.rst:895 msgid "__doc__ (module attribute)" -msgstr "" +msgstr "__doc__ (χαρακτηριστικό module)" #: reference/datamodel.rst:895 msgid "__annotations__ (module attribute)" -msgstr "" +msgstr "__annotations__ (χαρακτηριστικό module)" #: reference/datamodel.rst:895 msgid "__annotate__ (module attribute)" -msgstr "" +msgstr "__annotate__ (χαρακτηριστικό module)" #: reference/datamodel.rst:1121 msgid "__dict__ (module attribute)" -msgstr "" +msgstr "__dict__ (χαρακτηριστικό module)" #: reference/datamodel.rst:1171 reference/datamodel.rst:1940 #: reference/datamodel.rst:2831 msgid "class" -msgstr "" +msgstr "κλάση" #: reference/datamodel.rst:1313 reference/datamodel.rst:1333 msgid "class instance" -msgstr "" +msgstr "στιγμιότυπο κλάσης" #: reference/datamodel.rst:1313 reference/datamodel.rst:3101 msgid "instance" -msgstr "" +msgstr "στιγμιότυπο" #: reference/datamodel.rst:1176 msgid "class object" -msgstr "" +msgstr "αντικείμενα κλάσης" #: reference/datamodel.rst:1183 msgid "__name__ (class attribute)" -msgstr "" +msgstr "__name__ (χαρακτηριστικό κλάσης)" #: reference/datamodel.rst:1183 msgid "__module__ (class attribute)" -msgstr "" +msgstr "__module__ (χαρακτηριστικό κλάσης)" #: reference/datamodel.rst:1183 msgid "__dict__ (class attribute)" -msgstr "" +msgstr "__dict__ (χαρακτηριστικό κλάσης)" #: reference/datamodel.rst:1183 msgid "__bases__ (class attribute)" -msgstr "" +msgstr "__bases__ (χαρακτηριστικό κλάσης)" #: reference/datamodel.rst:1183 msgid "__doc__ (class attribute)" -msgstr "" +msgstr "__doc__ (χαρακτηριστικό κλάσης)" #: reference/datamodel.rst:1183 msgid "__annotations__ (class attribute)" -msgstr "" +msgstr "__annotations__ (χαρακτηριστικό κλάσης)" #: reference/datamodel.rst:1183 msgid "__annotate__ (class attribute)" -msgstr "" +msgstr "__annotate__ (χαρακτηριστικό κλάσης)" #: reference/datamodel.rst:1183 msgid "__type_params__ (class attribute)" -msgstr "" +msgstr "__type_params__ (χαρακτηριστικό κλάσης)" #: reference/datamodel.rst:1183 msgid "__static_attributes__ (class attribute)" -msgstr "" +msgstr "__static_attributes__ (χαρακτηριστικό κλάσης)" #: reference/datamodel.rst:1183 msgid "__firstlineno__ (class attribute)" -msgstr "" +msgstr "__firstlineno__ (χαρακτηριστικό κλάσης)" #: reference/datamodel.rst:1351 msgid "__dict__ (instance attribute)" -msgstr "" +msgstr "__dict__ (χαρακτηριστικό στιγμιοτύπου)" #: reference/datamodel.rst:1351 msgid "__class__ (instance attribute)" -msgstr "" +msgstr "__class__ (χαρακτηριστικό στιγμιοτύπου)" #: reference/datamodel.rst:1369 msgid "open" -msgstr "" +msgstr "open" #: reference/datamodel.rst:1369 msgid "io" -msgstr "" +msgstr "io" #: reference/datamodel.rst:1369 msgid "popen() (in module os)" -msgstr "" +msgstr "popen() (στο module os)" #: reference/datamodel.rst:1369 msgid "makefile() (socket method)" -msgstr "" +msgstr "makefile() (μέθοδος socket)" #: reference/datamodel.rst:1369 msgid "sys.stdin" -msgstr "" +msgstr "sys.stdin" #: reference/datamodel.rst:1369 msgid "sys.stdout" -msgstr "" +msgstr "sys.stdout" #: reference/datamodel.rst:1369 msgid "sys.stderr" -msgstr "" +msgstr "sys.stderr" #: reference/datamodel.rst:1369 msgid "stdio" -msgstr "" +msgstr "stdio" #: reference/datamodel.rst:1369 msgid "stdin (in module sys)" -msgstr "" +msgstr "stdin (στο module sys)" #: reference/datamodel.rst:1369 msgid "stdout (in module sys)" -msgstr "" +msgstr "stdout (στο module sys)" #: reference/datamodel.rst:1369 msgid "stderr (in module sys)" -msgstr "" +msgstr "stderr (στο module sys)" #: reference/datamodel.rst:1398 msgid "internal type" -msgstr "" +msgstr "εσωτερικός τύπος" #: reference/datamodel.rst:1398 msgid "types, internal" -msgstr "" +msgstr "τύποι, εσωτερικό" #: reference/datamodel.rst:1412 msgid "bytecode" -msgstr "" +msgstr "bytecode" #: reference/datamodel.rst:1412 msgid "code" -msgstr "" +msgstr "code" #: reference/datamodel.rst:1412 msgid "code object" -msgstr "" +msgstr "code object" #: reference/datamodel.rst:1423 msgid "co_argcount (code object attribute)" -msgstr "" +msgstr "co_argcount (χαρακτηριστικό code object)" #: reference/datamodel.rst:1423 msgid "co_posonlyargcount (code object attribute)" -msgstr "" +msgstr "co_posonlyargcount (χαρακτηριστικό code object)" #: reference/datamodel.rst:1423 msgid "co_kwonlyargcount (code object attribute)" -msgstr "" +msgstr "co_kwonlyargcount (χαρακτηριστικό code object)" #: reference/datamodel.rst:1423 msgid "co_code (code object attribute)" -msgstr "" +msgstr "co_code (χαρακτηριστικό code object)" #: reference/datamodel.rst:1423 msgid "co_consts (code object attribute)" -msgstr "" +msgstr "co_consts (χαρακτηριστικό code object)" #: reference/datamodel.rst:1423 msgid "co_filename (code object attribute)" -msgstr "" +msgstr "co_filename (χαρακτηριστικό code object)" #: reference/datamodel.rst:1423 msgid "co_firstlineno (code object attribute)" -msgstr "" +msgstr "co_firstlineno (χαρακτηριστικό code object)" #: reference/datamodel.rst:1423 msgid "co_flags (code object attribute)" -msgstr "" +msgstr "co_flags (χαρακτηριστικό code object)" #: reference/datamodel.rst:1423 msgid "co_lnotab (code object attribute)" -msgstr "" +msgstr "co_lnotab (χαρακτηριστικό code object)" #: reference/datamodel.rst:1423 msgid "co_name (code object attribute)" -msgstr "" +msgstr "co_name (χαρακτηριστικό code object)" #: reference/datamodel.rst:1423 msgid "co_names (code object attribute)" -msgstr "" +msgstr "co_names (χαρακτηριστικό code object)" #: reference/datamodel.rst:1423 msgid "co_nlocals (code object attribute)" -msgstr "" +msgstr "co_nlocals (χαρακτηριστικό code object)" #: reference/datamodel.rst:1423 msgid "co_stacksize (code object attribute)" -msgstr "" +msgstr "co_stacksize (χαρακτηριστικό code object)" #: reference/datamodel.rst:1423 msgid "co_varnames (code object attribute)" -msgstr "" +msgstr "co_varnames (χαρακτηριστικό code object)" #: reference/datamodel.rst:1423 msgid "co_cellvars (code object attribute)" -msgstr "" +msgstr "co_cellvars (χαρακτηριστικό code object)" #: reference/datamodel.rst:1423 msgid "co_freevars (code object attribute)" -msgstr "" +msgstr "co_freevars (χαρακτηριστικό code object)" #: reference/datamodel.rst:1423 msgid "co_qualname (code object attribute)" -msgstr "" +msgstr "co_qualname (χαρακτηριστικό code object)" #: reference/datamodel.rst:1536 msgid "documentation string" -msgstr "" +msgstr "κείμενο τεκμηρίωσης" #: reference/datamodel.rst:1628 msgid "frame" -msgstr "" +msgstr "frame" #: reference/datamodel.rst:1634 msgid "f_back (frame attribute)" -msgstr "" +msgstr "f_back (χαρακτηριστικό frame)" #: reference/datamodel.rst:1634 msgid "f_code (frame attribute)" -msgstr "" +msgstr "f_code (χαρακτηριστικό frame)" #: reference/datamodel.rst:1634 msgid "f_globals (frame attribute)" -msgstr "" +msgstr "f_globals (χαρακτηριστικό frame)" #: reference/datamodel.rst:1634 msgid "f_locals (frame attribute)" -msgstr "" +msgstr "f_locals (χαρακτηριστικό frame)" #: reference/datamodel.rst:1634 msgid "f_lasti (frame attribute)" -msgstr "" +msgstr "f_lasti (χαρακτηριστικό frame)" #: reference/datamodel.rst:1634 msgid "f_builtins (frame attribute)" -msgstr "" +msgstr "f_builtins (χαρακτηριστικό frame)" #: reference/datamodel.rst:1678 msgid "f_trace (frame attribute)" -msgstr "" +msgstr "f_trace (χαρακτηριστικό frame)" #: reference/datamodel.rst:1678 msgid "f_trace_lines (frame attribute)" -msgstr "" +msgstr "f_trace_lines (χαρακτηριστικό frame)" #: reference/datamodel.rst:1678 msgid "f_trace_opcodes (frame attribute)" -msgstr "" +msgstr "f_trace_opcodes (χαρακτηριστικό frame)" #: reference/datamodel.rst:1678 msgid "f_lineno (frame attribute)" -msgstr "" +msgstr "f_lineno (χαρακτηριστικό frame)" #: reference/datamodel.rst:1738 msgid "traceback" -msgstr "" +msgstr "traceback" #: reference/datamodel.rst:1738 msgid "stack" -msgstr "" +msgstr "stack" #: reference/datamodel.rst:1738 msgid "trace" -msgstr "" +msgstr "trace" #: reference/datamodel.rst:1738 msgid "exception" -msgstr "" +msgstr "exception" #: reference/datamodel.rst:1738 msgid "handler" -msgstr "" +msgstr "χειριστής" #: reference/datamodel.rst:1738 msgid "execution" -msgstr "" +msgstr "execution" #: reference/datamodel.rst:1738 msgid "exc_info (in module sys)" -msgstr "" +msgstr "exc_info (στο module sys)" #: reference/datamodel.rst:1738 msgid "last_traceback (in module sys)" -msgstr "" +msgstr "last_traceback (στο module sys)" #: reference/datamodel.rst:1738 msgid "sys.exc_info" -msgstr "" +msgstr "sys.exc_info" #: reference/datamodel.rst:1738 msgid "sys.exception" -msgstr "" +msgstr "sys.exception" #: reference/datamodel.rst:1738 msgid "sys.last_traceback" -msgstr "" +msgstr "sys.last_traceback" #: reference/datamodel.rst:1775 msgid "tb_frame (traceback attribute)" -msgstr "" +msgstr "tb_frame (χαρακτηριστικό traceback)" #: reference/datamodel.rst:1775 msgid "tb_lineno (traceback attribute)" -msgstr "" +msgstr "tb_lineno (χαρακτηριστικό traceback)" #: reference/datamodel.rst:1775 msgid "tb_lasti (traceback attribute)" -msgstr "" +msgstr "tb_lasti (χαρακτηριστικό traceback)" #: reference/datamodel.rst:1775 msgid "try" -msgstr "" +msgstr "try" #: reference/datamodel.rst:1805 msgid "tb_next (traceback attribute)" -msgstr "" +msgstr "tb_next (χαρακτηριστικό traceback)" #: reference/datamodel.rst:3181 msgid "slice" -msgstr "" +msgstr "slice" #: reference/datamodel.rst:1827 msgid "start (slice object attribute)" -msgstr "" +msgstr "start (χαρακτηριστικό αντικειμένου slice)" #: reference/datamodel.rst:1827 msgid "stop (slice object attribute)" -msgstr "" +msgstr "stop (χαρακτηριστικό αντικειμένου slice)" #: reference/datamodel.rst:1827 msgid "step (slice object attribute)" -msgstr "" +msgstr "step (χαρακτηριστικό αντικειμένου slice)" #: reference/datamodel.rst:1875 msgid "operator" -msgstr "" +msgstr "τελεστής" #: reference/datamodel.rst:1875 msgid "overloading" -msgstr "" +msgstr "υπερφόρτωση" #: reference/datamodel.rst:1875 msgid "__getitem__() (mapping object method)" -msgstr "" +msgstr "__getitem__() (μέθοδος αντικειμένου αντιστοίχισης)" #: reference/datamodel.rst:1911 msgid "subclassing" -msgstr "" +msgstr "δημιουργία υποκλάσης" #: reference/datamodel.rst:1911 msgid "immutable types" -msgstr "" +msgstr "αμετάβλητοι τύποι" #: reference/datamodel.rst:1940 msgid "constructor" -msgstr "" +msgstr "constructor" #: reference/datamodel.rst:1957 msgid "destructor" -msgstr "" +msgstr "destructor" #: reference/datamodel.rst:1957 msgid "finalizer" -msgstr "" +msgstr "finalizer" #: reference/datamodel.rst:1957 msgid "del" -msgstr "" +msgstr "del" #: reference/datamodel.rst:2021 msgid "repr() (built-in function)" -msgstr "" +msgstr "repr() (ενσωματωμένη συνάρτηση)" #: reference/datamodel.rst:2021 msgid "__repr__() (object method)" -msgstr "" +msgstr "__repr__() (μέθοδος αντικειμένου)" #: reference/datamodel.rst:2039 msgid "__str__() (object method)" -msgstr "" +msgstr "__str__() (μέθοδος αντικειμένου)" #: reference/datamodel.rst:2039 msgid "format() (built-in function)" -msgstr "" +msgstr "format() (ενσωματωμένη συνάρτηση)" #: reference/datamodel.rst:2039 msgid "print() (built-in function)" -msgstr "" +msgstr "print() (ενσωματωμένη συνάρτηση)" #: reference/datamodel.rst:2070 msgid "__format__() (object method)" -msgstr "" +msgstr "__format__() (μέθοδος αντικειμένου)" #: reference/datamodel.rst:2070 msgid "conversion" -msgstr "" +msgstr "μετατροπή" #: reference/datamodel.rst:2070 msgid "print" -msgstr "" +msgstr "print" #: reference/datamodel.rst:2112 msgid "comparisons" -msgstr "" +msgstr "συγκρίσεις" #: reference/datamodel.rst:2163 msgid "hash" -msgstr "" +msgstr "hash" #: reference/datamodel.rst:2244 msgid "__len__() (mapping object method)" -msgstr "" +msgstr "__len__() (μέθοδος αντιστοίχισης αντικειμένου)" #: reference/datamodel.rst:2349 msgid "__getattr__ (module attribute)" -msgstr "" +msgstr "__getattr__ (χαρακτηριστικό module)" #: reference/datamodel.rst:2349 msgid "__dir__ (module attribute)" -msgstr "" +msgstr "__dir__ (χαρακτηριστικό module)" #: reference/datamodel.rst:2349 msgid "__class__ (module attribute)" -msgstr "" +msgstr "__class__ (χαρακτηριστικό module)" #: reference/datamodel.rst:2720 msgid "metaclass" -msgstr "" +msgstr "μετακλάση" #: reference/datamodel.rst:2720 msgid "= (equals)" -msgstr "" +msgstr "= (ισοδυναμεί)" #: reference/datamodel.rst:2720 msgid "class definition" -msgstr "" +msgstr "ορισμός κλάσης" #: reference/datamodel.rst:2784 msgid "metaclass hint" -msgstr "" +msgstr "υπόδειξη μετακλάσης" #: reference/datamodel.rst:2807 msgid "__prepare__ (metaclass method)" -msgstr "" +msgstr "__prepare__ (μέθοδος μετακλάσης)" #: reference/datamodel.rst:2831 msgid "body" -msgstr "" +msgstr "σώμα" #: reference/datamodel.rst:2851 msgid "__class__ (method cell)" -msgstr "" +msgstr "__class__ (κελί που περιέχει μέθοδο)" #: reference/datamodel.rst:2851 msgid "__classcell__ (class namespace entry)" -msgstr "" +msgstr "__classcell__ (καταχώρηση στο namespace της κλάσης)" #: reference/datamodel.rst:3151 msgid "__bool__() (object method)" -msgstr "" +msgstr "__bool__() (μέθοδος αντικειμένου)" #: reference/datamodel.rst:3344 msgid "divmod" -msgstr "" +msgstr "divmod" #: reference/datamodel.rst:3344 msgid "pow" -msgstr "" +msgstr "pow" #: reference/datamodel.rst:3412 msgid "abs" -msgstr "" +msgstr "abs" #: reference/datamodel.rst:3422 msgid "int" -msgstr "" +msgstr "int" #: reference/datamodel.rst:3422 msgid "float" -msgstr "" +msgstr "float" #: reference/datamodel.rst:3450 msgid "round" -msgstr "" +msgstr "round" #: reference/datamodel.rst:3474 msgid "with" -msgstr "" +msgstr "with" #: reference/datamodel.rst:3474 msgid "context manager" -msgstr "" +msgstr "διαχειριστής περιβάλλοντος" diff --git a/using/windows.po b/using/windows.po index 596cd08a..e3dadb06 100644 --- a/using/windows.po +++ b/using/windows.po @@ -9,9 +9,9 @@ msgstr "" "Project-Id-Version: Python 3.12\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-06-19 17:36+0300\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" +"PO-Revision-Date: 2025-11-04 21:13+0200\n" +"Last-Translator: Panagiotis Skias \n" +"Language-Team: PyGreece \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,13 +19,16 @@ msgstr "" #: using/windows.rst:11 msgid "Using Python on Windows" -msgstr "" +msgstr "Χρησιμοποιώντας Python στα Windows" #: using/windows.rst:15 msgid "" "This document aims to give an overview of Windows-specific behaviour you " "should know about when using Python on Microsoft Windows." msgstr "" +"Αυτό το έγγραφο στοχεύει να δώσει μια επισκόπηση της συμπεριφοράς των " +"Windows που πρέπει να γνωρίζετε, όταν χρησιμοποιείτε την Python στα " +"Microsoft Windows." #: using/windows.rst:18 msgid "" @@ -37,6 +40,15 @@ msgid "" "benefit. Before committing to the process described here, we recommend " "investigating your existing tools to see if they can provide Python directly." msgstr "" +"Σε αντίθεση με τα περισσότερα συστήματα και υπηρεσίες Unix, τα Windows δεν " +"περιλαμβάνουν μια υποστηριζόμενη από το σύστημα εγκατάσταση της Python. " +"Αντίθετα, η Python μπορεί να αποκτηθεί από αρκετούς διανομείς, " +"συμπεριλαμβανομένης της άμεσης λήψης από την ομάδα CPython. Κάθε διανομή " +"Python θα έχει τα δικά της πλεονεκτήματα και μειονεκτήματα, ωστόσο, η " +"συνέπεια με άλλα εργαλεία που χρησιμοποιείτε είναι γενικά ένα αξιόλογο " +"πλεονέκτημα. Πριν δεσμευτείτε στη διαδικασία που περιγράφεται εδώ, " +"συνιστούμε να ερευνήσετε τα υπάρχοντα εργαλεία σας για να δείτε αν μπορούν " +"να παρέχουν την Python απευθείας." #: using/windows.rst:26 msgid "" @@ -46,6 +58,12 @@ msgid "" "You can download the Python Install Manager from `python.org/downloads`_ or " "through the `Microsoft Store app`_." msgstr "" +"Για να αποκτήσετε την Python από την ομάδα CPython, χρησιμοποιήστε τον " +"Python Install Manager. Αυτό είναι ένα αυτόνομο εργαλείο που καθιστά την " +"Python διαθέσιμη ως παγκόσμιες εντολές στον υπολογιστή σας με Windows, " +"ενσωματώνεται με το σύστημα και υποστηρίζει ενημερώσεις με την πάροδο του " +"χρόνου. Μπορείτε να κατεβάσετε τον Python Install Manager από το `python.org/" +"downloads`_ ή μέσω του `Microsoft Store app`_." #: using/windows.rst:32 msgid "" @@ -54,6 +72,11 @@ msgid "" "of Python. This version may change over time as you add or remove different " "versions, and the ``py list`` command will show which is current." msgstr "" +"Μόλις εγκαταστήσετε τον Python Install Manager, η παγκόσμια εντολή " +"``python`` μπορεί να χρησιμοποιηθεί από οποιοδήποτε τερματικό για να " +"εκκινήσει την τρέχουσα τελευταία έκδοση της Python. Αυτή η έκδοση μπορεί να " +"αλλάξει με την πάροδο του χρόνου καθώς προσθέτετε ή αφαιρείτε διαφορετικές " +"εκδόσεις, και η εντολή ``py list`` θα δείξει ποια είναι η τρέχουσα." #: using/windows.rst:37 msgid "" @@ -64,6 +87,13 @@ msgid "" "available in your session. Create a virtual environment using ``python -m " "venv ``." msgstr "" +"Γενικά, συνιστούμε να δημιουργήσετε ένα :ref:`εικονικό περιβάλλον ` για κάθε έργο και να εκτελέσετε ``\\Scripts\\Activate`` στο " +"τερματικό σας για να το χρησιμοποιήσετε. Αυτό παρέχει απομόνωση μεταξύ των " +"έργων, συνέπεια με την πάροδο του χρόνου και διασφαλίζει ότι οι επιπλέον " +"εντολές που προστίθενται από τα πακέτα είναι επίσης διαθέσιμες στη συνεδρία " +"σας. Δημιουργήστε ένα εικονικό περιβάλλον χρησιμοποιώντας ``python -m venv " +"``." #: using/windows.rst:43 msgid "" @@ -71,6 +101,10 @@ msgid "" "the :ref:`Troubleshooting ` section below. There are " "sometimes additional manual steps required to configure your PC." msgstr "" +"Εάν οι εντολές ``python`` ή ``py`` δεν φαίνεται να λειτουργούν, παρακαλούμε " +"δείτε την ενότητα :ref:`Επίλυση προβλημάτων ` " +"παρακάτω. Υπάρχουν μερικές φορές επιπλέον χειροκίνητα βήματα που απαιτούνται " +"για τη διαμόρφωση του υπολογιστή σας." #: using/windows.rst:47 msgid "" @@ -78,6 +112,9 @@ msgid "" "NuGet packages. See :ref:`windows-nuget` below for more information on these " "packages." msgstr "" +"Εκτός από τη χρήση του διαχειριστή εγκατάστασης Python, η Python μπορεί " +"επίσης να αποκτηθεί ως πακέτο NuGet. Δείτε :ref:`windows-nuget` παρακάτω για " +"περισσότερες πληροφορίες σχετικά με αυτά τα πακέτα." #: using/windows.rst:51 msgid "" @@ -86,14 +123,18 @@ msgid "" "manager. See :ref:`windows-embeddable` below for more information on these " "packages." msgstr "" +"Οι ενσωματώσιμες διανομές είναι ελάχιστα πακέτα της Python κατάλληλα για " +"ενσωμάτωση σε μεγαλύτερες εφαρμογές. Μπορούν να εγκατασταθούν " +"χρησιμοποιώντας τον διαχειριστή εγκατάστασης Python. Δείτε :ref:`windows-" +"embeddable` παρακάτω για περισσότερες πληροφορίες σχετικά με αυτά τα πακέτα." #: using/windows.rst:64 msgid "Python Install Manager" -msgstr "" +msgstr "Διαχειριστής Εγκατάστασης Python" #: using/windows.rst:67 msgid "Installation" -msgstr "" +msgstr "Εγκατάσταση" #: using/windows.rst:69 msgid "" @@ -101,12 +142,18 @@ msgid "" "or downloaded and installed from `python.org/downloads`_. The two versions " "are identical." msgstr "" +"Ο διαχειριστής εγκατάστασης Python μπορεί να εγκατασταθεί από την εφαρμογή " +"`Microsoft Store app`_ ή να ληφθεί και να εγκατασταθεί από το `python.org/" +"downloads`_. Οι δύο εκδόσεις είναι ταυτόσημες." #: using/windows.rst:73 msgid "" "To install through the Store, simply click \"Install\". After it has " "completed, open a terminal and type ``python`` to get started." msgstr "" +"Για να εγκαταστήσετε μέσω του Store, απλώς κάντε κλικ στο \"Εγκατάσταση\". " +"Αφού ολοκληρωθεί, ανοίξτε ένα τερματικό και πληκτρολογήστε ``python`` για να " +"ξεκινήσετε." #: using/windows.rst:76 msgid "" @@ -114,6 +161,9 @@ msgid "" "select \"Install\", or run ``Add-AppxPackage `` in Windows " "Powershell." msgstr "" +"Για να εγκαταστήσετε το αρχείο που κατεβάσατε από το python.org, είτε κάντε " +"διπλό κλικ και επιλέξτε \"Εγκατάσταση\", είτε εκτελέστε ``Add-AppxPackage " +"<διαδρομή προς MSIX>`` στα Windows Powershell." #: using/windows.rst:79 msgid "" @@ -123,6 +173,12 @@ msgid "" "undo the modifications. See :ref:`pymanager-troubleshoot` for more help with " "fixing non-working commands." msgstr "" +"Μετά την εγκατάσταση, οι εντολές ``python``, ``py`` και ``pymanager`` θα " +"πρέπει να είναι διαθέσιμες. Αν έχετε υπάρχουσες εγκαταστάσεις της Python, ή " +"έχετε τροποποιήσει τη μεταβλητή :envvar:`PATH`, ίσως χρειαστεί να τις " +"αφαιρέσετε ή να αναιρέσετε τις τροποποιήσεις. Δείτε :ref:`pymanager-" +"troubleshoot` για περισσότερη βοήθεια σχετικά με την αποκατάσταση μη " +"λειτουργικών εντολών." #: using/windows.rst:85 msgid "" @@ -134,12 +190,24 @@ msgid "" "an administrator. Click Start and search for \"Edit environment variables " "for your account\" for the system settings page to add the path." msgstr "" +"Όταν εγκαθιστάτε για πρώτη φορά ένα runtime, πιθανότατα θα σας ζητηθεί να " +"προσθέσετε έναν φάκελο στη μεταβλητή :envvar:`PATH`. Αυτό είναι προαιρετικό, " +"αν προτιμάτε να χρησιμοποιήσετε την εντολή ``py``, αλλά προσφέρεται για " +"όσους προτιμούν να είναι διαθέσιμη η πλήρης γκάμα ψευδωνύμων (όπως το " +"``python3.14.exe``). Ο φάκελος θα είναι :file:`%LocalAppData%\\\\Python\\" +"\\bin` από προεπιλογή, αλλά μπορεί να προσαρμοστεί από έναν διαχειριστή. " +"Κάντε κλικ στο Έναρξη και αναζητήστε \"Επεξεργασία μεταβλητών περιβάλλοντος " +"για τον λογαριασμό σας\" για τη σελίδα ρυθμίσεων συστήματος για να " +"προσθέσετε τη διαδρομή." #: using/windows.rst:93 msgid "" "Each Python runtime you install will have its own directory for scripts. " "These also need to be added to :envvar:`PATH` if you want to use them." msgstr "" +"Κάθε runtime της Python που εγκαθιστάτε θα έχει το δικό του φάκελο για " +"σενάρια. Αυτά πρέπει επίσης να προστεθούν στη μεταβλητή :envvar:`PATH` αν " +"θέλετε να τα χρησιμοποιήσετε." #: using/windows.rst:96 msgid "" @@ -147,6 +215,10 @@ msgid "" "This does not affect any installs of Python runtimes. Uninstalling the " "Python install manager does not uninstall any Python runtimes." msgstr "" +"Ο διαχειριστής εγκατάστασης Python θα ενημερώνεται αυτόματα σε νέες " +"εκδόσεις. Αυτό δεν επηρεάζει καμία εγκατάσταση runtime της Python. Η " +"απεγκατάσταση του διαχειριστή εγκατάστασης Python δεν απεγκαθιστά καμία " +"εγκατάσταση runtime της Python." #: using/windows.rst:100 msgid "" @@ -155,10 +227,14 @@ msgid "" "targeting Windows Server 2019, please see :ref:`pymanager-advancedinstall` " "below for more information." msgstr "" +"Εάν δεν μπορείτε να εγκαταστήσετε ένα MSIX στο πλαίσιο σας, για παράδειγμα, " +"χρησιμοποιείτε λογισμικό αυτοματοποιημένης ανάπτυξης που δεν το υποστηρίζει, " +"ή στοχεύετε τα Windows Server 2019, παρακαλώ δείτε :ref:`pymanager-" +"advancedinstall` παρακάτω για περισσότερες πληροφορίες." #: using/windows.rst:107 msgid "Basic Use" -msgstr "" +msgstr "Βασική Χρήση" #: using/windows.rst:109 msgid "" @@ -169,6 +245,13 @@ msgid "" "specifically requested and no runtimes are installed at all, the current " "latest release will be installed automatically." msgstr "" +"Η συνιστώμενη εντολή για την εκκίνηση της Python είναι ``python``, η οποία " +"θα εκκινήσει είτε την έκδοση που ζητείται από το σενάριο που εκκινείται, " +"είτε ένα ενεργό εικονικό περιβάλλον, είτε την προεπιλεγμένη εγκατεστημένη " +"έκδοση, η οποία θα είναι η τελευταία σταθερή έκδοση εκτός αν έχει ρυθμιστεί " +"διαφορετικά. Εάν δεν ζητηθεί συγκεκριμένα καμία έκδοση και δεν είναι " +"εγκατεστημένες καθόλου εκδόσεις, η τρέχουσα τελευταία έκδοση θα εγκατασταθεί " +"αυτόματα." #: using/windows.rst:116 msgid "" @@ -179,6 +262,13 @@ msgid "" "version as well as subcommands to manage installations. These are detailed " "below." msgstr "" +"Για όλα τα σενάρια που περιλαμβάνουν πολλαπλές εκδόσεις runtime, η " +"συνιστώμενη εντολή είναι ``py``. Αυτή μπορεί να χρησιμοποιηθεί οπουδήποτε " +"αντί για ``python`` ή τον παλαιότερο εκκινητή ``py.exe``. Από προεπιλογή, το " +"``py`` ταιριάζει με τη συμπεριφορά του ``python``, αλλά επιτρέπει επίσης " +"επιλογές γραμμής εντολών για την επιλογή μιας συγκεκριμένης έκδοσης, καθώς " +"και υποεντολές για τη διαχείριση εγκαταστάσεων. Αυτές περιγράφονται " +"λεπτομερώς " #: using/windows.rst:122 msgid "" @@ -191,6 +281,15 @@ msgid "" "interpreter, while ``pymanager`` will display help (``pymanager exec ...`` " "provides equivalent behaviour to ``py ...``)." msgstr "" +"Επειδή η εντολή ``py`` μπορεί ήδη να χρησιμοποιείται από την προηγούμενη " +"έκδοση, υπάρχει επίσης μια αναμφισβήτητη εντολή ``pymanager``. Οι " +"αυτοματοποιημένες εγκαταστάσεις που σκοπεύουν να χρησιμοποιήσουν τον " +"διαχειριστή εγκατάστασης Python θα πρέπει να εξετάσουν τη χρήση του " +"``pymanager``, λόγω της χαμηλότερης πιθανότητας να προκύψει σύγκρουση με " +"υπάρχουσες εγκαταστάσεις. Η μόνη διαφορά μεταξύ των δύο εντολών είναι όταν " +"εκτελούνται χωρίς κανένα επιχείρημα: ``py`` θα εγκαταστήσει και θα εκκινήσει " +"τον προεπιλεγμένο διερμηνέα σας, ενώ το ``pymanager`` θα εμφανίσει βοήθεια " +"(``pymanager exec ...`` παρέχει ισοδύναμη συμπεριφορά με το ``py ...``)." #: using/windows.rst:131 msgid "" @@ -200,6 +299,12 @@ msgid "" "is intended to catch accidental uses of the typical POSIX command on " "Windows, but is not meant to be widely used or recommended." msgstr "" +"Κάθε μία από αυτές τις εντολές έχει επίσης μια έκδοση με παράθυρο που " +"αποφεύγει τη δημιουργία ενός παραθύρου κονσόλας. Αυτές είναι οι ``pyw``, " +"``pythonw`` και ``pymanagerw``. Μια εντολή ``python3`` περιλαμβάνεται επίσης " +"που μιμείται την εντολή ``python``. Είναι σχεδιασμένη να συλλαμβάνει τυχαίες " +"χρήσεις της τυπικής εντολής POSIX σε Windows, αλλά δεν προορίζεται να " +"χρησιμοποιείται ευρέως ή να συνιστάται." #: using/windows.rst:137 msgid "" @@ -207,6 +312,9 @@ msgid "" "you want to be passed to the runtime (such as script files or the module to " "launch):" msgstr "" +"Για να εκκινήσετε το προεπιλεγμένο χρόνο εκτέλεσης σας, εκτελέστε το " +"``python`` ή το ``py`` με τα ορίσματα που θέλετε να περαστούν στο χρόνο " +"εκτέλεσης (όπως αρχεία σεναρίων ή το module για εκκίνηση):" #: using/windows.rst:140 msgid "" @@ -217,6 +325,12 @@ msgid "" "$> py -m this\n" "..." msgstr "" +"$> py\n" +"...\n" +"$> python my-script.py\n" +"...\n" +"$> py -m this\n" +"..." #: using/windows.rst:149 msgid "" @@ -224,6 +338,10 @@ msgid "" "`PYTHON_MANAGER_DEFAULT` environment variable, or a configuration file. See :" "ref:`pymanager-config` for information about configuration settings." msgstr "" +"Ο προεπιλεγμένος χρόνος εκτέλεσης μπορεί να παρακαμφθεί με τη μεταβλητή " +"περιβάλλοντος :envvar:`PYTHON_MANAGER_DEFAULT`, ή ένα αρχείο διαμόρφωσης. " +"Δείτε :ref:`pymanager-config` για πληροφορίες σχετικά με τις ρυθμίσεις " +"διαμόρφωσης." #: using/windows.rst:153 msgid "" @@ -234,12 +352,20 @@ msgid "" "the ``V:`` may be omitted in cases where the tag refers to an official " "release and starts with ``3``." msgstr "" +"Για να εκκινήσετε ένα συγκεκριμένο χρόνο εκτέλεσης, η εντολή ``py`` δέχεται " +"μια επιλογή ``-V:``. Αυτή η επιλογή πρέπει να καθοριστεί πριν από " +"οποιεσδήποτε άλλες. Το tag είναι μέρος ή όλο το αναγνωριστικό για το χρόνο " +"εκτέλεσης. Για αυτά από την ομάδα CPython, μοιάζει με την έκδοση, πιθανώς με " +"την πλατφόρμα. Για λόγους συμβατότητας, το ``V:`` μπορεί να παραλειφθεί σε " +"περιπτώσεις όπου το tag αναφέρεται σε μια επίσημη έκδοση και ξεκινά με ``3``." #: using/windows.rst:160 msgid "" "$> py -V:3.14 ...\n" "$> py -V:3-arm64 ..." msgstr "" +"$> py -V:3.14 ...\n" +"$> py -V:3-arm64 ..." #: using/windows.rst:165 msgid "" @@ -249,12 +375,19 @@ msgid "" "the tag is optional (but not the slash) when you want the latest release " "from a specific company." msgstr "" +"Οι χρόνοι εκτέλεσης από άλλους διανομείς μπορεί να απαιτούν να συμπεριληφθεί " +"και η *εταιρεία*. Αυτό θα πρέπει να διαχωρίζεται από το tag με μια κάθετο, " +"και μπορεί να είναι ένα πρόθεμα. Η καθορισμός της εταιρείας είναι " +"προαιρετικός όταν είναι ``PythonCore``, και η καθορισμός του tag είναι " +"προαιρετικός (αλλά όχι η κάθετος) όταν θέλετε την τελευταία έκδοση " #: using/windows.rst:171 msgid "" "$> py -V:Distributor\\1.0 ...\n" "$> py -V:distrib/ ..." msgstr "" +"$> py -V:Distributor\\1.0 ...\n" +"$> py -V:distrib/ ..." #: using/windows.rst:176 msgid "" @@ -264,6 +397,12 @@ msgid "" "for more information. When there is no shebang line, or it cannot be " "resolved, the script will be launched with the default runtime." msgstr "" +"Εάν δεν καθοριστεί καμία έκδοση, αλλά περαστεί ένα αρχείο σεναρίου, το " +"σενάριο θα επιθεωρηθεί για μια *shebang line*. Αυτό είναι μια ειδική μορφή " +"για την πρώτη γραμμή σε ένα αρχείο που επιτρέπει την παράκαμψη της εντολής. " +"Δείτε :ref:`pymanager-shebang` για περισσότερες πληροφορίες. Όταν δεν " +"υπάρχει shebang line, ή δεν μπορεί να επιλυθεί, το σενάριο θα εκκινήσει με " +"το προεπιλεγμένο χρόνο εκτέλεσης." #: using/windows.rst:182 msgid "" @@ -273,6 +412,12 @@ msgid "" "likely already overridden and none of these checks occurred. However, this " "behaviour ensures that the ``py`` command can be used interchangeably." msgstr "" +"Εάν τρέχετε σε ένα ενεργό εικονικό περιβάλλον, δεν έχετε ζητήσει μια " +"συγκεκριμένη έκδοση, και δεν υπάρχει shebang line, το προεπιλεγμένο runtime " +"θα είναι αυτό το εικονικό περιβάλλον.Σε αυτό το σενάριο, η εντολή ``python`` " +"πιθανότατα είχε ήδη παρακαμφθεί και κανένας από αυτούς τους ελέγχους δεν " +"συνέβη. Ωστόσο, αυτή η συμπεριφορά διασφαλίζει ότι η εντολή ``py`` μπορεί να " +"χρησιμοποιηθεί εναλλακτικά." #: using/windows.rst:188 msgid "" @@ -283,10 +428,17 @@ msgid "" "``PYTHON_MANAGER_AUTOMATIC_INSTALL`` to ``true``), or if the ``py exec`` or " "``pymanager exec`` forms of the command were used." msgstr "" +"Όταν εκκινείτε είτε το ``python`` είτε το ``py`` αλλά δεν έχετε " +"εγκατεστημένους χρόνους εκτέλεσης, και η ζητούμενη έκδοση είναι η " +"προεπιλεγμένη, θα εγκατασταθεί αυτόματα και στη συνέχεια θα εκκινήσει. " +"Διαφορετικά, η ζητούμενη έκδοση θα εγκατασταθεί εάν η αυτόματη εγκατάσταση " +"είναι ρυθμισμένη (πιθανότατα ορίζοντας το " +"``PYTHON_MANAGER_AUTOMATIC_INSTALL`` σε ``true``), ή εάν χρησιμοποιήθηκαν οι " +"μορφές ``py exec`` ή ``pymanager exec`` της εντολής." #: using/windows.rst:197 msgid "Command Help" -msgstr "" +msgstr "Εντολή Βοήθειας" #: using/windows.rst:199 msgid "" @@ -294,6 +446,10 @@ msgid "" "along with their options. Any command may be passed the ``-?`` option to " "display its help, or its name passed to ``py help``." msgstr "" +"Η εντολή ``py help`` θα εμφανίσει την πλήρη λίστα των υποστηριζόμενων " +"εντολών, μαζί με τις επιλογές τους. Οποιαδήποτε εντολή μπορεί να περάσει την " +"επιλογή ``-?`` για να εμφανίσει τη βοήθειά της, ή το όνομά της μπορεί να " +"περαστεί στην εντολή ``py help``." #: using/windows.rst:203 msgid "" @@ -301,6 +457,9 @@ msgid "" "$> py help install\n" "$> py install /?" msgstr "" +"$> py help\n" +"$> py help install\n" +"$> py install /?" #: using/windows.rst:210 msgid "" @@ -310,6 +469,12 @@ msgid "" "will increase it further for debugging purposes. Passing ``-q`` or ``--" "quiet`` will reduce output, and ``-qq`` will reduce it further." msgstr "" +"Όλες οι εντολές υποστηρίζουν μερικές κοινές επιλογές, οι οποίες θα " +"εμφανιστούν από το ``py help``. Αυτές οι επιλογές πρέπει να καθοριστούν μετά " +"από οποιοδήποτε υποεντολή. Ο καθορισμός του ``-v`` ή ``--verbose`` θα " +"αυξήσει την ποσότητα της εμφανιζόμενης εξόδου, και ``-vv`` θα την αυξήσει " +"περαιτέρω για σκοπούς αποσφαλμάτωσης. Η μετάβαση του ``-q`` ή ``--quiet`` θα " +"μειώσει την έξοδο, και ``-qq`` θα την μειώσει περαιτέρω." #: using/windows.rst:216 msgid "" @@ -317,16 +482,22 @@ msgid "" "override multiple settings at once. See :ref:`pymanager-config` below for " "more information about these files." msgstr "" +"Η επιλογή ``--config=`` επιτρέπει τον καθορισμό ενός αρχείου " +"διαμόρφωσης για να παρακαμφθούν πολλές ρυθμίσεις ταυτόχρονα. Δείτε :ref:" +"`pymanager-config` παρακάτω για περισσότερες πληροφορίες σχετικά με αυτά τα " +"αρχεία." #: using/windows.rst:222 msgid "Listing Runtimes" -msgstr "" +msgstr "Καταχώριση Χρόνων Εκτέλεσης" #: using/windows.rst:224 msgid "" "$> py list [-f=|--format=] [-1|--one] [--online|-s=|--source=] " "[...]" msgstr "" +"$> py list [-f=|--format=] [-1|--one] [--online|-s=|--source=] " +"[...]" #: using/windows.rst:228 msgid "" @@ -335,6 +506,11 @@ msgid "" "specifier), and each may include a ``<``, ``<=``, ``>=`` or ``>`` prefix to " "restrict to a range." msgstr "" +"Η λίστα των εγκατεστημένων χρόνων εκτέλεσης μπορεί να προβληθεί " +"χρησιμοποιώντας το ``py list``. Μπορεί να προστεθεί ένα φίλτρο με τη μορφή " +"ενός ή περισσότερων tags (με ή χωρίς καθοριστή εταιρείας), και το καθένα " +"μπορεί να περιλαμβάνει ένα πρόθεμα ``<``, ``<=``, ``>=`` ή ``>`` για " +"περιορισμό σε μια περιοχή." #: using/windows.rst:232 msgid "" @@ -344,6 +520,12 @@ msgid "" "JSON blob), ``jsonl`` (one JSON blob per result), ``exe`` (just the " "executable path), ``prefix`` (just the prefix path)." msgstr "" +"Ένα εύρος μορφών υποστηρίζεται, και μπορεί να περαστεί ως η επιλογή ``--" +"format=`` ή ``-f ``. Οι μορφές περιλαμβάνουν ``table`` (μια φιλική " +"προς το χρήστη προβολή πίνακα), ``csv`` (πίνακας με κόμμα-διαχωρισμό), " +"``json`` (ένα μόνο JSON blob), ``jsonl`` (ένα JSON blob ανά αποτέλεσμα), " +"``exe`` (μόνο η διαδρομή εκτελέσιμου), ``prefix`` (μόνο η διαδρομή " +"προθέματος)." #: using/windows.rst:238 msgid "" @@ -353,6 +535,12 @@ msgid "" "most recent version). The result shown by ``py list --one `` will match " "the runtime that would be launched by ``py -V:``." msgstr "" +"Το ``--one`` ή ``-1`` εμφανίζει μόνο ένα αποτέλεσμα. Εάν περιλαμβάνεται ο " +"προεπιλεγμένος χρόνος εκτέλεσης, θα είναι αυτός. Διαφορετικά, εμφανίζεται το " +"\"καλύτερο\" αποτέλεσμα (το \"καλύτερο\" είναι σκόπιμα ασαφώς ορισμένο, αλλά " +"συνήθως θα είναι η πιο πρόσφατη έκδοση). Το αποτέλεσμα που εμφανίζεται από " +"το ``py list --one `` θα ταιριάξει με το χρόνο εκτέλεσης που θα " +"εκκινηθεί από το ``py -V:``." #: using/windows.rst:244 msgid "" @@ -360,6 +548,10 @@ msgid "" "the Python install manager. This is useful when determining which runtimes " "may be updated or uninstalled through the ``py`` command." msgstr "" +"Η επιλογή ``--only-managed`` εξαιρεί αποτελέσματα που δεν εγκαταστάθηκαν από " +"τον διαχειριστή εγκατάστασης Python. Αυτό είναι χρήσιμο κατά τον " +"προσδιορισμό των χρόνων εκτέλεσης που μπορούν να ενημερωθούν ή να " +"απεγκατασταθούν μέσω της εντολής ``py``." #: using/windows.rst:248 msgid "" @@ -369,10 +561,16 @@ msgid "" "one `` will match the runtime that would be installed by ``py install " "``." msgstr "" +"Η επιλογή ``--online`` είναι συντομογραφία για τη μετάβαση του ``--" +"source=`` με την προεπιλεγμένη πηγή. Η μετάβαση οποιασδήποτε από αυτές " +"τις επιλογές θα αναζητήσει στο διαδικτυακό ευρετήριο για χρόνους εκτέλεσης " +"που μπορούν να εγκατασταθούν. Το αποτέλεσμα που εμφανίζεται από το ``py list " +"--online --one `` θα ταιριάξει με το χρόνο εκτέλεσης που θα " +"εγκατασταθεί από το ``py install ``." #: using/windows.rst:253 msgid "$> py list --online 3.14" -msgstr "" +msgstr "$> py list --online 3.14" #: using/windows.rst:257 msgid "" @@ -380,16 +578,21 @@ msgid "" "``-0`` and ``-0p`` commands (e.g. ``py -0p``) are retained. They do not " "allow additional options, and will produce legacy formatted output." msgstr "" +"Για συμβατότητα με τον παλιό εκκινητή, οι εντολές ``--list``, ``--list-" +"paths``, ``-0`` και ``-0p`` (π.χ. ``py -0p``) διατηρούνται. Δεν επιτρέπουν " +"πρόσθετες επιλογές, και θα παράγουν έξοδο σε παλιά μορφή." #: using/windows.rst:263 msgid "Installing Runtimes" -msgstr "" +msgstr "Εγκαθιστώντας Χρόνους Εκτέλεσης" #: using/windows.rst:265 msgid "" "$> py install [-s=|--source=] [-f|--force] [-u|--update] [--dry-run] " "[...]" msgstr "" +"$> py install [-s=|--source=] [-f|--force] [-u|--update] [--dry-run] " +"[...]" #: using/windows.rst:269 msgid "" @@ -397,6 +600,10 @@ msgid "" "be specified, and the special tag ``default`` may be used to select the " "default. Ranges are not supported for installation." msgstr "" +"Νέες εκδόσεις χρόνων εκτέλεσης μπορούν να προστεθούν χρησιμοποιώντας το ``py " +"install``. Μπορεί να καθοριστεί ένα ή περισσότερα tags, και το ειδικό tag " +"``default`` μπορεί να χρησιμοποιηθεί για την επιλογή του προεπιλεγμένου. Οι " +"περιοχές δεν υποστηρίζονται για εγκατάσταση." #: using/windows.rst:273 msgid "" @@ -404,12 +611,19 @@ msgid "" "used to obtain runtimes. This may be used with an offline index, as shown " "in :ref:`pymanager-offline`." msgstr "" +"Η επιλογή ``--source=`` επιτρέπει την παράκαμψη του διαδικτυακού " +"ευρετηρίου που χρησιμοποιείται για την απόκτηση χρόνων εκτέλεσης. Αυτό " +"μπορεί να χρησιμοποιηθεί με ευρετήριο εκτός σύνδεσης, όπως φαίνεται στο :ref:" +"`pymanager-offline`." #: using/windows.rst:277 msgid "" "Passing ``--force`` will ignore any cached files and remove any existing " "install to replace it with the specified one." msgstr "" +"Περνώντας την επιλογή ``--force`` θα αγνοήσει τυχόν αρχεία στην προσωρινή " +"μνήμη και θα αφαιρέσει οποιαδήποτε υπάρχουσα εγκατάσταση για να την " +"αντικαταστήσει με την καθορισμένη." #: using/windows.rst:280 msgid "" @@ -420,12 +634,21 @@ msgid "" "to the install, including globally installed packages, but virtual " "environments will continue to work." msgstr "" +"Περνώντας την επιλογή ``--update`` θα αντικαταστήσει υπάρχουσες " +"εγκαταστάσεις εάν η νέα έκδοση είναι νεότερη. Διαφορετικά, θα παραμείνουν. " +"Εάν δεν παρέχονται tags με το ``--update``, όλες οι εγκαταστάσεις που " +"διαχειρίζεται ο διαχειριστής εγκατάστασης Python θα ενημερωθούν εάν υπάρχουν " +"νεότερες εκδόσεις. Οι ενημερώσεις θα αφαιρέσουν τυχόν τροποποιήσεις που " +"έγιναν στην εγκατάσταση, συμπεριλαμβανομένων των παγκοσμίως εγκατεστημένων " +"πακέτων, αλλά τα εικονικά περιβάλλοντα θα συνεχίσουν να λειτουργούν." #: using/windows.rst:287 msgid "" "Passing ``--dry-run`` will generate output and logs, but will not modify any " "installs." msgstr "" +"Περνώντας την επιλογή ``--dry-run`` θα δημιουργήσει έξοδο και αρχεία " +"καταγραφής, αλλά δεν θα τροποποιήσει καμία εγκατάσταση." #: using/windows.rst:290 msgid "" @@ -433,24 +656,31 @@ msgid "" "runtime to the specified directory instead of doing a normal install. This " "is useful for embedding runtimes into larger applications." msgstr "" +"Εκτός από τις παραπάνω επιλογές, η επιλογή ``--target`` θα εξαγάγει το χρόνο " +"εκτέλεσης στον καθορισμένο κατάλογο αντί να κάνει μια κανονική εγκατάσταση. " +"Αυτό είναι χρήσιμο για την ενσωμάτωση χρόνων εκτέλεσης σε μεγαλύτερες " +"εφαρμογές." #: using/windows.rst:294 msgid "$> py install ... [-t=|--target=] " -msgstr "" +msgstr "$> py install ... [-t=|--target=] " #: using/windows.rst:302 msgid "Offline Installs" -msgstr "" +msgstr "Εγκαταστάσεις Εκτός Σύνδεσης" #: using/windows.rst:304 msgid "" "To perform offline installs of Python, you will need to first create an " "offline index on a machine that has network access." msgstr "" +"Για να πραγματοποιήσετε εγκαταστάσεις εκτός σύνδεσης της Python, θα " +"χρειαστεί πρώτα να δημιουργήσετε ένα ευρετήριο εκτός σύνδεσης σε ένα " +"μηχάνημα που έχει πρόσβαση στο δίκτυο." #: using/windows.rst:307 msgid "$> py install --download= ... ..." -msgstr "" +msgstr "$> py install --download= ... ..." #: using/windows.rst:311 msgid "" @@ -459,16 +689,24 @@ msgid "" "suitable for later installation. This entire directory can be moved to the " "offline machine and used to install one or more of the bundled runtimes:" msgstr "" +"Η επιλογή ``--download=`` θα κατεβάσει τα πακέτα για τα καταχωρημένα " +"tags και θα δημιουργήσει έναν κατάλογο που τα περιέχει και ένα αρχείο " +"``index.json`` κατάλληλο για μεταγενέστερη εγκατάσταση. Ολόκληρος αυτός ο " +"κατάλογος μπορεί να μετακινηθεί στο μηχάνημα εκτός σύνδεσης και να " +"χρησιμοποιηθεί για την εγκατάσταση ενός ή περισσότερων από τους παρεχόμενους " +"χρόνους εκτέλεσης:" #: using/windows.rst:316 msgid "$> py install --source=\"\\index.json\" ..." -msgstr "" +msgstr "$> py install --source=\"\\index.json\" ..." #: using/windows.rst:320 msgid "" "The Python install manager can be installed by downloading its installer and " "moving it to another machine before installing." msgstr "" +"Ο διαχειριστής εγκατάστασης Python μπορεί να εγκατασταθεί κατεβάζοντας τον " +"εγκαταστάτη του και μεταφέροντάς τον σε άλλο μηχάνημα πριν την εγκατάσταση." #: using/windows.rst:323 msgid "" @@ -479,31 +717,44 @@ msgid "" "approach in cases where installing the Python install manager is not " "possible or convenient." msgstr "" +"Διαφορετικά, τα αρχεία ZIP σε έναν κατάλογο ευρετηρίου εκτός σύνδεσης " +"μπορούν απλά να μεταφερθούν σε άλλο μηχάνημα και να εξαχθούν. Αυτό δεν θα " +"καταχωρήσει την εγκατάσταση με κανέναν τρόπο, και έτσι πρέπει να εκκινηθεί " +"αναφερόμενο απευθείας στα εκτελέσιμα αρχεία στον εξαγόμενο φάκελο, αλλά " +"μερικές φορές είναι μια προτιμότερη προσέγγιση σε περιπτώσεις όπου η " +"εγκατάσταση του διαχειριστή εγκατάστασης Python δεν είναι δυνατή ή βολική." #: using/windows.rst:329 msgid "" "In this way, Python runtimes can be installed and managed on a machine " "without access to the internet." msgstr "" +"Με αυτόν τον τρόπο, οι χρόνοι εκτέλεσης της Python μπορούν να εγκατασταθούν " +"και να διαχειριστούν σε ένα μηχάνημα χωρίς πρόσβαση στο διαδίκτυο." #: using/windows.rst:334 msgid "Uninstalling Runtimes" -msgstr "" +msgstr "Απεγκατάσταση Χρόνων Εκτέλεσης" #: using/windows.rst:336 msgid "$> py uninstall [-y|--yes] ..." -msgstr "" +msgstr "$> py uninstall [-y|--yes] ..." #: using/windows.rst:340 msgid "" "Runtimes may be removed using the ``py uninstall`` command. One or more tags " "must be specified. Ranges are not supported here." msgstr "" +"Οι χρόνοι εκτέλεσης μπορούν να αφαιρεθούν χρησιμοποιώντας την εντολή ``py " +"uninstall``. Πρέπει να καθοριστούν μία ή περισσότερες ετικέτες. Οι περιοχές " +"δεν υποστηρίζονται εδώ." #: using/windows.rst:343 msgid "" "The ``--yes`` option bypasses the confirmation prompt before uninstalling." msgstr "" +"Η επιλογή ``--yes`` παρακάμπτει την προτροπή επιβεβαίωσης πριν από την " +"απεγκατάσταση." #: using/windows.rst:345 msgid "" @@ -513,10 +764,17 @@ msgid "" "caches. Runtimes that were not installed by the Python install manager will " "not be impacted, and neither will manually created configuration files." msgstr "" +"Διαφορετικά από το να περάσετε ετικέτες μεμονωμένα, μπορεί να καθοριστεί η " +"επιλογή ``--purge``. Αυτό θα αφαιρέσει όλους τους χρόνους εκτέλεσης που " +"διαχειρίζεται ο διαχειριστής εγκατάστασης Python, συμπεριλαμβανομένου του " +"καθαρισμού του μενού Έναρξης, του μητρώου και τυχόν προσωρινών αποθηκεύσεων " +"λήψης. Οι χρόνοι εκτέλεσης που δεν εγκαταστάθηκαν από τον διαχειριστή " +"εγκατάστασης Python δεν θα επηρεαστούν, και ούτε τα χειροκίνητα " +"δημιουργημένα αρχεία διαμόρφωσης." #: using/windows.rst:351 msgid "$> py uninstall [-y|--yes] --purge" -msgstr "" +msgstr "$> py uninstall [-y|--yes] --purge" #: using/windows.rst:355 msgid "" @@ -527,10 +785,18 @@ msgid "" "manage these runtimes again. To completely clean up all Python runtimes, run " "with ``--purge`` before uninstalling the Python install manager." msgstr "" +"Ο διαχειριστής εγκατάστασης Python μπορεί να απεγκατασταθεί μέσω της σελίδας " +"ρυθμίσεων των Windows \"Εγκατεστημένες εφαρμογές\". Αυτό δεν αφαιρεί κανέναν " +"χρόνο εκτέλεσης, και θα εξακολουθούν να είναι χρησιμοποιήσιμοι, αν και οι " +"παγκόσμιες εντολές ``python`` και ``py`` θα αφαιρεθούν. Η επανεγκατάσταση " +"του διαχειριστή εγκατάστασης Python θα σας επιτρέψει να διαχειριστείτε " +"αυτούς τους χρόνους εκτέλεσης ξανά. Για να καθαρίσετε πλήρως όλους τους " +"χρόνους εκτέλεσης Python, εκτελέστε με ``--purge`` πριν από την " +"απεγκατάσταση του διαχειριστή εγκατάστασης Python." #: using/windows.rst:365 msgid "Configuration" -msgstr "" +msgstr "Διαμόρφωση" #: using/windows.rst:367 msgid "" @@ -541,12 +807,21 @@ msgid "" "are administrator-only and will override configuration files. Command-line " "options override all other settings, but not every option is available." msgstr "" +"Ο διαχειριστής εγκατάστασης Python διαμορφώνεται με μια ιεραρχία αρχείων " +"διαμόρφωσης, μεταβλητών περιβάλλοντος, επιλογών γραμμής εντολών, και " +"ρυθμίσεων μητρώου. Γενικά, τα αρχεία διαμόρφωσης έχουν τη δυνατότητα να " +"διαμορφώσουν τα πάντα, συμπεριλαμβανομένης της τοποθεσίας άλλων αρχείων " +"διαμόρφωσης, ενώ οι ρυθμίσεις μητρώου είναι μόνο για διαχειριστές και θα " +"παρακάμψουν τα αρχεία διαμόρφωσης." #: using/windows.rst:374 msgid "" "This section will describe the defaults, but be aware that modified or " "overridden installs may resolve settings differently." msgstr "" +"Αυτή η ενότητα θα περιγράψει τις προεπιλογές, αλλά να γνωρίζετε ότι οι " +"τροποποιημένες ή παρακαμφθείσες εγκαταστάσεις μπορεί να επιλύσουν τις " +"ρυθμίσεις διαφορετικά." #: using/windows.rst:377 msgid "" @@ -557,6 +832,13 @@ msgid "" "specified as the ``PYTHON_MANAGER_CONFIG`` environment variable or the ``--" "config`` command line option (but not both)." msgstr "" +"Ένα παγκόσμιο αρχείο διαμόρφωσης μπορεί να ρυθμιστεί από έναν διαχειριστή, " +"και θα διαβαστεί πρώτο. Το αρχείο διαμόρφωσης χρήστη αποθηκεύεται στο :file:" +"`%AppData%\\\\Python\\\\pymanager.json` (κατά προεπιλογή) και διαβάζεται στη " +"συνέχεια, αντικαθιστώντας οποιεσδήποτε ρυθμίσεις από προηγούμενα αρχεία. Ένα " +"επιπλέον αρχείο διαμόρφωσης μπορεί να καθοριστεί ως η μεταβλητή " +"περιβάλλοντος ``PYTHON_MANAGER_CONFIG`` ή η επιλογή γραμμής εντολών ``--" +"config`` (αλλά όχι και τα δύο)." #: using/windows.rst:384 msgid "" @@ -564,44 +846,50 @@ msgid "" "in normal use. Later sections list those that are intended for " "administrative customization." msgstr "" +"Οι ακόλουθες ρυθμίσεις είναι αυτές που θεωρούνται πιθανό να τροποποιηθούν σε " +"κανονική χρήση. Οι επόμενες ενότητες απαριθμούν αυτές που προορίζονται για " +"διοικητική προσαρμογή." #: using/windows.rst:388 msgid "Standard configuration options" -msgstr "" +msgstr "Τυπικές επιλογές διαμόρφωσης" #: using/windows.rst:1 msgid "Config Key" -msgstr "" +msgstr "Κλειδί Διαμόρφωσης" #: using/windows.rst:1 msgid "Environment Variable" -msgstr "" +msgstr "Μεταβλητή Περιβάλλοντος" #: using/windows.rst:1301 using/windows.rst:1916 msgid "Description" -msgstr "" +msgstr "Περιγραφή" #: using/windows.rst:1 msgid "``default_tag``" -msgstr "" +msgstr "``default_tag``" #: using/windows.rst:1 msgid "``PYTHON_MANAGER_DEFAULT``" -msgstr "" +msgstr "``PYTHON_MANAGER_DEFAULT``" #: using/windows.rst:1 msgid "" "The preferred default version to launch or install. By default, this is " "interpreted as the most recent non-prerelease version from the CPython team." msgstr "" +"Η προτιμώμενη προεπιλεγμένη έκδοση για εκκίνηση ή εγκατάσταση. Κατά " +"προεπιλογή, αυτό ερμηνεύεται ως η πιο πρόσφατη μη-προκαταρκτική έκδοση από " +"την ομάδα CPython." #: using/windows.rst:1 msgid "``default_platform``" -msgstr "" +msgstr "``default_platform``" #: using/windows.rst:1 msgid "``PYTHON_MANAGER_DEFAULT_PLATFORM``" -msgstr "" +msgstr "``PYTHON_MANAGER_DEFAULT_PLATFORM``" #: using/windows.rst:1 msgid "" @@ -610,68 +898,83 @@ msgid "" "install for ``3.14-64`` if it exists (and ``default_platform`` is ``-64``), " "but will use ``3.14`` if no tagged install exists." msgstr "" +"Η προτιμώμενη προεπιλεγμένη πλατφόρμα για εκκίνηση ή εγκατάσταση. Αυτό " +"αντιμετωπίζεται ως κατάληξη στο καθορισμένο tag, έτσι ώστε το ``py -V:3.14`` " +"θα προτιμούσε μια εγκατάσταση για το ``3.14-64`` εάν υπάρχει (και το " +"``default_platform`` είναι ``-64``), αλλά θα χρησιμοποιούσε το ``3.14`` εάν " +"δεν υπάρχει εγκατάσταση με tag." #: using/windows.rst:1 msgid "``logs_dir``" -msgstr "" +msgstr "``logs_dir``" #: using/windows.rst:1 msgid "``PYTHON_MANAGER_LOGS``" -msgstr "" +msgstr "``PYTHON_MANAGER_LOGS``" #: using/windows.rst:1 msgid "The location where log files are written. By default, :file:`%TEMP%`." msgstr "" +"Η τοποθεσία όπου γράφονται τα αρχεία καταγραφής. Κατά προεπιλογή, :file:" +"`%TEMP%`." #: using/windows.rst:1 msgid "``automatic_install``" -msgstr "" +msgstr "``automatic_install``" #: using/windows.rst:1 msgid "``PYTHON_MANAGER_AUTOMATIC_INSTALL``" -msgstr "" +msgstr "``PYTHON_MANAGER_AUTOMATIC_INSTALL``" #: using/windows.rst:1 msgid "" "True to allow automatic installs when specifying a particular runtime to " "launch. By default, true." msgstr "" +"True για να επιτρέπεται η αυτόματη εγκατάσταση κατά τον καθορισμό ενός " +"συγκεκριμένου χρόνου εκτέλεσης για εκκίνηση. Κατά προεπιλογή, true." #: using/windows.rst:1 msgid "``include_unmanaged``" -msgstr "" +msgstr "``include_unmanaged``" #: using/windows.rst:1 msgid "``PYTHON_MANAGER_INCLUDE_UNMANAGED``" -msgstr "" +msgstr "``PYTHON_MANAGER_INCLUDE_UNMANAGED``" #: using/windows.rst:1 msgid "" "True to allow listing and launching runtimes that were not installed by the " "Python install manager, or false to exclude them. By default, true." msgstr "" +"True για να επιτρέπεται η καταχώριση και η εκκίνηση χρόνων εκτέλεσης που δεν " +"εγκαταστάθηκαν από τον διαχειριστή εγκατάστασης Python, ή false για να τους " +"εξαιρέσετε. Κατά προεπιλογή, true." #: using/windows.rst:1 msgid "``shebang_can_run_anything``" -msgstr "" +msgstr "``shebang_can_run_anything``" #: using/windows.rst:1 msgid "``PYTHON_MANAGER_SHEBANG_CAN_RUN_ANYTHING``" -msgstr "" +msgstr "``PYTHON_MANAGER_SHEBANG_CAN_RUN_ANYTHING``" #: using/windows.rst:1 msgid "" "True to allow shebangs in ``.py`` files to launch applications other than " "Python runtimes, or false to prevent it. By default, true." msgstr "" +"True για να επιτρέπεται στις shebangs σε αρχεία ``.py`` να εκκινούν " +"εφαρμογές εκτός από χρόνους εκτέλεσης Python, ή false για να το αποτρέψετε. " +"Κατά προεπιλογή, true." #: using/windows.rst:1 msgid "``log_level``" -msgstr "" +msgstr "``log_level``" #: using/windows.rst:1 msgid "``PYMANAGER_VERBOSE``, ``PYMANAGER_DEBUG``" -msgstr "" +msgstr "``PYMANAGER_VERBOSE``, ``PYMANAGER_DEBUG``" #: using/windows.rst:1 msgid "" @@ -680,56 +983,69 @@ msgid "" "additional output during startup that is later suppressed by other " "configuration." msgstr "" +"Ορίζει το προεπιλεγμένο επίπεδο εξόδου (0-50) Κατά προεπιλογή, 20. " +"Χαμηλότερες τιμές παράγουν περισσότερη έξοδο. Οι μεταβλητές περιβάλλοντος " +"είναι boolean, και μπορεί να παράγουν επιπλέον έξοδο κατά την εκκίνηση που " +"αργότερα καταστέλλεται από άλλες ρυθμίσεις." #: using/windows.rst:1 msgid "``confirm``" -msgstr "" +msgstr "``confirm``" #: using/windows.rst:1 msgid "``PYTHON_MANAGER_CONFIRM``" -msgstr "" +msgstr "``PYTHON_MANAGER_CONFIRM``" #: using/windows.rst:1 msgid "" "True to confirm certain actions before taking them (such as uninstall), or " "false to skip the confirmation. By default, true." msgstr "" +"True για να επιβεβαιώσετε ορισμένες ενέργειες πριν τις εκτελέσετε (όπως η " +"απεγκατάσταση), ή false για να παραλείψετε την επιβεβαίωση. Κατά προεπιλογή, " +"true." #: using/windows.rst:1 msgid "``install.source``" -msgstr "" +msgstr "``install.source``" #: using/windows.rst:1 msgid "``PYTHON_MANAGER_SOURCE_URL``" -msgstr "" +msgstr "``PYTHON_MANAGER_SOURCE_URL``" #: using/windows.rst:1 msgid "Override the index feed to obtain new installs from." msgstr "" +"Αντικαταστήστε την πηγή του δείκτη για να αποκτήσετε νέες εγκαταστάσεις." #: using/windows.rst:1 msgid "``list.format``" -msgstr "" +msgstr "``list.format``" #: using/windows.rst:1 msgid "``PYTHON_MANAGER_LIST_FORMAT``" -msgstr "" +msgstr "``PYTHON_MANAGER_LIST_FORMAT``" #: using/windows.rst:1 msgid "" "Specify the default format used by the ``py list`` command. By default, " "``table``." msgstr "" +"Καθορίστε την προεπιλεγμένη μορφή που χρησιμοποιείται από την εντολή ``py " +"list``. Κατά προεπιλογή, ``table``." #: using/windows.rst:433 msgid "" "Dotted names should be nested inside JSON objects, for example, ``list." "format`` would be specified as ``{\"list\": {\"format\": \"table\"}}``." msgstr "" +"Τα ονόματα με τελείες θα πρέπει να είναι εμφωλευμένα μέσα σε αντικείμενα " +"JSON, για παράδειγμα, ``list.format`` θα καθοριζόταν ως ``{\"list\": " +"{\"format\": \"table\"}}``." #: using/windows.rst:439 msgid "Shebang lines" -msgstr "" +msgstr "Γραμμές Shebang" #: using/windows.rst:441 msgid "" @@ -739,6 +1055,12 @@ msgid "" "indicate how a script should be executed. The ``python`` and ``py`` commands " "allow the same facilities to be used with Python scripts on Windows." msgstr "" +"Εάν η πρώτη γραμμή ενός αρχείου σεναρίου ξεκινά με ``#!``, είναι γνωστή ως " +"γραμμή \"shebang\". Τα Linux και άλλα λειτουργικά συστήματα παρόμοια με το " +"Unix έχουν ενσωματωμένη υποστήριξη για τέτοιες γραμμές και χρησιμοποιούνται " +"συνήθως σε τέτοια συστήματα για να υποδείξουν πώς πρέπει να εκτελεστεί ένα " +"script. Οι εντολές ``python`` και ``py`` επιτρέπουν την ίδια δυνατότητα να " +"χρησιμοποιηθεί με scripts Python στα Windows." #: using/windows.rst:447 msgid "" @@ -746,34 +1068,38 @@ msgid "" "Windows, a number of 'virtual' commands are supported to specify which " "interpreter to use. The supported virtual commands are:" msgstr "" +"Για να επιτρέψετε στις γραμμές shebang σε σενάρια Python να είναι φορητές " +"μεταξύ Unix και Windows, υποστηρίζονται αρκετές 'εικονικές' εντολές για να " +"καθορίσετε ποιο διερμηνέα να χρησιμοποιήσετε. Οι υποστηριζόμενες εικονικές " +"εντολές είναι:" #: using/windows.rst:451 msgid "``/usr/bin/env ``" -msgstr "" +msgstr "``/usr/bin/env ``" #: using/windows.rst:452 msgid "``/usr/bin/env -S ``" -msgstr "" +msgstr "``/usr/bin/env -S ``" #: using/windows.rst:453 msgid "``/usr/bin/``" -msgstr "" +msgstr "``/usr/bin/``" #: using/windows.rst:454 msgid "``/usr/local/bin/``" -msgstr "" +msgstr "``/usr/local/bin/``" #: using/windows.rst:455 msgid "````" -msgstr "" +msgstr "````" #: using/windows.rst:1690 msgid "For example, if the first line of your script starts with" -msgstr "" +msgstr "Για παράδειγμα, εάν η πρώτη γραμμή του script σας ξεκινά με" #: using/windows.rst:1692 msgid "#! /usr/bin/python" -msgstr "" +msgstr "#! /usr/bin/python" #: using/windows.rst:1696 msgid "" @@ -784,6 +1110,13 @@ msgid "" "be useful on Unix, you should use one of the shebang lines starting with ``/" "usr``." msgstr "" +"Η προεπιλεγμένη Python ή ένα ενεργό εικονικό περιβάλλον θα εντοπιστεί και θα " +"χρησιμοποιηθεί. Καθώς πολλά Python scripts που έχουν γραφεί για να " +"λειτουργούν σε Unix θα έχουν ήδη αυτή τη γραμμή, θα διαπιστώσετε ότι αυτά τα " +"σενάρια μπορούν να χρησιμοποιηθούν από τον εκκινητή χωρίς τροποποίηση. Εάν " +"γράφετε ένα νέο σενάριο στα Windows που ελπίζετε να είναι χρήσιμο σε Unix, " +"θα πρέπει να χρησιμοποιήσετε μία από τις γραμμές shebang που ξεκινούν με ``/" +"usr``." #: using/windows.rst:469 msgid "" @@ -794,6 +1127,13 @@ msgid "" "envvar:`PATH`. This allows the use of shebangs like ``/usr/bin/python3.12`` " "to select a particular runtime." msgstr "" +"Οποιαδήποτε από τις παραπάνω εικονικές εντολές μπορούν να έχουν το " +"```` αντικατασταθεί από ένα ψευδώνυμο από μια εγκατεστημένη runtime. " +"Δηλαδή, οποιαδήποτε εντολή που δημιουργείται στον παγκόσμιο κατάλογο " +"ψευδωνύμων (τον οποίο μπορεί να έχετε προσθέσει στη μεταβλητή περιβάλλοντος :" +"envvar:`PATH`) μπορεί να χρησιμοποιηθεί σε ένα shebang, ακόμη και αν δεν " +"είναι στο :envvar:`PATH`. Αυτό επιτρέπει τη χρήση shebangs όπως ``/usr/bin/" +"python3.12`` για να επιλέξετε μια συγκεκριμένη runtime." #: using/windows.rst:475 msgid "" @@ -801,6 +1141,10 @@ msgid "" "requested runtime will be installed if necessary. See :ref:`pymanager-" "config` for information about configuration settings." msgstr "" +"Εάν δεν υπάρχουν εγκατεστημένοι χρόνοι εκτέλεσης, ή εάν η αυτόματη " +"εγκατάσταση είναι ενεργοποιημένη, ο ζητούμενος χρόνος εκτέλεσης θα " +"εγκατασταθεί εάν είναι απαραίτητο. Δείτε :ref:`pymanager-config` για " +"πληροφορίες σχετικά με τις ρυθμίσεις διαμόρφωσης." #: using/windows.rst:479 msgid "" @@ -811,6 +1155,13 @@ msgid "" "searching for arbitrary executables, and this search may be disabled by the " "``shebang_can_run_anything`` configuration option." msgstr "" +"Η μορφή shebang γραμμής ``/usr/bin/env`` θα αναζητήσει επίσης τη μεταβλητή " +"περιβάλλοντος :envvar:`PATH` για μη αναγνωρισμένες εντολές. Αυτό αντιστοιχεί " +"στη συμπεριφορά του προγράμματος Unix ``env``, το οποίο εκτελεί την ίδια " +"αναζήτηση, αλλά προτιμά την εκκίνηση γνωστών εντολών Python. Μπορεί να " +"εμφανιστεί μια προειδοποίηση κατά την αναζήτηση για αυθαίρετα εκτελέσιμα " +"αρχεία, και αυτή η αναζήτηση μπορεί να απενεργοποιηθεί από την επιλογή " +"διαμόρφωσης ``shebang_can_run_anything``." #: using/windows.rst:486 msgid "" @@ -823,10 +1174,19 @@ msgid "" "will be appended. This functionality may be disabled by the " "``shebang_can_run_anything`` configuration option." msgstr "" +"Οι γραμμές shebang που δεν ταιριάζουν με κανένα από τα πρότυπα " +"αντιμετωπίζονται ως *Windows* διαδρομές εκτελέσιμων αρχείων που είναι " +"απόλυτες ή σχετικές προς τον κατάλογο που περιέχει το αρχείο σεναρίου. Αυτό " +"είναι μια ευκολία για σενάρια μόνο για Windows, όπως αυτά που δημιουργούνται " +"από έναν εγκαταστάτη, καθώς η συμπεριφορά δεν είναι συμβατή με κελύφη τύπου " +"Unix. Αυτές οι διαδρομές μπορεί να είναι σε εισαγωγικά, και μπορεί να " +"περιλαμβάνουν πολλαπλά ορίσματα, μετά τα οποία θα προστεθεί η διαδρομή προς " +"το σενάριο και τυχόν πρόσθετα ορίσματα. Αυτή η λειτουργικότητα μπορεί να " +"απενεργοποιηθεί από την επιλογή διαμόρφωσης ``shebang_can_run_anything``." #: using/windows.rst:518 msgid "Advanced Installation" -msgstr "" +msgstr "Προχωρημένη Εγκατάσταση" #: using/windows.rst:520 msgid "" @@ -838,12 +1198,22 @@ msgid "" "include this install location, but be sure to validate this on your " "configuration." msgstr "" +"Για καταστάσεις όπου ένα MSIX δεν μπορεί να εγκατασταθεί, όπως ορισμένες " +"παλαιότερες πλατφόρμες διανομής για διαχειριστές, υπάρχει ένα MSI διαθέσιμο " +"από τη σελίδα λήψεων του python.org. Αυτό το MSI δεν έχει διεπαφή χρήστη, " +"και μπορεί μόνο να πραγματοποιήσει εγκαταστάσεις ανά μηχάνημα στην " +"προεπιλεγμένη τοποθεσία στα Program Files. Θα προσπαθήσει να τροποποιήσει τη " +"συστημική μεταβλητή :envvar:`PATH` για να συμπεριλάβει αυτή την τοποθεσία " +"εγκατάστασης, αλλά βεβαιωθείτε ότι το επαληθεύετε στη διαμόρφωσή σας." #: using/windows.rst:529 msgid "" "Windows Server 2019 is the only version of Windows that CPython supports " "that does not support MSIX. For Windows Server 2019, you should use the MSI." msgstr "" +"Τα Windows Server 2019 είναι η μόνη έκδοση των Windows που υποστηρίζει η " +"CPython και δεν υποστηρίζει MSIX. Για τα Windows Server 2019, θα πρέπει να " +"χρησιμοποιήσετε το MSI." #: using/windows.rst:532 msgid "" @@ -852,6 +1222,11 @@ msgid "" "offline install index. See :ref:`pymanager-offline` and :ref:`pymanager-" "admin-config` for information on handling these scenarios." msgstr "" +"Να γνωρίζετε ότι το πακέτο MSI δεν περιλαμβάνει κανέναν χρόνο εκτέλεσης, και " +"έτσι δεν είναι κατάλληλο για εγκαταστάσεις σε περιβάλλοντα χωρίς σύνδεση στο " +"διαδίκτυο χωρίς επίσης τη δημιουργία ενός ευρετηρίου εγκατάστασης χωρίς " +"σύνδεση. Δείτε :ref:`pymanager-offline` και :ref:`pymanager-admin-config` " +"για πληροφορίες σχετικά με τη διαχείριση αυτών των σεναρίων." #: using/windows.rst:537 msgid "" @@ -862,6 +1237,13 @@ msgid "" "own system-wide modifications to :envvar:`PATH`, the registry, or the Start " "menu." msgstr "" +"Οι χρόνοι εκτέλεσης που εγκαθίστανται από το MSI κοινοποιούνται με αυτούς " +"που εγκαθίστανται από το MSIX, και είναι όλοι μόνο ανά χρήστη. Ο " +"διαχειριστής εγκατάστασης Python δεν υποστηρίζει την εγκατάσταση χρόνων " +"εκτέλεσης ανά μηχάνημα. Για να μιμηθείτε μια εγκατάσταση ανά μηχάνημα, " +"μπορείτε να χρησιμοποιήσετε το ``py install --target=`` ως " +"διαχειριστής και να προσθέσετε τις δικές σας τροποποιήσεις σε :envvar:" +"`PATH`, το μητρώο, ή το μενού Έναρξης." #: using/windows.rst:543 msgid "" @@ -874,12 +1256,23 @@ msgid "" "Store. Attempting to run the executable directly from Program Files is not " "recommended." msgstr "" +"Όταν το MSIX είναι εγκατεστημένο, αλλά οι εντολές δεν είναι διαθέσιμες στη :" +"envvar:`PATH` μεταβλητή περιβάλλοντος, μπορούν να βρεθούν στο :file:" +"`%LocalAppData%\\\\Microsoft\\\\WindowsApps\\\\PythonSoftwareFoundation." +"PythonManager_3847v3x7pw1km` ή :file:`%LocalAppData%\\\\Microsoft\\" +"\\WindowsApps\\\\PythonSoftwareFoundation.PythonManager_qbz5n2kfra8p0`, " +"ανάλογα με το αν εγκαταστάθηκε από το python.org ή μέσω του Windows Store. Η " +"προσπάθεια εκτέλεσης του εκτελέσιμου απευθείας από τα Program Files δεν " +"συνιστάται." #: using/windows.rst:552 msgid "" "To programmatically install the Python install manager, it is easiest to use " "WinGet, which is included with all supported versions of Windows:" msgstr "" +"Για να εγκαταστήσετε προγραμματιστικά τον διαχειριστή εγκατάστασης Python, " +"είναι πιο εύκολο να χρησιμοποιήσετε το WinGet, το οποίο περιλαμβάνεται σε " +"όλες τις υποστηριζόμενες εκδόσεις των Windows:" #: using/windows.rst:555 msgid "" @@ -889,6 +1282,11 @@ msgid "" "# Optionally run the configuration checker and accept all changes\n" "$> py install --configure -y" msgstr "" +"$> winget install 9NQ7512CXL7T -e --accept-package-agreements --disable-" +"interactivity\n" +"\n" +"# Optionally run the configuration checker and accept all changes\n" +"$> py install --configure -y" #: using/windows.rst:562 msgid "" @@ -899,12 +1297,21 @@ msgid "" "as the downloaded MSIX can be installed by launching or using the commands " "below." msgstr "" +"Για να κατεβάσετε τον διαχειριστή εγκατάστασης Python και να τον " +"εγκαταστήσετε σε άλλο μηχάνημα, η ακόλουθη εντολή WinGet θα κατεβάσει τα " +"απαιτούμενα αρχεία από το Store στον κατάλογο Λήψεις σας (προσθέστε ``-d " +"`` για να προσαρμόσετε την τοποθεσία εξόδου). Αυτό επίσης " +"δημιουργεί ένα αρχείο YAML που φαίνεται να είναι περιττό, καθώς το " +"κατεβασμένο MSIX μπορεί να εγκατασταθεί με την εκκίνηση ή τη χρήση των " +"παρακάτω εντολών." #: using/windows.rst:568 msgid "" "$> winget download 9NQ7512CXL7T -e --skip-license --accept-package-" "agreements --accept-source-agreements" msgstr "" +"$> winget download 9NQ7512CXL7T -e --skip-license --accept-package-" +"agreements --accept-source-agreements" #: using/windows.rst:572 msgid "" @@ -912,6 +1319,9 @@ msgid "" "`Add-AppxPackage`_ and `Remove-AppxPackage`_ PowerShell cmdlets are " "recommended:" msgstr "" +"Για να εγκαταστήσετε ή να απεγκαταστήσετε προγραμματιστικά ένα MSIX " +"χρησιμοποιώντας μόνο το PowerShell, συνιστώνται τα PowerShell cmdlets `Add-" +"AppxPackage`_ και `Remove-AppxPackage`_:" #: using/windows.rst:575 msgid "" @@ -920,6 +1330,10 @@ msgid "" "$> Get-AppxPackage PythonSoftwareFoundation.PythonManager | Remove-" "AppxPackage" msgstr "" +"$> Add-AppxPackage C:\\Downloads\\python-manager-25.0.msix\n" +"...\n" +"$> Get-AppxPackage PythonSoftwareFoundation.PythonManager | Remove-" +"AppxPackage" #: using/windows.rst:581 msgid "" @@ -928,12 +1342,19 @@ msgid "" "MSIX on python.org, and is only recommended for cases where installing via " "the Store (interactively or using WinGet) is not possible." msgstr "" +"Η τελευταία έκδοση μπορεί να ληφθεί και να εγκατασταθεί από τα Windows με τη " +"μετάδοση του αρχείου AppInstaller στην εντολή Add-AppxPackage. Αυτό " +"εγκαθιστά χρησιμοποιώντας το MSIX στο python.org, και συνιστάται μόνο για " +"περιπτώσεις όπου η εγκατάσταση μέσω του Store (διαδραστικά ή χρησιμοποιώντας " +"το WinGet) δεν είναι δυνατή." #: using/windows.rst:586 msgid "" "$> Add-AppxPackage -AppInstallerFile https://www.python.org/ftp/python/" "pymanager/pymanager.appinstaller" msgstr "" +"$> Add-AppxPackage -AppInstallerFile https://www.python.org/ftp/python/" +"pymanager/pymanager.appinstaller" #: using/windows.rst:590 msgid "" @@ -943,6 +1364,11 @@ msgid "" "the native Windows `PackageManager`_ class, or the documentation and support " "for your deployment tool." msgstr "" +"Άλλα εργαλεία και API μπορούν επίσης να χρησιμοποιηθούν για την παροχή ενός " +"πακέτου MSIX για όλους τους χρήστες σε μια μηχανή, αλλά η Python δεν θεωρεί " +"αυτό ένα υποστηριζόμενο σενάριο. Προτείνουμε να εξετάσετε το PowerShell `Add-" +"AppxProvisionedPackage`_ cmdlet, την εγγενή κλάση Windows `PackageManager`_, " +"ή την τεκμηρίωση και υποστήριξη για το εργαλείο ανάπτυξής σας." #: using/windows.rst:596 msgid "" @@ -951,6 +1377,11 @@ msgid "" "without being a logged in user. When using the MSIX, the latest version of " "Python will be available for all users to install without network access." msgstr "" +"Ανεξάρτητα από τη μέθοδο εγκατάστασης, οι χρήστες θα πρέπει να εγκαταστήσουν " +"τις δικές τους αντίγραφα της Python, καθώς δεν υπάρχει τρόπος να " +"ενεργοποιηθούν αυτές οι εγκαταστάσεις χωρίς να είναι συνδεδεμένος χρήστης. " +"Όταν χρησιμοποιείτε το MSIX, η τελευταία έκδοση της Python θα είναι " +"διαθέσιμη για όλους τους χρήστες για εγκατάσταση χωρίς πρόσβαση στο δίκτυο." #: using/windows.rst:601 msgid "" @@ -961,10 +1392,17 @@ msgid "" "are no licensing restrictions on the Python install manager that would " "prevent using the Store package in this way." msgstr "" +"Σημειώστε ότι το MSIX που μπορεί να ληφθεί από το Store και από τον ιστότοπο " +"της Python είναι ελαφρώς διαφορετικό και δεν μπορούν να εγκατασταθούν " +"ταυτόχρονα. Όπου είναι δυνατόν, προτείνουμε τη χρήση των παραπάνω εντολών " +"WinGet για τη λήψη του πακέτου από το Store για να μειωθεί ο κίνδυνος " +"ρύθμισης συγκρουόμενων εγκαταστάσεων. Δεν υπάρχουν περιορισμοί αδειοδότησης " +"στον διαχειριστή εγκατάστασης Python που να εμποδίζουν τη χρήση του πακέτου " +"Store με αυτόν τον τρόπο." #: using/windows.rst:612 msgid "Administrative Configuration" -msgstr "" +msgstr "Διαχειριστική Διαμόρφωση" #: using/windows.rst:614 msgid "" @@ -974,6 +1412,12 @@ msgid "" "content. All of the above configuration options may be set, as well as those " "below." msgstr "" +"Υπάρχουν πολλές επιλογές που μπορεί να είναι χρήσιμες για τους διαχειριστές " +"για να υπερκαλύψουν τη διαμόρφωση του διαχειριστή εγκατάστασης Python. Αυτές " +"μπορούν να χρησιμοποιηθούν για την παροχή τοπικής προσωρινής αποθήκευσης, " +"την απενεργοποίηση ορισμένων τύπων συντομεύσεων, την υπερκάλυψη " +"ενσωματωμένου περιεχομένου. Όλες οι παραπάνω επιλογές διαμόρφωσης μπορούν να " +"οριστούν, καθώς και αυτές παρακάτω." #: using/windows.rst:619 msgid "" @@ -987,6 +1431,17 @@ msgid "" "Registry key overrides will replace any other configured setting, while " "``base_config`` allows users to further modify settings they may need." msgstr "" +"Οι επιλογές διαμόρφωσης μπορούν να υπερκαλυφθούν στο μητρώο ρυθμίζοντας " +"τιμές κάτω από :file:`HKEY_LOCAL_MACHINE\\\\Software\\\\Policies\\\\Python\\" +"\\PyManager`, όπου το όνομα της τιμής ταιριάζει με το κλειδί διαμόρφωσης και " +"ο τύπος τιμής είναι ``REG_SZ``. Σημειώστε ότι αυτό το κλειδί μπορεί να " +"προσαρμοστεί, αλλά μόνο τροποποιώντας το βασικό αρχείο διαμόρφωσης που " +"διανέμεται με τον διαχειριστή εγκατάστασης Python. Ωστόσο, συνιστούμε, " +"ωστόσο, ότι οι τιμές μητρώου χρησιμοποιούνται μόνο για να ορίσουν " +"``base_config`` σε ένα αρχείο JSON που περιέχει το πλήρες σύνολο των " +"υπερκαλύψεων. Οι υπερκαλύψεις κλειδιών μητρώου θα αντικαταστήσουν " +"οποιαδήποτε άλλη ρυθμισμένη ρύθμιση, ενώ ``base_config`` επιτρέπει στους " +"χρήστες να τροποποιούν περαιτέρω ρυθμίσεις που μπορεί να χρειαστούν." #: using/windows.rst:629 msgid "" @@ -999,83 +1454,104 @@ msgid "" "longer be used. If you override the value to ``%CONFIRM%``, then that " "environment variable will be used instead." msgstr "" +"Σημειώστε ότι οι περισσότερες ρυθμίσεις με μεταβλητές περιβάλλοντος " +"υποστηρίζουν αυτές τις μεταβλητές επειδή η προεπιλεγμένη ρύθμισή τους " +"καθορίζει τη μεταβλητή. Εάν τις υπερκαλύψετε, η μεταβλητή περιβάλλοντος δεν " +"θα λειτουργεί πλέον, εκτός εάν την υπερκαλύψετε με άλλη. Για παράδειγμα, η " +"προεπιλεγμένη τιμή του ``confirm`` είναι κυριολεκτικά " +"``%PYTHON_MANAGER_CONFIRM%``, η οποία θα επιλύσει τη μεταβλητή κατά το χρόνο " +"φόρτωσης. Εάν υπερκαλύψετε την τιμή σε ``yes``, τότε η μεταβλητή " +"περιβάλλοντος δεν θα χρησιμοποιείται πλέον. Εάν υπερκαλύψετε την τιμή σε " +"``%CONFIRM%``, τότε θα χρησιμοποιηθεί αυτή η μεταβλητή περιβάλλοντος." #: using/windows.rst:638 msgid "" "Configuration settings that are paths are interpreted as relative to the " "directory containing the configuration file that specified them." msgstr "" +"Οι ρυθμίσεις διαμόρφωσης που είναι διαδρομές ερμηνεύονται ως σχετικές με τον " +"κατάλογο που περιέχει το αρχείο διαμόρφωσης που τις καθόρισε." #: using/windows.rst:641 msgid "Administrative configuration options" -msgstr "" +msgstr "Διαχειριστικές επιλογές διαμόρφωσης" #: using/windows.rst:1 msgid "``base_config``" -msgstr "" +msgstr "``base_config``" #: using/windows.rst:1 msgid "" "The highest priority configuration file to read. Note that only the built-in " "configuration file and the registry can modify this setting." msgstr "" +"Το αρχείο διαμόρφωσης με την υψηλότερη προτεραιότητα για ανάγνωση. Σημειώστε " +"ότι μόνο το ενσωματωμένο αρχείο διαμόρφωσης και το μητρώο μπορούν να " +"τροποποιήσουν αυτήν τη ρύθμιση." #: using/windows.rst:1 msgid "``user_config``" -msgstr "" +msgstr "``user_config``" #: using/windows.rst:1 msgid "The second configuration file to read." -msgstr "" +msgstr "Το δεύτερο αρχείο διαμόρφωσης για ανάγνωση." #: using/windows.rst:1 msgid "``additional_config``" -msgstr "" +msgstr "``additional_config``" #: using/windows.rst:1 msgid "The third configuration file to read." -msgstr "" +msgstr "Το τρίτο αρχείο διαμόρφωσης για ανάγνωση." #: using/windows.rst:1 msgid "``registry_override_key``" -msgstr "" +msgstr "``registry_override_key``" #: using/windows.rst:1 msgid "" "Registry location to check for overrides. Note that only the built-in " "configuration file can modify this setting." msgstr "" +"Τοποθεσία μητρώου για έλεγχο για υπερκαλύψεις. Σημειώστε ότι μόνο το " +"ενσωματωμένο αρχείο διαμόρφωσης μπορεί να τροποποιήσει αυτήν τη ρύθμιση." #: using/windows.rst:1 msgid "``bundled_dir``" -msgstr "" +msgstr "``bundled_dir``" #: using/windows.rst:1 msgid "Read-only directory containing locally cached files." -msgstr "" +msgstr "Κατάλογος μόνο για ανάγνωση που περιέχει τοπικά αποθηκευμένα αρχεία." #: using/windows.rst:1 msgid "``install.fallback_source``" -msgstr "" +msgstr "``install.fallback_source``" #: using/windows.rst:1 msgid "" "Path or URL to an index to consult when the main index cannot be accessed." msgstr "" +"Διαδρομή ή URL σε έναν ευρετήριο για συμβουλή όταν δεν είναι δυνατή η " +"πρόσβαση στον κύριο ευρετήριο." #: using/windows.rst:1 msgid "``install.enable_shortcut_kinds``" -msgstr "" +msgstr "``install.enable_shortcut_kinds``" #: using/windows.rst:1 msgid "" "Comma-separated list of shortcut kinds to allow (e.g. ``\"pep514,start\"``). " "Enabled shortcuts may still be disabled by ``disable_shortcut_kinds``." msgstr "" +"Λίστα με κόμμα διαχωρισμένων ειδών συντομεύσεων για να επιτρέπονται (π.χ. " +"``\"pep514,start\"``). Οι ενεργοποιημένες συντομεύσεις ενδέχεται ακόμη να " +"απενεργοποιηθούν από το ``disable_shortcut_kinds``." #: using/windows.rst:1 msgid "``install.disable_shortcut_kinds``" -msgstr "" +msgstr "``install.disable_shortcut_kinds``" #: using/windows.rst:1 msgid "" @@ -1083,66 +1559,82 @@ msgid "" "start\"``). Disabled shortcuts are not reactivated by " "``enable_shortcut_kinds``." msgstr "" +"Λίστα με κόμμα διαχωρισμένων ειδών συντομεύσεων για να εξαιρούνται (π.χ. " +"``\"pep514,start\"``). Οι απενεργοποιημένες συντομεύσεις δεν " +"επανενεργοποιούνται από το ``enable_shortcut_kinds``." #: using/windows.rst:1 msgid "``pep514_root``" -msgstr "" +msgstr "``pep514_root``" #: using/windows.rst:1 msgid "" "Registry location to read and write PEP 514 entries into. By default, :file:" "`HKEY_CURRENT_USER\\\\Software\\\\Python`." msgstr "" +"Τοποθεσία μητρώου για ανάγνωση και εγγραφή καταχωρήσεων PEP 514. Από " +"προεπιλογή, :file:`HKEY_CURRENT_USER\\\\Software\\\\Python`." #: using/windows.rst:1 msgid "``start_folder``" -msgstr "" +msgstr "``start_folder``" #: using/windows.rst:1 msgid "" "Start menu folder to write shortcuts into. By default, ``Python``. This path " "is relative to the user's Programs folder." msgstr "" +"Φάκελος μενού Έναρξης για εγγραφή συντομεύσεων. Από προεπιλογή, ``Python``. " +"Αυτή η διαδρομή είναι σχετική με το φάκελο Προγράμματα του χρήστη." #: using/windows.rst:1 msgid "``virtual_env``" -msgstr "" +msgstr "``virtual_env``" #: using/windows.rst:1 msgid "" "Path to the active virtual environment. By default, this is " "``%VIRTUAL_ENV%``, but may be set empty to disable venv detection." msgstr "" +"Διαδρομή προς το ενεργό εικονικό περιβάλλον. Από προεπιλογή, αυτό είναι " +"``%VIRTUAL_ENV%``, αλλά μπορεί να οριστεί κενό για να απενεργοποιηθεί η " +"ανίχνευση venv." #: using/windows.rst:1 msgid "``shebang_can_run_anything_silently``" -msgstr "" +msgstr "``shebang_can_run_anything_silently``" #: using/windows.rst:1 msgid "" "True to suppress visible warnings when a shebang launches an application " "other than a Python runtime." msgstr "" +"True για να καταστείλει ορατές προειδοποιήσεις όταν ένα shebang εκκινεί μια " +"εφαρμογή εκτός από μια εκτελέσιμη Python." #: using/windows.rst:1480 msgid "Installing Free-threaded Binaries" -msgstr "" +msgstr "Εγκατάσταση Δυαδικών Αρχείων με Ελεύθερα Νήματα" #: using/windows.rst:928 using/windows.rst:1482 msgid "(Experimental)" -msgstr "" +msgstr "(Πειραματικό)" #: using/windows.rst:932 using/windows.rst:1486 msgid "" "Everything described in this section is considered experimental, and should " "be expected to change in future releases." msgstr "" +"Όλα όσα περιγράφονται σε αυτήν την ενότητα θεωρούνται πειραματικά και θα " +"πρέπει να αναμένονται να αλλάξουν σε μελλοντικές εκδόσεις." #: using/windows.rst:694 msgid "" "Pre-built distributions of the experimental free-threaded build are " "available by installing tags with the ``t`` suffix." msgstr "" +"Διανεμημένες προ-κατασκευές του πειραματικού build με ελεύθερα νήματα είναι " +"διαθέσιμες με την εγκατάσταση ετικετών με το επίθημα ``t``." #: using/windows.rst:697 msgid "" @@ -1150,6 +1642,9 @@ msgid "" "$> py install 3.14t-arm64\n" "$> py install 3.14t-32" msgstr "" +"$> py install 3.14t\n" +"$> py install 3.14t-arm64\n" +"$> py install 3.14t-32" #: using/windows.rst:703 msgid "" @@ -1159,10 +1654,15 @@ msgid "" "to your :envvar:`PATH` environment variable, the ``python3.14t.exe`` " "commands." msgstr "" +"Αυτό θα εγκαταστήσει και θα καταχωρήσει ως κανονικό. Εάν δεν έχετε άλλες " +"εκτελέσιμες εγκαταστάσεις, τότε το ``python`` θα εκκινήσει αυτήν. Αλλιώς, θα " +"χρειαστεί να χρησιμοποιήσετε το ``py -V:3.14t ...`` ή, εάν έχετε προσθέσει " +"τον παγκόσμιο κατάλογο ψευδωνύμων στη μεταβλητή περιβάλλοντος :envvar:" +"`PATH`, τις εντολές ``python3.14t.exe``." #: using/windows.rst:719 msgid "Troubleshooting" -msgstr "" +msgstr "Αντιμετώπιση προβλημάτων" #: using/windows.rst:713 msgid "" @@ -1172,24 +1672,32 @@ msgid "" "including any relevant log files (written to your :file:`%TEMP%` directory " "by default)." msgstr "" +"Εάν ο διαχειριστής εγκατάστασης Python δεν φαίνεται να λειτουργεί σωστά, " +"παρακαλούμε να εργαστείτε μέσα από αυτές τις δοκιμές και διορθώσεις για να " +"δείτε αν βοηθάει. Εάν όχι, παρακαλούμε αναφέρετε ένα ζήτημα στο `our bug " +"tracker `_, συμπεριλαμβάνοντας " +"οποιαδήποτε σχετικά αρχεία καταγραφής (γραμμένα στον φάκελο :file:`%TEMP%` " +"από προεπιλογή)." #: using/windows.rst:1 msgid "Symptom" -msgstr "" +msgstr "Σύμπτωμα" #: using/windows.rst:1 msgid "Things to try" -msgstr "" +msgstr "Πράγματα που μπορείτε να δοκιμάσετε" #: using/windows.rst:1 msgid "" "``python`` gives me a \"command not found\" error or opens the Store app " "when I type it in my terminal." msgstr "" +"το ``python`` μου δίνει σφάλμα \"command not found\" ή ανοίγει την εφαρμογή " +"Store όταν το πληκτρολογώ στο τερματικό μου." #: using/windows.rst:1 msgid "Did you :ref:`install the Python install manager `?" -msgstr "" +msgstr "Εγκαταστήσατε το :ref:`install the Python install manager `" #: using/windows.rst:1 msgid "" @@ -1198,15 +1706,23 @@ msgid "" "disabling and re-enabling to refresh the command. The \"Python (default " "windowed)\" and \"Python install manager\" commands may also need refreshing." msgstr "" +"Κάντε κλικ στο Έναρξη, ανοίξτε το \"Διαχείριση εκτέλεσης εφαρμογών\" και " +"ελέγξτε ότι τα aliases για το \"Python (default)\" είναι ενεργοποιημένα. Εάν " +"ήδη είναι, δοκιμάστε να τα απενεργοποιήσετε και να τα ενεργοποιήσετε ξανά " +"για να ανανεώσετε την εντολή. Οι εντολές \"Python (default windowed)\" και " +"\"Python install manager\" ενδέχεται επίσης να χρειάζονται ανανέωση." #: using/windows.rst:1 msgid "Check that the ``py`` and ``pymanager`` commands work." -msgstr "" +msgstr "Ελέγξτε ότι οι εντολές ``py`` και ``pymanager`` λειτουργούν." #: using/windows.rst:1 msgid "" -"``py`` gives me a \"command not found\" error when I type it in my terminal." +"το ``py`` gives me a \"command not found\" error when I type it in my " +"terminal." msgstr "" +"το ``py`` μου δίνει σφάλμα \"command not found\" όταν το πληκτρολογώ στο " +"τερματικό μου." #: using/windows.rst:1 msgid "" @@ -1215,12 +1731,20 @@ msgid "" "disabling and re-enabling to refresh the command. The \"Python (default " "windowed)\" and \"Python install manager\" commands may also need refreshing." msgstr "" +"Κάντε κλικ στο Έναρξη, ανοίξτε το \"Διαχείριση εκτέλεσης εφαρμογών\" και " +"ελέγξτε ότι τα aliases για το \"Python install manager\" είναι " +"ενεργοποιημένα. Εάν ήδη είναι, δοκιμάστε να τα απενεργοποιήσετε και να τα " +"ενεργοποιήσετε ξανά για να ανανεώσετε την εντολή. Οι εντολές \"Python " +"(default windowed)\" και \"Python install manager\" ενδέχεται επίσης να " +"χρειάζονται ανανέωση." #: using/windows.rst:1 msgid "" "``py`` gives me a \"can't open file\" error when I type commands in my " "terminal." msgstr "" +"το ``py`` μου δίνει σφάλμα \"can't open file\" όταν πληκτρολογώ εντολές στο " +"τερματικό μου." #: using/windows.rst:1 msgid "" @@ -1228,26 +1752,35 @@ msgid "" "priority over the Python install manager. To remove, click Start, open " "\"Installed apps\", search for \"Python launcher\" and uninstall it." msgstr "" +"Αυτό συνήθως σημαίνει ότι έχετε εγκαταστήσει τον παλιό launcher και έχει " +"προτεραιότητα έναντι του διαχειριστή εγκατάστασης Python. Για να το " +"αφαιρέσετε, κάντε κλικ στο Έναρξη, ανοίξτε το \"Εγκατεστημένες εφαρμογές\", " +"αναζητήστε το \"Python launcher\" και απεγκαταστήστε το." #: using/windows.rst:1 msgid "``python`` doesn't launch the same runtime as ``py``" -msgstr "" +msgstr "η ``python`` δεν ξεκινά το ίδιο runtime με το ``py``" #: using/windows.rst:1 msgid "" "Click Start, open \"Installed apps\", look for any existing Python runtimes, " "and either remove them or Modify and disable the :envvar:`PATH` options." msgstr "" +"Κάντε κλικ στο Έναρξη, ανοίξτε το \"Εγκατεστημένες εφαρμογές\", αναζητήστε " +"τους υπάρχοντες Python runtimes και είτε αφαιρέστε τους είτε τροποποιήστε " +"και απενεργοποιήστε τις επιλογές :envvar:`PATH`." #: using/windows.rst:1 msgid "" "Click Start, open \"Manage app execution aliases\", and check that your " "``python.exe`` alias is set to \"Python (default)\"" msgstr "" +"Κάντε κλικ στο Έναρξη, ανοίξτε το \"Διαχείριση εκτέλεσης εφαρμογών\" και " +"ελέγξτε ότι το alias ``python.exe`` είναι ρυθμισμένο σε \"Python (default)\"" #: using/windows.rst:1 msgid "``python`` and ``py`` don't launch the runtime I expect" -msgstr "" +msgstr "``python`` και ``py`` δεν ξεκινούν το runtime που περιμένω" #: using/windows.rst:1 msgid "" @@ -1255,6 +1788,9 @@ msgid "" "``default_tag`` configuration. The ``py list`` command will show your " "default based on these settings." msgstr "" +"Ελέγξτε τη μεταβλητή περιβάλλοντος ``PYTHON_MANAGER_DEFAULT`` ή τη " +"διαμόρφωση ``default_tag``. Η εντολή ``py list`` θα εμφανίσει την προεπιλογή " +"σας με βάση αυτές τις ρυθμίσεις." #: using/windows.rst:1 msgid "" @@ -1262,6 +1798,10 @@ msgid "" "of unmanaged installs. Use ``py install`` to install the runtime you expect, " "or configure your default tag." msgstr "" +"Εγκαταστάσεις που διαχειρίζονται από τον διαχειριστή εγκατάστασης Python θα " +"επιλεγούν πριν από τις μη διαχειριζόμενες εγκαταστάσεις. Χρησιμοποιήστε το " +"``py install`` για να εγκαταστήσετε το runtime που περιμένετε, ή διαμορφώστε " +"την προεπιλεγμένη ετικέτα σας." #: using/windows.rst:1 msgid "" @@ -1270,28 +1810,41 @@ msgid "" "default tag or uninstall the prerelease runtime and reinstall using ``py " "install``." msgstr "" +"Προεκδόσεις και πειραματικές εγκαταστάσεις που δεν διαχειρίζονται από τον " +"διαχειριστή εγκατάστασης Python ενδέχεται να επιλεγούν πριν από τις σταθερές " +"εκδόσεις. Διαμορφώστε την προεπιλεγμένη ετικέτα σας ή απεγκαταστήστε το " +"runtime προέκδοσης και επανεγκαταστήστε το χρησιμοποιώντας το ``py install``." #: using/windows.rst:1 msgid "" "``pythonw`` or ``pyw`` don't launch the same runtime as ``python`` or ``py``" msgstr "" +"``pythonw`` ή ``pyw`` δεν ξεκινούν το ίδιο runtime με το ``python`` ή το " +"``py``" #: using/windows.rst:1 msgid "" "Click Start, open \"Manage app execution aliases\", and check that your " "``pythonw.exe`` and ``pyw.exe`` aliases are consistent with your others." msgstr "" +"Κάντε κλικ στο Έναρξη, ανοίξτε το \"Διαχείριση εκτέλεσης εφαρμογών\" και " +"ελέγξτε ότι τα aliases σας ``pythonw.exe`` και ``pyw.exe`` είναι συνεπή με " +"τα άλλα." #: using/windows.rst:1 msgid "" "``pip`` gives me a \"command not found\" error when I type it in my terminal." msgstr "" +"Το ``pip`` μου δίνει σφάλμα \"command not found\" όταν το πληκτρολογώ στο " +"τερματικό μου." #: using/windows.rst:1 msgid "" "Have you activated a virtual environment? Run the ``." "venv\\Scripts\\activate`` script in your terminal to activate." msgstr "" +"Έχετε ενεργοποιήσει ένα εικονικό περιβάλλον; Εκτελέστε το script ``." +"venv\\Scripts\\activate`` στο τερματικό σας για να το ενεργοποιήσετε." #: using/windows.rst:1 msgid "" @@ -1301,10 +1854,16 @@ msgid "" "and show you the path to add to :envvar:`PATH`. These scripts are separated " "for each runtime, and so you may need to add multiple paths." msgstr "" +"Το πακέτο ενδέχεται να είναι διαθέσιμο αλλά να λείπει το δημιουργημένο " +"εκτελέσιμο. Συνιστούμε τη χρήση της εντολής ``python -m pip``, ή εναλλακτικά " +"η εντολή ``python -m pip install --force pip`` θα αναδημιουργήσει τα " +"εκτελέσιμα και θα σας δείξει τη διαδρομή για προσθήκη στο :envvar:`PATH`. " +"Αυτά τα scripts είναι ξεχωριστά για κάθε runtime, και έτσι μπορεί να " +"χρειαστεί να προσθέσετε πολλαπλές διαδρομές." #: using/windows.rst:788 msgid "The embeddable package" -msgstr "" +msgstr "Το ενσωματωμένο πακέτο" #: using/windows.rst:792 msgid "" @@ -1312,16 +1871,21 @@ msgid "" "environment. It is intended for acting as part of another application, " "rather than being directly accessed by end-users." msgstr "" +"Η ενσωματωμένη διανομή είναι ένα αρχείο ZIP που περιέχει ένα ελάχιστο " +"περιβάλλον Python. Προορίζεται για δράση ως μέρος μιας άλλης εφαρμογής, αντί " +"να έχει άμεση πρόσβαση από τους τελικούς χρήστες." #: using/windows.rst:796 msgid "" "To install an embedded distribution, we recommend using ``py install`` with " "the ``--target`` option:" msgstr "" +"Για να εγκαταστήσετε μια ενσωματωμένη διανομή, προτείνουμε τη χρήση του ``py " +"install`` με την επιλογή ``--target``:" #: using/windows.rst:799 msgid "$> py install 3.14-embed --target=runtime" -msgstr "" +msgstr "$> py install 3.14-embed --target=runtime" #: using/windows.rst:803 msgid "" @@ -1333,6 +1897,14 @@ msgid "" "tk (including all dependents, such as Idle), pip and the Python " "documentation are not included." msgstr "" +"Όταν εξάγεται, η ενσωματωμένη διανομή απομονώνεται (σχεδόν) πλήρως από το " +"σύστημα του χρήστη, συμπεριλαμβανομένων μεταβλητών περιβάλλοντος, ρυθμίσεων " +"μητρώου συστήματος και εγκατεστημένων πακέτων. Η τυπική βιβλιοθήκη " +"περιλαμβάνεται ως προ-μεταγλωττισμένα και βελτιστοποιημένα αρχεία ``.pyc`` " +"σε ένα ZIP και ``python3.dll``, ``python313.dll``, ``python.exe`` και " +"``pythonw.exe`` παρέχονται όλα. Το Tcl/tk (συμπεριλαμβανομένων όλων των " +"εξαρτημένων, όπως το Idle), το pip και η τεκμηρίωση Python δεν " +"συμπεριλαμβάνονται." #: using/windows.rst:810 msgid "" @@ -1340,6 +1912,10 @@ msgid "" "search paths (as described below in :ref:`windows_finding_modules`). This " "file is intended for embedders to modify as necessary." msgstr "" +"Ένα προεπιλεγμένο αρχείο ``._pth`` περιλαμβάνεται, το οποίο περιορίζει " +"περαιτέρω τις προεπιλεγμένες διαδρομές αναζήτησης (όπως περιγράφεται " +"παρακάτω στο :ref:`windows_finding_modules`). Αυτό το αρχείο προορίζεται για " +"τροποποίηση από ενσωματωτές όπως είναι απαραίτητο." #: using/windows.rst:814 msgid "" @@ -1351,15 +1927,26 @@ msgid "" "part of the application (\"vendoring\") so that the developer can ensure " "compatibility with newer versions before providing updates to users." msgstr "" +"Τα πακέτα τρίτων θα πρέπει να εγκατασταθούν από το πρόγραμμα εγκατάστασης " +"της εφαρμογής παράλληλα με την ενσωματωμένη διανομή. Η χρήση pip για τη " +"διαχείριση εξαρτήσεων όπως για μια κανονική εγκατάσταση Python δεν " +"υποστηρίζεται με αυτήν τη διανομή, αν και με λίγη προσοχή μπορεί να είναι " +"δυνατό, να συμπεριληφθεί και να χρησιμοποιηθεί το pip για αυτόματες " +"ενημερώσεις. Γενικά, τα πακέτα τρίτων θα πρέπει να αντιμετωπίζονται ως μέρος " +"της εφαρμογής (\"vendoring\"), έτσι ώστε ο προγραμματιστής να μπορεί να " +"διασφαλίσει τη συμβατότητα με νεότερες εκδόσεις προτού παρέχει ενημερώσεις " +"στους χρήστες." #: using/windows.rst:822 msgid "" "The two recommended use cases for this distribution are described below." msgstr "" +"Οι δύο προτεινόμενες περιπτώσεις χρήσης για αυτήν τη διανομή περιγράφονται " +"παρακάτω." #: using/windows.rst:825 msgid "Python Application" -msgstr "" +msgstr "Εφαρμογή Python" #: using/windows.rst:827 msgid "" @@ -1369,6 +1956,11 @@ msgid "" "transparent it should be (or conversely, how professional it should appear), " "there are two options." msgstr "" +"Μια εφαρμογή γραμμένη σε Python δεν απαιτεί απαραίτητα από τους χρήστες να " +"γνωρίζουν αυτό το γεγονός. Η ενσωματωμένη διανομή μπορεί να χρησιμοποιηθεί " +"σε αυτήν την περίπτωση για να συμπεριλάβει μια ιδιωτική έκδοση της Python σε " +"ένα πακέτο εγκατάστασης. Ανάλογα με το πόσο διαφανές θα πρέπει να είναι (ή " +"αντίστροφα, πόσο επαγγελματικό θα έπρεπε να φαίνεται), υπάρχουν δύο επιλογές." #: using/windows.rst:833 msgid "" @@ -1380,6 +1972,14 @@ msgid "" "launcher should simply be able to call ``Py_Main`` with a hard-coded command " "line." msgstr "" +"Η χρήση ενός εξειδικευμένου εκτελέσιμου ως προγράμματος εκκίνησης απαιτεί " +"κάποια κωδικοποίηση, αλλά παρέχει την πιο διαφανής εμπειρία για τους " +"χρήστες. Με έναν προσαρμοσμένο πρόγραμμα εκκίνησης, δεν υπάρχουν προφανείς " +"ενδείξεις ότι το πρόγραμμα εκτελείται σε Python: τα εικονίδια μπορούν να " +"προσαρμοστούν, οι πληροφορίες εταιρείας και έκδοσης μπορούν να καθορίζεται " +"και οι συσχετισμοί αρχείων συμπεριφέρονται σωστά. Στις περισσότερες " +"περιπτώσεις, ένα προσαρμοσμένο πρόγραμμα εκκίνησης θα πρέπει απλώς να μην " +"μπορεί να καλεί το ``Py_Main`` με μια σκληρά κωδικοποιημένη γραμμή εντολών." #: using/windows.rst:840 msgid "" @@ -1389,6 +1989,12 @@ msgid "" "Python and not its actual name, and users may have trouble distinguishing it " "from other running Python processes or file associations." msgstr "" +"Η απλούστερη προσέγγιση είναι να παρέχετε ένα αρχείο δέσμης ή μια συντόμευση " +"που δημιουργείται που καλεί απευθείας το ``python.exe`` ή το ``pythonw.exe`` " +"με τα απαιτούμενα ορίσματα γραμμής εντολών. Σε αυτήν την περίπτωση, η " +"εφαρμογή φαίνεται να είναι Python και όχι το πραγματικό της όνομα, και οι " +"χρήστες μπορεί να έχουν πρόβλημα να το ξεχωρίσουν από άλλες διεργασίες " +"Python που εκτελούνται ή συσχετίσεις αρχείων." #: using/windows.rst:846 msgid "" @@ -1398,10 +2004,15 @@ msgid "" "there is an opportunity to specify the search path before launching the " "application." msgstr "" +"Με την τελευταία προσέγγιση, τα πακέτα θα πρέπει να εγκατασταθούν ως " +"κατάλογοι μαζί με το εκτελέσιμο Python για να διασφαλιστεί ότι είναι " +"διαθέσιμα στην διαδρομή. Με το εξειδικευμένο πρόγραμμα εκκίνησης τα πακέτα " +"μπορούν να βρίσκονται σε άλλες τοποθεσίες, καθώς υπάρχει η ευκαιρία να " +"καθοριστεί η διαδρομή αναζήτησης πριν από την εκκίνηση της εφαρμογής." #: using/windows.rst:852 msgid "Embedding Python" -msgstr "" +msgstr "Ενσωμάτωση Python" #: using/windows.rst:854 msgid "" @@ -1413,6 +2024,13 @@ msgid "" "application installation is sufficient to provide a loadable Python " "interpreter." msgstr "" +"Οι εφαρμογές που είναι γραμμένες σε εγγενή κώδικα απαιτούν συχνά κάποια " +"μορφή scripting γλώσσας και η ενσωματωμένη διανομή Python μπορεί να " +"χρησιμοποιηθεί για αυτόν τον σκοπό. Γενικά, η πλειονότητα της εφαρμογής " +"είναι σε εγγενή κώδικα και κάποιο μέρος είτε θα καλέσει το ``python.exe`` ή " +"θα χρησιμοποιήσει απευθείας το ``python3.dll``. Και στις δύο περιπτώσεις, η " +"εξαγωγή της ενσωματωμένης διανομής σε έναν υποκατάλογο της εγκατάστασης της " +"εφαρμογής αρκεί για να παρέχει έναν διερμηνέα Python με δυνατότητα φόρτωσης." #: using/windows.rst:861 msgid "" @@ -1421,10 +2039,15 @@ msgid "" "interpreter. Otherwise, there is no fundamental differences between using " "the embedded distribution and a regular installation." msgstr "" +"Όπως και με τη χρήση της εφαρμογής, τα πακέτα μπορούν να εγκατασταθούν σε " +"οποιαδήποτε τοποθεσία, καθώς υπάρχει η ευκαιρία να καθορίσουν διαδρομές " +"αναζήτησης πριν αρχικοποιηθεί ο διερμηνέας. Διαφορετικά , δεν υπάρχουν " +"θεμελιώδεις διαφορές μεταξύ της χρήσης της ενσωματωμένης διανομή και μιας " +"κανονικής εγκατάστασης." #: using/windows.rst:870 msgid "The nuget.org packages" -msgstr "" +msgstr "Τα πακέτα nuget.org" #: using/windows.rst:874 msgid "" @@ -1433,6 +2056,11 @@ msgid "" "install of Python. While nuget is \"the package manager for .NET\", it also " "works perfectly fine for packages containing build-time tools." msgstr "" +"Το πακέτο nuget.org είναι ένα περιβάλλον Python μειωμένου μεγέθους που " +"προορίζεται για χρήση σε συνεχή ενοποίηση και δημιουργία συστημάτων που δεν " +"έχουν εγκατάσταση Python. Ενώ το nuget είναι \"ο διαχειριστής πακέτων για ." +"NET\", λειτουργεί επίσης τέλεια για πακέτα που περιέχουν εργαλεία χρόνου " +"κατασκευής." #: using/windows.rst:879 msgid "" @@ -1440,6 +2068,9 @@ msgid "" "information on using nuget. What follows is a summary that is sufficient for " "Python developers." msgstr "" +"Επισκεφτείτε το `nuget.org `_ για τις πιο " +"ενημερωμένες πληροφορίες σχετικά με τη χρήση του nuget. Αυτό που ακολουθεί " +"είναι μια περίληψη που είναι επαρκής για προγραμματιστές Python." #: using/windows.rst:883 msgid "" @@ -1448,12 +2079,18 @@ msgid "" "the tool, the latest version of Python for 64-bit or 32-bit machines is " "installed using::" msgstr "" +"Το εργαλείο γραμμής εντολών ``nuget.exe`` μπορεί να ληφθεί απευθείας από το " +"``https://aka.ms/nugetclidl``, για παράδειγμα, χρησιμοποιώντας curl ή " +"PowerShell. Με το εργαλείο, η πιο πρόσφατη έκδοση της Python για μηχανήματα " +"64-bit ή 32-bit εγκαθίστανται χρησιμοποιώντας::" #: using/windows.rst:888 msgid "" "nuget.exe install python -ExcludeVersion -OutputDirectory .\n" "nuget.exe install pythonx86 -ExcludeVersion -OutputDirectory ." msgstr "" +"nuget.exe install python -ExcludeVersion -OutputDirectory .\n" +"nuget.exe install pythonx86 -ExcludeVersion -OutputDirectory ." #: using/windows.rst:891 msgid "" @@ -1464,6 +2101,13 @@ msgid "" "the specific version installed. Inside the subdirectory is a ``tools`` " "directory that contains the Python installation:" msgstr "" +"Για να επιλέξετε μια συγκεκριμένη έκδοση, προσθέστε ένα ``-Version 3.x.y``. " +"Ο κατάλογος εξόδου μπορεί να αλλάξει από ``.``, και το πακέτο να " +"εγκατασταθεί σε έναν υποκατάλογο. Από προεπιλογή, ο υποκατάλογος ονομάζεται " +"όπως και το πακέτο, και χωρίς την επιλογή ``-ExcludeVersion``, αυτό το όνομα " +"θα περιλαμβάνει τη συγκεκριμένη έκδοση που έχει εγκατασταθεί. Μέσα στον " +"υποκατάλογο υπάρχει ένας κατάλογος ``tools`` που περιέχει την εγκατάσταση " +"Python:" #: using/windows.rst:898 msgid "" @@ -1475,6 +2119,13 @@ msgid "" "> .\\python\\tools\\python.exe -V\n" "Python 3.5.2" msgstr "" +"# Without -ExcludeVersion\n" +"> .\\python.3.5.2\\tools\\python.exe -V\n" +"Python 3.5.2\n" +"\n" +"# With -ExcludeVersion\n" +"> .\\python\\tools\\python.exe -V\n" +"Python 3.5.2" #: using/windows.rst:908 msgid "" @@ -1483,6 +2134,11 @@ msgid "" "delete the package directory manually and install it again. Many CI systems " "will do this automatically if they do not preserve files between builds." msgstr "" +"Γενικά, τα πακέτα nuget δεν μπορούν να αναβαθμιστούν και οι νεότερες " +"εκδόσεις θα πρέπει να εγκατασταθούν δίπλα-δίπλα και να αναφέρονται " +"χρησιμοποιώντας την πλήρη διαδρομή. Εναλλακτικά, διαγράψτε τον κατάλογο " +"πακέτων με μη αυτόματο τρόπο και εγκαταστήστε τον ξανά. Πολλά συστήματα CI " +"θα το κάνουν αυτόματα εάν δεν διατηρούν αρχεία μεταξύ των εκδόσεων." #: using/windows.rst:913 msgid "" @@ -1491,6 +2147,11 @@ msgid "" "+ project to reference the Python install. Including the settings will " "automatically use the headers and import libraries in your build." msgstr "" +"Δίπλα στον κατάλογο ``tools`` υπάρχει ένας κατάλογος ``build\\native``. " +"Αυτός περιέχει ένα αρχείο ιδιοτήτων MSBuild ``python.props`` που μπορεί να " +"χρησιμοποιηθεί σε ένα έργο C++ για αναφορά στην εγκατάσταση της Python. Η " +"συμπερίληψη των ρυθμίσεων θα χρησιμοποιεί αυτόματα τις κεφαλίδες και θα " +"εισάγει βιβλιοθήκες στο build σας." #: using/windows.rst:918 msgid "" @@ -1500,10 +2161,15 @@ msgid "" "pythonx86>`_ for the 32-bit version, and `www.nuget.org/packages/pythonarm64 " "`_ for the ARM64 version" msgstr "" +"Οι σελίδες πληροφοριών πακέτων στο nuget.org είναι `www.nuget.org/packages/" +"python `_ για την έκδοση 64 bit, www." +"nuget.org/packages/pythonx86 `_ για την " +"έκδοση 32 bit και `www.nuget.org/packages/pythonarm64 `_ για την έκδοση ARM64." #: using/windows.rst:926 msgid "Free-threaded packages" -msgstr "" +msgstr "Πακέτα με ελεύθερα νήματα" #: using/windows.rst:935 msgid "" @@ -1515,10 +2181,17 @@ msgid "" "version. These packages contain both the ``python3.13t.exe`` and ``python." "exe`` entry points, both of which run free threaded." msgstr "" +"Πακέτα που περιέχουν ελεύθερα νήματα ονομάζονται `python-freethreaded " +"`_ για την έκδοση 64 " +"bit, `pythonx86-freethreaded `_ για την έκδοση 32 bit και `pythonarm64-freethreaded `_ για την έκδοση ARM64. " +"Αυτά τα πακέτα περιέχουν τόσο τα σημεία εισόδου ``python3.13t.exe`` όσο και " +"``python.exe``, και τα δύο από τα οποία εκτελούν ελεύθερα νήματα." #: using/windows.rst:946 msgid "Alternative bundles" -msgstr "" +msgstr "Εναλλακτικά πακέτα" #: using/windows.rst:948 msgid "" @@ -1526,33 +2199,40 @@ msgid "" "including additional functionality. The following is a list of popular " "versions and their key features:" msgstr "" +"Εκτός από την τυπική διανομή CPython, υπάρχουν τροποποιημένα πακέτα που " +"περιλαμβάνουν πρόσθετες λειτουργίες. Ακολουθεί μια λίστα με δημοφιλείς " +"εκδόσεις και τα βασικά χαρακτηριστικά τους:" #: using/windows.rst:952 msgid "`ActivePython `_" -msgstr "" +msgstr "`ActivePython `_" #: using/windows.rst:953 msgid "Installer with multi-platform compatibility, documentation, PyWin32" msgstr "" +"Πρόγραμμα εγκατάστασης με συμβατότητα πολλαπλών πλατφορμών, τεκμηρίωση, " +"PyWin32" #: using/windows.rst:955 msgid "`Anaconda `_" -msgstr "" +msgstr "`Anaconda `_" #: using/windows.rst:956 msgid "" "Popular scientific modules (such as numpy, scipy and pandas) and the " "``conda`` package manager." msgstr "" +"Δημοφιλείς επιστημονικά modules (όπως το numpy, scipy και pandas) και ο " +"διαχειριστής πακέτων ``conda``." #: using/windows.rst:959 msgid "" "`Enthought Deployment Manager `_" -msgstr "" +msgstr "`Enthought Deployment Manager `_" #: using/windows.rst:960 msgid "\"The Next Generation Python Environment and Package Manager\"." -msgstr "" +msgstr "\"Η επόμενη γενικά Διαχειριστή Περιβάλλοντος και Πακέτων Python\"." #: using/windows.rst:962 msgid "" @@ -1561,26 +2241,35 @@ msgid "" "of-life-transition-to-the-Enthought-Deployment-Manager-EDM-and-Visual-Studio-" "Code>`_." msgstr "" +"Προηγουμένως, η Enthought παρείχε το Canopy, αλλά έφτασε στο τέλος της ζωής " +"του το 2016 `_." #: using/windows.rst:965 msgid "`WinPython `_" -msgstr "" +msgstr "`WinPython `_" #: using/windows.rst:966 msgid "" "Windows-specific distribution with prebuilt scientific packages and tools " "for building packages." msgstr "" +"Διανομή ειδικά για Windows με προκατασκευασμένα επιστημονικά πακέτα και " +"εργαλεία για την κατασκευή πακέτων." #: using/windows.rst:969 msgid "" "Note that these packages may not include the latest versions of Python or " "other libraries, and are not maintained or supported by the core Python team." msgstr "" +"Λάβετε υπόψη ότι αυτά τα πακέτα ενδέχεται να μην περιλαμβάνουν τις πιο " +"πρόσφατες εκδόσεις της Python ή άλλες βιβλιοθήκες και δεν διατηρούνται ή " +"υποστηρίζονται από την βασική ομάδα της Python." #: using/windows.rst:974 msgid "Supported Windows versions" -msgstr "" +msgstr "Υποστηριζόμενες εκδόσεις των Windows" #: using/windows.rst:976 msgid "" @@ -1590,16 +2279,25 @@ msgid "" "7 support, please install Python 3.8. If you require Windows 8.1 support, " "please install Python 3.12." msgstr "" +"Όπως ορίζεται στο :pep:`11`, μια έκδοση Python υποστηρίζει μόνο μια " +"πλατφόρμα Windows, ενώ η Microsoft θεωρεί την πλατφόρμα υπό εκτεταμένη " +"υποστήριξη. Αυτό σημαίνει ότι η Python |version| υποστηρίζει Windows 8.1 και " +"νεότερες εκδόσεις. Εάν χρειάζεστε υποστήριξη Windows 7, εγκαταστήστε την " +"Python 3.8. Εάν χρειάζεστε υποστήριξη Windows 8.1, εγκαταστήστε την Python " +"3.12." #: using/windows.rst:1267 msgid "Removing the MAX_PATH Limitation" -msgstr "" +msgstr "Κατάργηση του περιορισμού MAX_PATH" #: using/windows.rst:1269 msgid "" "Windows historically has limited path lengths to 260 characters. This meant " "that paths longer than this would not resolve and errors would result." msgstr "" +"Τα Windows έχουν ιστορικά περιορισμένα μήκη διαδρομής στους 260 χαρακτήρες. " +"Αυτό σήμαινε ότι διαδρομές μεγαλύτερες από αυτό δεν θα επιλύονταν και θα " +"προέκυπταν σφάλματα." #: using/windows.rst:991 msgid "" @@ -1609,22 +2307,31 @@ msgid "" "registry key " "``HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\FileSystem``." msgstr "" +"Στις πιο πρόσφατες εκδόσεις των Windows, αυτός ο περιορισμός μπορεί να " +"επεκταθεί σε πάνω από 32.000 χαρακτήρες. Ο διαχειριστής σας θα πρέπει να " +"ενεργοποιήσει την πολιτική ομάδας \"Ενεργοποίηση μακρών διαδρομών Win32\" ή " +"να ορίσει το ``LongPathsEnabled`` σε ``1`` στο κλειδί μητρώου " +"``HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\FileSystem``." #: using/windows.rst:1278 msgid "" "This allows the :func:`open` function, the :mod:`os` module and most other " "path functionality to accept and return paths longer than 260 characters." msgstr "" +"Αυτό επιτρέπει στη συνάρτηση :func:`open`, στο module :mod:`os` και στις " +"περισσότερες άλλες λειτουργίες διαδρομής να αποδέχονται και να επιστρέφουν " +"διαδρομές μεγαλύτερες από 260 χαρακτήρες." #: using/windows.rst:999 msgid "" "After changing the above option and rebooting, no further configuration is " "required." msgstr "" +"Μετά την αλλαγή της παραπάνω επιλογής, δεν απαιτείται περαιτέρω διαμόρφωση." #: using/windows.rst:1006 msgid "UTF-8 mode" -msgstr "" +msgstr "Λειτουργία UTF-8" #: using/windows.rst:1010 msgid "" @@ -1632,12 +2339,19 @@ msgid "" "Page). Python uses it for the default encoding of text files (e.g. :func:" "`locale.getencoding`)." msgstr "" +"Τα Windows εξακολουθούν να χρησιμοποιούν κωδικοποιήσεις παλαιού τύπου για " +"την κωδικοποίηση του συστήματος (τη σελίδα κώδικα ANSI). Η Python τη " +"χρησιμοποιεί για την προεπιλεγμένη κωδικοποίηση αρχείων κειμένου (π.χ. :func:" +"`locale.getencoding`)." #: using/windows.rst:1014 msgid "" "This may cause issues because UTF-8 is widely used on the internet and most " "Unix systems, including WSL (Windows Subsystem for Linux)." msgstr "" +"Αυτό μπορεί να προκαλέσει προβλήματα επειδή το UTF-8 χρησιμοποιείται ευρέως " +"στο διαδίκτυο και στα περισσότερα συστήματα Unix, συμπεριλαμβανομένου του " +"WSL (Windows Subsystem for Linux)." #: using/windows.rst:1017 msgid "" @@ -1647,12 +2361,22 @@ msgid "" "environment variable. See :envvar:`PYTHONUTF8` for enabling UTF-8 mode, " "and :ref:`setting-envvars` for how to modify environment variables." msgstr "" +"Μπορείτε να χρησιμοποιήσετε τη :ref:`Python UTF-8 Mode ` για να " +"αλλάξετε την προεπιλεγμένη κωδικοποίηση κειμένου σε UTF-8. Μπορείτε να " +"ενεργοποιήσετε το :ref:`Python UTF-8 Mode ` μέσω της επιλογής " +"γραμμής εντολών ``-X utf8`` ή της μεταβλητής περιβάλλοντος " +"``PYTHONUTF8=1``. Βλέπε :envvar:`PYTHONUTF8` για την ενεργοποίηση της " +"λειτουργίας UTF-8 και :ref:`setting-envvars` για τον τρόπο τροποποίηση " +"μεταβλητών περιβάλλοντος." #: using/windows.rst:1023 msgid "" "When the :ref:`Python UTF-8 Mode ` is enabled, you can still use " "the system encoding (the ANSI Code Page) via the \"mbcs\" codec." msgstr "" +"Όταν η :ref:`Python UTF-8 Mode ` είναι ενεργοποιημένη, μπορείτε " +"ακόμα να χρησιμοποιήσετε την κωδικοποίηση συστήματος (τη σελίδα κώδικα ANSI) " +"μέσω του κωδικοποιητή \"mbcs\"." #: using/windows.rst:1026 msgid "" @@ -1662,44 +2386,60 @@ msgid "" "recommended to set the environment variable temporarily or use the ``-X " "utf8`` command line option." msgstr "" +"Λάβετε υπόψη ότι η προσθήκη ``PYTHONUTF8=1``στις προεπιλεγμένες μεταβλητές " +"περιβάλλοντος θα επηρεάσει όλες τις εφαρμογές Python 3.7+ στο σύστημα σας. " +"Εάν έχετε οποιεσδήποτε εφαρμογές Python 3.7+ που βασίζονται στην " +"κωδικοποίηση του συστήματος παλαιού τύπου, συνιστάται να ορίσετε το " +"περιβάλλον μεταβλητή προσωρινά ή χρησιμοποιήστε την επιλογή γραμμής εντολών " +"``-X utf8``." #: using/windows.rst:1033 msgid "" "Even when UTF-8 mode is disabled, Python uses UTF-8 by default on Windows " "for:" msgstr "" +"Ακόμη και όταν η λειτουργία UTF-8 είναι απενεργοποιημένη, η Python " +"χρησιμοποιεί το UTF-8 από προεπιλογή στα Windows για:" #: using/windows.rst:1036 msgid "Console I/O including standard I/O (see :pep:`528` for details)." -msgstr "" +msgstr "I/O κονσόλας με τυπικό I/O (δείτε το :pep:`528` για λεπτομέρειες)." #: using/windows.rst:1037 msgid "" "The :term:`filesystem encoding ` " "(see :pep:`529` for details)." msgstr "" +"Το :term:`filesystem encoding ` " +"(δείτε το :pep:`529` για λεπτομέρειες)." #: using/windows.rst:1044 msgid "Finding modules" -msgstr "" +msgstr "Εύρεση modules" #: using/windows.rst:1046 msgid "" "These notes supplement the description at :ref:`sys-path-init` with detailed " "Windows notes." msgstr "" +"Αυτές οι σημειώσεις συμπληρώνουν την περιγραφή :ref:`sys-path-init` με " +"λεπτομερείς σημειώσεις των Windows." #: using/windows.rst:1049 msgid "" "When no ``._pth`` file is found, this is how :data:`sys.path` is populated " "on Windows:" msgstr "" +"Όταν δεν βρεθεί αρχείο ``._pth``, συμπληρώνεται έτσι το :data:`sys.path` στα " +"Windows:" #: using/windows.rst:1052 msgid "" "An empty entry is added at the start, which corresponds to the current " "directory." msgstr "" +"Μια κενή καταχώρηση προστίθεται στην αρχή, η οποία αντιστοιχεί στον τρέχοντα " +"κατάλογο." #: using/windows.rst:1055 msgid "" @@ -1708,6 +2448,12 @@ msgid "" "paths in this variable must be separated by semicolons, to distinguish them " "from the colon used in drive identifiers (``C:\\`` etc.)." msgstr "" +"Εάν υπάρχει η μεταβλητή περιβάλλοντος :envvar:`PYTHONPATH`, όπως " +"περιγράφεται στο :ref:`using-on-envvars`, οι εγγραφές της προστίθενται στη " +"συνέχεια. Σημειώστε ότι στα Windows, οι διαδρομές σε αυτήν τη μεταβλητή " +"πρέπει να διαχωρίζονται με ερωτηματικά, για να γίνει διάκριση από την άνω " +"και κάτω τελεία που χρησιμοποιείται στα αναγνωριστικά μονάδων δίσκου (``C:" +"\\`` κλπ.)." #: using/windows.rst:1060 msgid "" @@ -1718,6 +2464,14 @@ msgid "" "cause each path to be added to :data:`sys.path`. (Note that all known " "installers only use HKLM, so HKCU is typically empty.)" msgstr "" +"Μπορούν να προστεθούν επιπλέον \"διαδρομές εφαρμογής\" στο μητρώο ως " +"δευτερεύοντα κλειδιά του :samp:`\\\\SOFTWARE\\\\Python\\\\PythonCore\\" +"\\{version}\\\\PythonPath` κάτω από τις κυψέλες ``HKEY_CURRENT_USER`` και " +"``HKEY_LOCAL_MACHINE``. Τα δευτερεύοντα κλειδιά που έχουν ως προεπιλεγμένη " +"τιμή συμβολοσειρές διαδρομής οριοθετημένη με ερωτηματικό θα προκαλέσει την " +"προσθήκη κάθε διαδρομής στο :data:`sys.path`. (Λάβετε υπόψη ότι όλα τα " +"γνωστά προγράμματα εγκατάστασης χρησιμοποιούν μόνο HKLM, επομένως το HKCU " +"είναι συνήθως κενό.)" #: using/windows.rst:1067 msgid "" @@ -1729,6 +2483,14 @@ msgid "" "on that folder. Otherwise, the core Python path is constructed from the " "PythonPath stored in the registry." msgstr "" +"Εάν έχει οριστεί η μεταβλητή περιβάλλοντος :envvar:`PYTHONHOME`, θεωρείται " +"ότι είναι \"Python Home\". Διαφορετικά, η διαδρομή του κύριου εκτελέσιμου " +"Python χρησιμοποιείται για τον εντοπισμό ενός \"αρχείου ορόσημο\" (είτε " +"``Lib\\os.py`` ή ``pythonXY.zip``) για να συμπεράνουμε το \"Python Home\". " +"Αν βρεθεί ένα Python home, οι σχετικοί υποκατάλογοι που προστέθηκαν στο :" +"data:`sys.path` (``Lib``, ``plat-win``, κ.λπ.) βασίζονται σε αυτόν τον " +"φάκελο. Διαφορετικά, η διαδρομή του πυρήνα της Python δημιουργείται από το " +"PythonPath που είναι αποθηκευμένο στο μητρώο." #: using/windows.rst:1075 msgid "" @@ -1736,12 +2498,19 @@ msgid "" "in the environment, and no registry entries can be found, a default path " "with relative entries is used (e.g. ``.\\Lib;.\\plat-win``, etc)." msgstr "" +"Εάν δεν μπορεί να εντοπιστεί το Python Home, δεν καθορίζεται :envvar:" +"`PYTHONPATH` στο περιβάλλον και δεν μπορούν να βρεθούν καταχωρίσεις μητρώου, " +"χρησιμοποιείται μια προεπιλεγμένη διαδρομή με σχετικές καταχωρήσεις (π.χ. ``." +"\\Lib;.\\plat-win``, κλπ)." #: using/windows.rst:1079 msgid "" "If a ``pyvenv.cfg`` file is found alongside the main executable or in the " "directory one level above the executable, the following variations apply:" msgstr "" +"Εάν ένα αρχείο ``pyvenv.cfg`` βρίσκεται δίπλα στο κύριο εκτελέσιμο αρχείο ή " +"στον κατάλογο ένα επίπεδο πάνω από το εκτελέσιμο αρχείο, ισχύουν οι " +"ακόλουθες παραλλαγές:" #: using/windows.rst:1082 msgid "" @@ -1749,10 +2518,13 @@ msgid "" "path is used instead of the path to the main executable when deducing the " "home location." msgstr "" +"Εάν το ``home`` είναι μια απόλυτη διαδρομή και το :envvar:`PYTHONHOME` δεν " +"έχει οριστεί, αυτή η διαδρομή χρησιμοποιείται αντί για τη διαδρομή προς το " +"κύριο εκτελέσιμο κατά την εξαγωγή της αρχικής τοποθεσίας." #: using/windows.rst:1086 msgid "The end result of all this is:" -msgstr "" +msgstr "Το τελικό αποτέλεσμα όλων αυτών είναι:" #: using/windows.rst:1088 msgid "" @@ -1761,6 +2533,11 @@ msgid "" "directory), the core path is deduced, and the core paths in the registry are " "ignored. Other \"application paths\" in the registry are always read." msgstr "" +"Όταν εκτελείται το :file:`python.exe`, ή οποιοδήποτε άλλο .exe στον κύριο " +"κατάλογο της Python (είτε μια εγκατεστημένη έκδοση, είτε απευθείας από τον " +"κατάλογο PCbuild), συνάγεται η διαδρομή του πυρήνα και οι βασικές διαφορές " +"στο μητρώο αγνοούνται. Άλλες \"διαδρομές εφαρμογής\" στο μητρώο διαβάζονται " +"πάντα." #: using/windows.rst:1093 msgid "" @@ -1769,6 +2546,10 @@ msgid "" "the registry is used. Other \"application paths\" in the registry are " "always read." msgstr "" +"Όταν η Python φιλοξενείται σε άλλο .exe (διαφορετικός κατάλογος, " +"ενσωματωμένος μέσω COM, κ.λπ.), το \"Python Home\" δεν θα συναχθεί επομένως " +"χρησιμοποιείται η βασική διαδρομή από το μητρώο. Άλλες \"διαδρομές " +"εφαρμογής\" στο μητρώο διαβάζονται πάντα." #: using/windows.rst:1097 msgid "" @@ -1776,12 +2557,18 @@ msgid "" "some very strange installation setup) you get a path with some default, but " "relative, paths." msgstr "" +"Εάν η Python δεν μπορεί να βρει το home της και δεν υπάρχει τιμή μητρώου " +"(frozen .exe, κάποια πολύ περίεργη εγκατάσταση) λαμβάνετε μια διαδρομή με " +"κάποιες προεπιλεγμένες, αλλά σχετικές, διαδρομές." #: using/windows.rst:1101 msgid "" "For those who want to bundle Python into their application or distribution, " "the following advice will prevent conflicts with other installations:" msgstr "" +"Για όσους θέλουν να ενσωματώσουν την Python στην εφαρμογή ή την διανομή " +"τους, οι ακόλουθες συμβουλές θα αποτρέψουν τις διενέξεις με άλλες " +"εγκαταστάσεις:" #: using/windows.rst:1104 msgid "" @@ -1790,6 +2577,10 @@ msgid "" "environment variables, and also ignore :mod:`site` unless ``import site`` is " "listed." msgstr "" +"Συμπεριλάβετε ένα αρχείο ``._pth`` δίπλα στο εκτελέσιμο αρχείο σας που " +"περιέχει τους καταλόγους που θέλετε να συμπεριλάβετε. Αυτό θα αγνοήσει τις " +"διαδρομές που παρατίθενται στο μητρώο και τις μεταβλητές περιβάλλοντος και " +"θα αγνοήσει επίσης το :mod:`site` εκτός εάν αναφέρεται το ``import site``." #: using/windows.rst:1109 msgid "" @@ -1797,12 +2588,18 @@ msgid "" "executable, explicitly set :c:member:`PyConfig.module_search_paths` before :" "c:func:`Py_InitializeFromConfig`." msgstr "" +"Εάν φορτώνετε το :file:`python3.dll` ή το :file:`python37.dll` στο δικό σας " +"εκτελέσιμο αρχείο, ορίστε ρητά το :c:member:`PyConfig.module_search_paths` " +"πριν από το :c:func:`Py_InitializeFromConfig`." #: using/windows.rst:1113 msgid "" "Clear and/or overwrite :envvar:`PYTHONPATH` and set :envvar:`PYTHONHOME` " "before launching :file:`python.exe` from your application." msgstr "" +"Διαγράψτε και/ή αντικαταστήστε το :envvar:`PYTHONPATH` και ορίστε το :envvar:" +"`PYTHONHOME πριν από την εκκίνηση του :file:`python.exe` από την εφαρμογή " +"σας." #: using/windows.rst:1116 msgid "" @@ -1812,6 +2609,12 @@ msgid "" "directory. (Note that it will not be detected inside a ZIP file, but a " "correctly named ZIP file will be detected instead.)" msgstr "" +"Εάν δεν μπορείτε να χρησιμοποιήσετε τις προηγούμενες προτάσεις (για " +"παράδειγμα, είστε μια διανομή που επιτρέπει στους χρήστες να εκτελούν " +"απευθείας το :file:`python.exe`), βεβαιωθείτε ότι το αρχείο ορόσημο (:file:" +"`Lib\\\\os.py`) υπάρχει στον κατάλογο εγκατάστασης σας. (Λάβετε υπόψη ότι " +"δεν θα εντοπιστεί σε ένα αρχείο ZIP, αλλά θα εντοπιστεί ένα αρχείο ZIP με το " +"σωστό όνομα.)" #: using/windows.rst:1122 msgid "" @@ -1822,18 +2625,28 @@ msgid "" "still be susceptible to non-standard paths in the registry and user site-" "packages." msgstr "" +"Αυτά θα διασφαλίσουν ότι τα αρχεία σε μια εγκατάσταση σε όλο το σύστημα δεν " +"θα υπερισχύουν του αντιγράφου της τυπικής βιβλιοθήκης που συνοδεύει την " +"εφαρμογή σας. Διαφορετικά, οι χρήστες σας ενδέχεται να αντιμετωπίσουν " +"προβλήματα με τη χρήση της εφαρμογής σας. Λάβετε υπόψη ότι η πρώτη πρόταση " +"είναι η καλύτερη, καθώς τα άλλα μπορεί να εξακολουθούν να είναι επιρρεπή σε " +"μη τυπικές διαδρομές στο μητρώο και στα πακέτα ιστοτόπων χρηστών." #: using/windows.rst:1130 msgid "" "Add ``._pth`` file support and removes ``applocal`` option from ``pyvenv." "cfg``." msgstr "" +"Προσθήκη υποστήριξης αρχείου ``._pth`` και καταργείται η επιλογή " +"``applocal`` από το ``pyvenv.cfg``." #: using/windows.rst:1135 msgid "" "Add :file:`python{XX}.zip` as a potential landmark when directly adjacent to " "the executable." msgstr "" +"Προσθήκη :file:`python{XX}.zip` ως πιθανό ορόσημο όταν βρίσκεται ακριβώς " +"δίπλα στο εκτελέσιμο αρχείο." #: using/windows.rst:1140 msgid "" @@ -1842,10 +2655,15 @@ msgid "" "finder is enabled on Windows in 3.6.0 and earlier, but may need to be " "explicitly added to :data:`sys.meta_path` in the future." msgstr "" +"Τα modules που καθορίζονται στο μητρώο στην περιοχή ``Modules`` (όχι " +"``PythonPath``) μπορούν να εισαχθούν από το :class:`importlib.machinery." +"WindowsRegistryFinder`. Αυτό το πρόγραμμα εύρεσης είναι ενεργοποιημένο στα " +"Windows σε 3.6.0 και παλαιότερες εκδόσεις, αλλά ενδέχεται να πρέπει να " +"προστεθεί ρητά στο :data:`sys.meta_path` στο μέλλον." #: using/windows.rst:1146 msgid "Additional modules" -msgstr "" +msgstr "Πρόσθετα modules" #: using/windows.rst:1148 msgid "" @@ -1853,46 +2671,59 @@ msgid "" "features that are unique to Windows. A couple of modules, both in the " "standard library and external, and snippets exist to use these features." msgstr "" +"Αν και η Python στοχεύει να είναι φορητή σε όλες τις πλατφόρμες, υπάρχουν " +"δυνατότητες που είναι μοναδικές για τα Windows. Μερικά modules, τόσο στην " +"τυπική βιβλιοθήκη όσο και στην εξωτερική, και αποσπάσματα υπάρχουν για χρήση " +"αυτών των δυνατοτήτων." #: using/windows.rst:1152 msgid "" "The Windows-specific standard modules are documented in :ref:`mswin-specific-" "services`." msgstr "" +"Τα τυπικά modules ειδικά για Windows τεκμηριώνονται στο :ref:`mswin-specific-" +"services`." #: using/windows.rst:1156 msgid "PyWin32" -msgstr "" +msgstr "PyWin32" #: using/windows.rst:1158 msgid "" "The :pypi:`PyWin32` module by Mark Hammond is a collection of modules for " "advanced Windows-specific support. This includes utilities for:" msgstr "" +"Το module `PyWin32 `_ του Mark Hammond " +"είναι μια συλλογή από modules για προηγμένη υποστήριξη ειδικά για Windows. " +"Αυτό περιλαμβάνει βοηθητικά προγράμματα για:" #: using/windows.rst:1162 msgid "" "`Component Object Model `_ (COM)" msgstr "" +"`Component Object Model `_ (COM)" #: using/windows.rst:1165 msgid "Win32 API calls" -msgstr "" +msgstr "Win32 API κλήσεις" #: using/windows.rst:1166 msgid "Registry" -msgstr "" +msgstr "Μητρώο" #: using/windows.rst:1167 msgid "Event log" -msgstr "" +msgstr "Μητρώο συμβάντων" #: using/windows.rst:1168 msgid "" "`Microsoft Foundation Classes `_ (MFC) user interfaces" msgstr "" +"Τα `Microsoft Foundation Classes `_ (MFC) διεπαφές χρήστη" #: using/windows.rst:1172 msgid "" @@ -1900,27 +2731,32 @@ msgid "" "org/windows/pythonwin/>`_ is a sample MFC application shipped with PyWin32. " "It is an embeddable IDE with a built-in debugger." msgstr "" +"Το `PythonWin `_ είναι ένα δείγμα εφαρμογής MFC που " +"αποστέλλεται με το PyWin32. Είναι ένα ενσωματωμένο IDE με ενσωματωμένο " +"πρόγραμμα εντοπισμού σφαλμάτων." #: using/windows.rst:1178 msgid "" "`Win32 How Do I...? `_" msgstr "" +"`Win32 How Do I...? `_" #: using/windows.rst:1179 msgid "by Tim Golden" -msgstr "" +msgstr "από τον Tim Golden" #: using/windows.rst:1181 msgid "`Python and COM `_" -msgstr "" +msgstr "`Python and COM `_" #: using/windows.rst:1182 msgid "by David and Paul Boddie" -msgstr "" +msgstr "από τους David και Paul Boddie" #: using/windows.rst:1186 msgid "cx_Freeze" -msgstr "" +msgstr "cx_Freeze" #: using/windows.rst:1188 msgid "" @@ -1929,10 +2765,14 @@ msgid "" "have done this, you can distribute your application without requiring your " "users to install Python." msgstr "" +"Το cx_Freeze `_ αναδιπλώνει " +"Python scripts σε εκτελέσιμα προγράμματα των Windows (:file:`{*}.exe` " +"αρχεία). Όταν το κάνετε αυτό, μπορείτε να διανείμετε την εφαρμογή σας χωρίς " +"να απαιτείται από τους χρήστες σας να εγκαταστήσουν την Python." #: using/windows.rst:1195 msgid "Compiling Python on Windows" -msgstr "" +msgstr "Μεταγλώττιση Python στα Windows" #: using/windows.rst:1197 msgid "" @@ -1941,6 +2781,11 @@ msgid "" "either the latest release's source or just grab a fresh `checkout `_." msgstr "" +"Εάν θέλετε να μεταγλωττίσετε μόνοι σας το CPython, το πρώτο πράγμα που " +"πρέπει να κάνετε είναι να λάβετε το `source `_. Μπορείτε να κάνετε λήψη είτε τον πηγαίο κώδικα της πιο " +"πρόσφατης έκδοσης είτε απλώς να πάρετε μια φρέσκια έκδοση `checkout `_." #: using/windows.rst:1202 msgid "" @@ -1948,30 +2793,39 @@ msgid "" "Visual Studio, which is the compiler used to build the official Python " "releases. These files are in the :file:`PCbuild` directory." msgstr "" +"Το δέντρο προέλευσης περιέχει μια λύση έκδοσης και αρχεία έργου για το " +"Microsoft Visual Studio, που είναι ο μεταγλωττιστής που χρησιμοποιείται για " +"τη δημιουργία των επίσημων εκδόσεων Python. Αυτά τα αρχεία βρίσκονται στον " +"κατάλογο :file:`PCbuild`." #: using/windows.rst:1206 msgid "" "Check :file:`PCbuild/readme.txt` for general information on the build " "process." msgstr "" +"Ελέγξτε το :file:`PCbuild/readme.txt` για γενικές πληροφορίες σχετικά με τη " +"διαδικασία κατασκευής." #: using/windows.rst:1208 msgid "For extension modules, consult :ref:`building-on-windows`." -msgstr "" +msgstr "Για modules επέκτασης, συμβουλευτείτε το :ref:`building-on-windows`." #: using/windows.rst:1215 msgid "The full installer (deprecated)" -msgstr "" +msgstr "Το πλήρες πρόγραμμα εγκατάστασης" #: using/windows.rst:1219 msgid "" "This installer is deprecated since 3.14 and will not be produced for Python " "3.16 or later. See :ref:`pymanager` for the modern installer." msgstr "" +"Αυτό το πρόγραμμα εγκατάστασης έχει αποσυρθεί από την έκδοση 3.14 και δεν θα " +"παραχθεί για την Python 3.16 ή νεότερη έκδοση. Δείτε το :ref:`pymanager` για " +"το σύγχρονο πρόγραμμα εγκατάστασης." #: using/windows.rst:1224 msgid "Installation steps" -msgstr "" +msgstr "Βήματα Εγκατάστασης" #: using/windows.rst:1226 msgid "" @@ -1983,42 +2837,60 @@ msgid "" "connection for optional features. See :ref:`install-layout-option` for other " "ways to avoid downloading during installation." msgstr "" +"Τέσσερα προγράμματα εγκατάστασης Python |version| είναι διαθέσιμα για λήψη - " +"δύο το καθένα για τις εκδόσεις 32-bit και 64-bit του διερμηνέα. Το " +"*πρόγραμμα εγκατάστασης web* είναι μια αρχική λήψη και θα πραγματοποιήσει " +"αυτόματα λήψη των απαιτούμενων στοιχείων, όπως απαιτείται. Το *πρόγραμμα " +"εγκατάστασης εκτός σύνδεσης* περιλαμβάνει τα στοιχεία που είναι απαραίτητα " +"για μια προεπιλεγμένη εγκατάσταση και απαιτεί μόνο σύνδεση στο διαδίκτυο για " +"προαιρετικές λειτουργίες. Δείτε το :ref:`install-layout-option` για άλλους " +"τρόπους αποφυγής λήψης κατά την εγκατάσταση." #: using/windows.rst:1234 msgid "After starting the installer, one of two options may be selected:" msgstr "" +"Μετά την εκκίνηση του προγράμματος εγκατάστασης, μπορεί να επιλέγει μία από " +"τις δύο επιλογές:" #: using/windows.rst:1238 msgid "If you select \"Install Now\":" -msgstr "" +msgstr "Εάν επιλέξετε \"Install Now\":" #: using/windows.rst:1240 msgid "" "You will *not* need to be an administrator (unless a system update for the C " "Runtime Library is required or you install the :ref:`launcher` for all users)" msgstr "" +"*Δεν* θα χρειάζεται να είστε διαχειριστής (εκτός εάν απαιτείται ενημέρωση " +"συστήματος για τη Βιβλιοθήκη C Runtime ή εγκαταστήσετε το :ref:`launcher` " +"για όλους τους χρήστες)" #: using/windows.rst:1243 msgid "Python will be installed into your user directory" -msgstr "" +msgstr "Η Python θα εγκατασταθεί στον κατάλογο του χρήστη σας" #: using/windows.rst:1244 msgid "" "The :ref:`launcher` will be installed according to the option at the bottom " "of the first page" msgstr "" +"Το :ref:`launcher` θα εγκατασταθεί σύμφωνα με την επιλογή στο κάτω μέρος της " +"πρώτης σελίδας" #: using/windows.rst:1246 msgid "The standard library, test suite, launcher and pip will be installed" msgstr "" +"Θα εγκατασταθεί η τυπική βιβλιοθήκη, η δοκιμαστική σουίτα, ο εκκινητής και " +"το pip" #: using/windows.rst:1247 msgid "If selected, the install directory will be added to your :envvar:`PATH`" msgstr "" +"Εάν επιλεγεί, ο κατάλογος εγκατάστασης θα προστεθεί στο :envvar:`PATH` σας" #: using/windows.rst:1248 msgid "Shortcuts will only be visible for the current user" -msgstr "" +msgstr "Οι συντομεύσεις θα είναι ορατές μόνο για τον τρέχοντα χρήστη" #: using/windows.rst:1250 msgid "" @@ -2027,41 +2899,51 @@ msgid "" "actions. To install debugging symbols or binaries, you will need to use this " "option." msgstr "" +"Επιλέγοντας \"Customize installation\" θα σας επιτρέψει να επιλέξετε τις " +"λειτουργίες προς εγκατάσταση, τη θέση εγκατάστασης και άλλες επιλογές ή " +"ενέργειες μετά την εγκατάσταση. Για να εγκαταστήσετε σύμβολα εντοπισμού " +"σφαλμάτων ή δυαδικά αρχεία, θα χρειαστεί να χρησιμοποιήσετε αυτήν την " +"επιλογή." #: using/windows.rst:1254 msgid "" "To perform an all-users installation, you should select \"Customize " "installation\". In this case:" msgstr "" +"Για να εκτελέσετε μια εγκατάσταση για όλους τους χρήστες, θα πρέπει να " +"επιλέξετε \"Customize installation\". Σε αυτήν την περίπτωση:" #: using/windows.rst:1257 msgid "You may be required to provide administrative credentials or approval" msgstr "" +"Ενδέχεται να σας ζητηθεί να παρέχετε διαπιστευτήρια διαχείρισης ή έγκριση" #: using/windows.rst:1258 msgid "Python will be installed into the Program Files directory" -msgstr "" +msgstr "Η Python θα εγκατασταθεί στον κατάλογο Program Files" #: using/windows.rst:1259 msgid "The :ref:`launcher` will be installed into the Windows directory" -msgstr "" +msgstr "Το :ref:`launcher` θα εγκατασταθεί στον κατάλογο των Windows" #: using/windows.rst:1260 msgid "Optional features may be selected during installation" -msgstr "" +msgstr "Προαιρετικά χαρακτηριστικά μπορούν να επιλεγούν κατά την εγκατάσταση" #: using/windows.rst:1261 msgid "The standard library can be pre-compiled to bytecode" -msgstr "" +msgstr "Η τυπική βιβλιοθήκη μπορεί να προ-μεταγλωττιστεί σε bytecode" #: using/windows.rst:1262 msgid "" "If selected, the install directory will be added to the system :envvar:`PATH`" msgstr "" +"Εάν επιλεγεί, ο κατάλογος εγκατάστασης θα προστεθεί στο σύστημα :envvar:" +"`PATH`" #: using/windows.rst:1263 msgid "Shortcuts are available for all users" -msgstr "" +msgstr "Οι συντομεύσεις είναι διαθέσιμες για όλους τους χρήστες" #: using/windows.rst:1272 msgid "" @@ -2071,18 +2953,24 @@ msgid "" "``1`` in the registry key " "``HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\FileSystem``." msgstr "" +"Στις πιο πρόσφατες εκδόσεις των Windows, αυτός ο περιορισμός μπορεί να " +"επεκταθεί σε περίπου 32.000 χαρακτήρες. Ο διαχειριστής σας θα πρέπει να " +"ενεργοποιήσει την πολιτική ομάδας \"Enable Win32 long paths\", ή να ορίσει " +"``LongPathsEnabled`` σε ``1`` το κλειδί μητρώου " +"``HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\FileSystem``." #: using/windows.rst:1281 msgid "After changing the above option, no further configuration is required." msgstr "" +"Μετά την αλλαγή της παραπάνω επιλογής, δεν απαιτείται περαιτέρω διαμόρφωση." #: using/windows.rst:1285 msgid "Support for long paths was enabled in Python." -msgstr "" +msgstr "Η υποστήριξη για μεγάλες διαδρομές ήταν ενεργοποιημένη στην Python." #: using/windows.rst:1290 msgid "Installing Without UI" -msgstr "" +msgstr "Εγκατάσταση χωρίς περιβάλλον διεπαφής χρήστη" #: using/windows.rst:1292 msgid "" @@ -2091,64 +2979,72 @@ msgid "" "on many machines without user interaction. These options may also be set " "without suppressing the UI in order to change some of the defaults." msgstr "" +"Όλες οι διαθέσιμες επιλογές στη διεπαφή χρήστη του προγράμματος εγκατάστασης " +"μπορούν επίσης να καθοριστούν από τη γραμμή εντολών, επιτρέποντας στους " +"εγκαταστάτες με script να αναπαράγουν μια εγκατάσταση σε πολλά μηχανήματα " +"χωρίς αλληλεπίδραση με τον χρήστη. Αυτές οι επιλογές μπορούν επίσης να " +"οριστούν χωρίς να καταργηθεί η διεπαφή χρήστη προκειμένου να αλλάξουν " +"ορισμένες από τις προεπιλογές." #: using/windows.rst:1297 msgid "" "The following options (found by executing the installer with ``/?``) can be " "passed into the installer:" msgstr "" +"Οι ακόλουθες επιλογές (που βρίσκονται εκτελώντας το πρόγραμμα εγκατάστασης " +"με ``/?``) μπορούν να περάσουν στο πρόγραμμα εγκατάστασης:" #: using/windows.rst:1321 using/windows.rst:1916 msgid "Name" -msgstr "" +msgstr "Όνομα" #: using/windows.rst:1303 msgid "/passive" -msgstr "" +msgstr "/passive" #: using/windows.rst:1303 msgid "to display progress without requiring user interaction" -msgstr "" +msgstr "για εμφάνιση προόδου χωρίς να απαιτείται αλληλεπίδραση με τον χρήστη" #: using/windows.rst:1305 msgid "/quiet" -msgstr "" +msgstr "/quiet" #: using/windows.rst:1305 msgid "to install/uninstall without displaying any UI" -msgstr "" +msgstr "για εγκατάσταση/απεγκατάσταση χωρίς εμφάνιση διεπαφής χρήστη" #: using/windows.rst:1307 msgid "/simple" -msgstr "" +msgstr "/simple" #: using/windows.rst:1307 msgid "to prevent user customization" -msgstr "" +msgstr "για να αποτρέψετε την προσαρμογή του χρήστη" #: using/windows.rst:1309 msgid "/uninstall" -msgstr "" +msgstr "/uninstall" #: using/windows.rst:1309 msgid "to remove Python (without confirmation)" -msgstr "" +msgstr "για να αφαιρέσετε την Python (χωρίς επιβεβαίωση)" #: using/windows.rst:1311 msgid "/layout [directory]" -msgstr "" +msgstr "/layout [κατάλογος]" #: using/windows.rst:1311 msgid "to pre-download all components" -msgstr "" +msgstr "για προ-λήψη όλων των στοιχείων" #: using/windows.rst:1313 msgid "/log [filename]" -msgstr "" +msgstr "/log [όνομα αρχείου]" #: using/windows.rst:1313 msgid "to specify log files location" -msgstr "" +msgstr "για να καθορίσετε τη θέση των αρχείων καταγραφής" #: using/windows.rst:1316 msgid "" @@ -2156,57 +3052,66 @@ msgid "" "``0`` to disable a feature, ``1`` to enable a feature, or a path. The full " "list of available options is shown below." msgstr "" +"Όλες οι άλλες επιλογές μεταβιβάζονται ως ``name=value``, όπου η τιμή είναι " +"συνήθως ``0`` για να απενεργοποιήσετε ένα χαρακτηριστικό, ``1`` για να " +"ενεργοποιήσετε ένα χαρακτηριστικό ή μια διαδρομή. Η πλήρης λίστα των " +"διαθέσιμων επιλογών φαίνεται παρακάτω." #: using/windows.rst:1321 msgid "Default" -msgstr "" +msgstr "Προεπιλογή" #: using/windows.rst:1323 msgid "InstallAllUsers" -msgstr "" +msgstr "InstallAllUsers" #: using/windows.rst:1323 msgid "Perform a system-wide installation." -msgstr "" +msgstr "Εκτέλεση εγκατάστασης σε όλο το σύστημα." #: using/windows.rst:1349 using/windows.rst:1356 using/windows.rst:1387 #: using/windows.rst:1398 msgid "0" -msgstr "" +msgstr "0" #: using/windows.rst:1325 msgid "TargetDir" -msgstr "" +msgstr "TargetDir" #: using/windows.rst:1325 msgid "The installation directory" -msgstr "" +msgstr "Ο κατάλογος εγκατάστασης" #: using/windows.rst:1325 msgid "Selected based on InstallAllUsers" -msgstr "" +msgstr "Επιλέχθηκε με βάση το InstallAllUsers" #: using/windows.rst:1328 msgid "DefaultAllUsersTargetDir" -msgstr "" +msgstr "DefaultAllUsersTargetDir" #: using/windows.rst:1328 msgid "The default installation directory for all-user installs" msgstr "" +"Ο προεπιλεγμένος κατάλογος εγκατάστασης για τις εγκαταστάσεις όλων των " +"χρηστών" #: using/windows.rst:1328 msgid "" ":file:`%ProgramFiles%\\\\\\ Python X.Y` or :file:`\\ %ProgramFiles(x86)%\\\\" "\\ Python X.Y`" msgstr "" +":file:`%ProgramFiles%\\\\\\ Python X.Y` or :file:`\\ %ProgramFiles(x86)%\\\\" +"\\ Python X.Y`" #: using/windows.rst:1333 msgid "DefaultJustForMeTargetDir" -msgstr "" +msgstr "DefaultJustForMeTargetDir" #: using/windows.rst:1333 msgid "The default install directory for just-for-me installs" msgstr "" +"Ο προεπιλεγμένος κατάλογος εγκατάστασης για εξατομικευμένες εγκαταστάσεις" #: using/windows.rst:1333 msgid "" @@ -2214,206 +3119,233 @@ msgid "" "`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY-32` or :file:" "`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY-64`" msgstr "" +":file:`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY` or :file:" +"`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY-32` or :file:" +"`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY-64`" #: using/windows.rst:1343 msgid "DefaultCustomTargetDir" -msgstr "" +msgstr "DefaultCustomTargetDir" #: using/windows.rst:1343 msgid "The default custom install directory displayed in the UI" msgstr "" +"Ο προεπιλεγμένος κατάλογος προσαρμοσμένης εγκατάστασης που εμφανίζεται στο UI" #: using/windows.rst:1400 msgid "(empty)" -msgstr "" +msgstr "(empty)" #: using/windows.rst:1346 msgid "AssociateFiles" -msgstr "" +msgstr "AssociateFiles" #: using/windows.rst:1346 msgid "Create file associations if the launcher is also installed." msgstr "" +"Δημιουργήστε συσχετίσεις αρχείων εάν είναι επίσης εγκατεστημένο το πρόγραμμα " +"εκκίνησης." #: using/windows.rst:1360 using/windows.rst:1367 using/windows.rst:1375 #: using/windows.rst:1381 using/windows.rst:1389 using/windows.rst:1393 msgid "1" -msgstr "" +msgstr "1" #: using/windows.rst:1349 msgid "CompileAll" -msgstr "" +msgstr "CompileAll" #: using/windows.rst:1349 msgid "Compile all ``.py`` files to ``.pyc``." -msgstr "" +msgstr "Μεταγλώττιση όλων των αρχείων ``.py`` σε ``.pyc``." #: using/windows.rst:1352 msgid "PrependPath" -msgstr "" +msgstr "PrependPath" #: using/windows.rst:1352 msgid "" "Prepend install and Scripts directories to :envvar:`PATH` and add ``.PY`` " "to :envvar:`PATHEXT`" msgstr "" +"Προετοιμάστε τους καταλόγους εγκατάστασης και Scripts στο :envvar:`PATH` και " +"προσθέστε το ``.PY`` στο :envvar:`PATHEXT`" #: using/windows.rst:1356 msgid "AppendPath" -msgstr "" +msgstr "AppendPath" #: using/windows.rst:1356 msgid "" "Append install and Scripts directories to :envvar:`PATH` and add ``.PY`` " "to :envvar:`PATHEXT`" msgstr "" +"Προσθήκη καταλόγων εγκατάστασης και Scripts σε :envvar:`PATH` και προσθήκη " +"``.PY`` σε :envvar:`PATHEXT`" #: using/windows.rst:1360 msgid "Shortcuts" -msgstr "" +msgstr "Συντομεύσεις" #: using/windows.rst:1360 msgid "" "Create shortcuts for the interpreter, documentation and IDLE if installed." msgstr "" +"Δημιουργήστε συντομεύσεις για τον διερμηνέα, την τεκμηρίωση και το IDLE εάν " +"είναι εγκατεστημένα." #: using/windows.rst:1363 msgid "Include_doc" -msgstr "" +msgstr "Include_doc" #: using/windows.rst:1363 msgid "Install Python manual" -msgstr "" +msgstr "Εγκαταστήστε το εγχειρίδιο της Python" #: using/windows.rst:1365 msgid "Include_debug" -msgstr "" +msgstr "Include_debug" #: using/windows.rst:1365 msgid "Install debug binaries" -msgstr "" +msgstr "Εγκαταστήστε δυαδικά αρχεία εντοπισμού σφαλμάτων" #: using/windows.rst:1367 msgid "Include_dev" -msgstr "" +msgstr "Include_dev" #: using/windows.rst:1367 msgid "" "Install developer headers and libraries. Omitting this may lead to an " "unusable installation." msgstr "" +"Εγκατάσταση κεφαλίδων και βιβλιοθηκών προγραμματιστή. Η παράλειψη αυτού " +"μπορεί να οδηγήσει σε μη χρησιμοποιήσιμη εγκατάσταση." #: using/windows.rst:1371 msgid "Include_exe" -msgstr "" +msgstr "Include_exe" #: using/windows.rst:1371 msgid "" "Install :file:`python.exe` and related files. Omitting this may lead to an " "unusable installation." msgstr "" +"Εγκατάσταση :file:`python.exe` και σχετικών αρχείων. Η παράλειψη αυτού " +"μπορεί να οδηγήσει σε μη χρησιμοποιήσιμη εγκατάσταση." #: using/windows.rst:1375 msgid "Include_launcher" -msgstr "" +msgstr "Include_launcher" #: using/windows.rst:1375 msgid "Install :ref:`launcher`." -msgstr "" +msgstr "Εγκαταστήστε το :ref:`launcher`." #: using/windows.rst:1377 msgid "InstallLauncherAllUsers" -msgstr "" +msgstr "InstallLauncherAllUsers" #: using/windows.rst:1377 msgid "" "Installs the launcher for all users. Also requires ``Include_launcher`` to " "be set to 1" msgstr "" +"Εγκαθιστά το πρόγραμμα εκκίνησης για όλους του χρήστες. Επίσης, απαιτείται η " +"ρύθμιση ``Include_launcher`` να τεθεί σε 1" #: using/windows.rst:1381 msgid "Include_lib" -msgstr "" +msgstr "Include_lib" #: using/windows.rst:1381 msgid "" "Install standard library and extension modules. Omitting this may lead to an " "unusable installation." msgstr "" +"Εγκαταστήστε τυπικά module βιβλιοθήκης και επέκτασης. Η παράλειψη αυτού " +"μπορεί να οδηγήσει σε μη χρησιμοποιήσιμη εγκατάσταση." #: using/windows.rst:1385 msgid "Include_pip" -msgstr "" +msgstr "Include_pip" #: using/windows.rst:1385 msgid "Install bundled pip and setuptools" -msgstr "" +msgstr "Εγκαταστήστε το πακέτο pip και setuptools" #: using/windows.rst:1387 msgid "Include_symbols" -msgstr "" +msgstr "Include_symbols" #: using/windows.rst:1387 msgid "Install debugging symbols (``*.pdb``)" -msgstr "" +msgstr "Εγκατάσταση συμβόλων εντοπισμού σφαλμάτων (``*.pdb``)" #: using/windows.rst:1389 msgid "Include_tcltk" -msgstr "" +msgstr "Include_tcltk" #: using/windows.rst:1389 msgid "Install Tcl/Tk support and IDLE" -msgstr "" +msgstr "Εγκατάσταση υποστήριξης Tcl/Tk και IDLE" #: using/windows.rst:1391 msgid "Include_test" -msgstr "" +msgstr "Include_test" #: using/windows.rst:1391 msgid "Install standard library test suite" -msgstr "" +msgstr "Εγκαταστήστε την τυπική σουίτα δοκιμών βιβλιοθήκης" #: using/windows.rst:1393 msgid "Include_tools" -msgstr "" +msgstr "Include_tools" #: using/windows.rst:1393 msgid "Install utility scripts" -msgstr "" +msgstr "Εγκαταστήστε βοηθητικά scripts" #: using/windows.rst:1395 msgid "LauncherOnly" -msgstr "" +msgstr "LauncherOnly" #: using/windows.rst:1395 msgid "Only installs the launcher. This will override most other options." msgstr "" +"Εγκαθιστά μόνο το πρόγραμμα εκκίνησης. Αυτό θα παρακάμψει τις περισσότερες " +"άλλες επιλογές." #: using/windows.rst:1398 msgid "SimpleInstall" -msgstr "" +msgstr "SimpleInstall" #: using/windows.rst:1398 msgid "Disable most install UI" -msgstr "" +msgstr "Απενεργοποιήστε τις περισσότερες διεπαφές εγκατάστασης" #: using/windows.rst:1400 msgid "SimpleInstallDescription" -msgstr "" +msgstr "SimpleInstallDescription" #: using/windows.rst:1400 msgid "A custom message to display when the simplified install UI is used." msgstr "" +"Ένα προσαρμοσμένο μήνυμα που θα εμφανίζεται όταν χρησιμοποιείται το " +"απλοποιημένο περιβάλλον διεπαφής χρήστη." #: using/windows.rst:1404 msgid "" "For example, to silently install a default, system-wide Python installation, " "you could use the following command (from an elevated command prompt)::" msgstr "" +"Για παράδειγμα, για να εγκαταστήσετε αθόρυβα μια προεπιλεγμένη εγκατάσταση " +"Python σε όλο το σύστημα, θα μπορούσατε να χρησιμοποιήσετε την ακόλουθη " +"εντολή (από μια ανυψωμένη γραμμή εντολών)::" #: using/windows.rst:1407 msgid "python-3.9.0.exe /quiet InstallAllUsers=1 PrependPath=1 Include_test=0" -msgstr "" +msgstr "python-3.9.0.exe /quiet InstallAllUsers=1 PrependPath=1 Include_test=0" #: using/windows.rst:1409 msgid "" @@ -2421,12 +3353,18 @@ msgid "" "suite, you could provide a shortcut with the following command. This will " "display a simplified initial page and disallow customization::" msgstr "" +"Για να επιτρέψετε στους χρήστες να εγκαταστήσουν εύκολα ένα προσωπικό " +"αντίγραφο της Python χωρίς τη δοκιμαστική σουίτα, θα μπορούσατε να παρέχετε " +"μια συντόμευση με την ακόλουθη εντολή. Αυτή θα εμφανίσει μια απλοποιημένη " +"αρχική σελίδα και θα απαγορεύσει την προσαρμογή::" #: using/windows.rst:1413 msgid "" "python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0\n" " SimpleInstall=1 SimpleInstallDescription=\"Just for me, no test suite.\"" msgstr "" +"python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0\n" +" SimpleInstall=1 SimpleInstallDescription=\"Just for me, no test suite.\"" #: using/windows.rst:1416 msgid "" @@ -2434,6 +3372,10 @@ msgid "" "recommended for per-user installs when there is also a system-wide " "installation that included the launcher.)" msgstr "" +"(Λάβετε υπόψη ότι η παράλειψη της εφαρμογής εκκίνησης παραλείπει επίσης " +"συσχετίσεις αρχείων και συνίσταται μόνο για εγκαταστάσεις ανά χρήστη όταν " +"υπάρχει επίσης εγκατάσταση σε όλο το σύστημα που περιλάμβανε τη λειτουργία " +"εκκίνησης.)" #: using/windows.rst:1420 msgid "" @@ -2443,6 +3385,12 @@ msgid "" "number if possible. Values provided as element text are always left as " "strings. This example file sets the same options as the previous example:" msgstr "" +"Οι επιλογές που αναφέρονται παραπάνω μπορούν επίσης να παρέχονται σε ένα " +"αρχείο με το όνομα ``unattend.xml`` δίπλα στο εκτελέσιμο αρχείο. Αυτό το " +"αρχείο καθορίζει μια λίστα επιλογών και τιμών. Όταν μια τιμή παρέχεται ως " +"χαρακτηριστικό, θα μετατραπεί σε αριθμό εάν είναι δυνατόν. Οι τιμές που " +"παρέχονται ως κείμενο στοιχείου παραμένουν πάντα ως συμβολοσειρές. Αυτό το " +"αρχείο παραδείγματος ορίζει τις ίδιες επιλογές με το προηγούμενο παράδειγμα:" #: using/windows.rst:1426 msgid "" @@ -2455,10 +3403,18 @@ msgid "" "Option>\n" "" msgstr "" +"\n" +" " #: using/windows.rst:1439 msgid "Installing Without Downloading" -msgstr "" +msgstr "Εγκατάσταση χωρίς λήψη" #: using/windows.rst:1441 msgid "" @@ -2470,6 +3426,15 @@ msgid "" "be bigger than required, but where a large number of installations are going " "to be performed it is very useful to have a locally cached copy." msgstr "" +"Καθώς ορισμένες δυνατότητες της Python δεν περιλαμβάνονται στην αρχική λήψη " +"του προγράμματος εγκατάστασης, η επιλογή αυτών των δυνατοτήτων ενδέχεται να " +"απαιτεί σύνδεση στο διαδίκτυο. Για να αποφευχθεί αυτή η ανάγκη, όλα τα " +"πιθανά στοιχεία μπορούν να ληφθούν κατ' απαίτηση για να δημιουργηθεί μια " +"πλήρης *διάταξη* που δεν θα απαιτεί πλέον μια σύνδεση στο Διαδίκτυο, " +"ανεξάρτητα από τις επιλεγμένες δυνατότητες. Λάβετε υπόψη ότι αυτή η λήψη " +"μπορεί να είναι μεγαλύτερη από την απαιτούμενη, αλλά όπου πρόκειται να " +"πραγματοποιηθεί μεγάλος αριθμός εγκαταστάσεων, είναι πολύ χρήσιμο να έχετε " +"ένα αντίγραφο προσωρινής αποθήκευσης." #: using/windows.rst:1449 msgid "" @@ -2478,19 +3443,26 @@ msgid "" "name of your installer, and to create layouts in their own directories to " "avoid collisions between files with the same name." msgstr "" +"Εκτελέστε την ακόλουθη εντολή από τη Γραμμή Εντολών για λήψη όλων των " +"πιθανών απαιτούμενων αρχείων. Θυμηθείτε να αντικαταστήσετε το " +"``python-3.9.0.exe`` για το πραγματικό όνομα του προγράμματος εγκατάστασης " +"και να δημιουργήσετε διατάξεις στους δικούς τους καταλόγους για να αποφύγετε " +"συγκρούσεις μεταξύ αρχείων με το ίδιο όνομα." #: using/windows.rst:1456 msgid "python-3.9.0.exe /layout [optional target directory]" -msgstr "" +msgstr "python-3.9.0.exe /layout [optional target directory]" #: using/windows.rst:1458 msgid "" "You may also specify the ``/quiet`` option to hide the progress display." msgstr "" +"Μπορείτε επίσης να καθορίσετε την επιλογή ``/quiet`` για απόκρυψη της " +"εμφάνισης προόδου." #: using/windows.rst:1461 msgid "Modifying an install" -msgstr "" +msgstr "Τροποποίηση εγκατάστασης" #: using/windows.rst:1463 msgid "" @@ -2498,6 +3470,11 @@ msgid "" "Programs and Features tool that is part of Windows. Select the Python entry " "and choose \"Uninstall/Change\" to open the installer in maintenance mode." msgstr "" +"Μόλις εγκατασταθεί η Python, μπορείτε να προσθέσετε ή να αφαιρέσετε " +"λειτουργίες μέσω του εργαλείου Προγράμματα και Δυνατότητες που είναι μέρος " +"των Windows. Επιλέξτε την καταχώρηση Python και επιλέξτε \"Κατάργηση " +"εγκατάστασης/Αλλαγή\" για να ανοίξετε το πρόγραμμα εγκατάστασης σε " +"λειτουργία συντήρησης." #: using/windows.rst:1467 msgid "" @@ -2506,18 +3483,30 @@ msgid "" "cannot be changed in this mode, such as the install directory; to modify " "these, you will need to remove and then reinstall Python completely." msgstr "" +"Η \"Αλλαγή\" σάς επιτρέπει να προσθέτετε ή να αφαιρείτε λειτουργίες " +"τροποποιώντας τα πλαίσια ελέγχου - τα αμετάβλητα πλαίσια ελέγχου δεν θα " +"εγκαταστήσουν ή θα αφαιρέσουν τίποτα. Ορισμένες επιλογές δεν μπορούν να " +"αλλάξουν σε αυτήν τη λειτουργία, όπως ο κατάλογος εγκατάστασης· για να τις " +"τροποποιήσετε, θα χρειαστεί αν αφαιρέσετε και, στη συνέχεια να " +"επανεγκαταστήσετε ξανά την Python." #: using/windows.rst:1472 msgid "" "\"Repair\" will verify all the files that should be installed using the " "current settings and replace any that have been removed or modified." msgstr "" +"Η \"Επιδιόρθωση\" θα επαληθεύσει όλα τα αρχεία που πρέπει να εγκατασταθούν " +"χρησιμοποιώντας τις τρέχουσες ρυθμίσεις και θα αντικαταστήσει όσα έχουν " +"αφαιρεθεί ή τροποποιηθεί." #: using/windows.rst:1475 msgid "" "\"Uninstall\" will remove Python entirely, with the exception of the :ref:" "`launcher`, which has its own entry in Programs and Features." msgstr "" +"Η \"Κατάργηση εγκατάστασης\" θα καταργήσει πλήρως την Python, με εξαίρεση " +"το :ref:`launcher`, το οποίο έχει τη δική του καταχώριση στο Προγράμματα και " +"Δυνατότητες." #: using/windows.rst:1489 msgid "" @@ -2525,6 +3514,10 @@ msgid "" "you should select \"Customize installation\". The second page of options " "includes the \"Download free-threaded binaries\" checkbox." msgstr "" +"Για να εγκαταστήσετε προ-κατασκευασμένα δυαδικά αρχεία με ενεργοποιημένο το " +"free-threading (δείτε το :pep:`703`), θα πρέπει να επιλέξετε \"Προσαρμοσμένη " +"εγκατάσταση\". Η δεύτερη σελίδα επιλογών περιλαμβάνει το πλαίσιο επιλογής " +"\"Λήψη δυαδικών αρχείων με ελεύθερο νήμα\"." #: using/windows.rst:1495 msgid "" @@ -2564,7 +3557,7 @@ msgstr "" #: using/windows.rst:1520 msgid "Python Launcher for Windows (Deprecated)" -msgstr "" +msgstr "Το πρόγραμμα εκκίνησης Python για Windows (Απαρχαιωμένο)" #: using/windows.rst:1524 msgid "" @@ -2572,6 +3565,9 @@ msgid "" "Install Manager described above. This is preserved temporarily for " "historical interest." msgstr "" +"Το πρόγραμμα εκκίνησης και αυτή η τεκμηρίωση έχουν αντικατασταθεί από το " +"Python Install Manager που περιγράφεται παραπάνω. Αυτό διατηρείται προσωρινά " +"για ιστορικό ενδιαφέρον." #: using/windows.rst:1530 msgid "" @@ -2580,6 +3576,11 @@ msgid "" "line) to indicate a preference for a specific Python version, and will " "locate and execute that version." msgstr "" +"Το πρόγραμμα εκκίνησης Python για Windows είναι ένα βοηθητικό πρόγραμμα που " +"βοηθά στον εντοπισμό και την εκτέλεση διαφορετικών εκδόσεων Python. " +"Επιτρέπει στα scripts (ή στη γραμμή εντολών) να υποδείξουν μια προτίμηση για " +"μια συγκεκριμένη έκδοση Python και θα εντοπίσουν και θα εκτελέσουν αυτήν την " +"έκδοση." #: using/windows.rst:1535 msgid "" @@ -2588,18 +3589,23 @@ msgid "" "over system-wide ones, and orders by language version rather than using the " "most recently installed version." msgstr "" +"Σε αντίθεση με τη μεταβλητή :envvar:`PATH`, το πρόγραμμα εκκίνησης θα " +"επιλέξει σωστά την καταλληλότερη έκδοση της Python. Θα προτιμήσει τις " +"εγκαταστάσεις ανά χρήστη έναντι των εγκαταστάσεων σε όλο το σύστημα και τις " +"παραγγελίες ανά έκδοση γλώσσας αντί να χρησιμοποιεί την πιο πρόσφατα " +"εγκατεστημένη έκδοση." #: using/windows.rst:1540 msgid "The launcher was originally specified in :pep:`397`." -msgstr "" +msgstr "Το πρόγραμμα εκκίνησης προσδιορίστηκε αρχικά στο :pep:`397`." #: using/windows.rst:1543 msgid "Getting started" -msgstr "" +msgstr "Ξεκινώντας" #: using/windows.rst:1546 msgid "From the command-line" -msgstr "" +msgstr "Από τη γραμμή εντολών" #: using/windows.rst:1550 msgid "" @@ -2608,10 +3614,16 @@ msgid "" "of Python, so it does not matter which version is installed. To check that " "the launcher is available, execute the following command in Command Prompt::" msgstr "" +"Εγκαταστάσεις σε όλο το σύστημα της Python 3.3 και νεότερες εκδόσεις θα " +"τοποθετήσουν το πρόγραμμα εκκίνησης στο :envvar:`PATH`. Το πρόγραμμα " +"εκκίνησης είναι συμβατό με όλες τις διαθέσιμες εκδόσεις της Python, επομένως " +"δεν έχει σημασία ποια έκδοση είναι εγκατεστημένη. Για να ελέγξτε ότι το " +"πρόγραμμα εκκίνησης είναι διαθέσιμο, εκτελέστε την ακόλουθη εντολή στη " +"Γραμμή Εντολών::" #: using/windows.rst:1555 msgid "py" -msgstr "" +msgstr "py" #: using/windows.rst:1557 msgid "" @@ -2619,6 +3631,9 @@ msgid "" "started - it can be exited as normal, and any additional command-line " "arguments specified will be sent directly to Python." msgstr "" +"Θα πρέπει να διαπιστώσετε ότι η πιο πρόσφατη έκδοση της Python που έχετε " +"εγκαταστήσει έχει ξεκινήσει - μπορεί να βγει κανονικά και τυχόν πρόσθετα " +"ορίσματα γραμμής εντολών που καθορίστηκαν θα σταλούν απευθείας στην Python." #: using/windows.rst:1561 msgid "" @@ -2626,43 +3641,51 @@ msgid "" "you will have noticed that Python |version| was started - to launch Python " "3.7, try the command::" msgstr "" +"Εάν έχετε εγκαταστήσει πολλές εκδόσεις της Python (π.χ. 3.7 και |version|) " +"θα έχετε παρατηρήσει ότι ξεκίνησε η Python |version| - για να εκκινήσετε την " +"Python 3.7, δοκιμάστε την εντολή::" #: using/windows.rst:1565 msgid "py -3.7" -msgstr "" +msgstr "py -3.7" #: using/windows.rst:1567 msgid "" "If you want the latest version of Python 2 you have installed, try the " "command::" msgstr "" +"Αν θέλετε την πιο πρόσφατη έκδοση της Python 2 που έχετε εγκαταστήσει, " +"δοκιμάστε την εντολή::" #: using/windows.rst:1570 msgid "py -2" -msgstr "" +msgstr "py -2" #: using/windows.rst:1572 msgid "" "If you see the following error, you do not have the launcher installed::" msgstr "" +"Αν δείτε το ακόλουθο σφάλμα, δεν έχετε εγκαταστήσει τον εκκινητή (launcher)::" #: using/windows.rst:1574 msgid "" "'py' is not recognized as an internal or external command,\n" "operable program or batch file." msgstr "" +"Το 'py' δεν αναγνωρίζεται ως εσωτερική ή εξωτερική εντολή,\n" +"λειτουργικό πρόγραμμα ή αρχείο παρτίδας." #: using/windows.rst:1577 msgid "The command::" -msgstr "" +msgstr "Η εντολή::" #: using/windows.rst:1579 msgid "py --list" -msgstr "" +msgstr "py --list" #: using/windows.rst:1581 msgid "displays the currently installed version(s) of Python." -msgstr "" +msgstr "εμφανίζει τις τρέχουσες εγκατεστημένες εκδόσεις της Python." #: using/windows.rst:1583 msgid "" @@ -2672,6 +3695,13 @@ msgid "" "following :pep:`514` will be discoverable. The ``--list`` command lists all " "available runtimes using the ``-V:`` format." msgstr "" +"Το όρισμα ``-x.y`` είναι η σύντομη μορφή του ορίσματος ``-V:Company/Tag``, " +"το οποίο επιτρέπει την επιλογή ενός συγκεκριμένου χρόνου εκτέλεσης Python, " +"συμπεριλαμβανομένων εκείνων που μπορεί να έχουν προέλθει από κάπου " +"διαφορετικά από το python.org. Οποιοσδήποτε χρόνος εκτέλεσης έχει " +"καταχωρηθεί ακολουθώντας το :pep:`514` θα είναι ανιχνεύσιμος. Η εντολή ``--" +"list`` παραθέτει όλους τους διαθέσιμους χρόνους εκτέλεσης χρησιμοποιώντας τη " +"μορφή ``-V:``." #: using/windows.rst:1589 msgid "" @@ -2679,6 +3709,10 @@ msgid "" "to runtimes from that provider, while specifying only the Tag will select " "from all providers. Note that omitting the slash implies a tag::" msgstr "" +"Όταν χρησιμοποιείται το όρισμα ``-V:``, ο καθορισμός της Εταιρείας θα " +"περιορίσει την επιλογή σε χρόνους εκτέλεσης από αυτόν τον πάροχο, ενώ ο " +"καθορισμός μόνο της ετικέτας θα επιλέγεται από όλους τους παρόχους. " +"Σημειώστε ότι η παράλειψη της καθέτου (slash) συνεπάγεται μια ετικέτα::" #: using/windows.rst:1593 msgid "" @@ -2691,6 +3725,14 @@ msgid "" "# Select PythonCore's latest Python 3 runtime\n" "py -V:PythonCore/3" msgstr "" +"# Select any '3.*' tagged runtime\n" +"py -V:3\n" +"\n" +"# Select any 'PythonCore' released runtime\n" +"py -V:PythonCore/\n" +"\n" +"# Select PythonCore's latest Python 3 runtime\n" +"py -V:PythonCore/3" #: using/windows.rst:1602 msgid "" @@ -2698,6 +3740,9 @@ msgid "" "releases, and not other distributions. However, the longer form (``-V:3``) " "will select from any." msgstr "" +"Η σύντομη μορφή του ορίσματος (``-3``) επιλέγει μόνο από τις βασικές " +"εκδόσεις Python, και όχι άλλες διανομές. Ωστόσο, η μεγαλύτερη μορφή (``-" +"V:3``) θα επιλέξει από οποιαδήποτε." #: using/windows.rst:1606 msgid "" @@ -2707,10 +3752,17 @@ msgid "" "``3.10``. Tags are sorted using numerical ordering (``3.10`` is newer than " "``3.1``), but are compared using text (``-V:3.01`` does not match ``3.1``)." msgstr "" +"Η εταιρεία έχει αντιστοιχιστεί στην πλήρη συμβολοσειρά, χωρίς διάκριση πεζών-" +"κεφαλαίων. Η ετικέτα αντιστοιχίζεται είτε με την πλήρη συμβολοσειρά είτε με " +"ένα πρόθεμα, με την προϋπόθεση ότι ο επόμενος χαρακτήρας είναι μια τελεία ή " +"μια παύλα. Αυτό επιτρέπει την αντιστοίχιση του ``-V:3.1`` με το ``3.1-32``, " +"αλλά όχι ``3.10``. Οι ετικέτες ταξινομούνται με αριθμητική σειρά (``3.10`` " +"είναι νεότερο από ``3.1``), αλλά συγκρίνονται χρησιμοποιώντας κείμενο (``-" +"V:3.01`` δεν ταιριάζει με το ``3.1``)." #: using/windows.rst:1614 msgid "Virtual environments" -msgstr "" +msgstr "Εικονικά Περιβάλλοντα" #: using/windows.rst:1618 msgid "" @@ -2721,16 +3773,25 @@ msgid "" "interpreter, either deactivate the virtual environment, or explicitly " "specify the global Python version." msgstr "" +"Εάν το πρόγραμμα εγκατάστασης εκτελείται χωρίς ρητές προδιαγραφές έκδοσης " +"Python και ένα εικονικό περιβάλλον (δημιουργημένο με το τυπικό module " +"βιβλιοθήκης :mod:`venv` ή το εξωτερικό εργαλείο ``virtualenv``) ενεργό, το " +"πρόγραμμα εκκίνησης θα εκτελέσει τον διερμηνέα του εικονικού περιβάλλοντος " +"αντί για το καθολικό. Για να εκτελέσετε τον καθολικό διερμηνέα, είτε " +"απενεργοποιήστε το εικονικό περιβάλλον είτε καθορίστε ρητά την καθολική " +"έκδοση Python." #: using/windows.rst:1626 msgid "From a script" -msgstr "" +msgstr "Από ένα script" #: using/windows.rst:1628 msgid "" "Let's create a test Python script - create a file called ``hello.py`` with " "the following contents" msgstr "" +"Ας δημιουργήσουμε ένα δοκιμαστικό Python script - δημιουργήστε ένα αρχείο " +"που ονομάζεται ``hello.py`` με τα ακόλουθα περιεχόμενα" #: using/windows.rst:1631 msgid "" @@ -2738,24 +3799,29 @@ msgid "" "import sys\n" "sys.stdout.write(\"hello from Python %s\\n\" % (sys.version,))" msgstr "" +"#! python\n" +"import sys\n" +"sys.stdout.write(\"hello from Python %s\\n\" % (sys.version,))" #: using/windows.rst:1637 msgid "From the directory in which hello.py lives, execute the command::" -msgstr "" +msgstr "Από τον κατάλογο στον οποίο ζει το hello.py, εκτελέστε την εντολή::" #: using/windows.rst:1639 msgid "py hello.py" -msgstr "" +msgstr "py hello.py" #: using/windows.rst:1641 msgid "" "You should notice the version number of your latest Python 2.x installation " "is printed. Now try changing the first line to be:" msgstr "" +"Θα πρέπει να παρατηρήσετε ότι ο αριθμός έκδοσης της τελευταίας εγκατάστασης " +"Python 2.x έχει εκτυπωθεί. Τώρα δοκιμάστε να αλλάξετε την πρώτη γραμμή σε:" #: using/windows.rst:1644 msgid "#! python3" -msgstr "" +msgstr "#! python3" #: using/windows.rst:1648 msgid "" @@ -2765,6 +3831,12 @@ msgid "" "first line to ``#! python3.7`` and you should find the 3.7 version " "information printed." msgstr "" +"Η επανεκτέλεση της εντολής θα πρέπει τώρα να εκτυπώσει τις πιο πρόσφατες " +"πληροφορίες Python 3.x. Όπως και με τα παραπάνω παραδείγματα γραμμής " +"εντολών, μπορείτε να καθορίσετε έναν πιο σαφή προσδιορισμό έκδοσης. " +"Υποθέτοντας ότι έχετε εγκαταστήσει την Python 3.7, δοκιμάστε να αλλάξετε την " +"πρώτη γραμμή σε ``#! python3.7`` και θα πρέπει να βρείτε τυπωμένες τις " +"πληροφορίες της έκδοσης 3.7." #: using/windows.rst:1654 msgid "" @@ -2773,10 +3845,14 @@ msgid "" "compatibility and for compatibility with Unix, where the command ``python`` " "typically refers to Python 2." msgstr "" +"Λάβετε υπόψη ότι σε αντίθεση με τη διαδραστική χρήση, ένα γυμνό \"python\" " +"θα χρησιμοποιεί την πιο πρόσφατη έκδοση της Python 2.x που έχετε " +"εγκαταστήσει. Αυτή είναι μια συμβατότητα προς τα πίσω και για συμβατότητα " +"με Unix, όπου συνήθως αναφέρεται η εντολή ``python`` στην Python 2." #: using/windows.rst:1660 msgid "From file associations" -msgstr "" +msgstr "Από συσχετίσεις αρχείων" #: using/windows.rst:1662 msgid "" @@ -2786,16 +3862,25 @@ msgid "" "be used, and therefore you can use the same facilities described above to " "have the script specify the version which should be used." msgstr "" +"Το πρόγραμμα εκκίνησης θα έπρεπε να είχε συσχετιστεί με αρχεία Python " +"(δηλαδή αρχεία ``.py``, ``.pyw``, ``.pyc``) όταν εγκαταστάθηκε. Αυτό " +"σημαίνει ότι όταν κάνετε διπλό κλικ σε ένα από αυτά τα αρχεία από τον " +"Windows Explorer, το πρόγραμμα εκκίνησης θα χρησιμοποιηθεί και επομένως " +"μπορείτε να χρησιμοποιήσετε τις ίδιες ευκολίες που περιγράφονται παραπάνω " +"για να έχετε το script να καθορίζει ποια έκδοση θα χρησιμοποιηθεί." #: using/windows.rst:1668 msgid "" "The key benefit of this is that a single launcher can support multiple " "Python versions at the same time depending on the contents of the first line." msgstr "" +"Το βασικό πλεονέκτημα αυτού είναι ότι ένας μεμονωμένο πρόγραμμα εκκίνησης " +"μπορεί να υποστηρίξει πολλές εκδόσεις Python ταυτόχρονα, ανάλογα με τα " +"περιεχόμενα της πρώτης γραμμής." #: using/windows.rst:1672 msgid "Shebang Lines" -msgstr "" +msgstr "Γραμμές Shebang" #: using/windows.rst:1674 msgid "" @@ -2806,6 +3891,13 @@ msgid "" "facilities to be used with Python scripts on Windows and the examples above " "demonstrate their use." msgstr "" +"Εάν η πρώτη γραμμή ενός script αρχείου ξεκινά με ``#!``, είναι γνωστή ως " +"γραμμή \"shebang\". Το Linux και άλλα Unix λειτουργικά συστήματα έχουν " +"εγγενή υποστήριξη για τέτοιες γραμμές και χρησιμοποιούνται συνήθως σε " +"τέτοιες γραμμές συστήματα για να υποδείξουν πως πρέπει να εκτελεστεί ένα " +"script. Αυτό το πρόγραμμα εκκίνησης επιτρέπει τη χρήση των ίδιων " +"εγκαταστάσεων με Python scripts στα Windows και τα παραπάνω παραδείγματα " +"δείχνουν τη χρήση τους." #: using/windows.rst:1681 msgid "" @@ -2813,22 +3905,26 @@ msgid "" "Windows, this launcher supports a number of 'virtual' commands to specify " "which interpreter to use. The supported virtual commands are:" msgstr "" +"Για να επιτραπεί στις γραμμές shebang σε Python scripts να είναι φορητές " +"μεταξύ Unix και Windows, αυτό το πρόγραμμα εκκίνησης υποστηρίζει έναν αριθμό " +"'εικονικών' εντολών για να καθορίσει ποιος διερμηνέας θα χρησιμοποιηθεί. Οι " +"υποστηριζόμενες εικονικές εντολές είναι:" #: using/windows.rst:1685 msgid "``/usr/bin/env``" -msgstr "" +msgstr "``/usr/bin/env``" #: using/windows.rst:1686 msgid "``/usr/bin/python``" -msgstr "" +msgstr "``/usr/bin/python``" #: using/windows.rst:1687 msgid "``/usr/local/bin/python``" -msgstr "" +msgstr "``/usr/local/bin/python``" #: using/windows.rst:1688 msgid "``python``" -msgstr "" +msgstr "``python``" #: using/windows.rst:1702 msgid "" @@ -2839,6 +3935,12 @@ msgid "" "Python 3.7. If a virtual environment is active, the version will be ignored " "and the environment will be used." msgstr "" +"Οποιαδήποτε από τις παραπάνω εικονικές εντολές μπορεί να προστεθεί με μια " +"ρητή έκδοση (είτε μόνο η κύρια έκδοση, είτε η κύρια και δευτερεύουσα " +"έκδοση). Επιπλέον, η έκδοση 32-bit μπορεί να ζητηθεί προσθέτοντας \"-32\" " +"μετά τη δευτερεύουσα έκδοση. Δηλαδή ``/usr/bin/python3.7-32`` θα ζητήσει τη " +"χρήση της python 3.7. Εάν ένα εικονικό περιβάλλον είναι ενεργό, η έκδοση θα " +"αγνοηθεί και θα χρησιμοποιηθεί το περιβάλλον." #: using/windows.rst:1711 msgid "" @@ -2846,6 +3948,10 @@ msgid "" "by the \"-64\" suffix. Furthermore it is possible to specify a major and " "architecture without minor (i.e. ``/usr/bin/python3-64``)." msgstr "" +"Ξεκινώντας με το πρόγραμμα εκκίνησης Python 3.7, είναι δυνατό να ζητηθεί η " +"έκδοση 64-bit με το επίθημα \"-64\". Επιπλέον, είναι δυνατό να καθοριστεί " +"μια κύρια έκδοση και μια αρχιτεκτονική χωρίς δευτερεύοντα (δηλαδή ``/usr/" +"bin/python3-64``)." #: using/windows.rst:1717 msgid "" @@ -2853,6 +3959,10 @@ msgid "" "not provably i386/32-bit\". To request a specific environment, use the new :" "samp:`-V:{TAG}` argument with the complete tag." msgstr "" +"Το επίθημα \"-64\" έχει καταργηθεί, και τώρα υποδηλώνει \"οποιαδήποτε " +"αρχιτεκτονική που δεν είναι αποδεδειγμένα i386/32-bit\". Για να ζητήσετε ένα " +"συγκεκριμένο περιβάλλον, χρησιμοποιήστε το νέο :samp:`-V:{TAG}` όρισμα με " +"την πλήρη ετικέτα." #: using/windows.rst:1723 msgid "" @@ -2861,6 +3971,10 @@ msgid "" "the shebang specifies ``/usr/bin/env python3`` but :file:`python3.exe` is " "not present in the active environment." msgstr "" +"Οι εικονικές εντολές που αναφέρονται σε ``python`` προτιμούν πλέον ένα " +"ενεργό εικονικό περιβάλλον αντί να αναζητούν το :envvar:`PATH`. Αυτό " +"χειρίζεται περιπτώσεις όπου το shebang καθορίζει ``/usr/bin/env python3`` " +"αλλά το :file:`python3.exe` δεν υπάρχει στο ενεργό περιβάλλον." #: using/windows.rst:1728 msgid "" @@ -2875,6 +3989,17 @@ msgid "" "`PYLAUNCHER_NO_SEARCH_PATH` may be set (to any value) to skip this search " "of :envvar:`PATH`." msgstr "" +"Η φόρμα ``/usr/bin/env`` της γραμμής shebang έχει μια επιπλέον ειδική " +"ιδιότητα. Πριν αναζητήσετε εγκατεστημένους διερμηνείς Python, αυτή η φόρμα " +"θα αναζητήσει στο εκτελέσιμο αρχείο :envvar:`PATH` για ένα εκτελέσιμο αρχείο " +"Python που ταιριάζει με το όνομα που παρέχεται ως το πρώτο όρισμα. Αυτό " +"αντιστοιχεί στη συμπεριφορά του προγράμματος Unix ``env``, το οποίο εκτελεί " +"μια αναζήτηση :envvar:`PATH`. Εάν δεν μπορεί να βρεθεί ένα εκτελέσιμο αρχείο " +"που ταιριάζει με το πρώτο όρισμα μετά την εντολή ``env``, αλλά το όρισμα " +"ξεκινά με ``python``, ο χειρισμός του θα γίνει όπως περιγράφεται για τις " +"άλλες εικονικές εντολές. Η μεταβλητή περιβάλλοντος :envvar:" +"`PYLAUNCHER_NO_SEARCH_PATH` μπορεί να οριστεί (σε οποιαδήποτε τιμή) για να " +"παραλείψει αυτήν την αναζήτηση για :envvar:`PATH`." #: using/windows.rst:1739 msgid "" @@ -2886,12 +4011,22 @@ msgid "" "executable (additional arguments specified in the .INI will be quoted as " "part of the filename)." msgstr "" +"Οι γραμμές Shebang που δεν ταιριάζουν με κανένα από αυτά τα μοτίβα " +"αναζητούνται στην ενότητα ``[commands]`` του προγράμματος εκκίνησης :ref:`." +"INI file `. Αυτό μπορεί να χρησιμοποιηθεί για τον χειρισμό " +"ορισμένων εντολών με τρόπο που να έχει νόημα για το σύστημά σας. Το όνομα " +"της εντολής πρέπει να είναι ένα μεμονωμένο όρισμα (δεν υπάρχουν κενά στο " +"εκτελέσιμο αρχείο shebang) και η τιμή που αντικαθίσταται είναι η πλήρης " +"διαδρομή προς το εκτελέσιμο (τα πρόσθετα ορίσματα που καθορίζονται στο .INI " +"θα αναφέρονται ως μέρος του ονόματος αρχείου)." #: using/windows.rst:1747 msgid "" "[commands]\n" "/bin/xpython=C:\\Program Files\\XPython\\python.exe" msgstr "" +"[commands]\n" +"/bin/xpython=C:\\Program Files\\XPython\\python.exe" #: using/windows.rst:1752 msgid "" @@ -2903,32 +4038,43 @@ msgid "" "arguments, after which the path to the script and any additional arguments " "will be appended." msgstr "" +"Οποιεσδήποτε εντολές που δεν βρίσκονται στο αρχείο .INI αντιμετωπίζονται ως " +"εκτελέσιμες διαδρομές **Windows** που είναι απόλυτες ή σχετικές με τον " +"κατάλογο που περιέχει το script αρχείο. Αυτό είναι μια ευκολία για σενάρια " +"μόνο για Windows, όπως αυτά που δημιουργούνται από ένα πρόγραμμα " +"εγκατάστασης, δεδομένου ότι η συμπεριφορά δεν είναι συμβατή με κελύφη τύπου " +"Unix. Αυτές οι διαδρομές μπορεί να αναφέρονται και μπορεί να περιλαμβάνουν " +"πολλαπλά ορίσματα, μετά τη διαδρομή προς το script και θα προσαρτηθούν τυχόν " +"πρόσθετα ορίσματα." #: using/windows.rst:1761 msgid "Arguments in shebang lines" -msgstr "" +msgstr "Ορίσματα στις γραμμές shebang" #: using/windows.rst:1763 msgid "" "The shebang lines can also specify additional options to be passed to the " "Python interpreter. For example, if you have a shebang line:" msgstr "" +"Οι γραμμές shebang μπορούν επίσης να καθορίσουν πρόσθετες επιλογές που θα " +"μεταβιβαστούν στον διερμηνέα Python. Για παράδειγμα, εάν έχετε μια γραμμή " +"shebang:" #: using/windows.rst:1766 msgid "#! /usr/bin/python -v" -msgstr "" +msgstr "#! /usr/bin/python -v" #: using/windows.rst:1770 msgid "Then Python will be started with the ``-v`` option" -msgstr "" +msgstr "Στη συνέχεια, η Python θα ξεκινήσει με την επιλογή ``-v``" #: using/windows.rst:1773 msgid "Customization" -msgstr "" +msgstr "Προσαρμογή" #: using/windows.rst:1778 msgid "Customization via INI files" -msgstr "" +msgstr "Προσαρμογή μέσω αρχείων INI" #: using/windows.rst:1780 msgid "" @@ -2938,6 +4084,12 @@ msgid "" "same .ini files are used for both the 'console' version of the launcher (i." "e. py.exe) and for the 'windows' version (i.e. pyw.exe)." msgstr "" +"Θα γίνει αναζήτηση δύο αρχείων .ini από το πρόγραμμα εκκίνησης - ``py.ini`` " +"στον κατάλογο δεδομένων εφαρμογής του τρέχοντος χρήστη (``%LOCALAPPDATA%`` ή " +"``$env:LocalAppData``) και ``py.ini`` στον ίδιο κατάλογο με το πρόγραμμα " +"εκκίνησης. Τα ίδια αρχεία .ini χρησιμοποιούνται τόσο για την έκδοση " +"'κονσόλας' του προγράμματος εκκίνησης (π.χ. py.exe) όσο και για την έκδοση " +"'windows' (δηλ. pyw.exe)." #: using/windows.rst:1786 msgid "" @@ -2946,10 +4098,15 @@ msgid "" "write access to the .ini file next to the launcher, can override commands in " "that global .ini file." msgstr "" +"Η προσαρμογή που καθορίζεται στον \"κατάλογο εφαρμογών\" θα έχει " +"προτεραιότητα έναντι αυτής που βρίσκεται δίπλα στο εκτελέσιμο αρχείο, " +"επομένως ένας χρήστης, ο οποίος ενδέχεται να μην έχει πρόσβαση εγγραφής στο " +"αρχείο .ini δίπλα στο πρόγραμμα εκκίνησης, μπορεί να παρακάμψει εντολές σε " +"αυτό το καθολικό .ini αρχείο." #: using/windows.rst:1791 msgid "Customizing default Python versions" -msgstr "" +msgstr "Προσαρμογή προεπιλεγμένων εκδόσεων Python" #: using/windows.rst:1793 msgid "" @@ -2960,12 +4117,21 @@ msgid "" "specify if a 32 or 64 bit implementation shall be requested by adding " "\"-32\" or \"-64\"." msgstr "" +"Σε ορισμένες περιπτώσεις, ένας προσδιορισμός έκδοσης μπορεί να συμπεριληφθεί " +"σε μια εντολή για να υπαγορεύσει ποια έκδοση της Python θα χρησιμοποιηθεί " +"από την εντολή. Ένας προσδιοριστής έκδοσης ξεκινά με τον αριθμό κύριας " +"έκδοσης και μπορεί προαιρετικά να ακολουθείται από μια τελεία ('.') και ένας " +"δευτερεύων προσδιοριστής έκδοσης. Επιπλέον, είναι δυνατό να καθοριστεί εάν " +"θα ζητηθεί υλοποίηση 32 ή 64 bit προσθέτοντας \"-32\" ή \"-64\"." #: using/windows.rst:1799 msgid "" "For example, a shebang line of ``#!python`` has no version qualifier, while " "``#!python3`` has a version qualifier which specifies only a major version." msgstr "" +"Για παράδειγμα, μια γραμμή shebang του ``#!python`` δεν έχει προσδιοριστικό " +"έκδοσης, ενώ το ``#!python3`` έχει έναν προσδιορισμό έκδοσης που καθορίζει " +"μόνο μια κύρια έκδοση." #: using/windows.rst:1802 msgid "" @@ -2976,6 +4142,12 @@ msgid "" "\"3.7-64\". (Note that the \"-64\" option is only available with the " "launcher included with Python 3.7 or newer.)" msgstr "" +"Εάν δεν βρεθούν κριτήρια έκδοσης σε μια εντολή, η μεταβλητή περιβάλλοντος :" +"envvar:`PY_PYTHON` μπορεί να οριστεί για να καθορίσει τον προσδιορισμό της " +"προεπιλεγμένης έκδοσης. Εάν δεν έχει οριστεί, η προεπιλογή είναι \"3\", " +"\"3.7\", \"3.7-32\" ή \"3.7-64\". (Σημειώστε ότι η επιλογή \"-64\" είναι " +"διαθέσιμη μόνο με το πρόγραμμα εκκίνησης που περιλαμβάνεται στην Python 3.7 " +"ή νεότερη έκδοση.)" #: using/windows.rst:1809 msgid "" @@ -2987,6 +4159,14 @@ msgid "" "is likely, although not guaranteed, to be the most recently installed " "version in that family." msgstr "" +"Εάν δεν βρεθούν περιορισμοί δευτερεύουσας έκδοσης, η μεταβλητή περιβάλλοντος " +"``PY_PYTHON{major}`` (όπου ``{major}`` είναι ο προσδιορισμός της τρέχουσας " +"κύριας έκδοσης όπως προσδιορίζεται παραπάνω) μπορεί να οριστεί για να " +"καθορίσει την πλήρη έκδοση. Εάν όχι αν βρεθεί τέτοια επιλογή, ο εκκινητής θα " +"απαριθμήσει τις εγκατεστημένες εκδόσεις Python και θα χρησιμοποιήσει την πιο " +"πρόσφατη δευτερεύουσα έκδοση που βρέθηκε για την κύρια έκδοση, η οποία είναι " +"πιθανό, αν και δεν είναι εγγυημένη, να είναι η πιο πρόσφατα εγκατεστημένη " +"έκδοση σε αυτήν την οικογένεια." #: using/windows.rst:1817 msgid "" @@ -3001,10 +4181,23 @@ msgid "" "launcher was installed last). As noted above, an optional \"-32\" or \"-64\" " "suffix can be used on a version specifier to change this behaviour." msgstr "" +"Σε Windows 64-bit με εγκατεστημένες υλοποιήσεις 32-bit και 64-bit της ίδιας " +"(κύριας.δευτερεύουσας) έκδοσης Python, η έκδοση 64-bit θα προτιμάται πάντα. " +"Αυτό θα ισχύει τόσο για 32-bit όσο και για 64-bit υλοποιήσεις του " +"προγράμματος εκκίνησης - ένα πρόγραμμα εκκίνησης 32-bit θα προτιμήσει να " +"εκτελέσει μια εγκατάσταση Python 64-bit της καθορισμένης έκδοσης, εάν είναι " +"διαθέσιμη. Αυτό είναι έτσι, ώστε η συμπεριφορά του προγράμματος εκκίνησης " +"μπορεί να προβλεφθεί γνωρίζοντας μόνο ποιες εκδόσεις είναι εγκατεστημένες " +"στον υπολογιστή και χωρίς να λαμβάνεται υπόψη η σειρά με την οποία " +"εγκαταστάθηκαν (δηλαδή, χωρίς να γνωρίζουμε εάν μια έκδοση 32 ή 64-bit της " +"Python και το αντίστοιχο πρόγραμμα εκκίνησης εγκαταστάθηκε τελευταίο). Όπως " +"σημειώθηκε παραπάνω, ένα προαιρετικό επίθημα \"-32\" ή \"-64\" μπορεί να " +"χρησιμοποιηθεί σε έναν προσδιοριστή έκδοσης για την αλλαγή αυτής της " +"συμπεριφοράς." #: using/windows.rst:1828 msgid "Examples:" -msgstr "" +msgstr "Παραδείγματα:" #: using/windows.rst:1830 msgid "" @@ -3012,18 +4205,26 @@ msgid "" "use the latest Python 2.x version installed and the command ``python3`` will " "use the latest Python 3.x installed." msgstr "" +"Εάν δεν οριστούν σχετικές επιλογές, οι εντολές ``python`` και ``python2`` θα " +"χρησιμοποιήσουν την πιο πρόσφατη εγκατεστημένη έκδοση Python 2.x και η " +"εντολή ``python3`` θα χρησιμοποιήσει την πιο πρόσφατη εγκατεστημένη Python 3." +"x." #: using/windows.rst:1834 msgid "" "The command ``python3.7`` will not consult any options at all as the " "versions are fully specified." msgstr "" +"Η εντολή ``python3.7`` δεν θα συμβουλευτεί καμία απολύτως επιλογή καθώς οι " +"εκδόσεις είναι πλήρως καθορισμένες." #: using/windows.rst:1837 msgid "" "If ``PY_PYTHON=3``, the commands ``python`` and ``python3`` will both use " "the latest installed Python 3 version." msgstr "" +"Εάν ``PY_PYTHON=3``, οι εντολές ``python`` και ``python3`` θα χρησιμοποιούν " +"και οι δύο την πιο πρόσφατη εγκατεστημένη έκδοση Python 3." #: using/windows.rst:1840 msgid "" @@ -3032,12 +4233,18 @@ msgid "" "installed Python (PY_PYTHON was not considered at all as a major version was " "specified.)" msgstr "" +"Εάν ``PY_PYTHON=3.7-32``, η εντολή ``python`` θα χρησιμοποιήσει την " +"υλοποίηση 32-bit του 3.7 ενώ η εντολή ``python3`` θα χρησιμοποιήσει την πιο " +"πρόσφατη εγκατεστημένη Python (Το PY_PYTHON δεν θεωρήθηκε καθόλου καθώς " +"καθορίστηκε μια κύρια έκδοση.)" #: using/windows.rst:1845 msgid "" "If ``PY_PYTHON=3`` and ``PY_PYTHON3=3.7``, the commands ``python`` and " "``python3`` will both use specifically 3.7" msgstr "" +"Εάν ``PY_PYTHON=3`` και ``PY_PYTHON3=3.7``, οι εντολές ``python`` και " +"``python3`` θα χρησιμοποιούν και οι δύο συγκεκριμένα την 3.7" #: using/windows.rst:1848 msgid "" @@ -3048,26 +4255,38 @@ msgid "" "the INI file are case insensitive.) The contents of an environment variable " "will override things specified in the INI file." msgstr "" +"Εκτός από τις μεταβλητές περιβάλλοντος, οι ίδιες ρυθμίσεις μπορούν να " +"διαμορφωθούν στο αρχείο .INI που χρησιμοποιείται από το πρόγραμμα " +"εκκίνησης. Η ενότητα στο αρχείο INI ονομάζεται ``[defaults]`` και το όνομα " +"του κλειδιού θα είναι το ίδιο με τις μεταβλητές περιβάλλοντος χωρίς το " +"αρχικό πρόθεμα ``PY_`` (και σημειώστε ότι τα ονόματα κλειδιών στο αρχείο INI " +"δεν έχουν διάκριση πεζών-κεφαλαίων.) Τα περιεχόμενα μιας μεταβλητής " +"περιβάλλοντος θα αντικαταστήσουν τα στοιχεία που καθορίζονται στο αρχείο INI." #: using/windows.rst:1855 msgid "For example:" -msgstr "" +msgstr "Για παράδειγμα:" #: using/windows.rst:1857 msgid "Setting ``PY_PYTHON=3.7`` is equivalent to the INI file containing:" msgstr "" +"Η ρύθμιση ``PY_PYTHON=3.7`` είναι ισοδύναμη με το αρχείο INI που περιέχει:" #: using/windows.rst:1859 msgid "" "[defaults]\n" "python=3.7" msgstr "" +"[defaults]\n" +"python=3.7" #: using/windows.rst:1864 msgid "" "Setting ``PY_PYTHON=3`` and ``PY_PYTHON3=3.7`` is equivalent to the INI file " "containing:" msgstr "" +"Η ρύθμιση ``PY_PYTHON=3`` και ``PY_PYTHON3=3.7`` ισοδυναμεί με το αρχείο INI " +"που περιέχει:" #: using/windows.rst:1867 msgid "" @@ -3075,10 +4294,13 @@ msgid "" "python=3\n" "python3=3.7" msgstr "" +"[defaults]\n" +"python=3\n" +"python3=3.7" #: using/windows.rst:1874 msgid "Diagnostics" -msgstr "" +msgstr "Διαγνωστικά" #: using/windows.rst:1876 msgid "" @@ -3089,10 +4311,18 @@ msgid "" "a particular version was chosen and the exact command-line used to execute " "the target Python. It is primarily intended for testing and debugging." msgstr "" +"Εάν μια μεταβλητή περιβάλλοντος :envvar:`PYLAUNCHER_DEBUG` έχει οριστεί (σε " +"οποιαδήποτε τιμή), το πρόγραμμα εκκίνησης θα εκτυπώσει διαγνωστικές " +"πληροφορίες στο stderr (δηλαδή στην κονσόλα). Ενώ αυτές οι πληροφορίες " +"καταφέρνουν να είναι ταυτόχρονα αναλυτικές *και*, θα πρέπει να επιτρέπουν " +"για να δείτε ποιες εκδόσεις της Python εντοπίστηκαν, γιατί επιλέχθηκε μια " +"συγκεκριμένη έκδοση και η ακριβής γραμμή εντολών που χρησιμοποιήθηκε για την " +"εκτέλεση του στόχου Python. Προορίζεται κυρίως για δοκιμή και εντοπισμό " +"σφαλμάτων." #: using/windows.rst:1884 msgid "Dry Run" -msgstr "" +msgstr "Dry Run" #: using/windows.rst:1886 msgid "" @@ -3103,10 +4333,17 @@ msgid "" "written to standard output is always encoded using UTF-8, and may not render " "correctly in the console." msgstr "" +"Εάν μια μεταβλητή περιβάλλοντος :envvar:`PYLAUNCHER_DRYRUN` έχει οριστεί (σε " +"οποιαδήποτε τιμή), το πρόγραμμα εκκίνησης θα δώσει την εντολή που θα " +"εκτελούσε, αλλά δεν θα εκκινήσει πραγματικά την Python. Αυτό μπορεί να είναι " +"χρήσιμο για εργαλεία που θέλουν να χρησιμοποιήσουν το πρόγραμμα εκκίνησης " +"για να εντοπιστεί και να εκκινηθεί απευθείας η Python. Σημειώστε ότι η " +"εντολή που είναι γραμμένη στην τυπική έξοδο κωδικοποιείται πάντα με χρήση " +"UTF-8 και ενδέχεται να μην αποδίδεται σωστά στην κονσόλα." #: using/windows.rst:1894 msgid "Install on demand" -msgstr "" +msgstr "Εγκατάσταση κατ' απαίτηση" #: using/windows.rst:1896 msgid "" @@ -3116,6 +4353,12 @@ msgid "" "require user interaction to complete, and you may need to run the command " "again." msgstr "" +"Εάν μια μεταβλητή περιβάλλοντος :envvar:`PYLAUNCHER_ALLOW_INSTALL` έχει " +"οριστεί (σε οποιαδήποτε τιμή), και η ζητούμενη έκδοση Python δεν είναι " +"εγκατεστημένη αλλά είναι διαθέσιμη στο Microsoft Store, το πρόγραμμα " +"εκκίνησης θα επιχειρήσει να την εγκαταστήσει. Αυτό μπορεί να απαιτεί την " +"ολοκλήρωση της αλληλεπίδρασης του χρήστη και ίσως χρειαστεί να εκτελέσετε " +"ξανά την εντολή." #: using/windows.rst:1901 msgid "" @@ -3124,10 +4367,14 @@ msgid "" "mainly intended for testing (and should be used with :envvar:" "`PYLAUNCHER_DRYRUN`)." msgstr "" +"Μια πρόσθετη μεταβλητή :envvar:`PYLAUNCHER_ALWAYS_INSTALL` αναγκάζει το " +"πρόγραμμα εκκίνησης να προσπαθεί πάντα να εγκαταστήσει την Python, ακόμα κι " +"αν εντοπιστεί. Αυτό προορίζεται κυρίως για δοκιμή (και θα πρέπει να " +"χρησιμοποιείται με το :envvar:`PYLAUNCHER_DRYRUN`)." #: using/windows.rst:1906 msgid "Return codes" -msgstr "" +msgstr "Επιστρεφόμενοι κωδικοί" #: using/windows.rst:1908 msgid "" @@ -3135,6 +4382,9 @@ msgid "" "Unfortunately, there is no way to distinguish these from the exit code of " "Python itself." msgstr "" +"Οι ακόλουθοι κωδικοί εξόδου μπορεί να επιστραφούν από τον εκκινητή Python. " +"Δυστυχώς, δεν υπάρχει τρόπος να διακρίνουμε αυτούς από τον κωδικό εξόδου της " +"ίδιας της Python." #: using/windows.rst:1911 msgid "" @@ -3142,93 +4392,100 @@ msgid "" "There is no way to access or resolve them apart from reading this page. " "Entries are listed in alphabetical order of names." msgstr "" +"Τα ονόματα των κωδικών είναι όπως χρησιμοποιούνται στις πηγές και είναι μόνο " +"για αναφορά. Δεν υπάρχει τρόπος πρόσβασης ή επίλυσης τους εκτός από την " +"ανάγνωση αυτής της σελίδας. Οι καταχωρήσεις παρατίθενται με αλφαβητική σειρά " +"των ονομάτων." #: using/windows.rst:1916 msgid "Value" -msgstr "" +msgstr "Τιμή" #: using/windows.rst:1918 msgid "RC_BAD_VENV_CFG" -msgstr "" +msgstr "RC_BAD_VENV_CFG" #: using/windows.rst:1918 msgid "107" -msgstr "" +msgstr "107" #: using/windows.rst:1918 msgid "A :file:`pyvenv.cfg` was found but is corrupt." -msgstr "" +msgstr "Βρέθηκε ένα :file:`pyvenv.cfg` αλλά είναι κατεστραμμένο." #: using/windows.rst:1920 msgid "RC_CREATE_PROCESS" -msgstr "" +msgstr "RC_CREATE_PROCESS" #: using/windows.rst:1920 msgid "101" -msgstr "" +msgstr "101" #: using/windows.rst:1920 msgid "Failed to launch Python." -msgstr "" +msgstr "Απέτυχε η εκκίνηση της Python." #: using/windows.rst:1922 msgid "RC_INSTALLING" -msgstr "" +msgstr "RC_INSTALLING" #: using/windows.rst:1922 msgid "111" -msgstr "" +msgstr "111" #: using/windows.rst:1922 msgid "" "An install was started, but the command will need to be re-run after it " "completes." msgstr "" +"Ξεκίνησε μια εγκατάσταση, αλλά η εντολή θα πρέπει να εκτελεστεί ξανά μετά " +"την ολοκλήρωση της." #: using/windows.rst:1925 msgid "RC_INTERNAL_ERROR" -msgstr "" +msgstr "RC_INTERNAL_ERROR" #: using/windows.rst:1925 msgid "109" -msgstr "" +msgstr "109" #: using/windows.rst:1925 msgid "Unexpected error. Please report a bug." -msgstr "" +msgstr "Απροσδόκητο σφάλμα. Αναφέρετε ένα σφάλμα." #: using/windows.rst:1927 msgid "RC_NO_COMMANDLINE" -msgstr "" +msgstr "RC_NO_COMMANDLINE" #: using/windows.rst:1927 msgid "108" -msgstr "" +msgstr "108" #: using/windows.rst:1927 msgid "Unable to obtain command line from the operating system." msgstr "" +"Δεν είναι δυνατή η λήψη της γραμμής εντολών από το λειτουργικό σύστημα." #: using/windows.rst:1930 msgid "RC_NO_PYTHON" -msgstr "" +msgstr "RC_NO_PYTHON" #: using/windows.rst:1930 msgid "103" -msgstr "" +msgstr "103" #: using/windows.rst:1930 msgid "Unable to locate the requested version." -msgstr "" +msgstr "Δεν είναι δυνατός ο εντοπισμός της ζητούμενης έκδοσης." #: using/windows.rst:1932 msgid "RC_NO_VENV_CFG" -msgstr "" +msgstr "RC_NO_VENV_CFG" #: using/windows.rst:1932 msgid "106" -msgstr "" +msgstr "106" #: using/windows.rst:1932 msgid "A :file:`pyvenv.cfg` was required but not found." -msgstr "" +msgstr "Απαιτήθηκε ένα :file:`pyvenv.cfg` αλλά δεν βρέθηκε."