diff --git a/dictionaries/main.txt b/dictionaries/main.txt index ea010d18..706ab05b 100644 --- a/dictionaries/main.txt +++ b/dictionaries/main.txt @@ -1,6 +1,9 @@ A ActiveState Actual +Adam +Add +Alex Alias Alph Alpine @@ -8,8 +11,10 @@ Alternate Alternative Android Apache +Attr Audio Avenue +Awaitable Awk B Bartelt @@ -25,20 +30,26 @@ Bug Built Bytearray C +Cameron Cannon +Canopy Case Category Centrum +Chapman Cheese Cleese +Clinic Command Comment Compaq Compiled Comprehensions +Consortium Control Cookbook Cookie +Core Corporation Creations Ctrl @@ -59,7 +70,9 @@ Document Docutils Dog Drake +Element Emacs +Enable English Eric Error @@ -67,23 +80,32 @@ Errors Exceeds Exception Exceptions +Excursus +Explorer Fedora Fido +Files Flying Folding Fortran Foundation +Fourier Fraction Fred Fredrik +Freeze +Frozen Garcia Gay General Generics Get +Golden +Google Gordon Graham Green +Greg Group Guido Hans @@ -91,8 +113,10 @@ Haskell Hat Hello Hewlett +How Hugunin I +Idle If Inc Indent @@ -115,6 +139,7 @@ Just Jython Korn L +Laird Letter Linux Lisp @@ -122,7 +147,9 @@ Literals Ll Lm Lo +Load Local +Lock Look Looking Looping @@ -137,10 +164,15 @@ Mailbox Majkowski Makefile Marek +Mark Matthias Message Michael +Microsoft +Microsystems +Mitch Mixin +Model Modula Modules Monty @@ -151,21 +183,25 @@ Nd New None Not +Now Null Number Numeric Nα O +Olsen Origin Other P Packard Pascal Path +Paul Perl Precision Print Private +Program Py PyCon Pyrex @@ -209,20 +245,27 @@ Stacks Stallman Start States +Stein Stichting Storage +Store String +Studio +Subsystem Sun Sx Sy Syntax Tab +Tcl Terry This Thread +Tim Time Title Tk +To Traceback Transform Traversable @@ -233,10 +276,13 @@ Ulf Unices United Unix +Usenet V Van +Von W Weather +Wide Windows Yes Zen @@ -270,6 +316,7 @@ append apple archives arg +argcount args argument argv @@ -285,7 +332,9 @@ asyncio at average await +awaitable b +back backport backslash backslashes @@ -294,6 +343,7 @@ backwards bacon base based +bases bash basket batch @@ -355,6 +405,8 @@ caseless cat catch ceil +cellvars +center cfg cfuhash chain @@ -364,13 +416,18 @@ chdir chomp chr class +classcell classname clear +client +clients close closed clossure +closure cls cmath +co code codec codecs @@ -398,9 +455,12 @@ conflict conflicts cong conjugate +connect consistency +const constructor constructors +consts container containers containment @@ -422,14 +482,18 @@ crc create crt cubes +curl currency current +curses +cx d data date datetime day days +dbm de dead debug @@ -447,6 +511,7 @@ defined deghi del delegation +delete delimiters demo deploy @@ -491,8 +556,10 @@ endian endianness enter entry +enum env eq +errno error errors escape @@ -502,6 +569,7 @@ events exc except exceptions +excopcodes exe exec expat @@ -515,6 +583,7 @@ extension extra f facto +factories factory false fatal @@ -530,6 +599,8 @@ filter finder finders first +firstlineno +flag flags flatten float @@ -543,10 +614,16 @@ format formatted formatting frac +frame framework +frameworks +freevars freeze freshfruit from +frozen +frozenset +frozensets fruit fruits fsum @@ -564,10 +641,12 @@ generators generic generics get +getattr getcount getcwd getitem getter +gettime global globals go @@ -582,6 +661,7 @@ guard guru gzip h +hack half has hash @@ -597,6 +677,7 @@ hints historic holder home +hook host hot i @@ -621,8 +702,10 @@ indexes indexing indirect inf +info informal inheritance +ini init initialization initializations @@ -636,6 +719,7 @@ insert inst insta install +installation instance instances int @@ -683,14 +767,17 @@ kind kiwi kqueue kwd +kwdefaults l lang last +lasti lazy le leading leap leaping +left len length leo @@ -703,7 +790,9 @@ like limit line linear +lineno liners +lines linking links linters @@ -714,9 +803,12 @@ lists literal literals little +live +lnotab loader loaders local +localName locale localeconv localhost @@ -734,12 +826,14 @@ lru lst lstrip lt +lzma m mail mailbox mailing main make +makefile manager mangled mangling @@ -754,6 +848,7 @@ math matrix max maxsize +mbcs memoizing memory memoryview @@ -780,9 +875,11 @@ mult multi must mutable +mutex my mydict myfile +mypy n nSecond name @@ -792,22 +889,26 @@ namespace namespaces nan native +ncurses ndim ne negative new next +nlocals no non not notation now nowait +nuget null num number numbers numeric +numpy o obj object @@ -816,8 +917,11 @@ of old on one +onexit only op +opcode +opcodes open opener operations @@ -839,22 +943,30 @@ packages packing pad padding +pads page pages +pahts pairs +pandas +params parrot parser parsing pass passion path +pathname +paths pattern payload pdb pear +persistent pi pickle pip +pipe pipes place placeholder @@ -863,6 +975,7 @@ play point points pop +popen popleft population pos @@ -870,6 +983,7 @@ positional pow precision prefix +prepare pretty primary prime @@ -882,6 +996,7 @@ project prompt prompts property +props provides provisional proxy @@ -895,13 +1010,17 @@ pycache pyd python pythonrun +pyw +qname quacks +qualname queue quoted quotes r rainfall raise +raised random range ranges @@ -917,6 +1036,7 @@ record reduce ref reference +regex register regressions regular @@ -933,6 +1053,7 @@ reverse reversed rgb rgba +rich rjust roll round @@ -944,9 +1065,11 @@ s safe said salad +salted sausage scalar scanf +scipy script scripting scripts @@ -955,6 +1078,7 @@ seconds see seek self +sendmail sep sequence sequences @@ -966,6 +1090,8 @@ setlocale sets setter setup +setuptools +shebang shell shells shift @@ -979,10 +1105,16 @@ singleton singletons site size +sl +slash sleep slept slice +slices slicing +slot +slots +so somedir sort sorted @@ -992,13 +1124,17 @@ space spaces spam spamspam +spec speed +splice split +splitlines spot sprintf sscanf stack stackless +stacksize stand standard start @@ -1013,6 +1149,7 @@ status stderr stdin stdout +step stop str stream @@ -1054,13 +1191,17 @@ t tab tabs tag +tags tangerine tar target task tasks +tb temperature templating +term +termcap terminal terminator terminators @@ -1080,12 +1221,16 @@ time timeout titlecase titlecased +tk to today token +tokens toolkits total trace +traceback +tracebacks tracker trick tricks @@ -1141,8 +1286,10 @@ values van var variable +varnames vars vec +vendoring void w weakref @@ -1155,6 +1302,7 @@ wiki will win window +windows with word words @@ -1162,9 +1310,11 @@ work worker workers workfile +working workload world wrap +wrapped wrapper wrappers write @@ -1184,20 +1334,25 @@ zlib Αν Αριθμητική Αριμθητικοί +Αυτή Αυτό Βλ Γεννήτορων Επαναλήπτες Η Κινητής +Κλωνοποιεί Μετα +Μετακλάσεις Μπορείτε Οδηγοί Περιβάλλοντας +Περιγραφέων Πρόσθεσα Πώς Σεμινάριο Υπάρχουν +Υπερ Υποδιαστολής ένα έφτασε @@ -1217,10 +1372,13 @@ zlib αναθέτης ανακατευθυνθεί ανακατευθύνονται +ανακλώμενους αναπαράξετε αναπαραγώγιμη αναπαραστάσιμο +αναστημένο αναφορές +ανεπίμαχη αντ αντί ανταλλάσετε @@ -1270,6 +1428,7 @@ zlib διεπαφών διορθώσεις εγειρθεί +εγκαταστάτες εκδόσεων εκτυπώσιμη εκτυπώσιμο @@ -1282,9 +1441,12 @@ zlib εξαδικού επέκτασης επίσης +επανάκληση επαναλήπτη επαναλήψιμους +επαναριθμείται επαναχρησιμοποιηθούν +επανεγκαταστήσετε επανεισάγω επανεκκινήσετε επαυξημένοι @@ -1292,10 +1454,12 @@ zlib επικαλεί επικαλυπτόμενες επικαλυπτόμενων +επικαλώντας επιστρεφόμενος εσωκλειόμενη εσωκλειόμενων ευπάθειες +ευρετηριασμένα ευρετηριοποίηση ευρετηριοποίησης ευρετηριοποιηθούν @@ -1313,8 +1477,11 @@ zlib κανονικοποίηση κατάσταση κατέληγες +κατακερματιζόμενες κατακερματιστέες +καταχωρητή κατηργημένο +κειμενικό κεφαλίδας κεφαλίδες κεφαλίδων @@ -1330,8 +1497,11 @@ zlib μετά μετα μεταβλητή +μεταβλητότητά μεταβλητών +μεταδεδομένα μεταδεδομένων +μετακλάσεις μετακλάσεων μετακλάση μετακλάσης @@ -1339,9 +1509,13 @@ zlib μεταφέρετε μεταφοράς μιμηθείτε +μιμηθώ μονοεπεξεργαστικό μπορεί να +νεο +νεοδημιουργημένες +ξαναγραφούν ο οδηγίες οδηγό @@ -1357,6 +1531,8 @@ zlib οποιουσδήποτε οριοθέτες οριοθέτη +οριοθετημένος +πάροχο πακετοποιημένα παλαιώσουν παλιό @@ -1365,8 +1541,10 @@ zlib παραμετροποιηθεί παραμετροποιηθούν παραμετροποιημένα +παραμετροποιημένες παραμετροποιημένη παραμετροποιημένο +παρόχους πεζογράμμιση περιέκτης περιέχει @@ -1374,27 +1552,36 @@ zlib περιβάλλουσας περιγραφέα περιγραφέας +περιγραφέων +περιγραφείς περιηγείστε περικλειόμενο περικόβει +περικόψετε +περιπλέκουμε περιτυλίγοντάς περιτύλιγαν πλέον +πλατφορμών πληθικότητα πολλοί +πολυεπεξεργαστές πολυεπεξεργαστικό πολυμορφική προέκδοση προεγκατεστημένη προεπιλεγμένης προεπιλεγμένος +προεπιλεγμένου προεπισκόπηση +προμεταγλωττισμένα προσήμου προσδιοριστές προσδιοριστή προσδιοριστής προσεταιριστικός προσημασμένος +προσπελαύνονται προσποιηθείτε προτάσσοντάς ρήτρων @@ -1425,7 +1612,9 @@ zlib σφαλμάτων τέλος τελεστέο +τελεστέοι τελεστέος +τελεστέου τελεστέους την της @@ -1437,8 +1626,11 @@ zlib τροποποιητές τροποποιητής τυλιχθούν +τυχαιοποίηση των υ +υλοποιητές +υπακούουν υπεραντικείμενο υπερισχύουσα υπερκλάσης @@ -1453,6 +1645,7 @@ zlib υποκατάλογος υποκαταλόγους υποκλάσεις +υποκλάσεων υποκλάση υποκλάσης υπομέρη @@ -1464,6 +1657,7 @@ zlib υποσυμβολοσειρά υποτετραγωνική υποτμημάτων +υποτύπος χειριζόμενες χρήσιμες χρήσιμοι diff --git a/faq/library.po b/faq/library.po index ccccfa5f..25d46c8a 100644 --- a/faq/library.po +++ b/faq/library.po @@ -9,29 +9,30 @@ msgstr "" "Project-Id-Version: Python 3.12\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-05-02 23:29+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: 2024-02-26 09:00+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" #: 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__ = \"\"\"...Whatever...\"\"\"" #: 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,16 +537,26 @@ 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 "" "The easiest way is to use the :mod:`concurrent.futures` module, especially " "the :mod:`~concurrent.futures.ThreadPoolExecutor` class." msgstr "" +"Ο ευκολότερο τρόπος είναι να χρησιμοποιήσετε το module :mod:`concurrent." +"futures`, ειδικά την κλάση :mod:`~concurrent.futures.ThreadPoolExecutor`." #: faq/library.rst:295 msgid "" @@ -417,10 +567,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 +617,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 +673,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 +708,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 +723,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 +751,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 +774,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 +786,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:410 msgid "" @@ -562,6 +803,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:415 msgid "" @@ -574,6 +820,14 @@ msgid "" "due to the amount of fine-grained locking necessary to compensate for the " "removal of the GIL." msgstr "" +"Πίσω στις μέρες της Python 1.5, ο Greg Stein υλοποίησε πραγματικά ένα " +"ολοκληρωμένο σύνολο επιδιορθώσεων (οι επιδιορθώσεις \"ελεύθερου νήματος\") " +"που αφαίρεσε το GIL και το αντικατέστησε με ένα άριστα προσεγμένο κλειδωμένο " +"thread. Ο Adam Olsen έκανε πρόσφατα ένα παρόμοιο πείραμα στο έργο `python-" +"safethread `_. " +"Δυστυχώς, και τα δύο πειράματα εμφάνισαν απότομη πτώση στην απόδοση ενός " +"νήματος (τουλάχιστον 30% πιο αργή), λόγω της ποσότητας του προσεγμένου " +"κλειδώματος που απαιτείται για την αντιστάθμιση της αφαίρεσης του GIL." #: faq/library.rst:423 msgid "" @@ -585,6 +839,14 @@ msgid "" "module provides a lower-level API in case you want more control over " "dispatching of tasks." msgstr "" +"Αυτό δεν σημαίνει ότι δεν μπορείτε να κάνετε καλή χρήση της Python σε " +"μηχανήματα πολλαπλών επεξεργαστών! Απλώς πρέπει να είστε δημιουργικοί " +"μοιράζοντας την εργασία μεταξύ πολλαπλών *διεργασιών* και όχι πολλών " +"*νημάτων*. Η κλάση :class:`~concurrent.futures.ProcessPoolExecutor` στο " +"νέο module :mod:`concurrent.futures`, παρέχει έναν εύκολο τρόπο για να το " +"κάνετε αυτό· Το module :mod:`multiprocessing` παρέχει ένα API χαμηλότερου " +"επιπέδου σε περίπτωση που θέλετε περισσότερο έλεγχο στην αποστολή των " +"εργασιών." #: faq/library.rst:431 msgid "" @@ -594,6 +856,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:437 msgid "" @@ -606,6 +873,16 @@ msgid "" "types have their own free list; these free lists would have to be moved to " "the interpreter state. And so on." msgstr "" +"Έχει προταθεί ότι το GIL θα πρέπει να είναι ένα κλείδωμα ανά κατάσταση " +"διερμηνέα αντί να είναι πραγματικά καθολικό∙ τότε οι διερμηνείς δεν θα " +"μπορούν να μοιράζονται αντικείμενα. Δυστυχώς, ούτε αυτό είναι πιθανό να " +"συμβεί. Θα ήταν τεράστιος όγκος δουλειάς, επειδή πολλές υλοποιήσεις " +"αντικειμένων επί του παρόντος έχουν παγκόσμια κατάσταση. Για παράδειγμα, " +"μικροί ακέραιοι αριθμοί και σύντομες συμβολοσειρές αποθηκεύονται στην κρυφή " +"μνήμη∙ αυτές οι κρυφές μνήμες θα πρέπει να μετακινηθούν στην κατάσταση " +"διερμηνέα. Άλλοι τύποι αντικειμένων έχουν τη δική τους κενή λίστα∙ αυτές οι " +"κενές λίστες θα πρέπει να μετακινηθούν στην κατάσταση διερμηνέα. Και ούτω " +"καθεξής." #: faq/library.rst:446 msgid "" @@ -614,20 +891,29 @@ msgid "" "extensions are being written at a faster rate than you can convert them to " "store all their global state in the interpreter state." msgstr "" +"Και αμφιβάλλω ότι μπορεί να γίνει ακόμη και σε πεπερασμένο χρόνο, επειδή το " +"ίδιο πρόβλημα υπάρχει για τις επεκτάσεις τρίτων. Είναι πιθανό ότι οι " +"επεκτάσεις τρίτων γράφονται με ταχύτερο ρυθμό από ό,τι μπορείτε να τις " +"μετατρέψετε για να αποθηκεύσετε όλη την καθολική τους κατάσταση στην " +"κατάσταση διερμηνέα." #: faq/library.rst:451 msgid "" "And finally, once you have multiple interpreters not sharing any state, what " "have you gained over running each interpreter in a separate process?" msgstr "" +"Και τέλος, από τη στιγμή που έχετε πολλούς διερμηνείς που δεν μοιράζονται " +"καμία κατάσταση, τι έχετε κερδίσει από τη λειτουργία κάθε διερμηνέα σε μια " +"ξεχωριστή διαδικασία;" #: faq/library.rst:456 msgid "Input and Output" -msgstr "" +msgstr "Είσοδος και Έξοδος" #: faq/library.rst:459 msgid "How do I delete a file? (And other file questions...)" msgstr "" +"Πώς μπορώ να διαγράψω ένα αρχείο; (Και άλλες ερωτήσεις για το αρχείο...)" #: faq/library.rst:461 msgid "" @@ -635,6 +921,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:465 msgid "" @@ -644,10 +934,18 @@ 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:471 msgid "To rename a file, use ``os.rename(old_path, new_path)``." msgstr "" +"Για να μετονομάσετε ένα αρχείο, χρησιμοποιήστε το ``os.rename(old_path, " +"new_path)``." #: faq/library.rst:473 msgid "" @@ -656,6 +954,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)``∙ " +"μετατόπιση των προεπιλογών στην τρέχουσα θέση αναζήτησης. Υπάρχει επίσης το " +"``os.ftruncate(fd, offset)`` για αρχεία που ανοίγουν με :func:`os.open`, " +"όπου *fd* είναι ο περιγραφέας αρχείου (ένας μικρός ακέραιος)." #: faq/library.rst:478 msgid "" @@ -663,10 +966,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:484 msgid "How do I copy a file?" -msgstr "" +msgstr "Πως αντιγράφω ένα αρχείο;" #: faq/library.rst:486 msgid "" @@ -678,10 +984,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:497 msgid "How do I read (or write) binary data?" -msgstr "" +msgstr "Πώς διαβάζω (ή γράφω) δυαδικά δεδομένα;" #: faq/library.rst:499 msgid "" @@ -689,12 +1002,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:503 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:506 msgid "" @@ -704,6 +1023,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:512 msgid "" @@ -711,12 +1035,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:516 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:521 msgid "" @@ -725,10 +1055,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:529 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:531 msgid "" @@ -738,36 +1075,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:617 msgid "How do I access the serial (RS232) port?" -msgstr "" +msgstr "Πώς μπορώ να αποκτήσω πρόσβαση στη σειριακή θύρα (RS232);" #: faq/library.rst:619 msgid "For Win32, OSX, Linux, BSD, Jython, IronPython:" -msgstr "" +msgstr "Για Win32, OSX, Linux, BSD, Jython, IronPython:" #: faq/library.rst:621 msgid ":pypi:`pyserial`" -msgstr "" +msgstr ":pypi:`pyserial`" #: faq/library.rst:623 msgid "For Unix, see a Usenet post by Mitch Chapman:" -msgstr "" +msgstr "Για το Unix, δείτε μια ανάρτηση στο Usenet από τον Mitch Chapman:" #: faq/library.rst:625 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:629 msgid "Why doesn't closing sys.stdout (stdin, stderr) really close it?" msgstr "" +"Γιατί το κλείσιμο του sys.stdout (stdin, stderr) δεν το κλείνει πραγματικά;" #: faq/library.rst:631 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:634 msgid "" @@ -777,6 +1124,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:640 msgid "" @@ -785,6 +1137,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:645 msgid "" @@ -792,6 +1148,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:649 msgid "" @@ -799,18 +1159,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:653 msgid "Or you can use the numeric constants 0, 1 and 2, respectively." msgstr "" +"Ή μπορείτε να χρησιμοποιήσετε τις αριθμητικές σταθερές 0, 1 και 2, " +"αντίστοιχα." #: faq/library.rst:657 msgid "Network/Internet Programming" -msgstr "" +msgstr "Προγραμματισμός Δικτύου/Διαδικτύου" #: faq/library.rst:660 msgid "What WWW tools are there for Python?" -msgstr "" +msgstr "Ποια εργαλεία WWW υπάρχουν για την Python;" #: faq/library.rst:662 msgid "" @@ -818,12 +1183,17 @@ 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:668 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:671 msgid "" @@ -831,20 +1201,26 @@ msgid "" "at https://web.archive.org/web/20210224183619/http://phaseit.net/claird/comp." "lang.python/web_python." msgstr "" +"Η Cameron Laird διατηρεί ένα χρήσιμο σύνολο σελίδων σχετικά με τις " +"τεχνολογίες Ιστού Python στη διεύθυνση https://web.archive.org/" +"web/20210224183619/http://phaseit.net/claird/comp.lang.python/web_python." #: faq/library.rst:676 msgid "How can I mimic CGI form submission (METHOD=POST)?" -msgstr "" +msgstr "Πώς μπορώ να μιμηθώ την υποβολή φόρμας CGI (METHOD=POST);" #: faq/library.rst:678 msgid "" "I would like to retrieve web pages that are the result of POSTing a form. Is " "there existing code that would let me do this easily?" msgstr "" +"Θα ήθελα να ανακτήσω ιστοσελίδες που είναι αποτέλεσμα του POST μιας φόρμας. " +"Υπάρχει κώδικας που θα επέτρεπε να το κάνω εύκολα;" #: faq/library.rst:681 msgid "Yes. Here's a simple example that uses :mod:`urllib.request`::" msgstr "" +"Ναι. Ακολουθεί ένα απλό παράδειγμα που χρησιμοποιεί :mod:`urllib.request`::" #: faq/library.rst:683 msgid "" @@ -861,6 +1237,18 @@ msgid "" "with req:\n" " msg, hdrs = req.read(), req.info()" msgstr "" +"#!/usr/local/bin/python\n" +"\n" +"import urllib.request\n" +"\n" +"# build the query string\n" +"qs = \"First=Josephine&MI=Q&Last=Public\"\n" +"\n" +"# connect and send the server a path\n" +"req = urllib.request.urlopen('http://www.some-server.out-there'\n" +" '/cgi-bin/some-cgi-script', data=qs)\n" +"with req:\n" +" msg, hdrs = req.read(), req.info()" #: faq/library.rst:696 msgid "" @@ -868,6 +1256,10 @@ msgid "" "be quoted using :func:`urllib.parse.urlencode`. For example, to send " "``name=Guy Steele, Jr.``::" msgstr "" +"Λάβετε υπόψιν ότι γενικά για λειτουργίες POST με κωδικοποίηση ποσοστού, οι " +"συμβολοσειρές ερωτημάτων πρέπει να αναφέρονται χρησιμοποιώντας τη :func:" +"`urllib.parse.urlencode`. Για παράδειγμα, για να στείλετε ``name=Guy " +"Steele, Jr.``::" #: faq/library.rst:700 msgid "" @@ -875,34 +1267,42 @@ msgid "" ">>> urllib.parse.urlencode({'name': 'Guy Steele, Jr.'})\n" "'name=Guy+Steele%2C+Jr.'" msgstr "" +">>> import urllib.parse\n" +">>> urllib.parse.urlencode({'name': 'Guy Steele, Jr.'})\n" +"'name=Guy+Steele%2C+Jr.'" #: faq/library.rst:704 msgid ":ref:`urllib-howto` for extensive examples." -msgstr "" +msgstr ":ref:`urllib-howto` για εκτενή παραδείγματα." #: faq/library.rst:708 msgid "What module should I use to help with generating HTML?" -msgstr "" +msgstr "Τι module πρέπει να χρησιμοποιήσω για να βοηθήσω στην δημιουργία HTML;" #: faq/library.rst:712 msgid "" "You can find a collection of useful links on the `Web Programming wiki page " "`_." msgstr "" +"Μπορείτε να βρείτε μια συλλογή από χρήσιμους συνδέσμους στη σελίδα `Web " +"Programming wiki page `_." #: faq/library.rst:717 msgid "How do I send mail from a Python script?" -msgstr "" +msgstr "Πώς μπορώ να στείλω αλληλογραφία από ένα Python script;" #: faq/library.rst:719 msgid "Use the standard library module :mod:`smtplib`." -msgstr "" +msgstr "Χρησιμοποιήστε την τυπική module βιβλιοθήκη :mod:`smtplib`." #: faq/library.rst:721 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:724 msgid "" @@ -923,6 +1323,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:741 msgid "" @@ -931,6 +1347,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:746 msgid "" @@ -947,16 +1367,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:761 msgid "How do I avoid blocking in the connect() method of a socket?" -msgstr "" +msgstr "Πώς μπορώ να αποφύγω τον αποκλεισμό στη μέθοδο connect() ενός socket;" #: faq/library.rst:763 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:766 msgid "" @@ -968,6 +1402,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:774 msgid "" @@ -977,6 +1419,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:782 msgid "" @@ -985,18 +1433,22 @@ msgid "" "network code. The third-party `Twisted `_ library is a " "popular and feature-rich alternative." msgstr "" +"Το module :mod:`asyncio` παρέχει μια γενικού σκοπού απλή και ταυτόχρονη " +"ασύγχρονη βιβλιοθήκη, η οποία μπορεί να χρησιμοποιηθεί για τη σύνταξη κώδικα " +"δικτύου χωρίς αποκλεισμό. Η βιβλιοθήκη `Twisted `_ " +"είναι μια δημοφιλής και με πολλές λειτουργίες εναλλακτική λύση." #: faq/library.rst:790 msgid "Databases" -msgstr "" +msgstr "Βάσεις Δεδομένων" #: faq/library.rst:793 msgid "Are there any interfaces to database packages in Python?" -msgstr "" +msgstr "Υπάρχουν διεπαφές σε πακέτα βάσεων δεδομένων στην Python;" #: faq/library.rst:795 msgid "Yes." -msgstr "" +msgstr "Ναι." #: faq/library.rst:797 msgid "" @@ -1005,6 +1457,10 @@ msgid "" "`sqlite3` module, which provides a lightweight disk-based relational " "database." msgstr "" +"Διεπαφές σε κατακερματισμούς που βασίζονται σε δίσκο, όπως :mod:`DBM ` και :mod:`GDBM ` περιλαμβάνονται επίσης στην τυπική Python. " +"Υπάρχει επίσης το module :mod:`sqlite3`, το οποίο παρέχει μια ελαφριά " +"σχεσιακή βάση δεδομένων που βασίζεται στο δίσκο." #: faq/library.rst:802 msgid "" @@ -1012,10 +1468,13 @@ msgid "" "`DatabaseProgramming wiki page `_ for details." msgstr "" +"Υποστήριξη για τις περισσότερες σχεσιακές βάσεις δεδομένων είναι διαθέσιμη. " +"Δείτε τη σελίδα `DatabaseProgramming wiki page `_ για λεπτομέρειες." #: faq/library.rst:808 msgid "How do you implement persistent objects in Python?" -msgstr "" +msgstr "Πως υλοποιείτε persistent αντικείμενα στην Python;" #: faq/library.rst:810 msgid "" @@ -1024,63 +1483,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:817 msgid "Mathematics and Numerics" -msgstr "" +msgstr "Μαθηματικά και Αριθμητικά" #: faq/library.rst:820 msgid "How do I generate random numbers in Python?" -msgstr "" +msgstr "Πως μπορώ να δημιουργήσω τυχαίους αριθμούς στην Python;" #: faq/library.rst:822 msgid "" "The standard module :mod:`random` implements a random number generator. " "Usage is simple::" msgstr "" +"Η τυπική ενότητα :mod:`random` υλοποιεί μια γεννήτρια τυχαίων αριθμών. Η " +"χρήση είναι απλή::" #: faq/library.rst:825 msgid "" "import random\n" "random.random()" msgstr "" +"import random\n" +"random.random()" #: faq/library.rst:828 msgid "This returns a random floating-point number in the range [0, 1)." msgstr "" +"Αυτό επιστρέφει έναν τυχαίο αριθμό κινητής υποδιαστολής στο εύρος [0, 1)." #: faq/library.rst:830 msgid "" "There are also many other specialized generators in this module, such as:" msgstr "" +"Υπάρχουν επίσης πολλές άλλες εξειδικευμένες γεννήτριες σε αυτό το module, " +"όπως:" #: faq/library.rst:832 msgid "``randrange(a, b)`` chooses an integer in the range [a, b)." -msgstr "" +msgstr "Το ``randrange(a, b)`` επιλέγει έναν ακέραιο στο εύρος [a, b)." #: faq/library.rst:833 msgid "``uniform(a, b)`` chooses a floating-point number in the range [a, b)." msgstr "" +"Το ``uniform(a, b)`` επιλέγει έναν αριθμό κινητής υποδιαστολής στο εύρος [a, " +"b)." #: faq/library.rst:834 msgid "" "``normalvariate(mean, sdev)`` samples the normal (Gaussian) distribution." msgstr "" +"Το ``normalvariate(mean, sdev)`` λαμβάνει δείγματα της κανονικής (Gaussian) " +"κατανομής." #: faq/library.rst:836 msgid "Some higher-level functions operate on sequences directly, such as:" msgstr "" +"Ορισμένες συναρτήσεις υψηλότερου επιπέδου λειτουργούν απευθείας σε " +"ακολουθίες, όπως:" #: faq/library.rst:838 msgid "``choice(S)`` chooses a random element from a given sequence." msgstr "" +"To ``choice(S)`` επιλέγει ένα τυχαίο στοιχείο από μια δεδομένη ακολουθία." #: faq/library.rst:839 msgid "``shuffle(L)`` shuffles a list in-place, i.e. permutes it randomly." msgstr "" +"Το ``shuffle(L)`` ανακατεύει μια λίστα επιτόπου, δηλαδή τη μεταθέτει τυχαία." #: faq/library.rst:841 msgid "" "There's also a ``Random`` class you can instantiate to create independent " "multiple random number generators." msgstr "" +"Υπάρχει επίσης μια κλάση ``Random`` που μπορείτε να επιβεβαιώσετε για να " +"δημιουργήσετε ανεξάρτητες γεννήτριες πολλαπλών τυχαίων αριθμών." diff --git a/glossary.po b/glossary.po index 1d7b23ce..ec9d36e3 100644 --- a/glossary.po +++ b/glossary.po @@ -1460,7 +1460,7 @@ msgid "" msgstr "" "Τα περισσότερα από τα αμετάβλητα ενσωματωμένα αντικείμενα της Python μπορούν " "να κατακερματιστούν' τα μεταβλητά κοντέινερ (όπως οι λίστες ή τα λεξικά) δεν " -"είναι' τα αμετάβλητα κοντέινερ (όπως πλειάδες και τα frozesets) μπορούν να " +"είναι' τα αμετάβλητα κοντέινερ (όπως πλειάδες και τα frozensets) μπορούν να " "κατακερματιστούν μόνο εάν τα στοιχεία τους είναι κατακερματισμένα. Τα " "αντικείμενα που είναι στιγμιότυπα κλάσεων που ορίζονται από το χρήστη " "μπορούν να κατακερματιστούν από προεπιλογή. Όλα συγκρίνονται άνισα εκτός από " @@ -1836,11 +1836,11 @@ msgstr "" #: glossary.rst:736 msgid "lexical analyzer" -msgstr "" +msgstr "λεξικός αναλυτής" #: glossary.rst:739 msgid "Formal name for the *tokenizer*; see :term:`token`." -msgstr "" +msgstr "Επίσημη ονομασία για τον *tokenizer* · δείτε :term:`token`." #: glossary.rst:740 msgid "list" @@ -3033,7 +3033,7 @@ msgstr "" #: glossary.rst:1218 msgid "token" -msgstr "" +msgstr "token" #: glossary.rst:1221 msgid "" @@ -3041,12 +3041,18 @@ msgid "" "` (also called the *tokenizer*). Names, numbers, strings, " "operators, newlines and similar are represented by tokens." msgstr "" +"Μια μικρή μονάδα πηγαίου κώδικα, που παράγεται από τον :ref:`lexical " +"analyzer ` (ο οποίος αποκαλείται επίσης *tokenizer*). Ονόματα, " +"αριθμοί, συμβολοσειρές, τελεστές, αλλαγές γραμμής και παρόμοια στοιχεία " +"αναπαρίστανται ως tokens." #: glossary.rst:1226 msgid "" "The :mod:`tokenize` module exposes Python's lexical analyzer. The :mod:" "`token` module contains information on the various types of tokens." msgstr "" +"Το module :mod:`tokenize` εκθέτει τον λεξικό αναλυτή της Python. Το module :" +"mod:`token` περιέχει πληροφορίες για του διαφόρους τύπους tokens." #: glossary.rst:1229 msgid "triple-quoted string" diff --git a/howto/clinic.po b/howto/clinic.po index 889ccba1..b9fc8b51 100644 --- a/howto/clinic.po +++ b/howto/clinic.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.12\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 23:29+0300\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" +"POT-Creation-Date: 2025-02-17 21:03+0100\n" +"PO-Revision-Date: 2025-05-01 12:14+0300\n" +"Last-Translator: ALEXANDROS TZIORAS alextzioras23@gmail.com\n" +"Language-Team: Language-Team: PyGreece \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,10 +19,13 @@ msgstr "" #: howto/clinic.rst:8 msgid "Argument Clinic How-To" -msgstr "" +msgstr "Argument Clinic How-To" #: howto/clinic.rst:13 msgid "" "The Argument Clinic How-TO has been moved to the `Python Developer's Guide " "`__." msgstr "" +"Το How-TO για Argument Clinic έχει μεταφερθεί στον `Οδηγό για " +"προγραμματιστές Python `__." diff --git a/howto/cporting.po b/howto/cporting.po index ad14e136..58a2a4b0 100644 --- a/howto/cporting.po +++ b/howto/cporting.po @@ -9,9 +9,9 @@ msgstr "" "Project-Id-Version: Python 3.12\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-05-02 23:29+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-05-09 23:07+0300\n" +"Last-Translator: ALEXANDROS TZIORAS alextzioras23@gmail.com\n" +"Language-Team: PyGreece \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,13 +19,15 @@ msgstr "" #: howto/cporting.rst:7 msgid "Porting Extension Modules to Python 3" -msgstr "" +msgstr "Μεταφορά Extension Modules στην Python 3" #: howto/cporting.rst:9 msgid "" "We recommend the following resources for porting extension modules to Python " "3:" msgstr "" +"Προτείνουμε τις παρακάτω πηγές για τη μεταφορά extension modules στην Python " +"3:" #: howto/cporting.rst:11 msgid "" @@ -33,12 +35,17 @@ msgid "" "guide*, a book on moving from Python 2 to Python 3 in general, guides the " "reader through porting an extension module." msgstr "" +"Το κεφάλαιο `Migrating C extensions`_ από το *Supporting Python 3: An in-" +"depth guide*, ένα βιβλίο για τη μετάβαση από την Python 2 στην Python 3 " +"γενικά, καθοδηγεί τον αναγνώστη στη μεταφορά ενός extension module." #: howto/cporting.rst:15 msgid "" "The `Porting guide`_ from the *py3c* project provides opinionated " "suggestions with supporting code." msgstr "" +"Ο `Porting guide`_ από το έργο *py3c* παρέχει προτάσεις και υποστηρικτικό " +"κώδικα." #: howto/cporting.rst:17 msgid "" @@ -47,3 +54,7 @@ msgid "" "library then handles differences between various Python versions and " "implementations." msgstr "" +"Οι βιβλιοθήκες `Cython`_ και `CFFI`_ προσφέρουν αφαιρέσεις πάνω στην C API " +"της Python. Οι επεκτάσεις συνήθως πρέπει να ξαναγραφούν για να χρησιμοποιούν " +"μία από αυτές, αλλά στη συνέχεια η βιβλιοθήκη χειρίζεται τις διαφορές μεταξύ " +"εκδόσεων και υλοποιήσεων της Python." diff --git a/library/allos.po b/library/allos.po index 39d43ee4..2d0b4b74 100644 --- a/library/allos.po +++ b/library/allos.po @@ -9,9 +9,9 @@ msgstr "" "Project-Id-Version: Python 3.12\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-05-02 23:29+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-05-09 23:50+0300\n" +"Last-Translator: ALEXANDROS TZIORAS alextzioras23@gmail.com\n" +"Language-Team: PyGreece \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,7 +19,7 @@ msgstr "" #: library/allos.rst:5 msgid "Generic Operating System Services" -msgstr "" +msgstr "Γενικές Υπηρεσίες Λειτουργικού Συστήματος" #: library/allos.rst:7 msgid "" @@ -29,3 +29,8 @@ msgid "" "interfaces, but they are available on most other systems as well. Here's an " "overview:" msgstr "" +"Τα modules που περιγράφονται σε αυτό το κεφάλαιο παρέχουν διεπαφές για " +"λειτουργίες του λειτουργικού συστήματος που είναι διαθέσιμες σε (σχεδόν) όλα " +"τα λειτουργικά συστήματα, όπως τα αρχεία και το ρολόι. Οι διεπαφές είναι " +"γενικά βασισμένες στα πρότυπα των Unix ή C, αλλά είναι διαθέσιμες και στα " +"περισσότερα άλλα συστήματα. Ακολουθεί μια επισκόπηση:" diff --git a/library/archiving.po b/library/archiving.po index 807fc2ff..1a461fc5 100644 --- a/library/archiving.po +++ b/library/archiving.po @@ -9,9 +9,9 @@ msgstr "" "Project-Id-Version: Python 3.12\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-05-02 23:29+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-05-09 23:32+0300\n" +"Last-Translator: ALEXANDROS TZIORAS alextzioras23@gmail.com\n" +"Language-Team: PyGreece \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,7 +19,7 @@ msgstr "" #: library/archiving.rst:5 msgid "Data Compression and Archiving" -msgstr "" +msgstr "Συμπίεση Δεδομένων και Αρχειοθέτηση" #: library/archiving.rst:7 msgid "" @@ -28,3 +28,7 @@ msgid "" "format archives. See also :ref:`archiving-operations` provided by the :mod:" "`shutil` module." msgstr "" +"Τα modules που περιγράφονται σε αυτό το κεφάλαιο υποστηρίζουν την συμπίεση " +"δεδομένων με τους αλγόριθμους zlib, gzip, bzip2 και lzma, καθώς και τη " +"δημιουργία αρχείων σε μορφή ZIP- και tar-. Δείτε επίσης τις :ref:`archiving-" +"operations` που παρέχονται από το module :mod:`shutil`." diff --git a/library/python.po b/library/python.po index 780443ae..e840d51e 100644 --- a/library/python.po +++ b/library/python.po @@ -9,9 +9,9 @@ msgstr "" "Project-Id-Version: Python 3.12\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-05-02 23:29+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-05-09 18:01+0300\n" +"Last-Translator: ALEXANDROS TZIORAS alextzioras23@gmail.com\n" +"Language-Team: PyGreece \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,7 +19,7 @@ msgstr "" #: library/python.rst:5 msgid "Python Runtime Services" -msgstr "" +msgstr "Υπηρεσίες χρόνου εκτέλεσης Python" #: library/python.rst:7 msgid "" @@ -27,3 +27,6 @@ msgid "" "related to the Python interpreter and its interaction with its environment. " "Here's an overview:" msgstr "" +"Τα modules που περιγράφονται σε αυτό το κεφάλαιο παρέχουν ένα ευρύ φάσμα " +"υπηρεσιών που σχετίζονται με τον διερμηνέα της Python και την αλληλεπίδρασή " +"του με το περιβάλλον του. Ακολουθεί μια επισκόπηση:" diff --git a/library/xml.dom.po b/library/xml.dom.po index f3e50125..e0994af6 100644 --- a/library/xml.dom.po +++ b/library/xml.dom.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.12\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 23:29+0300\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" +"POT-Creation-Date: 2025-02-17 21:03+0100\n" +"PO-Revision-Date: 2025-04-09 19:17+0300\n" +"Last-Translator: Marios Giannopoulos \n" +"Language-Team: PyGreece \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,11 +19,11 @@ msgstr "" #: library/xml.dom.rst:2 msgid ":mod:`!xml.dom` --- The Document Object Model API" -msgstr "" +msgstr ":mod:`!xml.dom` --- Το API του Μοντέλου Αντικειμένων Εγγράφου (DOM)" #: library/xml.dom.rst:10 msgid "**Source code:** :source:`Lib/xml/dom/__init__.py`" -msgstr "" +msgstr "**Πηγαίος κώδικας:** :source:`Lib/xml/dom/__init__.py`" #: library/xml.dom.rst:14 msgid "" @@ -33,6 +33,12 @@ msgid "" "client code to build such a structure from scratch. It then gives access to " "the structure through a set of objects which provided well-known interfaces." msgstr "" +"Το Μοντέλο Αντικειμένων Εγγράφου, ή αλλιώς \"DOM,\" είναι ένα API πολλών " +"γλωσσών από το World Wide Web Consortium (W3C) για την πρόσβαση και την " +"τροποποίηση εγγράφων XML. Μια υλοποίηση DOM παρουσιάζει ένα έγγραφο XML ως " +"μια δενδρική δομή, ή επιτρέπει στον χρήστη να κατασκευάσει μια τέτοια δομή " +"από το μηδέν. Στη συνέχεια, παρέχει πρόσβαση στη δομή μέσω ενός συνόλου " +"αντικειμένων που προσφέρουν καθορισμένες διεπαφές." #: library/xml.dom.rst:20 msgid "" @@ -44,6 +50,14 @@ msgid "" "document somewhere in your own code. SAX does not do it for you. Also, if " "you need to look ahead in the XML document, you are just out of luck." msgstr "" +"Το DOM είναι εξαιρετικά χρήσιμο για εφαρμογές με τυχαία πρόσβαση. Το SAX σου " +"επιτρέπει μόνο, να βλέπεις μόνο ένα κομμάτι του εγγράφου κάθε φορά. Αν " +"εξετάζεις ένα στοιχείο SAX, δεν έχεις πρόσβαση σε κάποιο άλλο. Αν εξετάζεις " +"έναν κόμβο κειμένου, δεν έχεις πρόσβαση στο στοιχείο που τον περιέχει. Όταν " +"γράφεις μια εφαρμογή με χρήση του SAX, πρέπει να παρακολουθείς τη θέση του " +"προγράμματος σου μέσα στο έγγραφο στον δικό σου κώδικα - το SAX δεν το κάνει " +"αυτό για εσένα. Επίσης, αν χρειαστεί να κοιτάξεις μπροστά στο XML έγγραφο, " +"δεν έχεις αυτή τη δυνατότητα." #: library/xml.dom.rst:28 msgid "" @@ -52,6 +66,11 @@ msgid "" "SAX events, but the DOM allows you to avoid writing that code. The DOM is a " "standard tree representation for XML data." msgstr "" +"Ορισμένες εφαρμογές είναι απλώς αδύναμες σε ένα μοντέλο βασισμένο σε " +"γεγονότα χωρίς πρόσβαση σε δέντρο. Φυσικά, θα μπορούσες να κατασκευάσεις ένα " +"δέντρο μόνος σου μέσω των γεγονότων του SAX, αλλά το DOM σου επιτρέπει να " +"αποφύγεις την υλοποίηση αυτού του κώδικα. Το DOM είναι μια πρότυπη " +"αναπαράσταση δέντρου για δεδομένα XML." #: library/xml.dom.rst:33 msgid "" @@ -59,6 +78,10 @@ msgid "" "\"levels\" in their terminology. The Python mapping of the API is " "substantially based on the DOM Level 2 recommendation." msgstr "" +"Το Document Object Model ορίζεται από το W3C σε στάδια, ή \"επίπεδα\" " +"σύμφωνα με την ορολογία τους. Η αντιστοίχιση της διεπαφής προγραμματισμού " +"εφαρμογών (API) στην Python βασίζεται σε μεγάλο βαθμό στη σύσταση του DOM " +"Επιπέδου 2." #: library/xml.dom.rst:45 msgid "" @@ -73,6 +96,18 @@ msgid "" "Level 3 adds a Load/Store specification, which defines an interface to the " "reader, but this is not yet available in the Python standard library." msgstr "" +"Οι εφαρμογές DOM συνήθως ξεκινούν αναλύοντας κάποιο XML σε DOM. Το πως " +"επιτυγχάνεται αυτό δεν καλύπτεται καθόλου από το DOM Επίπεδο 1, ενώ το " +"Επίπεδο 2 παρέχει μόνο περιορισμένες βελτιώσεις: Υπάρχει μια κλάση " +"αντικειμένου :class:`DOMImplementation` που παρέχει πρόσβαση σε μεθόδους " +"δημιουργίας :class:`Document`, αλλά δεν υπάρχει τρόπος πρόσβασης σε " +"αναγνώστη XML/αναλυτή/κατασκευαστή εγγράφων με τρόπο ανεξάρτητο από την " +"υλοποίηση. Επίσης, δεν υπάρχει καλά ορισμένος τρόπος πρόσβασης σε αυτές τις " +"μεθόδους χωρίς ένα υπάρχον αντικείμενο :class:`Document`. Στην Python, κάθε " +"υλοποίηση DOM θα παρέχει μια συνάρτηση :func:`getDOMImplementation`. Το DOM " +"Επίπεδο 3 προσθέτει μια προδιαγραφή Load/Store, η οποία ορίζει μια διεπαφή " +"προς τον αναγνώστη, αλλά αυτή δεν είναι ακόμα διαθέσιμη στη στάνταρ " +"βιβλιοθήκη της Python." #: library/xml.dom.rst:56 msgid "" @@ -81,6 +116,10 @@ msgid "" "in the DOM specification; this portion of the reference manual describes the " "interpretation of the specification in Python." msgstr "" +"Αφού έχετε ένα αντικείμενο εγγράφου DOM, μπορείτε να αποκτήσετε πρόσβαση στα " +"τμήματα του XML εγγράφου σας μέσω των ιδιοτήτων και των μεθόδων του. Αυτές " +"οι ιδιότητες ορίζονται στις προδιαγραφές του DOM· αυτό το τμήμα του " +"εγχειριδίου αναφοράς περιγράφει την ερμηνεία των προδιαγραφών στην Python." #: library/xml.dom.rst:61 msgid "" @@ -91,44 +130,57 @@ msgid "" "IDL). See section :ref:`dom-conformance` for a detailed discussion of " "mapping requirements." msgstr "" +"Η προδιαγραφή που παρέχεται από το W3C ορίζει το API του DOM για τις γλώσσες " +"Java, ECMAScript και OMG IDL. Η παρούσα αντιστοίχιση στην Python βασίζεται " +"σε μεγάλο βαθμό στην έκδοση της προδιαγραφής με χρήση IDL, αλλά δεν " +"απαιτείται αυστηρή συμμόρφωση (αν και οι υλοποιήσεις είναι ελεύθερες να " +"υποστηρίζουν την αυστηρή αντιστοίχιση από IDL). Δείτε την ενότητα :ref:`dom-" +"conformance` για μια λεπτομερή συζήτηση των απαιτήσεων αντιστοίχισης." #: library/xml.dom.rst:70 msgid "" "`Document Object Model (DOM) Level 2 Specification `_" msgstr "" +"`Document Object Model (DOM) Level 2 Specification `_" #: library/xml.dom.rst:71 msgid "The W3C recommendation upon which the Python DOM API is based." -msgstr "" +msgstr "Η σύσταση του W3C πάνω στην οποία βασίζεται το DOM API της Python." #: library/xml.dom.rst:73 msgid "" "`Document Object Model (DOM) Level 1 Specification `_" msgstr "" +"`Document Object Model (DOM) Level 1 Specification `_" #: library/xml.dom.rst:74 msgid "The W3C recommendation for the DOM supported by :mod:`xml.dom.minidom`." msgstr "" +"Η σύσταση του W3C για το DOM που υποστηρίζεται από το :mod:`xml.dom.minidom`." #: library/xml.dom.rst:76 msgid "" "`Python Language Mapping Specification `_" msgstr "" +"`Python Language Mapping Specification `_" #: library/xml.dom.rst:77 msgid "This specifies the mapping from OMG IDL to Python." -msgstr "" +msgstr "Αυτό καθορίζει την αντιστοίχιση από το OMG IDL στην Python." #: library/xml.dom.rst:81 msgid "Module Contents" -msgstr "" +msgstr "Περιεχόμενα Module" #: library/xml.dom.rst:83 msgid "The :mod:`xml.dom` contains the following functions:" -msgstr "" +msgstr "Το :mod:`xml.dom` περιέχει τις παρακάτω συναρτήσεις:" #: library/xml.dom.rst:88 msgid "" @@ -138,6 +190,11 @@ msgid "" "new one for each call, as appropriate for the specific implementation (e.g. " "if that implementation supports some customization)." msgstr "" +"Καταχωρεί την συνάρτηση *factory* με το όνομα *name*. Η συνάρτηση factory θα " +"πρέπει να επιστρέφει ένα αντικείμενο που υλοποιεί το interface :class:" +"`DOMImplementation`. Η συνάρτηση factory μπορεί να επιστρέφει το ίδιο " +"αντικείμενο κάθε φορά ή ένα νέο αντικείμενο σε κάθε κλήση, ανάλογα με την " +"υλοποίηση (π.χ. αν η υλοποίηση υποστηρίζει κάποια παραμετροποίηση)." #: library/xml.dom.rst:97 msgid "" @@ -148,6 +205,12 @@ msgid "" "variable :envvar:`PYTHON_DOM` is set, this variable is used to find the " "implementation." msgstr "" +"Επιστρέφει μια κατάλληλη υλοποίηση DOM. Το *name* είναι είτε ένα γνωστό " +"όνομα, είτε το όνομα ενός module που υλοποιεί DOM, είτε ``None``. Αν δεν " +"είναι ``None``, το αντίστοιχο module γίνεται import και επιστρέφεται ένα " +"αντικείμενο :class:`DOMImplementation` αν το import πετύχει. Αν δεν δοθεί " +"όνομα και έχει οριστεί η μεταβλητή περιβάλλοντος :envvar:`PYTHON_DOM`, τότε " +"χρησιμοποιείται αυτή η μεταβλητή για την εύρεση της υλοποίησης." #: library/xml.dom.rst:103 msgid "" @@ -157,10 +220,16 @@ msgid "" "version)`` pairs which are passed to the :meth:`hasFeature` method on " "available :class:`DOMImplementation` objects." msgstr "" +"Αν δεν δοθεί το όνομα, τότε εξετάζονται οι διαθέσιμες υλοποιήσεις για να " +"βρεθεί μία που να υποστηρίζει το απαιτούμενο σύνολο χαρακτηριστικών. Αν δεν " +"βρεθεί κατάλληλη υλοποίηση, γίνεται raise :exc:`ImportError`. Η λίστα " +"χαρακτηριστικών πρέπει να είναι μία ακολουθία από ζεύγη ``(feature, " +"version)``, τα οποία περνιούνται στη μέθοδο :meth:`hasFeature` των " +"διαθέσιμων αντικειμένων :class:`DOMImplementation`." #: library/xml.dom.rst:109 msgid "Some convenience constants are also provided:" -msgstr "" +msgstr "Παρέχονται επίσης μερικές σταθερές ευκολίας:" #: library/xml.dom.rst:114 msgid "" @@ -168,12 +237,19 @@ msgid "" "the DOM. This is typically found as the :attr:`namespaceURI` of a node, or " "used as the *namespaceURI* parameter to a namespaces-specific method." msgstr "" +"Η τιμή που χρησιμοποιείται για να υποδείξει ότι δεν συνδέεται κάποιο " +"namespace με έναν κόμβο στο DOM. Συνήθως, αυτή η τιμή εμφανίζεται ως το :" +"attr:`namespaceURI` ενός κόμβου ή χρησιμοποιείται ως παράμετρος " +"*namespaceURI* σε μεθόδους που σχετίζονται με namespaces." #: library/xml.dom.rst:121 msgid "" "The namespace URI associated with the reserved prefix ``xml``, as defined by " "`Namespaces in XML `_ (section 4)." msgstr "" +"Το URI του namespace που σχετίζεται με το δεσμευμένο πρόθεμα ``xml``, όπως " +"ορίζεται από το έγγραφο `Namespaces in XML `_ (ενότητα 4)." #: library/xml.dom.rst:127 msgid "" @@ -181,12 +257,17 @@ msgid "" "Model (DOM) Level 2 Core Specification `_ (section 1.1.8)." msgstr "" +"Το URI του namespace για δηλώσεις namespaces, όπως ορίζεται από το `Document " +"Object Model (DOM) Level 2 Core Specification `_ (ενότητα 1.1.8)." #: library/xml.dom.rst:134 msgid "" "The URI of the XHTML namespace as defined by `XHTML 1.0: The Extensible " "HyperText Markup Language `_ (section 3.1.1)." msgstr "" +"Το URL του namespace XHTML όπως ορίζεται από το `XHTML 1.0: The Extensible " +"HyperText Markup Language `_ (ενότητα 3.1.1)." #: library/xml.dom.rst:138 msgid "" @@ -199,16 +280,25 @@ msgid "" "located within the class rather than at the module level to conform with the " "DOM specifications." msgstr "" +"Επιπλέον, το :mod:`xml.dom` περιέχει την βασική κλάση :class:`Node` και τις " +"εξαιρέσεις DOM. Η κλάση :class:`Node` που παρέχεται από αυτό το module δεν " +"υλοποιεί καμία από τις μεθόδους ή τα χαρακτηριστικά που ορίζονται από την " +"προδιαγραφή DOM. Οι συγκεκριμένες υλοποιήσεις DOM πρέπει να παρέχουν αυτά τα " +"χαρακτηριστικά. Η κλάση :class:`Node` που παρέχεται ως μέρος αυτού του " +"module παρέχει τις σταθερές που χρησιμοποιούνται για το χαρακτηριστικό :attr:" +"`nodeType` σε συγκεκριμένα αντικείμενα :class:`Node`· αυτές βρίσκονται μέσα " +"στην κλάση και όχι στο επίπεδο του module, προκειμένου να συμβαδίζουν με τις " +"προδιαγραφές DOM." #: library/xml.dom.rst:153 msgid "Objects in the DOM" -msgstr "" +msgstr "Αντικείμενα στο DOM" #: library/xml.dom.rst:155 msgid "" "The definitive documentation for the DOM is the DOM specification from the " "W3C." -msgstr "" +msgstr "Η οριστική τεκμηρίωση για το DOM είναι η προδιαγραφή DOM από το W3C." #: library/xml.dom.rst:157 msgid "" @@ -216,148 +306,155 @@ msgid "" "simple strings. It is fairly rare that you must do this, however, so this " "usage is not yet documented." msgstr "" +"Σημειώστε ότι τα χαρακτηριστικά του DOM μπορεί να χειρίζονται και ως κόμβοι " +"αντί για απλές συμβολοσειρές. Ωστόσο, είναι αρκετά σπάνιο να πρέπει να το " +"κάνετε αυτό, οπότε αυτή η χρήση δεν έχει τεκμηριωθεί ακόμα." #: library/xml.dom.rst:162 msgid "Interface" -msgstr "" +msgstr "Διεπαφή" #: library/xml.dom.rst:162 msgid "Section" -msgstr "" +msgstr "Ενότητα" #: library/xml.dom.rst:162 msgid "Purpose" -msgstr "" +msgstr "Σκοπός" #: library/xml.dom.rst:164 msgid ":class:`DOMImplementation`" -msgstr "" +msgstr ":class:`DOMImplementation`" #: library/xml.dom.rst:164 msgid ":ref:`dom-implementation-objects`" -msgstr "" +msgstr ":ref:`dom-implementation-objects`" #: library/xml.dom.rst:164 msgid "Interface to the underlying implementation." -msgstr "" +msgstr "Διεπαφή με την υποκείμενη υλοποίηση." #: library/xml.dom.rst:167 msgid ":class:`Node`" -msgstr "" +msgstr ":class:`Node`" #: library/xml.dom.rst:167 msgid ":ref:`dom-node-objects`" -msgstr "" +msgstr ":ref:`dom-node-objects`" #: library/xml.dom.rst:167 msgid "Base interface for most objects in a document." -msgstr "" +msgstr "Βασική διεπαφή για τα περισσότερα αντικείμενα σε ένα έγγραφο." #: library/xml.dom.rst:170 msgid ":class:`NodeList`" -msgstr "" +msgstr ":class:`NodeList`" #: library/xml.dom.rst:170 msgid ":ref:`dom-nodelist-objects`" -msgstr "" +msgstr ":ref:`dom-nodelist-objects`" #: library/xml.dom.rst:170 msgid "Interface for a sequence of nodes." -msgstr "" +msgstr "Διεπαφή για μια ακολουθία κόμβων." #: library/xml.dom.rst:173 msgid ":class:`DocumentType`" -msgstr "" +msgstr ":class:`DocumentType`" #: library/xml.dom.rst:173 msgid ":ref:`dom-documenttype-objects`" -msgstr "" +msgstr ":ref:`dom-documenttype-objects`" #: library/xml.dom.rst:173 msgid "Information about the declarations needed to process a document." msgstr "" +"Πληροφορίες για τις δηλώσεις που απαιτούνται για την επεξεργασία ενός " +"εγγράφου." #: library/xml.dom.rst:177 msgid ":class:`Document`" -msgstr "" +msgstr ":class:`Document`" #: library/xml.dom.rst:177 msgid ":ref:`dom-document-objects`" -msgstr "" +msgstr ":ref:`dom-document-objects`" #: library/xml.dom.rst:177 msgid "Object which represents an entire document." -msgstr "" +msgstr "Αντικείμενο που αναπαριστά ολόκληρο το έγγραφο." #: library/xml.dom.rst:180 msgid ":class:`Element`" -msgstr "" +msgstr ":class:`Element`" #: library/xml.dom.rst:180 msgid ":ref:`dom-element-objects`" -msgstr "" +msgstr ":ref:`dom-element-objects`" #: library/xml.dom.rst:180 msgid "Element nodes in the document hierarchy." -msgstr "" +msgstr "Κόμβοι στοιχείων στην ιεραρχία του εγγράφου." #: library/xml.dom.rst:183 msgid ":class:`Attr`" -msgstr "" +msgstr ":class:`Attr`" #: library/xml.dom.rst:183 msgid ":ref:`dom-attr-objects`" -msgstr "" +msgstr ":ref:`dom-attr-objects`" #: library/xml.dom.rst:183 msgid "Attribute value nodes on element nodes." -msgstr "" +msgstr "Κόμβοι τιμών χαρακτηριστικών στους κόμβους στοιχείων." #: library/xml.dom.rst:186 msgid ":class:`Comment`" -msgstr "" +msgstr ":class:`Comment`" #: library/xml.dom.rst:186 msgid ":ref:`dom-comment-objects`" -msgstr "" +msgstr ":ref:`dom-comment-objects`" #: library/xml.dom.rst:186 msgid "Representation of comments in the source document." -msgstr "" +msgstr "Αναπαράσταση σχολίων στο αρχικό έγγραφο." #: library/xml.dom.rst:189 msgid ":class:`Text`" -msgstr "" +msgstr ":class:`Text`" #: library/xml.dom.rst:189 msgid ":ref:`dom-text-objects`" -msgstr "" +msgstr ":ref:`dom-text-objects`" #: library/xml.dom.rst:189 msgid "Nodes containing textual content from the document." -msgstr "" +msgstr "Κόμβοι που περιέχουν το κειμενικό περιεχόμενο του εγγράφου." #: library/xml.dom.rst:192 msgid ":class:`ProcessingInstruction`" -msgstr "" +msgstr ":class:`ProcessingInstruction`" #: library/xml.dom.rst:192 msgid ":ref:`dom-pi-objects`" -msgstr "" +msgstr ":ref:`dom-pi-objects`" #: library/xml.dom.rst:192 msgid "Processing instruction representation." -msgstr "" +msgstr "Αναπαράσταση εντολής επεξεργασίας." #: library/xml.dom.rst:196 msgid "" "An additional section describes the exceptions defined for working with the " "DOM in Python." msgstr "" +"Μια επιπλέον ενότητα περιγράφει τις εξαιρέσεις που ορίζονται για την εργασία " +"με το DOM στην Python." #: library/xml.dom.rst:203 msgid "DOMImplementation Objects" -msgstr "" +msgstr "Αντικείμενα DOMImplementation" #: library/xml.dom.rst:205 msgid "" @@ -366,12 +463,19 @@ msgid "" "DOM Level 2 added the ability to create new :class:`Document` and :class:" "`DocumentType` objects using the :class:`DOMImplementation` as well." msgstr "" +"Η διεπαφή :class:`DOMImplementation` παρέχει έναν τρόπο για τις εφαρμογές να " +"προσδιορίζουν τη διαθεσιμότητα συγκεκριμένων δυνατοτήτων στο DOM που " +"χρησιμοποιούν. Το DOM Επιπέδου 2 πρόσθεσε τη δυνατότητα δημιουργίας νέων " +"αντικειμένων :class:`Document` και :class:`DocumentType` μέσω της :class:" +"`DOMImplementation`." #: library/xml.dom.rst:213 msgid "" "Return ``True`` if the feature identified by the pair of strings *feature* " "and *version* is implemented." msgstr "" +"Επιστρέφει ``True`` εάν εφαρμοστεί το χαρακτηριστικό που προσδιορίζεται από " +"το ζεύγος των συμβολοσειρών *feature* και *version* είναι υλοποιημένη." #: library/xml.dom.rst:219 msgid "" @@ -382,6 +486,13 @@ msgid "" "arguments can also be ``None`` in order to indicate that no :class:`Element` " "child is to be created." msgstr "" +"Επιστρέφει ένα νέο αντικείμενο :class:`Document` (η ρίζα του DOM), με ένα " +"παιδικό αντικείμενο :class:`Element` που έχει τα δοσμένα *namespaceUri* και " +"*qualifiedName*. Η παράμετρος *doctype* πρέπει να είναι ένα αντικείμενο :" +"class:`DocumentType` που έχει δημιουργηθεί με τη μέθοδο :meth:" +"`createDocumentType`, ή ``None``. Στο API του DOM για την Python, τα δύο " +"πρώτα ορίσματα μπορούν επίσης να είναι ``None`` ώστε να δηλώνουν ότι δεν θα " +"δημιουργηθεί παιδί :class:`Element`." #: library/xml.dom.rst:229 msgid "" @@ -389,15 +500,20 @@ msgid "" "*qualifiedName*, *publicId*, and *systemId* strings, representing the " "information contained in an XML document type declaration." msgstr "" +"Επιστρέφει ένα νέο αντικείμενο :class:`DocumentType` που περιλαμβάνει τις " +"δοσμένες συμβολοσειρές *qualifiedName*, *publicId* και *systemId*, οι οποίες " +"αντιπροσωπεύουν τις πληροφορίες που περιέχονται σε μια δήλωση τύπου εγγράφου " +"XML." #: library/xml.dom.rst:237 msgid "Node Objects" -msgstr "" +msgstr "Αντικείμενα κόμβων" #: library/xml.dom.rst:239 msgid "" "All of the components of an XML document are subclasses of :class:`Node`." msgstr "" +"Όλα τα συστατικά ενός εγγράφου XML είναι υποκλάσεις της κλάσης :class:`Node`." #: library/xml.dom.rst:244 msgid "" @@ -408,6 +524,12 @@ msgid "" "const:`DOCUMENT_NODE`, :const:`DOCUMENT_TYPE_NODE`, :const:`NOTATION_NODE`. " "This is a read-only attribute." msgstr "" +"Ένας ακέραιος που αντιπροσωπεύει τον τύπο του κόμβου. Συμβολικές σταθερές " +"για τους τύπους βρίσκονται στην κλάση :class:`Node`: :const:`ELEMENT_NODE`, :" +"const:`ATTRIBUTE_NODE`, :const:`TEXT_NODE`, :const:`CDATA_SECTION_NODE`, :" +"const:`ENTITY_NODE`, :const:`PROCESSING_INSTRUCTION_NODE`, :const:" +"`COMMENT_NODE`, :const:`DOCUMENT_NODE`, :const:`DOCUMENT_TYPE_NODE`, :const:" +"`NOTATION_NODE`. Αυτό είναι ένα χαρακτηριστικό μόνο για ανάγνωση." #: library/xml.dom.rst:254 msgid "" @@ -417,6 +539,12 @@ msgid "" "it will be the :class:`Document` object. For :class:`Attr` nodes, this is " "always ``None``. This is a read-only attribute." msgstr "" +"Ο γονέας του τρέχοντος κόμβου, ή ``None`` για τον κόμβο εγγράφου. Η τιμή " +"είναι πάντα ένα αντικείμενο της κλάσης :class:`Node` ή ``None``. Για " +"κόμβους :class:`Element`, αυτός θα είναι το γονικό στοιχείο, εκτός από το " +"ριζικό στοιχείο, οπότε σε αυτή την περίπτωση θα είναι το αντικείμενο :class:" +"`Document`. Για κόμβους :class:`Attr`, αυτό είναι πάντα ``None``. Αυτό είναι " +"ένα χαρακτηριστικό μόνο για ανάγνωση." #: library/xml.dom.rst:263 msgid "" @@ -424,6 +552,10 @@ msgid "" "values for this; others provide ``None`` for this attribute. This is a read-" "only attribute." msgstr "" +"Ένα :class:`NamedNodeMap` που περιέχει αντικείμενα χαρακτηριστικών. Μόνο τα " +"στοιχεία έχουν πραγματικές τιμές για αυτό το χαρακτηριστικό· οι υπόλοιποι " +"τύποι κόμβων επιστρέφουν ``None``. Αυτό είναι ένα χαρακτηριστικό για " +"ανάγνωση μόνο." #: library/xml.dom.rst:270 msgid "" @@ -434,6 +566,13 @@ msgid "" "else. If this node is the first child of the parent, this attribute will be " "``None``. This is a read-only attribute." msgstr "" +"Ο κόμβος που προηγείται αμέσως αυτού με τον ίδιο γονέα. Για παράδειγμα, το " +"στοιχείο του οποίου η ετικέτα κλεισίματος προηγείται ακριβώς της ετικέτας " +"έναρξης του *self* στοιχείου. Φυσικά, τα έγγραφα XML αποτελούνται και από " +"άλλα στοιχεία εκτός από tags, οπότε ο προηγούμενος αδελφικός κόμβος μπορεί " +"να είναι κείμενο, σχόλιο ή κάτι άλλο. Αν αυτός ο κόμβος είναι το πρώτο παιδί " +"του γονέα, αυτό το χαρακτηριστικό θα είναι ``None``. Αυτό είναι ένα " +"χαρακτηριστικό μόνο για ανάγνωση." #: library/xml.dom.rst:280 msgid "" @@ -441,41 +580,59 @@ msgid "" "attr:`previousSibling`. If this is the last child of the parent, this " "attribute will be ``None``. This is a read-only attribute." msgstr "" +"Ο κόμβος που ακολουθεί αμέσως αυτόν με τον ίδιο γονέα. Δείτε επίσης :attr:" +"`previousSibling`. Αν αυτός είναι το τελευταίο παιδί του γονέα, αυτό το " +"χαρακτηριστικό θα είναι ``None``. Αυτό είναι ένα χαρακτηριστικό μόνο για " +"ανάγνωση." #: library/xml.dom.rst:287 msgid "" "A list of nodes contained within this node. This is a read-only attribute." msgstr "" +"Μια λίστα από κόμβους που περιέχονται σε αυτόν τον κόμβο. Αυτό είναι ένα " +"χαρακτηριστικό μόνο για ανάγνωση." #: library/xml.dom.rst:292 msgid "" "The first child of the node, if there are any, or ``None``. This is a read-" "only attribute." msgstr "" +"Το πρώτο παιδί του κόμβου, αν υπάρχει, διαφορετικά ``None``. Αυτό είναι ένα " +"χαρακτηριστικό μόνο για ανάγνωση." #: library/xml.dom.rst:298 msgid "" "The last child of the node, if there are any, or ``None``. This is a read-" "only attribute." msgstr "" +"Το τελευταίο παιδί του κόμβου, αν υπάρχει, διαφορετικά ``None``. Αυτό είναι " +"ένα χαρακτηριστικό μόνο για ανάγνωση." #: library/xml.dom.rst:304 msgid "" "The part of the :attr:`tagName` following the colon if there is one, else " "the entire :attr:`tagName`. The value is a string." msgstr "" +"Το τμήμα του :attr:`tagName` που ακολουθεί μετά την άνω κάτω τελεία, αν " +"υπάρχει, αλλιώς ολόκληρο το :attr:`tagName`. Η τιμή είναι μια συμβολοσειρά." #: library/xml.dom.rst:310 msgid "" "The part of the :attr:`tagName` preceding the colon if there is one, else " "the empty string. The value is a string, or ``None``." msgstr "" +"Το τμήμα του :attr:`tagName` που προηγείται της άνω κάτω τελείας, αν " +"υπάρχει, αλλιώς η κενή συμβολοσειρά. Η τιμή είναι μια συμβολοσειρά, ή " +"``None``." #: library/xml.dom.rst:316 msgid "" "The namespace associated with the element name. This will be a string or " "``None``. This is a read-only attribute." msgstr "" +"Ο χώρος ονομάτων που σχετίζεται με το όνομα του στοιχείου. Αυτή η τιμή θα " +"είναι μια συμβολοσειρά ή ``None``. Αυτό είναι ένα χαρακτηριστικό μόνο για " +"ανάγνωση." #: library/xml.dom.rst:322 msgid "" @@ -486,6 +643,12 @@ msgid "" "attribute will be either a string or ``None``. This is a read-only " "attribute." msgstr "" +"Αυτό έχει διαφορετική σημασία ανάλογα με τον τύπο του κόμβου· δείτε τις " +"προδιαγραφές του DOM για λεπτομέρειες. Μπορείτε πάντοτε να λάβετε τις ίδιες " +"πληροφορίες μέσω άλλων ιδιοτήτων όπως το :attr:`tagName` για στοιχεία ή το :" +"attr:`name` για ιδιότητες. Για όλους τους τύπους κόμβων, η τιμή αυτού του " +"χαρακτηριστικού θα είναι είτε συμβολοσειρά είτε ``None``. Αυτό είναι ένα " +"χαρακτηριστικό μόνο για ανάγνωση." #: library/xml.dom.rst:331 msgid "" @@ -493,14 +656,17 @@ msgid "" "for details. The situation is similar to that with :attr:`nodeName`. The " "value is a string or ``None``." msgstr "" +"Αυτή η ιδιότητα έχει διαφορετική σημασία ανάλογα με τον τύπο του κόμβου· " +"δείτε τις προδιαγραφές του DOM για λεπτομέρειες. Η περίπτωση είναι παρόμοια " +"με αυτή της :attr:`nodeName`. Η τιμή είναι συμβολοσειρά ή ``None``." #: library/xml.dom.rst:338 msgid "Return ``True`` if the node has any attributes." -msgstr "" +msgstr "Επιστρέφει ``True`` αν ο κόμβος έχει οποιαδήποτε ιδιότητα." #: library/xml.dom.rst:343 msgid "Return ``True`` if the node has any child nodes." -msgstr "" +msgstr "Επιστρέφει ``True`` αν ο κόμβος έχει οποιονδήποτε παιδικό κόμβο." #: library/xml.dom.rst:348 msgid "" @@ -508,6 +674,10 @@ msgid "" "especially useful for DOM implementations which use any sort of proxy " "architecture (because more than one object can refer to the same node)." msgstr "" +"Επιστρέφει ``True`` αν το *other* αναφέρεται στον ίδιο κόμβο με αυτόν τον " +"κόμβο. Αυτό είναι ιδιαίτερα χρήσιμο για υλοποιήσεις DOM που χρησιμοποιούν " +"αρχιτεκτονική proxy (καθώς περισσότερα από ένα αντικείμενα μπορούν να " +"αναφέρονται στον ίδιο κόμβο)." #: library/xml.dom.rst:354 msgid "" @@ -516,6 +686,11 @@ msgid "" "Changes from the W3C will not necessarily affect this method in the Python " "DOM interface (though any new W3C API for this would also be supported)." msgstr "" +"Αυτό βασίζεται σε μια προτεινόμενη διεπαφή του DOM Επιπέδου 3 που βρίσκεται " +"ακόμη στο στάδιο του \"προσωρινού σχεδίου\", αλλά αυτή η συγκεκριμένη " +"διεπαφή φαίνεται να είναι ανεπίμαχη. Οι αλλαγές από το W3C δεν θα επηρεάσουν " +"απαραίτητα αυτή την μέθοδο στην διεπαφή DOM της Python (αν και οποιοδήποτε " +"νέο API του W3C για αυτό θα υποστηρίζεται επίσης)." #: library/xml.dom.rst:362 msgid "" @@ -523,6 +698,9 @@ msgid "" "returning *newChild*. If the node was already in the tree, it is removed " "first." msgstr "" +"Προσθέτει έναν νέο παιδικό κόμβο σε αυτόν τον κόμβο στο τέλος της λίστας των " +"παιδιών, επιστρέφοντας το *newChild*. Αν ο κόμβος υπήρχε ήδη στο δέντρο, " +"αφαιρείται πρώτα." #: library/xml.dom.rst:369 msgid "" @@ -531,6 +709,11 @@ msgid "" "*newChild* is returned. If *refChild* is ``None``, it inserts *newChild* at " "the end of the children's list." msgstr "" +"Εισάγει έναν νέο παιδικό κόμβο πριν από έναν υπάρχοντα παιδικό κόμβο. Το " +"*refChild* πρέπει να είναι παιδί αυτού του κόμβου· διαφορετικά, γίνεται " +"raise μια εξαίρεση :exc:`ValueError`. Επιστρέφεται το *newChild*. Αν το " +"*refChild* είναι ``None``, το *newChild* εισάγεται στο τέλος της λίστας των " +"παιδιών." #: library/xml.dom.rst:377 msgid "" @@ -538,12 +721,20 @@ msgid "" "`ValueError` is raised. *oldChild* is returned on success. If *oldChild* " "will not be used further, its :meth:`unlink` method should be called." msgstr "" +"Αφαιρεί έναν παιδικό κόμβο. Το *oldChild* πρέπει να είναι παιδί αυτού του " +"κόμβου· διαφορετικά, γίνεται raise μια εξαίρεση :exc:`ValueError`. " +"Επιστρέφεται το *oldChild* σε περίπτωση επιτυχίας. Αν το *oldChild* δεν " +"πρόκειται να χρησιμοποιηθεί ξανά, θα πρέπει να κληθεί η μέθοδος :meth:" +"`unlink`." #: library/xml.dom.rst:384 msgid "" "Replace an existing node with a new node. It must be the case that " "*oldChild* is a child of this node; if not, :exc:`ValueError` is raised." msgstr "" +"Αντικαθιστά έναν υπάρχοντα κόμβο με νέο κόμβο. Το *oldChild* πρέπει να είναι " +"παιδί αυτού του κόμβου· διαφορετικά, γίνεται raise μια εξαίρεση :exc:" +"`ValueError`." #: library/xml.dom.rst:390 msgid "" @@ -551,16 +742,21 @@ msgid "" "class:`Text` instances. This simplifies processing text from a DOM tree for " "many applications." msgstr "" +"Συγκεντρώνει γειτονικούς κόμβους κειμένου έτσι ώστε όλα τα τμήματα κειμένου " +"να αποθηκεύονται ως μεμονωμένα αντικείμενα :class:`Text`. Αυτό απλοποιεί την " +"επεξεργασία του κειμένου από ένα DOM δέντρο για πολλές εφαρμογές." #: library/xml.dom.rst:397 msgid "" "Clone this node. Setting *deep* means to clone all child nodes as well. " "This returns the clone." msgstr "" +"Κλωνοποιεί αυτόν τον κόμβο. Η ρύθμιση του *deep* σημαίνει την κλωνοποίηση " +"όλων των παιδικών κόμβων επίσης. Αυτό επιστρέφει τον κλώνο." #: library/xml.dom.rst:404 msgid "NodeList Objects" -msgstr "" +msgstr "Αντικείμενα NodeList" #: library/xml.dom.rst:406 msgid "" @@ -570,12 +766,20 @@ msgid "" "`getElementsByTagName` and :meth:`getElementsByTagNameNS` methods of :class:" "`Node` return objects with this interface to represent query results." msgstr "" +"Μια :class:`NodeList` αντιπροσωπεύει μια ακολουθία κόμβων. Αυτά τα " +"αντικείμενα χρησιμοποιούνται με δύο τρόπους στην σύσταση του DOM Core: ένα " +"αντικείμενο :class:`Element` παρέχει μια ως τη λίστα των παιδικών κόμβων " +"του, και οι μέθοδοι :meth:`getElementsByTagName` και :meth:" +"`getElementsByTagNameNS` του :class:`Node` επιστρέφουν αντικείμενα με αυτή " +"τη διεπαφή για να αντιπροσωπεύσουν τα αποτελέσματα ενός ερωτήματος." #: library/xml.dom.rst:412 msgid "" "The DOM Level 2 recommendation defines one method and one attribute for " "these objects:" msgstr "" +"Η σύσταση DOM Επιπέδου 2 ορίζει μια μέθοδο και ένα χαρακτηριστικό για αυτά " +"τα αντικείμενα:" #: library/xml.dom.rst:418 msgid "" @@ -583,10 +787,13 @@ msgid "" "index *i* is not allowed to be less than zero or greater than or equal to " "the length of the sequence." msgstr "" +"Επιστρέφει το *i*-οστό στοιχείο από τη σειρά, αν υπάρχει, ή ``None``. O " +"δείκτης *i* δεν επιτρέπεται να είναι μικρότερος από το μηδέν ή ίσος με το " +"μήκος της σειράς." #: library/xml.dom.rst:425 msgid "The number of nodes in the sequence." -msgstr "" +msgstr "Ο αριθμός των κόμβων στη σειρά." #: library/xml.dom.rst:427 msgid "" @@ -597,6 +804,13 @@ msgid "" "iteration over the :class:`NodeList` in :keyword:`for` statements and proper " "support for the :func:`len` built-in function." msgstr "" +"Επιπλέον, η διεπαφή Python DOM απαιτεί να παρέχεται κάποια επιπλέον " +"υποστήριξη για να επιτρέπεται η χρήση των αντικειμένων :class:`NodeList` ως " +"ακολουθίες Python. Όλες οι υλοποιήσεις :class:`NodeList` πρέπει να " +"περιλαμβάνουν υποστήριξη για τις μεθόδους :meth:`~object.__len__` και :meth:" +"`~object.__getitem__``· αυτό επιτρέπει την επανάληψη μέσω του :class:" +"`NodeList` σε δηλώσεις :keyword:`for` και την κατάλληλη υποστήριξη για τη " +"συνάρτηση :func:`len`." #: library/xml.dom.rst:435 msgid "" @@ -604,10 +818,13 @@ msgid "" "`NodeList` implementation must also support the :meth:`~object.__setitem__` " "and :meth:`~object.__delitem__` methods." msgstr "" +"Αν μια υλοποίηση του DOM υποστηρίζει την τροποποίηση του εγγράφου, η " +"υλοποίηση της :class:`NodeList` πρέπει επίσης να υποστηρίζει τις μεθόδους :" +"meth:`~object.__setitem__` και :meth:`~object.__delitem__`." #: library/xml.dom.rst:443 msgid "DocumentType Objects" -msgstr "" +msgstr "Αντικείμενα DocumentType" #: library/xml.dom.rst:445 msgid "" @@ -619,24 +836,38 @@ msgid "" "for the document, the document's :attr:`doctype` attribute will be set to " "``None`` instead of an instance of this interface." msgstr "" +"Πληροφορίες σχετικά με τις σημειώσεις και τις οντότητες που δηλώνονται από " +"ένα έγγραφο (συμπεριλαμβανομένου του εξωτερικού υποσυνόλου, εφόσον ο " +"αναλυτής το χρησιμοποιεί και μπορεί να παρέχει τις πληροφορίες) είναι " +"διαθέσιμες μέσω ενός αντικειμένου :class:`DocumentType`. Το :class:" +"`DocumentType` ενός εγγράφου είναι προσβάσιμο από το χαρακτηριστικό :attr:" +"`doctype` του αντικειμένου :class:`Document`. Αν δεν υπάρχει δήλωση " +"``DOCTYPE`` στο έγγραφο, το χαρακτηριστικό :attr:`doctype` του εγγράφου θα " +"έχει τιμή ``None`` αντί για ένα στιγμιότυπο αυτής της διεπαφής." #: library/xml.dom.rst:453 msgid "" ":class:`DocumentType` is a specialization of :class:`Node`, and adds the " "following attributes:" msgstr "" +"Η κλάση :class:`DocumentType` είναι μια εξειδίκευση της κλάσης :class:`Node` " +"και προσθέτει τις παρακάτω ιδιότητες:" #: library/xml.dom.rst:459 msgid "" "The public identifier for the external subset of the document type " "definition. This will be a string or ``None``." msgstr "" +"Ο δημόσιος αναγνωριστικός χαρακτήρας για το εξωτερικό υποσύνολο του ορισμού " +"τύπου εγγράφου. Θα είναι μια συμβολοσειρά ή ``None``." #: library/xml.dom.rst:465 msgid "" "The system identifier for the external subset of the document type " "definition. This will be a URI as a string, or ``None``." msgstr "" +"Ο αναγνωριστικός χαρακτήρας συστήματος για το εξωτερικό υποσύνολο του " +"ορισμού τύπου εγγράφου. Θα είναι ένα URI ως συμβολοσειρά ή ``None``." #: library/xml.dom.rst:471 msgid "" @@ -644,12 +875,16 @@ msgid "" "not include the brackets which enclose the subset. If the document has no " "internal subset, this should be ``None``." msgstr "" +"Μια συμβολοσειρά που παρέχει το πλήρες εσωτερικό υποσύνολο από το έγγραφο. " +"Δεν περιλαμβάνει τις αγκύλες που περικλείουν το υποσύνολο. Αν το έγγραφο δεν " +"έχει εσωτερικό υποσύνολο, αυτή η τιμή πρέπει να είναι ``None``." #: library/xml.dom.rst:478 msgid "" "The name of the root element as given in the ``DOCTYPE`` declaration, if " "present." msgstr "" +"Το όνομα του ριζικού αρχείου όπως δίνεται στη δήλωση ``DOCTYPE``, αν υπάρχει." #: library/xml.dom.rst:484 msgid "" @@ -659,6 +894,11 @@ msgid "" "may be ``None`` if the information is not provided by the parser, or if no " "entities are defined." msgstr "" +"Αυτό είναι ένα αντικείμενο :class:`NamedNodeMap` που περιέχει τους ορισμούς " +"των εξωτερικών οντοτήτων. Για ονόματα οντοτήτων που ορίζονται περισσότερες " +"από μία φορές, παρέχεται μόνο ο πρώτος ορισμός (οι υπόλοιποι αγνοούνται, " +"όπως απαιτείται από τη σύσταση XML). Αυτό μπορεί να είναι ``None`` αν οι " +"πληροφορίες δεν παρέχονται από τον αναλυτή ή αν δεν έχουν οριστεί οντότητες." #: library/xml.dom.rst:493 msgid "" @@ -668,10 +908,15 @@ msgid "" "``None`` if the information is not provided by the parser, or if no " "notations are defined." msgstr "" +"Αυτό είναι ένα αντικείμενο :class:`NamedNodeMap` που περιέχει τους ορισμούς " +"των σημειώσεων. Για ονόματα σημειώσεων που ορίζονται περισσότερες από μια " +"φορές, παρέχεται μόνο ο πρώτος ορισμός (οι υπόλοιποι αγνοούνται, όπως " +"απαιτείται από τη σύσταση XML). Αυτό μπορεί να είναι ``None`` αν οι " +"πληροφορίες δεν παρέχονται από τον αναλυτή ή αν δεν έχουν οριστεί σημειώσεις." #: library/xml.dom.rst:503 msgid "Document Objects" -msgstr "" +msgstr "Αντικείμενα Document" #: library/xml.dom.rst:505 msgid "" @@ -679,10 +924,14 @@ msgid "" "constituent elements, attributes, processing instructions, comments etc. " "Remember that it inherits properties from :class:`Node`." msgstr "" +"Μια :class:`Document` αντιπροσωπεύει ένα ολόκληρο XML έγγραφο, " +"συμπεριλαμβανομένων των συστατικών του στοιχείων, των χαρακτηριστικών, των " +"οδηγιών επεξεργασίας, των σχολίων κ.λπ. Να θυμάστε ότι κληρονομεί ιδιότητες " +"από την :class:`Node`." #: library/xml.dom.rst:512 msgid "The one and only root element of the document." -msgstr "" +msgstr "Το μοναδικό στοιχείο ρίζας του εγγράφου." #: library/xml.dom.rst:517 msgid "" @@ -690,6 +939,9 @@ msgid "" "document when it is created. You need to explicitly insert it with one of " "the other methods such as :meth:`insertBefore` or :meth:`appendChild`." msgstr "" +"Δημιουργεί και επιστρέφει ένα νέο κόμβο στοιχείου. Το στοιχείο δεν εισάγεται " +"στο έγγραφο όταν δημιουργείται. Πρέπει να το εισάγετε ρητά με μία από τις " +"άλλες μεθόδους όπως :meth:`insertBefore` ή :meth:`appendChild`." #: library/xml.dom.rst:524 msgid "" @@ -698,6 +950,10 @@ msgid "" "You need to explicitly insert it with one of the other methods such as :meth:" "`insertBefore` or :meth:`appendChild`." msgstr "" +"Δημιουργεί και επιστρέφει ένα νέο στοιχείο με έναν χώρο ονομάτων. Το " +"*tagName* μπορεί να έχει πρόθεμα. Το στοιχείο δεν εισάγεται στο έγγραφο όταν " +"δημιουργείται. Πρέπει να το εισάγετε ρητά με μια από τις άλλες μεθόδους " +"όπως :meth:`insertBefore` ή :meth:`appendChild`." #: library/xml.dom.rst:532 msgid "" @@ -705,6 +961,9 @@ msgid "" "with the other creation methods, this one does not insert the node into the " "tree." msgstr "" +"Δημιουργεί και επιστρέφει έναν κόμβο κειμένου που περιέχει τα δεδομένα που " +"περνιούνται ως παράμετρος. Όπως και με τις άλλες μεθόδους δημιουργίας, αυτή " +"η μέθοδος δεν εισάγει τον κόμβο στο δέντρο." #: library/xml.dom.rst:539 msgid "" @@ -712,6 +971,9 @@ msgid "" "As with the other creation methods, this one does not insert the node into " "the tree." msgstr "" +"Δημιουργεί και επιστρέφει έναν κόμβο σχολίου που περιέχει τα δεδομένα που " +"περνιούνται ως παράμετρος. Όπως και με τις άλλες μεθόδους δημιουργίας, αυτή " +"η μέθοδος δεν εισάγει τον κόμβο στο δέντρο." #: library/xml.dom.rst:546 msgid "" @@ -719,6 +981,9 @@ msgid "" "*data* passed as parameters. As with the other creation methods, this one " "does not insert the node into the tree." msgstr "" +"Δημιουργεί και επιστρέφει έναν κόμβο οδηγίας επεξεργασίας που περιέχει το " +"*target* και τα *data* που περνιούνται ως παράμετροι. Όπως και με τις άλλες " +"μεθόδους δημιουργίας, αυτή η μέθοδος δεν εισάγει τον κόμβο στο δέντρο." #: library/xml.dom.rst:553 msgid "" @@ -727,6 +992,11 @@ msgid "" "`setAttributeNode` on the appropriate :class:`Element` object to use the " "newly created attribute instance." msgstr "" +"Δημιουργεί και επιστρέφει έναν κόμβο χαρακτηριστικού. Αυτή η μέθοδος δεν " +"συνδέει τον κόμβο χαρακτηριστικού με κάποιο συγκεκριμένο στοιχείο. Πρέπει να " +"χρησιμοποιήσετε τη μέθοδο :meth:`setAttributeNode` στο κατάλληλο " +"αντικείμενο :class:`Element` για να χρησιμοποιήσετε το νέο δημιουργημένο " +"χαρακτηριστικό." #: library/xml.dom.rst:561 msgid "" @@ -736,12 +1006,19 @@ msgid "" "appropriate :class:`Element` object to use the newly created attribute " "instance." msgstr "" +"Δημιουργεί και επιστρέφει έναν κόμβο χαρακτηριστικού με ένα namespace. Το " +"*tagName* μπορεί να έχει πρόθεμα. Αυτή η μέθοδος δεν συνδέει τον κόμβο " +"χαρακτηριστικού με κάποιο συγκεκριμένο στοιχείο. Πρέπει να χρησιμοποιήσετε " +"τη μέθοδο :meth:`setAttributeNode` στο κατάλληλο αντικείμενο :class:" +"`Element` για να χρησιμοποιήσετε το νέο δημιουργημένο χαρακτηριστικό." #: library/xml.dom.rst:569 msgid "" "Search for all descendants (direct children, children's children, etc.) with " "a particular element type name." msgstr "" +"Αναζητήστε όλους τους απογόνους (άμεσα παιδιά, παιδιά των παιδιών κ.λπ.) με " +"ένα συγκεκριμένο όνομα τύπου στοιχείου." #: library/xml.dom.rst:575 msgid "" @@ -749,36 +1026,46 @@ msgid "" "a particular namespace URI and localname. The localname is the part of the " "namespace after the prefix." msgstr "" +"Αναζητήστε όλους τους απογόνους (άμεσα παιδιά, παιδιά των παιδιών κ.λπ.) με " +"ένα συγκεκριμένο URI ονόματος χώρου ονομάτων και τοπικό όνομα. Το τοπικό " +"όνομα είναι το μέρος του ονόματος χώρου μετά το πρόθεμα." #: library/xml.dom.rst:583 msgid "Element Objects" -msgstr "" +msgstr "Αντικείμενα Element" #: library/xml.dom.rst:585 msgid "" ":class:`Element` is a subclass of :class:`Node`, so inherits all the " "attributes of that class." msgstr "" +"Η :class:`Element` είναι υποκλάση της :class:`Node`, επομένως κληρονομεί όλα " +"τα χαρακτηριστικά αυτής της κλάσης." #: library/xml.dom.rst:591 msgid "" "The element type name. In a namespace-using document it may have colons in " "it. The value is a string." msgstr "" +"Το όνομα του τύπου του στοιχείου. Σε έγγραφα που χρησιμοποιούν namespace " +"μπορεί να περιέχει άνω κάτω τελείες. Η τιμή είναι μια συμβολοσειρά." #: library/xml.dom.rst:602 msgid "Same as equivalent method in the :class:`Document` class." -msgstr "" +msgstr "Ίδιο με την αντίστοιχη μέθοδο στην κλάση :class:`Document`." #: library/xml.dom.rst:607 msgid "Return ``True`` if the element has an attribute named by *name*." msgstr "" +"Επιστρέφει ``True`` αν το στοιχείο έχει ένα χαρακτηριστικό με όνομα *name*." #: library/xml.dom.rst:612 msgid "" "Return ``True`` if the element has an attribute named by *namespaceURI* and " "*localName*." msgstr "" +"Επιστρέφει ``True`` αν το στοιχείο έχει ένα χαρακτηριστικό με όνομα που " +"προσδιορίζεται από το *namespaceURI* και το *localName*." #: library/xml.dom.rst:618 msgid "" @@ -786,10 +1073,14 @@ msgid "" "attribute exists, an empty string is returned, as if the attribute had no " "value." msgstr "" +"Επιστρέφει την τιμή του χαρακτηριστικού με όνομα *name* ως συμβολοσειρά. Αν " +"δεν υπάρχει τέτοια ιδιότητα, επιστρέφεται η κενή συμβολοσειρά, σαν το " +"χαρακτηριστικό να μην είχε τιμή." #: library/xml.dom.rst:624 msgid "Return the :class:`Attr` node for the attribute named by *attrname*." msgstr "" +"Επιστρέφει τον κόμβο :class:`Attr` για το χαρακτηριστικό με όνομα *attrname*." #: library/xml.dom.rst:629 msgid "" @@ -797,33 +1088,47 @@ msgid "" "a string. If no such attribute exists, an empty string is returned, as if " "the attribute had no value." msgstr "" +"Επιστρέφει την τιμή του χαρακτηριστικού που ορίζεται από το *namespaceURI* " +"και το *localName* ως συμβολοσειρά. Αν δεν υπάρχει τέτοιο χαρακτηριστικό, " +"επιστρέφεται μια κενή συμβολοσειρά, σαν το χαρακτηριστικό να μην είχε καμία " +"τιμή." #: library/xml.dom.rst:636 msgid "" "Return an attribute value as a node, given a *namespaceURI* and *localName*." msgstr "" +"Επιστρέφει την τιμή του χαρακτηριστικού ως κόμβο, δίνοντας ένα " +"*namespaceURI* και ένα *localName*." #: library/xml.dom.rst:641 msgid "" "Remove an attribute by name. If there is no matching attribute, a :exc:" "`NotFoundErr` is raised." msgstr "" +"Αφαιρεί ένα χαρακτηριστικό με βάση το όνομα του. Αν δεν υπάρχει αντίστοιχη " +"ιδιότητα, γίνεται raise μια εξαίρεση :exc:`NotFoundErr`." #: library/xml.dom.rst:647 msgid "" "Remove and return *oldAttr* from the attribute list, if present. If " "*oldAttr* is not present, :exc:`NotFoundErr` is raised." msgstr "" +"Αφαιρεί και επιστρέφει το *oldAttr* από την λίστα των χαρακτηριστικών, εάν " +"υπάρχει. Αν το *oldAttr* δεν υπάρχει, γίνεται raise μια εξαίρεση :exc:" +"`NotFoundErr`." #: library/xml.dom.rst:653 msgid "" "Remove an attribute by name. Note that it uses a localName, not a qname. " "No exception is raised if there is no matching attribute." msgstr "" +"Αφαιρεί ένα χαρακτηριστικό με το όνομα. Σημειώστε ότι χρησιμοποιεί το " +"localName, όχι το qname. Δεν γίνεται raise μια εξαίρεση αν δεν υπάρχει το " +"αντίστοιχο χαρακτηριστικό." #: library/xml.dom.rst:659 msgid "Set an attribute value from a string." -msgstr "" +msgstr "Ορίζει μια τιμή χαρακτηριστικού από μια συμβολοσειρά." #: library/xml.dom.rst:664 msgid "" @@ -832,6 +1137,11 @@ msgid "" "the old attribute node will be returned. If *newAttr* is already in use, :" "exc:`InuseAttributeErr` will be raised." msgstr "" +"Προσθέτει ένα νέο κόμβο χαρακτηριστικού στο στοιχείο, αντικαθιστώντας ένα " +"υπάρχον χαρακτηριστικό αν είναι απαραίτητο, εάν το χαρακτηριστικό :attr:" +"`name` ταιριάζει. Εάν γίνει αντικατάσταση, ο παλιός κόμβος χαρακτηριστικού " +"θα επιστραφεί. Εάν το *newAttr* είναι ήδη σε χρήση, θα γίνει raise η " +"εξαίρεση :exc:`InuseAttributeErr`." #: library/xml.dom.rst:672 msgid "" @@ -840,56 +1150,75 @@ msgid "" "match. If a replacement occurs, the old attribute node will be returned. If " "*newAttr* is already in use, :exc:`InuseAttributeErr` will be raised." msgstr "" +"Προσθέτει ένα νέο κόμβο χαρακτηριστικού στο στοιχείο, αντικαθιστώντας ένα " +"υπάρχον χαρακτηριστικό αν είναι απαραίτητο, εάν τα χαρακτηριστικά :attr:" +"`namespaceURI` και :attr:`localName` ταιριάζουν. Εάν γίνει αντικατάσταση, ο " +"παλιός κόμβος χαρακτηριστικού θα επιστραφεί. Εάν το *newAttr* είναι ήδη σε " +"χρήση, θα γίνει raise μια εξαίρεση :exc:`InuseAttributeErr`." #: library/xml.dom.rst:680 msgid "" "Set an attribute value from a string, given a *namespaceURI* and a *qname*. " "Note that a qname is the whole attribute name. This is different than above." msgstr "" +"Ορίζει την τιμή ενός χαρακτηριστικού από μια συμβολοσειρά, δεδομένα τα " +"*namespaceURI* και *qname*. Σημειώστε ότι το qname είναι το πλήρες όνομα του " +"χαρακτηριστικού. Αυτό διαφέρει από τα παραπάνω." #: library/xml.dom.rst:687 msgid "Attr Objects" -msgstr "" +msgstr "Αντικείμενα Attr" #: library/xml.dom.rst:689 msgid "" ":class:`Attr` inherits from :class:`Node`, so inherits all its attributes." msgstr "" +"Η :class:`Attr` κληρονομεί από την :class:`Node`, οπότε κληρονομεί όλα τα " +"χαρακτηριστικά της." #: library/xml.dom.rst:694 msgid "" "The attribute name. In a namespace-using document it may include a colon." msgstr "" +"Το όνομα του χαρακτηριστικού. Σε έγγραφο που χρησιμοποιεί namespaces μπορεί " +"να περιλαμβάνει άνω κάτω τελεία." #: library/xml.dom.rst:700 msgid "" "The part of the name following the colon if there is one, else the entire " "name. This is a read-only attribute." msgstr "" +"Το μέρος του ονόματος μετά την άνω κάτω τελεία αν υπάρχει, αλλιώς το πλήρες " +"όνομα. Αυτό είναι ένα χαρακτηριστικό για ανάγνωση μόνο." #: library/xml.dom.rst:707 msgid "" "The part of the name preceding the colon if there is one, else the empty " "string." msgstr "" +"Το μέρος του ονόματος πριν την άνω κάτω τελεία αν υπάρχει, αλλιώς η κενή " +"συμβολοσειρά." #: library/xml.dom.rst:713 msgid "" "The text value of the attribute. This is a synonym for the :attr:" "`nodeValue` attribute." msgstr "" +"Η τιμή κειμένου του χαρακτηριστικού. Αυτό είναι συνώνυμο με το " +"χαρακτηριστικό :attr:`nodeValue`." #: library/xml.dom.rst:720 msgid "NamedNodeMap Objects" -msgstr "" +msgstr "Αντικείμενα NamedNodeMap" #: library/xml.dom.rst:722 msgid ":class:`NamedNodeMap` does *not* inherit from :class:`Node`." msgstr "" +"Η κλάση :class:`NamedNodeMap` *δεν* κληρονομεί από την κλάση :class:`Node`." #: library/xml.dom.rst:727 msgid "The length of the attribute list." -msgstr "" +msgstr "Το μήκος της λίστας των χαρακτηριστικών." #: library/xml.dom.rst:732 msgid "" @@ -898,6 +1227,10 @@ msgid "" "Each item is an attribute node. Get its value with the :attr:`value` " "attribute." msgstr "" +"Επιστρέφει ένα χαρακτηριστικό με έναν συγκεκριμένο δείκτη. Η σειρά με την " +"οποία παίρνετε τα χαρακτηριστικά είναι αυθαίρετη, αλλά θα παραμείνει συνεπής " +"κατά τη διάρκεια ζωής του DOM. Κάθε στοιχείο είναι ένας κόμβος " +"χαρακτηριστικού. Αποκτήστε την τιμή του με το χαρακτηριστικό :attr:`value`." #: library/xml.dom.rst:736 msgid "" @@ -905,16 +1238,22 @@ msgid "" "behavior. You can use them or you can use the standardized :meth:`!" "getAttribute\\*` family of methods on the :class:`Element` objects." msgstr "" +"Υπάρχουν επίσης πειραματικές μέθοδοι που παρέχουν αυτή την κλάση περισσότερη " +"συμπεριφορά τύπου αντιστοίχισης. Μπορείτε να χρησιμοποιήσετε αυτές ή να " +"χρησιμοποιήσετε τις τυποποιημένες μεθόδους :meth:`!getAttribute\\*` στην " +"κλάση :class:`Element`." #: library/xml.dom.rst:744 msgid "Comment Objects" -msgstr "" +msgstr "Αντικείμενα Comment" #: library/xml.dom.rst:746 msgid "" ":class:`Comment` represents a comment in the XML document. It is a subclass " "of :class:`Node`, but cannot have child nodes." msgstr "" +"Η κλάση :class:`Comment` αναπαριστά ένα σχόλιο στο XML έγγραφο. Είναι " +"υποκλάση της κλάσης :class:`Node`, αλλά δεν μπορεί να έχει κόμβους παιδιών." #: library/xml.dom.rst:752 msgid "" @@ -922,10 +1261,13 @@ msgid "" "characters between the leading ````, " "but does not include them." msgstr "" +"Το περιεχόμενο του σχολίου ως συμβολοσειρά. Το χαρακτηριστικό περιέχει όλους " +"τους χαρακτήρες μεταξύ του αρχικού ``<-``\\ ``-`` και του τελικού ``-`` ``-" +">``, αλλά δεν τους περιλαμβάνει." #: library/xml.dom.rst:760 msgid "Text and CDATASection Objects" -msgstr "" +msgstr "Αντικείμενα Text και CDATASection" #: library/xml.dom.rst:762 msgid "" @@ -935,16 +1277,24 @@ msgid "" "`CDATASection` objects. These two interfaces are identical, but provide " "different values for the :attr:`nodeType` attribute." msgstr "" +"Η διεπαφή :class:`Text` αντιπροσωπεύει το κείμενο στο έγγραφο XML. Εάν ο " +"αναλυτής και η υλοποίηση του DOM υποστηρίζουν την επέκταση XML του DOM, τα " +"μέρη του κειμένου που περιβάλλονται από τμήματα που έχουν σημειωθεί ως CDATA " +"αποθηκεύονται σε αντικείμενα :class:`CDATASection`. Αυτές οι δύο διεπαφές " +"είναι ταυτόσημες, αλλά παρέχουν διαφορετικές τιμές για την ιδιότητα :attr:" +"`nodeType`." #: library/xml.dom.rst:768 msgid "" "These interfaces extend the :class:`Node` interface. They cannot have child " "nodes." msgstr "" +"Αυτές οι διεπαφές επεκτείνουν τη διεπαφή :class:`Node`. Δεν μπορούν να έχουν " +"κόμβους παιδιά." #: library/xml.dom.rst:774 msgid "The content of the text node as a string." -msgstr "" +msgstr "Το περιεχόμενο του κόμβου κειμένου ως συμβολοσειρά." #: library/xml.dom.rst:778 msgid "" @@ -955,32 +1305,44 @@ msgid "" "whether two adjacent :class:`CDATASection` nodes represent different CDATA " "marked sections." msgstr "" +"Η χρήση ενός κόμβου :class:`CDATASection` δεν υποδηλώνει ότι ο κόμβος " +"αντιπροσωπεύει ένα πλήρες τμήμα CDATA, αλλά μόνο ότι το περιεχόμενο του ήταν " +"μέρος ενός τμήματος CDATA. Ένα μόνο τμήμα CDATA μπορεί να αναπαρασταθεί από " +"περισσότερους από έναν κόμβους στο δέντρο του εγγράφου. Δεν υπάρχει τρόπος " +"να προσδιοριστεί εάν δύο γειτονικοί κόμβοι :class:`CDATASection` " +"αντιπροσωπεύουν διαφορετικά τμήματα CDATA." #: library/xml.dom.rst:788 msgid "ProcessingInstruction Objects" -msgstr "" +msgstr "Αντικείμενα ProcessingInstruction" #: library/xml.dom.rst:790 msgid "" "Represents a processing instruction in the XML document; this inherits from " "the :class:`Node` interface and cannot have child nodes." msgstr "" +"Αντιπροσωπεύει μια εντολή επεξεργασίας στο έγγραφο XML· αυτή κληρονομεί από " +"τη διεπαφή :class:`Node` και δεν μπορεί να έχει κόμβους παιδιά." #: library/xml.dom.rst:796 msgid "" "The content of the processing instruction up to the first whitespace " "character. This is a read-only attribute." msgstr "" +"Το περιεχόμενο της εντολής επεξεργασίας μέχρι τον πρώτο χαρακτήρα κενού. " +"Αυτό είναι ένα χαρακτηριστικό για ανάγνωση μόνο." #: library/xml.dom.rst:802 msgid "" "The content of the processing instruction following the first whitespace " "character." msgstr "" +"Το περιεχόμενο της εντολής επεξεργασίας που ακολουθεί τον πρώτο χαρακτήρα " +"κενού." #: library/xml.dom.rst:809 msgid "Exceptions" -msgstr "" +msgstr "Εξαιρέσεις" #: library/xml.dom.rst:811 msgid "" @@ -990,6 +1352,11 @@ msgid "" "a :attr:`code` attribute that provides the appropriate value for the " "specific exception." msgstr "" +"Η σύσταση του DOM Επιπέδου 2 ορίζει μία μόνο εξαίρεση, την :exc:" +"`DOMException`, και μια σειρά από σταθερές που επιτρέπουν στις εφαρμογές να " +"προσδιορίσουν το είδος του σφάλματος που προέκυψε. Τα στιγμιότυπα :exc:" +"`DOMException` μεταφέρουν ένα χαρακτηριστικό :attr:`code` που παρέχει την " +"κατάλληλη τιμή για την συγκεκριμένη εξαίρεση." #: library/xml.dom.rst:816 msgid "" @@ -999,12 +1366,19 @@ msgid "" "specific exception, each of which carries the appropriate value for the :" "attr:`code` attribute." msgstr "" +"Η διεπαφή Python DOM παρέχει τις σταθερές, αλλά επεκτείνει επίσης το σύνολο " +"των εξαιρέσεων, ώστε να υπάρχει μια συγκεκριμένη εξαίρεση για κάθε έναν από " +"τους κωδικούς εξαιρέσεων που ορίζονται από το DOM. Οι υλοποιήσεις πρέπει να " +"κάνουν raise την κατάλληλη εξαίρεση, καθεμία από τις οποίες μεταφέρει την " +"κατάλληλη τιμή για το χαρακτηριστικό :attr:`code`." #: library/xml.dom.rst:825 msgid "" "Base exception class used for all specific DOM exceptions. This exception " "class cannot be directly instantiated." msgstr "" +"Βασική κλάση εξαίρεσης που χρησιμοποιείται για όλες τις συγκεκριμένες " +"εξαιρέσεις DOM. Αυτή η κλάση εξαίρεσης δεν μπορεί να δημιουργηθεί άμεσα." #: library/xml.dom.rst:831 msgid "" @@ -1012,30 +1386,42 @@ msgid "" "not known to be used in the Python DOM implementations, but may be received " "from DOM implementations not written in Python." msgstr "" +"Γίνεται raise όταν μια καθορισμένη περιοχή κειμένου δεν χωράει σε μία " +"συμβολοσειρά. Αυτό δεν είναι γνωστό ότι χρησιμοποιείται στις υλοποιήσεις " +"Python DOM, αλλά μπορεί να ληφθεί από υλοποιήσεις DOM που δεν είναι " +"γραμμένες σε Python." #: library/xml.dom.rst:838 msgid "" "Raised when an attempt is made to insert a node where the node type is not " "allowed." msgstr "" +"Γίνεται raise όταν γίνεται προσπάθεια εισαγωγής ενός κόμβου όπου ο τύπος του " +"κόμβου δεν επιτρέπεται." #: library/xml.dom.rst:844 msgid "" "Raised when an index or size parameter to a method is negative or exceeds " "the allowed values." msgstr "" +"Γίνεται raise όταν μια παράμετρος ευρετηρίου ή μεγέθους σε μια μέθοδο είναι " +"αρνητική ή υπερβαίνει τις επιτρεπόμενες τιμές." #: library/xml.dom.rst:850 msgid "" "Raised when an attempt is made to insert an :class:`Attr` node that is " "already present elsewhere in the document." msgstr "" +"Γίνεται raise όταν γίνεται προσπάθεια εισαγωγής ενός κόμβου :class:`Attr` " +"που υπάρχει ήδη αλλού στο έγγραφο." #: library/xml.dom.rst:856 msgid "" "Raised if a parameter or an operation is not supported on the underlying " "object." msgstr "" +"Γίνεται raise εάν μια παράμετρος ή μια λειτουργία δεν υποστηρίζεται στο " +"υποκείμενο αντικείμενο." #: library/xml.dom.rst:861 msgid "" @@ -1044,16 +1430,23 @@ msgid "" "recommendation. For example, attempting to create an :class:`Element` node " "with a space in the element type name will cause this error to be raised." msgstr "" +"Αυτή η παράμετρος γίνεται raise όταν μια παράμετρος συμβολοσειράς περιέχει " +"έναν χαρακτήρα που δεν επιτρέπεται στο πλαίσιο χρήσης του σύμφωνα με τη " +"σύσταση XML 1.0. Για παράδειγμα, η προσπάθεια δημιουργίας ενός κόμβου :class:" +"`Element` με κενό στο όνομα του τύπου του στοιχείου θα προκαλέσει αυτό το " +"σφάλμα." #: library/xml.dom.rst:869 msgid "Raised when an attempt is made to modify the type of a node." -msgstr "" +msgstr "Γίνεται raise όταν γίνεται προσπάθεια τροποποίησης ενός κόμβου." #: library/xml.dom.rst:874 msgid "" "Raised when an attempt is made to use an object that is not defined or is no " "longer usable." msgstr "" +"Γίνεται raise όταν γίνεται προσπάθεια χρήσης ενός αντικειμένου που δεν είναι " +"ορισμένο ή δεν είναι πλέον χρησιμοποιήσιμο." #: library/xml.dom.rst:880 msgid "" @@ -1061,6 +1454,9 @@ msgid "" "with regard to the `Namespaces in XML `_ recommendation, this exception is raised." msgstr "" +"Εάν γίνει προσπάθεια αλλαγής οποιουδήποτε αντικειμένου με τρόπο που δεν " +"επιτρέπεται σύμφωνα με τη σύσταση `Namespaces in XML `_, γίνεται raise αυτή η εξαίρεση." #: library/xml.dom.rst:887 msgid "" @@ -1068,27 +1464,36 @@ msgid "" "example, :meth:`NamedNodeMap.removeNamedItem` will raise this if the node " "passed in does not exist in the map." msgstr "" +"Εξαίρεση όταν ένας κόμβος δεν υπάρχει στο αναφερόμενο πλαίσιο. Για " +"παράδειγμα το :meth:`NamedNodeMap.removeNamedItem` θα κάνει raise αυτή την " +"εξαίρεση αν ο κόμβος που περνάει δεν υπάρχει στο χάρτη." #: library/xml.dom.rst:894 msgid "" "Raised when the implementation does not support the requested type of object " "or operation." msgstr "" +"Γίνεται raise όταν η υλοποίηση δεν υποστηρίζει τον ζητούμενο τύπο " +"αντικειμένου ή λειτουργίας." #: library/xml.dom.rst:900 msgid "" "This is raised if data is specified for a node which does not support data." msgstr "" +"Γίνεται raise εάν καθορίζονται δεδομένα για έναν κόμβο που δεν υποστηρίζει " +"δεδομένα." #: library/xml.dom.rst:907 msgid "" "Raised on attempts to modify an object where modifications are not allowed " "(such as for read-only nodes)." msgstr "" +"Γίνεται raise σε προσπάθειες τροποποίησης ενός αντικειμένου όπου οι " +"τροποποιήσεις δεν επιτρέπονται (όπως για κόμβους μόνο για ανάγνωση)." #: library/xml.dom.rst:913 msgid "Raised when an invalid or illegal string is specified." -msgstr "" +msgstr "Γίνεται raise όταν καθορίζεται μια μη έγκυρη ή παράνομη συμβολοσειρά." #: library/xml.dom.rst:920 msgid "" @@ -1096,144 +1501,149 @@ msgid "" "belongs to, and the implementation does not support migrating the node from " "one document to the other." msgstr "" +"Γίνεται raise όταν ένας κόμβος εισάγεται σε διαφορετικό έγγραφο από αυτό που " +"ανήκει, και η υλοποίηση δεν υποστηρίζει τη μετεγκατάσταση του κόμβου από το " +"ένα έγγραφο στο άλλο." #: library/xml.dom.rst:924 msgid "" "The exception codes defined in the DOM recommendation map to the exceptions " "described above according to this table:" msgstr "" +"Οι κωδικοί εξαιρέσεων που ορίζονται στη σύσταση DOM αντιστοιχούν στις " +"εξαιρέσεις που περιγράφονται παραπάνω σύμφωνα με τον παρακάτω πίνακα:" #: library/xml.dom.rst:928 msgid "Constant" -msgstr "" +msgstr "Σταθερά" #: library/xml.dom.rst:928 msgid "Exception" -msgstr "" +msgstr "Εξαίρεση" #: library/xml.dom.rst:930 msgid ":const:`DOMSTRING_SIZE_ERR`" -msgstr "" +msgstr ":const:`DOMSTRING_SIZE_ERR`" #: library/xml.dom.rst:930 msgid ":exc:`DomstringSizeErr`" -msgstr "" +msgstr ":exc:`DomstringSizeErr`" #: library/xml.dom.rst:932 msgid ":const:`HIERARCHY_REQUEST_ERR`" -msgstr "" +msgstr ":const:`HIERARCHY_REQUEST_ERR`" #: library/xml.dom.rst:932 msgid ":exc:`HierarchyRequestErr`" -msgstr "" +msgstr ":exc:`HierarchyRequestErr`" #: library/xml.dom.rst:934 msgid ":const:`INDEX_SIZE_ERR`" -msgstr "" +msgstr ":const:`INDEX_SIZE_ERR`" #: library/xml.dom.rst:934 msgid ":exc:`IndexSizeErr`" -msgstr "" +msgstr ":exc:`IndexSizeErr`" #: library/xml.dom.rst:936 msgid ":const:`INUSE_ATTRIBUTE_ERR`" -msgstr "" +msgstr ":const:`INUSE_ATTRIBUTE_ERR`" #: library/xml.dom.rst:936 msgid ":exc:`InuseAttributeErr`" -msgstr "" +msgstr ":exc:`InuseAttributeErr`" #: library/xml.dom.rst:938 msgid ":const:`INVALID_ACCESS_ERR`" -msgstr "" +msgstr ":const:`INVALID_ACCESS_ERR`" #: library/xml.dom.rst:938 msgid ":exc:`InvalidAccessErr`" -msgstr "" +msgstr ":exc:`InvalidAccessErr`" #: library/xml.dom.rst:940 msgid ":const:`INVALID_CHARACTER_ERR`" -msgstr "" +msgstr ":const:`INVALID_CHARACTER_ERR`" #: library/xml.dom.rst:940 msgid ":exc:`InvalidCharacterErr`" -msgstr "" +msgstr ":exc:`InvalidCharacterErr`" #: library/xml.dom.rst:942 msgid ":const:`INVALID_MODIFICATION_ERR`" -msgstr "" +msgstr ":const:`INVALID_MODIFICATION_ERR`" #: library/xml.dom.rst:942 msgid ":exc:`InvalidModificationErr`" -msgstr "" +msgstr ":exc:`InvalidModificationErr`" #: library/xml.dom.rst:944 msgid ":const:`INVALID_STATE_ERR`" -msgstr "" +msgstr ":const:`INVALID_STATE_ERR`" #: library/xml.dom.rst:944 msgid ":exc:`InvalidStateErr`" -msgstr "" +msgstr ":exc:`InvalidStateErr`" #: library/xml.dom.rst:946 msgid ":const:`NAMESPACE_ERR`" -msgstr "" +msgstr ":const:`NAMESPACE_ERR`" #: library/xml.dom.rst:946 msgid ":exc:`NamespaceErr`" -msgstr "" +msgstr ":exc:`NamespaceErr`" #: library/xml.dom.rst:948 msgid ":const:`NOT_FOUND_ERR`" -msgstr "" +msgstr ":const:`NOT_FOUND_ERR`" #: library/xml.dom.rst:948 msgid ":exc:`NotFoundErr`" -msgstr "" +msgstr ":exc:`NotFoundErr`" #: library/xml.dom.rst:950 msgid ":const:`NOT_SUPPORTED_ERR`" -msgstr "" +msgstr ":const:`NOT_SUPPORTED_ERR`" #: library/xml.dom.rst:950 msgid ":exc:`NotSupportedErr`" -msgstr "" +msgstr ":exc:`NotSupportedErr`" #: library/xml.dom.rst:952 msgid ":const:`NO_DATA_ALLOWED_ERR`" -msgstr "" +msgstr ":const:`NO_DATA_ALLOWED_ERR`" #: library/xml.dom.rst:952 msgid ":exc:`NoDataAllowedErr`" -msgstr "" +msgstr ":exc:`NoDataAllowedErr`" #: library/xml.dom.rst:954 msgid ":const:`NO_MODIFICATION_ALLOWED_ERR`" -msgstr "" +msgstr ":const:`NO_MODIFICATION_ALLOWED_ERR`" #: library/xml.dom.rst:954 msgid ":exc:`NoModificationAllowedErr`" -msgstr "" +msgstr ":exc:`NoModificationAllowedErr`" #: library/xml.dom.rst:956 msgid ":const:`SYNTAX_ERR`" -msgstr "" +msgstr ":const:`SYNTAX_ERR`" #: library/xml.dom.rst:956 msgid ":exc:`SyntaxErr`" -msgstr "" +msgstr ":exc:`SyntaxErr`" #: library/xml.dom.rst:958 msgid ":const:`WRONG_DOCUMENT_ERR`" -msgstr "" +msgstr ":const:`WRONG_DOCUMENT_ERR`" #: library/xml.dom.rst:958 msgid ":exc:`WrongDocumentErr`" -msgstr "" +msgstr ":exc:`WrongDocumentErr`" #: library/xml.dom.rst:965 msgid "Conformance" -msgstr "" +msgstr "Συμμόρφωση" #: library/xml.dom.rst:967 msgid "" @@ -1241,64 +1651,69 @@ msgid "" "between the Python DOM API, the W3C DOM recommendations, and the OMG IDL " "mapping for Python." msgstr "" +"Αυτή η ενότητα περιγράφει τις απαιτήσεις συμμόρφωσης και τις σχέσεις μεταξύ " +"της Python DOM API, των συστάσεων W3C DOM και της αντιστοίχισης OMG IDL για " +"την Python." #: library/xml.dom.rst:975 msgid "Type Mapping" -msgstr "" +msgstr "Αντιστοίχηση Τύπων" #: library/xml.dom.rst:977 msgid "" "The IDL types used in the DOM specification are mapped to Python types " "according to the following table." msgstr "" +"Οι τύποι IDL που χρησιμοποιούνται στις προδιαγραφές DOM αντιστοιχίζονται σε " +"τύπους Python σύμφωνα με τον παρακάτω πίνακα." #: library/xml.dom.rst:981 msgid "IDL Type" -msgstr "" +msgstr "Τύπος IDL" #: library/xml.dom.rst:981 msgid "Python Type" -msgstr "" +msgstr "Τύπος Python" #: library/xml.dom.rst:983 msgid "``boolean``" -msgstr "" +msgstr "``boolean``" #: library/xml.dom.rst:983 msgid "``bool`` or ``int``" -msgstr "" +msgstr "``bool`` ή ``int``" #: library/xml.dom.rst:987 library/xml.dom.rst:989 msgid "``int``" -msgstr "" +msgstr "``int``" #: library/xml.dom.rst:987 msgid "``long int``" -msgstr "" +msgstr "``long int``" #: library/xml.dom.rst:989 msgid "``unsigned int``" -msgstr "" +msgstr "``unsigned int``" #: library/xml.dom.rst:991 msgid "``DOMString``" -msgstr "" +msgstr "``DOMString``" #: library/xml.dom.rst:991 msgid "``str`` or ``bytes``" -msgstr "" +msgstr "``str`` ή ``bytes``" #: library/xml.dom.rst:993 msgid "``null``" -msgstr "" +msgstr "``null``" #: library/xml.dom.rst:993 msgid "``None``" -msgstr "" +msgstr "``None``" #: library/xml.dom.rst:999 msgid "Accessor Methods" -msgstr "" +msgstr "Μέθοδοι Πρόσβασης" #: library/xml.dom.rst:1001 msgid "" @@ -1306,12 +1721,17 @@ msgid "" "``attribute`` declarations in much the way the Java mapping does. Mapping " "the IDL declarations ::" msgstr "" +"Η αντιστοίχιση από OMG IDL σε Python ορίζει συναρτήσεις πρόσβασης για " +"δηλώσεις IDL ``attribute`` με παρόμοιο τρόπο όπως γίνεται και στην " +"αντιστοίχιση Java. Αντιστοίχιση των δηλώσεων IDL::" #: library/xml.dom.rst:1005 msgid "" "readonly attribute string someValue;\n" " attribute string anotherValue;" msgstr "" +"readonly attribute string someValue;\n" +" attribute string anotherValue;" #: library/xml.dom.rst:1008 msgid "" @@ -1322,6 +1742,13 @@ msgid "" "accessible as normal Python attributes: ``object.someValue`` is *not* " "required to work, and may raise an :exc:`AttributeError`." msgstr "" +"παράγει τρεις συναρτήσεις πρόσβασης: μια μέθοδο \"get\" για το :attr:" +"`someValue` (:meth:`_get_someValue`), και μεθόδους \"get\" και \"set\" για " +"το :attr:`anotherValue` (:meth:`_get_anotherValue` και :meth:" +"`_set_anotherValue`). Η αντιστοίχιση, συγκεκριμένα, δεν απαιτεί τα IDL " +"χαρακτηριστικά να είναι προσβάσιμα ως συνηθισμένα Python χαρακτηριστικά: το " +"``object.someValue`` *δεν* απαιτείται να λειτουργεί και μπορεί να κάνει " +"raise :exc:`AttributeError`." #: library/xml.dom.rst:1015 msgid "" @@ -1334,6 +1761,15 @@ msgid "" "Attributes that are declared ``readonly`` may not restrict write access in " "all DOM implementations." msgstr "" +"Ωστόσο, η Python DOM API *απαιτεί* η κανονική πρόσβαση στα χαρακτηριστικά να " +"λειτουργεί. Αυτό σημαίνει ότι οι τυπικοί εκπρόσωποι που δημιουργούνται από " +"μεταγλωττιστές Python IDL πιθανόν να μην λειτουργούν, και ενδέχεται να " +"απαιτούνται wrapper αντικείμενα από την πλευρά του client εάν τα DOM " +"αντικείμενα προσπελαύνονται μέσω CORBA. Παρόλο που αυτό απαιτεί κάποια " +"επιπλέον προσοχή για CORBA DOM clients, οι υλοποιητές με εμπειρία στη χρήση " +"DOM μέσω CORBA από Python δεν το θεωρούν πρόβλημα. Τα χαρακτηριστικά που " +"δηλώνονται ως ``readon`` ενδέχεται να μην περιορίζουν την εγγραφή σε όλες " +"τις DOM υλοποιήσεις." #: library/xml.dom.rst:1024 msgid "" @@ -1343,6 +1779,12 @@ msgid "" "directly from Python. \"Set\" accessors should never be provided for " "``readonly`` attributes." msgstr "" +"Στην Python DOM API, οι συναρτήσεις πρόσβασης δεν απαιτούνται. Εάν " +"παρέχονται, θα πρέπει να ακολουθούν τη μορφή που ορίζεται από την " +"αντιστοίχιση Python IDL, αλλά αυτές οι μέθοδοι θεωρούνται αναγκαίες μόνο " +"όταν τα attributes δεν είναι άμεσα προσβάσιμα από Python. Για ``readonly`` " +"χαρακτηριστικά, δεν θα πρέπει ποτέ να παρέχονται συναρτήσεις \"Set\" " +"πρόσβασης." #: library/xml.dom.rst:1029 msgid "" @@ -1351,3 +1793,7 @@ msgid "" "`getElementsByTagName`, being \"live\". The Python DOM API does not require " "implementations to enforce such requirements." msgstr "" +"Οι ορισμοί IDL δεν ενσωματώνουν πλήρως τις απαιτήσεις της W3C DOM API, όπως " +"η έννοια ορισμένων αντικειμένων για παράδειγμα, η τιμή επιστροφής της :meth:" +"`getElementsByTagName` να είναι \"live\". Η Python DOM API δεν απαιτεί από " +"τις υλοποιήσεις να εφαρμόζουν τέτοιες απαιτήσεις." diff --git a/reference/datamodel.po b/reference/datamodel.po index 864acc1f..9bcb037c 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-05-02 23:29+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-04-28 20:11+0300\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,10 +282,19 @@ 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 "" @@ -197,10 +302,14 @@ msgid "" "it currently evaluates as true, it will emit a :exc:`DeprecationWarning`. It " "will raise a :exc:`TypeError` in a future version of Python." msgstr "" +"Η αξιολόγηση του :data:`NotImplemented` σε ένα boolean πλαίσιο έχει " +"καταργηθεί. Ενώ αυτή τη στιγμή αξιολογείται ως αληθές, θα κάνει raise ένα :" +"exc:`DeprecationWarning`. Ενώ αυτή τη στιγμή αξιολογείται ως αληθές, θα " +"κάνει ένα :exc:`TypeError` σε μια μελλοντική έκδοση της Python." #: reference/datamodel.rst:184 msgid "Ellipsis" -msgstr "" +msgstr "Ellipsis" #: reference/datamodel.rst:188 msgid "" @@ -208,10 +317,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:194 msgid ":class:`numbers.Number`" -msgstr "" +msgstr ":class:`numbers.Number`" #: reference/datamodel.rst:198 msgid "" @@ -221,6 +334,12 @@ msgid "" "strongly related to mathematical numbers, but subject to the limitations of " "numerical representation in computers." msgstr "" +"Αυτά δημιουργούνται από αριθμητικά literals και επιστρέφονται ως " +"αποτελέσματα από αριθμητικούς τελεστές και αριθμητικές ενσωματωμένες " +"συναρτήσεις. Τα αριθμητικά αντικείμενα είναι αμετάβλητα∙ μόλις " +"δημιουργηθούν, η τιμή τους δεν αλλάζει ποτέ. Οι αριθμοί Python φυσικά " +"σχετίζονται στενά με τους μαθηματικούς αριθμούς, αλλά υπόκεινται στους " +"περιορισμούς της αριθμητικής αναπαράστασης στους υπολογιστές." #: reference/datamodel.rst:204 msgid "" @@ -228,48 +347,62 @@ msgid "" "`~object.__repr__` and :meth:`~object.__str__`, have the following " "properties:" msgstr "" +"Οι αναπαραστάσεις συμβολοσειρών των αριθμητικών κλάσεων, που υπολογίζονται " +"από την :meth:`~object.__repr__` και από τη :meth:`~object.__str__`, έχουν " +"τις ακόλουθες ιδιότητες:" #: reference/datamodel.rst:208 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:212 msgid "The representation is in base 10, when possible." -msgstr "" +msgstr "Η αναπαράσταση είναι στη βάση του 10, όταν αυτό είναι εφικτό." #: reference/datamodel.rst:214 msgid "" "Leading zeros, possibly excepting a single zero before a decimal point, are " "not shown." msgstr "" +"Τα προηγούμενα μηδενικά, ενδεχομένως με εξαίρεση ένα μόνο μηδέν πριν από μια " +"υποδιαστολή, δεν εμφανίζονται." #: reference/datamodel.rst:217 msgid "" "Trailing zeros, possibly excepting a single zero after a decimal point, are " "not shown." msgstr "" +"Τα μηδενικά που ακολουθούν, ενδεχομένως με εξαίρεση ένα μεμονωμένο μηδέν " +"μετά από μια υποδιαστολή, δεν εμφανίζονται." #: reference/datamodel.rst:220 msgid "A sign is shown only when the number is negative." -msgstr "" +msgstr "Ένα πρόσημο εμφανίζεται μόνο όταν ο αριθμός είναι αρνητικός." #: reference/datamodel.rst:222 msgid "" "Python distinguishes between integers, floating-point numbers, and complex " "numbers:" msgstr "" +"Η Python κάνει διάκριση μεταξύ ακεραίων, αριθμών κινητής υποδιαστολής και " +"μιγαδικών αριθμών:" #: reference/datamodel.rst:227 msgid ":class:`numbers.Integral`" -msgstr "" +msgstr ":class:`numbers.Integral`" #: reference/datamodel.rst:231 msgid "" "These represent elements from the mathematical set of integers (positive and " "negative)." msgstr "" +"Αυτά αντιπροσωπεύουν στοιχεία από το μαθηματικό σύνολο ακεραίων (θετικών και " +"αρνητικών)." #: reference/datamodel.rst:237 msgid "" @@ -277,14 +410,17 @@ msgid "" "meaningful interpretation of shift and mask operations involving negative " "integers." msgstr "" +"Οι κανόνες για την αναπαράσταση ακεραίων έχουν σκοπό να δώσουν την πιο " +"ουσιαστική ερμηνεία των πράξεων μετατόπισης και κάλυψης που περιλαμβάνουν " +"αρνητικούς ακέραιους αριθμούς." #: reference/datamodel.rst:240 msgid "There are two types of integers:" -msgstr "" +msgstr "Υπάρχουν δύο τύποι ακεραίων:" #: reference/datamodel.rst:242 msgid "Integers (:class:`int`)" -msgstr "" +msgstr "Ακέραιοι (:class:`int`)" #: reference/datamodel.rst:243 msgid "" @@ -294,10 +430,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:249 msgid "Booleans (:class:`bool`)" -msgstr "" +msgstr "Booleans (:class:`bool`)" #: reference/datamodel.rst:255 msgid "" @@ -308,10 +450,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:263 msgid ":class:`numbers.Real` (:class:`float`)" -msgstr "" +msgstr ":class:`numbers.Real` (:class:`float`)" #: reference/datamodel.rst:271 msgid "" @@ -323,10 +471,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:281 msgid ":class:`numbers.Complex` (:class:`complex`)" -msgstr "" +msgstr ":class:`numbers.Complex` (:class:`complex`)" #: reference/datamodel.rst:287 msgid "" @@ -335,10 +491,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:294 msgid "Sequences" -msgstr "" +msgstr "Ακολουθίες" #: reference/datamodel.rst:303 msgid "" @@ -350,6 +512,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:313 msgid "" @@ -358,6 +529,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:318 msgid "" @@ -365,14 +541,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:322 msgid "Sequences are distinguished according to their mutability:" -msgstr "" +msgstr "Οι ακολουθίες διακρίνονται ανάλογα με τη μεταβλητότητά τους:" #: reference/datamodel.rst:326 msgid "Immutable sequences" -msgstr "" +msgstr "Αμετάβλητες ακολουθίες" #: reference/datamodel.rst:332 msgid "" @@ -381,14 +561,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:337 msgid "The following types are immutable sequences:" -msgstr "" +msgstr "Οι ακόλουθοι τύποι είναι αμετάβλητες ακολουθίες:" #: reference/datamodel.rst:342 msgid "Strings" -msgstr "" +msgstr "Συμβολοσειρές" #: reference/datamodel.rst:350 msgid "" @@ -403,10 +588,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:362 msgid "Tuples" -msgstr "" +msgstr "Πλειάδες (Tuples)" #: reference/datamodel.rst:368 msgid "" @@ -417,10 +614,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:375 msgid "Bytes" -msgstr "" +msgstr "Bytes" #: reference/datamodel.rst:378 msgid "" @@ -430,10 +634,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:386 msgid "Mutable sequences" -msgstr "" +msgstr "Μεταβλητές ακολουθίες" #: reference/datamodel.rst:395 msgid "" @@ -441,20 +651,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:403 msgid "" "The :mod:`collections` and :mod:`array` module provide additional examples " "of mutable sequence types." msgstr "" +"Τα modules :mod:`collections` και :mod:`array` παρέχουν πρόσθετα " +"παραδείγματα μεταβλητών τύπων ακολουθιών." #: reference/datamodel.rst:406 msgid "There are currently two intrinsic mutable sequence types:" -msgstr "" +msgstr "Υπάρχει επί του παρόντος δύο εγγενείς τύποι μεταβλητών ακολουθιών:" #: reference/datamodel.rst:408 msgid "Lists" -msgstr "" +msgstr "Λίστες" #: reference/datamodel.rst:411 msgid "" @@ -462,10 +677,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:415 msgid "Byte Arrays" -msgstr "" +msgstr "Πίνακες Byte" #: reference/datamodel.rst:418 msgid "" @@ -474,10 +693,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:425 msgid "Set types" -msgstr "" +msgstr "Σύνολο τύπων" #: reference/datamodel.rst:431 msgid "" @@ -488,6 +712,13 @@ msgid "" "from a sequence, and computing mathematical operations such as intersection, " "union, difference, and symmetric difference." msgstr "" +"Αυτά αντιπροσωπεύουν μη διατεταγμένα, πεπερασμένα, σύνολα μοναδικών, " +"αμετάβλητων αντικειμένων. Ως εκ τούτου, δεν μπορούν να ευρετηριοποιηθούν από " +"κανένα δείκτη. Ωστόσο, μπορούν να επαναληφθούν και η ενσωματωμένη συνάρτηση :" +"func:`len` επιστρέφει τον αριθμό των στοιχείων σε ένα σύνολο. Συνήθεις " +"χρήσεις για τα σύνολα είναι ο γρήγορος έλεγχος ιδιότητας μέλους, η αφαίρεση " +"διπλότυπων από μια αλληλουχία, μη συνδυαστική λειτουργία, και συμμετρική " +"διαφορά." #: reference/datamodel.rst:438 msgid "" @@ -496,14 +727,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:443 msgid "There are currently two intrinsic set types:" -msgstr "" +msgstr "Υπάρχουν επί του παρόντος δύο εγγενείς τύποι συνόλων:" #: reference/datamodel.rst:446 msgid "Sets" -msgstr "" +msgstr "Σύνολα" #: reference/datamodel.rst:449 msgid "" @@ -511,10 +747,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:454 msgid "Frozen sets" -msgstr "" +msgstr "Frozen σύνολα" #: reference/datamodel.rst:457 msgid "" @@ -522,10 +761,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:464 msgid "Mappings" -msgstr "" +msgstr "Αντιστοιχίσεις" #: reference/datamodel.rst:471 msgid "" @@ -535,14 +778,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:477 msgid "There is currently a single intrinsic mapping type:" -msgstr "" +msgstr "Υπάρχει επί του παρόντος ένας ενιαίος εγγενής τύπος αντιστοίχισης:" #: reference/datamodel.rst:481 msgid "Dictionaries" -msgstr "" +msgstr "Λεξικά" #: reference/datamodel.rst:485 msgid "" @@ -555,6 +804,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:494 msgid "" @@ -563,18 +822,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:499 msgid "" "Dictionaries are mutable; they can be created by the ``{}`` notation (see " "section :ref:`dict`)." msgstr "" +"Τα λεξικά είναι μεταβλητά· μπορούν να δημιουργηθούν με τη σημείωση ``{...}`` " +"(βλ. ενότητα :ref:`dict`)." #: reference/datamodel.rst:506 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:510 msgid "" @@ -582,20 +850,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:517 msgid "Callable types" -msgstr "" +msgstr "Τύποι με δυνατότητα κλήσης" #: reference/datamodel.rst:525 msgid "" "These are the types to which the function call operation (see section :ref:" "`calls`) can be applied:" msgstr "" +"Αυτοί είναι οι τύποι στους οποίους μπορεί να εφαρμοστεί η λειτουργία κλήσης " +"συνάρτησης (βλ. ενότητα :ref:`calls`) :" #: reference/datamodel.rst:532 msgid "User-defined functions" -msgstr "" +msgstr "Συναρτήσεις που καθορίζονται από το χρήστη" #: reference/datamodel.rst:539 msgid "" @@ -603,18 +876,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:1367 reference/datamodel.rst:1562 msgid "Special read-only attributes" -msgstr "" +msgstr "Ειδικά χαρακτηριστικά μόνο για ανάγνωση" #: reference/datamodel.rst:589 reference/datamodel.rst:1156 msgid "Attribute" -msgstr "" +msgstr "Χαρακτηριστικό" #: reference/datamodel.rst:590 reference/datamodel.rst:1157 msgid "Meaning" -msgstr "" +msgstr "Έννοια" #: reference/datamodel.rst:559 msgid "" @@ -622,48 +899,65 @@ 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:564 msgid "" "``None`` or a :class:`tuple` of cells that contain bindings for the " "function's free variables." msgstr "" +"Το ``None`` ή μια :class:`tuple` κελιών που περιέχουν δεσμεύσεις για τις " +"ελεύθερες μεταβλητές της συνάρτησης." #: reference/datamodel.rst:567 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:1599 msgid "Special writable attributes" -msgstr "" +msgstr "Ειδικά εγγράψιμα χαρακτηριστικά" #: reference/datamodel.rst:584 msgid "Most of these attributes check the type of the assigned value:" msgstr "" +"Τα περισσότερα από αυτά τα χαρακτηριστικά ελέγχουν τον τύπο της εκχωρημένης " +"τιμής:" #: reference/datamodel.rst:593 msgid "The function's documentation string, or ``None`` if unavailable." msgstr "" +"Η συμβολοσειρά τεκμηρίωσης της συνάρτηση ή ``None`` εάν δεν είναι διαθέσιμη." #: reference/datamodel.rst:596 msgid "" "The function's name. See also: :attr:`__name__ attributes `." msgstr "" +"Το όνομα της συνάρτησης. Δείτε επίσης :attr:`__name__ attributes `." #: reference/datamodel.rst:600 msgid "" "The function's :term:`qualified name`. See also: :attr:`__qualname__ " "attributes `." msgstr "" +"Η συνάρτηση είναι :term:`qualified name`. Δείτε επίσης :attr:`__qualname__ " +"attributes `." #: reference/datamodel.rst:606 msgid "" "The name of the module the function was defined in, or ``None`` if " "unavailable." msgstr "" +"Το όνομα του module στην οποία ορίστηκε η συνάρτηση ή ``None`` εάν δεν είναι " +"διαθέσιμη." #: reference/datamodel.rst:610 msgid "" @@ -671,18 +965,25 @@ msgid "" "parameters that have defaults, or ``None`` if no parameters have a default " "value." msgstr "" +"Ένα :class:`tuple` που περιέχει προεπιλεγμένες τιμές :term:`parameter` για " +"εκείνες τις παραμέτρους που έχουν προεπιλογές ή ``None`` εάν καμία " +"παράμετρος δεν έχει προεπιλεγμένη τιμή." #: reference/datamodel.rst:615 msgid "" "The :ref:`code object ` representing the compiled function " "body." msgstr "" +"Το αντικείμενο :ref:`code object ` που αντιπροσωπεύει το " +"μεταγλωττισμένο σώμα συνάρτησης." #: reference/datamodel.rst:619 msgid "" "The namespace supporting arbitrary function attributes. See also: :attr:" "`__dict__ attributes `." msgstr "" +"Ο χώρος ονομάτων που υποστηρίζει αυθαίρετα χαρακτηριστικά συνάρτησης. Δείτε " +"επίσης :attr:`__dict__ attributes `." #: reference/datamodel.rst:623 msgid "" @@ -691,18 +992,26 @@ msgid "" "``'return'`` for the return annotation, if provided. See also: :ref:" "`annotations-howto`." msgstr "" +"Μια :class:`dictionary ` που περιέχει annotations για :term:" +"`parameters `. Τα κλειδιά του λεξικού είναι τα ονόματα των " +"παραμέτρων και ``'return'``, για το annotation επιστροφής, εάν παρέχεται. " +"Δείτε επίσης: :ref:`annotations-howto`." #: reference/datamodel.rst:630 msgid "" "A :class:`dictionary ` containing defaults for keyword-only :term:" "`parameters `." msgstr "" +"Μια :class:`dictionary ` που περιέχει προεπιλογές για λέξεις-κλειδιά " +"μόνο :term:`parameters `." #: reference/datamodel.rst:634 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:639 msgid "" @@ -710,6 +1019,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:645 msgid "" @@ -717,6 +1031,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:650 msgid "" @@ -724,30 +1042,38 @@ msgid "" "its :ref:`code object ` (accessible via the :attr:`~function." "__code__` attribute)." msgstr "" +"Μπορούν να ανακτηθούν πρόσθετες πληροφορίες σχετικά με τον ορισμό μιας " +"συνάρτησης από το αντικείμενο :ref:`code object ` (προσβάσιμο " +"μέσω του χαρακτηριστικού :attr:`~function.__code__`)." #: reference/datamodel.rst:658 msgid "Instance methods" -msgstr "" +msgstr "Μέθοδοι Στιγμιοτύπου" #: reference/datamodel.rst:665 msgid "" "An instance method object combines a class, a class instance and any " "callable object (normally a user-defined function)." msgstr "" +"Ένα αντικείμενο μεθόδου στιγμιοτύπου συνδυάζει μια κλάση, ένα στιγμιότυπο " +"κλάσης και οποιοδήποτε αντικείμενο που μπορεί να κληθεί (συνήθως μια " +"συνάρτηση που ορίζεται από τον χρήστη.)" #: reference/datamodel.rst:1690 msgid "Special read-only attributes:" -msgstr "" +msgstr "Ειδικά χαρακτηριστικά μόνο για ανάγνωση:" #: reference/datamodel.rst:680 msgid "" "Refers to the class instance object to which the method is :ref:`bound " "`" msgstr "" +"Αναφέρεται στο αντικείμενο στιγμιοτύπου κλάσης στο οποίο βρίσκεται η " +"μέθοδος :ref:`bound `" #: reference/datamodel.rst:684 msgid "Refers to the original :ref:`function object `" -msgstr "" +msgstr "Αναφέρεται στο αρχικό :ref:`function object `" #: reference/datamodel.rst:687 msgid "" @@ -755,23 +1081,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:693 msgid "" "The name of the method (same as :attr:`method.__func__.__name__ `)" msgstr "" +"Το όνομα της μεθόδου (ίδιο με το :attr:`method.__func__.__name__ `)" #: reference/datamodel.rst:697 msgid "" "The name of the module the method was defined in, or ``None`` if unavailable." msgstr "" +"Το όνομα του module στην οποία ορίστηκε η μέθοδος, ή ``None`` εάν δεν είναι " +"διαθέσιμη." #: reference/datamodel.rst:700 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:703 msgid "" @@ -780,6 +1116,11 @@ msgid "" "defined :ref:`function object ` or a :class:" "`classmethod` object." msgstr "" +"Τα αντικείμενα μεθόδου που ορίζονται από το χρήστη μπορούν να δημιουργηθούν " +"όταν λαμβάνεται ένα χαρακτηριστικό μιας κλάσης (ίσως μέσω ενός στιγμιοτύπου " +"αυτής της κλάσης), εάν αυτό το χαρακτηριστικό είναι ένα αντικείμενο :ref:" +"`function object ` ή ένα αντικείμενο :class:" +"`classmethod`." #: reference/datamodel.rst:710 msgid "" @@ -789,6 +1130,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:716 msgid "" @@ -797,6 +1144,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:721 msgid "" @@ -807,6 +1159,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:728 msgid "" @@ -816,6 +1174,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:733 msgid "" @@ -823,10 +1186,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:740 msgid "Generator functions" -msgstr "" +msgstr "Generator Συναρτήσεις" #: reference/datamodel.rst:746 msgid "" @@ -840,10 +1207,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:758 msgid "Coroutine functions" -msgstr "" +msgstr "Coroutine συναρτήσεις" #: reference/datamodel.rst:763 msgid "" @@ -853,10 +1229,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:771 msgid "Asynchronous generator functions" -msgstr "" +msgstr "Asynchronous generator συναρτήσεις" #: reference/datamodel.rst:777 msgid "" @@ -866,6 +1247,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:783 msgid "" @@ -877,10 +1264,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:796 msgid "Built-in functions" -msgstr "" +msgstr "Ενσωματωμένες συναρτήσεις" #: reference/datamodel.rst:803 msgid "" @@ -889,31 +1283,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:808 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:810 msgid "" ":attr:`!__name__` is the function's name. See :attr:`function.__name__`." msgstr "" +"Η :attr:`!__name__` είναι το όνομα της συνάρτησης. Δείτε :attr:`function." +"__name__`." #: reference/datamodel.rst:811 msgid ":attr:`!__self__` is set to ``None`` (but see the next item)." msgstr "" +"Η :attr:`!__self__` έχει οριστεί σε ``None`` (αλλά δείτε το επόμενο " +"στοιχείο)." #: reference/datamodel.rst:812 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:820 msgid "Built-in methods" -msgstr "" +msgstr "Ενσωματωμένες μεθόδους" #: reference/datamodel.rst:827 msgid "" @@ -925,10 +1333,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:836 msgid "Classes" -msgstr "" +msgstr "Κλάσεις" #: reference/datamodel.rst:838 msgid "" @@ -938,20 +1354,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:846 msgid "Class Instances" -msgstr "" +msgstr "Στιγμιότυπα Κλάσης" #: reference/datamodel.rst:848 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:855 msgid "Modules" -msgstr "" +msgstr "Modules" #: reference/datamodel.rst:861 msgid "" @@ -967,16 +1391,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:874 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:892 msgid "Import-related attributes on module objects" -msgstr "" +msgstr "Χαρακτηριστικά που σχετίζονται με εισαγωγή σε αντικείμενα modules" #: reference/datamodel.rst:894 msgid "" @@ -986,6 +1424,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:900 msgid "" @@ -997,6 +1440,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:910 msgid "" @@ -1006,6 +1457,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:916 msgid "" @@ -1019,12 +1475,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:930 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:933 msgid "" @@ -1032,20 +1500,27 @@ msgid "" "expected to match the value of :attr:`module.__spec__.name `." msgstr "" +"Αυτό το χαρακτηριστικό πρέπει να οριστεί στο πλήρως προσδιορισμένο όνομα του " +"module. Αναμένεται να ταιριάζει με την τιμή :attr:`module.__spec__.name " +"`." #: reference/datamodel.rst:939 msgid "A record of the module's import-system-related state." msgstr "" +"Μια εγγραφή της κατάστασης του module που σχετίζεται με το σύστημα εισαγωγής." #: reference/datamodel.rst:941 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:948 msgid "The :term:`package` a module belongs to." -msgstr "" +msgstr "Το :term:`package` στο οποίο ανήκει μια ενότητα." #: reference/datamodel.rst:950 msgid "" @@ -1055,6 +1530,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:956 msgid "" @@ -1064,6 +1545,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:962 msgid "" @@ -1072,6 +1559,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:1005 msgid "" @@ -1079,6 +1571,9 @@ msgid "" "using the :class:`types.ModuleType` constructor. Previously the attribute " "was optional." msgstr "" +"Αυτό το χαρακτηριστικό έχει πλέον την προεπιλεγμένη τιμή ``None`` για " +"modules που δημιουργούνται δυναμικά χρησιμοποιώντας τον κατασκευαστή :class:" +"`types.ModuleType`. Προηγουμένως, το χαρακτηριστικό ήταν προαιρετικό." #: reference/datamodel.rst:973 msgid "" @@ -1087,6 +1582,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:979 msgid "" @@ -1094,17 +1593,24 @@ msgid "" "__package__` instead of :attr:`__spec__.parent `." msgstr "" +"Η :exc:`ImportWarning` γίνεται raised εάν η ανάλυση εισαγωγής επανέλθει σε :" +"attr:`!__package__` αντί για :attr:`__spec__.parent `." #: reference/datamodel.rst:984 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:990 msgid "" "The :term:`loader` object that the import machinery used to load the module." msgstr "" +"Το αντικείμενο :term:`loader` που χρησιμοποίησε ο μηχανισμός εισαγωγής για " +"τη φόρτωση του module." #: reference/datamodel.rst:992 msgid "" @@ -1112,6 +1618,9 @@ msgid "" "additional loader-specific functionality, for example getting data " "associated with a loader." msgstr "" +"Αυτό το χαρακτηριστικό είναι κυρίως χρήσιμο για ενδοσκόπηση, αλλά μπορεί να " +"χρησιμοποιηθεί για πρόσθετη λειτουργικότητα ειδικά για τον loader, για " +"παράδειγμα για τη λήψη δεδομένων που σχετίζονται με έναν loader." #: reference/datamodel.rst:996 msgid "" @@ -1120,6 +1629,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:1001 msgid "" @@ -1127,6 +1641,9 @@ msgid "" "` instead of :attr:`!module." "__loader__`." msgstr "" +"Συνίσταται ανεπιφύλακτα να χρησιμοποιείτε την εντολή :attr:`module.__spec__." +"loader ` αντί για την εντολή :attr:`!" +"module.__loader__`." #: reference/datamodel.rst:1010 msgid "" @@ -1135,6 +1652,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:1018 msgid "" @@ -1143,6 +1664,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:1023 msgid "" @@ -1150,6 +1675,9 @@ msgid "" "submodule_search_locations ` instead of :attr:`!module.__path__`." msgstr "" +"Συνίσταται **ισχυρά** να χρησιμοποιείτε το :attr:`module.__spec__." +"submodule_search_locations ` αντί για το :attr:`!module.__path__`." #: reference/datamodel.rst:1030 msgid "" @@ -1157,6 +1685,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:1034 msgid "" @@ -1168,6 +1699,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:1042 msgid "" @@ -1177,6 +1716,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:1048 msgid "" @@ -1187,6 +1732,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:1055 msgid "" @@ -1194,22 +1746,30 @@ msgid "" "` instead of :attr:`!module." "__cached__`." msgstr "" +"Συνίσταται **ισχυρά** να χρησιμοποιείτε το :attr:`module.__spec__.cached " +"` αντί για το :attr:`!module." +"__cached__`." #: reference/datamodel.rst:1060 msgid "Other writable attributes on module objects" -msgstr "" +msgstr "Άλλα εγγράφως χαρακτηριστικά σε αντικείμενα μονάδων" #: reference/datamodel.rst:1062 msgid "" "As well as the import-related attributes listed above, module objects also " "have the following writable attributes:" msgstr "" +"Εκτός από τα χαρακτηριστικά που σχετίζονται με τις εισαγωγές που αναφέρονται " +"παραπάνω, τα αντικείμενα της μονάδας έχουν επίσης τα ακόλουθα δικαιολογημένα " +"χαρακτηριστικά:" #: reference/datamodel.rst:1067 msgid "" "The module's documentation string, or ``None`` if unavailable. See also: :" "attr:`__doc__ attributes `." msgstr "" +"Η συμβολοσειρά τεκμηρίωσης του module, ή ``None`` αν δεν είναι διαθέσιμη. " +"Δείτε επίσης: :attr:`__doc__ attributes `." #: reference/datamodel.rst:1072 msgid "" @@ -1217,14 +1777,20 @@ msgid "" "collected during module body execution. For best practices on working with :" "attr:`__annotations__`, please see :ref:`annotations-howto`." msgstr "" +"Ένα λεξικό που περιέχει :term:`variable annotations ` " +"που συλλέγονται κατά τη διάρκεια της εκτέλεσης του σώματος του module. Για " +"βέλτιστες πρακτικές για την εργασία με :attr:`__annotations__`, παρακαλούμε " +"δείτε :ref:`annotations-howto`." #: reference/datamodel.rst:1078 msgid "Module dictionaries" -msgstr "" +msgstr "Λεξικά Modules" #: reference/datamodel.rst:1080 msgid "Module objects also have the following special read-only attribute:" msgstr "" +"Τα αντικείμενα module έχουν επίσης την ακόλουθη ειδική ιδιότητα μόνο για " +"ανάγνωση:" #: reference/datamodel.rst:1085 msgid "" @@ -1232,6 +1798,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:1091 msgid "" @@ -1240,10 +1810,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:1100 msgid "Custom classes" -msgstr "" +msgstr "Προσαρμοσμένες κλάσεις" #: reference/datamodel.rst:1102 msgid "" @@ -1259,6 +1834,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:1123 msgid "" @@ -1270,45 +1858,63 @@ 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:1134 msgid "" "Class attribute assignments update the class's dictionary, never the " "dictionary of a base class." msgstr "" +"Οι αναθέσεις χαρακτηριστικών κλάσης ενημερώνουν το λεξικό της κλάσης, ποτέ " +"το λεξικό μιας βασικής κλάσης." #: reference/datamodel.rst:1139 msgid "" "A class object can be called (see above) to yield a class instance (see " "below)." msgstr "" +"Ένα αντικείμενο κλάσης μπορεί να κληθεί (δείτε παραπάνω) για να δώσει ένα " +"στιγμιότυπο κλάσης (δείτε παρακάτω)." #: reference/datamodel.rst:1273 msgid "Special attributes" -msgstr "" +msgstr "Ειδικά χαρακτηριστικά:" #: reference/datamodel.rst:1160 msgid "" "The class's name. See also: :attr:`__name__ attributes `." msgstr "" +"Το όνομα της κλάσης, Δείτε επίσης: :attr:`__name__ attributes `." #: reference/datamodel.rst:1164 msgid "" "The class's :term:`qualified name`. See also: :attr:`__qualname__ attributes " "`." msgstr "" +"Το :term:`qualified name` της κλάσης. Δείτε επίσης: :attr:`__qualname__ " +"attributes `." #: reference/datamodel.rst:1168 msgid "The name of the module in which the class was defined." -msgstr "" +msgstr "Το όνομα του module στην οποία ορίστηκε η κλάση." #: reference/datamodel.rst:1171 msgid "" -"A :class:`mapping proxy ` providing a read-only view " -"of the class's namespace. See also: :attr:`__dict__ attributes `." +"A providing a read-only view of the class's namespace. See also: :attr:" +"`__dict__ attributes `." msgstr "" +"Μια προβολή που παρέχει μια προβολή μόνο για ανάγνωση του χώρου ονομάτων της " +"κλάσης. Δείτε επίσης: :attr:`__dict__ attributes `." #: reference/datamodel.rst:1176 msgid "" @@ -1316,12 +1922,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:1181 msgid "" "The class's documentation string, or ``None`` if undefined. Not inherited by " "subclasses." msgstr "" +"Η συμβολοσειρά τεκμηρίωσης της κλάσης ή ``None`` εάν δεν έχει οριστεί. Δεν " +"κληρονομείται από υποκλάσεις." #: reference/datamodel.rst:1185 msgid "" @@ -1329,6 +1940,10 @@ msgid "" "collected during class body execution. For best practices on working with :" "attr:`!__annotations__`, please see :ref:`annotations-howto`." msgstr "" +"Ένα λεξικό που περιέχει :term:`variable annotations ` " +"που συλλέχθηκαν κατά την εκτέλεση του σώματος της κλάσης. Για βέλτιστες " +"πρακτικές σχετικά με την εργασία με :attr:`!__annotations__`, ανατρέξτε στο :" +"ref:`annotations-howto`." #: reference/datamodel.rst:1192 msgid "" @@ -1337,28 +1952,39 @@ msgid "" "attribute may not exist for some classes. Use :func:`inspect." "get_annotations` to retrieve class annotations safely." msgstr "" +"Η άμεση πρόσβαση στο χαρακτηριστικό :attr:`!__annotations__` ενός " +"αντικειμένου κλάσης μπορεί να δώσει λανθασμένα αποτελέσματα παρουσία " +"μετακλάσεων. Επιπλέον, το χαρακτηριστικό ενδέχεται να μην υπάρχει για " +"ορισμένες κλάσεις. Χρησιμοποιήστε τη :func:`inspect.get_annotations` για να " +"ανακτήσετε με ασφάλεια annotations κλάσης." #: reference/datamodel.rst:1199 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:1205 msgid "" "The :class:`tuple` of classes that are considered when looking for base " "classes during method resolution." msgstr "" +"Η :class:`tuple` των κλάσεων που λαμβάνονται υπόψη κατά την αναζήτηση " +"βασικών κλάσεων κατά την ανάλυση της μεθόδου." #: reference/datamodel.rst:1210 msgid "Special methods" -msgstr "" +msgstr "Ειδικές μέθοδοι" #: reference/datamodel.rst:1212 msgid "" "In addition to the special attributes described above, all Python classes " "also have the following two methods available:" msgstr "" +"Εκτός από τα ειδικά χαρακτηριστικά που περιγράφονται παραπάνω, όλες οι " +"κλάσεις Python έχουν επίσης διαθέσιμες τις ακόλουθες δύο μεθόδους:" #: reference/datamodel.rst:1217 msgid "" @@ -1366,6 +1992,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:1223 msgid "" @@ -1373,6 +2003,9 @@ msgid "" "method returns a list of all those references still alive. The list is in " "definition order. Example:" msgstr "" +"Κάθε κλάση διατηρεί μια λίστα με ασθενείς αναφορές στις άμεσες υποκλάσεις " +"της. Αυτή η μέθοδος επιστρέφει μια λίστα με όλες αυτές τις αναφορές που " +"εξακολουθούν να είναι ενεργές. Η λίστα είναι με σειρά ορισμού. Παράδειγμα:" #: reference/datamodel.rst:1227 msgid "" @@ -1381,10 +2014,14 @@ msgid "" ">>> A.__subclasses__()\n" "[]" msgstr "" +">>> class A: pass\n" +">>> class B(A): pass\n" +">>> A.__subclasses__()\n" +"[]" #: reference/datamodel.rst:1235 msgid "Class instances" -msgstr "" +msgstr "Στιγμιότυπα κλάσης" #: reference/datamodel.rst:1243 msgid "" @@ -1402,6 +2039,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:1259 msgid "" @@ -1410,16 +2064,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:1269 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:1281 msgid "The class to which a class instance belongs." -msgstr "" +msgstr "Η κλάση στην οποία ανήκει ένα στιγμιότυπο κλάσης." #: reference/datamodel.rst:1285 msgid "" @@ -1427,10 +2088,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:1291 msgid "I/O objects (also known as file objects)" -msgstr "" +msgstr "Αντικείμενα εισόδου/εξόδου (γνωστά και ως αντικείμενα αρχείου)" #: reference/datamodel.rst:1306 msgid "" @@ -1440,6 +2105,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:1312 msgid "" @@ -1448,10 +2119,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:1320 msgid "Internal types" -msgstr "" +msgstr "Εσωτερικοί τύποι" #: reference/datamodel.rst:1326 msgid "" @@ -1459,10 +2135,13 @@ msgid "" "Their definitions may change with future versions of the interpreter, but " "they are mentioned here for completeness." msgstr "" +"Μερικοί τύποι που χρησιμοποιούνται εσωτερικά από τον διερμηνέα εκτίθενται " +"στο χρήστη. Οι ορισμοί τους μπορεί να αλλάξουν με μελλοντικές εκδόσεις του " +"διερμηνέα, αλλά αναφέρονται εδώ για πληρότητα." #: reference/datamodel.rst:1334 msgid "Code objects" -msgstr "" +msgstr "Αντικείμενα κώδικα" #: reference/datamodel.rst:1338 msgid "" @@ -1475,14 +2154,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:1372 msgid "The function name" -msgstr "" +msgstr "Το όνομα της συνάρτησης" #: reference/datamodel.rst:1375 msgid "The fully qualified function name" -msgstr "" +msgstr "Το πλήρως αναγνωρισμένο όνομα συνάρτησης" #: reference/datamodel.rst:1380 msgid "" @@ -1490,87 +2179,115 @@ msgid "" "positional-only parameters and parameters with default values) that the " "function has" msgstr "" +"Ο συνολικός αριθμός των θέσεων :term:`parameters ` " +"(συμπεριλαμβανομένων των παραμέτρων μόνο θέσης και παραμέτρων με " +"προεπιλεγμένες τιμές) που έχει η συνάρτηση" #: reference/datamodel.rst:1385 msgid "" "The number of positional-only :term:`parameters ` (including " "arguments with default values) that the function has" msgstr "" +"Ο αριθμός των :term:`parameters ` θέσεως (συμπεριλαμβανομένων " +"ορισμάτων με προεπιλεγμένες τιμές) που έχει η συνάρτηση" #: reference/datamodel.rst:1389 msgid "" "The number of keyword-only :term:`parameters ` (including " "arguments with default values) that the function has" msgstr "" +"Ο αριθμός των :term:`parameters ` λέξεων κλειδιών " +"(συμπεριλαμβανομένων ορισμάτων με προεπιλεγμένες τιμές) που έχει η συνάρτηση" #: reference/datamodel.rst:1393 msgid "" "The number of :ref:`local variables ` used by the function " "(including parameters)" msgstr "" +"Ο αριθμός των :ref:`local variables ` που χρησιμοποιούνται από τη " +"συνάρτηση (συμπεριλαμβανομένων των παραμέτρων)" #: reference/datamodel.rst:1397 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:1401 msgid "" "A :class:`tuple` containing the names of :ref:`local variables ` " "that are referenced by nested functions inside the function" msgstr "" +"Μια :class:`tuple` που περιέχει τα ονόματα των :ref:`local variables " +"` που αναφέρονται από ένθετες συναρτήσεις μέσα στη συνάρτηση" #: reference/datamodel.rst:1405 msgid "A :class:`tuple` containing the names of free variables in the function" msgstr "" +"Μια :class:`tuple` που περιέχει τα ονόματα των ελεύθερων μεταβλητών στη " +"συνάρτηση" #: reference/datamodel.rst:1408 msgid "" "A string representing the sequence of :term:`bytecode` instructions in the " "function" msgstr "" +"Μια συμβολοσειρά που αντιπροσωπεύει την ακολουθία εντολών :term:`bytecode` " +"στη συνάρτηση" #: reference/datamodel.rst:1412 msgid "" "A :class:`tuple` containing the literals used by the :term:`bytecode` in the " "function" msgstr "" +"Μια :class:`tuple` που περιέχει τα literals που χρησιμοποιούνται από το :" +"term:`bytecode` στη συνάρτηση" #: reference/datamodel.rst:1416 msgid "" "A :class:`tuple` containing the names used by the :term:`bytecode` in the " "function" msgstr "" +"Μια :class:`tuple` που περιέχει τα ονόματα που χρησιμοποιούνται από τον :" +"term:`bytecode` στην συνάρτηση" #: reference/datamodel.rst:1420 msgid "The name of the file from which the code was compiled" -msgstr "" +msgstr "Το όνομα του αρχείου από το οποίο συντάχθηκε ο κώδικας" #: reference/datamodel.rst:1423 msgid "The line number of the first line of the function" -msgstr "" +msgstr "Ο αριθμός γραμμής της πρώτης γραμμής της συνάρτησης" #: reference/datamodel.rst:1426 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:1429 msgid "" "This attribute of code objects is deprecated, and may be removed in Python " "3.15." msgstr "" +"Αυτό το χαρακτηριστικό των αντικειμένων κώδικα έχει καταργηθεί, και μπορεί " +"να αφαιρεθεί στην Python 3.15." #: reference/datamodel.rst:1434 msgid "The required stack size of the code object" -msgstr "" +msgstr "Το απαιτούμενο μέγεθος στοίβας του αντικειμένου κώδικα" #: reference/datamodel.rst:1437 msgid "" "An :class:`integer ` encoding a number of flags for the interpreter." msgstr "" +"Μια :class:`integer ` που κωδικοποιεί έναν αριθμό flags για τον " +"διερμηνέα." #: reference/datamodel.rst:1442 msgid "" @@ -1582,6 +2299,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:1450 msgid "" @@ -1591,11 +2315,19 @@ msgid "" "function was compiled with future division enabled; bits ``0x10`` and " "``0x1000`` were used in earlier versions of Python." msgstr "" +"Οι δηλώσεις μελλοντικών χαρακτηριστικών (``from __future__ import " +"division``) χρησιμοποιούν επίσης bit στο :attr:`~codeobject.co_flags` για να " +"υποδείξουν εάν ένα αντικείμενο κώδικα έχει μεταγλωττιστεί με ένα " +"συγκεκριμένο χαρακτηριστικό ενεργοποιημένο: το bit ``0x2000`` ορίζεται εάν η " +"συνάρτηση μεταγλωττίστηκε με ενεργοποιημένη τη μελλοντική διαίρεση· τα bits " +"``0x10`` και ``0x1000`` χρησιμοποιήθηκαν σε προηγούμενες εκδόσεις της Python." #: reference/datamodel.rst:1456 msgid "" "Other bits in :attr:`~codeobject.co_flags` are reserved for internal use." msgstr "" +"Άλλα bits στο :attr:`~codeobject.co_flags` είναι δεσμευμένα για εσωτερική " +"χρήση." #: reference/datamodel.rst:1460 msgid "" @@ -1603,16 +2335,21 @@ msgid "" "co_consts` is the documentation string of the function, or ``None`` if " "undefined." msgstr "" +"Εάν ένα αντικείμενο κώδικα αντιπροσωπεύει μια συνάρτηση, το πρώτο στοιχείο " +"στο :attr:`~codeobject.co_consts` είναι η συμβολοσειρά τεκμηρίωσης της " +"συνάρτησης ή ``None`` εάν δεν έχει οριστεί." #: reference/datamodel.rst:1465 msgid "Methods on code objects" -msgstr "" +msgstr "Μέθοδοι σε αντικείμενα κώδικα" #: reference/datamodel.rst:1469 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:1472 msgid "" @@ -1621,36 +2358,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:1478 msgid "" "This positional information can be missing. A non-exhaustive lists of cases " "where this may happen:" msgstr "" +"Αυτές οι πληροφορίες θέσης μπορεί να λείπουν. Μια μη εξαντλητική λίστα " +"περιπτώσεων όπου αυτό μπορεί να συμβεί:" #: reference/datamodel.rst:1481 msgid "Running the interpreter with :option:`-X` ``no_debug_ranges``." -msgstr "" +msgstr "Εκτέλεση του διερμηνέα με :option:`-X` ``no_debug_ranges``." #: reference/datamodel.rst:1482 msgid "" "Loading a pyc file compiled while using :option:`-X` ``no_debug_ranges``." msgstr "" +"Φόρτωση ενός αρχείου pyc που έχει μεταγλωττιστεί κατά τη χρήση του :option:`-" +"X` ``no_debug_ranges``." #: reference/datamodel.rst:1483 msgid "Position tuples corresponding to artificial instructions." -msgstr "" +msgstr "Τοποθετεί τις πλειάδες που αντιστοιχούν σε τεχνικές οδηγίες." #: reference/datamodel.rst:1484 msgid "" "Line and column numbers that can't be represented due to implementation " "specific limitations." msgstr "" +"Αριθμοί γραμμών και στηλών που δεν μπορούν να αναπαρασταθούν λόγω " +"περιορισμών για την υλοποίηση." #: reference/datamodel.rst:1487 msgid "" "When this occurs, some or all of the tuple elements can be :const:`None`." msgstr "" +"Όταν συμβαίνει αυτό, ορισμένα η όλα τα πολλαπλά στοιχεία μπορεί να είναι :" +"const:`None`." #: reference/datamodel.rst:1493 msgid "" @@ -1661,6 +2411,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:1502 msgid "" @@ -1668,18 +2425,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:1506 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:1508 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:1510 msgid "" @@ -1687,14 +2451,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:1514 msgid "The items yielded will have the following properties:" -msgstr "" +msgstr "Τα στοιχεία που θα προκύψουν θα έχουν τις ακόλουθες ιδιότητες:" #: reference/datamodel.rst:1516 msgid "The first range yielded will have a ``start`` of 0." -msgstr "" +msgstr "Το πρώτο εύρος που θα προκύψει θα έχει ένα ``start`` 0." #: reference/datamodel.rst:1517 msgid "" @@ -1702,16 +2469,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:1520 msgid "No range will be backwards: ``end >= start`` for all triples." msgstr "" +"Κανένα εύρος δεν θα είναι προς τα πίσω: ``end >= start`` για όλες τις " +"τριάδες." #: reference/datamodel.rst:1521 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:1524 msgid "" @@ -1719,23 +2493,30 @@ 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:1532 msgid ":pep:`626` - Precise line numbers for debugging and other tools." msgstr "" +":pep:`626` - Ακριβείς αριθμοί γραμμών για εντοπισμό σφαλμάτων και άλλα " +"εργαλεία." #: reference/datamodel.rst:1533 msgid "The PEP that introduced the :meth:`!co_lines` method." -msgstr "" +msgstr "Το PEP που εισήγαγε τη μέθοδο :meth:`!co_lines`." #: reference/datamodel.rst:1537 msgid "" "Return a copy of the code object with new values for the specified fields." msgstr "" +"Επιστρέφει ένα αντίγραφο του αντικειμένου κώδικα με νέες τιμές για τα " +"καθορισμένα πεδία." #: reference/datamodel.rst:1545 msgid "Frame objects" -msgstr "" +msgstr "Πλαίσιο αντικειμένων" #: reference/datamodel.rst:1549 msgid "" @@ -1743,12 +2524,17 @@ msgid "" "objects `, and are also passed to registered trace " "functions." msgstr "" +"Τα αντικείμενα πλαισίου αναπαριστούν πλαίσια εκτέλεσης. Μπορούν να " +"εμφανίζονται σε :ref:`traceback objects `, και επίσης " +"μεταβιβάζονται σε καταχωρημένες συναρτήσεις ανίχνευσης." #: reference/datamodel.rst:1567 msgid "" "Points to the previous stack frame (towards the caller), or ``None`` if this " "is the bottom stack frame" msgstr "" +"Δείχνει το προηγούμενο πλαίσιο στοίβας (προς από εκεί που καλείται), ή " +"``None`` αν αυτό είναι το πλαίσιο της κάτω στοίβας" #: reference/datamodel.rst:1571 msgid "" @@ -1756,28 +2542,41 @@ 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:1576 msgid "" "The dictionary used by the frame to look up :ref:`local variables `" msgstr "" +"Το λεξικό που χρησιμοποιείται από το πλαίσιο για την αναζήτηση σε :ref:" +"`local variables `" #: reference/datamodel.rst:1580 msgid "" "The dictionary used by the frame to look up :ref:`global variables `" msgstr "" +"Το λεξικό που χρησιμοποιείται από το πλαίσιο για την αναζήτηση :ref:`global " +"variables `" #: reference/datamodel.rst:1584 msgid "" "The dictionary used by the frame to look up :ref:`built-in (intrinsic) names " "`" msgstr "" +"Το λεξικό που χρησιμοποιείται από το πλαίσιο για την αναζήτηση :ref:`built-" +"in (intrinsic) names `" #: reference/datamodel.rst:1588 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:1604 msgid "" @@ -1785,12 +2584,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:1609 msgid "" "Set this attribute to :const:`False` to disable triggering a tracing event " "for each source line." msgstr "" +"Ορίστε αυτό το χαρακτηριστικό σε :const:`False` για να απενεργοποιήσετε την " +"ενεργοποίηση ενός συμβάντος ανίχνευσης για κάθε γραμμή πηγαίου κώδικα." #: reference/datamodel.rst:1613 msgid "" @@ -1798,6 +2603,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:1619 msgid "" @@ -1806,14 +2615,19 @@ msgid "" "debugger can implement a Jump command (aka Set Next Statement) by writing to " "this attribute." msgstr "" +"Ο τρέχων αριθμός γραμμής του πλαισίου -- η εγγραφή σε αυτό μέσα από μια " +"συνάρτηση ανίχνευσης μεταβαίνει στη δεδομένη γραμμή (μόνο για το πιο κάτω " +"πλαίσιο). Ένας εντοπισμός σφαλμάτων μπορεί να εφαρμόσει μια εντολή " +"Μετάβασης (γνωστή και ως Ορισμός Επόμενης Δήλωσης) γράφοντας σε αυτό το " +"χαρακτηριστικό." #: reference/datamodel.rst:1625 msgid "Frame object methods" -msgstr "" +msgstr "Μέθοδοι αντικειμένων πλαισίου" #: reference/datamodel.rst:1627 msgid "Frame objects support one method:" -msgstr "" +msgstr "Τα αντικείμενα πλαισίου υποστηρίζουν μια μέθοδο:" #: reference/datamodel.rst:1631 msgid "" @@ -1823,14 +2637,22 @@ 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:1637 msgid ":exc:`RuntimeError` is raised if the frame is currently executing." msgstr "" +"Το :exc:`RuntimeError` γίνεται raise εάν το πλαίσιο εκτελείται αυτή την " +"στιγμή." #: reference/datamodel.rst:1645 msgid "Traceback objects" -msgstr "" +msgstr "Αντικείμενα ανίχνευσης" #: reference/datamodel.rst:1658 msgid "" @@ -1838,10 +2660,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:1663 msgid "Traceback objects can now be explicitly instantiated from Python code." msgstr "" +"Τα αντικείμενα Traceback μπορούν τώρα να δημιουργηθούν ρητά από τον κώδικα " +"Python." #: reference/datamodel.rst:1666 msgid "" @@ -1853,6 +2681,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:1675 msgid "" @@ -1861,6 +2697,10 @@ msgid "" "interactive, it is also made available to the user as :data:`sys." "last_traceback`." msgstr "" +"Όταν το πρόγραμμα δεν περιέχει ον κατάλληλο χειριστή, το ίχνος στοίβας " +"γράφεται (όμορφα μορφοποιημένο) στην τυπική ροή σφαλμάτων· εάν ο διερμηνέα " +"είναι διαδραστικός, διατίθεται επίσης στον χρήστη ως :data:`sys." +"last_traceback`." #: reference/datamodel.rst:1680 msgid "" @@ -1868,25 +2708,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:1695 msgid "" "Points to the execution :ref:`frame ` of the current level." msgstr "" +"Δείχνει την εκτέλεση :ref:`frame ` του τρέχοντος επιπέδου." #: reference/datamodel.rst:1698 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:1703 msgid "Gives the line number where the exception occurred" -msgstr "" +msgstr "Δίνει τον αριθμό γραμμής όπου προέκυψε η εξαίρεση" #: reference/datamodel.rst:1706 msgid "Indicates the \"precise instruction\"." -msgstr "" +msgstr "Δηλώνει την \"ακριβή οδηγία\"." #: reference/datamodel.rst:1708 msgid "" @@ -1895,6 +2741,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:1719 msgid "" @@ -1902,20 +2752,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:1723 msgid "This attribute is now writable" -msgstr "" +msgstr "Αυτό το χαρακτηριστικό είναι τώρα εγγράψιμο" #: reference/datamodel.rst:1728 msgid "Slice objects" -msgstr "" +msgstr "Αντικείμενα τμηματοποίησης" #: reference/datamodel.rst:1732 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:1741 msgid "" @@ -1923,10 +2779,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:1745 msgid "Slice objects support one method:" -msgstr "" +msgstr "Τα αντικείμενα slice υποστηρίζουν μια μέθοδο:" #: reference/datamodel.rst:1749 msgid "" @@ -1937,10 +2797,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:1758 msgid "Static method objects" -msgstr "" +msgstr "Αντικείμενα στατικών μεθόδων" #: reference/datamodel.rst:1760 msgid "" @@ -1952,10 +2819,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:1770 msgid "Class method objects" -msgstr "" +msgstr "Αντικείμενα μεθόδων κλάσεων" #: reference/datamodel.rst:1772 msgid "" @@ -1966,10 +2843,17 @@ msgid "" "methods>`. Class method objects are created by the built-in :func:" "`classmethod` constructor." msgstr "" +"Ένα αντικείμενο μεθόδου κλάσης, όπως ένα αντικείμενο στατικής μεθόδου, είναι " +"ένα περιτύλιγμα γύρω από ένα άλλο αντικείμενο που αλλάζει τον τρόπο με τον " +"οποίο ανακτάται αυτό το αντικείμενο από κλάσεις και στιγμιότυπα κλάσεων. Η " +"συμπεριφορά των αντικειμένων της μεθόδου κλάσης κατά την ανάκτηση αυτή " +"περιγράφεται παραπάνω, στην ενότητα :ref:`\"instance methods\" `. Τα αντικείμενα της μεθόδου κλάσης δημιουργούνται από τον " +"ενσωματωμένο κατασκευαστή :func:`classmethod`." #: reference/datamodel.rst:1782 msgid "Special method names" -msgstr "" +msgstr "Ειδικά ονόματα μεθόδων" #: reference/datamodel.rst:1788 msgid "" @@ -1984,6 +2868,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:1799 msgid "" @@ -1993,6 +2888,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:1805 msgid "" @@ -2003,10 +2903,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:1816 msgid "Basic customization" -msgstr "" +msgstr "Βασική προσαρμογή" #: reference/datamodel.rst:1822 msgid "" @@ -2017,6 +2924,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:1829 msgid "" @@ -2025,6 +2939,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:1834 msgid "" @@ -2034,12 +2952,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:1839 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:1842 msgid "" @@ -2048,6 +2973,10 @@ msgid "" "commonly overridden in custom metaclasses in order to customize class " "creation." msgstr "" +"Το :meth:`__new__` προορίζεται κυρίως για να επιτρέψει σε υποκλάσεις " +"αμετάβλητων τύπων (όπως int, str, ή tuple) να προσαρμόσουν τη δημιουργία " +"στιγμιοτύπων. Επίσης συνήθως παρακάμπτεται σε προσαρμοσμένες μετακλάσεις " +"προκειμένου να προσαρμόσουν τη δημιουργία κλάσεων." #: reference/datamodel.rst:1851 msgid "" @@ -2058,6 +2987,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:1858 msgid "" @@ -2066,6 +3002,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:1871 msgid "" @@ -2075,6 +3016,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:1877 msgid "" @@ -2085,6 +3031,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:1884 msgid "" @@ -2093,6 +3045,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:1891 msgid "" @@ -2100,6 +3056,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:1896 msgid "" @@ -2111,10 +3070,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:1906 msgid "Documentation for the :mod:`gc` module." -msgstr "" +msgstr "Τεκμηρίωση για το module :mod:`gc`." #: reference/datamodel.rst:1910 msgid "" @@ -2122,6 +3088,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:1914 msgid "" @@ -2131,6 +3100,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:1920 msgid "" @@ -2142,6 +3116,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:1935 msgid "" @@ -2154,6 +3137,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:1944 msgid "" @@ -2161,6 +3154,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:1956 msgid "" @@ -2169,6 +3165,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:1961 msgid "" @@ -2176,12 +3176,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:1965 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:1975 msgid "" @@ -2189,6 +3194,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:1987 msgid "" @@ -2201,33 +3210,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:1997 msgid "" "See :ref:`formatspec` for a description of the standard formatting syntax." msgstr "" +"Δείτε το :ref:`formatspec` για μια περιγραφή της τυπικής σύνταξης " +"μορφοποίησης." #: reference/datamodel.rst:1999 msgid "The return value must be a string object." -msgstr "" +msgstr "Η τιμή επιστροφής πρέπει να είναι αντικείμενο συμβολοσειράς." #: reference/datamodel.rst:2001 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:2004 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:2008 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:2024 msgid "" @@ -2237,6 +3263,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:2030 msgid "" @@ -2248,6 +3279,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:2037 msgid "" @@ -2260,6 +3299,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:2122 msgid "" @@ -2370,6 +3485,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:2131 msgid "" @@ -2378,6 +3499,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:2136 msgid "" @@ -2386,6 +3511,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:2141 msgid "" @@ -2393,14 +3523,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:2145 msgid "See also :envvar:`PYTHONHASHSEED`." -msgstr "" +msgstr "Δείτε επίσης :envvar:`PYTHONHASHSEED`." #: reference/datamodel.rst:2147 msgid "Hash randomization is enabled by default." -msgstr "" +msgstr "Η τυχαιοποίηση κατακερματισμού είναι ενεργοποιημένη από προεπιλογή." #: reference/datamodel.rst:2155 msgid "" @@ -2411,10 +3544,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:2166 msgid "Customizing attribute access" -msgstr "" +msgstr "Προσαρμογή πρόσβασης χαρακτηριστικών" #: reference/datamodel.rst:2168 msgid "" @@ -2422,6 +3562,9 @@ msgid "" "access (use of, assignment to, or deletion of ``x.name``) for class " "instances." msgstr "" +"Οι ακόλουθες μέθοδοι μπορούν αν οριστούν για την προσαρμογή της έννοιας της " +"πρόσβασης χαρακτηριστικών (χρήση, ανάθεση ή διαγραφή του ``x.name``) για " +"στιγμιότυπα κλάσης." #: reference/datamodel.rst:2176 msgid "" @@ -2433,6 +3576,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:2184 msgid "" @@ -2446,6 +3597,17 @@ 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:2197 msgid "" @@ -2458,6 +3620,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:2208 msgid "" @@ -2465,12 +3637,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:2215 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:2222 msgid "" @@ -2478,6 +3656,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:2226 msgid "" @@ -2485,6 +3667,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:2232 msgid "" @@ -2492,6 +3677,9 @@ msgid "" "` ``object.__setattr__`` with arguments ``obj``, ``name``, " "``value``." msgstr "" +"Για ορισμένες εκχωρήσεις ευαίσθητων χαρακτηριστικών, γίνεται raise μια :ref:" +"`auditing event ` ``object.__setattr__`` με ορίσματα ``obj``, " +"``name``, ``value``." #: reference/datamodel.rst:2239 msgid "" @@ -2499,22 +3687,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:2244 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:2251 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:2256 msgid "Customizing module attribute access" -msgstr "" +msgstr "Προσαρμογή πρόσβασης χαρακτηριστικών module" #: reference/datamodel.rst:2263 msgid "" @@ -2527,6 +3724,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:2272 msgid "" @@ -2534,6 +3741,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:2276 msgid "" @@ -2541,6 +3752,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:2280 msgid "" @@ -2557,6 +3772,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:2294 msgid "" @@ -2565,26 +3792,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:2299 msgid "``__class__`` module attribute is now writable." -msgstr "" +msgstr "Το χαρακτηριστικό ``__class__`` του module είναι πλέον εγγράψιμο." #: reference/datamodel.rst:2302 msgid "``__getattr__`` and ``__dir__`` module attributes." -msgstr "" +msgstr "Τα χαρακτηριστικά ``__getattr__`` και ``__dir__`` του module." #: reference/datamodel.rst:2307 msgid ":pep:`562` - Module __getattr__ and __dir__" -msgstr "" +msgstr ":pep:`562` - Module __getattr__ και __dir__" #: reference/datamodel.rst:2308 msgid "Describes the ``__getattr__`` and ``__dir__`` functions on modules." -msgstr "" +msgstr "Περιγράφει τις συναρτήσεις ``__getattr__`` και ``__dir__`` σε modules." #: reference/datamodel.rst:2314 msgid "Implementing Descriptors" -msgstr "" +msgstr "Υλοποίηση Περιγραφέων" #: reference/datamodel.rst:2316 msgid "" @@ -2596,6 +3828,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:2326 msgid "" @@ -2605,12 +3845,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:2332 msgid "" "This method should return the computed attribute value or raise an :exc:" "`AttributeError` exception." msgstr "" +"Αυτή η μέθοδος πρέπει να επιστρέφει την υπολογισμένη τιμή του " +"χαρακτηριστικού ή να κάνει raise μια :exc:`AttributeError` εξαίρεση." #: reference/datamodel.rst:2335 msgid "" @@ -2621,12 +3869,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:2344 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:2347 msgid "" @@ -2634,17 +3890,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:2353 msgid "" "Called to delete the attribute on an instance *instance* of the owner class." msgstr "" +"Καλείται για να διαγραφεί το χαρακτηριστικό σε ένα στιγμιότυπο *instance* " +"της ιδιοκτήτρια κλάσης." #: reference/datamodel.rst:2355 msgid "" "Instances of descriptors may also have the :attr:`!__objclass__` attribute " "present:" msgstr "" +"Τα στιγμιότυπα περιγραφέων μπορείς επίσης να έχουν διαθέσιμο το " +"χαρακτηριστικό :attr:`!__objclass__`:" #: reference/datamodel.rst:2360 msgid "" @@ -2656,10 +3919,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:2371 msgid "Invoking Descriptors" -msgstr "" +msgstr "Κλήση Descriptors" #: reference/datamodel.rst:2373 msgid "" @@ -2669,6 +3940,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:2379 msgid "" @@ -2677,6 +3954,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:2384 msgid "" @@ -2685,46 +3968,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:2389 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:2392 msgid "Direct Call" -msgstr "" +msgstr "Απευθείας Κλήση" #: reference/datamodel.rst:2393 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:2396 msgid "Instance Binding" -msgstr "" +msgstr "Δέσμευση Στιγμιοτύπου" #: reference/datamodel.rst:2397 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:2400 msgid "Class Binding" -msgstr "" +msgstr "Δέσμευση Κλάσης" #: reference/datamodel.rst:2401 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:2404 msgid "Super Binding" -msgstr "" +msgstr "Υπερ-Δέσμευση" #: reference/datamodel.rst:2405 msgid "" @@ -2732,6 +4028,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:2442 msgid "" @@ -2750,6 +4050,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:2457 msgid "" @@ -2759,16 +4074,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:2463 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:2470 msgid "__slots__" -msgstr "" +msgstr "__slots__" #: reference/datamodel.rst:2472 msgid "" @@ -2776,12 +4099,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:2476 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:2481 msgid "" @@ -2790,10 +4120,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:2490 msgid "Notes on using *__slots__*:" -msgstr "" +msgstr "Σημειώσεις σχετικά με τη χρήση *__slots__*:" #: reference/datamodel.rst:2492 msgid "" @@ -2801,6 +4136,9 @@ msgid "" "__dict__` and *__weakref__* attribute of the instances will always be " "accessible." msgstr "" +"Όταν γίνεται κληρονομιά από μια κλάση χωρίς *__slots__*, το χαρακτηριστικό :" +"attr:`~object.__dict__` και *__weakref__* των στιγμιοτύπων θα είναι πάντα " +"προσβάσιμο." #: reference/datamodel.rst:2496 msgid "" @@ -2810,6 +4148,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:2503 msgid "" @@ -2818,6 +4162,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:2509 msgid "" @@ -2826,6 +4175,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:2515 msgid "" @@ -2835,6 +4190,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:2521 msgid "" @@ -2844,6 +4205,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:2526 msgid "" @@ -2852,10 +4218,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:2531 msgid "Any non-string :term:`iterable` may be assigned to *__slots__*." msgstr "" +"Οποιαδήποτε μη συμβολοσειρά :term:`iterable` μπορεί να εκχωρηθεί σε " +"*__slots__*." #: reference/datamodel.rst:2533 msgid "" @@ -2864,12 +4236,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:2538 msgid "" ":attr:`~object.__class__` assignment works only if both classes have the " "same *__slots__*." msgstr "" +"Η ανάθεση στη :attr:`~instance.__class__` λειτουργεί μόνο αν και οι δύο " +"κλάσεις έχουν τα ίδια *__slots__*." #: reference/datamodel.rst:2541 msgid "" @@ -2878,6 +4258,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:2547 msgid "" @@ -2885,10 +4270,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:2555 msgid "Customizing class creation" -msgstr "" +msgstr "Προσαρμογή δημιουργίας κλάσης" #: reference/datamodel.rst:2557 msgid "" @@ -2899,6 +4287,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:2566 msgid "" @@ -2906,6 +4301,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:2570 msgid "" @@ -2914,6 +4312,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:2576 msgid "" @@ -2925,12 +4327,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:2584 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:2589 msgid "" @@ -2939,24 +4350,35 @@ msgid "" "actual metaclass (rather than the explicit hint) can be accessed as " "``type(cls)``." msgstr "" +"Η υπόδειξη μετακλάσης ``metaclass`` καταναλώνεται από τα υπόλοιπα μηχανήματα " +"τύπου και δεν μεταβιβάζεται ποτέ στις υλοποιήσεις ``__init_subclass__``. Η " +"πραγματική μετακλάση (και όχι η ρητή υπόδειξη) μπορεί να προσπελαστεί ως " +"``type(cls)``." #: reference/datamodel.rst:2597 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:2602 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:2605 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:2608 msgid "" @@ -2964,6 +4386,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:2612 msgid "" @@ -2974,14 +4399,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:2619 msgid "See :ref:`class-object-creation` for more details." -msgstr "" +msgstr "Δείτε το :ref:`class-object-creation` για περισσότερες λεπτομέρειες." #: reference/datamodel.rst:2627 msgid "Metaclasses" -msgstr "" +msgstr "Μετα-κλάσεις" #: reference/datamodel.rst:2634 msgid "" @@ -2989,6 +4420,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:2638 msgid "" @@ -2997,6 +4431,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:2643 msgid "" @@ -3009,40 +4448,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:2652 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:2655 msgid "When a class definition is executed, the following steps occur:" -msgstr "" +msgstr "Όταν εκτελείται ένας ορισμός κλάσης, εμφανίζονται τα ακόλουθα βήματα:" #: reference/datamodel.rst:2657 msgid "MRO entries are resolved;" -msgstr "" +msgstr "Οι εγγραφές MRO επιλύονται∙" #: reference/datamodel.rst:2658 msgid "the appropriate metaclass is determined;" -msgstr "" +msgstr "καθορίζεται η κατάλληλη μετακλάση∙" #: reference/datamodel.rst:2659 msgid "the class namespace is prepared;" -msgstr "" +msgstr "προετοιμάζεται ο χώρος ονομάτων της κλάσης∙" #: reference/datamodel.rst:2660 msgid "the class body is executed;" -msgstr "" +msgstr "εκτελείται το σώμα της κλάσης∙" #: reference/datamodel.rst:2661 msgid "the class object is created." -msgstr "" +msgstr "δημιουργείται το αντικείμενο της κλάσης." #: reference/datamodel.rst:2665 msgid "Resolving MRO entries" -msgstr "" +msgstr "Επίλυση εγγραφών MRO" #: reference/datamodel.rst:2669 msgid "" @@ -3055,58 +4504,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:2680 msgid ":func:`types.resolve_bases`" -msgstr "" +msgstr ":func:`types.resolve_bases`" #: reference/datamodel.rst:2681 msgid "Dynamically resolve bases that are not instances of :class:`type`." -msgstr "" +msgstr "Επιλύστε δυναμικά βάσεις που δεν είναι στιγμιότυπα του :class:`type`." #: reference/datamodel.rst:2683 msgid ":func:`types.get_original_bases`" -msgstr "" +msgstr ":func:`types.get_original_bases`" #: reference/datamodel.rst:2684 msgid "" "Retrieve a class's \"original bases\" prior to modifications by :meth:" "`~object.__mro_entries__`." msgstr "" +"Ανακτήσετε τις \"αρχικές βάσεις\" μιας κλάσης πριν από τις τροποποιήσεις " +"από :meth:`~object.__mro_entries__`." #: reference/datamodel.rst:2687 msgid ":pep:`560`" -msgstr "" +msgstr ":pep:`560`" #: reference/datamodel.rst:2688 msgid "Core support for typing module and generic types." -msgstr "" +msgstr "Βασική υποστήριξη για modules τύπων και γενικούς τύπους." #: reference/datamodel.rst:2692 msgid "Determining the appropriate metaclass" -msgstr "" +msgstr "Προσδιορισμός της κατάλληλης μετακλάσης" #: reference/datamodel.rst:2696 msgid "" "The appropriate metaclass for a class definition is determined as follows:" -msgstr "" +msgstr "Η κατάλληλη μετακλάση για έναν ορισμό κλάσης καθορίζεται ως εξής: " #: reference/datamodel.rst:2698 msgid "" "if no bases and no explicit metaclass are given, then :func:`type` is used;" msgstr "" +"εάν δεν δίνονται βάσεις και καμία ρητή μετακλάση, τότε χρησιμοποιείται η :" +"func:`type` ∙" #: reference/datamodel.rst:2699 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:2701 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:2704 msgid "" @@ -3116,10 +4582,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:2714 msgid "Preparing the class namespace" -msgstr "" +msgstr "Προετοιμασία του χώρου ονομάτων της κλάσης" #: reference/datamodel.rst:2719 msgid "" @@ -3132,24 +4604,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:2728 msgid "" "If the metaclass has no ``__prepare__`` attribute, then the class namespace " "is initialised as an empty ordered mapping." msgstr "" +"Εάν η μετακλάση δεν έχει χαρακτηριστικό ``__prepare__``, τότε ο χώρος " +"ονομάτων κλάσης αρχικοποιείται ως κενή ταξινομημένη αντιστοίχιση." #: reference/datamodel.rst:2733 msgid ":pep:`3115` - Metaclasses in Python 3000" -msgstr "" +msgstr ":pep:`3115` - Μετακλάσεις στην Python 3000" #: reference/datamodel.rst:2734 msgid "Introduced the ``__prepare__`` namespace hook" -msgstr "" +msgstr "Παρουσιάστηκε το άγκιστρο χώρου ονομάτων ``__prepare__``" #: reference/datamodel.rst:2738 msgid "Executing the class body" -msgstr "" +msgstr "Εκτέλεση του σώματος της κλάσης" #: reference/datamodel.rst:2743 msgid "" @@ -3159,6 +4642,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:2749 msgid "" @@ -3168,10 +4657,16 @@ msgid "" "class methods, or through the implicit lexically scoped ``__class__`` " "reference described in the next section." msgstr "" +"Ωστόσο, ακόμα και όταν ο ορισμός της κλάσης εμφανίζεται μέσα στη συνάρτηση, " +"οι μέθοδοι που ορίζονται μέσα στην κλάση εξακολουθούν να μην μπορούν να δουν " +"ονόματα που ορίζονται στο πεδίο της κλάσης. Οι μεταβλητές κλάσης πρέπει να " +"είναι προσβάσιμες μέσω της πρώτης παραμέτρου των μεθόδων στιγμιοτύπου ή " +"κλάσης ή μέσω της σιωπηρής αναφοράς ``__class__`` με λεξικό που περιγράφεται " +"στην επόμενη ενότητα." #: reference/datamodel.rst:2758 msgid "Creating the class object" -msgstr "" +msgstr "Δημιουργία αντικειμένου κλάσης" #: reference/datamodel.rst:2765 msgid "" @@ -3180,6 +4675,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:2770 msgid "" @@ -3191,6 +4690,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:2780 msgid "" @@ -3200,6 +4708,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:2786 msgid "" @@ -3207,24 +4721,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:2790 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:2792 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:2794 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:2797 msgid "" @@ -3232,6 +4755,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:2801 msgid "" @@ -3240,18 +4767,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:2808 msgid ":pep:`3135` - New super" -msgstr "" +msgstr ":pep:`3135` - Νέο super" #: reference/datamodel.rst:2809 msgid "Describes the implicit ``__class__`` closure reference" -msgstr "" +msgstr "Περιγράφει την σιωπηρή αναφορά κλεισίματος ``__class__``" #: reference/datamodel.rst:2813 msgid "Uses for metaclasses" -msgstr "" +msgstr "Χρήσεις για μετακλάσεις" #: reference/datamodel.rst:2815 msgid "" @@ -3260,16 +4793,23 @@ msgid "" "automatic property creation, proxies, frameworks, and automatic resource " "locking/synchronization." msgstr "" +"Οι πιθανές χρήσεις για μετακλάσεις είναι απεριόριστες. Ορισμένες ιδέες που " +"έχουν διερευνηθεί περιλαμβάνουν το enum, την καταγραφή, τον έλεγχο διεπαφής, " +"την αυτόματα ανάθεση την αυτόματη δημιουργία ιδιοτήτων, τους διακομιστές " +"μεσολάβησης, τα πλαίσια και το αυτόματο κλείδωμα/συγχρονισμό πόρων." #: reference/datamodel.rst:2822 msgid "Customizing instance and subclass checks" -msgstr "" +msgstr "Προσαρμογή ελέγχων παρουσίας και υποκλάσης" #: reference/datamodel.rst:2824 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:2827 msgid "" @@ -3278,6 +4818,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:2834 msgid "" @@ -3285,6 +4830,9 @@ msgid "" "instance of *class*. If defined, called to implement ``isinstance(instance, " "class)``." msgstr "" +"Επιστρέφετε true εάν το *instance* θα πρέπει να θεωρείται ένα (άμεσο ή " +"έμμεσο) στιγμιότυπο της *class*. Εάν ορίζεται, καλείται να υλοποιήσει " +"``isinstance(instance, class)``." #: reference/datamodel.rst:2841 msgid "" @@ -3292,6 +4840,9 @@ msgid "" "subclass of *class*. If defined, called to implement ``issubclass(subclass, " "class)``." msgstr "" +"Επιστρέφετε true εάν η *subclass* πρέπει να θεωρείται μια (άμεση ή έμμεση) " +"υποκλάση της *class*. Εάν ορίζεται, καλείται να υλοποιήσει " +"``issubclass(subclass, class)``." #: reference/datamodel.rst:2846 msgid "" @@ -3300,10 +4851,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:2853 msgid ":pep:`3119` - Introducing Abstract Base Classes" -msgstr "" +msgstr ":pep:`3119` - Εισάγοντας τις Αφηρημένες Βασικές Κλάσεις" #: reference/datamodel.rst:2854 msgid "" @@ -3313,10 +4868,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:2862 msgid "Emulating generic types" -msgstr "" +msgstr "Εξομοίωση γενικών τύπων" #: reference/datamodel.rst:2864 msgid "" @@ -3325,46 +4885,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:2871 msgid ":pep:`484` - Type Hints" -msgstr "" +msgstr ":pep:`484` - Τύπος Hints" #: reference/datamodel.rst:2872 msgid "Introducing Python's framework for type annotations" -msgstr "" +msgstr "Εισάγοντας το πλαίσιο της Python για τύπους annotations" #: reference/datamodel.rst:2874 msgid ":ref:`Generic Alias Types`" -msgstr "" +msgstr ":ref:`Generic Alias Types`" #: reference/datamodel.rst:2875 msgid "Documentation for objects representing parameterized generic classes" msgstr "" +"Τεκμηρίωση για αντικείμενα που αντιπροσωπεύουν παραμετροποιημένες γενικές " +"κλάσεις" #: reference/datamodel.rst:2877 msgid "" ":ref:`Generics`, :ref:`user-defined generics` and :" "class:`typing.Generic`" msgstr "" +":ref:`Generics`, :ref:`user-defined generics` και :" +"class:`typing.Generic`" #: reference/datamodel.rst:2878 msgid "" "Documentation on how to implement generic classes that can be parameterized " "at runtime and understood by static type-checkers." msgstr "" +"Τεκμηρίωση για τον τρόπο υλοποίησης γενικών κλάσεων που μπορούν να " +"παραμετροποιηθούν κατά το χρόνο εκτέλεσης και να κατανοηθούν από στατικούς " +"ελεγκτές τύπων." #: reference/datamodel.rst:2881 msgid "" "A class can *generally* only be parameterized if it defines the special " "class method ``__class_getitem__()``." msgstr "" +"Μια κλάση *γενικά* μπορεί να παραμετροποιηθεί μόνο εάν ορίζει την ειδική " +"μέθοδο κλάσης ``__class_getitem__()``." #: reference/datamodel.rst:2886 msgid "" "Return an object representing the specialization of a generic class by type " "arguments found in *key*." msgstr "" +"Επιστρέφετε ένα αντικείμενο που αντιπροσωπεύει την εξειδίκευση μιας γενικής " +"κλάσης κατά ορίσματα τύπου που βρίσκονται στο *key*." #: reference/datamodel.rst:2889 msgid "" @@ -3372,10 +4948,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:2895 msgid "The purpose of *__class_getitem__*" -msgstr "" +msgstr "Ο σκοπός του *__class_getitem__*" #: reference/datamodel.rst:2897 msgid "" @@ -3383,6 +4962,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:2901 msgid "" @@ -3392,6 +4975,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:2907 msgid "" @@ -3400,10 +4989,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:2917 msgid "*__class_getitem__* versus *__getitem__*" -msgstr "" +msgstr "*__class_getitem__* έναντι *__getitem__*" #: reference/datamodel.rst:2919 msgid "" @@ -3414,6 +5008,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:2926 msgid "" @@ -3421,6 +5022,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:2931 msgid "" @@ -3447,6 +5051,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:2954 msgid "" @@ -3457,6 +5083,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:2961 msgid "" @@ -3472,6 +5104,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:2973 msgid "" @@ -3479,6 +5122,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:2977 msgid "" @@ -3499,10 +5146,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:2996 msgid ":pep:`560` - Core Support for typing module and generic types" msgstr "" +":pep:`560` - Βασική υποστήριξη για module πληκτρολόγησης και γενικούς τύπους" #: reference/datamodel.rst:2997 msgid "" @@ -3510,10 +5174,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:3005 msgid "Emulating callable objects" -msgstr "" +msgstr "Εξομοίωση αντικειμένων με δυνατότητα κλήσης" #: reference/datamodel.rst:3012 msgid "" @@ -3521,10 +5188,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:3020 msgid "Emulating container types" -msgstr "" +msgstr "Εξομοίωση τύπων κοντέινερ" #: reference/datamodel.rst:3022 msgid "" @@ -3562,6 +5233,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:3064 msgid "" @@ -3570,6 +5278,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:3071 msgid "" @@ -3579,6 +5292,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:3080 msgid "" @@ -3589,27 +5308,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:3094 msgid "" "Slicing is done exclusively with the following three methods. A call like ::" msgstr "" +"Η διαδικασία τμηματοποίησης γίνεται αποκλειστικά με τις ακόλουθες τρεις " +"μεθόδους. Μια κλήση όπως ::" #: reference/datamodel.rst:3096 msgid "a[1:2] = b" -msgstr "" +msgstr "a[1:2] = b" #: reference/datamodel.rst:3098 msgid "is translated to ::" -msgstr "" +msgstr "μεταφράζεται σε ::" #: reference/datamodel.rst:3100 msgid "a[slice(1, 2, None)] = b" -msgstr "" +msgstr "a[slice(1, 2, None)] = b" #: reference/datamodel.rst:3102 msgid "and so forth. Missing slice items are always filled in with ``None``." msgstr "" +"και ούτω καθεξής. Τα στοιχεία τμήματος που λείπουν συμπληρώνονται πάντα με " +"``None``." #: reference/datamodel.rst:3107 msgid "" @@ -3622,12 +5352,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:3119 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:3124 msgid "" @@ -3635,6 +5377,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:3132 msgid "" @@ -3644,6 +5390,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:3141 msgid "" @@ -3653,12 +5405,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:3150 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:3156 msgid "" @@ -3667,6 +5427,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:3164 msgid "" @@ -3674,6 +5439,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:3168 msgid "" @@ -3683,6 +5452,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:3175 msgid "" @@ -3691,6 +5466,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:3182 msgid "" @@ -3698,6 +5478,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:3186 msgid "" @@ -3706,10 +5490,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:3195 msgid "Emulating numeric types" -msgstr "" +msgstr "Εξομοίωση αριθμητικών τύπων" #: reference/datamodel.rst:3197 msgid "" @@ -3718,6 +5506,10 @@ msgid "" "number implemented (e.g., bitwise operations for non-integral numbers) " "should be left undefined." msgstr "" +"Οι ακόλουθες μέθοδοι μπορούν να οριστούν για την εξομοίωση αριθμητικών " +"αντικειμένων. Οι μέθοδοι που αντιστοιχούν σε πράξεις που δεν υποστηρίζονται " +"από το συγκεκριμένο είδος αριθμού που υλοποιείται (π.χ. λειτουργίες bitwise " +"για μη ακέραιους αριθμούς) θα πρέπει να παραμείνουν απροσδιόριστες." #: reference/datamodel.rst:3223 msgid "" @@ -3732,12 +5524,24 @@ msgid "" "optional third argument if the ternary 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:3234 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:3257 msgid "" @@ -3751,12 +5555,23 @@ msgid "" "__rsub__(y, x)`` is called if ``type(x).__sub__(x, y)`` returns :data:" "`NotImplemented`." msgstr "" +"Αυτές οι μέθοδοι καλούνται να υλοποιήσουν τις δυαδικές αριθμητικές πράξεις " +"(``+``, ``-``, ``*``, ``@``, ``/``, ``//``, ``%``, :func:`divmod`, :func:" +"`pow`, ``**``, ``<<``, ``>>``, ``&``, ``^``, ``|``) με ανακλώμενους " +"(ανταλλαγμένους) τελεστές. Αυτές οι συναρτήσεις καλούνται μόνο εάν ο " +"αριστερός τελεστής δεν υποστηρίζει την αντίστοιχη λειτουργία [#]_ και οι " +"τελεστές είναι διαφορετικών τύπων. [#]_ Για παράδειγμα, για να αξιολογήσουμε " +"την έκφραση ``x - y``, όπου το *y* είναι μια παρουσία μιας κλάσης που έχει " +"μια μέθοδο :meth:`__rsub__`, καλείται το ``type(y).__rsub__(y, x)`` εάν το " +"``type(x).__sub__(x, y)`` επιστρέφει :data:`NotImplemented`." #: reference/datamodel.rst:3269 msgid "" "Note that ternary :func:`pow` will not try calling :meth:`__rpow__` (the " "coercion rules would become too complicated)." msgstr "" +"Λάβετε υπόψη ότι το τριαδικό :func:`pow` δεν θα προσπαθήσει να καλέσει το :" +"meth:`__rpow__` (οι κανόνες εξαναγκασμού θα γίνουν πολύ περίπλοκοι)." #: reference/datamodel.rst:3274 msgid "" @@ -3766,6 +5581,11 @@ msgid "" "reflected method. This behavior allows subclasses to override their " "ancestors' operations." msgstr "" +"Εάν ο τύπος του δεξιού τελεστή είναι υποκλάση του τύπου του αριστερού " +"τελεστή και αυτή η υποκλάση παρέχει μια διαφορετική υλοποίηση της " +"ανακλώμενης μεθόδου για τη λειτουργία, αυτή η μέθοδος θα κληθεί πριν από τη " +"μη ανακλώμενη μέθοδο του αριστερού τελεστή. Αυτή η συμπεριφορά επιτρέπει " +"στις υποκλάσεις να παρακάμπτουν τις πράξεις των προγόνων τους." #: reference/datamodel.rst:3295 msgid "" @@ -3784,18 +5604,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:3318 msgid "" "Called to implement the unary arithmetic operations (``-``, ``+``, :func:" "`abs` and ``~``)." msgstr "" +"Καλείται για την υλοποίηση μονομερών αριθμητικών πράξεων (``-``, ``+``, :" +"func:`abs` και ``~``)." #: reference/datamodel.rst:3331 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:3338 msgid "" @@ -3805,6 +5646,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:3344 msgid "" @@ -3812,6 +5659,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:3356 msgid "" @@ -3821,20 +5671,27 @@ 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:3362 msgid "" "The built-in function :func:`int` falls back to :meth:`__trunc__` if " "neither :meth:`__int__` nor :meth:`__index__` is defined." msgstr "" +"Η ενσωματωμένη συνάρτηση :func:`int` επιστρέφει σε :meth:`__trunc__` εάν δεν " +"έχει οριστεί ούτε :meth:`__int__` ούτε :meth:`__index__`." #: reference/datamodel.rst:3365 msgid "The delegation of :func:`int` to :meth:`__trunc__` is deprecated." -msgstr "" +msgstr "Η εκχώρηση του :func:`int` στο :meth:`__trunc__` έχει καταργηθεί." #: reference/datamodel.rst:3372 msgid "With Statement Context Managers" -msgstr "" +msgstr "Με τους Διαχειριστές Περιβάλλοντος Δήλωσης" #: reference/datamodel.rst:3374 msgid "" @@ -3845,12 +5702,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:3385 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:3388 msgid "" @@ -3858,6 +5725,9 @@ msgid "" "The :class:`object` class itself does not provide the context manager " "methods." msgstr "" +"Για περισσότερες πληροφορίες σχετικά με τους διαχειριστές περιβάλλοντος, " +"ανατρέξτε στο :ref:`typecontextmanager`. Η ίδια η κλάση :class:`object` δεν " +"παρέχει τις μεθόδους διαχειριστή περιβάλλοντος." #: reference/datamodel.rst:3394 msgid "" @@ -3865,6 +5735,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:3401 msgid "" @@ -3872,6 +5746,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:3405 msgid "" @@ -3880,26 +5758,34 @@ msgid "" "Otherwise, the exception will be processed normally upon exit from this " "method." msgstr "" +"Εάν παρέχεται μια εξαίρεση και η μέθοδος επιθυμεί να καταργήσει την εξαίρεση " +"(δηλαδή, να αποτρέψει τη διάδοση της), θα πρέπει να επιστρέψει μια " +"πραγματική τιμή. Διαφορετικά, η εξαίρεση θα διεκπεραιωθεί κανονικά κατά την " +"έξοδο από αυτήν τη μέθοδο." #: reference/datamodel.rst:3409 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:3415 msgid ":pep:`343` - The \"with\" statement" -msgstr "" +msgstr ":pep:`343` - Η πρόταση \"with\"" #: reference/datamodel.rst:3416 msgid "" "The specification, background, and examples for the Python :keyword:`with` " "statement." msgstr "" +"Οι προδιαγραφές, το υπόβαθρο και τα παραδείγματα για τη δήλωση Python :" +"keyword:`with`." #: reference/datamodel.rst:3423 msgid "Customizing positional arguments in class pattern matching" -msgstr "" +msgstr "Προσαρμογή ορισμάτων θέσης στην αντιστοίχιση προτύπων κλάσης" #: reference/datamodel.rst:3425 msgid "" @@ -3908,6 +5794,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:3432 msgid "" @@ -3917,6 +5808,11 @@ msgid "" "*__match_args__* as the keyword. The absence of this attribute is equivalent " "to setting it to ``()``." msgstr "" +"Σε αυτήν την μεταβλητή κλάσης μπορεί να εκχωρηθεί μια πλειάδα συμβολοσειρών. " +"Όταν αυτή η κλάση χρησιμοποιείται σε ένα μοτίβο κλάσης με ορίσματα θέσης, " +"κάθε όρισμα θέσης θα μετατραπεί σε όρισμα λέξης-κλειδιού, χρησιμοποιώντας " +"την αντίστοιχη τιμή στο *__match_args__* ως λέξη-κλειδί. Η απουσία αυτού του " +"χαρακτηριστικού ισοδυναμεί με τη ρύθμιση του σε ``()``." #: reference/datamodel.rst:3438 msgid "" @@ -3927,18 +5823,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:3448 msgid ":pep:`634` - Structural Pattern Matching" -msgstr "" +msgstr ":pep:`634` - Αντιστοίχιση δομικών προτύπων" #: reference/datamodel.rst:3449 msgid "The specification for the Python ``match`` statement." -msgstr "" +msgstr "Η προδιαγραφή για τη δήλωση Python ``match``." #: reference/datamodel.rst:3455 msgid "Emulating buffer types" -msgstr "" +msgstr "Εξομοίωση τύπων buffer" #: reference/datamodel.rst:3457 msgid "" @@ -3947,12 +5849,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:3462 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:3467 msgid "" @@ -3963,6 +5872,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:3476 msgid "" @@ -3972,27 +5888,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:3487 msgid ":pep:`688` - Making the buffer protocol accessible in Python" -msgstr "" +msgstr ":pep:`688` - Κάνοντας το πρωτόκολλο buffer προσβάσιμο στην Python" #: reference/datamodel.rst:3488 msgid "" "Introduces the Python ``__buffer__`` and ``__release_buffer__`` methods." msgstr "" +"Παρουσιάζει τις μεθόδους Python ``__buffer__`` και ``__release_buffer__``." #: reference/datamodel.rst:3490 msgid ":class:`collections.abc.Buffer`" -msgstr "" +msgstr ":class:`collections.abc.Buffer`" #: reference/datamodel.rst:3491 msgid "ABC for buffer types." -msgstr "" +msgstr "ABC για τύπους buffer." #: reference/datamodel.rst:3496 msgid "Special method lookup" -msgstr "" +msgstr "Αναζήτηση ειδικής μεθόδου" #: reference/datamodel.rst:3498 msgid "" @@ -4001,6 +5924,11 @@ msgid "" "object's instance dictionary. That behaviour is the reason why the " "following code raises an exception::" msgstr "" +"Για προσαρμοσμένες κλάσεις, οι σιωπηρές επικλήσεις ειδικών μεθόδων είναι " +"εγγυημένο ότι θα λειτουργούν σωστά μόνο εάν ορίζονται στον τύπο ενός " +"αντικειμένου και όχι στο λεξικό στιγμιοτύπου του αντικειμένου. Αυτή η " +"συμπεριφορά είναι ο λόγος για τον οποίο ο ακόλουθος κώδικας κάνει raise μια " +"εξαίρεση::" #: reference/datamodel.rst:3503 msgid "" @@ -4014,6 +5942,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:3513 msgid "" @@ -4023,6 +5960,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:3520 msgid "" @@ -4033,6 +5975,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:3527 msgid "" @@ -4040,6 +5988,9 @@ msgid "" "sometimes referred to as 'metaclass confusion', and is avoided by bypassing " "the instance when looking up special methods::" msgstr "" +"Η εσφαλμένη προσπάθειας επίκλησης μιας μη δεσμευμένης μεθόδου μιας κλάσης με " +"αυτόν τον τρόπο αναφέρεται μερικές φορές ως 'σύγχυση μετακλάσης', και " +"αποφεύγεται με παράκαμψη της παρουσίας κατά την αναζήτηση ειδικών μεθόδων::" #: reference/datamodel.rst:3531 msgid "" @@ -4048,6 +5999,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:3536 msgid "" @@ -4055,6 +6010,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:3540 msgid "" @@ -4080,6 +6039,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:3562 msgid "" @@ -4089,14 +6069,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:3573 msgid "Coroutines" -msgstr "" +msgstr "Coroutines" #: reference/datamodel.rst:3577 msgid "Awaitable Objects" -msgstr "" +msgstr "Awaitable Αντικείμενα" #: reference/datamodel.rst:3579 msgid "" @@ -4104,6 +6089,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:3585 msgid "" @@ -4111,6 +6099,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:3591 msgid "" @@ -4119,6 +6110,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:3599 msgid "" @@ -4127,14 +6123,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:3607 msgid ":pep:`492` for additional information about awaitable objects." msgstr "" +"Το :pep:`492` για πρόσθετες πληροφορίες σχετικά με τα awaitable αντικείμενα." #: reference/datamodel.rst:3613 msgid "Coroutine Objects" -msgstr "" +msgstr "Coroutine Αντικείμενα" #: reference/datamodel.rst:3615 msgid "" @@ -4146,6 +6147,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:3623 msgid "" @@ -4153,10 +6162,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:3627 msgid "It is a :exc:`RuntimeError` to await on a coroutine more than once." msgstr "" +"Είναι ένα :exc:`RuntimeError` να περιμένει κανείς σε μια coroutine " +"περισσότερες από μία φορές." #: reference/datamodel.rst:3633 msgid "" @@ -4168,6 +6183,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:3644 msgid "" @@ -4179,12 +6201,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:3655 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:3660 msgid "" @@ -4195,45 +6227,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:3668 msgid "" "Coroutine objects are automatically closed using the above process when they " "are about to be destroyed." msgstr "" +"Τα αντικείμενα coroutine κλείνουν αυτόματα χρησιμοποιώντας την παραπάνω " +"διαδικασία όταν πρόκειται να καταστραφούν." #: reference/datamodel.rst:3674 msgid "Asynchronous Iterators" -msgstr "" +msgstr "Ασύγχρονοι Iterators" #: reference/datamodel.rst:3676 msgid "" "An *asynchronous iterator* can call asynchronous code in its ``__anext__`` " "method." msgstr "" +"Ένας *ασύγχρονος iterator* μπορεί να καλέσει ασύγχρονο κώδικα με τη μέθοδο " +"``__anext__``." #: reference/datamodel.rst:3679 msgid "" "Asynchronous iterators can be used in an :keyword:`async for` statement." msgstr "" +"Οι ασύγχρονοι iterators μπορούν να χρησιμοποιηθούν σε μια δήλωση :keyword:" +"`async for`." #: reference/datamodel.rst:3730 msgid "The :class:`object` class itself does not provide these methods." -msgstr "" +msgstr "Η ίδια η κλάση :class:`object` δεν παρέχει αυτές τις μεθόδους." #: reference/datamodel.rst:3686 msgid "Must return an *asynchronous iterator* object." -msgstr "" +msgstr "Πρέπει να επιστρέψει ένα αντικείμενο *ασύγχρονου iterator*." #: reference/datamodel.rst:3690 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:3693 msgid "An example of an asynchronous iterable object::" -msgstr "" +msgstr "Παράδειγμα σύγχρονου iterator αντικειμένου::" #: reference/datamodel.rst:3695 msgid "" @@ -4250,6 +6298,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:3710 msgid "" @@ -4257,6 +6317,9 @@ msgid "" "that would resolve to an :term:`asynchronous iterator `." msgstr "" +"Πριν από την Python 3.7, η :meth:`~object.__aiter__` θα μπορούσε να " +"επιστρέψει ένα *αναμενόμενο* που θα επιλύονται σε ένα :term:`asynchronous " +"iterator `." #: reference/datamodel.rst:3715 msgid "" @@ -4264,38 +6327,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:3723 msgid "Asynchronous Context Managers" -msgstr "" +msgstr "Ασύγχρονοι Διαχειριστές Περιβάλλοντος" #: reference/datamodel.rst:3725 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:3728 msgid "" "Asynchronous context managers can be used in an :keyword:`async with` " "statement." msgstr "" +"Οι ασύγχρονοι διαχειριστές περιβάλλοντος μπορούν να χρησιμοποιηθούν σε μια " +"δήλωση :keyword:`async with`." #: reference/datamodel.rst:3734 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:3739 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:3742 msgid "An example of an asynchronous context manager class::" -msgstr "" +msgstr "Ένα παράδειγμα κλάσης ασύγχρονης διαχείρισης περιβάλλοντος::" #: reference/datamodel.rst:3744 msgid "" @@ -4306,10 +6381,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:3755 msgid "Footnotes" -msgstr "" +msgstr "Υποσημειώσεις" #: reference/datamodel.rst:3756 msgid "" @@ -4317,6 +6398,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:3760 msgid "" @@ -4325,6 +6410,11 @@ 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__` έχουν ειδικό " +"χειρισμό για αυτό∙ άλλοι θα εξακολουθήσουν να κάνουν raise ένα :exc:" +"`TypeError`, αλλά μπορεί να το κάνει βασιζόμενος στη συμπεριφορά ότι το " +"``None`` δεν καλείται." #: reference/datamodel.rst:3766 msgid "" @@ -4333,6 +6423,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:3772 msgid "" @@ -4340,6 +6435,9 @@ msgid "" "method -- such as :meth:`~object.__add__` -- fails then the overall " "operation is not supported, which is why the reflected method is not called." msgstr "" +"Για τελεστές του ίδιου τύπου, θεωρείται ότι εάν η μη ανακλώμενη μέθοδος -- " +"όπως :meth:`~object.__add__` -- αποτύχει, τότε η συνολική πράξη δεν " +"υποστηρίζεται, γι' αυτό δεν καλείται η ανακλώμενη μέθοδος." #: reference/datamodel.rst:152 reference/datamodel.rst:184 #: reference/datamodel.rst:229 reference/datamodel.rst:265 @@ -4351,11 +6449,11 @@ msgstr "" #: reference/datamodel.rst:1440 reference/datamodel.rst:1647 #: reference/datamodel.rst:3090 msgid "object" -msgstr "" +msgstr "αντικείμενο" #: reference/datamodel.rst:126 msgid "data" -msgstr "" +msgstr "δεδομένα" #: reference/datamodel.rst:296 reference/datamodel.rst:427 #: reference/datamodel.rst:798 reference/datamodel.rst:1730 @@ -4363,921 +6461,921 @@ msgstr "" #: reference/datamodel.rst:3218 reference/datamodel.rst:3267 #: reference/datamodel.rst:3326 reference/datamodel.rst:3354 msgid "built-in function" -msgstr "" +msgstr "ενσωματωμένη συνάρτηση" #: reference/datamodel.rst:23 msgid "id" -msgstr "" +msgstr "αναγνωριστικό" #: reference/datamodel.rst:126 reference/datamodel.rst:2629 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:1114 msgid "container" -msgstr "" +msgstr "κοντέινερ" #: reference/datamodel.rst:126 msgid "hierarchy" -msgstr "" +msgstr "ιεραρχία" #: reference/datamodel.rst:126 msgid "extension" -msgstr "" +msgstr "επέκταση" #: reference/datamodel.rst:400 reference/datamodel.rst:502 #: reference/datamodel.rst:877 reference/datamodel.rst:1293 msgid "module" -msgstr "" +msgstr "module" #: reference/datamodel.rst:265 reference/datamodel.rst:798 msgid "C" -msgstr "" +msgstr "C" #: reference/datamodel.rst:265 reference/datamodel.rst:798 msgid "language" -msgstr "" +msgstr "γλώσσα" #: reference/datamodel.rst:1114 reference/datamodel.rst:1237 #: reference/datamodel.rst:1257 msgid "attribute" -msgstr "" +msgstr "χαρακτηριστικό" #: reference/datamodel.rst:139 msgid "special" -msgstr "" +msgstr "ειδικό" #: reference/datamodel.rst:139 msgid "generic" -msgstr "" +msgstr "γενικό" #: reference/datamodel.rst:184 msgid "..." -msgstr "" +msgstr "..." #: reference/datamodel.rst:184 msgid "ellipsis literal" -msgstr "" +msgstr "ellipsis literal" #: reference/datamodel.rst:1264 msgid "numeric" -msgstr "" +msgstr "αριθμητικό" #: reference/datamodel.rst:235 reference/datamodel.rst:343 msgid "integer" -msgstr "" +msgstr "ακέραιος" #: reference/datamodel.rst:235 msgid "representation" -msgstr "" +msgstr "αναπαράσταση" #: reference/datamodel.rst:250 msgid "Boolean" -msgstr "" +msgstr "Boolean" #: reference/datamodel.rst:250 msgid "False" -msgstr "" +msgstr "False" #: reference/datamodel.rst:250 msgid "True" -msgstr "" +msgstr "True" #: reference/datamodel.rst:265 msgid "floating-point" -msgstr "" +msgstr "κινητής υποδιαστολής" #: reference/datamodel.rst:283 msgid "number" -msgstr "" +msgstr "αριθμός" #: reference/datamodel.rst:265 msgid "Java" -msgstr "" +msgstr "Java" #: reference/datamodel.rst:3326 msgid "complex" -msgstr "" +msgstr "complex" #: reference/datamodel.rst:427 reference/datamodel.rst:3060 msgid "len" -msgstr "" +msgstr "len" #: reference/datamodel.rst:1264 msgid "sequence" -msgstr "" +msgstr "ακολουθία" #: reference/datamodel.rst:296 msgid "index operation" -msgstr "" +msgstr "λειτουργία ευρετηρίου" #: reference/datamodel.rst:296 msgid "item selection" -msgstr "" +msgstr "επιλογή αντικειμένου" #: reference/datamodel.rst:388 reference/datamodel.rst:466 msgid "subscription" -msgstr "" +msgstr "εγγραφή" #: reference/datamodel.rst:388 msgid "slicing" -msgstr "" +msgstr "τμηματοποίηση" #: reference/datamodel.rst:328 msgid "immutable sequence" -msgstr "" +msgstr "αμετάβλητη ακολουθία" #: reference/datamodel.rst:328 msgid "immutable" -msgstr "" +msgstr "αμετάβλητο" #: reference/datamodel.rst:1948 reference/datamodel.rst:1979 msgid "string" -msgstr "" +msgstr "συμβολοσειρά" #: reference/datamodel.rst:339 msgid "immutable sequences" -msgstr "" +msgstr "αμετάβλητες ακολουθίες" #: reference/datamodel.rst:343 msgid "chr" -msgstr "" +msgstr "chr" #: reference/datamodel.rst:343 msgid "ord" -msgstr "" +msgstr "ord" #: reference/datamodel.rst:343 msgid "character" -msgstr "" +msgstr "χαρακτήρας" #: reference/datamodel.rst:343 msgid "Unicode" -msgstr "" +msgstr "Unicode" #: reference/datamodel.rst:363 msgid "tuple" -msgstr "" +msgstr "πλειάδα" #: reference/datamodel.rst:363 msgid "singleton" -msgstr "" +msgstr "singleton" #: reference/datamodel.rst:363 msgid "empty" -msgstr "" +msgstr "empty" #: reference/datamodel.rst:1973 msgid "bytes" -msgstr "" +msgstr "bytes" #: reference/datamodel.rst:376 msgid "byte" -msgstr "" +msgstr "byte" #: reference/datamodel.rst:388 msgid "mutable sequence" -msgstr "" +msgstr "ευμετάβλητη ακολουθία" #: reference/datamodel.rst:388 msgid "mutable" -msgstr "" +msgstr "ευμετάβλητο" #: reference/datamodel.rst:1132 reference/datamodel.rst:1257 msgid "assignment" -msgstr "" +msgstr "εκχώρηση" #: reference/datamodel.rst:857 reference/datamodel.rst:1866 #: reference/datamodel.rst:3381 msgid "statement" -msgstr "" +msgstr "δήλωση" #: reference/datamodel.rst:400 msgid "array" -msgstr "" +msgstr "πίνακας" #: reference/datamodel.rst:401 msgid "collections" -msgstr "" +msgstr "συλλογές" #: reference/datamodel.rst:409 msgid "list" -msgstr "" +msgstr "λίστα" #: reference/datamodel.rst:416 msgid "bytearray" -msgstr "" +msgstr "πίνακας byte" #: reference/datamodel.rst:427 msgid "set type" -msgstr "" +msgstr "τύπος συνόλου" #: reference/datamodel.rst:447 msgid "set" -msgstr "" +msgstr "σύνολο" #: reference/datamodel.rst:455 msgid "frozenset" -msgstr "" +msgstr "αμετάβλητο σύνολο" #: reference/datamodel.rst:1264 msgid "mapping" -msgstr "" +msgstr "αντιστοίχιση" #: reference/datamodel.rst:1114 reference/datamodel.rst:2072 msgid "dictionary" -msgstr "" +msgstr "λεξικό" #: reference/datamodel.rst:502 msgid "dbm.ndbm" -msgstr "" +msgstr "dbm.ndbm" #: reference/datamodel.rst:502 msgid "dbm.gnu" -msgstr "" +msgstr "dbm.gnu" #: reference/datamodel.rst:519 msgid "callable" -msgstr "" +msgstr "με δυνατότητα κλήσης" #: reference/datamodel.rst:534 reference/datamodel.rst:760 #: reference/datamodel.rst:798 msgid "function" -msgstr "" +msgstr "συνάρτηση" #: reference/datamodel.rst:1114 reference/datamodel.rst:3010 msgid "call" -msgstr "" +msgstr "κλήση" #: reference/datamodel.rst:519 msgid "invocation" -msgstr "" +msgstr "εκτέλεση" #: reference/datamodel.rst:519 msgid "argument" -msgstr "" +msgstr "παράμετρος" #: reference/datamodel.rst:660 msgid "user-defined" -msgstr "" +msgstr "ορισμένο από τον χρήστη" #: reference/datamodel.rst:534 msgid "user-defined function" -msgstr "" +msgstr "συνάρτηση ορισμένη από τον χρήστη" #: reference/datamodel.rst:547 msgid "__closure__ (function attribute)" -msgstr "" +msgstr "__closure__ (χαρακτηριστικό συνάρτησης)" #: reference/datamodel.rst:547 msgid "__globals__ (function attribute)" -msgstr "" +msgstr "__globals__ (χαρακτηριστικό συνάρτησης)" #: reference/datamodel.rst:547 msgid "global" -msgstr "" +msgstr "global" #: reference/datamodel.rst:877 msgid "namespace" -msgstr "" +msgstr "πεδίο ονομάτων" #: reference/datamodel.rst:573 msgid "__doc__ (function attribute)" -msgstr "" +msgstr "__doc__ (χαρακτηριστικό συνάρτησης)" #: reference/datamodel.rst:573 msgid "__name__ (function attribute)" -msgstr "" +msgstr "__name__ (χαρακτηριστικό συνάρτησης)" #: reference/datamodel.rst:573 msgid "__module__ (function attribute)" -msgstr "" +msgstr "__module__ (χαρακτηριστικό συνάρτησης)" #: reference/datamodel.rst:573 msgid "__dict__ (function attribute)" -msgstr "" +msgstr "__dict__ (χαρακτηριστικό συνάρτησης)" #: reference/datamodel.rst:573 msgid "__defaults__ (function attribute)" -msgstr "" +msgstr "__defaults__ (χαρακτηριστικό συνάρτησης)" #: reference/datamodel.rst:573 msgid "__code__ (function attribute)" -msgstr "" +msgstr "__code__ (χαρακτηριστικό συνάρτησης)" #: reference/datamodel.rst:573 msgid "__annotations__ (function attribute)" -msgstr "" +msgstr "__annotations__ (χαρακτηριστικό συνάρτησης)" #: reference/datamodel.rst:573 msgid "__kwdefaults__ (function attribute)" -msgstr "" +msgstr "__kwdefaults__ (χαρακτηριστικό συνάρτησης)" #: reference/datamodel.rst:573 msgid "__type_params__ (function attribute)" -msgstr "" +msgstr "__type_params__ (χαρακτηριστικό συνάρτησης)" #: reference/datamodel.rst:822 msgid "method" -msgstr "" +msgstr "μέθοδος" #: reference/datamodel.rst:660 msgid "user-defined method" -msgstr "" +msgstr "μέθοδος ορισμένη από τον χρήστη" #: reference/datamodel.rst:668 msgid "__func__ (method attribute)" -msgstr "" +msgstr "__func__ (χαρακτηριστικό μεθόδου)" #: reference/datamodel.rst:668 msgid "__self__ (method attribute)" -msgstr "" +msgstr "__self__ (χαρακτηριστικό μεθόδου)" #: reference/datamodel.rst:668 msgid "__doc__ (method attribute)" -msgstr "" +msgstr "__doc__ (χαρακτηριστικό μεθόδου)" #: reference/datamodel.rst:668 msgid "__name__ (method attribute)" -msgstr "" +msgstr "__name__ (χαρακτηριστικό μεθόδου)" #: reference/datamodel.rst:668 msgid "__module__ (method attribute)" -msgstr "" +msgstr "__module__ (χαρακτηριστικό μεθόδου)" #: reference/datamodel.rst:1440 msgid "generator" -msgstr "" +msgstr "γεννήτρια" #: reference/datamodel.rst:742 msgid "iterator" -msgstr "" +msgstr "iterator" #: reference/datamodel.rst:3569 msgid "coroutine" -msgstr "" +msgstr "coroutine" #: reference/datamodel.rst:773 msgid "asynchronous generator" -msgstr "" +msgstr "ασύγχρονη γεννήτρια" #: reference/datamodel.rst:773 msgid "asynchronous iterator" -msgstr "" +msgstr "ασύγχρονος iterator" #: reference/datamodel.rst:822 msgid "built-in method" -msgstr "" +msgstr "ενσωματωμένη μέθοδος" #: reference/datamodel.rst:822 msgid "built-in" -msgstr "" +msgstr "built-in" #: reference/datamodel.rst:857 msgid "import" -msgstr "" +msgstr "import" #: reference/datamodel.rst:877 msgid "__name__ (module attribute)" -msgstr "" +msgstr "__name__ (χαρακτηριστικό module)" #: reference/datamodel.rst:877 msgid "__spec__ (module attribute)" -msgstr "" +msgstr "__spec__ (χαρακτηριστικό module)" #: reference/datamodel.rst:877 msgid "__package__ (module attribute)" -msgstr "" +msgstr "__package__ (χαρακτηριστικό module)" #: reference/datamodel.rst:877 msgid "__loader__ (module attribute)" -msgstr "" +msgstr "__loader__ (χαρακτηριστικό module)" #: reference/datamodel.rst:877 msgid "__path__ (module attribute)" -msgstr "" +msgstr "__path__ (χαρακτηριστικό module)" #: reference/datamodel.rst:877 msgid "__file__ (module attribute)" -msgstr "" +msgstr "__file__ (χαρακτηριστικό module)" #: reference/datamodel.rst:877 msgid "__cached__ (module attribute)" -msgstr "" +msgstr "__cached__ (χαρακτηριστικό module)" #: reference/datamodel.rst:877 msgid "__doc__ (module attribute)" -msgstr "" +msgstr "__doc__ (χαρακτηριστικό module)" #: reference/datamodel.rst:877 msgid "__annotations__ (module attribute)" -msgstr "" +msgstr "__annotations__ (χαρακτηριστικό module)" #: reference/datamodel.rst:1082 msgid "__dict__ (module attribute)" -msgstr "" +msgstr "__dict__ (χαρακτηριστικό module)" #: reference/datamodel.rst:1132 reference/datamodel.rst:1849 #: reference/datamodel.rst:2740 msgid "class" -msgstr "" +msgstr "κλάση" #: reference/datamodel.rst:1237 reference/datamodel.rst:1257 msgid "class instance" -msgstr "" +msgstr "στιγμιότυπο κλάσης" #: reference/datamodel.rst:1237 reference/datamodel.rst:3010 msgid "instance" -msgstr "" +msgstr "στιγμιότυπο" #: reference/datamodel.rst:1137 msgid "class object" -msgstr "" +msgstr "αντικείμενα κλάσης" #: reference/datamodel.rst:1144 msgid "__name__ (class attribute)" -msgstr "" +msgstr "__name__ (χαρακτηριστικό στιγμιοτύπου)" #: reference/datamodel.rst:1144 msgid "__module__ (class attribute)" -msgstr "" +msgstr "__module__ (χαρακτηριστικό στιγμιοτύπου)" #: reference/datamodel.rst:1144 msgid "__dict__ (class attribute)" -msgstr "" +msgstr "__dict__ (χαρακτηριστικό στιγμιοτύπου)" #: reference/datamodel.rst:1144 msgid "__bases__ (class attribute)" -msgstr "" +msgstr "__bases__ (χαρακτηριστικό στιγμιοτύπου)" #: reference/datamodel.rst:1144 msgid "__doc__ (class attribute)" -msgstr "" +msgstr "__doc__ (χαρακτηριστικό στιγμιοτύπου)" #: reference/datamodel.rst:1144 msgid "__annotations__ (class attribute)" -msgstr "" +msgstr "__annotations__ (χαρακτηριστικό στιγμιοτύπου)" #: reference/datamodel.rst:1144 msgid "__type_params__ (class attribute)" -msgstr "" +msgstr "__type_params__ (χαρακτηριστικό στιγμιοτύπου)" #: reference/datamodel.rst:1275 msgid "__dict__ (instance attribute)" -msgstr "" +msgstr "__dict__ (χαρακτηριστικό στιγμιοτύπου)" #: reference/datamodel.rst:1275 msgid "__class__ (instance attribute)" -msgstr "" +msgstr "__class__ (χαρακτηριστικό στιγμιοτύπου)" #: reference/datamodel.rst:1293 msgid "open" -msgstr "" +msgstr "open" #: reference/datamodel.rst:1293 msgid "io" -msgstr "" +msgstr "io" #: reference/datamodel.rst:1293 msgid "popen() (in module os)" -msgstr "" +msgstr "popen() (στο module os)" #: reference/datamodel.rst:1293 msgid "makefile() (socket method)" -msgstr "" +msgstr "makefile() (μέθοδος socket)" #: reference/datamodel.rst:1293 msgid "sys.stdin" -msgstr "" +msgstr "sys.stdin" #: reference/datamodel.rst:1293 msgid "sys.stdout" -msgstr "" +msgstr "sys.stdout" #: reference/datamodel.rst:1293 msgid "sys.stderr" -msgstr "" +msgstr "sys.stderr" #: reference/datamodel.rst:1293 msgid "stdio" -msgstr "" +msgstr "stdio" #: reference/datamodel.rst:1293 msgid "stdin (in module sys)" -msgstr "" +msgstr "stdin (στο module sys)" #: reference/datamodel.rst:1293 msgid "stdout (in module sys)" -msgstr "" +msgstr "stdout (στο module sys)" #: reference/datamodel.rst:1293 msgid "stderr (in module sys)" -msgstr "" +msgstr "stderr (στο module sys)" #: reference/datamodel.rst:1322 msgid "internal type" -msgstr "" +msgstr "εσωτερικός τύπος" #: reference/datamodel.rst:1322 msgid "types, internal" -msgstr "" +msgstr "τύποι, εσωτερικό" #: reference/datamodel.rst:1336 msgid "bytecode" -msgstr "" +msgstr "bytecode" #: reference/datamodel.rst:1336 msgid "code" -msgstr "" +msgstr "code" #: reference/datamodel.rst:1336 msgid "code object" -msgstr "" +msgstr "code object" #: reference/datamodel.rst:1347 msgid "co_argcount (code object attribute)" -msgstr "" +msgstr "co_argcount (χαρακτηριστικό code object)" #: reference/datamodel.rst:1347 msgid "co_posonlyargcount (code object attribute)" -msgstr "" +msgstr "co_posonlyargcount (χαρακτηριστικό code object)" #: reference/datamodel.rst:1347 msgid "co_kwonlyargcount (code object attribute)" -msgstr "" +msgstr "co_kwonlyargcount (χαρακτηριστικό code object)" #: reference/datamodel.rst:1347 msgid "co_code (code object attribute)" -msgstr "" +msgstr "co_code (χαρακτηριστικό code object)" #: reference/datamodel.rst:1347 msgid "co_consts (code object attribute)" -msgstr "" +msgstr "co_consts (χαρακτηριστικό code object)" #: reference/datamodel.rst:1347 msgid "co_filename (code object attribute)" -msgstr "" +msgstr "co_filename (χαρακτηριστικό code object)" #: reference/datamodel.rst:1347 msgid "co_firstlineno (code object attribute)" -msgstr "" +msgstr "co_firstlineno (χαρακτηριστικό code object)" #: reference/datamodel.rst:1347 msgid "co_flags (code object attribute)" -msgstr "" +msgstr "co_flags (χαρακτηριστικό code object)" #: reference/datamodel.rst:1347 msgid "co_lnotab (code object attribute)" -msgstr "" +msgstr "co_lnotab (χαρακτηριστικό code object)" #: reference/datamodel.rst:1347 msgid "co_name (code object attribute)" -msgstr "" +msgstr "co_name (χαρακτηριστικό code object)" #: reference/datamodel.rst:1347 msgid "co_names (code object attribute)" -msgstr "" +msgstr "co_names (χαρακτηριστικό code object)" #: reference/datamodel.rst:1347 msgid "co_nlocals (code object attribute)" -msgstr "" +msgstr "co_nlocals (χαρακτηριστικό code object)" #: reference/datamodel.rst:1347 msgid "co_stacksize (code object attribute)" -msgstr "" +msgstr "co_stacksize (χαρακτηριστικό code object)" #: reference/datamodel.rst:1347 msgid "co_varnames (code object attribute)" -msgstr "" +msgstr "co_varnames (χαρακτηριστικό code object)" #: reference/datamodel.rst:1347 msgid "co_cellvars (code object attribute)" -msgstr "" +msgstr "co_cellvars (χαρακτηριστικό code object)" #: reference/datamodel.rst:1347 msgid "co_freevars (code object attribute)" -msgstr "" +msgstr "co_freevars (χαρακτηριστικό code object)" #: reference/datamodel.rst:1347 msgid "co_qualname (code object attribute)" -msgstr "" +msgstr "co_qualname (χαρακτηριστικό code object)" #: reference/datamodel.rst:1458 msgid "documentation string" -msgstr "" +msgstr "κείμενο τεκμηρίωσης" #: reference/datamodel.rst:1547 msgid "frame" -msgstr "" +msgstr "frame" #: reference/datamodel.rst:1553 msgid "f_back (frame attribute)" -msgstr "" +msgstr "f_back (χαρακτηριστικό frame)" #: reference/datamodel.rst:1553 msgid "f_code (frame attribute)" -msgstr "" +msgstr "f_code (χαρακτηριστικό frame)" #: reference/datamodel.rst:1553 msgid "f_globals (frame attribute)" -msgstr "" +msgstr "f_globals (χαρακτηριστικό frame)" #: reference/datamodel.rst:1553 msgid "f_locals (frame attribute)" -msgstr "" +msgstr "f_locals (χαρακτηριστικό frame)" #: reference/datamodel.rst:1553 msgid "f_lasti (frame attribute)" -msgstr "" +msgstr "f_lasti (χαρακτηριστικό frame)" #: reference/datamodel.rst:1553 msgid "f_builtins (frame attribute)" -msgstr "" +msgstr "f_builtins (χαρακτηριστικό frame)" #: reference/datamodel.rst:1592 msgid "f_trace (frame attribute)" -msgstr "" +msgstr "f_trace (χαρακτηριστικό frame)" #: reference/datamodel.rst:1592 msgid "f_trace_lines (frame attribute)" -msgstr "" +msgstr "f_trace_lines (χαρακτηριστικό frame)" #: reference/datamodel.rst:1592 msgid "f_trace_opcodes (frame attribute)" -msgstr "" +msgstr "f_trace_opcodes (χαρακτηριστικό frame)" #: reference/datamodel.rst:1592 msgid "f_lineno (frame attribute)" -msgstr "" +msgstr "f_lineno (χαρακτηριστικό frame)" #: reference/datamodel.rst:1647 msgid "traceback" -msgstr "" +msgstr "traceback" #: reference/datamodel.rst:1647 msgid "stack" -msgstr "" +msgstr "stack" #: reference/datamodel.rst:1647 msgid "trace" -msgstr "" +msgstr "trace" #: reference/datamodel.rst:1647 msgid "exception" -msgstr "" +msgstr "exception" #: reference/datamodel.rst:1647 msgid "handler" -msgstr "" +msgstr "χειριστής" #: reference/datamodel.rst:1647 msgid "execution" -msgstr "" +msgstr "execution" #: reference/datamodel.rst:1647 msgid "exc_info (in module sys)" -msgstr "" +msgstr "exc_info (στο module sys)" #: reference/datamodel.rst:1647 msgid "last_traceback (in module sys)" -msgstr "" +msgstr "last_traceback (στο module sys)" #: reference/datamodel.rst:1647 msgid "sys.exc_info" -msgstr "" +msgstr "sys.exc_info" #: reference/datamodel.rst:1647 msgid "sys.exception" -msgstr "" +msgstr "sys.exception" #: reference/datamodel.rst:1647 msgid "sys.last_traceback" -msgstr "" +msgstr "sys.last_traceback" #: reference/datamodel.rst:1684 msgid "tb_frame (traceback attribute)" -msgstr "" +msgstr "tb_frame (χαρακτηριστικό traceback)" #: reference/datamodel.rst:1684 msgid "tb_lineno (traceback attribute)" -msgstr "" +msgstr "tb_lineno (χαρακτηριστικό traceback)" #: reference/datamodel.rst:1684 msgid "tb_lasti (traceback attribute)" -msgstr "" +msgstr "tb_lasti (χαρακτηριστικό traceback)" #: reference/datamodel.rst:1684 msgid "try" -msgstr "" +msgstr "try" #: reference/datamodel.rst:1714 msgid "tb_next (traceback attribute)" -msgstr "" +msgstr "tb_next (χαρακτηριστικό traceback)" #: reference/datamodel.rst:3090 msgid "slice" -msgstr "" +msgstr "slice" #: reference/datamodel.rst:1736 msgid "start (slice object attribute)" -msgstr "" +msgstr "start (χαρακτηριστικό αντικειμένου slice)" #: reference/datamodel.rst:1736 msgid "stop (slice object attribute)" -msgstr "" +msgstr "stop (χαρακτηριστικό αντικειμένου slice)" #: reference/datamodel.rst:1736 msgid "step (slice object attribute)" -msgstr "" +msgstr "step (χαρακτηριστικό αντικειμένου slice)" #: reference/datamodel.rst:1784 msgid "operator" -msgstr "" +msgstr "τελεστής" #: reference/datamodel.rst:1784 msgid "overloading" -msgstr "" +msgstr "υπερφόρτωση" #: reference/datamodel.rst:1784 msgid "__getitem__() (mapping object method)" -msgstr "" +msgstr "__getitem__() (μέθοδος αντικειμένου αντιστοίχισης)" #: reference/datamodel.rst:1820 msgid "subclassing" -msgstr "" +msgstr "δημιουργία υποκλάσης" #: reference/datamodel.rst:1820 msgid "immutable types" -msgstr "" +msgstr "αμετάβλητοι τύποι" #: reference/datamodel.rst:1849 msgid "constructor" -msgstr "" +msgstr "constructor" #: reference/datamodel.rst:1866 msgid "destructor" -msgstr "" +msgstr "destructor" #: reference/datamodel.rst:1866 msgid "finalizer" -msgstr "" +msgstr "διαχειριστής καταστροφής" #: reference/datamodel.rst:1866 msgid "del" -msgstr "" +msgstr "del" #: reference/datamodel.rst:1930 msgid "repr() (built-in function)" -msgstr "" +msgstr "repr() (ενσωματωμένη συνάρτηση)" #: reference/datamodel.rst:1930 msgid "__repr__() (object method)" -msgstr "" +msgstr "__repr__() (μέθοδος αντικειμένου)" #: reference/datamodel.rst:1948 msgid "__str__() (object method)" -msgstr "" +msgstr "__str__() (μέθοδος αντικειμένου)" #: reference/datamodel.rst:1948 msgid "format() (built-in function)" -msgstr "" +msgstr "format() (ενσωματωμένη συνάρτηση)" #: reference/datamodel.rst:1948 msgid "print() (built-in function)" -msgstr "" +msgstr "print() (ενσωματωμένη συνάρτηση)" #: reference/datamodel.rst:1979 msgid "__format__() (object method)" -msgstr "" +msgstr "__format__() (μέθοδος αντικειμένου)" #: reference/datamodel.rst:1979 msgid "conversion" -msgstr "" +msgstr "μετατροπή" #: reference/datamodel.rst:1979 msgid "print" -msgstr "" +msgstr "print" #: reference/datamodel.rst:2021 msgid "comparisons" -msgstr "" +msgstr "συγκρίσεις" #: reference/datamodel.rst:2072 msgid "hash" -msgstr "" +msgstr "hash" #: reference/datamodel.rst:2153 msgid "__len__() (mapping object method)" -msgstr "" +msgstr "__len__() (μέθοδος αντιστοίχισης αντικειμένου)" #: reference/datamodel.rst:2258 msgid "__getattr__ (module attribute)" -msgstr "" +msgstr "__getattr__ (χαρακτηριστικό module)" #: reference/datamodel.rst:2258 msgid "__dir__ (module attribute)" -msgstr "" +msgstr "__dir__ (χαρακτηριστικό module)" #: reference/datamodel.rst:2258 msgid "__class__ (module attribute)" -msgstr "" +msgstr "__class__ (χαρακτηριστικό module)" #: reference/datamodel.rst:2629 msgid "metaclass" -msgstr "" +msgstr "μετακλάση" #: reference/datamodel.rst:2629 msgid "= (equals)" -msgstr "" +msgstr "= (ισοδυναμεί)" #: reference/datamodel.rst:2629 msgid "class definition" -msgstr "" +msgstr "ορισμός κλάσης" #: reference/datamodel.rst:2693 msgid "metaclass hint" -msgstr "" +msgstr "υπόδειξη μετακλάσης" #: reference/datamodel.rst:2716 msgid "__prepare__ (metaclass method)" -msgstr "" +msgstr "__prepare__ (μέθοδος μετακλάσης)" #: reference/datamodel.rst:2740 msgid "body" -msgstr "" +msgstr "σώμα" #: reference/datamodel.rst:2760 msgid "__class__ (method cell)" -msgstr "" +msgstr "__class__ (κελί που περιέχει μέθοδο)" #: reference/datamodel.rst:2760 msgid "__classcell__ (class namespace entry)" -msgstr "" +msgstr "__classcell__ (καταχώρηση στο namespace της κλάσης)" #: reference/datamodel.rst:3060 msgid "__bool__() (object method)" -msgstr "" +msgstr "__bool__() (μέθοδος αντικειμένου)" #: reference/datamodel.rst:3253 msgid "divmod" -msgstr "" +msgstr "divmod" #: reference/datamodel.rst:3253 reference/datamodel.rst:3267 msgid "pow" -msgstr "" +msgstr "pow" #: reference/datamodel.rst:3316 msgid "abs" -msgstr "" +msgstr "abs" #: reference/datamodel.rst:3326 msgid "int" -msgstr "" +msgstr "int" #: reference/datamodel.rst:3326 msgid "float" -msgstr "" +msgstr "float" #: reference/datamodel.rst:3354 msgid "round" -msgstr "" +msgstr "round" #: reference/datamodel.rst:3381 msgid "with" -msgstr "" +msgstr "with" #: reference/datamodel.rst:3381 msgid "context manager" -msgstr "" +msgstr "διαχειριστής περιβάλλοντος" diff --git a/scripts/create_issues.py b/scripts/create_issues.py index e9455517..61a3bee9 100644 --- a/scripts/create_issues.py +++ b/scripts/create_issues.py @@ -53,7 +53,7 @@ Παρακαλούμε, σχολιάστε μέσα στο issue εάν θέλετε αυτό το αρχείο να ανατεθεί σε σας. Ένα μέλος της διαχειριστικής ομάδας θα σας το αναθέσει το συντομότερο δυνατό, ώστε να μπορέσεται να το δουλέψετε. -Θυμηθείτε να ακουληθείσεται τις οδηγίες στον [οδηγό συνεισφοράς](https://github.com/pygreece/python-docs-gr/blob/main/CONTRIBUTING.md) +Θυμηθείτε να ακολουθήσετε τις οδηγίες στον [οδηγό συνεισφοράς](https://github.com/pygreece/python-docs-gr/blob/main/CONTRIBUTING.md) """ GITHUB_MVP_MILESTONE = int(os.getenv("GITHUB_MVP_MILESTONE", 2)) GITHUB_REPO = os.getenv("GITHUB_REPO", "pygreece/python-docs-gr") diff --git a/using/windows.po b/using/windows.po index 7b6884e6..4f27a1f4 100644 --- a/using/windows.po +++ b/using/windows.po @@ -9,23 +9,27 @@ msgstr "" "Project-Id-Version: Python 3.12\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-05-02 23:29+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-02-26 09:20+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.5\n" #: using/windows.rst:7 msgid "Using Python on Windows" -msgstr "" +msgstr "Χρησιμοποιώντας Python στα Windows" #: using/windows.rst:12 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:15 msgid "" @@ -38,6 +42,17 @@ msgid "" "users of a single machine, and a separate ZIP file is available for " "application-local distributions." msgstr "" +"Σε αντίθεση με τα περισσότερα συστήματα και υπηρεσίες Unix, τα Windows δεν " +"περιλαμβάνουν ενσωματωμένη εγκατάσταση Python που υποστηρίζεται από το " +"σύστημα. Για να είναι διαθέσιμη η Python, η ομάδα της CPython έχει " +"μεταγλωττίσει προγράμματα εγκατάστασης των Windows με κάθε `έκδοση `_ για πολλά χρόνια. Αυτά τα προγράμματα " +"εγκατάστασης προορίζονται κυρίως για την προσθήκη μιας εγκατάστασης της " +"Python ανά χρήστη, με τον βασικό διερμηνέα και τη βιβλιοθήκη να " +"χρησιμοποιούνται από έναν μόνο χρήστη. Το πρόγραμμα εγκατάστασης είναι, " +"επίσης σε θέση να εγκαταστήσει για όλους τους χρήστες ενός μεμονωμένου " +"μηχανήματος και ένα ξεχωριστό αρχείο ZIP που είναι διαθέσιμο για τοπικές " +"διανομές εφαρμογής." #: using/windows.rst:24 msgid "" @@ -46,18 +61,27 @@ msgid "" "that Python |version| supports Windows 8.1 and newer. If you require Windows " "7 support, please install Python 3.8." msgstr "" +"Όπως ορίζεται στο :pep:`11`, μια έκδοση Python υποστηρίζει μόνο μια " +"πλατφόρμα Windows, ενώ η Microsoft θεωρεί την πλατφόρμα υπό εκτεταμένη " +"υποστήριξη. Αυτό σημαίνει ότι η Python |version| υποστηρίζει Windows 8.1 και " +"νεότερες εκδόσεις. Εάν χρειάζεστε υποστήριξη Windows 7, εγκαταστήστε την " +"Python 3.8." #: using/windows.rst:29 msgid "" "There are a number of different installers available for Windows, each with " "certain benefits and downsides." msgstr "" +"Υπάρχει ένας αριθμός διαφορετικών προγραμμάτων εγκατάστασης διαθέσιμα για " +"Windows, το καθένα με ορισμένα πλεονεκτήματα και μειονεκτήματα." #: using/windows.rst:32 msgid "" ":ref:`windows-full` contains all components and is the best option for " "developers using Python for any kind of project." msgstr "" +"Το :ref:`windows-full` περιέχει όλα τα στοιχεία και είναι η καλύτερη επιλογή " +"για προγραμματιστές που χρησιμοποιούν Python για κάθε είδους έργο." #: using/windows.rst:35 msgid "" @@ -67,6 +91,12 @@ msgid "" "without corrupting other programs. It also provides many convenient commands " "for launching Python and its tools." msgstr "" +"Το :ref:`windows-store` είναι μια απλή εγκατάσταση της Python που είναι " +"κατάλληλη για εκτέλεση scripts και πακέτων, και χρήση IDLE ή άλλων " +"περιβαλλόντων ανάπτυξης. Απαιτεί Windows 10 και νεότερη έκδοση, αλλά μπορεί " +"να εγκατασταθεί με ασφάλεια χωρίς να καταστρέψει άλλα προγράμματα. Παρέχει " +"επίσης πολλές βολικές εντολές για την εκκίνηση της Python και των εργαλείων " +"της." #: using/windows.rst:41 msgid "" @@ -74,20 +104,26 @@ msgid "" "integration systems. It can be used to build Python packages or run scripts, " "but is not updateable and has no user interface tools." msgstr "" +"Το :ref:`windows-nuget` είναι ελαφριές εγκαταστάσεις που προορίζονται για " +"συστήματα συνεχούς ενοποίησης. Μπορεί να χρησιμοποιηθεί για τη δημιουργία " +"πακέτων Python ή την εκτέλεση scripts, αλλά δεν μπορεί να ενημερωθεί και δεν " +"διαθέτει εργαλεία διεπαφής χρήστη." #: using/windows.rst:45 msgid "" ":ref:`windows-embeddable` is a minimal package of Python suitable for " "embedding into a larger application." msgstr "" +"Το :ref:`windows-embeddable` είναι ένα ελάχιστο πακέτο Python κατάλληλο για " +"ενσωμάτωση σε μεγαλύτερη εφαρμογή." #: using/windows.rst:52 msgid "The full installer" -msgstr "" +msgstr "Το πλήρες πρόγραμμα εγκατάστασης" #: using/windows.rst:55 msgid "Installation steps" -msgstr "" +msgstr "Βήματα Εγκατάστασης" #: using/windows.rst:57 msgid "" @@ -99,42 +135,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:65 msgid "After starting the installer, one of two options may be selected:" msgstr "" +"Μετά την εκκίνηση του προγράμματος εγκατάστασης, μπορεί να επιλέγει μία από " +"τις δύο επιλογές:" #: using/windows.rst:69 msgid "If you select \"Install Now\":" -msgstr "" +msgstr "Εάν επιλέξετε \"Install Now\":" #: using/windows.rst:71 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:74 msgid "Python will be installed into your user directory" -msgstr "" +msgstr "Η Python θα εγκατασταθεί στον κατάλογο του χρήστη σας" #: using/windows.rst:75 msgid "" "The :ref:`launcher` will be installed according to the option at the bottom " "of the first page" msgstr "" +"Το :ref:`launcher` θα εγκατασταθεί σύμφωνα με την επιλογή στο κάτω μέρος της " +"πρώτης σελίδας" #: using/windows.rst:77 msgid "The standard library, test suite, launcher and pip will be installed" msgstr "" +"Θα εγκατασταθεί η τυπική βιβλιοθήκη, η δοκιμαστική σουίτα, ο εκκινητής και " +"το pip" #: using/windows.rst:78 msgid "If selected, the install directory will be added to your :envvar:`PATH`" msgstr "" +"Εάν επιλεγεί, ο κατάλογος εγκατάστασης θα προστεθεί στο :envvar:`PATH` σας" #: using/windows.rst:79 msgid "Shortcuts will only be visible for the current user" -msgstr "" +msgstr "Οι συντομεύσεις θα είναι ορατές μόνο για τον τρέχοντα χρήστη" #: using/windows.rst:81 msgid "" @@ -143,51 +197,64 @@ msgid "" "actions. To install debugging symbols or binaries, you will need to use this " "option." msgstr "" +"Επιλέγοντας \"Customize installation\" θα σας επιτρέψει να επιλέξετε τις " +"λειτουργίες προς εγκατάσταση, τη θέση εγκατάστασης και άλλες επιλογές ή " +"ενέργειες μετά την εγκατάσταση. Για να εγκαταστήσετε σύμβολα εντοπισμού " +"σφαλμάτων ή δυαδικά αρχεία, θα χρειαστεί να χρησιμοποιήσετε αυτήν την " +"επιλογή." #: using/windows.rst:85 msgid "" "To perform an all-users installation, you should select \"Customize " "installation\". In this case:" msgstr "" +"Για να εκτελέσετε μια εγκατάσταση για όλους τους χρήστες, θα πρέπει να " +"επιλέξετε \"Customize installation\". Σε αυτήν την περίπτωση:" #: using/windows.rst:88 msgid "You may be required to provide administrative credentials or approval" msgstr "" +"Ενδέχεται να σας ζητηθεί να παρέχετε διαπιστευτήρια διαχείρισης ή έγκριση" #: using/windows.rst:89 msgid "Python will be installed into the Program Files directory" -msgstr "" +msgstr "Η Python θα εγκατασταθεί στον κατάλογο Program Files" #: using/windows.rst:90 msgid "The :ref:`launcher` will be installed into the Windows directory" -msgstr "" +msgstr "Το :ref:`launcher` θα εγκατασταθεί στον κατάλογο των Windows" #: using/windows.rst:91 msgid "Optional features may be selected during installation" -msgstr "" +msgstr "Προαιρετικά χαρακτηριστικά μπορούν να επιλεγούν κατά την εγκατάσταση" #: using/windows.rst:92 msgid "The standard library can be pre-compiled to bytecode" -msgstr "" +msgstr "Η τυπική βιβλιοθήκη μπορεί να προ-μεταγλωττιστεί σε bytecode" #: using/windows.rst:93 msgid "" "If selected, the install directory will be added to the system :envvar:`PATH`" msgstr "" +"Εάν επιλεγεί, ο κατάλογος εγκατάστασης θα προστεθεί στο σύστημα :envvar:" +"`PATH`" #: using/windows.rst:94 msgid "Shortcuts are available for all users" -msgstr "" +msgstr "Οι συντομεύσεις είναι διαθέσιμες για όλους τους χρήστες" #: using/windows.rst:99 msgid "Removing the MAX_PATH Limitation" -msgstr "" +msgstr "Κατάργηση του περιορισμού MAX_PATH" #: using/windows.rst:101 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:104 msgid "" @@ -197,24 +264,33 @@ 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:110 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:113 msgid "After changing the above option, no further configuration is required." msgstr "" +"Μετά την αλλαγή της παραπάνω επιλογής, δεν απαιτείται περαιτέρω διαμόρφωση." #: using/windows.rst:117 msgid "Support for long paths was enabled in Python." -msgstr "" +msgstr "Η υποστήριξη για μεγάλες διαδρομές ήταν ενεργοποιημένη στην Python." #: using/windows.rst:122 msgid "Installing Without UI" -msgstr "" +msgstr "Εγκατάσταση χωρίς περιβάλλον διεπαφής χρήστη" #: using/windows.rst:124 msgid "" @@ -223,68 +299,76 @@ 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:129 msgid "" "The following options (found by executing the installer with ``/?``) can be " "passed into the installer:" msgstr "" +"Οι ακόλουθες επιλογές (που βρίσκονται εκτελώντας το πρόγραμμα εγκατάστασης " +"με ``/?``) μπορούν να περάσουν στο πρόγραμμα εγκατάστασης:" #: using/windows.rst:153 using/windows.rst:1082 msgid "Name" -msgstr "" +msgstr "Όνομα" #: using/windows.rst:153 using/windows.rst:1082 msgid "Description" -msgstr "" +msgstr "Περιγραφή" #: using/windows.rst:135 msgid "/passive" -msgstr "" +msgstr "/passive" #: using/windows.rst:135 msgid "to display progress without requiring user interaction" -msgstr "" +msgstr "για εμφάνιση προόδου χωρίς να απαιτείται αλληλεπίδραση με τον χρήστη" #: using/windows.rst:137 msgid "/quiet" -msgstr "" +msgstr "/quiet" #: using/windows.rst:137 msgid "to install/uninstall without displaying any UI" -msgstr "" +msgstr "για εγκατάσταση/απεγκατάσταση χωρίς εμφάνιση διεπαφής χρήστη" #: using/windows.rst:139 msgid "/simple" -msgstr "" +msgstr "/simple" #: using/windows.rst:139 msgid "to prevent user customization" -msgstr "" +msgstr "για να αποτρέψετε την προσαρμογή του χρήστη" #: using/windows.rst:141 msgid "/uninstall" -msgstr "" +msgstr "/uninstall" #: using/windows.rst:141 msgid "to remove Python (without confirmation)" -msgstr "" +msgstr "για να αφαιρέσετε την Python (χωρίς επιβεβαίωση)" #: using/windows.rst:143 msgid "/layout [directory]" -msgstr "" +msgstr "/layout [κατάλογος]" #: using/windows.rst:143 msgid "to pre-download all components" -msgstr "" +msgstr "για προ-λήψη όλων των στοιχείων" #: using/windows.rst:145 msgid "/log [filename]" -msgstr "" +msgstr "/log [όνομα αρχείου]" #: using/windows.rst:145 msgid "to specify log files location" -msgstr "" +msgstr "για να καθορίσετε τη θέση των αρχείων καταγραφής" #: using/windows.rst:148 msgid "" @@ -292,57 +376,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:153 msgid "Default" -msgstr "" +msgstr "Προεπιλογή" #: using/windows.rst:155 msgid "InstallAllUsers" -msgstr "" +msgstr "InstallAllUsers" #: using/windows.rst:155 msgid "Perform a system-wide installation." -msgstr "" +msgstr "Εκτέλεση εγκατάστασης σε όλο το σύστημα." #: using/windows.rst:181 using/windows.rst:188 using/windows.rst:219 #: using/windows.rst:230 msgid "0" -msgstr "" +msgstr "0" #: using/windows.rst:157 msgid "TargetDir" -msgstr "" +msgstr "TargetDir" #: using/windows.rst:157 msgid "The installation directory" -msgstr "" +msgstr "Ο κατάλογος εγκατάστασης" #: using/windows.rst:157 msgid "Selected based on InstallAllUsers" -msgstr "" +msgstr "Επιλέχθηκε με βάση το InstallAllUsers" #: using/windows.rst:160 msgid "DefaultAllUsersTargetDir" -msgstr "" +msgstr "DefaultAllUsersTargetDir" #: using/windows.rst:160 msgid "The default installation directory for all-user installs" msgstr "" +"Ο προεπιλεγμένος κατάλογος εγκατάστασης για τις εγκαταστάσεις όλων των " +"χρηστών" #: using/windows.rst:160 msgid "" ":file:`%ProgramFiles%\\\\\\ Python X.Y` or :file:`\\ %ProgramFiles(x86)%\\\\" "\\ Python X.Y`" msgstr "" +":file:`%ProgramFiles%\\\\\\ Python X.Y` ή :file:`\\ %ProgramFiles(x86)%\\\\" +"\\ Python X.Y`" #: using/windows.rst:165 msgid "DefaultJustForMeTargetDir" -msgstr "" +msgstr "DefaultJustForMeTargetDir" #: using/windows.rst:165 msgid "The default install directory for just-for-me installs" msgstr "" +"Ο προεπιλεγμένος κατάλογος εγκατάστασης για εξατομικευμένες εγκαταστάσεις" #: using/windows.rst:165 msgid "" @@ -350,206 +443,233 @@ msgid "" "`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY-32` or :file:" "`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY-64`" msgstr "" +":file:`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY` ή :file:" +"`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY-32` ή :file:" +"`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY-64`" #: using/windows.rst:175 msgid "DefaultCustomTargetDir" -msgstr "" +msgstr "DefaultCustomTargetDir" #: using/windows.rst:175 msgid "The default custom install directory displayed in the UI" msgstr "" +"Ο προεπιλεγμένος κατάλογος προσαρμοσμένης εγκατάστασης που εμφανίζεται στο UI" #: using/windows.rst:232 msgid "(empty)" -msgstr "" +msgstr "(empty)" #: using/windows.rst:178 msgid "AssociateFiles" -msgstr "" +msgstr "AssociateFiles" #: using/windows.rst:178 msgid "Create file associations if the launcher is also installed." msgstr "" +"Δημιουργήστε συσχετίσεις αρχείων εάν είναι επίσης εγκατεστημένο το πρόγραμμα " +"εκκίνησης." #: using/windows.rst:192 using/windows.rst:199 using/windows.rst:207 #: using/windows.rst:213 using/windows.rst:221 using/windows.rst:225 msgid "1" -msgstr "" +msgstr "1" #: using/windows.rst:181 msgid "CompileAll" -msgstr "" +msgstr "CompileAll" #: using/windows.rst:181 msgid "Compile all ``.py`` files to ``.pyc``." -msgstr "" +msgstr "Μεταγλώττιση όλων των αρχείων ``.py`` σε ``.pyc``." #: using/windows.rst:184 msgid "PrependPath" -msgstr "" +msgstr "PrependPath" #: using/windows.rst:184 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:188 msgid "AppendPath" -msgstr "" +msgstr "AppendPath" #: using/windows.rst:188 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:192 msgid "Shortcuts" -msgstr "" +msgstr "Συντομεύσεις" #: using/windows.rst:192 msgid "" "Create shortcuts for the interpreter, documentation and IDLE if installed." msgstr "" +"Δημιουργήστε συντομεύσεις για τον διερμηνέα, την τεκμηρίωση και το IDLE εάν " +"είναι εγκατεστημένα." #: using/windows.rst:195 msgid "Include_doc" -msgstr "" +msgstr "Include_doc" #: using/windows.rst:195 msgid "Install Python manual" -msgstr "" +msgstr "Εγκαταστήστε το εγχειρίδιο της Python" #: using/windows.rst:197 msgid "Include_debug" -msgstr "" +msgstr "Include_debug" #: using/windows.rst:197 msgid "Install debug binaries" -msgstr "" +msgstr "Εγκαταστήστε δυαδικά αρχεία εντοπισμού σφαλμάτων" #: using/windows.rst:199 msgid "Include_dev" -msgstr "" +msgstr "Include_dev" #: using/windows.rst:199 msgid "" "Install developer headers and libraries. Omitting this may lead to an " "unusable installation." msgstr "" +"Εγκατάσταση κεφαλίδων και βιβλιοθηκών προγραμματιστή. Η παράλειψη αυτού " +"μπορεί να οδηγήσει σε μη χρησιμοποιήσιμη εγκατάσταση." #: using/windows.rst:203 msgid "Include_exe" -msgstr "" +msgstr "Include_exe" #: using/windows.rst:203 msgid "" "Install :file:`python.exe` and related files. Omitting this may lead to an " "unusable installation." msgstr "" +"Εγκατάσταση :file:`python.exe` και σχετικών αρχείων. Η παράλειψη αυτού " +"μπορεί να οδηγήσει σε μη χρησιμοποιήσιμη εγκατάσταση." #: using/windows.rst:207 msgid "Include_launcher" -msgstr "" +msgstr "Include_launcher" #: using/windows.rst:207 msgid "Install :ref:`launcher`." -msgstr "" +msgstr "Εγκαταστήστε το :ref:`launcher`." #: using/windows.rst:209 msgid "InstallLauncherAllUsers" -msgstr "" +msgstr "InstallLauncherAllUsers" #: using/windows.rst:209 msgid "" "Installs the launcher for all users. Also requires ``Include_launcher`` to " "be set to 1" msgstr "" +"Εγκαθιστά το πρόγραμμα εκκίνησης για όλους του χρήστες. Επίσης, απαιτείται η " +"ρύθμιση ``Include_launcher`` να τεθεί σε 1" #: using/windows.rst:213 msgid "Include_lib" -msgstr "" +msgstr "Include_lib" #: using/windows.rst:213 msgid "" "Install standard library and extension modules. Omitting this may lead to an " "unusable installation." msgstr "" +"Εγκαταστήστε τυπικά module βιβλιοθήκης και επέκτασης. Η παράλειψη αυτού " +"μπορεί να οδηγήσει σε μη χρησιμοποιήσιμη εγκατάσταση." #: using/windows.rst:217 msgid "Include_pip" -msgstr "" +msgstr "Include_pip" #: using/windows.rst:217 msgid "Install bundled pip and setuptools" -msgstr "" +msgstr "Εγκαταστήστε το πακέτο pip και setuptools" #: using/windows.rst:219 msgid "Include_symbols" -msgstr "" +msgstr "Include_symbols" #: using/windows.rst:219 msgid "Install debugging symbols (``*.pdb``)" -msgstr "" +msgstr "Εγκατάσταση συμβόλων εντοπισμού σφαλμάτων (``*.pdb``)" #: using/windows.rst:221 msgid "Include_tcltk" -msgstr "" +msgstr "Include_tcltk" #: using/windows.rst:221 msgid "Install Tcl/Tk support and IDLE" -msgstr "" +msgstr "Εγκατάσταση υποστήριξης Tcl/Tk και IDLE" #: using/windows.rst:223 msgid "Include_test" -msgstr "" +msgstr "Include_test" #: using/windows.rst:223 msgid "Install standard library test suite" -msgstr "" +msgstr "Εγκαταστήστε την τυπική σουίτα δοκιμών βιβλιοθήκης" #: using/windows.rst:225 msgid "Include_tools" -msgstr "" +msgstr "Include_tools" #: using/windows.rst:225 msgid "Install utility scripts" -msgstr "" +msgstr "Εγκαταστήστε βοηθητικά scripts" #: using/windows.rst:227 msgid "LauncherOnly" -msgstr "" +msgstr "LauncherOnly" #: using/windows.rst:227 msgid "Only installs the launcher. This will override most other options." msgstr "" +"Εγκαθιστά μόνο το πρόγραμμα εκκίνησης. Αυτό θα παρακάμψει τις περισσότερες " +"άλλες επιλογές." #: using/windows.rst:230 msgid "SimpleInstall" -msgstr "" +msgstr "SimpleInstall" #: using/windows.rst:230 msgid "Disable most install UI" -msgstr "" +msgstr "Απενεργοποιήστε τις περισσότερες διεπαφές εγκατάστασης" #: using/windows.rst:232 msgid "SimpleInstallDescription" -msgstr "" +msgstr "SimpleInstallDescription" #: using/windows.rst:232 msgid "A custom message to display when the simplified install UI is used." msgstr "" +"Ένα προσαρμοσμένο μήνυμα που θα εμφανίζεται όταν χρησιμοποιείται το " +"απλοποιημένο περιβάλλον διεπαφής χρήστη." #: using/windows.rst:236 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:239 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:241 msgid "" @@ -557,12 +677,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:245 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:248 msgid "" @@ -570,6 +696,10 @@ msgid "" "recommended for per-user installs when there is also a system-wide " "installation that included the launcher.)" msgstr "" +"(Λάβετε υπόψη ότι η παράλειψη της εφαρμογής εκκίνησης παραλείπει επίσης " +"συσχετίσεις αρχείων και συνίσταται μόνο για εγκαταστάσεις ανά χρήστη όταν " +"υπάρχει επίσης εγκατάσταση σε όλο το σύστημα που περιλάμβανε τη λειτουργία " +"εκκίνησης.)" #: using/windows.rst:252 msgid "" @@ -579,6 +709,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:258 msgid "" @@ -591,10 +727,18 @@ msgid "" "Option>\n" "" msgstr "" +"\n" +" " #: using/windows.rst:271 msgid "Installing Without Downloading" -msgstr "" +msgstr "Εγκατάσταση χωρίς λήψη" #: using/windows.rst:273 msgid "" @@ -606,6 +750,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:281 msgid "" @@ -614,19 +767,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:288 msgid "python-3.9.0.exe /layout [optional target directory]" -msgstr "" +msgstr "python-3.9.0.exe /layout [optional target directory]" #: using/windows.rst:290 msgid "" "You may also specify the ``/quiet`` option to hide the progress display." msgstr "" +"Μπορείτε επίσης να καθορίσετε την επιλογή ``/quiet`` για απόκρυψη της " +"εμφάνισης προόδου." #: using/windows.rst:293 msgid "Modifying an install" -msgstr "" +msgstr "Τροποποίηση εγκατάστασης" #: using/windows.rst:295 msgid "" @@ -634,6 +794,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:299 msgid "" @@ -642,28 +807,42 @@ 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:304 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:307 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:314 msgid "The Microsoft Store package" -msgstr "" +msgstr "Το πακέτο Microsoft Store" #: using/windows.rst:318 msgid "" "The Microsoft Store package is an easily installable Python interpreter that " "is intended mainly for interactive use, for example, by students." msgstr "" +"Το πακέτο Microsoft Store είναι ένας εύκολα εγκαταστημένος διερμηνέας Python " +"που προορίζεται κυρίως για διαδραστική χρήση για παράδειγμα, από μαθητές." #: using/windows.rst:321 msgid "" @@ -671,12 +850,19 @@ msgid "" "search the Microsoft Store app for \"Python |version|\". Ensure that the app " "you select is published by the Python Software Foundation, and install it." msgstr "" +"Για να εγκαταστήσετε το πακέτο, βεβαιωθείτε ότι έχετε τις πιο πρόσφατες " +"ενημερώσεις των Windows 10 και πραγματοποιήστε αναζήτηση στην εφαρμογή " +"Microsoft Store για \"Python |version|\". Βεβαιωθείτε ότι η εφαρμογή που " +"επιλέγετε έχει δημοσιευτεί από το Python Software Foundation, και " +"εγκαταστήστε την." #: using/windows.rst:326 msgid "" "Python will always be available for free on the Microsoft Store. If you are " "asked to pay for it, you have not selected the correct package." msgstr "" +"Η Python θα είναι πάντα διαθέσιμη δωρεάν στο Microsoft Store. Εάν σας " +"ζητηθεί να πληρώσετε για αυτό, δεν έχετε επιλέξει το σωστό πακέτο." #: using/windows.rst:329 msgid "" @@ -685,6 +871,11 @@ msgid "" "session by typing ``python``. Further, pip and IDLE may be used by typing " "``pip`` or ``idle``. IDLE can also be found in Start." msgstr "" +"Μετά την εγκατάσταση, η Python μπορεί να εκκινηθεί βρίσκοντας την στην " +"Έναρξη. Εναλλακτικά, θα είναι διαθέσιμη από οποιαδήποτε περίοδο λειτουργίας " +"της Γραμμής Εντολών ή PowerShell, πληκτρολογώντας ``python``. Επιπλέον, το " +"pip και το IDLE μπορούν να χρησιμοποιηθούν πληκτρολογώντας ``pip`` ή " +"``idle``. Το IDLE μπορεί επίσης να βρεθεί στην Έναρξη." #: using/windows.rst:334 msgid "" @@ -696,12 +887,22 @@ msgid "" "to make sure that ``pip`` and ``idle`` are consistent with whichever version " "of ``python`` is selected." msgstr "" +"Και οι τρεις εντολές είναι επίσης διαθέσιμες με επιθήματα αριθμού έκδοσης, " +"για παράδειγμα, ως ``python3.exe`` και ``python3.x.exe`` καθώς και το " +"``python.exe`` (όπου ``3.x`` είναι η συγκεκριμένη έκδοση που θέλετε να " +"εκκινήσετε, όπως |version|). Ανοίξτε \"Διαχείριση Ψευδωνύμων Εκτέλεσης " +"Εφαρμογών\" μέσω της Έναρξης για να επιλέξετε ποια έκδοση της Python " +"σχετίζεται με κάθε εντολή. Συνίσταται να βεβαιωθείτε ότι τα ``pip`` και " +"``idle`` είναι είναι συμβατά με οποιαδήποτε έκδοση της ``python`` έχει " +"επιλεγεί." #: using/windows.rst:342 msgid "" "Virtual environments can be created with ``python -m venv`` and activated " "and used as normal." msgstr "" +"Τα εικονικά περιβάλλοντα μπορούν να δημιουργηθούν με το ``python -m venv`` " +"και να ενεργοποιηθούν και να χρησιμοποιηθούν κανονικά." #: using/windows.rst:345 msgid "" @@ -710,28 +911,39 @@ msgid "" "one from the Microsoft Store. To access the new installation, use ``python3." "exe`` or ``python3.x.exe``." msgstr "" +"Εάν έχετε εγκαταστήσει μια άλλη έκδοση της Python και την προσθέσατε στη " +"μεταβλητή ``PATH`` σας, θα είναι διαθέσιμη ως ``python.exe`` και όχι ως αυτή " +"από το Microsoft Store. Για πρόσβαση στη νέα εγκατάσταση, χρησιμοποιήστε το " +"``python3.exe`` ή ``python3.x.exe``." #: using/windows.rst:350 msgid "" "The ``py.exe`` launcher will detect this Python installation, but will " "prefer installations from the traditional installer." msgstr "" +"Η εφαρμογή εκκίνησης ``py.exe`` θα εντοπίσει αυτήν την εγκατάσταση Python, " +"αλλά θα προτιμήσει εγκαταστάσεις από το παραδοσιακό πρόγραμμα εγκατάστασης." #: using/windows.rst:353 msgid "" "To remove Python, open Settings and use Apps and Features, or else find " "Python in Start and right-click to select Uninstall. Uninstalling will " "remove all packages you installed directly into this Python installation, " -"but will not remove any virtual environments" +"but will not remove any virtual environments." msgstr "" +"Για να καταργήσετε την Python, ανοίξτε τις Ρυθμίσεις και χρησιμοποιήστε τα " +"Προγράμματα και Δυνατότητες , ή αλλιώς βρείτε την Python στην Έναρξη και " +"κάντε δεξί κλικ για να επιλέξετε Κατάργηση εγκατάστασης. Η απεγκατάσταση θα " +"καταργήσει όλα τα πακέτα που εγκαταστήσατε απευθείας σε αυτήν την " +"εγκατάσταση Python, αλλά δεν θα καταργήσει κανένα εικονικό περιβάλλον." #: using/windows.rst:359 msgid "Known issues" -msgstr "" +msgstr "Γνωστά θέματα" #: using/windows.rst:362 msgid "Redirection of local data, registry, and temporary paths" -msgstr "" +msgstr "Ανακατεύθυνση τοπικών δεδομένων, μητρώου, και προσωρινών διαδρομών" #: using/windows.rst:364 msgid "" @@ -740,6 +952,11 @@ msgid "" "registry. Instead, it will write to a private copy. If your scripts must " "modify the shared locations, you will need to install the full installer." msgstr "" +"Λόγω περιορισμών στις εφαρμογές του Microsoft Store, τα Python scripts " +"ενδέχεται να μην έχουν πλήρη πρόσβαση εγγραφής σε κοινόχρηστες τοποθεσίες " +"όπως :envvar:`TEMP` και το μητρώο. Αντίθετα, θα γράψει σε ένα ιδιωτικό " +"αντίγραφο. Εάν τα scripts σας πρέπει να τροποποιήσουν τις κοινόχρηστες " +"τοποθεσίες, θα χρειαστεί να εγκαταστήσετε το πλήρες πρόγραμμα εγκατάστασης." #: using/windows.rst:369 msgid "" @@ -751,6 +968,13 @@ msgid "" "\\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\\\\LocalCache\\\\Local\\" "\\`." msgstr "" +"Κατά την εκτέλεση, η Python θα χρησιμοποιήσει ένα ιδιωτικό αντίγραφο γνωστών " +"φακέλων των Windows και του μητρώου. Για παράδειγμα, εάν η μεταβλητή " +"περιβάλλοντος :envvar:`%APPDATA%` είναι :file:`c:\\\\Users\\\\\\" +"\\AppData\\\\`, τότε όταν γράφεται σε :file:`C:\\\\Users\\\\\\" +"\\AppData\\\\Local` θα γραφεί σε :file:`C:\\\\Users\\\\\\\\AppData\\" +"\\Local\\\\Packages\\\\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\\" +"\\LocalCache\\\\Local\\\\`." #: using/windows.rst:374 msgid "" @@ -760,12 +984,20 @@ msgid "" "\\Windows\\\\System32` plus the contents of :file:`C:\\\\Program Files\\" "\\WindowsApps\\\\package_name\\\\VFS\\\\SystemX86`." msgstr "" +"Κατά την ανάγνωση αρχείων, τα Windows θα επιστρέψουν το αρχείο από τον " +"ιδιωτικό φάκελο ή αν δεν υπάρχει, τον πραγματικό κατάλογο των Windows. Για " +"παράδειγμα, η ανάγνωση του :file:`C:\\\\Windows\\\\System32` επιστρέφει τα " +"περιεχόμενα του :file:`C:\\\\Windows\\\\System32` συν τα περιεχόμενα του :" +"file:`C:\\\\Program Files\\\\WindowsApps\\\\package_name\\\\VFS\\" +"\\SystemX86`." #: using/windows.rst:378 msgid "" "You can find the real path of any existing file using :func:`os.path." "realpath`:" msgstr "" +"Μπορείτε να βρείτε την πραγματική διαδρομή οποιουδήποτε υπάρχοντος αρχείου " +"χρησιμοποιώντας :func:`os.path.realpath`:" #: using/windows.rst:380 msgid "" @@ -776,22 +1008,33 @@ msgid "" "\\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\\\\LocalCache\\\\Local\\" "\\test.txt'" msgstr "" +">>> import os\n" +">>> test_file = 'C:\\\\Users\\\\example\\\\AppData\\\\Local\\\\test.txt'\n" +">>> os.path.realpath(test_file)\n" +"'C:\\\\Users\\\\example\\\\AppData\\\\Local\\\\Packages\\" +"\\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\\\\LocalCache\\\\Local\\" +"\\test.txt'" #: using/windows.rst:387 msgid "When writing to the Windows Registry, the following behaviors exist:" msgstr "" +"Κατά την εγγραφή στο μητρώο των Windows, υπάρχουν οι ακόλουθες συμπεριφορές:" #: using/windows.rst:389 msgid "" "Reading from ``HKLM\\\\Software`` is allowed and results are merged with " "the :file:`registry.dat` file in the package." msgstr "" +"Η ανάγνωση από το ``HKLM\\\\Software`` επιτρέπεται και τα αποτελέσματα " +"συγχωνεύονται με το αρχείο :file:`registry.dat` στο πακέτο." #: using/windows.rst:390 msgid "" "Writing to ``HKLM\\\\Software`` is not allowed if the corresponding key/" "value exists, i.e. modifying existing keys." msgstr "" +"Η εγγραφή στο ``HKLM\\\\Software`` δεν επιτρέπεται εάν υπάρχει το αντίστοιχο " +"κλειδί/τιμή, π.χ. τροποποίηση υπαρχόντων κλειδιών." #: using/windows.rst:391 msgid "" @@ -799,6 +1042,8 @@ msgid "" "value does not exist in the package and the user has the correct access " "permissions." msgstr "" +"Η εγγραφή στο ``HKLM\\\\Software`` επιτρέπει εφόσον δεν υπάρχει αντίστοιχο " +"κλειδί/τιμή στο πακέτο και ο χρήστης έχει τα σωστά δικαιώματα πρόσβασης." #: using/windows.rst:394 msgid "" @@ -808,10 +1053,16 @@ msgid "" "scenes `_" msgstr "" +"Για περισσότερες λεπτομέρειες σχετικά με την τεχνική βάση για αυτούς του " +"περιορισμούς, συμβουλευτείτε την τεκμηρίωση της Microsoft σχετικά με τις " +"συσκευασμένες εφαρμογές πλήρους αξιοπιστίας, που είναι επί του παρόντος " +"διαθέσιμη στη διεύθυνση `docs.microsoft.com/en-us/windows/msix/desktop/" +"desktop-to-uwp-behind-the-scenes `_" #: using/windows.rst:403 msgid "The nuget.org packages" -msgstr "" +msgstr "Τα πακέτα nuget.org" #: using/windows.rst:407 msgid "" @@ -820,6 +1071,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:412 msgid "" @@ -827,6 +1083,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:416 msgid "" @@ -835,12 +1094,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:421 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:424 msgid "" @@ -851,6 +1116,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:431 msgid "" @@ -862,6 +1134,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:441 msgid "" @@ -870,6 +1149,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:446 msgid "" @@ -878,6 +1162,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:451 msgid "" @@ -886,10 +1175,14 @@ msgid "" "`www.nuget.org/packages/pythonx86 `_ for the 32-bit version." msgstr "" +"Οι σελίδες πληροφοριών πακέτου στο nuget.org είναι `www.nuget.org/packages/" +"python `_ για την έκδοση 64-bit και " +"`www.nuget.org/packages/pythonx86 `_ για την έκδοση 32-bit." #: using/windows.rst:460 msgid "The embeddable package" -msgstr "" +msgstr "Το ενσωματωμένο πακέτο" #: using/windows.rst:464 msgid "" @@ -897,6 +1190,9 @@ 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:468 msgid "" @@ -908,6 +1204,14 @@ msgid "" "tk (including all dependents, such as Idle), pip and the Python " "documentation are not included." msgstr "" +"Όταν εξάγεται, η ενσωματωμένη διανομή απομονώνεται (σχεδόν) πλήρως από το " +"σύστημα του χρήστη, συμπεριλαμβανομένων μεταβλητών περιβάλλοντος, ρυθμίσεων " +"μητρώου συστήματος και εγκατεστημένων πακέτων. Η τυπική βιβλιοθήκη " +"περιλαμβάνεται ως προ-μεταγλωττισμένα και βελτιστοποιημένα αρχεία ``.pyc`` " +"σε ένα ZIP και ``python3.dll``, ``python37.dll``, ``python.exe`` και " +"``pythonw.exe`` παρέχονται όλα. Το Tcl/tk (συμπεριλαμβανομένων όλων των " +"εξαρτημένων, όπως το Idle), το pip και η τεκμηρίωση Python δεν " +"συμπεριλαμβάνονται." #: using/windows.rst:477 msgid "" @@ -918,6 +1222,13 @@ msgid "" "installed on a user's system previously or automatically via Windows Update, " "and can be detected by finding ``ucrtbase.dll`` in the system directory." msgstr "" +"Η ενσωματωμένη διανομή δεν περιλαμβάνει το `Microsoft C Runtime `_ και είναι ευθύνη του προγράμματος " +"εγκατάστασης της εφαρμογής να το παρέχει. Ο χρόνος εκτέλεσης μπορεί να έχει " +"ήδη εγκατασταθεί στο σύστημα ενός χρήστη προηγουμένως ή αυτόματα μέσω του " +"Windows Update και μπορεί να εντοπιστεί βρίσκοντας το ``ucrtbase.dll`` στον " +"κατάλογο του συστήματος." #: using/windows.rst:484 msgid "" @@ -929,15 +1240,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:492 msgid "" "The two recommended use cases for this distribution are described below." msgstr "" +"Οι δύο προτεινόμενες περιπτώσεις χρήσης για αυτήν τη διανομή περιγράφονται " +"παρακάτω." #: using/windows.rst:495 msgid "Python Application" -msgstr "" +msgstr "Εφαρμογή Python" #: using/windows.rst:497 msgid "" @@ -947,6 +1269,11 @@ msgid "" "transparent it should be (or conversely, how professional it should appear), " "there are two options." msgstr "" +"Μια εφαρμογή γραμμένη σε Python δεν απαιτεί απαραίτητα από τους χρήστες να " +"γνωρίζουν αυτό το γεγονός. Η ενσωματωμένη διανομή μπορεί να χρησιμοποιηθεί " +"σε αυτήν την περίπτωση για να συμπεριλάβει μια ιδιωτική έκδοση της Python σε " +"ένα πακέτο εγκατάστασης. Ανάλογα με το πόσο διαφανές θα πρέπει να είναι (ή " +"αντίστροφα, πόσο επαγγελματικό θα έπρεπε να φαίνεται), υπάρχουν δύο επιλογές." #: using/windows.rst:503 msgid "" @@ -958,6 +1285,14 @@ msgid "" "launcher should simply be able to call ``Py_Main`` with a hard-coded command " "line." msgstr "" +"Η χρήση ενός εξειδικευμένου εκτελέσιμου ως προγράμματος εκκίνησης απαιτεί " +"κάποια κωδικοποίηση, αλλά παρέχει την πιο διαφανής εμπειρία για τους " +"χρήστες. Με έναν προσαρμοσμένο πρόγραμμα εκκίνησης, δεν υπάρχουν προφανείς " +"ενδείξεις ότι το πρόγραμμα εκτελείται σε Python: τα εικονίδια μπορούν να " +"προσαρμοστούν, οι πληροφορίες εταιρείας και έκδοσης μπορούν να καθορίζεται " +"και οι συσχετισμοί αρχείων συμπεριφέρονται σωστά. Στις περισσότερες " +"περιπτώσεις, ένα προσαρμοσμένο πρόγραμμα εκκίνησης θα πρέπει απλώς να μην " +"μπορεί να καλεί το ``Py_Main`` με μια σκληρά κωδικοποιημένη γραμμή εντολών." #: using/windows.rst:510 msgid "" @@ -967,6 +1302,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:516 msgid "" @@ -976,10 +1317,15 @@ msgid "" "there is an opportunity to specify the search path before launching the " "application." msgstr "" +"Με την τελευταία προσέγγιση, τα πακέτα θα πρέπει να εγκατασταθούν ως " +"κατάλογοι μαζί με το εκτελέσιμο Python για να διασφαλιστεί ότι είναι " +"διαθέσιμα στην διαδρομή. Με το εξειδικευμένο πρόγραμμα εκκίνησης τα πακέτα " +"μπορούν να βρίσκονται σε άλλες τοποθεσίες, καθώς υπάρχει η ευκαιρία να " +"καθοριστεί η διαδρομή αναζήτησης πριν από την εκκίνηση της εφαρμογής." #: using/windows.rst:522 msgid "Embedding Python" -msgstr "" +msgstr "Ενσωμάτωση Python" #: using/windows.rst:524 msgid "" @@ -991,6 +1337,13 @@ msgid "" "application installation is sufficient to provide a loadable Python " "interpreter." msgstr "" +"Οι εφαρμογές που είναι γραμμένες σε εγγενή κώδικα απαιτούν συχνά κάποια " +"μορφή scripting γλώσσας και η ενσωματωμένη διανομή Python μπορεί να " +"χρησιμοποιηθεί για αυτόν τον σκοπό. Γενικά, η πλειονότητα της εφαρμογής " +"είναι σε εγγενή κώδικα και κάποιο μέρος είτε θα καλέσει το ``python.exe`` ή " +"θα χρησιμοποιήσει απευθείας το ``python3.dll``. Και στις δύο περιπτώσεις, η " +"εξαγωγή της ενσωματωμένης διανομής σε έναν υποκατάλογο της εγκατάστασης της " +"εφαρμογής αρκεί για να παρέχει έναν διερμηνέα Python με δυνατότητα φόρτωσης." #: using/windows.rst:531 msgid "" @@ -999,10 +1352,15 @@ msgid "" "interpreter. Otherwise, there is no fundamental differences between using " "the embedded distribution and a regular installation." msgstr "" +"Όπως και με τη χρήση της εφαρμογής, τα πακέτα μπορούν να εγκατασταθούν σε " +"οποιαδήποτε τοποθεσία, καθώς υπάρχει η ευκαιρία να καθορίσουν διαδρομές " +"αναζήτησης πριν αρχικοποιηθεί ο διερμηνέας. Διαφορετικά , δεν υπάρχουν " +"θεμελιώδεις διαφορές μεταξύ της χρήσης της ενσωματωμένης διανομή και μιας " +"κανονικής εγκατάστασης." #: using/windows.rst:538 msgid "Alternative bundles" -msgstr "" +msgstr "Εναλλακτικά πακέτα" #: using/windows.rst:540 msgid "" @@ -1010,33 +1368,40 @@ msgid "" "including additional functionality. The following is a list of popular " "versions and their key features:" msgstr "" +"Εκτός από την τυπική διανομή CPython, υπάρχουν τροποποιημένα πακέτα που " +"περιλαμβάνουν πρόσθετες λειτουργίες. Ακολουθεί μια λίστα με δημοφιλείς " +"εκδόσεις και τα βασικά χαρακτηριστικά τους:" #: using/windows.rst:544 msgid "`ActivePython `_" -msgstr "" +msgstr "`ActivePython `_" #: using/windows.rst:545 msgid "Installer with multi-platform compatibility, documentation, PyWin32" msgstr "" +"Πρόγραμμα εγκατάστασης με συμβατότητα πολλαπλών πλατφορμών, τεκμηρίωση, " +"PyWin32" #: using/windows.rst:547 msgid "`Anaconda `_" -msgstr "" +msgstr "`Anaconda `_" #: using/windows.rst:548 msgid "" "Popular scientific modules (such as numpy, scipy and pandas) and the " "``conda`` package manager." msgstr "" +"Δημοφιλείς επιστημονικά modules (όπως το numpy, scipy και pandas) και ο " +"διαχειριστής πακέτων ``conda``." #: using/windows.rst:551 msgid "" "`Enthought Deployment Manager `_" -msgstr "" +msgstr "`Enthought Deployment Manager `_" #: using/windows.rst:552 msgid "\"The Next Generation Python Environment and Package Manager\"." -msgstr "" +msgstr "\"Η επόμενη γενικά Διαχειριστή Περιβάλλοντος και Πακέτων Python\"." #: using/windows.rst:554 msgid "" @@ -1045,26 +1410,35 @@ msgid "" "of-life-transition-to-the-Enthought-Deployment-Manager-EDM-and-Visual-Studio-" "Code>`_." msgstr "" +"Προηγουμένως, η Enthought παρείχε το Canopy, αλλά έφτασε στο τέλος της ζωής " +"του το 2016 `_." #: using/windows.rst:557 msgid "`WinPython `_" -msgstr "" +msgstr "`WinPython `_" #: using/windows.rst:558 msgid "" "Windows-specific distribution with prebuilt scientific packages and tools " "for building packages." msgstr "" +"Διανομή ειδικά για Windows με προκατασκευασμένα επιστημονικά πακέτα και " +"εργαλεία για την κατασκευή πακέτων." #: using/windows.rst:561 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:567 msgid "Configuring Python" -msgstr "" +msgstr "Διαμόρφωση Python" #: using/windows.rst:569 msgid "" @@ -1074,22 +1448,34 @@ msgid "" "is only reliable for a single, system-wide installation. If you regularly " "use multiple versions of Python, consider using the :ref:`launcher`." msgstr "" +"Για να εκτελέσετε εύκολα την Python από μια γραμμή εντολών, μπορείτε να " +"εξετάσετε το ενδεχόμενο να αλλάξετε ορισμένες προεπιλεγμένες μεταβλητές " +"περιβάλλοντός στα Windows. Ενώ το πρόγραμμα εγκατάστασης παρέχει μια " +"επιλογή για τη διαμόρφωση των μεταβλητών PATH και PATHTEXT για εσάς, αυτή " +"είναι αξιόπιστη μόνο για μια μεμονωμένη εγκατάσταση σε όλο το σύστημα. Εάν " +"χρησιμοποιείτε τακτικά πολλές εκδόσεις της Python, σκεφτείτε να " +"χρησιμοποιήσετε το :ref:`launcher`." #: using/windows.rst:579 msgid "Excursus: Setting environment variables" -msgstr "" +msgstr "Excursus: Ρύθμιση μεταβλητών περιβάλλοντος" #: using/windows.rst:581 msgid "" "Windows allows environment variables to be configured permanently at both " "the User level and the System level, or temporarily in a command prompt." msgstr "" +"Τα Windows επιτρέπουν τη μόνιμη διαμόρφωση των μεταβλητών περιβάλλοντος τόσο " +"σε επίπεδο χρήστη όσο και σε επίπεδο συστήματος ή προσωρινά σε μια γραμμή " +"εντολών." #: using/windows.rst:584 msgid "" "To temporarily set environment variables, open Command Prompt and use the :" "command:`set` command:" msgstr "" +"Για να ορίσετε προσωρινά μεταβλητές περιβάλλοντος, ανοίξτε τη γραμμή εντολών " +"και χρησιμοποιήστε την εντολή :command:`set`:" #: using/windows.rst:587 msgid "" @@ -1097,12 +1483,18 @@ msgid "" "C:\\>set PYTHONPATH=%PYTHONPATH%;C:\\My_python_lib\n" "C:\\>python" msgstr "" +"C:\\>set PATH=C:\\Program Files\\Python 3.9;%PATH%\n" +"C:\\>set PYTHONPATH=%PYTHONPATH%;C:\\My_python_lib\n" +"C:\\>python" #: using/windows.rst:593 msgid "" "These changes will apply to any further commands executed in that console, " "and will be inherited by any applications started from the console." msgstr "" +"Αυτές οι αλλαγές θα ισχύουν για τυχόν περαιτέρω εντολές που εκτελούνται σε " +"αυτήν την κονσόλα και θα κληρονομηθούν από οποιεσδήποτε εφαρμογές ξεκινούν " +"από την κονσόλα." #: using/windows.rst:596 msgid "" @@ -1112,6 +1504,12 @@ msgid "" "exe` to the start is a common way to ensure the correct version of Python is " "launched." msgstr "" +"Η συμπερίληψη του ονόματος της μεταβλητής μέσα στα σημάδια ποσοστού θα " +"επεκταθεί στην υπάρχουσα τιμή, επιτρέποντας σας να προσθέσετε τη νέα σας " +"τιμή είτε στην αρχή είτε στο τέλος. Τροποποιώντας το :envvar:`PATH` " +"προσθέτοντας τον κατάλογο που περιέχει :program:`python.exe` στην αρχή είναι " +"ένας κοινός τρόπος για να διασφαλιστεί ότι η σωστή έκδοση της Python θα " +"ξεκινήσει." #: using/windows.rst:602 msgid "" @@ -1122,12 +1520,23 @@ msgid "" "variables. To change System variables, you need non-restricted access to " "your machine (i.e. Administrator rights)." msgstr "" +"Για να τροποποιήσετε μόνιμα τις προεπιλεγμένες μεταβλητές περιβάλλοντος, " +"κάντε κλικ στην Έναρξη και αναζητήστε 'επεξεργασία μεταβλητών " +"περιβάλλοντος', ή ανοίξτε τις Ιδιότητες Συστήματος, :guilabel:`Advanced " +"system settings` και κάντε κλικ στο κουμπί :guilabel:`Environment " +"Variables`. Σε αυτό το παράθυρο διαλόγου, μπορείτε να προσθέσετε ή να " +"τροποποιήσετε μεταβλητές χρήστη και συστήματος. Για να αλλάξετε τις " +"μεταβλητές συστήματος, χρειάζεστε απεριόριστη πρόσβαση στον υπολογιστή σας " +"(δηλαδή δικαιώματα διαχειριστή)." #: using/windows.rst:611 msgid "" "Windows will concatenate User variables *after* System variables, which may " "cause unexpected results when modifying :envvar:`PATH`." msgstr "" +"Τα Windows θα συνενώσουν τις μεταβλητές χρήστη *μετά* τις μεταβλητές " +"συστήματος, οι οποίες ενδέχεται να προκαλέσουν απροσδόκητα αποτελέσματα κατά " +"την τροποποίηση του :envvar:`PATH`." #: using/windows.rst:614 msgid "" @@ -1135,39 +1544,50 @@ msgid "" "should not permanently configure it unless the listed paths only include " "code that is compatible with all of your installed Python versions." msgstr "" +"Η μεταβλητή :envvar:`PYTHONPATH` χρησιμοποιείται από όλες τις εκδόσεις της " +"Python, επομένως δεν θα πρέπει να τη ρυθμίσετε μόνιμα εκτός εάν οι διαδρομές " +"που αναφέρονται περιλαμβάνουν μόνο κώδικα που είναι συμβατός με όλες τις " +"εγκατεστημένες εκδόσεις Python." #: using/windows.rst:621 msgid "" "https://learn.microsoft.com/windows/win32/procthread/environment-variables" msgstr "" +"https://docs.microsoft.com/en-us/windows/win32/procthread/environment-" +"variables" #: using/windows.rst:622 msgid "Overview of environment variables on Windows" -msgstr "" +msgstr "Επισκόπηση των μεταβλητών περιβάλλοντος στα Windows" #: using/windows.rst:624 msgid "" "https://learn.microsoft.com/windows-server/administration/windows-commands/" "set_1" msgstr "" +"https://docs.microsoft.com/en-us/windows-server/administration/windows-" +"commands/set_1" #: using/windows.rst:625 msgid "The ``set`` command, for temporarily modifying environment variables" msgstr "" +"Η εντολή ``set`` για την προσωρινή τροποποίηση μεταβλητών περιβάλλοντος" #: using/windows.rst:627 msgid "" "https://learn.microsoft.com/windows-server/administration/windows-commands/" "setx" msgstr "" +"https://docs.microsoft.com/en-us/windows-server/administration/windows-" +"commands/setx" #: using/windows.rst:628 msgid "The ``setx`` command, for permanently modifying environment variables" -msgstr "" +msgstr "Η εντολή ``setx``, για μόνιμη τροποποίηση μεταβλητών περιβάλλοντος" #: using/windows.rst:634 msgid "Finding the Python executable" -msgstr "" +msgstr "Εύρεση του εκτελέσιμου Python" #: using/windows.rst:638 msgid "" @@ -1175,6 +1595,10 @@ msgid "" "interpreter, you might want to start Python in the command prompt. The " "installer has an option to set that up for you." msgstr "" +"Εκτός από τη χρήση της καταχώρισης του μενού έναρξης που δημιουργείται " +"αυτόματα για τον διερμηνέα Python, ίσως θελήσετε να ξεκινήσετε την Python " +"στη γραμμή εντολών. Το πρόγραμμα εγκατάστασης έχει μια επιλογή να το " +"ρυθμίσει για εσάς." #: using/windows.rst:642 msgid "" @@ -1186,6 +1610,13 @@ msgid "" "your scripts with command line options, see :ref:`using-on-cmdline` " "documentation." msgstr "" +"Στην πρώτη σελίδα του προγράμματος εγκατάστασης, μπορεί να επιλεγεί μια " +"επιλογή με την ένδειξη \"Add Python to PATH\" για να προσθέσει το πρόγραμμα " +"εγκατάστασης τη θέση εγκατάστασης στο :envvar:`PATH`. Η θέση του φακέλου " +"του :file:`Scripts\\\\` προστίθεται επίσης. Αυτό σας επιτρέπει να " +"πληκτρολογήσετε :command:`python` για να εκτελέσετε τον διερμηνέα και :" +"command:`pip` για το πακέτο. Έτσι, μπορείτε να εκτελέσετε τα script σας με " +"επιλογές γραμμής εντολών, δείτε την τεκμηρίωση :ref:`using-on-cmdline`." #: using/windows.rst:649 msgid "" @@ -1197,14 +1628,23 @@ msgid "" "entries. An example variable could look like this (assuming the first two " "entries already existed)::" msgstr "" +"Εάν δεν ενεργοποιήσετε αυτήν την επιλογή κατά την εγκατάσταση, μπορείτε " +"πάντα να εκτελέσετε ξανά το πρόγραμμα εγκατάστασης, να επιλέξετε " +"Τροποποίηση, και να το ενεργοποιήσετε. Εναλλακτικά, μπορείτε να " +"τροποποιήσετε μη αυτόματα το :envvar:`PATH` χρησιμοποιώντας τις οδηγίες στο :" +"ref:`setting-envvars`. Πρέπει να ρυθμίσετε την μεταβλητή περιβάλλοντος :" +"envvar:`PATH`, ώστε να περιλαμβάνει τον κατάλογο της εγκατάστασης Python, " +"οριοθετημένος με ένα ερωτηματικό από άλλες καταχωρήσεις. Ένα παράδειγμα " +"μεταβλητής θα μπορούσε να μοιάζει με αυτό (υποθέτοντας ότι οι δύο πρώτες " +"εγγραφές υπήρχαν ήδη)::" #: using/windows.rst:657 msgid "C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\Program Files\\Python 3.9" -msgstr "" +msgstr "C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\Program Files\\Python 3.9" #: using/windows.rst:662 msgid "UTF-8 mode" -msgstr "" +msgstr "Λειτουργία UTF-8" #: using/windows.rst:666 msgid "" @@ -1212,12 +1652,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:670 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:673 msgid "" @@ -1227,12 +1674,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:679 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:682 msgid "" @@ -1242,26 +1699,36 @@ 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:689 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:692 msgid "Console I/O including standard I/O (see :pep:`528` for details)." -msgstr "" +msgstr "I/O κονσόλας με τυπικό I/O (δείτε το :pep:`528` για λεπτομέρειες)." #: using/windows.rst:693 msgid "" "The :term:`filesystem encoding ` " "(see :pep:`529` for details)." msgstr "" +"Το :term:`filesystem encoding ` " +"(δείτε το :pep:`529` για λεπτομέρειες)." #: using/windows.rst:700 msgid "Python Launcher for Windows" -msgstr "" +msgstr "Το πρόγραμμα εκκίνησης Python για Windows" #: using/windows.rst:704 msgid "" @@ -1270,6 +1737,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:709 msgid "" @@ -1278,18 +1750,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:714 msgid "The launcher was originally specified in :pep:`397`." -msgstr "" +msgstr "Το πρόγραμμα εκκίνησης προσδιορίστηκε αρχικά στο :pep:`397`." #: using/windows.rst:717 msgid "Getting started" -msgstr "" +msgstr "Ξεκινώντας" #: using/windows.rst:720 msgid "From the command-line" -msgstr "" +msgstr "Από τη γραμμή εντολών" #: using/windows.rst:724 msgid "" @@ -1298,10 +1775,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:729 msgid "py" -msgstr "" +msgstr "py" #: using/windows.rst:731 msgid "" @@ -1309,6 +1792,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:735 msgid "" @@ -1316,25 +1802,32 @@ 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:739 msgid "py -3.7" -msgstr "" +msgstr "py -3.7" #: using/windows.rst:741 msgid "" "If you want the latest version of Python 2 you have installed, try the " "command::" msgstr "" +"Εάν θέλετε την πιο πρόσφατη έκδοση της Python 2 που έχετε εγκαταστήσει, " +"δοκιμάστε την εντολή::" #: using/windows.rst:744 msgid "py -2" -msgstr "" +msgstr "py -2" #: using/windows.rst:746 msgid "" "If you see the following error, you do not have the launcher installed::" msgstr "" +"Εάν δείτε το ακόλουθο σφάλμα, δεν έχετε εγκατεστημένο το πρόγραμμα " +"εκκίνησης::" #: using/windows.rst:748 msgid "" @@ -1344,15 +1837,15 @@ msgstr "" #: using/windows.rst:751 msgid "The command::" -msgstr "" +msgstr "Η εντολή::" #: using/windows.rst:753 msgid "py --list" -msgstr "" +msgstr "py --list" #: using/windows.rst:755 msgid "displays the currently installed version(s) of Python." -msgstr "" +msgstr "εμφανίζει τις τρέχουσες εγκατεστημένες εκδόσεις της Python." #: using/windows.rst:757 msgid "" @@ -1362,6 +1855,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:763 msgid "" @@ -1369,6 +1869,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:767 msgid "" @@ -1381,6 +1885,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:776 msgid "" @@ -1388,6 +1900,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:780 msgid "" @@ -1397,10 +1912,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:788 msgid "Virtual environments" -msgstr "" +msgstr "Εικονικά Περιβάλλοντα" #: using/windows.rst:792 msgid "" @@ -1411,16 +1933,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:800 msgid "From a script" -msgstr "" +msgstr "Από ένα script" #: using/windows.rst:802 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:805 msgid "" @@ -1428,24 +1959,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:811 msgid "From the directory in which hello.py lives, execute the command::" -msgstr "" +msgstr "Από τον κατάλογο στον οποίο ζει το hello.py, εκτελέστε την εντολή::" #: using/windows.rst:813 msgid "py hello.py" -msgstr "" +msgstr "py hello.py" #: using/windows.rst:815 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:818 msgid "#! python3" -msgstr "" +msgstr "#! python3" #: using/windows.rst:822 msgid "" @@ -1455,6 +1991,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:828 msgid "" @@ -1463,10 +2005,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:834 msgid "From file associations" -msgstr "" +msgstr "Από συσχετίσεις αρχείων" #: using/windows.rst:836 msgid "" @@ -1476,16 +2022,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:842 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:846 msgid "Shebang Lines" -msgstr "" +msgstr "Γραμμές Shebang" #: using/windows.rst:848 msgid "" @@ -1496,6 +2051,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:855 msgid "" @@ -1503,30 +2065,34 @@ 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:859 msgid "``/usr/bin/env``" -msgstr "" +msgstr "``/usr/bin/env``" #: using/windows.rst:860 msgid "``/usr/bin/python``" -msgstr "" +msgstr "``/usr/bin/python``" #: using/windows.rst:861 msgid "``/usr/local/bin/python``" -msgstr "" +msgstr "``/usr/local/bin/python``" #: using/windows.rst:862 msgid "``python``" -msgstr "" +msgstr "``python``" #: using/windows.rst:864 msgid "For example, if the first line of your script starts with" -msgstr "" +msgstr "Για παράδειγμα, εάν η πρώτη γραμμή του script σας ξεκινάει με" #: using/windows.rst:866 msgid "#! /usr/bin/python" -msgstr "" +msgstr "#! /usr/bin/python" #: using/windows.rst:870 msgid "" @@ -1536,6 +2102,13 @@ msgid "" "script on Windows which you hope will be useful on Unix, you should use one " "of the shebang lines starting with ``/usr``." msgstr "" +"Η προεπιλεγμένη Python θα εντοπιστεί και θα χρησιμοποιηθεί. Καθώς πολλά " +"Python scripts που έχουν γραφτεί για να λειτουργούν στο Unix θα έχουν ήδη " +"αυτήν την γραμμή, θα πρέπει να βρείτε ότι αυτά τα scripts μπορούν να " +"χρησιμοποιηθούν από το πρόγραμμα εκκίνησης χωρίς τροποποίηση. Εάν γράφετε " +"ένα νέο script στα Windows το οποίο ελπίζετε ότι θα είναι χρήσιμο στο Unix, " +"θα πρέπει να χρησιμοποιήσετε μια από τις γραμμές shebang που ξεκινά με ``/" +"usr``." #: using/windows.rst:876 msgid "" @@ -1545,6 +2118,11 @@ msgid "" "version. I.e. ``/usr/bin/python3.7-32`` will request usage of the 32-bit " "python 3.7." msgstr "" +"Οποιαδήποτε από τις παραπάνω εικονικές εντολές μπορεί να προστεθεί με μια " +"ρητή έκδοση (είτε μόνο η κύρια έκδοση, είτε η κύρια και δευτερεύουσα " +"έκδοση). Επιπλέον, η έκδοση 32-bit μπορεί να ζητηθεί προσθέτοντας \"-32\" " +"μετά τη δευτερεύουσα έκδοση. Δηλαδή ``/usr/bin/python3.7-32`` θα ζητήσει τη " +"χρήση της python 3.7." #: using/windows.rst:884 msgid "" @@ -1552,6 +2130,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:890 msgid "" @@ -1559,6 +2141,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:894 msgid "" @@ -1573,6 +2159,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:905 msgid "" @@ -1584,12 +2181,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:913 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:918 msgid "" @@ -1601,32 +2208,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:927 msgid "Arguments in shebang lines" -msgstr "" +msgstr "Ορίσματα στις γραμμές shebang" #: using/windows.rst:929 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:932 msgid "#! /usr/bin/python -v" -msgstr "" +msgstr "#! /usr/bin/python -v" #: using/windows.rst:936 msgid "Then Python will be started with the ``-v`` option" -msgstr "" +msgstr "Στη συνέχεια, η Python θα ξεκινήσει με την επιλογή ``-v``" #: using/windows.rst:939 msgid "Customization" -msgstr "" +msgstr "Προσαρμογή" #: using/windows.rst:944 msgid "Customization via INI files" -msgstr "" +msgstr "Προσαρμογή μέσω αρχείων INI" #: using/windows.rst:946 msgid "" @@ -1636,6 +2254,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:952 msgid "" @@ -1644,10 +2268,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:957 msgid "Customizing default Python versions" -msgstr "" +msgstr "Προσαρμογή προεπιλεγμένων εκδόσεων Python" #: using/windows.rst:959 msgid "" @@ -1658,12 +2287,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:965 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:968 msgid "" @@ -1674,6 +2312,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:975 msgid "" @@ -1685,6 +2329,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:983 msgid "" @@ -1699,10 +2351,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:994 msgid "Examples:" -msgstr "" +msgstr "Παραδείγματα:" #: using/windows.rst:996 msgid "" @@ -1710,18 +2375,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:1000 msgid "" "The command ``python3.7`` will not consult any options at all as the " "versions are fully specified." msgstr "" +"Η εντολή ``python3.7`` δεν θα συμβουλευτεί καμία απολύτως επιλογή καθώς οι " +"εκδόσεις είναι πλήρως καθορισμένες." #: using/windows.rst:1003 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:1006 msgid "" @@ -1730,12 +2403,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:1011 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:1014 msgid "" @@ -1746,26 +2425,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:1021 msgid "For example:" -msgstr "" +msgstr "Για παράδειγμα:" #: using/windows.rst:1023 msgid "Setting ``PY_PYTHON=3.7`` is equivalent to the INI file containing:" msgstr "" +"Η ρύθμιση ``PY_PYTHON=3.7`` είναι ισοδύναμη με το αρχείο INI που περιέχει:" #: using/windows.rst:1025 msgid "" "[defaults]\n" "python=3.7" msgstr "" +"[defaults]\n" +"python=3.7" #: using/windows.rst:1030 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:1033 msgid "" @@ -1773,10 +2464,13 @@ msgid "" "python=3\n" "python3=3.7" msgstr "" +"[defaults]\n" +"python=3\n" +"python3=3.7" #: using/windows.rst:1040 msgid "Diagnostics" -msgstr "" +msgstr "Διαγνωστικά" #: using/windows.rst:1042 msgid "" @@ -1787,10 +2481,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:1050 msgid "Dry Run" -msgstr "" +msgstr "Dry Run" #: using/windows.rst:1052 msgid "" @@ -1801,10 +2503,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:1060 msgid "Install on demand" -msgstr "" +msgstr "Εγκατάσταση κατ' απαίτηση" #: using/windows.rst:1062 msgid "" @@ -1814,6 +2523,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:1067 msgid "" @@ -1822,10 +2537,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:1072 msgid "Return codes" -msgstr "" +msgstr "Κωδικοί επιστροφής" #: using/windows.rst:1074 msgid "" @@ -1833,6 +2552,9 @@ msgid "" "Unfortunately, there is no way to distinguish these from the exit code of " "Python itself." msgstr "" +"Οι ακόλουθοι κωδικοί εξόδου ενδέχεται να επιστραφούν από το πρόγραμμα " +"εκκίνησης της Python. Δυστυχώς, δεν υπάρχει τρόπος να διακριθούν από τον " +"κωδικό εξόδου της ίδιας της Python." #: using/windows.rst:1077 msgid "" @@ -1840,118 +2562,131 @@ 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:1082 msgid "Value" -msgstr "" +msgstr "Τιμή" #: using/windows.rst:1084 msgid "RC_BAD_VENV_CFG" -msgstr "" +msgstr "RC_BAD_VENV_CFG" #: using/windows.rst:1084 msgid "107" -msgstr "" +msgstr "107" #: using/windows.rst:1084 msgid "A :file:`pyvenv.cfg` was found but is corrupt." -msgstr "" +msgstr "Βρέθηκε ένα :file:`pyvenv.cfg` αλλά είναι κατεστραμμένο." #: using/windows.rst:1086 msgid "RC_CREATE_PROCESS" -msgstr "" +msgstr "RC_CREATE_PROCESS" #: using/windows.rst:1086 msgid "101" -msgstr "" +msgstr "101" #: using/windows.rst:1086 msgid "Failed to launch Python." -msgstr "" +msgstr "Απέτυχε η εκκίνηση της Python." #: using/windows.rst:1088 msgid "RC_INSTALLING" -msgstr "" +msgstr "RC_INSTALLING" #: using/windows.rst:1088 msgid "111" -msgstr "" +msgstr "111" #: using/windows.rst:1088 msgid "" "An install was started, but the command will need to be re-run after it " "completes." msgstr "" +"Ξεκίνησε μια εγκατάσταση, αλλά η εντολή θα πρέπει να εκτελεστεί ξανά μετά " +"την ολοκλήρωση της." #: using/windows.rst:1091 msgid "RC_INTERNAL_ERROR" -msgstr "" +msgstr "RC_INTERNAL_ERROR" #: using/windows.rst:1091 msgid "109" -msgstr "" +msgstr "109" #: using/windows.rst:1091 msgid "Unexpected error. Please report a bug." -msgstr "" +msgstr "Απροσδόκητο σφάλμα. Αναφέρετε ένα σφάλμα." #: using/windows.rst:1093 msgid "RC_NO_COMMANDLINE" -msgstr "" +msgstr "RC_NO_COMMANDLINE" #: using/windows.rst:1093 msgid "108" -msgstr "" +msgstr "108" #: using/windows.rst:1093 msgid "Unable to obtain command line from the operating system." msgstr "" +"Δεν είναι δυνατή η λήψη της γραμμής εντολών από το λειτουργικό σύστημα." #: using/windows.rst:1096 msgid "RC_NO_PYTHON" -msgstr "" +msgstr "RC_NO_PYTHON" #: using/windows.rst:1096 msgid "103" -msgstr "" +msgstr "103" #: using/windows.rst:1096 msgid "Unable to locate the requested version." -msgstr "" +msgstr "Δεν είναι δυνατός ο εντοπισμός της ζητούμενης έκδοσης." #: using/windows.rst:1098 msgid "RC_NO_VENV_CFG" -msgstr "" +msgstr "RC_NO_VENV_CFG" #: using/windows.rst:1098 msgid "106" -msgstr "" +msgstr "106" #: using/windows.rst:1098 msgid "A :file:`pyvenv.cfg` was required but not found." -msgstr "" +msgstr "Απαιτήθηκε ένα :file:`pyvenv.cfg` αλλά δεν βρέθηκε." #: using/windows.rst:1106 msgid "Finding modules" -msgstr "" +msgstr "Εύρεση modules" #: using/windows.rst:1108 msgid "" "These notes supplement the description at :ref:`sys-path-init` with detailed " "Windows notes." msgstr "" +"Αυτές οι σημειώσεις συμπληρώνουν την περιγραφή :ref:`sys-path-init` με " +"λεπτομερείς σημειώσεις των Windows." #: using/windows.rst:1111 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:1114 msgid "" "An empty entry is added at the start, which corresponds to the current " "directory." msgstr "" +"Μια κενή καταχώρηση προστίθεται στην αρχή, η οποία αντιστοιχεί στον τρέχοντα " +"κατάλογο." #: using/windows.rst:1117 msgid "" @@ -1960,6 +2695,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:1122 msgid "" @@ -1970,6 +2711,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:1129 msgid "" @@ -1981,6 +2730,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:1137 msgid "" @@ -1988,12 +2745,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:1141 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:1144 msgid "" @@ -2001,10 +2765,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:1148 msgid "The end result of all this is:" -msgstr "" +msgstr "Το τελικό αποτέλεσμα όλων αυτών είναι:" #: using/windows.rst:1150 msgid "" @@ -2013,6 +2780,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:1155 msgid "" @@ -2021,6 +2793,10 @@ msgid "" "the registry is used. Other \"application paths\" in the registry are " "always read." msgstr "" +"Όταν η Python φιλοξενείται σε άλλο .exe (διαφορετικός κατάλογος, " +"ενσωματωμένος μέσω COM, κ.λπ.), το \"Python Home\" δεν θα συναχθεί επομένως " +"χρησιμοποιείται η βασική διαδρομή από το μητρώο. Άλλες \"διαδρομές " +"εφαρμογής\" στο μητρώο διαβάζονται πάντα." #: using/windows.rst:1159 msgid "" @@ -2028,12 +2804,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:1163 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:1166 msgid "" @@ -2042,6 +2824,10 @@ msgid "" "environment variables, and also ignore :mod:`site` unless ``import site`` is " "listed." msgstr "" +"Συμπεριλάβετε ένα αρχείο ``._pth`` δίπλα στο εκτελέσιμο αρχείο σας που " +"περιέχει τους καταλόγους που θέλετε να συμπεριλάβετε. Αυτό θα αγνοήσει τις " +"διαδρομές που παρατίθενται στο μητρώο και τις μεταβλητές περιβάλλοντος και " +"θα αγνοήσει επίσης το :mod:`site` εκτός εάν αναφέρεται το ``import site``." #: using/windows.rst:1171 msgid "" @@ -2049,12 +2835,18 @@ msgid "" "executable, explicitly call :c:func:`Py_SetPath` or (at least) :c:func:" "`Py_SetProgramName` before :c:func:`Py_Initialize`." msgstr "" +"Εάν φορτώνετε το :file:`python3.dll` ή το :file:`python37.dll` στο δικό σας " +"εκτελέσιμο αρχείο, καλέστε ρητά το :c:func:`Py_SetPath` ή (τουλάχιστον) το :" +"c:func:`Py_SetProgramName` πριν από :c:func:`Py_Initialize`." #: using/windows.rst:1175 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:1178 msgid "" @@ -2064,6 +2856,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:1184 msgid "" @@ -2074,18 +2872,28 @@ msgid "" "still be susceptible to non-standard paths in the registry and user site-" "packages." msgstr "" +"Αυτά θα διασφαλίσουν ότι τα αρχεία σε μια εγκατάσταση σε όλο το σύστημα δεν " +"θα υπερισχύουν του αντιγράφου της τυπικής βιβλιοθήκης που συνοδεύει την " +"εφαρμογή σας. Διαφορετικά, οι χρήστες σας ενδέχεται να αντιμετωπίσουν " +"προβλήματα με τη χρήση της εφαρμογής σας. Λάβετε υπόψη ότι η πρώτη πρόταση " +"είναι η καλύτερη, καθώς τα άλλα μπορεί να εξακολουθούν να είναι επιρρεπή σε " +"μη τυπικές διαδρομές στο μητρώο και στα πακέτα ιστοτόπων χρηστών." #: using/windows.rst:1192 msgid "" "Add ``._pth`` file support and removes ``applocal`` option from ``pyvenv." "cfg``." msgstr "" +"Προσθήκη υποστήριξης αρχείου ``._pth`` και καταργείται η επιλογή " +"``applocal`` από το ``pyvenv.cfg``." #: using/windows.rst:1197 msgid "" "Add :file:`python{XX}.zip` as a potential landmark when directly adjacent to " "the executable." msgstr "" +"Προσθήκη :file:`python{XX}.zip` ως πιθανό ορόσημο όταν βρίσκεται ακριβώς " +"δίπλα στο εκτελέσιμο αρχείο." #: using/windows.rst:1202 msgid "" @@ -2094,10 +2902,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:1208 msgid "Additional modules" -msgstr "" +msgstr "Πρόσθετα modules" #: using/windows.rst:1210 msgid "" @@ -2105,46 +2918,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:1214 msgid "" "The Windows-specific standard modules are documented in :ref:`mswin-specific-" "services`." msgstr "" +"Τα τυπικά modules ειδικά για Windows τεκμηριώνονται στο :ref:`mswin-specific-" +"services`." #: using/windows.rst:1218 msgid "PyWin32" -msgstr "" +msgstr "PyWin32" #: using/windows.rst:1220 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:1224 msgid "" "`Component Object Model `_ (COM)" msgstr "" +"`Component Object Model `_ (COM)" #: using/windows.rst:1227 msgid "Win32 API calls" -msgstr "" +msgstr "Win32 API κλήσεις" #: using/windows.rst:1228 msgid "Registry" -msgstr "" +msgstr "Μητρώο" #: using/windows.rst:1229 msgid "Event log" -msgstr "" +msgstr "Μητρώο συμβάντων" #: using/windows.rst:1230 msgid "" "`Microsoft Foundation Classes `_ (MFC) user interfaces" msgstr "" +"Τα `Microsoft Foundation Classes `_ (MFC) διεπαφές χρήστη" #: using/windows.rst:1234 msgid "" @@ -2152,27 +2978,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:1240 msgid "" "`Win32 How Do I...? `_" msgstr "" +"`Win32 How Do I...? `_" #: using/windows.rst:1241 msgid "by Tim Golden" -msgstr "" +msgstr "από τον Tim Golden" #: using/windows.rst:1243 msgid "`Python and COM `_" -msgstr "" +msgstr "`Python and COM `_" #: using/windows.rst:1244 msgid "by David and Paul Boddie" -msgstr "" +msgstr "από τους David και Paul Boddie" #: using/windows.rst:1248 msgid "cx_Freeze" -msgstr "" +msgstr "cx_Freeze" #: using/windows.rst:1250 msgid "" @@ -2181,10 +3012,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:1257 msgid "Compiling Python on Windows" -msgstr "" +msgstr "Μεταγλώττιση Python στα Windows" #: using/windows.rst:1259 msgid "" @@ -2193,6 +3028,11 @@ msgid "" "either the latest release's source or just grab a fresh `checkout `_." msgstr "" +"Εάν θέλετε να μεταγλωττίσετε μόνοι σας το CPython, το πρώτο πράγμα που " +"πρέπει να κάνετε είναι να λάβετε το `source `_. Μπορείτε να κάνετε λήψη είτε τον πηγαίο κώδικα της πιο " +"πρόσφατης έκδοσης είτε απλώς να πάρετε μια φρέσκια έκδοση `checkout `_." #: using/windows.rst:1264 msgid "" @@ -2200,20 +3040,26 @@ 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:1268 msgid "" "Check :file:`PCbuild/readme.txt` for general information on the build " "process." msgstr "" +"Ελέγξτε το :file:`PCbuild/readme.txt` για γενικές πληροφορίες σχετικά με τη " +"διαδικασία κατασκευής." #: using/windows.rst:1270 msgid "For extension modules, consult :ref:`building-on-windows`." -msgstr "" +msgstr "Για modules επέκτασης, συμβουλευτείτε το :ref:`building-on-windows`." #: using/windows.rst:1274 msgid "Other Platforms" -msgstr "" +msgstr "Άλλες Πλατφόρμες" #: using/windows.rst:1276 msgid "" @@ -2221,6 +3067,10 @@ msgid "" "earlier are no longer supported (due to the lack of users or developers). " "Check :pep:`11` for details on all unsupported platforms." msgstr "" +"Με τη συνεχή ανάπτυξη της Python, ορισμένες πλατφόρμες που υποστηριζόταν " +"παλαιότερα δεν υποστηρίζονται πλέον (λόγω έλλειψης χρηστών ή " +"προγραμματιστών). Ελέγξτε το :pep:`11` για λεπτομέρειες σχετικά με όλες τις " +"μη υποστηριζόμενες πλατφόρμες." #: using/windows.rst:1280 msgid "" @@ -2228,15 +3078,24 @@ msgid "" "`__ since Python 3 (if it " "ever was)." msgstr "" +"Το `Windows CE `_ `no longer supported " +"`__ από την Python 3 (αν " +"ήταν ποτέ)." #: using/windows.rst:1283 msgid "" "The `Cygwin `_ installer offers to install the `Python " "interpreter `__ as well" msgstr "" +"Το πρόγραμμα εγκατάστασης `Cygwin `_ προσφέρει επίσης " +"την εγκατάσταση του διερμηνέα Python `" #: using/windows.rst:1287 msgid "" "See `Python for Windows `_ for " "detailed information about platforms with pre-compiled installers." msgstr "" +"Ανατρέξτε στην ενότητα `Python for Windows `_ για λεπτομερείς πληροφορίες σχετικά με πλατφόρμες με " +"προμεταγλωττισμένα προγράμματα εγκατάστασης."