From c27f3256bf2c49c278d2b5cf0bbca875c6400a69 Mon Sep 17 00:00:00 2001 From: vadal Date: Sat, 6 Jun 2026 19:52:43 +0300 Subject: [PATCH 1/5] Add greek translation for library/annotationlib.po --- library/annotationlib.po | 522 ++++++++++++++++++++++++++++++++++----- 1 file changed, 467 insertions(+), 55 deletions(-) diff --git a/library/annotationlib.po b/library/annotationlib.po index 8f186e93f..4e29d0665 100644 --- a/library/annotationlib.po +++ b/library/annotationlib.po @@ -9,27 +9,29 @@ msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-12-04 09:48+0200\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: 2026-06-06 19:47+0300\n" +"Last-Translator: Vassiliki Dalakiari \n" +"Language-Team: PyGreece \n" +"Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: library/annotationlib.rst:2 msgid ":mod:`!annotationlib` --- Functionality for introspecting annotations" -msgstr "" +msgstr ":mod:`!annotationlib` --- Λειτουργικότητα για την ενδοσκόπηση των annotations" #: library/annotationlib.rst:9 msgid "**Source code:** :source:`Lib/annotationlib.py`" -msgstr "" +msgstr "**Πηγαίος κώδικας:** :source:`Lib/annotationlib.py`" #: library/annotationlib.rst:18 msgid "" "The :mod:`!annotationlib` module provides tools for introspecting :term:" "`annotations ` on modules, classes, and functions." msgstr "" +"Το module :mod:`!annotationlib` παρέχει εργαλεία για την ενδοσκόπηση " +"των :term:`annotations ` σε modules, κλάσεις και συναρτήσεις." #: library/annotationlib.rst:21 msgid "" @@ -39,12 +41,20 @@ msgid "" "to retrieve annotations in a reliable way, even in the presence of forward " "references and other edge cases." msgstr "" +"Τα annotations :ref:`αξιολογούνται νωχελικά ` και συχνά περιέχουν " +"αναφορές προς τα εμπρός σε αντικείμενα που δεν έχουν ακόμη οριστεί όταν δημιουργείται το " +"annotation. Αυτό το module παρέχει ένα σύνολο εργαλείων χαμηλού επιπέδου, που μπορούν να " +"χρησιμοποιηθούν για την αξιόπιστη ανάκτηση των annotations, ακόμη και στην παρουσία " +"αναφορών προς τα εμπρός και άλλων ακραίων περιπτώσεων." #: library/annotationlib.rst:26 msgid "" "This module supports retrieving annotations in three main formats (see :" "class:`Format`), each of which works best for different use cases:" msgstr "" +"Αυτό το module υποστηρίζει την ανάκτηση των annotations σε τρεις κύριες μορφές (δείτε " +"το :class:`Format`), κάθε μία από τις οποίες λειτουργεί καλύτερα για διαφορετικές " +"περιπτώσεις χρήσης:" #: library/annotationlib.rst:29 msgid "" @@ -52,6 +62,9 @@ msgid "" "This is most straightforward to work with, but it may raise errors, for " "example if the annotations contain references to undefined names." msgstr "" +"Το :attr:`~Format.VALUE` αξιολογεί τα annotations και επιστρέφει την τιμή τους. Αυτή " +"είναι η πιο απλή μορφή για να εργαστεί κανείς, αλλά μπορεί να εγείρει σφάλματα, για " +"παράδειγμα αν τα annotations περιέχουν αναφορές σε ονόματα που δεν έχουν οριστεί." #: library/annotationlib.rst:32 msgid "" @@ -60,6 +73,10 @@ msgid "" "without evaluating them. This is useful when you need to work with " "annotations that may contain unresolved forward references." msgstr "" +"Το :attr:`~Format.FORWARDREF` επιστρέφει αντικείμενα :class:`ForwardRef` για annotations " +"που δεν μπορούν να επιλυθούν, επιτρέποντάς σας να επιθεωρήσετε τα annotations χωρίς να " +"τα αξιολογήσετε. Αυτό είναι χρήσιμο όταν χρειάζεται να εργαστείτε με annotations που " +"μπορεί να περιέχουν ανεπίλυτες αναφορές προς τα εμπρός." #: library/annotationlib.rst:36 msgid "" @@ -67,6 +84,9 @@ msgid "" "it would appear in the source file. This is useful for documentation " "generators that want to display annotations in a readable way." msgstr "" +"Το :attr:`~Format.STRING` επιστρέφει τα annotations ως συμβολοσειρά, ομοίως με τον τρόπο " +"που θα εμφανίζονταν στο αρχείο του πηγαίου κώδικα. Αυτό είναι χρήσιμο για γεννήτριες " +"τεκμηρίωσης που θέλουν να εμφανίζουν τα annotations με αναγνώσιμο τρόπο." #: library/annotationlib.rst:40 msgid "" @@ -78,39 +98,57 @@ msgid "" "func:`call_annotate_function`, as well as the :func:`call_evaluate_function` " "function for working with :term:`evaluate functions `." msgstr "" +"Η συνάρτηση :func:`get_annotations` είναι το κύριο σημείο εισόδου για την ανάκτηση των " +"annotations. Δοθείσας μιας συνάρτησης, μιας κλάσης ή ενός module, επιστρέφει ένα λεξικό " +"των annotations στη ζητούμενη μορφή. Αυτό το module παρέχει επίσης τη λειτουργικότητα " +"για την άμεση εργασία με την :term:`annotate function`, που χρησιμοποιείται για την " +"αξιολόγηση των annotations, όπως οι :func:`get_annotate_from_class_namespace` " +"και :func:`call_annotate_function`, καθώς και τη " +"συνάρτηση :func:`call_evaluate_function` για εργασία με :term:`evaluate functions " +"`." #: library/annotationlib.rst:51 msgid "" "Most functionality in this module can execute arbitrary code; see :ref:`the " "security section ` for more information." msgstr "" +"Η περισσότερη λειτουργικότητα σε αυτό το module μπορεί να εκτελέσει αυθαίρετο κώδικα· " +"δείτε :ref:`την ενότητα ασφαλείας ` για περισσότερες πληροφορίες." #: library/annotationlib.rst:56 msgid "" ":pep:`649` proposed the current model for how annotations work in Python." msgstr "" +"Το :pep:`649` πρότεινε το τρέχον μοντέλο για το πώς λειτουργούν τα annotations στην " +"Python." #: library/annotationlib.rst:58 msgid "" ":pep:`749` expanded on various aspects of :pep:`649` and introduced the :mod:" "`!annotationlib` module." msgstr "" +"Το :pep:`749` επέκτεινε διάφορες πτυχές του :pep:`649` και εισήγαγε το module :mod:`!" +"annotationlib`." #: library/annotationlib.rst:61 msgid "" ":ref:`annotations-howto` provides best practices for working with " "annotations." msgstr "" +"Το :ref:`annotations-howto` παρέχει βέλτιστες πρακτικές για την εργασία με τα " +"annotations." #: library/annotationlib.rst:64 msgid "" ":pypi:`typing-extensions` provides a backport of :func:`get_annotations` " "that works on earlier versions of Python." msgstr "" +"Το :pypi:`typing-extensions` παρέχει ένα backport της :func:`get_annotations` που " +"λειτουργεί σε προγενέστερες εκδόσεις της Python." #: library/annotationlib.rst:68 msgid "Annotation semantics" -msgstr "" +msgstr "Σημασιολογία των annotations" #: library/annotationlib.rst:70 msgid "" @@ -118,6 +156,9 @@ msgid "" "and currently still depends on a :ref:`future import `. There have " "been execution models for annotations:" msgstr "" +"Ο τρόπος αξιολόγησης των annotations έχει αλλάξει κατά τη διάρκεια της ιστορίας της " +"Python 3 και επί του παρόντος εξαρτάται ακόμα από μια :ref:`εισαγωγή future `. " +"Υπήρξαν μοντέλα εκτέλεσης για τα annotations:" #: library/annotationlib.rst:74 msgid "" @@ -125,6 +166,9 @@ msgid "" "pep:`526`): Annotations are evaluated eagerly, as they are encountered in " "the source code." msgstr "" +"*Βασική σημασιολογία* (προεπιλογή στην Python από την έκδοση 3.0 έως την 3.13· δείτε " +"τα :pep:`3107` και :pep:`526`): τα annotations αξιολογούνται άμεσα, όπως συναντώνται " +"στον πηγαίο κώδικα." #: library/annotationlib.rst:77 msgid "" @@ -132,16 +176,21 @@ msgid "" "in Python 3.7 and newer; see :pep:`563`): Annotations are stored as strings " "only." msgstr "" +"*Annotations ως συμβολοσειρές* (χρησιμοποιούνται με το ``from __future__ import " +"annotations`` από την Python 3.7 και μετά· δείτε το :pep:`563`): τα annotations " +"αποθηκεύονται μόνο ως συμβολοσειρές." #: library/annotationlib.rst:80 msgid "" "*Deferred evaluation* (default in Python 3.14 and newer; see :pep:`649` and :" "pep:`749`): Annotations are evaluated lazily, only when they are accessed." msgstr "" +"*Αναβαλλόμενη αξιολόγηση* (προεπιλογή από την Python 3.14 και μετά· δείτε τα :pep:`649` " +"και :pep:`749`): τα annotations αξιολογούνται νωχελικά, μόνο όταν προσπελαύνονται." #: library/annotationlib.rst:83 msgid "As an example, consider the following program::" -msgstr "" +msgstr "Ως παράδειγμα, εξετάστε το ακόλουθο πρόγραμμα::" #: library/annotationlib.rst:85 msgid "" @@ -152,10 +201,16 @@ msgid "" "\n" "print(func.__annotations__)" msgstr "" +"def func(a: Cls) -> None:\n" +" print(a)\n" +"\n" +"class Cls: pass\n" +"\n" +"print(func.__annotations__)" #: library/annotationlib.rst:92 msgid "This will behave as follows:" -msgstr "" +msgstr "Αυτό θα συμπεριφερθεί ως εξής:" #: library/annotationlib.rst:94 msgid "" @@ -163,18 +218,25 @@ msgid "" "`NameError` at the line where ``func`` is defined, because ``Cls`` is an " "undefined name at that point." msgstr "" +"Υπό τη βασική σημασιολογία (Python 3.13 και προγενέστερες), θα εγείρει " +"ένα :exc:`NameError` στη γραμμή όπου ορίζεται η ``func``, επειδή το ``Cls`` είναι ένα μη " +"ορισμένο όνομα σε εκείνο το σημείο." #: library/annotationlib.rst:97 msgid "" "Under stringified annotations (if ``from __future__ import annotations`` is " "used), it will print ``{'a': 'Cls', 'return': 'None'}``." msgstr "" +"Υπό τα annotations ως συμβολοσειρές (αν χρησιμοποιείται το ``from __future__ import " +"annotations``), θα εκτυπώσει ``{'a': 'Cls', 'return': 'None'}``." #: library/annotationlib.rst:99 msgid "" "Under deferred evaluation (Python 3.14 and later), it will print ``{'a': " ", 'return': None}``." msgstr "" +"Υπό την αναβαλλόμενη αξιολόγηση (Python 3.14 και μεταγενέστερες), θα εκτυπώσει ``{'a': " +", 'return': None}``." #: library/annotationlib.rst:102 msgid "" @@ -196,10 +258,26 @@ msgid "" "__future__ import annotations`` is present, but this behavior will " "eventually be removed." msgstr "" +"Η βασική σημασιολογία χρησιμοποιήθηκε όταν τα annotations συναρτήσεων εισήχθησαν για " +"πρώτη φορά στην Python 3.0 (από το :pep:`3107`), επειδή ήταν ο απλούστερος, πιο προφανής " +"τρόπος υλοποίησης των annotations. Το ίδιο μοντέλο εκτέλεσης χρησιμοποιήθηκε όταν " +"εισήχθησαν τα annotations μεταβλητών στην Python 3.6 (από το :pep:`526`). Ωστόσο, η " +"βασική σημασιολογία προκάλεσε προβλήματα κατά τη χρήση των annotations ως υποδείξεων " +"τύπων, όπως η ανάγκη αναφοράς σε ονόματα που δεν έχουν ακόμη οριστεί όταν συναντάται το " +"annotation. Επιπλέον, υπήρξαν προβλήματα απόδοσης με την εκτέλεση των annotations κατά " +"τον χρόνο εισαγωγής του module. Επομένως, στην Python 3.7, το :pep:`563` εισήγαγε τη " +"δυνατότητα αποθήκευσης των annotations ως συμβολοσειρές χρησιμοποιώντας τη σύνταξη " +"``from __future__ import annotations``. Το σχέδιο τότε ήταν να γίνει τελικά αυτή η " +"συμπεριφορά η προεπιλογή, αλλά εμφανίστηκε ένα πρόβλημα: τα annotations ως συμβολοσειρές " +"είναι πιο δύσκολο να επεξεργαστούν για όσα άτομα κάνουν ενδοσκόπηση στα annotations κατά " +"τον χρόνο εκτέλεσης. Σαν εναλλακτική πρόταση, το :pep:`649`, εισήγαγε το τρίτο μοντέλο " +"εκτέλεσης, την αναβαλλόμενη αξιολόγηση, και υλοποιήθηκε στην Python 3.14. Τα Annotations " +"ως συμβολοσειρές εξακολουθούν να χρησιμοποιούνται αν υπάρχει το ``from __future__ import " +"annotations``, αλλά αυτή η συμπεριφορά θα αφαιρεθεί τελικά." #: library/annotationlib.rst:121 msgid "Classes" -msgstr "" +msgstr "Κλάσεις" #: library/annotationlib.rst:125 msgid "" @@ -208,10 +286,14 @@ msgid "" "passed to :func:`get_annotations` and other functions in this module, as " "well as to :attr:`~object.__annotate__` functions." msgstr "" +"Μία :class:`~enum.IntEnum` που περιγράφει τις μορφές στις οποίες μπορούν να επιστραφούν " +"τα annotations. Τα μέλη του enum, ή οι ισοδύναμες ακέραιες τιμές τους, μπορούν να " +"περαστούν στη :func:`get_annotations` και σε άλλες συναρτήσεις αυτού του module, καθώς " +"και σε συναρτήσεις :attr:`~object.__annotate__`." #: library/annotationlib.rst:133 msgid "Values are the result of evaluating the annotation expressions." -msgstr "" +msgstr "Οι τιμές είναι το αποτέλεσμα της αξιολόγησης των εκφράσεων σχολιασμού." #: library/annotationlib.rst:138 msgid "" @@ -222,6 +304,13 @@ msgid "" "not support execution in this environment. This format is only used " "internally and should not be passed to the functions in this module." msgstr "" +"Ειδική τιμή που χρησιμοποιείται για να σηματοδοτήσει ότι μια συνάρτηση σχολιασμού " +"αξιολογείται σε ένα ειδικό περιβάλλον με ψεύτικα καθολικά (fake globals). Όταν περνιέται " +"αυτή η τιμή, οι συναρτήσεις σχολιασμού θα πρέπει είτε να επιστρέψουν την ίδια τιμή όπως " +"για τη μορφή :attr:`Format.VALUE`, είτε να εγείρουν :exc:`NotImplementedError` για να " +"σηματοδοτήσουν ότι δεν υποστηρίζουν εκτέλεση σε αυτό το περιβάλλον. Αυτή η μορφή " +"χρησιμοποιείται μόνο εσωτερικά και δεν πρέπει να περνιέται στις συναρτήσεις αυτού του " +"module." #: library/annotationlib.rst:149 msgid "" @@ -229,6 +318,10 @@ msgid "" "defined values, and :class:`ForwardRef` proxies for undefined values. Real " "objects may contain references to :class:`ForwardRef` proxy objects." msgstr "" +"Οι τιμές είναι πραγματικές τιμές σχολιασμού (όπως στη μορφή :attr:`Format.VALUE`) για " +"ορισμένες τιμές, και αντιπρόσωποι (proxies) :class:`ForwardRef` για μη ορισμένες τιμές. " +"Τα πραγματικά αντικείμενα μπορεί να περιέχουν αναφορές σε αντικείμενα " +"αντιπροσώπων :class:`ForwardRef`." #: library/annotationlib.rst:157 msgid "" @@ -236,15 +329,20 @@ msgid "" "code, up to modifications including, but not restricted to, whitespace " "normalizations and constant values optimizations." msgstr "" +"Οι τιμές είναι η συμβολοσειρά κειμένου του σχολιασμού όπως εμφανίζεται στον πηγαίο " +"κώδικα, με κάποιες τροποποιήσεις που περιλαμβάνουν κανονικοποιήσεις λευκών χαρακτήρων " +"και βελτιστοποιήσεις σταθερών τιμών (αλλά δεν περιορίζονται σε αυτές)." #: library/annotationlib.rst:161 msgid "" "The exact values of these strings may change in future versions of Python." msgstr "" +"Οι ακριβείς τιμές αυτών των συμβολοσειρών ενδέχεται να αλλάξουν σε μελλοντικές εκδόσεις " +"της Python." #: library/annotationlib.rst:167 msgid "A proxy object for forward references in annotations." -msgstr "" +msgstr "Ένα αντικείμενο αντιπροσώπου για αναφορές προς τα εμπρός σε annotations." #: library/annotationlib.rst:169 msgid "" @@ -253,6 +351,10 @@ msgid "" "can happen when a forward reference is used in an annotation, such as when a " "class is referenced before it is defined." msgstr "" +"Στιγμιότυπα αυτής της κλάσης επιστρέφονται όταν χρησιμοποιείται η " +"μορφή :attr:`~Format.FORWARDREF` και τα annotations περιέχουν ένα όνομα που δεν μπορεί " +"να επιλυθεί. Αυτό μπορεί να συμβεί όταν χρησιμοποιείται μια αναφορά προς τα εμπρός σε " +"έναν σχολιασμό, όπως όταν γίνεται αναφορά σε μια κλάση πριν αυτή οριστεί." #: library/annotationlib.rst:176 msgid "" @@ -260,10 +362,13 @@ msgid "" "`~ForwardRef`. The string may not be exactly equivalent to the original " "source." msgstr "" +"Μια συμβολοσειρά που περιέχει τον κώδικα που αξιολογήθηκε για να παραχθεί " +"η :class:`~ForwardRef`. Η συμβολοσειρά μπορεί να μην είναι ακριβώς ισοδύναμη με τον " +"αρχικό πηγαίο κώδικα." #: library/annotationlib.rst:182 msgid "Evaluate the forward reference, returning its value." -msgstr "" +msgstr "Αξιολογεί την αναφορά προς τα εμπρός, επιστρέφοντας την τιμή της." #: library/annotationlib.rst:184 msgid "" @@ -279,6 +384,17 @@ msgid "" "``list[ForwardRef('undefined')]``. If the *format* argument is :attr:" "`~Format.STRING`, the method will return :attr:`~ForwardRef.__forward_arg__`." msgstr "" +"Αν το όρισμα *format* είναι :attr:`~Format.VALUE` (η προεπιλογή), αυτή η μέθοδος μπορεί " +"να προκαλέσει μια εξαίρεση, όπως την :exc:`NameError`, αν η αναφορά προς τα εμπρός " +"αναφέρεται σε ένα όνομα που δεν μπορεί να επιλυθεί. Τα ορίσματα αυτής της μεθόδου " +"μπορούν να χρησιμοποιηθούν για να παρέχουν συνδέσεις για ονόματα που διαφορετικά θα ήταν " +"μη ορισμένα. Αν το όρισμα *format* είναι :attr:`~Format.FORWARDREF`, η μέθοδος δεν θα " +"προκαλέσει ποτέ εξαίρεση, αλλά μπορεί να επιστρέψει ένα στιγμιότυπο " +"της :class:`~ForwardRef`. Για παράδειγμα, αν το αντικείμενο αναφοράς προς τα εμπρός " +"περιέχει τον κώδικα ``list[undefined]``, όπου ``undefined`` είναι ένα όνομα που δεν έχει " +"οριστεί, η αξιολόγησή του με τη μορφή :attr:`~Format.FORWARDREF` θα επιστρέψει " +"``list[ForwardRef('undefined')]``. Αν το όρισμα *format* είναι :attr:`~Format.STRING`, η " +"μέθοδος θα επιστρέψει :attr:`~ForwardRef.__forward_arg__`." #: library/annotationlib.rst:196 msgid "" @@ -287,6 +403,10 @@ msgid "" "object that contains the annotation from which the :class:`~ForwardRef` " "derives, such as a module object, type object, or function object." msgstr "" +"Η παράμετρος *owner* παρέχει τον προτιμώμενο μηχανισμό για το πέρασμα πληροφοριών " +"εμβέλειας σε αυτή τη μέθοδο. Ο ιδιοκτήτης μιας :class:`~ForwardRef` είναι το αντικείμενο " +"που περιέχει τον σχολιασμό από τον οποίο προέρχεται η :class:`~ForwardRef`, όπως ένα " +"αντικείμενο module, αντικείμενο τύπου ή αντικείμενο συνάρτησης." #: library/annotationlib.rst:201 msgid "" @@ -302,6 +422,17 @@ msgid "" "an annotation found in the class namespace of a generic class ``C``, " "*type_params* should be set to ``C.__type_params__``." msgstr "" +"Οι παράμετροι *globals*, *locals* και *type_params* παρέχουν έναν πιο ακριβή μηχανισμό " +"για τον επηρεασμό των ονομάτων που είναι διαθέσιμα όταν αξιολογείται " +"η :class:`~ForwardRef`. Τα *globals* και *locals* περνιούνται στη :func:`eval`, " +"αντιπροσωπεύοντας τους καθολικούς και τοπικούς χώρους ονομάτων στους οποίους " +"αξιολογείται το όνομα. Η παράμετρος *type_params* είναι σχετική για αντικείμενα που " +"δημιουργούνται χρησιμοποιώντας την εγγενή σύνταξη για :ref:`γενικευμένες κλάσεις " +"` και :ref:`συναρτήσεις `. Είναι ένα tulle " +"από :ref:`παραμέτρους τύπου ` που είναι εντός εμβέλειας όσο η αναφορά προς " +"τα εμπρός αξιολογείται. Για παράδειγμα, αν αξιολογείται μία :class:`~ForwardRef` που " +"ανακτήθηκε από έναν σχολιασμό, που βρίσκεται στον χώρο ονομάτων κλάσης μιας γενικευμένης " +"κλάσης ``C``, το *type_params* θα πρέπει να οριστεί ως ``C.__type_params__``." #: library/annotationlib.rst:212 msgid "" @@ -312,6 +443,13 @@ msgid "" "any information about their scope, so passing arguments to this method may " "be necessary to evaluate them successfully." msgstr "" +"Τα στιγμιότυπα :class:`~ForwardRef` που επιστρέφονται από τη :func:`get_annotations` " +"διατηρούν αναφορές σε πληροφορίες σχετικές με την εμβέλεια από την οποία προήλθαν, οπότε " +"η κλήση αυτής της μεθόδου χωρίς περαιτέρω ορίσματα μπορεί να είναι επαρκής για την " +"αξιολόγηση τέτοιων αντικειμένων. Τα στιγμιότυπα της :class:`~ForwardRef` που " +"δημιουργούνται με άλλα μέσα μπορεί να μην έχουν καμία πληροφορία σχετικά με την εμβέλειά " +"τους, οπότε το πέρασμα ορισμάτων σε αυτή τη μέθοδο μπορεί να είναι απαραίτητο για την " +"επιτυχή αξιολόγησή τους." #: library/annotationlib.rst:219 msgid "" @@ -319,10 +457,13 @@ msgid "" "class:`~ForwardRef` does not contain information about its origin, empty " "globals and locals dictionaries are used." msgstr "" +"Αν δεν παρέχεται κανένα από τα *owner*, *globals*, *locals* ή *type_params* και " +"η :class:`~ForwardRef` δεν περιέχει πληροφορίες σχετικά με την προέλευσή της, " +"χρησιμοποιούνται κενά καθολικά και τοπικά λεξικά." #: library/annotationlib.rst:227 msgid "Functions" -msgstr "" +msgstr "Συναρτήσεις" #: library/annotationlib.rst:231 msgid "" @@ -332,12 +473,20 @@ msgid "" "annotate functions that support the :attr:`~Format.STRING` format but do not " "have access to the code creating the annotations." msgstr "" +"Μετατρέπει ένα annotations λεξικό που περιέχει τιμές χρόνου εκτέλεσης, σε ένα λεξικό που " +"περιέχει μόνο συμβολοσειρές. Αν οι τιμές δεν είναι ήδη συμβολοσειρές, μετατρέπονται " +"χρησιμοποιώντας τη :func:`type_repr`. Αυτή προορίζεται ως βοηθητική λειτουργία για " +"συναρτήσεις σχολιασμού, που παρέχονται από τον χρήστη και υποστηρίζουν τη " +"μορφή :attr:`~Format.STRING` αλλά δεν έχουν πρόσβαση στον κώδικα που δημιουργεί τα " +"annotations." #: library/annotationlib.rst:238 msgid "" "For example, this is used to implement the :attr:`~Format.STRING` for :class:" "`typing.TypedDict` classes created through the functional syntax:" msgstr "" +"Για παράδειγμα, χρησιμοποιείται για την υλοποίηση της :attr:`~Format.STRING` για " +"κλάσεις :class:`typing.TypedDict` που δημιουργούνται μέσω της συναρτησιακής σύνταξης:" #: library/annotationlib.rst:241 msgid "" @@ -346,6 +495,10 @@ msgid "" ">>> get_annotations(Movie, format=Format.STRING)\n" "{'name': 'str', 'year': 'int'}" msgstr "" +">>> from typing import TypedDict\n" +">>> Movie = TypedDict(\"movie\", {\"name\": str, \"year\": int})\n" +">>> get_annotations(Movie, format=Format.STRING)\n" +"{'name': 'str', 'year': 'int'}" #: library/annotationlib.rst:252 msgid "" @@ -353,6 +506,9 @@ msgid "" "member of the :class:`Format` enum, and return the annotations dictionary " "produced by the function." msgstr "" +"Καλεί τη :term:`συνάρτηση σχολιασμού ` *annotate* με το δοθέν " +"*format*, ένα μέλος του enum :class:`Format`, και επιστρέφει το λεξικό των annotations " +"που παράγεται από τη συνάρτηση." #: library/annotationlib.rst:256 msgid "" @@ -364,6 +520,13 @@ msgid "" "when implementing functionality that needs to partially evaluate annotations " "while a class is being constructed." msgstr "" +"Αυτή η βοηθητική συνάρτηση απαιτείται, επειδή οι συναρτήσεις σχολιασμού που " +"δημιουργούνται από τον μεταγλωττιστή για τις συναρτήσεις, τις κλάσεις και τα modules " +"υποστηρίζουν μόνο τη μορφή :attr:`~Format.VALUE`, όταν καλούνται απευθείας. Για την " +"υποστήριξη άλλων μορφών, αυτή η συνάρτηση καλεί τη συνάρτηση σχολιασμού σε ένα ειδικό " +"περιβάλλον που της επιτρέπει να παράγει annotations στις άλλες μορφές. Αυτό είναι ένα " +"χρήσιμο δομικό στοιχείο κατά την υλοποίηση λειτουργικότητας, που χρειάζεται να αξιολογεί " +"μερικώς τα annotations ενώ κατασκευάζεται μια κλάση." #: library/annotationlib.rst:265 msgid "" @@ -371,6 +534,10 @@ msgid "" "class, or module. If provided, it is used in the :attr:`~Format.FORWARDREF` " "format to produce a :class:`ForwardRef` object that carries more information." msgstr "" +"Το *owner* είναι το αντικείμενο που κατέχει τη συνάρτηση σχολιασμού, συνήθως μια " +"συνάρτηση, κλάση ή module. Αν παρέχεται, χρησιμοποιείται στη " +"μορφή :attr:`~Format.FORWARDREF` για να παράγει ένα αντικείμενο της :class:`ForwardRef` " +"που μεταφέρει περισσότερες πληροφορίες." #: library/annotationlib.rst:272 msgid "" @@ -378,6 +545,8 @@ msgid "" "contains an explanation of the implementation technique used by this " "function." msgstr "" +"Το :PEP:`PEP 649 <649#the-stringizer-and-the-fake-globals-environment>` περιέχει μια " +"εξήγηση της τεχνικής υλοποίησης που χρησιμοποιείται από αυτή τη συνάρτηση." #: library/annotationlib.rst:280 msgid "" @@ -387,54 +556,69 @@ msgid "" "always returns a dictionary mapping strings to annotations, while this " "function returns a single value." msgstr "" +"Καλεί τη :term:`συνάρτηση αξιολόγησης ` *evaluate* με ο δοθέν " +"*format*, ένα μέλος του enum :class:`Format`, και επιστρέφει την τιμή που παράγεται από " +"τη συνάρτηση. Είναι παρόμοιο με την :func:`call_annotate_function`, αλλά η τελευταία " +"επιστρέφει πάντα ένα λεξικό που αντιστοιχίζει συμβολοσειρές σε annotations, ενώ αυτή η " +"συνάρτηση επιστρέφει μια ενιαία τιμή." #: library/annotationlib.rst:286 msgid "" "This is intended for use with the evaluate functions generated for lazily " "evaluated elements related to type aliases and type parameters:" msgstr "" +"Προορίζεται για χρήση με τις συναρτήσεις αξιολόγησης που δημιουργούνται για νωχελικά " +"αξιολογούμενα στοιχεία, που σχετίζονται με ψευδώνυμα τύπων και παραμέτρους τύπου:" #: library/annotationlib.rst:289 msgid ":meth:`typing.TypeAliasType.evaluate_value`, the value of type aliases" -msgstr "" +msgstr ":meth:`typing.TypeAliasType.evaluate_value`, η τιμή των ψευδωνύμων τύπων" #: library/annotationlib.rst:290 msgid ":meth:`typing.TypeVar.evaluate_bound`, the bound of type variables" -msgstr "" +msgstr ":meth:`typing.TypeVar.evaluate_bound`, το όριο των μεταβλητών τύπου" #: library/annotationlib.rst:291 msgid "" ":meth:`typing.TypeVar.evaluate_constraints`, the constraints of type " "variables" -msgstr "" +msgstr ":meth:`typing.TypeVar.evaluate_constraints`, οι περιορισμοί των μεταβλητών τύπου" #: library/annotationlib.rst:293 msgid "" ":meth:`typing.TypeVar.evaluate_default`, the default value of type variables" -msgstr "" +msgstr ":meth:`typing.TypeVar.evaluate_default`, η προεπιλεγμένη τιμή των μεταβλητών τύπου" #: library/annotationlib.rst:295 msgid "" ":meth:`typing.ParamSpec.evaluate_default`, the default value of parameter " "specifications" msgstr "" +":meth:`typing.ParamSpec.evaluate_default`, η προεπιλεγμένη τιμή των προδιαγραφών " +"παραμέτρων" #: library/annotationlib.rst:297 msgid "" ":meth:`typing.TypeVarTuple.evaluate_default`, the default value of type " "variable tuples" msgstr "" +":meth:`typing.TypeVarTuple.evaluate_default`, η προεπιλεγμένη τιμή των μεταβλητών τύπου " +"tuple" #: library/annotationlib.rst:300 msgid "" "*owner* is the object that owns the evaluate function, such as the type " "alias or type variable object." msgstr "" +"Το *owner* είναι το αντικείμενο που κατέχει τη συνάρτηση αξιολόγησης, όπως το " +"αντικείμενο ψευδωνύμου τύπου ή μεταβλητής τύπου." #: library/annotationlib.rst:303 msgid "" "*format* can be used to control the format in which the value is returned:" msgstr "" +"Το *format* μπορεί να χρησιμοποιηθεί για τον έλεγχο της μορφής στην οποία επιστρέφεται η " +"τιμή:" #: library/annotationlib.rst:305 msgid "" @@ -448,6 +632,15 @@ msgid "" ">>> call_evaluate_function(Alias.evaluate_value, Format.STRING)\n" "'undefined'" msgstr "" +">>> type Alias = undefined\n" +">>> call_evaluate_function(Alias.evaluate_value, Format.VALUE)\n" +"Traceback (most recent call last):\n" +"...\n" +"NameError: name 'undefined' is not defined\n" +">>> call_evaluate_function(Alias.evaluate_value, Format.FORWARDREF)\n" +"ForwardRef('undefined')\n" +">>> call_evaluate_function(Alias.evaluate_value, Format.STRING)\n" +"'undefined'" #: library/annotationlib.rst:321 msgid "" @@ -458,10 +651,16 @@ msgid "" "function can be retrieved with ``cls.__annotate__``. See :ref:`below " "` for an example using this function in a metaclass." msgstr "" +"Ανακτά τη :term:`συνάρτηση σχολιασμού ` από ένα λεξικό χώρου ονομάτων " +"κλάσης *namespace*. Επιστρέφει :const:`!None` αν ο χώρος ονομάτων δεν περιέχει συνάρτηση " +"σχολιασμού. Eίναι κυρίως χρήσιμο πριν η κλάση δημιουργηθεί πλήρως (π.χ., σε μια " +"μετάκληση)· μετά την ύπαρξη της κλάσης, η συνάρτηση σχολιασμού μπορεί να ανακτηθεί με " +"την ``cls.__annotate__``. Δείτε :ref:`παρακάτω ` για ένα " +"παράδειγμα χρήσης αυτής της συνάρτησης σε μια μετάκληση." #: library/annotationlib.rst:331 msgid "Compute the annotations dict for an object." -msgstr "" +msgstr "Υπολογίζει το λεξικό των annotations για ένα αντικείμενο." #: library/annotationlib.rst:333 msgid "" @@ -469,6 +668,9 @@ msgid "" "__annotate__` or :attr:`~object.__annotations__` attributes. Passing any " "other object raises :exc:`TypeError`." msgstr "" +"Το *obj* μπορεί να είναι μια καλέσιμη οντότητα, μία κλάση, ένα module ή άλλο αντικείμενο " +"με ιδιότητες :attr:`~object.__annotate__` ή :attr:`~object.__annotations__`. Το πέρασμα " +"οποιουδήποτε άλλου αντικειμένου κάνει raise την :exc:`TypeError`." #: library/annotationlib.rst:337 msgid "" @@ -476,12 +678,17 @@ msgid "" "returned, and must be a member of the :class:`Format` enum or its integer " "equivalent. The different formats work as follows:" msgstr "" +"Η παράμετρος *format* ελέγχει τη μορφή στην οποία επιστρέφονται τα annotations και " +"πρέπει να είναι μέλος του enum :class:`Format` ή το ακέραιο ισοδύναμό του. Οι διάφορες " +"μορφές λειτουργούν ως εξής:" #: library/annotationlib.rst:341 msgid "" "VALUE: :attr:`!object.__annotations__` is tried first; if that does not " "exist, the :attr:`!object.__annotate__` function is called if it exists." msgstr "" +"VALUE: Δοκιμάζεται πρώτα το :attr:`!object.__annotations__`· αν αυτό δεν υπάρχει, " +"καλείται η συνάρτηση :attr:`!object.__annotate__` αν υπάρχει." #: library/annotationlib.rst:344 msgid "" @@ -490,6 +697,10 @@ msgid "" "function is called. If it does not exist either, :attr:`!object." "__annotations__` is tried again and any error from accessing it is re-raised." msgstr "" +"FORWARDREF: Αν το :attr:`!object.__annotations__` υπάρχει και μπορεί να αξιολογηθεί " +"επιτυχώς, χρησιμοποιείται· διαφορετικά, καλείται η συνάρτηση :attr:`!" +"object.__annotate__`. Αν ούτε αυτή υπάρχει, δοκιμάζεται ξανά το :attr:`!" +"object.__annotations__` και κάθε σφάλμα από την πρόσβαση σε αυτό γίνεται raise ξανά." #: library/annotationlib.rst:349 msgid "" @@ -500,6 +711,12 @@ msgid "" "back to using :attr:`~Format.VALUE`. If :attr:`~Format.VALUE` fails, the " "error from this call will be raised." msgstr "" +"Όταν καλείται το :attr:`!object.__annotate__`, καλείται πρώτα με " +"το :attr:`~Format.FORWARDREF`. Αν αυτό δεν είναι υλοποιημένο, στη συνέχεια ελέγχει αν " +"υποστηρίζεται το :attr:`~Format.VALUE_WITH_FAKE_GLOBALS` και το χρησιμοποιεί στο " +"περιβάλλον με τα ψεύτικα καθολικά. Αν καμία από αυτές τις μορφές δεν υποστηρίζεται, θα " +"καταφύγει στη χρήση του :attr:`~Format.VALUE`. Αν το :attr:`~Format.VALUE` αποτύχει, το " +"σφάλμα από αυτή την κλήση θα γίνει raise." #: library/annotationlib.rst:355 msgid "" @@ -507,6 +724,9 @@ msgid "" "otherwise, :attr:`!object.__annotations__` is used and stringified using :" "func:`annotations_to_string`." msgstr "" +"STRING: Αν υπάρχει το :attr:`!object.__annotate__`, καλείται πρώτο· διαφορετικά, " +"χρησιμοποιείται το :attr:`!object.__annotations__` και μετατρέπεται σε συμβολοσειρά " +"χρησιμοποιώντας την :func:`annotations_to_string`." #: library/annotationlib.rst:359 msgid "" @@ -518,6 +738,13 @@ msgid "" "`annotations_to_string`. If :attr:`~Format.VALUE` fails, the error from this " "call will be raised." msgstr "" +"Όταν καλείται το :attr:`!object.__annotate__`, καλείται πρώτα με :attr:`~Format.STRING`. " +"Αν αυτό δεν είναι υλοποιημένο, στη συνέχεια ελέγχει αν υποστηρίζεται " +"το :attr:`~Format.VALUE_WITH_FAKE_GLOBALS` και το χρησιμοποιεί στο περιβάλλον με τα " +"ψεύτικα καθολικά. Αν καμία από αυτές τις μορφές δεν υποστηρίζεται, θα καταφύγει στη " +"χρήση του :attr:`~Format.VALUE` με το αποτέλεσμα να μετατρέπεται χρησιμοποιώντας " +"την :func:`annotations_to_string`. Αν το :attr:`~Format.VALUE` αποτύχει, το σφάλμα από " +"αυτή την κλήση θα γίνει raise." #: library/annotationlib.rst:366 msgid "" @@ -525,10 +752,13 @@ msgid "" "called; calling it twice on the same object will return two different but " "equivalent dicts." msgstr "" +"Επιστρέφει ένα λεξικό. Η :func:`!get_annotations` επιστρέφει ένα νέο λεξικό κάθε φορά " +"που καλείται· αν κληθεί δύο φορές στο ίδιο αντικείμενο θα επιστρέψει δύο διαφορετικά " +"αλλά ισοδύναμα λεξικά." #: library/annotationlib.rst:370 msgid "This function handles several details for you:" -msgstr "" +msgstr "Αυτή η συνάρτηση χειρίζεται αρκετές λεπτομέρειες για εσάς:" #: library/annotationlib.rst:372 msgid "" @@ -537,6 +767,10 @@ msgid "" "(``from __future__ import annotations``). It is an error to set *eval_str* " "to true with formats other than :attr:`Format.VALUE`." msgstr "" +"Αν το *eval_str* είναι αληθές, οι τιμές τύπου :class:`!str` θα απομετατραπούν από " +"συμβολοσειρές χρησιμοποιώντας τη :func:`eval`. Προορίζεται για χρήση με annotations ως " +"συμβολοσειρές (``from __future__ import annotations``). Είναι λάθος να οριστεί το " +"*eval_str* ως αληθές με μορφές διαφορετικές από το :attr:`Format.VALUE`." #: library/annotationlib.rst:377 msgid "" @@ -544,6 +778,9 @@ msgid "" "and methods always have an annotations dict; classes, modules, and other " "types of callables may not.)" msgstr "" +"Αν το *obj* δεν έχει annotations λεξικό, επιστρέφει ένα κενό λεξικό. (Οι συναρτήσεις και " +"οι μέθοδοι έχουν πάντα annotations λεξικό· οι κλάσεις, τα modules και άλλοι τύποι " +"καλέσιμων μπορεί να μην έχουν.)" #: library/annotationlib.rst:381 msgid "" @@ -551,18 +788,24 @@ msgid "" "metaclasses. If a class doesn't have its own annotations dict, returns an " "empty dict." msgstr "" +"Αγνοεί τα κληρονομημένα annotations σε κλάσεις, καθώς και τα annotations σε μετακλάσεις. " +"Αν μια κλάση δεν έχει το δικό της annotations λεξικό, επιστρέφει ένα κενό λεξικό." #: library/annotationlib.rst:384 msgid "" "All accesses to object members and dict values are done using ``getattr()`` " "and ``dict.get()`` for safety." msgstr "" +"Όλες οι προσβάσεις σε μέλη αντικειμένων και τιμές λεξικών γίνονται χρησιμοποιώντας τις " +"``getattr()`` και ``dict.get()`` για λόγους ασφαλείας." #: library/annotationlib.rst:387 msgid "" "*eval_str* controls whether or not values of type :class:`!str` are replaced " "with the result of calling :func:`eval` on those values:" msgstr "" +"Το *eval_str* ελέγχει αν οι τιμές τύπου :class:`!str` αντικαθίστανται ή όχι με το " +"αποτέλεσμα της κλήσης της :func:`eval` σε αυτές τις τιμές:" #: library/annotationlib.rst:390 msgid "" @@ -571,12 +814,18 @@ msgid "" "`eval` raises an exception, it will unwind the stack past the :func:`!" "get_annotations` call.)" msgstr "" +"Αν το eval_str είναι αληθές, η :func:`eval` καλείται σε τιμές τύπου :class:`!str`. " +"(Σημειώστε ότι η :func:`!get_annotations` δεν πιάνει εξαιρέσεις· αν η :func:`eval` κάνει " +"raise μια εξαίρεση, θα ξετυλίξει τη στοίβα πέρα από την κλήση της :func:`!" +"get_annotations`.)" #: library/annotationlib.rst:394 msgid "" "If *eval_str* is false (the default), values of type :class:`!str` are " "unchanged." msgstr "" +"Αν το *eval_str* είναι ψευδές (η προεπιλογή), οι τιμές τύπου :class:`!str` παραμένουν " +"αμετάβλητες." #: library/annotationlib.rst:397 msgid "" @@ -585,16 +834,23 @@ msgid "" "None`, this function may replace that value with a context-specific default, " "contingent on ``type(obj)``:" msgstr "" +"Τα *globals* και *locals* περνιούνται στην :func:`eval`· δείτε την τεκμηρίωση " +"της :func:`eval` για περισσότερες πληροφορίες. Αν το *globals* ή το *locals* " +"είναι :const:`!None`, αυτή η συνάρτηση μπορεί να αντικαταστήσει αυτή την τιμή με μια " +"προεπιλογή ειδική για το πλαίσιο, εξαρτώμενη από το ``type(obj)``:" #: library/annotationlib.rst:402 msgid "If *obj* is a module, *globals* defaults to ``obj.__dict__``." -msgstr "" +msgstr "Αν το *obj* είναι module, η προεπιλογή για το *globals* είναι ``obj.__dict__``." #: library/annotationlib.rst:403 msgid "" "If *obj* is a class, *globals* defaults to ``sys.modules[obj.__module__]." "__dict__`` and *locals* defaults to the *obj* class namespace." msgstr "" +"Αν το *obj* είναι κλάση, η προεπιλογή για το *globals* είναι " +"``sys.modules[obj.__module__].__dict__`` και η προεπιλογή για το *locals* είναι ο χώρος " +"ονομάτων κλάσης του *obj*." #: library/annotationlib.rst:406 msgid "" @@ -603,6 +859,11 @@ msgid "" "func:`functools.update_wrapper`) or a :class:`functools.partial` object, it " "is unwrapped until a non-wrapped function is found." msgstr "" +"Αν το *obj* είναι καλέσιμο, η προεπιλογή για το *globals* είναι :attr:`obj.__globals__ " +"`, παρόλο που αν το *obj* είναι μια περιτυλιγμένη συνάρτηση " +"(χρησιμοποιώντας :func:`functools.update_wrapper`) ή ένα αντικείμενο " +"της :class:`functools.partial`, ξετυλίγεται μέχρι να βρεθεί μια μη περιτυλιγμένη " +"συνάρτηση." #: library/annotationlib.rst:412 msgid "" @@ -610,6 +871,9 @@ msgid "" "annotations dict of any object. See :ref:`annotations-howto` for more " "information on annotations best practices." msgstr "" +"Η κλήση της :func:`!get_annotations` είναι η βέλτιστη πρακτική για την πρόσβαση στο " +"λεξικό των annotations οποιουδήποτε αντικειμένου. Δείτε το :ref:`annotations-howto` για " +"περισσότερες πληροφορίες σχετικά με τις βέλτιστες πρακτικές των annotations." #: library/annotationlib.rst:416 msgid "" @@ -618,6 +882,10 @@ msgid "" ">>> get_annotations(f)\n" "{'a': , 'b': , 'return': }" msgstr "" +">>> def f(a: int, b: str) -> float:\n" +"... pass\n" +">>> get_annotations(f)\n" +"{'a': , 'b': , 'return': }" #: library/annotationlib.rst:427 msgid "" @@ -625,6 +893,10 @@ msgid "" "`~Format.STRING` format. This calls :func:`repr` for most objects, but has " "special handling for some objects, such as type objects." msgstr "" +"Μετατρέπει μια αυθαίρετη τιμή Python σε μια μορφή κατάλληλη για χρήση από τη " +"μορφή :attr:`~Format.STRING`. Αυτή καλεί την :func:`repr` για τα περισσότερα " +"αντικείμενα, αλλά έχει ειδικό χειρισμό για ορισμένα αντικείμενα, όπως τα αντικείμενα " +"τύπου." #: library/annotationlib.rst:431 msgid "" @@ -634,14 +906,19 @@ msgid "" "string representation for other objects that contain values that are " "commonly encountered in annotations." msgstr "" +"Αυτό προορίζεται ως βοηθητική λειτουργία για συναρτήσεις σχολιασμού παρεχόμενες από τον " +"χρήστη που υποστηρίζουν τη μορφή :attr:`~Format.STRING`, αλλά δεν έχουν πρόσβαση στον " +"κώδικα που δημιουργεί τα annotations. Μπορεί επίσης να χρησιμοποιηθεί για να παρέχει μια " +"φιλική προς τον χρήστη αναπαράσταση συμβολοσειράς για άλλα αντικείμενα που περιέχουν " +"τιμές που συναντώνται συνήθως σε annotations." #: library/annotationlib.rst:441 msgid "Recipes" -msgstr "" +msgstr "Συνταγές" #: library/annotationlib.rst:446 msgid "Using annotations in a metaclass" -msgstr "" +msgstr "Χρήση των annotations σε μετακλάση" #: library/annotationlib.rst:448 msgid "" @@ -656,6 +933,17 @@ msgid "" "format will usually be best, because this allows the annotations to refer to " "names that cannot yet be resolved when the class is created." msgstr "" +"Μια :ref:`μετακλάση ` μπορεί να θέλει να επιθεωρήσει ή ακόμη και να " +"τροποποιήσει τα annotations στο σώμα μιας κλάσης κατά τη δημιουργία της κλάσης. Αυτό " +"απαιτεί την ανάκτηση των annotations από το λεξικό χώρου ονομάτων της κλάσης. Για " +"κλάσεις που δημιουργούνται με το ``from __future__ import annotations``, τα annotations " +"θα βρίσκονται στο κλειδί ``__annotations__`` του λεξικού. Για άλλες κλάσεις με " +"annotations, η :func:`get_annotate_from_class_namespace` μπορεί να χρησιμοποιηθεί για να " +"πάρει τη συνάρτηση σχολιασμού, και η :func:`call_annotate_function` μπορεί να " +"χρησιμοποιηθεί για να την καλέσει και να ανακτήσει τα annotations. Η χρήση της " +"μορφής :attr:`~Format.FORWARDREF` συνήθως θα είναι η καλύτερη, επειδή επιτρέπει στα " +"annotations να αναφέρονται σε ονόματα που δεν μπορούν ακόμη να επιλυθούν όταν " +"δημιουργείται η κλάση." #: library/annotationlib.rst:459 msgid "" @@ -663,12 +951,18 @@ msgid "" "that calls the original annotate function, makes any necessary adjustments, " "and returns the result." msgstr "" +"Για να τροποποιήσετε τα annotations, είναι καλύτερο να δημιουργήσετε μια περιτυλιγμένη " +"συνάρτηση σχολιασμού που καλεί την αρχική συνάρτηση σχολιασμού, κάνει τις απαραίτητες " +"προσαρμογές και επιστρέφει το αποτέλεσμα." #: library/annotationlib.rst:463 msgid "" "Below is an example of a metaclass that filters out all :class:`typing." "ClassVar` annotations from the class and puts them in a separate attribute:" msgstr "" +"Παρακάτω είναι ένα παράδειγμα μιας μετακλάσης, που φιλτράρει όλα τα " +"annotations :class:`typing.ClassVar` από την κλάση και τα τοποθετεί σε ένα ξεχωριστό " +"χαρακτηριστικό:" #: library/annotationlib.rst:466 msgid "" @@ -720,10 +1014,54 @@ msgid "" "attribute\n" " return typ" msgstr "" +"import annotationlib\n" +"import typing\n" +"\n" +"class ClassVarSeparator(type):\n" +" def __new__(mcls, name, bases, ns):\n" +" if \"__annotations__\" in ns: # from __future__ import annotations\n" +" annotations = ns[\"__annotations__\"]\n" +" classvar_keys = {\n" +" key for key, value in annotations.items()\n" +" # Use string comparison for simplicity; a more robust solution\n" +" # could use annotationlib.ForwardRef.evaluate\n" +" if value.startswith(\"ClassVar\")\n" +" }\n" +" classvars = {key: annotations[key] for key in classvar_keys}\n" +" ns[\"__annotations__\"] = {\n" +" key: value for key, value in annotations.items()\n" +" if key not in classvar_keys\n" +" }\n" +" wrapped_annotate = None\n" +" elif annotate := annotationlib.get_annotate_from_class_namespace(ns):\n" +" annotations = annotationlib.call_annotate_function(\n" +" annotate, format=annotationlib.Format.FORWARDREF\n" +" )\n" +" classvar_keys = {\n" +" key for key, value in annotations.items()\n" +" if typing.get_origin(value) is typing.ClassVar\n" +" }\n" +" classvars = {key: annotations[key] for key in classvar_keys}\n" +"\n" +" def wrapped_annotate(format):\n" +" annos = annotationlib.call_annotate_function(annotate, format, owner=typ)\n" +" return {key: value for key, value in annos.items() if key not in " +"classvar_keys}\n" +"\n" +" else: # no annotations\n" +" classvars = {}\n" +" wrapped_annotate = None\n" +" typ = super().__new__(mcls, name, bases, ns)\n" +"\n" +" if wrapped_annotate is not None:\n" +" # Wrap the original __annotate__ with a wrapper that removes ClassVars\n" +" typ.__annotate__ = wrapped_annotate\n" +" typ.classvars = classvars # Store the ClassVars in a separate attribute\n" +" return typ" #: library/annotationlib.rst:514 msgid "Limitations of the ``STRING`` format" -msgstr "" +msgstr "Περιορισμοί της μορφής ``STRING``" #: library/annotationlib.rst:516 msgid "" @@ -731,6 +1069,9 @@ msgid "" "the annotation, but the implementation strategy used means that it is not " "always possible to recover the exact source code." msgstr "" +"Η μορφή :attr:`~Format.STRING` προορίζεται για να προσεγγίζει τον πηγαίο κώδικα του " +"σχολιασμού, αλλά η στρατηγική υλοποίησης που χρησιμοποιείται σημαίνει ότι δεν είναι " +"πάντα δυνατή η ανάκτηση του ακριβούς πηγαίου κώδικα." #: library/annotationlib.rst:520 msgid "" @@ -738,6 +1079,9 @@ msgid "" "present in the compiled code, including comments, whitespace, " "parenthesization, and operations that get simplified by the compiler." msgstr "" +"Πρώτον, ο μετατροπέας συμβολοσειράς φυσικά δεν μπορεί να ανακτήσει πληροφορίες που δεν " +"υπάρχουν στον μεταγλωττισμένο κώδικα, συμπεριλαμβανομένων των σχολίων, των λευκών " +"χαρακτήρων, των παρενθέσεων και των πράξεων που απλοποιούνται από τον μεταγλωττιστή." #: library/annotationlib.rst:524 msgid "" @@ -748,6 +1092,12 @@ msgid "" "enough that it is possible to achieve arbitrary code execution even with no " "access to any globals or builtins. For example:" msgstr "" +"Δεύτερον, ο μετατροπέας συμβολοσειράς μπορεί να παρεμβάλει σχεδόν όλες τις πράξεις που " +"περιλαμβάνουν ονόματα που αναζητούνται σε κάποια εμβέλεια, αλλά δεν μπορεί να παρεμβάλει " +"πράξεις που λειτουργούν πλήρως πάνω σε σταθερές. Ως επακόλουθο, αυτό σημαίνει επίσης ότι " +"δεν είναι ασφαλές να ζητείται η μορφή ``STRING`` σε μη αξιόπιστο κώδικα: η Python είναι " +"αρκετά ισχυρή ώστε να μπορεί να επιτευχθεί αυθαίρετη εκτέλεση κώδικα ακόμη και χωρίς " +"πρόσβαση σε global ή builtins. Για παράδειγμα:" #: library/annotationlib.rst:530 msgid "" @@ -758,12 +1108,20 @@ msgid "" "Hello world\n" "{'x': 'None'}" msgstr "" +">>> def f(x: (1).__class__.__base__.__subclasses__()[-1].__init__.__builtins__[\"print\"]" +"(\"Hello world\")): pass\n" +"...\n" +">>> annotationlib.get_annotations(f, format=annotationlib.Format.STRING)\n" +"Hello world\n" +"{'x': 'None'}" #: library/annotationlib.rst:539 msgid "" "This particular example works as of the time of writing, but it relies on " "implementation details and is not guaranteed to work in the future." msgstr "" +"Αυτό το συγκεκριμένο παράδειγμα λειτουργεί κατά τη στιγμή της συγγραφής, αλλά βασίζεται " +"σε λεπτομέρειες υλοποίησης και δεν είναι εγγυημένο ότι θα λειτουργεί στο μέλλον." #: library/annotationlib.rst:542 msgid "" @@ -773,60 +1131,70 @@ msgid "" "code; others are unsupported, meaning that they may result in incorrect " "output or an error." msgstr "" +"Μεταξύ των διαφορετικών ειδών εκφράσεων που υπάρχουν στην Python, όπως αναπαρίστανται " +"από το module :mod:`ast`, ορισμένες εκφράσεις υποστηρίζονται, που σημαίνει ότι η μορφή " +"``STRING`` μπορεί γενικά να ανακτήσει τον αρχικό πηγαίο κώδικα· άλλες δεν " +"υποστηρίζονται, που σημαίνει ότι μπορεί να οδηγήσουν σε λανθασμένη έξοδο ή σφάλμα." #: library/annotationlib.rst:547 msgid "The following are supported (sometimes with caveats):" -msgstr "" +msgstr "Τα ακόλουθα υποστηρίζονται (μερικές φορές με επιφυλάξεις):" #: library/annotationlib.rst:549 msgid ":class:`ast.BinOp`" -msgstr "" +msgstr ":class:`ast.BinOp`" #: library/annotationlib.rst:550 msgid ":class:`ast.UnaryOp`" -msgstr "" +msgstr ":class:`ast.UnaryOp`" #: library/annotationlib.rst:552 msgid "" ":class:`ast.Invert` (``~``), :class:`ast.UAdd` (``+``), and :class:`ast." "USub` (``-``) are supported" msgstr "" +"Οι :class:`ast.Invert` (``~``), :class:`ast.UAdd` (``+``) και :class:`ast.USub` (``-``) " +"υποστηρίζονται" #: library/annotationlib.rst:553 msgid ":class:`ast.Not` (``not``) is not supported" -msgstr "" +msgstr "Η :class:`ast.Not` (``not``) δεν υποστηρίζεται" #: library/annotationlib.rst:555 msgid ":class:`ast.Dict` (except when using ``**`` unpacking)" -msgstr "" +msgstr ":class:`ast.Dict` (εκτός αν χρησιμοποιείται αποσυσκευασία ``**``)" #: library/annotationlib.rst:556 msgid ":class:`ast.Set`" -msgstr "" +msgstr ":class:`ast.Set`" #: library/annotationlib.rst:557 msgid ":class:`ast.Compare`" -msgstr "" +msgstr ":class:`ast.Compare`" #: library/annotationlib.rst:559 msgid ":class:`ast.Eq` and :class:`ast.NotEq` are supported" -msgstr "" +msgstr "Οι :class:`ast.Eq` και :class:`ast.NotEq` υποστηρίζονται" #: library/annotationlib.rst:560 msgid "" ":class:`ast.Lt`, :class:`ast.LtE`, :class:`ast.Gt`, and :class:`ast.GtE` are " "supported, but the operand may be flipped" msgstr "" +"Οι :class:`ast.Lt`, :class:`ast.LtE`, :class:`ast.Gt` και :class:`ast.GtE` " +"υποστηρίζονται, αλλά το τελεστέο μπορεί να αναστραφεί" #: library/annotationlib.rst:561 msgid "" ":class:`ast.Is`, :class:`ast.IsNot`, :class:`ast.In`, and :class:`ast.NotIn` " "are not supported" msgstr "" +"Οι :class:`ast.Is`, :class:`ast.IsNot`, :class:`ast.In` και :class:`ast.NotIn` δεν " +"υποστηρίζονται" #: library/annotationlib.rst:563 msgid ":class:`ast.Call` (except when using ``**`` unpacking)" -msgstr "" +msgstr ":class:`ast.Call` (εκτός αν χρησιμοποιείται αποσυσκευασία ``**``)" #: library/annotationlib.rst:564 msgid "" @@ -834,107 +1202,115 @@ msgid "" "for example, escape sequences in strings are lost; hexadecimal numbers are " "converted to decimal)" msgstr "" +":class:`ast.Constant` (αν και όχι η ακριβής αναπαράσταση της σταθεράς· για παράδειγμα, " +"οι ακολουθίες διαφυγής σε συμβολοσειρές χάνονται· οι δεκαεξαδικοί αριθμοί μετατρέπονται " +"σε δεκαδικούς)" #: library/annotationlib.rst:566 msgid ":class:`ast.Attribute` (assuming the value is not a constant)" -msgstr "" +msgstr ":class:`ast.Attribute` (υποθέτοντας ότι η τιμή δεν είναι σταθερά)" #: library/annotationlib.rst:567 msgid ":class:`ast.Subscript` (assuming the value is not a constant)" -msgstr "" +msgstr ":class:`ast.Subscript` (υποθέτοντας ότι η τιμή δεν είναι σταθερά)" #: library/annotationlib.rst:568 msgid ":class:`ast.Starred` (``*`` unpacking)" -msgstr "" +msgstr ":class:`ast.Starred` (αποσυσκευασία ``*``)" #: library/annotationlib.rst:569 msgid ":class:`ast.Name`" -msgstr "" +msgstr ":class:`ast.Name`" #: library/annotationlib.rst:570 msgid ":class:`ast.List`" -msgstr "" +msgstr ":class:`ast.List`" #: library/annotationlib.rst:571 msgid ":class:`ast.Tuple`" -msgstr "" +msgstr ":class:`ast.Tuple`" #: library/annotationlib.rst:572 msgid ":class:`ast.Slice`" -msgstr "" +msgstr ":class:`ast.Slice`" #: library/annotationlib.rst:574 msgid "" "The following are unsupported, but throw an informative error when " "encountered by the stringifier:" msgstr "" +"Τα ακόλουθα δεν υποστηρίζονται, αλλά εγείρει ένα ενημερωτικό σφάλμα όταν συναντώνται από " +"τον μετατροπέα συμβολοσειράς:" #: library/annotationlib.rst:577 msgid "" ":class:`ast.FormattedValue` (f-strings; error is not detected if conversion " "specifiers like ``!r`` are used)" msgstr "" +":class:`ast.FormattedValue` (f-strings· το σφάλμα δεν ανιχνεύεται αν χρησιμοποιούνται " +"προδιαγραφές μετατροπής όπως ``!r``)" #: library/annotationlib.rst:579 msgid ":class:`ast.JoinedStr` (f-strings)" -msgstr "" +msgstr ":class:`ast.JoinedStr` (f-strings)" #: library/annotationlib.rst:581 msgid "The following are unsupported and result in incorrect output:" -msgstr "" +msgstr "Τα ακόλουθα δεν υποστηρίζονται και οδηγούν σε λανθασμένη έξοδο:" #: library/annotationlib.rst:583 msgid ":class:`ast.BoolOp` (``and`` and ``or``)" -msgstr "" +msgstr ":class:`ast.BoolOp` (``and`` και ``or``)" #: library/annotationlib.rst:584 msgid ":class:`ast.IfExp`" -msgstr "" +msgstr ":class:`ast.IfExp`" #: library/annotationlib.rst:585 msgid ":class:`ast.Lambda`" -msgstr "" +msgstr ":class:`ast.Lambda`" #: library/annotationlib.rst:586 msgid ":class:`ast.ListComp`" -msgstr "" +msgstr ":class:`ast.ListComp`" #: library/annotationlib.rst:587 msgid ":class:`ast.SetComp`" -msgstr "" +msgstr ":class:`ast.SetComp`" #: library/annotationlib.rst:588 msgid ":class:`ast.DictComp`" -msgstr "" +msgstr ":class:`ast.DictComp`" #: library/annotationlib.rst:589 msgid ":class:`ast.GeneratorExp`" -msgstr "" +msgstr ":class:`ast.GeneratorExp`" #: library/annotationlib.rst:591 msgid "" "The following are disallowed in annotation scopes and therefore not relevant:" msgstr "" +"Τα ακόλουθα δεν επιτρέπονται σε εμβέλειες των annotations και επομένως δεν είναι σχετικά:" #: library/annotationlib.rst:593 msgid ":class:`ast.NamedExpr` (``:=``)" -msgstr "" +msgstr ":class:`ast.NamedExpr` (``:=``)" #: library/annotationlib.rst:594 msgid ":class:`ast.Await`" -msgstr "" +msgstr ":class:`ast.Await`" #: library/annotationlib.rst:595 msgid ":class:`ast.Yield`" -msgstr "" +msgstr ":class:`ast.Yield`" #: library/annotationlib.rst:596 msgid ":class:`ast.YieldFrom`" -msgstr "" +msgstr ":class:`ast.YieldFrom`" #: library/annotationlib.rst:600 msgid "Limitations of the ``FORWARDREF`` format" -msgstr "" +msgstr "Περιορισμοί της μορφής ``FORWARDREF``" #: library/annotationlib.rst:602 msgid "" @@ -945,10 +1321,17 @@ msgid "" "literals or that use unsupported expression types may raise exceptions when " "evaluated using the :attr:`~Format.FORWARDREF` format." msgstr "" +"Η μορφή :attr:`~Format.FORWARDREF` στοχεύει στην παραγωγή πραγματικών τιμών όσο το " +"δυνατόν περισσότερο, αντικαθιστώντας οτιδήποτε δεν μπορεί να επιλυθεί με αντικείμενα " +"της :class:`ForwardRef`. Επηρεάζεται γενικά από τους ίδιους περιορισμούς με τη " +"μορφή :attr:`~Format.STRING`: τα annotations που εκτελούν πράξεις σε literals ή που " +"χρησιμοποιούν μη υποστηριζόμενους τύπους εκφράσεων μπορεί να κάνουν raise εξαιρέσεις " +"όταν αξιολογούνται χρησιμοποιώντας τη μορφή :attr:`~Format.FORWARDREF`." #: library/annotationlib.rst:609 msgid "Below are a few examples of the behavior with unsupported expressions:" msgstr "" +"Παρακάτω είναι μερικά παραδείγματα της συμπεριφοράς με μη υποστηριζόμενες εκφράσεις:" #: library/annotationlib.rst:611 msgid "" @@ -966,10 +1349,23 @@ msgid "" ">>> get_annotations(ifexp, format=Format.STRING)\n" "{'x': '1'}" msgstr "" +">>> from annotationlib import get_annotations, Format\n" +">>> def zerodiv(x: 1 / 0): ...\n" +">>> get_annotations(zerodiv, format=Format.STRING)\n" +"Traceback (most recent call last):\n" +" ...\n" +"ZeroDivisionError: division by zero\n" +">>> get_annotations(zerodiv, format=Format.FORWARDREF)\n" +"Traceback (most recent call last):\n" +" ...\n" +"ZeroDivisionError: division by zero\n" +">>> def ifexp(x: 1 if y else 0): ...\n" +">>> get_annotations(ifexp, format=Format.STRING)\n" +"{'x': '1'}" #: library/annotationlib.rst:630 msgid "Security implications of introspecting annotations" -msgstr "" +msgstr "Επιπτώσεις ασφαλείας από την ενδοσκόπηση των annotations" #: library/annotationlib.rst:632 msgid "" @@ -983,6 +1379,15 @@ msgid "" "functions in the :mod:`typing` module that work with annotations, such as :" "func:`typing.get_type_hints`." msgstr "" +"Η περισσότερη λειτουργικότητα σε αυτό το module περιλαμβάνει την εκτέλεση κώδικα που " +"σχετίζεται με annotations, ο οποίος μπορεί στη συνέχεια να κάνει αυθαίρετα πράγματα. Για " +"παράδειγμα, η :func:`get_annotations` μπορεί να καλέσει μια αυθαίρετη :term:`συνάρτηση " +"σχολιασμού `, και η :meth:`ForwardRef.evaluate` μπορεί να καλέσει " +"την :func:`eval` σε μια αυθαίρετη συμβολοσειρά. Ο κώδικας που περιέχεται σε έναν " +"σχολιασμό μπορεί να κάνει αυθαίρετες κλήσεις συστήματος, να μπει σε ατέρμονο βρόχο ή να " +"εκτελέσει οποιαδήποτε άλλη λειτουργία. Αυτό ισχύει επίσης για κάθε πρόσβαση στο " +"χαρακτηριστικό :attr:`~object.__annotations__`, και για διάφορες συναρτήσεις στο " +"module :mod:`typing` που εργάζονται με annotations, όπως η :func:`typing.get_type_hints`." #: library/annotationlib.rst:641 msgid "" @@ -994,3 +1399,10 @@ msgid "" "``__annotations__`` dictionary or directly creating a :class:`ForwardRef` " "object." msgstr "" +"Κάθε ζήτημα ασφαλείας, που προκύπτει από αυτό, ισχύει επίσης αμέσως μετά την εισαγωγή " +"κώδικα που μπορεί να περιέχει μη αξιόπιστα annotations: η εισαγωγή κώδικα μπορεί πάντα " +"να προκαλέσει την εκτέλεση αυθαίρετων λειτουργιών. Ωστόσο, είναι μη ασφαλές να γίνονται " +"αποδεκτές συμβολοσειρές ή άλλη είσοδος από μη αξιόπιστη πηγή και να περνιούνται σε " +"οποιοδήποτε από τα API για ενδοσκόπηση των annotations, για παράδειγμα με την " +"επεξεργασία ενός λεξικού ``__annotations__`` ή την άμεση δημιουργία ενός αντικειμένου " +"της :class:`ForwardRef`." From 98a6e0a30dce1ee4358e207050ffdf6c84896193 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci-lite[bot]" <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Date: Sat, 6 Jun 2026 16:56:10 +0000 Subject: [PATCH 2/5] [pre-commit.ci lite] apply automatic fixes --- library/annotationlib.po | 713 +++++++++++++++++++++------------------ 1 file changed, 385 insertions(+), 328 deletions(-) diff --git a/library/annotationlib.po b/library/annotationlib.po index 4e29d0665..ed93447a9 100644 --- a/library/annotationlib.po +++ b/library/annotationlib.po @@ -19,7 +19,8 @@ msgstr "" #: library/annotationlib.rst:2 msgid ":mod:`!annotationlib` --- Functionality for introspecting annotations" -msgstr ":mod:`!annotationlib` --- Λειτουργικότητα για την ενδοσκόπηση των annotations" +msgstr "" +":mod:`!annotationlib` --- Λειτουργικότητα για την ενδοσκόπηση των annotations" #: library/annotationlib.rst:9 msgid "**Source code:** :source:`Lib/annotationlib.py`" @@ -30,8 +31,8 @@ msgid "" "The :mod:`!annotationlib` module provides tools for introspecting :term:" "`annotations ` on modules, classes, and functions." msgstr "" -"Το module :mod:`!annotationlib` παρέχει εργαλεία για την ενδοσκόπηση " -"των :term:`annotations ` σε modules, κλάσεις και συναρτήσεις." +"Το module :mod:`!annotationlib` παρέχει εργαλεία για την ενδοσκόπηση των :" +"term:`annotations ` σε modules, κλάσεις και συναρτήσεις." #: library/annotationlib.rst:21 msgid "" @@ -41,20 +42,21 @@ msgid "" "to retrieve annotations in a reliable way, even in the presence of forward " "references and other edge cases." msgstr "" -"Τα annotations :ref:`αξιολογούνται νωχελικά ` και συχνά περιέχουν " -"αναφορές προς τα εμπρός σε αντικείμενα που δεν έχουν ακόμη οριστεί όταν δημιουργείται το " -"annotation. Αυτό το module παρέχει ένα σύνολο εργαλείων χαμηλού επιπέδου, που μπορούν να " -"χρησιμοποιηθούν για την αξιόπιστη ανάκτηση των annotations, ακόμη και στην παρουσία " -"αναφορών προς τα εμπρός και άλλων ακραίων περιπτώσεων." +"Τα annotations :ref:`αξιολογούνται νωχελικά ` και συχνά " +"περιέχουν αναφορές προς τα εμπρός σε αντικείμενα που δεν έχουν ακόμη οριστεί " +"όταν δημιουργείται το annotation. Αυτό το module παρέχει ένα σύνολο " +"εργαλείων χαμηλού επιπέδου, που μπορούν να χρησιμοποιηθούν για την αξιόπιστη " +"ανάκτηση των annotations, ακόμη και στην παρουσία αναφορών προς τα εμπρός " +"και άλλων ακραίων περιπτώσεων." #: library/annotationlib.rst:26 msgid "" "This module supports retrieving annotations in three main formats (see :" "class:`Format`), each of which works best for different use cases:" msgstr "" -"Αυτό το module υποστηρίζει την ανάκτηση των annotations σε τρεις κύριες μορφές (δείτε " -"το :class:`Format`), κάθε μία από τις οποίες λειτουργεί καλύτερα για διαφορετικές " -"περιπτώσεις χρήσης:" +"Αυτό το module υποστηρίζει την ανάκτηση των annotations σε τρεις κύριες " +"μορφές (δείτε το :class:`Format`), κάθε μία από τις οποίες λειτουργεί " +"καλύτερα για διαφορετικές περιπτώσεις χρήσης:" #: library/annotationlib.rst:29 msgid "" @@ -62,9 +64,10 @@ msgid "" "This is most straightforward to work with, but it may raise errors, for " "example if the annotations contain references to undefined names." msgstr "" -"Το :attr:`~Format.VALUE` αξιολογεί τα annotations και επιστρέφει την τιμή τους. Αυτή " -"είναι η πιο απλή μορφή για να εργαστεί κανείς, αλλά μπορεί να εγείρει σφάλματα, για " -"παράδειγμα αν τα annotations περιέχουν αναφορές σε ονόματα που δεν έχουν οριστεί." +"Το :attr:`~Format.VALUE` αξιολογεί τα annotations και επιστρέφει την τιμή " +"τους. Αυτή είναι η πιο απλή μορφή για να εργαστεί κανείς, αλλά μπορεί να " +"εγείρει σφάλματα, για παράδειγμα αν τα annotations περιέχουν αναφορές σε " +"ονόματα που δεν έχουν οριστεί." #: library/annotationlib.rst:32 msgid "" @@ -73,10 +76,11 @@ msgid "" "without evaluating them. This is useful when you need to work with " "annotations that may contain unresolved forward references." msgstr "" -"Το :attr:`~Format.FORWARDREF` επιστρέφει αντικείμενα :class:`ForwardRef` για annotations " -"που δεν μπορούν να επιλυθούν, επιτρέποντάς σας να επιθεωρήσετε τα annotations χωρίς να " -"τα αξιολογήσετε. Αυτό είναι χρήσιμο όταν χρειάζεται να εργαστείτε με annotations που " -"μπορεί να περιέχουν ανεπίλυτες αναφορές προς τα εμπρός." +"Το :attr:`~Format.FORWARDREF` επιστρέφει αντικείμενα :class:`ForwardRef` για " +"annotations που δεν μπορούν να επιλυθούν, επιτρέποντάς σας να επιθεωρήσετε " +"τα annotations χωρίς να τα αξιολογήσετε. Αυτό είναι χρήσιμο όταν χρειάζεται " +"να εργαστείτε με annotations που μπορεί να περιέχουν ανεπίλυτες αναφορές " +"προς τα εμπρός." #: library/annotationlib.rst:36 msgid "" @@ -84,9 +88,10 @@ msgid "" "it would appear in the source file. This is useful for documentation " "generators that want to display annotations in a readable way." msgstr "" -"Το :attr:`~Format.STRING` επιστρέφει τα annotations ως συμβολοσειρά, ομοίως με τον τρόπο " -"που θα εμφανίζονταν στο αρχείο του πηγαίου κώδικα. Αυτό είναι χρήσιμο για γεννήτριες " -"τεκμηρίωσης που θέλουν να εμφανίζουν τα annotations με αναγνώσιμο τρόπο." +"Το :attr:`~Format.STRING` επιστρέφει τα annotations ως συμβολοσειρά, ομοίως " +"με τον τρόπο που θα εμφανίζονταν στο αρχείο του πηγαίου κώδικα. Αυτό είναι " +"χρήσιμο για γεννήτριες τεκμηρίωσης που θέλουν να εμφανίζουν τα annotations " +"με αναγνώσιμο τρόπο." #: library/annotationlib.rst:40 msgid "" @@ -98,53 +103,55 @@ msgid "" "func:`call_annotate_function`, as well as the :func:`call_evaluate_function` " "function for working with :term:`evaluate functions `." msgstr "" -"Η συνάρτηση :func:`get_annotations` είναι το κύριο σημείο εισόδου για την ανάκτηση των " -"annotations. Δοθείσας μιας συνάρτησης, μιας κλάσης ή ενός module, επιστρέφει ένα λεξικό " -"των annotations στη ζητούμενη μορφή. Αυτό το module παρέχει επίσης τη λειτουργικότητα " -"για την άμεση εργασία με την :term:`annotate function`, που χρησιμοποιείται για την " -"αξιολόγηση των annotations, όπως οι :func:`get_annotate_from_class_namespace` " -"και :func:`call_annotate_function`, καθώς και τη " -"συνάρτηση :func:`call_evaluate_function` για εργασία με :term:`evaluate functions " -"`." +"Η συνάρτηση :func:`get_annotations` είναι το κύριο σημείο εισόδου για την " +"ανάκτηση των annotations. Δοθείσας μιας συνάρτησης, μιας κλάσης ή ενός " +"module, επιστρέφει ένα λεξικό των annotations στη ζητούμενη μορφή. Αυτό το " +"module παρέχει επίσης τη λειτουργικότητα για την άμεση εργασία με την :term:" +"`annotate function`, που χρησιμοποιείται για την αξιολόγηση των annotations, " +"όπως οι :func:`get_annotate_from_class_namespace` και :func:" +"`call_annotate_function`, καθώς και τη συνάρτηση :func:" +"`call_evaluate_function` για εργασία με :term:`evaluate functions `." #: library/annotationlib.rst:51 msgid "" "Most functionality in this module can execute arbitrary code; see :ref:`the " "security section ` for more information." msgstr "" -"Η περισσότερη λειτουργικότητα σε αυτό το module μπορεί να εκτελέσει αυθαίρετο κώδικα· " -"δείτε :ref:`την ενότητα ασφαλείας ` για περισσότερες πληροφορίες." +"Η περισσότερη λειτουργικότητα σε αυτό το module μπορεί να εκτελέσει " +"αυθαίρετο κώδικα· δείτε :ref:`την ενότητα ασφαλείας ` για περισσότερες πληροφορίες." #: library/annotationlib.rst:56 msgid "" ":pep:`649` proposed the current model for how annotations work in Python." msgstr "" -"Το :pep:`649` πρότεινε το τρέχον μοντέλο για το πώς λειτουργούν τα annotations στην " -"Python." +"Το :pep:`649` πρότεινε το τρέχον μοντέλο για το πώς λειτουργούν τα " +"annotations στην Python." #: library/annotationlib.rst:58 msgid "" ":pep:`749` expanded on various aspects of :pep:`649` and introduced the :mod:" "`!annotationlib` module." msgstr "" -"Το :pep:`749` επέκτεινε διάφορες πτυχές του :pep:`649` και εισήγαγε το module :mod:`!" -"annotationlib`." +"Το :pep:`749` επέκτεινε διάφορες πτυχές του :pep:`649` και εισήγαγε το " +"module :mod:`!annotationlib`." #: library/annotationlib.rst:61 msgid "" ":ref:`annotations-howto` provides best practices for working with " "annotations." msgstr "" -"Το :ref:`annotations-howto` παρέχει βέλτιστες πρακτικές για την εργασία με τα " -"annotations." +"Το :ref:`annotations-howto` παρέχει βέλτιστες πρακτικές για την εργασία με " +"τα annotations." #: library/annotationlib.rst:64 msgid "" ":pypi:`typing-extensions` provides a backport of :func:`get_annotations` " "that works on earlier versions of Python." msgstr "" -"Το :pypi:`typing-extensions` παρέχει ένα backport της :func:`get_annotations` που " -"λειτουργεί σε προγενέστερες εκδόσεις της Python." +"Το :pypi:`typing-extensions` παρέχει ένα backport της :func:" +"`get_annotations` που λειτουργεί σε προγενέστερες εκδόσεις της Python." #: library/annotationlib.rst:68 msgid "Annotation semantics" @@ -156,9 +163,9 @@ msgid "" "and currently still depends on a :ref:`future import `. There have " "been execution models for annotations:" msgstr "" -"Ο τρόπος αξιολόγησης των annotations έχει αλλάξει κατά τη διάρκεια της ιστορίας της " -"Python 3 και επί του παρόντος εξαρτάται ακόμα από μια :ref:`εισαγωγή future `. " -"Υπήρξαν μοντέλα εκτέλεσης για τα annotations:" +"Ο τρόπος αξιολόγησης των annotations έχει αλλάξει κατά τη διάρκεια της " +"ιστορίας της Python 3 και επί του παρόντος εξαρτάται ακόμα από μια :ref:" +"`εισαγωγή future `. Υπήρξαν μοντέλα εκτέλεσης για τα annotations:" #: library/annotationlib.rst:74 msgid "" @@ -166,9 +173,9 @@ msgid "" "pep:`526`): Annotations are evaluated eagerly, as they are encountered in " "the source code." msgstr "" -"*Βασική σημασιολογία* (προεπιλογή στην Python από την έκδοση 3.0 έως την 3.13· δείτε " -"τα :pep:`3107` και :pep:`526`): τα annotations αξιολογούνται άμεσα, όπως συναντώνται " -"στον πηγαίο κώδικα." +"*Βασική σημασιολογία* (προεπιλογή στην Python από την έκδοση 3.0 έως την " +"3.13· δείτε τα :pep:`3107` και :pep:`526`): τα annotations αξιολογούνται " +"άμεσα, όπως συναντώνται στον πηγαίο κώδικα." #: library/annotationlib.rst:77 msgid "" @@ -176,17 +183,18 @@ msgid "" "in Python 3.7 and newer; see :pep:`563`): Annotations are stored as strings " "only." msgstr "" -"*Annotations ως συμβολοσειρές* (χρησιμοποιούνται με το ``from __future__ import " -"annotations`` από την Python 3.7 και μετά· δείτε το :pep:`563`): τα annotations " -"αποθηκεύονται μόνο ως συμβολοσειρές." +"*Annotations ως συμβολοσειρές* (χρησιμοποιούνται με το ``from __future__ " +"import annotations`` από την Python 3.7 και μετά· δείτε το :pep:`563`): τα " +"annotations αποθηκεύονται μόνο ως συμβολοσειρές." #: library/annotationlib.rst:80 msgid "" "*Deferred evaluation* (default in Python 3.14 and newer; see :pep:`649` and :" "pep:`749`): Annotations are evaluated lazily, only when they are accessed." msgstr "" -"*Αναβαλλόμενη αξιολόγηση* (προεπιλογή από την Python 3.14 και μετά· δείτε τα :pep:`649` " -"και :pep:`749`): τα annotations αξιολογούνται νωχελικά, μόνο όταν προσπελαύνονται." +"*Αναβαλλόμενη αξιολόγηση* (προεπιλογή από την Python 3.14 και μετά· δείτε " +"τα :pep:`649` και :pep:`749`): τα annotations αξιολογούνται νωχελικά, μόνο " +"όταν προσπελαύνονται." #: library/annotationlib.rst:83 msgid "As an example, consider the following program::" @@ -218,25 +226,25 @@ msgid "" "`NameError` at the line where ``func`` is defined, because ``Cls`` is an " "undefined name at that point." msgstr "" -"Υπό τη βασική σημασιολογία (Python 3.13 και προγενέστερες), θα εγείρει " -"ένα :exc:`NameError` στη γραμμή όπου ορίζεται η ``func``, επειδή το ``Cls`` είναι ένα μη " -"ορισμένο όνομα σε εκείνο το σημείο." +"Υπό τη βασική σημασιολογία (Python 3.13 και προγενέστερες), θα εγείρει ένα :" +"exc:`NameError` στη γραμμή όπου ορίζεται η ``func``, επειδή το ``Cls`` είναι " +"ένα μη ορισμένο όνομα σε εκείνο το σημείο." #: library/annotationlib.rst:97 msgid "" "Under stringified annotations (if ``from __future__ import annotations`` is " "used), it will print ``{'a': 'Cls', 'return': 'None'}``." msgstr "" -"Υπό τα annotations ως συμβολοσειρές (αν χρησιμοποιείται το ``from __future__ import " -"annotations``), θα εκτυπώσει ``{'a': 'Cls', 'return': 'None'}``." +"Υπό τα annotations ως συμβολοσειρές (αν χρησιμοποιείται το ``from __future__ " +"import annotations``), θα εκτυπώσει ``{'a': 'Cls', 'return': 'None'}``." #: library/annotationlib.rst:99 msgid "" "Under deferred evaluation (Python 3.14 and later), it will print ``{'a': " ", 'return': None}``." msgstr "" -"Υπό την αναβαλλόμενη αξιολόγηση (Python 3.14 και μεταγενέστερες), θα εκτυπώσει ``{'a': " -", 'return': None}``." +"Υπό την αναβαλλόμενη αξιολόγηση (Python 3.14 και μεταγενέστερες), θα " +"εκτυπώσει ``{'a': , 'return': None}``." #: library/annotationlib.rst:102 msgid "" @@ -258,22 +266,25 @@ msgid "" "__future__ import annotations`` is present, but this behavior will " "eventually be removed." msgstr "" -"Η βασική σημασιολογία χρησιμοποιήθηκε όταν τα annotations συναρτήσεων εισήχθησαν για " -"πρώτη φορά στην Python 3.0 (από το :pep:`3107`), επειδή ήταν ο απλούστερος, πιο προφανής " -"τρόπος υλοποίησης των annotations. Το ίδιο μοντέλο εκτέλεσης χρησιμοποιήθηκε όταν " -"εισήχθησαν τα annotations μεταβλητών στην Python 3.6 (από το :pep:`526`). Ωστόσο, η " -"βασική σημασιολογία προκάλεσε προβλήματα κατά τη χρήση των annotations ως υποδείξεων " -"τύπων, όπως η ανάγκη αναφοράς σε ονόματα που δεν έχουν ακόμη οριστεί όταν συναντάται το " -"annotation. Επιπλέον, υπήρξαν προβλήματα απόδοσης με την εκτέλεση των annotations κατά " -"τον χρόνο εισαγωγής του module. Επομένως, στην Python 3.7, το :pep:`563` εισήγαγε τη " -"δυνατότητα αποθήκευσης των annotations ως συμβολοσειρές χρησιμοποιώντας τη σύνταξη " -"``from __future__ import annotations``. Το σχέδιο τότε ήταν να γίνει τελικά αυτή η " -"συμπεριφορά η προεπιλογή, αλλά εμφανίστηκε ένα πρόβλημα: τα annotations ως συμβολοσειρές " -"είναι πιο δύσκολο να επεξεργαστούν για όσα άτομα κάνουν ενδοσκόπηση στα annotations κατά " -"τον χρόνο εκτέλεσης. Σαν εναλλακτική πρόταση, το :pep:`649`, εισήγαγε το τρίτο μοντέλο " -"εκτέλεσης, την αναβαλλόμενη αξιολόγηση, και υλοποιήθηκε στην Python 3.14. Τα Annotations " -"ως συμβολοσειρές εξακολουθούν να χρησιμοποιούνται αν υπάρχει το ``from __future__ import " -"annotations``, αλλά αυτή η συμπεριφορά θα αφαιρεθεί τελικά." +"Η βασική σημασιολογία χρησιμοποιήθηκε όταν τα annotations συναρτήσεων " +"εισήχθησαν για πρώτη φορά στην Python 3.0 (από το :pep:`3107`), επειδή ήταν " +"ο απλούστερος, πιο προφανής τρόπος υλοποίησης των annotations. Το ίδιο " +"μοντέλο εκτέλεσης χρησιμοποιήθηκε όταν εισήχθησαν τα annotations μεταβλητών " +"στην Python 3.6 (από το :pep:`526`). Ωστόσο, η βασική σημασιολογία προκάλεσε " +"προβλήματα κατά τη χρήση των annotations ως υποδείξεων τύπων, όπως η ανάγκη " +"αναφοράς σε ονόματα που δεν έχουν ακόμη οριστεί όταν συναντάται το " +"annotation. Επιπλέον, υπήρξαν προβλήματα απόδοσης με την εκτέλεση των " +"annotations κατά τον χρόνο εισαγωγής του module. Επομένως, στην Python 3.7, " +"το :pep:`563` εισήγαγε τη δυνατότητα αποθήκευσης των annotations ως " +"συμβολοσειρές χρησιμοποιώντας τη σύνταξη ``from __future__ import " +"annotations``. Το σχέδιο τότε ήταν να γίνει τελικά αυτή η συμπεριφορά η " +"προεπιλογή, αλλά εμφανίστηκε ένα πρόβλημα: τα annotations ως συμβολοσειρές " +"είναι πιο δύσκολο να επεξεργαστούν για όσα άτομα κάνουν ενδοσκόπηση στα " +"annotations κατά τον χρόνο εκτέλεσης. Σαν εναλλακτική πρόταση, το :pep:" +"`649`, εισήγαγε το τρίτο μοντέλο εκτέλεσης, την αναβαλλόμενη αξιολόγηση, και " +"υλοποιήθηκε στην Python 3.14. Τα Annotations ως συμβολοσειρές εξακολουθούν " +"να χρησιμοποιούνται αν υπάρχει το ``from __future__ import annotations``, " +"αλλά αυτή η συμπεριφορά θα αφαιρεθεί τελικά." #: library/annotationlib.rst:121 msgid "Classes" @@ -286,10 +297,11 @@ msgid "" "passed to :func:`get_annotations` and other functions in this module, as " "well as to :attr:`~object.__annotate__` functions." msgstr "" -"Μία :class:`~enum.IntEnum` που περιγράφει τις μορφές στις οποίες μπορούν να επιστραφούν " -"τα annotations. Τα μέλη του enum, ή οι ισοδύναμες ακέραιες τιμές τους, μπορούν να " -"περαστούν στη :func:`get_annotations` και σε άλλες συναρτήσεις αυτού του module, καθώς " -"και σε συναρτήσεις :attr:`~object.__annotate__`." +"Μία :class:`~enum.IntEnum` που περιγράφει τις μορφές στις οποίες μπορούν να " +"επιστραφούν τα annotations. Τα μέλη του enum, ή οι ισοδύναμες ακέραιες τιμές " +"τους, μπορούν να περαστούν στη :func:`get_annotations` και σε άλλες " +"συναρτήσεις αυτού του module, καθώς και σε συναρτήσεις :attr:`~object." +"__annotate__`." #: library/annotationlib.rst:133 msgid "Values are the result of evaluating the annotation expressions." @@ -304,13 +316,13 @@ msgid "" "not support execution in this environment. This format is only used " "internally and should not be passed to the functions in this module." msgstr "" -"Ειδική τιμή που χρησιμοποιείται για να σηματοδοτήσει ότι μια συνάρτηση σχολιασμού " -"αξιολογείται σε ένα ειδικό περιβάλλον με ψεύτικα καθολικά (fake globals). Όταν περνιέται " -"αυτή η τιμή, οι συναρτήσεις σχολιασμού θα πρέπει είτε να επιστρέψουν την ίδια τιμή όπως " -"για τη μορφή :attr:`Format.VALUE`, είτε να εγείρουν :exc:`NotImplementedError` για να " -"σηματοδοτήσουν ότι δεν υποστηρίζουν εκτέλεση σε αυτό το περιβάλλον. Αυτή η μορφή " -"χρησιμοποιείται μόνο εσωτερικά και δεν πρέπει να περνιέται στις συναρτήσεις αυτού του " -"module." +"Ειδική τιμή που χρησιμοποιείται για να σηματοδοτήσει ότι μια συνάρτηση " +"σχολιασμού αξιολογείται σε ένα ειδικό περιβάλλον με ψεύτικα καθολικά (fake " +"globals). Όταν περνιέται αυτή η τιμή, οι συναρτήσεις σχολιασμού θα πρέπει " +"είτε να επιστρέψουν την ίδια τιμή όπως για τη μορφή :attr:`Format.VALUE`, " +"είτε να εγείρουν :exc:`NotImplementedError` για να σηματοδοτήσουν ότι δεν " +"υποστηρίζουν εκτέλεση σε αυτό το περιβάλλον. Αυτή η μορφή χρησιμοποιείται " +"μόνο εσωτερικά και δεν πρέπει να περνιέται στις συναρτήσεις αυτού του module." #: library/annotationlib.rst:149 msgid "" @@ -318,10 +330,10 @@ msgid "" "defined values, and :class:`ForwardRef` proxies for undefined values. Real " "objects may contain references to :class:`ForwardRef` proxy objects." msgstr "" -"Οι τιμές είναι πραγματικές τιμές σχολιασμού (όπως στη μορφή :attr:`Format.VALUE`) για " -"ορισμένες τιμές, και αντιπρόσωποι (proxies) :class:`ForwardRef` για μη ορισμένες τιμές. " -"Τα πραγματικά αντικείμενα μπορεί να περιέχουν αναφορές σε αντικείμενα " -"αντιπροσώπων :class:`ForwardRef`." +"Οι τιμές είναι πραγματικές τιμές σχολιασμού (όπως στη μορφή :attr:`Format." +"VALUE`) για ορισμένες τιμές, και αντιπρόσωποι (proxies) :class:`ForwardRef` " +"για μη ορισμένες τιμές. Τα πραγματικά αντικείμενα μπορεί να περιέχουν " +"αναφορές σε αντικείμενα αντιπροσώπων :class:`ForwardRef`." #: library/annotationlib.rst:157 msgid "" @@ -329,20 +341,22 @@ msgid "" "code, up to modifications including, but not restricted to, whitespace " "normalizations and constant values optimizations." msgstr "" -"Οι τιμές είναι η συμβολοσειρά κειμένου του σχολιασμού όπως εμφανίζεται στον πηγαίο " -"κώδικα, με κάποιες τροποποιήσεις που περιλαμβάνουν κανονικοποιήσεις λευκών χαρακτήρων " -"και βελτιστοποιήσεις σταθερών τιμών (αλλά δεν περιορίζονται σε αυτές)." +"Οι τιμές είναι η συμβολοσειρά κειμένου του σχολιασμού όπως εμφανίζεται στον " +"πηγαίο κώδικα, με κάποιες τροποποιήσεις που περιλαμβάνουν κανονικοποιήσεις " +"λευκών χαρακτήρων και βελτιστοποιήσεις σταθερών τιμών (αλλά δεν " +"περιορίζονται σε αυτές)." #: library/annotationlib.rst:161 msgid "" "The exact values of these strings may change in future versions of Python." msgstr "" -"Οι ακριβείς τιμές αυτών των συμβολοσειρών ενδέχεται να αλλάξουν σε μελλοντικές εκδόσεις " -"της Python." +"Οι ακριβείς τιμές αυτών των συμβολοσειρών ενδέχεται να αλλάξουν σε " +"μελλοντικές εκδόσεις της Python." #: library/annotationlib.rst:167 msgid "A proxy object for forward references in annotations." -msgstr "Ένα αντικείμενο αντιπροσώπου για αναφορές προς τα εμπρός σε annotations." +msgstr "" +"Ένα αντικείμενο αντιπροσώπου για αναφορές προς τα εμπρός σε annotations." #: library/annotationlib.rst:169 msgid "" @@ -351,10 +365,11 @@ msgid "" "can happen when a forward reference is used in an annotation, such as when a " "class is referenced before it is defined." msgstr "" -"Στιγμιότυπα αυτής της κλάσης επιστρέφονται όταν χρησιμοποιείται η " -"μορφή :attr:`~Format.FORWARDREF` και τα annotations περιέχουν ένα όνομα που δεν μπορεί " -"να επιλυθεί. Αυτό μπορεί να συμβεί όταν χρησιμοποιείται μια αναφορά προς τα εμπρός σε " -"έναν σχολιασμό, όπως όταν γίνεται αναφορά σε μια κλάση πριν αυτή οριστεί." +"Στιγμιότυπα αυτής της κλάσης επιστρέφονται όταν χρησιμοποιείται η μορφή :" +"attr:`~Format.FORWARDREF` και τα annotations περιέχουν ένα όνομα που δεν " +"μπορεί να επιλυθεί. Αυτό μπορεί να συμβεί όταν χρησιμοποιείται μια αναφορά " +"προς τα εμπρός σε έναν σχολιασμό, όπως όταν γίνεται αναφορά σε μια κλάση " +"πριν αυτή οριστεί." #: library/annotationlib.rst:176 msgid "" @@ -362,9 +377,9 @@ msgid "" "`~ForwardRef`. The string may not be exactly equivalent to the original " "source." msgstr "" -"Μια συμβολοσειρά που περιέχει τον κώδικα που αξιολογήθηκε για να παραχθεί " -"η :class:`~ForwardRef`. Η συμβολοσειρά μπορεί να μην είναι ακριβώς ισοδύναμη με τον " -"αρχικό πηγαίο κώδικα." +"Μια συμβολοσειρά που περιέχει τον κώδικα που αξιολογήθηκε για να παραχθεί η :" +"class:`~ForwardRef`. Η συμβολοσειρά μπορεί να μην είναι ακριβώς ισοδύναμη με " +"τον αρχικό πηγαίο κώδικα." #: library/annotationlib.rst:182 msgid "Evaluate the forward reference, returning its value." @@ -384,17 +399,19 @@ msgid "" "``list[ForwardRef('undefined')]``. If the *format* argument is :attr:" "`~Format.STRING`, the method will return :attr:`~ForwardRef.__forward_arg__`." msgstr "" -"Αν το όρισμα *format* είναι :attr:`~Format.VALUE` (η προεπιλογή), αυτή η μέθοδος μπορεί " -"να προκαλέσει μια εξαίρεση, όπως την :exc:`NameError`, αν η αναφορά προς τα εμπρός " -"αναφέρεται σε ένα όνομα που δεν μπορεί να επιλυθεί. Τα ορίσματα αυτής της μεθόδου " -"μπορούν να χρησιμοποιηθούν για να παρέχουν συνδέσεις για ονόματα που διαφορετικά θα ήταν " -"μη ορισμένα. Αν το όρισμα *format* είναι :attr:`~Format.FORWARDREF`, η μέθοδος δεν θα " -"προκαλέσει ποτέ εξαίρεση, αλλά μπορεί να επιστρέψει ένα στιγμιότυπο " -"της :class:`~ForwardRef`. Για παράδειγμα, αν το αντικείμενο αναφοράς προς τα εμπρός " -"περιέχει τον κώδικα ``list[undefined]``, όπου ``undefined`` είναι ένα όνομα που δεν έχει " -"οριστεί, η αξιολόγησή του με τη μορφή :attr:`~Format.FORWARDREF` θα επιστρέψει " -"``list[ForwardRef('undefined')]``. Αν το όρισμα *format* είναι :attr:`~Format.STRING`, η " -"μέθοδος θα επιστρέψει :attr:`~ForwardRef.__forward_arg__`." +"Αν το όρισμα *format* είναι :attr:`~Format.VALUE` (η προεπιλογή), αυτή η " +"μέθοδος μπορεί να προκαλέσει μια εξαίρεση, όπως την :exc:`NameError`, αν η " +"αναφορά προς τα εμπρός αναφέρεται σε ένα όνομα που δεν μπορεί να επιλυθεί. " +"Τα ορίσματα αυτής της μεθόδου μπορούν να χρησιμοποιηθούν για να παρέχουν " +"συνδέσεις για ονόματα που διαφορετικά θα ήταν μη ορισμένα. Αν το όρισμα " +"*format* είναι :attr:`~Format.FORWARDREF`, η μέθοδος δεν θα προκαλέσει ποτέ " +"εξαίρεση, αλλά μπορεί να επιστρέψει ένα στιγμιότυπο της :class:" +"`~ForwardRef`. Για παράδειγμα, αν το αντικείμενο αναφοράς προς τα εμπρός " +"περιέχει τον κώδικα ``list[undefined]``, όπου ``undefined`` είναι ένα όνομα " +"που δεν έχει οριστεί, η αξιολόγησή του με τη μορφή :attr:`~Format." +"FORWARDREF` θα επιστρέψει ``list[ForwardRef('undefined')]``. Αν το όρισμα " +"*format* είναι :attr:`~Format.STRING`, η μέθοδος θα επιστρέψει :attr:" +"`~ForwardRef.__forward_arg__`." #: library/annotationlib.rst:196 msgid "" @@ -403,10 +420,11 @@ msgid "" "object that contains the annotation from which the :class:`~ForwardRef` " "derives, such as a module object, type object, or function object." msgstr "" -"Η παράμετρος *owner* παρέχει τον προτιμώμενο μηχανισμό για το πέρασμα πληροφοριών " -"εμβέλειας σε αυτή τη μέθοδο. Ο ιδιοκτήτης μιας :class:`~ForwardRef` είναι το αντικείμενο " -"που περιέχει τον σχολιασμό από τον οποίο προέρχεται η :class:`~ForwardRef`, όπως ένα " -"αντικείμενο module, αντικείμενο τύπου ή αντικείμενο συνάρτησης." +"Η παράμετρος *owner* παρέχει τον προτιμώμενο μηχανισμό για το πέρασμα " +"πληροφοριών εμβέλειας σε αυτή τη μέθοδο. Ο ιδιοκτήτης μιας :class:" +"`~ForwardRef` είναι το αντικείμενο που περιέχει τον σχολιασμό από τον οποίο " +"προέρχεται η :class:`~ForwardRef`, όπως ένα αντικείμενο module, αντικείμενο " +"τύπου ή αντικείμενο συνάρτησης." #: library/annotationlib.rst:201 msgid "" @@ -422,17 +440,19 @@ msgid "" "an annotation found in the class namespace of a generic class ``C``, " "*type_params* should be set to ``C.__type_params__``." msgstr "" -"Οι παράμετροι *globals*, *locals* και *type_params* παρέχουν έναν πιο ακριβή μηχανισμό " -"για τον επηρεασμό των ονομάτων που είναι διαθέσιμα όταν αξιολογείται " -"η :class:`~ForwardRef`. Τα *globals* και *locals* περνιούνται στη :func:`eval`, " -"αντιπροσωπεύοντας τους καθολικούς και τοπικούς χώρους ονομάτων στους οποίους " -"αξιολογείται το όνομα. Η παράμετρος *type_params* είναι σχετική για αντικείμενα που " -"δημιουργούνται χρησιμοποιώντας την εγγενή σύνταξη για :ref:`γενικευμένες κλάσεις " -"` και :ref:`συναρτήσεις `. Είναι ένα tulle " -"από :ref:`παραμέτρους τύπου ` που είναι εντός εμβέλειας όσο η αναφορά προς " -"τα εμπρός αξιολογείται. Για παράδειγμα, αν αξιολογείται μία :class:`~ForwardRef` που " -"ανακτήθηκε από έναν σχολιασμό, που βρίσκεται στον χώρο ονομάτων κλάσης μιας γενικευμένης " -"κλάσης ``C``, το *type_params* θα πρέπει να οριστεί ως ``C.__type_params__``." +"Οι παράμετροι *globals*, *locals* και *type_params* παρέχουν έναν πιο ακριβή " +"μηχανισμό για τον επηρεασμό των ονομάτων που είναι διαθέσιμα όταν " +"αξιολογείται η :class:`~ForwardRef`. Τα *globals* και *locals* περνιούνται " +"στη :func:`eval`, αντιπροσωπεύοντας τους καθολικούς και τοπικούς χώρους " +"ονομάτων στους οποίους αξιολογείται το όνομα. Η παράμετρος *type_params* " +"είναι σχετική για αντικείμενα που δημιουργούνται χρησιμοποιώντας την εγγενή " +"σύνταξη για :ref:`γενικευμένες κλάσεις ` και :ref:" +"`συναρτήσεις `. Είναι ένα tulle από :ref:`παραμέτρους " +"τύπου ` που είναι εντός εμβέλειας όσο η αναφορά προς τα εμπρός " +"αξιολογείται. Για παράδειγμα, αν αξιολογείται μία :class:`~ForwardRef` που " +"ανακτήθηκε από έναν σχολιασμό, που βρίσκεται στον χώρο ονομάτων κλάσης μιας " +"γενικευμένης κλάσης ``C``, το *type_params* θα πρέπει να οριστεί ως ``C." +"__type_params__``." #: library/annotationlib.rst:212 msgid "" @@ -443,13 +463,14 @@ msgid "" "any information about their scope, so passing arguments to this method may " "be necessary to evaluate them successfully." msgstr "" -"Τα στιγμιότυπα :class:`~ForwardRef` που επιστρέφονται από τη :func:`get_annotations` " -"διατηρούν αναφορές σε πληροφορίες σχετικές με την εμβέλεια από την οποία προήλθαν, οπότε " -"η κλήση αυτής της μεθόδου χωρίς περαιτέρω ορίσματα μπορεί να είναι επαρκής για την " -"αξιολόγηση τέτοιων αντικειμένων. Τα στιγμιότυπα της :class:`~ForwardRef` που " -"δημιουργούνται με άλλα μέσα μπορεί να μην έχουν καμία πληροφορία σχετικά με την εμβέλειά " -"τους, οπότε το πέρασμα ορισμάτων σε αυτή τη μέθοδο μπορεί να είναι απαραίτητο για την " -"επιτυχή αξιολόγησή τους." +"Τα στιγμιότυπα :class:`~ForwardRef` που επιστρέφονται από τη :func:" +"`get_annotations` διατηρούν αναφορές σε πληροφορίες σχετικές με την εμβέλεια " +"από την οποία προήλθαν, οπότε η κλήση αυτής της μεθόδου χωρίς περαιτέρω " +"ορίσματα μπορεί να είναι επαρκής για την αξιολόγηση τέτοιων αντικειμένων. Τα " +"στιγμιότυπα της :class:`~ForwardRef` που δημιουργούνται με άλλα μέσα μπορεί " +"να μην έχουν καμία πληροφορία σχετικά με την εμβέλειά τους, οπότε το πέρασμα " +"ορισμάτων σε αυτή τη μέθοδο μπορεί να είναι απαραίτητο για την επιτυχή " +"αξιολόγησή τους." #: library/annotationlib.rst:219 msgid "" @@ -457,9 +478,9 @@ msgid "" "class:`~ForwardRef` does not contain information about its origin, empty " "globals and locals dictionaries are used." msgstr "" -"Αν δεν παρέχεται κανένα από τα *owner*, *globals*, *locals* ή *type_params* και " -"η :class:`~ForwardRef` δεν περιέχει πληροφορίες σχετικά με την προέλευσή της, " -"χρησιμοποιούνται κενά καθολικά και τοπικά λεξικά." +"Αν δεν παρέχεται κανένα από τα *owner*, *globals*, *locals* ή *type_params* " +"και η :class:`~ForwardRef` δεν περιέχει πληροφορίες σχετικά με την προέλευσή " +"της, χρησιμοποιούνται κενά καθολικά και τοπικά λεξικά." #: library/annotationlib.rst:227 msgid "Functions" @@ -473,20 +494,21 @@ msgid "" "annotate functions that support the :attr:`~Format.STRING` format but do not " "have access to the code creating the annotations." msgstr "" -"Μετατρέπει ένα annotations λεξικό που περιέχει τιμές χρόνου εκτέλεσης, σε ένα λεξικό που " -"περιέχει μόνο συμβολοσειρές. Αν οι τιμές δεν είναι ήδη συμβολοσειρές, μετατρέπονται " -"χρησιμοποιώντας τη :func:`type_repr`. Αυτή προορίζεται ως βοηθητική λειτουργία για " -"συναρτήσεις σχολιασμού, που παρέχονται από τον χρήστη και υποστηρίζουν τη " -"μορφή :attr:`~Format.STRING` αλλά δεν έχουν πρόσβαση στον κώδικα που δημιουργεί τα " -"annotations." +"Μετατρέπει ένα annotations λεξικό που περιέχει τιμές χρόνου εκτέλεσης, σε " +"ένα λεξικό που περιέχει μόνο συμβολοσειρές. Αν οι τιμές δεν είναι ήδη " +"συμβολοσειρές, μετατρέπονται χρησιμοποιώντας τη :func:`type_repr`. Αυτή " +"προορίζεται ως βοηθητική λειτουργία για συναρτήσεις σχολιασμού, που " +"παρέχονται από τον χρήστη και υποστηρίζουν τη μορφή :attr:`~Format.STRING` " +"αλλά δεν έχουν πρόσβαση στον κώδικα που δημιουργεί τα annotations." #: library/annotationlib.rst:238 msgid "" "For example, this is used to implement the :attr:`~Format.STRING` for :class:" "`typing.TypedDict` classes created through the functional syntax:" msgstr "" -"Για παράδειγμα, χρησιμοποιείται για την υλοποίηση της :attr:`~Format.STRING` για " -"κλάσεις :class:`typing.TypedDict` που δημιουργούνται μέσω της συναρτησιακής σύνταξης:" +"Για παράδειγμα, χρησιμοποιείται για την υλοποίηση της :attr:`~Format.STRING` " +"για κλάσεις :class:`typing.TypedDict` που δημιουργούνται μέσω της " +"συναρτησιακής σύνταξης:" #: library/annotationlib.rst:241 msgid "" @@ -506,9 +528,9 @@ msgid "" "member of the :class:`Format` enum, and return the annotations dictionary " "produced by the function." msgstr "" -"Καλεί τη :term:`συνάρτηση σχολιασμού ` *annotate* με το δοθέν " -"*format*, ένα μέλος του enum :class:`Format`, και επιστρέφει το λεξικό των annotations " -"που παράγεται από τη συνάρτηση." +"Καλεί τη :term:`συνάρτηση σχολιασμού ` *annotate* με το " +"δοθέν *format*, ένα μέλος του enum :class:`Format`, και επιστρέφει το λεξικό " +"των annotations που παράγεται από τη συνάρτηση." #: library/annotationlib.rst:256 msgid "" @@ -521,12 +543,13 @@ msgid "" "while a class is being constructed." msgstr "" "Αυτή η βοηθητική συνάρτηση απαιτείται, επειδή οι συναρτήσεις σχολιασμού που " -"δημιουργούνται από τον μεταγλωττιστή για τις συναρτήσεις, τις κλάσεις και τα modules " -"υποστηρίζουν μόνο τη μορφή :attr:`~Format.VALUE`, όταν καλούνται απευθείας. Για την " -"υποστήριξη άλλων μορφών, αυτή η συνάρτηση καλεί τη συνάρτηση σχολιασμού σε ένα ειδικό " -"περιβάλλον που της επιτρέπει να παράγει annotations στις άλλες μορφές. Αυτό είναι ένα " -"χρήσιμο δομικό στοιχείο κατά την υλοποίηση λειτουργικότητας, που χρειάζεται να αξιολογεί " -"μερικώς τα annotations ενώ κατασκευάζεται μια κλάση." +"δημιουργούνται από τον μεταγλωττιστή για τις συναρτήσεις, τις κλάσεις και τα " +"modules υποστηρίζουν μόνο τη μορφή :attr:`~Format.VALUE`, όταν καλούνται " +"απευθείας. Για την υποστήριξη άλλων μορφών, αυτή η συνάρτηση καλεί τη " +"συνάρτηση σχολιασμού σε ένα ειδικό περιβάλλον που της επιτρέπει να παράγει " +"annotations στις άλλες μορφές. Αυτό είναι ένα χρήσιμο δομικό στοιχείο κατά " +"την υλοποίηση λειτουργικότητας, που χρειάζεται να αξιολογεί μερικώς τα " +"annotations ενώ κατασκευάζεται μια κλάση." #: library/annotationlib.rst:265 msgid "" @@ -534,9 +557,9 @@ msgid "" "class, or module. If provided, it is used in the :attr:`~Format.FORWARDREF` " "format to produce a :class:`ForwardRef` object that carries more information." msgstr "" -"Το *owner* είναι το αντικείμενο που κατέχει τη συνάρτηση σχολιασμού, συνήθως μια " -"συνάρτηση, κλάση ή module. Αν παρέχεται, χρησιμοποιείται στη " -"μορφή :attr:`~Format.FORWARDREF` για να παράγει ένα αντικείμενο της :class:`ForwardRef` " +"Το *owner* είναι το αντικείμενο που κατέχει τη συνάρτηση σχολιασμού, συνήθως " +"μια συνάρτηση, κλάση ή module. Αν παρέχεται, χρησιμοποιείται στη μορφή :attr:" +"`~Format.FORWARDREF` για να παράγει ένα αντικείμενο της :class:`ForwardRef` " "που μεταφέρει περισσότερες πληροφορίες." #: library/annotationlib.rst:272 @@ -545,8 +568,9 @@ msgid "" "contains an explanation of the implementation technique used by this " "function." msgstr "" -"Το :PEP:`PEP 649 <649#the-stringizer-and-the-fake-globals-environment>` περιέχει μια " -"εξήγηση της τεχνικής υλοποίησης που χρησιμοποιείται από αυτή τη συνάρτηση." +"Το :PEP:`PEP 649 <649#the-stringizer-and-the-fake-globals-environment>` " +"περιέχει μια εξήγηση της τεχνικής υλοποίησης που χρησιμοποιείται από αυτή τη " +"συνάρτηση." #: library/annotationlib.rst:280 msgid "" @@ -556,23 +580,26 @@ msgid "" "always returns a dictionary mapping strings to annotations, while this " "function returns a single value." msgstr "" -"Καλεί τη :term:`συνάρτηση αξιολόγησης ` *evaluate* με ο δοθέν " -"*format*, ένα μέλος του enum :class:`Format`, και επιστρέφει την τιμή που παράγεται από " -"τη συνάρτηση. Είναι παρόμοιο με την :func:`call_annotate_function`, αλλά η τελευταία " -"επιστρέφει πάντα ένα λεξικό που αντιστοιχίζει συμβολοσειρές σε annotations, ενώ αυτή η " -"συνάρτηση επιστρέφει μια ενιαία τιμή." +"Καλεί τη :term:`συνάρτηση αξιολόγησης ` *evaluate* με ο " +"δοθέν *format*, ένα μέλος του enum :class:`Format`, και επιστρέφει την τιμή " +"που παράγεται από τη συνάρτηση. Είναι παρόμοιο με την :func:" +"`call_annotate_function`, αλλά η τελευταία επιστρέφει πάντα ένα λεξικό που " +"αντιστοιχίζει συμβολοσειρές σε annotations, ενώ αυτή η συνάρτηση επιστρέφει " +"μια ενιαία τιμή." #: library/annotationlib.rst:286 msgid "" "This is intended for use with the evaluate functions generated for lazily " "evaluated elements related to type aliases and type parameters:" msgstr "" -"Προορίζεται για χρήση με τις συναρτήσεις αξιολόγησης που δημιουργούνται για νωχελικά " -"αξιολογούμενα στοιχεία, που σχετίζονται με ψευδώνυμα τύπων και παραμέτρους τύπου:" +"Προορίζεται για χρήση με τις συναρτήσεις αξιολόγησης που δημιουργούνται για " +"νωχελικά αξιολογούμενα στοιχεία, που σχετίζονται με ψευδώνυμα τύπων και " +"παραμέτρους τύπου:" #: library/annotationlib.rst:289 msgid ":meth:`typing.TypeAliasType.evaluate_value`, the value of type aliases" -msgstr ":meth:`typing.TypeAliasType.evaluate_value`, η τιμή των ψευδωνύμων τύπων" +msgstr "" +":meth:`typing.TypeAliasType.evaluate_value`, η τιμή των ψευδωνύμων τύπων" #: library/annotationlib.rst:290 msgid ":meth:`typing.TypeVar.evaluate_bound`, the bound of type variables" @@ -582,43 +609,47 @@ msgstr ":meth:`typing.TypeVar.evaluate_bound`, το όριο των μεταβλ msgid "" ":meth:`typing.TypeVar.evaluate_constraints`, the constraints of type " "variables" -msgstr ":meth:`typing.TypeVar.evaluate_constraints`, οι περιορισμοί των μεταβλητών τύπου" +msgstr "" +":meth:`typing.TypeVar.evaluate_constraints`, οι περιορισμοί των μεταβλητών " +"τύπου" #: library/annotationlib.rst:293 msgid "" ":meth:`typing.TypeVar.evaluate_default`, the default value of type variables" -msgstr ":meth:`typing.TypeVar.evaluate_default`, η προεπιλεγμένη τιμή των μεταβλητών τύπου" +msgstr "" +":meth:`typing.TypeVar.evaluate_default`, η προεπιλεγμένη τιμή των μεταβλητών " +"τύπου" #: library/annotationlib.rst:295 msgid "" ":meth:`typing.ParamSpec.evaluate_default`, the default value of parameter " "specifications" msgstr "" -":meth:`typing.ParamSpec.evaluate_default`, η προεπιλεγμένη τιμή των προδιαγραφών " -"παραμέτρων" +":meth:`typing.ParamSpec.evaluate_default`, η προεπιλεγμένη τιμή των " +"προδιαγραφών παραμέτρων" #: library/annotationlib.rst:297 msgid "" ":meth:`typing.TypeVarTuple.evaluate_default`, the default value of type " "variable tuples" msgstr "" -":meth:`typing.TypeVarTuple.evaluate_default`, η προεπιλεγμένη τιμή των μεταβλητών τύπου " -"tuple" +":meth:`typing.TypeVarTuple.evaluate_default`, η προεπιλεγμένη τιμή των " +"μεταβλητών τύπου tuple" #: library/annotationlib.rst:300 msgid "" "*owner* is the object that owns the evaluate function, such as the type " "alias or type variable object." msgstr "" -"Το *owner* είναι το αντικείμενο που κατέχει τη συνάρτηση αξιολόγησης, όπως το " -"αντικείμενο ψευδωνύμου τύπου ή μεταβλητής τύπου." +"Το *owner* είναι το αντικείμενο που κατέχει τη συνάρτηση αξιολόγησης, όπως " +"το αντικείμενο ψευδωνύμου τύπου ή μεταβλητής τύπου." #: library/annotationlib.rst:303 msgid "" "*format* can be used to control the format in which the value is returned:" msgstr "" -"Το *format* μπορεί να χρησιμοποιηθεί για τον έλεγχο της μορφής στην οποία επιστρέφεται η " -"τιμή:" +"Το *format* μπορεί να χρησιμοποιηθεί για τον έλεγχο της μορφής στην οποία " +"επιστρέφεται η τιμή:" #: library/annotationlib.rst:305 msgid "" @@ -651,11 +682,12 @@ msgid "" "function can be retrieved with ``cls.__annotate__``. See :ref:`below " "` for an example using this function in a metaclass." msgstr "" -"Ανακτά τη :term:`συνάρτηση σχολιασμού ` από ένα λεξικό χώρου ονομάτων " -"κλάσης *namespace*. Επιστρέφει :const:`!None` αν ο χώρος ονομάτων δεν περιέχει συνάρτηση " -"σχολιασμού. Eίναι κυρίως χρήσιμο πριν η κλάση δημιουργηθεί πλήρως (π.χ., σε μια " -"μετάκληση)· μετά την ύπαρξη της κλάσης, η συνάρτηση σχολιασμού μπορεί να ανακτηθεί με " -"την ``cls.__annotate__``. Δείτε :ref:`παρακάτω ` για ένα " +"Ανακτά τη :term:`συνάρτηση σχολιασμού ` από ένα λεξικό " +"χώρου ονομάτων κλάσης *namespace*. Επιστρέφει :const:`!None` αν ο χώρος " +"ονομάτων δεν περιέχει συνάρτηση σχολιασμού. Eίναι κυρίως χρήσιμο πριν η " +"κλάση δημιουργηθεί πλήρως (π.χ., σε μια μετάκληση)· μετά την ύπαρξη της " +"κλάσης, η συνάρτηση σχολιασμού μπορεί να ανακτηθεί με την ``cls." +"__annotate__``. Δείτε :ref:`παρακάτω ` για ένα " "παράδειγμα χρήσης αυτής της συνάρτησης σε μια μετάκληση." #: library/annotationlib.rst:331 @@ -668,9 +700,10 @@ msgid "" "__annotate__` or :attr:`~object.__annotations__` attributes. Passing any " "other object raises :exc:`TypeError`." msgstr "" -"Το *obj* μπορεί να είναι μια καλέσιμη οντότητα, μία κλάση, ένα module ή άλλο αντικείμενο " -"με ιδιότητες :attr:`~object.__annotate__` ή :attr:`~object.__annotations__`. Το πέρασμα " -"οποιουδήποτε άλλου αντικειμένου κάνει raise την :exc:`TypeError`." +"Το *obj* μπορεί να είναι μια καλέσιμη οντότητα, μία κλάση, ένα module ή άλλο " +"αντικείμενο με ιδιότητες :attr:`~object.__annotate__` ή :attr:`~object." +"__annotations__`. Το πέρασμα οποιουδήποτε άλλου αντικειμένου κάνει raise " +"την :exc:`TypeError`." #: library/annotationlib.rst:337 msgid "" @@ -678,17 +711,17 @@ msgid "" "returned, and must be a member of the :class:`Format` enum or its integer " "equivalent. The different formats work as follows:" msgstr "" -"Η παράμετρος *format* ελέγχει τη μορφή στην οποία επιστρέφονται τα annotations και " -"πρέπει να είναι μέλος του enum :class:`Format` ή το ακέραιο ισοδύναμό του. Οι διάφορες " -"μορφές λειτουργούν ως εξής:" +"Η παράμετρος *format* ελέγχει τη μορφή στην οποία επιστρέφονται τα " +"annotations και πρέπει να είναι μέλος του enum :class:`Format` ή το ακέραιο " +"ισοδύναμό του. Οι διάφορες μορφές λειτουργούν ως εξής:" #: library/annotationlib.rst:341 msgid "" "VALUE: :attr:`!object.__annotations__` is tried first; if that does not " "exist, the :attr:`!object.__annotate__` function is called if it exists." msgstr "" -"VALUE: Δοκιμάζεται πρώτα το :attr:`!object.__annotations__`· αν αυτό δεν υπάρχει, " -"καλείται η συνάρτηση :attr:`!object.__annotate__` αν υπάρχει." +"VALUE: Δοκιμάζεται πρώτα το :attr:`!object.__annotations__`· αν αυτό δεν " +"υπάρχει, καλείται η συνάρτηση :attr:`!object.__annotate__` αν υπάρχει." #: library/annotationlib.rst:344 msgid "" @@ -697,10 +730,11 @@ msgid "" "function is called. If it does not exist either, :attr:`!object." "__annotations__` is tried again and any error from accessing it is re-raised." msgstr "" -"FORWARDREF: Αν το :attr:`!object.__annotations__` υπάρχει και μπορεί να αξιολογηθεί " -"επιτυχώς, χρησιμοποιείται· διαφορετικά, καλείται η συνάρτηση :attr:`!" -"object.__annotate__`. Αν ούτε αυτή υπάρχει, δοκιμάζεται ξανά το :attr:`!" -"object.__annotations__` και κάθε σφάλμα από την πρόσβαση σε αυτό γίνεται raise ξανά." +"FORWARDREF: Αν το :attr:`!object.__annotations__` υπάρχει και μπορεί να " +"αξιολογηθεί επιτυχώς, χρησιμοποιείται· διαφορετικά, καλείται η συνάρτηση :" +"attr:`!object.__annotate__`. Αν ούτε αυτή υπάρχει, δοκιμάζεται ξανά το :attr:" +"`!object.__annotations__` και κάθε σφάλμα από την πρόσβαση σε αυτό γίνεται " +"raise ξανά." #: library/annotationlib.rst:349 msgid "" @@ -711,12 +745,12 @@ msgid "" "back to using :attr:`~Format.VALUE`. If :attr:`~Format.VALUE` fails, the " "error from this call will be raised." msgstr "" -"Όταν καλείται το :attr:`!object.__annotate__`, καλείται πρώτα με " -"το :attr:`~Format.FORWARDREF`. Αν αυτό δεν είναι υλοποιημένο, στη συνέχεια ελέγχει αν " -"υποστηρίζεται το :attr:`~Format.VALUE_WITH_FAKE_GLOBALS` και το χρησιμοποιεί στο " -"περιβάλλον με τα ψεύτικα καθολικά. Αν καμία από αυτές τις μορφές δεν υποστηρίζεται, θα " -"καταφύγει στη χρήση του :attr:`~Format.VALUE`. Αν το :attr:`~Format.VALUE` αποτύχει, το " -"σφάλμα από αυτή την κλήση θα γίνει raise." +"Όταν καλείται το :attr:`!object.__annotate__`, καλείται πρώτα με το :attr:" +"`~Format.FORWARDREF`. Αν αυτό δεν είναι υλοποιημένο, στη συνέχεια ελέγχει αν " +"υποστηρίζεται το :attr:`~Format.VALUE_WITH_FAKE_GLOBALS` και το χρησιμοποιεί " +"στο περιβάλλον με τα ψεύτικα καθολικά. Αν καμία από αυτές τις μορφές δεν " +"υποστηρίζεται, θα καταφύγει στη χρήση του :attr:`~Format.VALUE`. Αν το :attr:" +"`~Format.VALUE` αποτύχει, το σφάλμα από αυτή την κλήση θα γίνει raise." #: library/annotationlib.rst:355 msgid "" @@ -724,9 +758,10 @@ msgid "" "otherwise, :attr:`!object.__annotations__` is used and stringified using :" "func:`annotations_to_string`." msgstr "" -"STRING: Αν υπάρχει το :attr:`!object.__annotate__`, καλείται πρώτο· διαφορετικά, " -"χρησιμοποιείται το :attr:`!object.__annotations__` και μετατρέπεται σε συμβολοσειρά " -"χρησιμοποιώντας την :func:`annotations_to_string`." +"STRING: Αν υπάρχει το :attr:`!object.__annotate__`, καλείται πρώτο· " +"διαφορετικά, χρησιμοποιείται το :attr:`!object.__annotations__` και " +"μετατρέπεται σε συμβολοσειρά χρησιμοποιώντας την :func:" +"`annotations_to_string`." #: library/annotationlib.rst:359 msgid "" @@ -738,12 +773,13 @@ msgid "" "`annotations_to_string`. If :attr:`~Format.VALUE` fails, the error from this " "call will be raised." msgstr "" -"Όταν καλείται το :attr:`!object.__annotate__`, καλείται πρώτα με :attr:`~Format.STRING`. " -"Αν αυτό δεν είναι υλοποιημένο, στη συνέχεια ελέγχει αν υποστηρίζεται " -"το :attr:`~Format.VALUE_WITH_FAKE_GLOBALS` και το χρησιμοποιεί στο περιβάλλον με τα " -"ψεύτικα καθολικά. Αν καμία από αυτές τις μορφές δεν υποστηρίζεται, θα καταφύγει στη " -"χρήση του :attr:`~Format.VALUE` με το αποτέλεσμα να μετατρέπεται χρησιμοποιώντας " -"την :func:`annotations_to_string`. Αν το :attr:`~Format.VALUE` αποτύχει, το σφάλμα από " +"Όταν καλείται το :attr:`!object.__annotate__`, καλείται πρώτα με :attr:" +"`~Format.STRING`. Αν αυτό δεν είναι υλοποιημένο, στη συνέχεια ελέγχει αν " +"υποστηρίζεται το :attr:`~Format.VALUE_WITH_FAKE_GLOBALS` και το χρησιμοποιεί " +"στο περιβάλλον με τα ψεύτικα καθολικά. Αν καμία από αυτές τις μορφές δεν " +"υποστηρίζεται, θα καταφύγει στη χρήση του :attr:`~Format.VALUE` με το " +"αποτέλεσμα να μετατρέπεται χρησιμοποιώντας την :func:" +"`annotations_to_string`. Αν το :attr:`~Format.VALUE` αποτύχει, το σφάλμα από " "αυτή την κλήση θα γίνει raise." #: library/annotationlib.rst:366 @@ -752,9 +788,9 @@ msgid "" "called; calling it twice on the same object will return two different but " "equivalent dicts." msgstr "" -"Επιστρέφει ένα λεξικό. Η :func:`!get_annotations` επιστρέφει ένα νέο λεξικό κάθε φορά " -"που καλείται· αν κληθεί δύο φορές στο ίδιο αντικείμενο θα επιστρέψει δύο διαφορετικά " -"αλλά ισοδύναμα λεξικά." +"Επιστρέφει ένα λεξικό. Η :func:`!get_annotations` επιστρέφει ένα νέο λεξικό " +"κάθε φορά που καλείται· αν κληθεί δύο φορές στο ίδιο αντικείμενο θα " +"επιστρέψει δύο διαφορετικά αλλά ισοδύναμα λεξικά." #: library/annotationlib.rst:370 msgid "This function handles several details for you:" @@ -767,10 +803,11 @@ msgid "" "(``from __future__ import annotations``). It is an error to set *eval_str* " "to true with formats other than :attr:`Format.VALUE`." msgstr "" -"Αν το *eval_str* είναι αληθές, οι τιμές τύπου :class:`!str` θα απομετατραπούν από " -"συμβολοσειρές χρησιμοποιώντας τη :func:`eval`. Προορίζεται για χρήση με annotations ως " -"συμβολοσειρές (``from __future__ import annotations``). Είναι λάθος να οριστεί το " -"*eval_str* ως αληθές με μορφές διαφορετικές από το :attr:`Format.VALUE`." +"Αν το *eval_str* είναι αληθές, οι τιμές τύπου :class:`!str` θα " +"απομετατραπούν από συμβολοσειρές χρησιμοποιώντας τη :func:`eval`. " +"Προορίζεται για χρήση με annotations ως συμβολοσειρές (``from __future__ " +"import annotations``). Είναι λάθος να οριστεί το *eval_str* ως αληθές με " +"μορφές διαφορετικές από το :attr:`Format.VALUE`." #: library/annotationlib.rst:377 msgid "" @@ -778,9 +815,9 @@ msgid "" "and methods always have an annotations dict; classes, modules, and other " "types of callables may not.)" msgstr "" -"Αν το *obj* δεν έχει annotations λεξικό, επιστρέφει ένα κενό λεξικό. (Οι συναρτήσεις και " -"οι μέθοδοι έχουν πάντα annotations λεξικό· οι κλάσεις, τα modules και άλλοι τύποι " -"καλέσιμων μπορεί να μην έχουν.)" +"Αν το *obj* δεν έχει annotations λεξικό, επιστρέφει ένα κενό λεξικό. (Οι " +"συναρτήσεις και οι μέθοδοι έχουν πάντα annotations λεξικό· οι κλάσεις, τα " +"modules και άλλοι τύποι καλέσιμων μπορεί να μην έχουν.)" #: library/annotationlib.rst:381 msgid "" @@ -788,24 +825,25 @@ msgid "" "metaclasses. If a class doesn't have its own annotations dict, returns an " "empty dict." msgstr "" -"Αγνοεί τα κληρονομημένα annotations σε κλάσεις, καθώς και τα annotations σε μετακλάσεις. " -"Αν μια κλάση δεν έχει το δικό της annotations λεξικό, επιστρέφει ένα κενό λεξικό." +"Αγνοεί τα κληρονομημένα annotations σε κλάσεις, καθώς και τα annotations σε " +"μετακλάσεις. Αν μια κλάση δεν έχει το δικό της annotations λεξικό, " +"επιστρέφει ένα κενό λεξικό." #: library/annotationlib.rst:384 msgid "" "All accesses to object members and dict values are done using ``getattr()`` " "and ``dict.get()`` for safety." msgstr "" -"Όλες οι προσβάσεις σε μέλη αντικειμένων και τιμές λεξικών γίνονται χρησιμοποιώντας τις " -"``getattr()`` και ``dict.get()`` για λόγους ασφαλείας." +"Όλες οι προσβάσεις σε μέλη αντικειμένων και τιμές λεξικών γίνονται " +"χρησιμοποιώντας τις ``getattr()`` και ``dict.get()`` για λόγους ασφαλείας." #: library/annotationlib.rst:387 msgid "" "*eval_str* controls whether or not values of type :class:`!str` are replaced " "with the result of calling :func:`eval` on those values:" msgstr "" -"Το *eval_str* ελέγχει αν οι τιμές τύπου :class:`!str` αντικαθίστανται ή όχι με το " -"αποτέλεσμα της κλήσης της :func:`eval` σε αυτές τις τιμές:" +"Το *eval_str* ελέγχει αν οι τιμές τύπου :class:`!str` αντικαθίστανται ή όχι " +"με το αποτέλεσμα της κλήσης της :func:`eval` σε αυτές τις τιμές:" #: library/annotationlib.rst:390 msgid "" @@ -814,18 +852,18 @@ msgid "" "`eval` raises an exception, it will unwind the stack past the :func:`!" "get_annotations` call.)" msgstr "" -"Αν το eval_str είναι αληθές, η :func:`eval` καλείται σε τιμές τύπου :class:`!str`. " -"(Σημειώστε ότι η :func:`!get_annotations` δεν πιάνει εξαιρέσεις· αν η :func:`eval` κάνει " -"raise μια εξαίρεση, θα ξετυλίξει τη στοίβα πέρα από την κλήση της :func:`!" -"get_annotations`.)" +"Αν το eval_str είναι αληθές, η :func:`eval` καλείται σε τιμές τύπου :class:`!" +"str`. (Σημειώστε ότι η :func:`!get_annotations` δεν πιάνει εξαιρέσεις· αν η :" +"func:`eval` κάνει raise μια εξαίρεση, θα ξετυλίξει τη στοίβα πέρα από την " +"κλήση της :func:`!get_annotations`.)" #: library/annotationlib.rst:394 msgid "" "If *eval_str* is false (the default), values of type :class:`!str` are " "unchanged." msgstr "" -"Αν το *eval_str* είναι ψευδές (η προεπιλογή), οι τιμές τύπου :class:`!str` παραμένουν " -"αμετάβλητες." +"Αν το *eval_str* είναι ψευδές (η προεπιλογή), οι τιμές τύπου :class:`!str` " +"παραμένουν αμετάβλητες." #: library/annotationlib.rst:397 msgid "" @@ -834,23 +872,26 @@ msgid "" "None`, this function may replace that value with a context-specific default, " "contingent on ``type(obj)``:" msgstr "" -"Τα *globals* και *locals* περνιούνται στην :func:`eval`· δείτε την τεκμηρίωση " -"της :func:`eval` για περισσότερες πληροφορίες. Αν το *globals* ή το *locals* " -"είναι :const:`!None`, αυτή η συνάρτηση μπορεί να αντικαταστήσει αυτή την τιμή με μια " -"προεπιλογή ειδική για το πλαίσιο, εξαρτώμενη από το ``type(obj)``:" +"Τα *globals* και *locals* περνιούνται στην :func:`eval`· δείτε την " +"τεκμηρίωση της :func:`eval` για περισσότερες πληροφορίες. Αν το *globals* ή " +"το *locals* είναι :const:`!None`, αυτή η συνάρτηση μπορεί να αντικαταστήσει " +"αυτή την τιμή με μια προεπιλογή ειδική για το πλαίσιο, εξαρτώμενη από το " +"``type(obj)``:" #: library/annotationlib.rst:402 msgid "If *obj* is a module, *globals* defaults to ``obj.__dict__``." -msgstr "Αν το *obj* είναι module, η προεπιλογή για το *globals* είναι ``obj.__dict__``." +msgstr "" +"Αν το *obj* είναι module, η προεπιλογή για το *globals* είναι ``obj." +"__dict__``." #: library/annotationlib.rst:403 msgid "" "If *obj* is a class, *globals* defaults to ``sys.modules[obj.__module__]." "__dict__`` and *locals* defaults to the *obj* class namespace." msgstr "" -"Αν το *obj* είναι κλάση, η προεπιλογή για το *globals* είναι " -"``sys.modules[obj.__module__].__dict__`` και η προεπιλογή για το *locals* είναι ο χώρος " -"ονομάτων κλάσης του *obj*." +"Αν το *obj* είναι κλάση, η προεπιλογή για το *globals* είναι ``sys." +"modules[obj.__module__].__dict__`` και η προεπιλογή για το *locals* είναι ο " +"χώρος ονομάτων κλάσης του *obj*." #: library/annotationlib.rst:406 msgid "" @@ -859,11 +900,11 @@ msgid "" "func:`functools.update_wrapper`) or a :class:`functools.partial` object, it " "is unwrapped until a non-wrapped function is found." msgstr "" -"Αν το *obj* είναι καλέσιμο, η προεπιλογή για το *globals* είναι :attr:`obj.__globals__ " -"`, παρόλο που αν το *obj* είναι μια περιτυλιγμένη συνάρτηση " -"(χρησιμοποιώντας :func:`functools.update_wrapper`) ή ένα αντικείμενο " -"της :class:`functools.partial`, ξετυλίγεται μέχρι να βρεθεί μια μη περιτυλιγμένη " -"συνάρτηση." +"Αν το *obj* είναι καλέσιμο, η προεπιλογή για το *globals* είναι :attr:`obj." +"__globals__ `, παρόλο που αν το *obj* είναι μια " +"περιτυλιγμένη συνάρτηση (χρησιμοποιώντας :func:`functools.update_wrapper`) ή " +"ένα αντικείμενο της :class:`functools.partial`, ξετυλίγεται μέχρι να βρεθεί " +"μια μη περιτυλιγμένη συνάρτηση." #: library/annotationlib.rst:412 msgid "" @@ -871,9 +912,10 @@ msgid "" "annotations dict of any object. See :ref:`annotations-howto` for more " "information on annotations best practices." msgstr "" -"Η κλήση της :func:`!get_annotations` είναι η βέλτιστη πρακτική για την πρόσβαση στο " -"λεξικό των annotations οποιουδήποτε αντικειμένου. Δείτε το :ref:`annotations-howto` για " -"περισσότερες πληροφορίες σχετικά με τις βέλτιστες πρακτικές των annotations." +"Η κλήση της :func:`!get_annotations` είναι η βέλτιστη πρακτική για την " +"πρόσβαση στο λεξικό των annotations οποιουδήποτε αντικειμένου. Δείτε το :ref:" +"`annotations-howto` για περισσότερες πληροφορίες σχετικά με τις βέλτιστες " +"πρακτικές των annotations." #: library/annotationlib.rst:416 msgid "" @@ -895,8 +937,8 @@ msgid "" msgstr "" "Μετατρέπει μια αυθαίρετη τιμή Python σε μια μορφή κατάλληλη για χρήση από τη " "μορφή :attr:`~Format.STRING`. Αυτή καλεί την :func:`repr` για τα περισσότερα " -"αντικείμενα, αλλά έχει ειδικό χειρισμό για ορισμένα αντικείμενα, όπως τα αντικείμενα " -"τύπου." +"αντικείμενα, αλλά έχει ειδικό χειρισμό για ορισμένα αντικείμενα, όπως τα " +"αντικείμενα τύπου." #: library/annotationlib.rst:431 msgid "" @@ -906,11 +948,12 @@ msgid "" "string representation for other objects that contain values that are " "commonly encountered in annotations." msgstr "" -"Αυτό προορίζεται ως βοηθητική λειτουργία για συναρτήσεις σχολιασμού παρεχόμενες από τον " -"χρήστη που υποστηρίζουν τη μορφή :attr:`~Format.STRING`, αλλά δεν έχουν πρόσβαση στον " -"κώδικα που δημιουργεί τα annotations. Μπορεί επίσης να χρησιμοποιηθεί για να παρέχει μια " -"φιλική προς τον χρήστη αναπαράσταση συμβολοσειράς για άλλα αντικείμενα που περιέχουν " -"τιμές που συναντώνται συνήθως σε annotations." +"Αυτό προορίζεται ως βοηθητική λειτουργία για συναρτήσεις σχολιασμού " +"παρεχόμενες από τον χρήστη που υποστηρίζουν τη μορφή :attr:`~Format.STRING`, " +"αλλά δεν έχουν πρόσβαση στον κώδικα που δημιουργεί τα annotations. Μπορεί " +"επίσης να χρησιμοποιηθεί για να παρέχει μια φιλική προς τον χρήστη " +"αναπαράσταση συμβολοσειράς για άλλα αντικείμενα που περιέχουν τιμές που " +"συναντώνται συνήθως σε annotations." #: library/annotationlib.rst:441 msgid "Recipes" @@ -933,17 +976,18 @@ msgid "" "format will usually be best, because this allows the annotations to refer to " "names that cannot yet be resolved when the class is created." msgstr "" -"Μια :ref:`μετακλάση ` μπορεί να θέλει να επιθεωρήσει ή ακόμη και να " -"τροποποιήσει τα annotations στο σώμα μιας κλάσης κατά τη δημιουργία της κλάσης. Αυτό " -"απαιτεί την ανάκτηση των annotations από το λεξικό χώρου ονομάτων της κλάσης. Για " -"κλάσεις που δημιουργούνται με το ``from __future__ import annotations``, τα annotations " -"θα βρίσκονται στο κλειδί ``__annotations__`` του λεξικού. Για άλλες κλάσεις με " -"annotations, η :func:`get_annotate_from_class_namespace` μπορεί να χρησιμοποιηθεί για να " -"πάρει τη συνάρτηση σχολιασμού, και η :func:`call_annotate_function` μπορεί να " -"χρησιμοποιηθεί για να την καλέσει και να ανακτήσει τα annotations. Η χρήση της " -"μορφής :attr:`~Format.FORWARDREF` συνήθως θα είναι η καλύτερη, επειδή επιτρέπει στα " -"annotations να αναφέρονται σε ονόματα που δεν μπορούν ακόμη να επιλυθούν όταν " -"δημιουργείται η κλάση." +"Μια :ref:`μετακλάση ` μπορεί να θέλει να επιθεωρήσει ή ακόμη " +"και να τροποποιήσει τα annotations στο σώμα μιας κλάσης κατά τη δημιουργία " +"της κλάσης. Αυτό απαιτεί την ανάκτηση των annotations από το λεξικό χώρου " +"ονομάτων της κλάσης. Για κλάσεις που δημιουργούνται με το ``from __future__ " +"import annotations``, τα annotations θα βρίσκονται στο κλειδί " +"``__annotations__`` του λεξικού. Για άλλες κλάσεις με annotations, η :func:" +"`get_annotate_from_class_namespace` μπορεί να χρησιμοποιηθεί για να πάρει τη " +"συνάρτηση σχολιασμού, και η :func:`call_annotate_function` μπορεί να " +"χρησιμοποιηθεί για να την καλέσει και να ανακτήσει τα annotations. Η χρήση " +"της μορφής :attr:`~Format.FORWARDREF` συνήθως θα είναι η καλύτερη, επειδή " +"επιτρέπει στα annotations να αναφέρονται σε ονόματα που δεν μπορούν ακόμη να " +"επιλυθούν όταν δημιουργείται η κλάση." #: library/annotationlib.rst:459 msgid "" @@ -951,9 +995,9 @@ msgid "" "that calls the original annotate function, makes any necessary adjustments, " "and returns the result." msgstr "" -"Για να τροποποιήσετε τα annotations, είναι καλύτερο να δημιουργήσετε μια περιτυλιγμένη " -"συνάρτηση σχολιασμού που καλεί την αρχική συνάρτηση σχολιασμού, κάνει τις απαραίτητες " -"προσαρμογές και επιστρέφει το αποτέλεσμα." +"Για να τροποποιήσετε τα annotations, είναι καλύτερο να δημιουργήσετε μια " +"περιτυλιγμένη συνάρτηση σχολιασμού που καλεί την αρχική συνάρτηση " +"σχολιασμού, κάνει τις απαραίτητες προσαρμογές και επιστρέφει το αποτέλεσμα." #: library/annotationlib.rst:463 msgid "" @@ -961,8 +1005,8 @@ msgid "" "ClassVar` annotations from the class and puts them in a separate attribute:" msgstr "" "Παρακάτω είναι ένα παράδειγμα μιας μετακλάσης, που φιλτράρει όλα τα " -"annotations :class:`typing.ClassVar` από την κλάση και τα τοποθετεί σε ένα ξεχωριστό " -"χαρακτηριστικό:" +"annotations :class:`typing.ClassVar` από την κλάση και τα τοποθετεί σε ένα " +"ξεχωριστό χαρακτηριστικό:" #: library/annotationlib.rst:466 msgid "" @@ -1044,7 +1088,8 @@ msgstr "" " classvars = {key: annotations[key] for key in classvar_keys}\n" "\n" " def wrapped_annotate(format):\n" -" annos = annotationlib.call_annotate_function(annotate, format, owner=typ)\n" +" annos = annotationlib.call_annotate_function(annotate, format, " +"owner=typ)\n" " return {key: value for key, value in annos.items() if key not in " "classvar_keys}\n" "\n" @@ -1054,9 +1099,11 @@ msgstr "" " typ = super().__new__(mcls, name, bases, ns)\n" "\n" " if wrapped_annotate is not None:\n" -" # Wrap the original __annotate__ with a wrapper that removes ClassVars\n" +" # Wrap the original __annotate__ with a wrapper that removes " +"ClassVars\n" " typ.__annotate__ = wrapped_annotate\n" -" typ.classvars = classvars # Store the ClassVars in a separate attribute\n" +" typ.classvars = classvars # Store the ClassVars in a separate " +"attribute\n" " return typ" #: library/annotationlib.rst:514 @@ -1069,9 +1116,9 @@ msgid "" "the annotation, but the implementation strategy used means that it is not " "always possible to recover the exact source code." msgstr "" -"Η μορφή :attr:`~Format.STRING` προορίζεται για να προσεγγίζει τον πηγαίο κώδικα του " -"σχολιασμού, αλλά η στρατηγική υλοποίησης που χρησιμοποιείται σημαίνει ότι δεν είναι " -"πάντα δυνατή η ανάκτηση του ακριβούς πηγαίου κώδικα." +"Η μορφή :attr:`~Format.STRING` προορίζεται για να προσεγγίζει τον πηγαίο " +"κώδικα του σχολιασμού, αλλά η στρατηγική υλοποίησης που χρησιμοποιείται " +"σημαίνει ότι δεν είναι πάντα δυνατή η ανάκτηση του ακριβούς πηγαίου κώδικα." #: library/annotationlib.rst:520 msgid "" @@ -1079,9 +1126,10 @@ msgid "" "present in the compiled code, including comments, whitespace, " "parenthesization, and operations that get simplified by the compiler." msgstr "" -"Πρώτον, ο μετατροπέας συμβολοσειράς φυσικά δεν μπορεί να ανακτήσει πληροφορίες που δεν " -"υπάρχουν στον μεταγλωττισμένο κώδικα, συμπεριλαμβανομένων των σχολίων, των λευκών " -"χαρακτήρων, των παρενθέσεων και των πράξεων που απλοποιούνται από τον μεταγλωττιστή." +"Πρώτον, ο μετατροπέας συμβολοσειράς φυσικά δεν μπορεί να ανακτήσει " +"πληροφορίες που δεν υπάρχουν στον μεταγλωττισμένο κώδικα, " +"συμπεριλαμβανομένων των σχολίων, των λευκών χαρακτήρων, των παρενθέσεων και " +"των πράξεων που απλοποιούνται από τον μεταγλωττιστή." #: library/annotationlib.rst:524 msgid "" @@ -1092,12 +1140,13 @@ msgid "" "enough that it is possible to achieve arbitrary code execution even with no " "access to any globals or builtins. For example:" msgstr "" -"Δεύτερον, ο μετατροπέας συμβολοσειράς μπορεί να παρεμβάλει σχεδόν όλες τις πράξεις που " -"περιλαμβάνουν ονόματα που αναζητούνται σε κάποια εμβέλεια, αλλά δεν μπορεί να παρεμβάλει " -"πράξεις που λειτουργούν πλήρως πάνω σε σταθερές. Ως επακόλουθο, αυτό σημαίνει επίσης ότι " -"δεν είναι ασφαλές να ζητείται η μορφή ``STRING`` σε μη αξιόπιστο κώδικα: η Python είναι " -"αρκετά ισχυρή ώστε να μπορεί να επιτευχθεί αυθαίρετη εκτέλεση κώδικα ακόμη και χωρίς " -"πρόσβαση σε global ή builtins. Για παράδειγμα:" +"Δεύτερον, ο μετατροπέας συμβολοσειράς μπορεί να παρεμβάλει σχεδόν όλες τις " +"πράξεις που περιλαμβάνουν ονόματα που αναζητούνται σε κάποια εμβέλεια, αλλά " +"δεν μπορεί να παρεμβάλει πράξεις που λειτουργούν πλήρως πάνω σε σταθερές. Ως " +"επακόλουθο, αυτό σημαίνει επίσης ότι δεν είναι ασφαλές να ζητείται η μορφή " +"``STRING`` σε μη αξιόπιστο κώδικα: η Python είναι αρκετά ισχυρή ώστε να " +"μπορεί να επιτευχθεί αυθαίρετη εκτέλεση κώδικα ακόμη και χωρίς πρόσβαση σε " +"global ή builtins. Για παράδειγμα:" #: library/annotationlib.rst:530 msgid "" @@ -1108,8 +1157,8 @@ msgid "" "Hello world\n" "{'x': 'None'}" msgstr "" -">>> def f(x: (1).__class__.__base__.__subclasses__()[-1].__init__.__builtins__[\"print\"]" -"(\"Hello world\")): pass\n" +">>> def f(x: (1).__class__.__base__.__subclasses__()[-1].__init__." +"__builtins__[\"print\"](\"Hello world\")): pass\n" "...\n" ">>> annotationlib.get_annotations(f, format=annotationlib.Format.STRING)\n" "Hello world\n" @@ -1120,8 +1169,9 @@ msgid "" "This particular example works as of the time of writing, but it relies on " "implementation details and is not guaranteed to work in the future." msgstr "" -"Αυτό το συγκεκριμένο παράδειγμα λειτουργεί κατά τη στιγμή της συγγραφής, αλλά βασίζεται " -"σε λεπτομέρειες υλοποίησης και δεν είναι εγγυημένο ότι θα λειτουργεί στο μέλλον." +"Αυτό το συγκεκριμένο παράδειγμα λειτουργεί κατά τη στιγμή της συγγραφής, " +"αλλά βασίζεται σε λεπτομέρειες υλοποίησης και δεν είναι εγγυημένο ότι θα " +"λειτουργεί στο μέλλον." #: library/annotationlib.rst:542 msgid "" @@ -1131,10 +1181,11 @@ msgid "" "code; others are unsupported, meaning that they may result in incorrect " "output or an error." msgstr "" -"Μεταξύ των διαφορετικών ειδών εκφράσεων που υπάρχουν στην Python, όπως αναπαρίστανται " -"από το module :mod:`ast`, ορισμένες εκφράσεις υποστηρίζονται, που σημαίνει ότι η μορφή " -"``STRING`` μπορεί γενικά να ανακτήσει τον αρχικό πηγαίο κώδικα· άλλες δεν " -"υποστηρίζονται, που σημαίνει ότι μπορεί να οδηγήσουν σε λανθασμένη έξοδο ή σφάλμα." +"Μεταξύ των διαφορετικών ειδών εκφράσεων που υπάρχουν στην Python, όπως " +"αναπαρίστανται από το module :mod:`ast`, ορισμένες εκφράσεις υποστηρίζονται, " +"που σημαίνει ότι η μορφή ``STRING`` μπορεί γενικά να ανακτήσει τον αρχικό " +"πηγαίο κώδικα· άλλες δεν υποστηρίζονται, που σημαίνει ότι μπορεί να " +"οδηγήσουν σε λανθασμένη έξοδο ή σφάλμα." #: library/annotationlib.rst:547 msgid "The following are supported (sometimes with caveats):" @@ -1153,8 +1204,8 @@ msgid "" ":class:`ast.Invert` (``~``), :class:`ast.UAdd` (``+``), and :class:`ast." "USub` (``-``) are supported" msgstr "" -"Οι :class:`ast.Invert` (``~``), :class:`ast.UAdd` (``+``) και :class:`ast.USub` (``-``) " -"υποστηρίζονται" +"Οι :class:`ast.Invert` (``~``), :class:`ast.UAdd` (``+``) και :class:`ast." +"USub` (``-``) υποστηρίζονται" #: library/annotationlib.rst:553 msgid ":class:`ast.Not` (``not``) is not supported" @@ -1189,8 +1240,8 @@ msgid "" ":class:`ast.Is`, :class:`ast.IsNot`, :class:`ast.In`, and :class:`ast.NotIn` " "are not supported" msgstr "" -"Οι :class:`ast.Is`, :class:`ast.IsNot`, :class:`ast.In` και :class:`ast.NotIn` δεν " -"υποστηρίζονται" +"Οι :class:`ast.Is`, :class:`ast.IsNot`, :class:`ast.In` και :class:`ast." +"NotIn` δεν υποστηρίζονται" #: library/annotationlib.rst:563 msgid ":class:`ast.Call` (except when using ``**`` unpacking)" @@ -1202,9 +1253,9 @@ msgid "" "for example, escape sequences in strings are lost; hexadecimal numbers are " "converted to decimal)" msgstr "" -":class:`ast.Constant` (αν και όχι η ακριβής αναπαράσταση της σταθεράς· για παράδειγμα, " -"οι ακολουθίες διαφυγής σε συμβολοσειρές χάνονται· οι δεκαεξαδικοί αριθμοί μετατρέπονται " -"σε δεκαδικούς)" +":class:`ast.Constant` (αν και όχι η ακριβής αναπαράσταση της σταθεράς· για " +"παράδειγμα, οι ακολουθίες διαφυγής σε συμβολοσειρές χάνονται· οι " +"δεκαεξαδικοί αριθμοί μετατρέπονται σε δεκαδικούς)" #: library/annotationlib.rst:566 msgid ":class:`ast.Attribute` (assuming the value is not a constant)" @@ -1239,16 +1290,16 @@ msgid "" "The following are unsupported, but throw an informative error when " "encountered by the stringifier:" msgstr "" -"Τα ακόλουθα δεν υποστηρίζονται, αλλά εγείρει ένα ενημερωτικό σφάλμα όταν συναντώνται από " -"τον μετατροπέα συμβολοσειράς:" +"Τα ακόλουθα δεν υποστηρίζονται, αλλά εγείρει ένα ενημερωτικό σφάλμα όταν " +"συναντώνται από τον μετατροπέα συμβολοσειράς:" #: library/annotationlib.rst:577 msgid "" ":class:`ast.FormattedValue` (f-strings; error is not detected if conversion " "specifiers like ``!r`` are used)" msgstr "" -":class:`ast.FormattedValue` (f-strings· το σφάλμα δεν ανιχνεύεται αν χρησιμοποιούνται " -"προδιαγραφές μετατροπής όπως ``!r``)" +":class:`ast.FormattedValue` (f-strings· το σφάλμα δεν ανιχνεύεται αν " +"χρησιμοποιούνται προδιαγραφές μετατροπής όπως ``!r``)" #: library/annotationlib.rst:579 msgid ":class:`ast.JoinedStr` (f-strings)" @@ -1290,7 +1341,8 @@ msgstr ":class:`ast.GeneratorExp`" msgid "" "The following are disallowed in annotation scopes and therefore not relevant:" msgstr "" -"Τα ακόλουθα δεν επιτρέπονται σε εμβέλειες των annotations και επομένως δεν είναι σχετικά:" +"Τα ακόλουθα δεν επιτρέπονται σε εμβέλειες των annotations και επομένως δεν " +"είναι σχετικά:" #: library/annotationlib.rst:593 msgid ":class:`ast.NamedExpr` (``:=``)" @@ -1321,17 +1373,19 @@ msgid "" "literals or that use unsupported expression types may raise exceptions when " "evaluated using the :attr:`~Format.FORWARDREF` format." msgstr "" -"Η μορφή :attr:`~Format.FORWARDREF` στοχεύει στην παραγωγή πραγματικών τιμών όσο το " -"δυνατόν περισσότερο, αντικαθιστώντας οτιδήποτε δεν μπορεί να επιλυθεί με αντικείμενα " -"της :class:`ForwardRef`. Επηρεάζεται γενικά από τους ίδιους περιορισμούς με τη " -"μορφή :attr:`~Format.STRING`: τα annotations που εκτελούν πράξεις σε literals ή που " -"χρησιμοποιούν μη υποστηριζόμενους τύπους εκφράσεων μπορεί να κάνουν raise εξαιρέσεις " -"όταν αξιολογούνται χρησιμοποιώντας τη μορφή :attr:`~Format.FORWARDREF`." +"Η μορφή :attr:`~Format.FORWARDREF` στοχεύει στην παραγωγή πραγματικών τιμών " +"όσο το δυνατόν περισσότερο, αντικαθιστώντας οτιδήποτε δεν μπορεί να επιλυθεί " +"με αντικείμενα της :class:`ForwardRef`. Επηρεάζεται γενικά από τους ίδιους " +"περιορισμούς με τη μορφή :attr:`~Format.STRING`: τα annotations που εκτελούν " +"πράξεις σε literals ή που χρησιμοποιούν μη υποστηριζόμενους τύπους εκφράσεων " +"μπορεί να κάνουν raise εξαιρέσεις όταν αξιολογούνται χρησιμοποιώντας τη " +"μορφή :attr:`~Format.FORWARDREF`." #: library/annotationlib.rst:609 msgid "Below are a few examples of the behavior with unsupported expressions:" msgstr "" -"Παρακάτω είναι μερικά παραδείγματα της συμπεριφοράς με μη υποστηριζόμενες εκφράσεις:" +"Παρακάτω είναι μερικά παραδείγματα της συμπεριφοράς με μη υποστηριζόμενες " +"εκφράσεις:" #: library/annotationlib.rst:611 msgid "" @@ -1379,15 +1433,17 @@ msgid "" "functions in the :mod:`typing` module that work with annotations, such as :" "func:`typing.get_type_hints`." msgstr "" -"Η περισσότερη λειτουργικότητα σε αυτό το module περιλαμβάνει την εκτέλεση κώδικα που " -"σχετίζεται με annotations, ο οποίος μπορεί στη συνέχεια να κάνει αυθαίρετα πράγματα. Για " -"παράδειγμα, η :func:`get_annotations` μπορεί να καλέσει μια αυθαίρετη :term:`συνάρτηση " -"σχολιασμού `, και η :meth:`ForwardRef.evaluate` μπορεί να καλέσει " -"την :func:`eval` σε μια αυθαίρετη συμβολοσειρά. Ο κώδικας που περιέχεται σε έναν " -"σχολιασμό μπορεί να κάνει αυθαίρετες κλήσεις συστήματος, να μπει σε ατέρμονο βρόχο ή να " -"εκτελέσει οποιαδήποτε άλλη λειτουργία. Αυτό ισχύει επίσης για κάθε πρόσβαση στο " -"χαρακτηριστικό :attr:`~object.__annotations__`, και για διάφορες συναρτήσεις στο " -"module :mod:`typing` που εργάζονται με annotations, όπως η :func:`typing.get_type_hints`." +"Η περισσότερη λειτουργικότητα σε αυτό το module περιλαμβάνει την εκτέλεση " +"κώδικα που σχετίζεται με annotations, ο οποίος μπορεί στη συνέχεια να κάνει " +"αυθαίρετα πράγματα. Για παράδειγμα, η :func:`get_annotations` μπορεί να " +"καλέσει μια αυθαίρετη :term:`συνάρτηση σχολιασμού `, και " +"η :meth:`ForwardRef.evaluate` μπορεί να καλέσει την :func:`eval` σε μια " +"αυθαίρετη συμβολοσειρά. Ο κώδικας που περιέχεται σε έναν σχολιασμό μπορεί να " +"κάνει αυθαίρετες κλήσεις συστήματος, να μπει σε ατέρμονο βρόχο ή να " +"εκτελέσει οποιαδήποτε άλλη λειτουργία. Αυτό ισχύει επίσης για κάθε πρόσβαση " +"στο χαρακτηριστικό :attr:`~object.__annotations__`, και για διάφορες " +"συναρτήσεις στο module :mod:`typing` που εργάζονται με annotations, όπως η :" +"func:`typing.get_type_hints`." #: library/annotationlib.rst:641 msgid "" @@ -1399,10 +1455,11 @@ msgid "" "``__annotations__`` dictionary or directly creating a :class:`ForwardRef` " "object." msgstr "" -"Κάθε ζήτημα ασφαλείας, που προκύπτει από αυτό, ισχύει επίσης αμέσως μετά την εισαγωγή " -"κώδικα που μπορεί να περιέχει μη αξιόπιστα annotations: η εισαγωγή κώδικα μπορεί πάντα " -"να προκαλέσει την εκτέλεση αυθαίρετων λειτουργιών. Ωστόσο, είναι μη ασφαλές να γίνονται " -"αποδεκτές συμβολοσειρές ή άλλη είσοδος από μη αξιόπιστη πηγή και να περνιούνται σε " -"οποιοδήποτε από τα API για ενδοσκόπηση των annotations, για παράδειγμα με την " -"επεξεργασία ενός λεξικού ``__annotations__`` ή την άμεση δημιουργία ενός αντικειμένου " -"της :class:`ForwardRef`." +"Κάθε ζήτημα ασφαλείας, που προκύπτει από αυτό, ισχύει επίσης αμέσως μετά την " +"εισαγωγή κώδικα που μπορεί να περιέχει μη αξιόπιστα annotations: η εισαγωγή " +"κώδικα μπορεί πάντα να προκαλέσει την εκτέλεση αυθαίρετων λειτουργιών. " +"Ωστόσο, είναι μη ασφαλές να γίνονται αποδεκτές συμβολοσειρές ή άλλη είσοδος " +"από μη αξιόπιστη πηγή και να περνιούνται σε οποιοδήποτε από τα API για " +"ενδοσκόπηση των annotations, για παράδειγμα με την επεξεργασία ενός λεξικού " +"``__annotations__`` ή την άμεση δημιουργία ενός αντικειμένου της :class:" +"`ForwardRef`." From eea00fdde408fbf41956e82b85468ef319fd4ba6 Mon Sep 17 00:00:00 2001 From: vadal Date: Sat, 6 Jun 2026 20:03:56 +0300 Subject: [PATCH 3/5] add dictionary words, fix typo --- dictionaries/main.txt | 7 +++++++ library/annotationlib.po | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/dictionaries/main.txt b/dictionaries/main.txt index 5412618c0..d537f1b76 100644 --- a/dictionaries/main.txt +++ b/dictionaries/main.txt @@ -2374,3 +2374,10 @@ zoneinfo ό ότι ώρο +καλέσιμων +απομετατραπούν +Eίναι +κανονικοποιήσεις +proxies +fake +προσπελαύνονται \ No newline at end of file diff --git a/library/annotationlib.po b/library/annotationlib.po index 4e29d0665..71d5c6a93 100644 --- a/library/annotationlib.po +++ b/library/annotationlib.po @@ -428,7 +428,7 @@ msgstr "" "αντιπροσωπεύοντας τους καθολικούς και τοπικούς χώρους ονομάτων στους οποίους " "αξιολογείται το όνομα. Η παράμετρος *type_params* είναι σχετική για αντικείμενα που " "δημιουργούνται χρησιμοποιώντας την εγγενή σύνταξη για :ref:`γενικευμένες κλάσεις " -"` και :ref:`συναρτήσεις `. Είναι ένα tulle " +"` και :ref:`συναρτήσεις `. Είναι ένα tuple " "από :ref:`παραμέτρους τύπου ` που είναι εντός εμβέλειας όσο η αναφορά προς " "τα εμπρός αξιολογείται. Για παράδειγμα, αν αξιολογείται μία :class:`~ForwardRef` που " "ανακτήθηκε από έναν σχολιασμό, που βρίσκεται στον χώρο ονομάτων κλάσης μιας γενικευμένης " From dfd1d1a630e6e5cacd8cbbcb29e4ad65814f3bf4 Mon Sep 17 00:00:00 2001 From: vadal Date: Sat, 6 Jun 2026 20:05:03 +0300 Subject: [PATCH 4/5] add dictionary words, fix typo --- library/annotationlib.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/annotationlib.po b/library/annotationlib.po index ed93447a9..7f471df36 100644 --- a/library/annotationlib.po +++ b/library/annotationlib.po @@ -447,7 +447,7 @@ msgstr "" "ονομάτων στους οποίους αξιολογείται το όνομα. Η παράμετρος *type_params* " "είναι σχετική για αντικείμενα που δημιουργούνται χρησιμοποιώντας την εγγενή " "σύνταξη για :ref:`γενικευμένες κλάσεις ` και :ref:" -"`συναρτήσεις `. Είναι ένα tulle από :ref:`παραμέτρους " +"`συναρτήσεις `. Είναι ένα tuple από :ref:`παραμέτρους " "τύπου ` που είναι εντός εμβέλειας όσο η αναφορά προς τα εμπρός " "αξιολογείται. Για παράδειγμα, αν αξιολογείται μία :class:`~ForwardRef` που " "ανακτήθηκε από έναν σχολιασμό, που βρίσκεται στον χώρο ονομάτων κλάσης μιας " From d26271e29f274358b7067ac3ceaa4debf0eda65f Mon Sep 17 00:00:00 2001 From: "pre-commit-ci-lite[bot]" <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Date: Sat, 6 Jun 2026 17:07:05 +0000 Subject: [PATCH 5/5] [pre-commit.ci lite] apply automatic fixes --- dictionaries/main.txt | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/dictionaries/main.txt b/dictionaries/main.txt index d537f1b76..f6cb5a307 100644 --- a/dictionaries/main.txt +++ b/dictionaries/main.txt @@ -106,6 +106,7 @@ Excel Exception Exceptions Explorer +Eίναι Fall Fedora Fido @@ -778,6 +779,7 @@ f facto factories factory +fake false fatal favoring @@ -1311,6 +1313,7 @@ property provided provides provisional +proxies proxy pty publicly @@ -1867,6 +1870,7 @@ zoneinfo απαρχαιώσεως απεγκαταστήστε απεγκατασταθεί +απομετατραπούν αποσειριοποίηση αποσειριοποίησης αποσυρμένη @@ -2045,9 +2049,11 @@ zoneinfo καλέσιμη καλέσιμο καλέσιμου +καλέσιμων καλέστει καμμία κανονικοποίηση +κανονικοποιήσεις κανονικοποιείται κανονικοποιούν κανονικοποιούνται @@ -2231,6 +2237,7 @@ zoneinfo προσομοιώσεών προσομοιώσουμε προσπελαύνεται +προσπελαύνονται προσπελαύνουν προσποιηθείτε προτάσσοντάς @@ -2374,10 +2381,3 @@ zoneinfo ό ότι ώρο -καλέσιμων -απομετατραπούν -Eίναι -κανονικοποιήσεις -proxies -fake -προσπελαύνονται \ No newline at end of file