From c9dc536c62dee2fb4a8a97f3974103c6f5c7de67 Mon Sep 17 00:00:00 2001 From: skpanagiotis Date: Mon, 16 Dec 2024 20:56:57 +0200 Subject: [PATCH 01/19] Add faq/library.po --- faq/library.po | 431 +++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 381 insertions(+), 50 deletions(-) diff --git a/faq/library.po b/faq/library.po index dacd26ff..24fe3de4 100644 --- a/faq/library.po +++ b/faq/library.po @@ -9,28 +9,29 @@ msgstr "" "Project-Id-Version: Python 3.12\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-03-14 12:51+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" +"PO-Revision-Date: 2024-12-10 14:07+0300\n" +"Last-Translator: Panagiotis Skias \n" +"Language-Team: PyGreece \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: faq/library.rst:5 msgid "Library and Extension FAQ" -msgstr "" +msgstr "Συχνές ερωτήσεις βιβλιοθήκης και επέκτασης" #: faq/library.rst:8 msgid "Contents" -msgstr "" +msgstr "Περιεχόμενα" #: faq/library.rst:12 msgid "General Library Questions" -msgstr "" +msgstr "Γενικές Ερωτήσεις Βιβλιοθήκης" #: faq/library.rst:15 msgid "How do I find a module or application to perform task X?" msgstr "" +"Πως μπορώ να βρω ένα module ή μια εφαρμογή για να εκτελέσω την εργασία Χ;" #: faq/library.rst:17 msgid "" @@ -38,6 +39,9 @@ msgid "" "relevant standard library module. (Eventually you'll learn what's in the " "standard library and will be able to skip this step.)" msgstr "" +"Ελέγξτε την :ref:`the Library Reference ` για να δείτε αν " +"υπάρχει ένα σχετικό τυπικό module. (Τελικά θα μάθετε τι υπάρχει στην τυπική " +"βιβλιοθήκη και θα μπορείτε να παραλείψετε αυτό το βήμα.)" #: faq/library.rst:21 msgid "" @@ -46,10 +50,15 @@ msgid "" "engine. Searching for \"Python\" plus a keyword or two for your topic of " "interest will usually find something helpful." msgstr "" +"Για πακέτα τρίτων, πραγματοποιήστε αναζήτηση στο `Python Package Index " +"`_ ή δοκιμάστε στο `Google `_ ή σε " +"κάποια άλλη μηχανή αναζήτησης ιστού. Η αναζήτηση με τον όρο \"Python\" μαζί " +"με μια ή δύο λέξεις κλειδιά για το θέμα που σας ενδιαφέρει συνήθως θα βγάλει " +"κάποιο χρήσιμο αποτέλεσμα." #: faq/library.rst:28 msgid "Where is the math.py (socket.py, regex.py, etc.) source file?" -msgstr "" +msgstr "Που βρίσκεται το πηγαίο αρχείο math.py (socket.py, regex.py, κ.λπ.);" #: faq/library.rst:30 msgid "" @@ -59,29 +68,38 @@ msgid "" "file:`mathmodule.c`, somewhere in a C source directory (not on the Python " "Path)." msgstr "" +"Εάν δεν μπορείτε να βρείτε ένα πηγαίο αρχείο για ένα module, μπορεί να είναι " +"ένα ενσωματωμένο (built-in) module ή ένα module που φορτώνεται δυναμικά " +"υλοποιημένο σε C, C++ ή άλλη μεταγλωττισμένη γλώσσα. Σε αυτή την περίπτωση " +"μπορεί να μην έχετε το αρχείο προέλευσης ή μπορεί να είναι κάτι σαν :file:" +"`mathmodule.c`, κάπου σε έναν κατάλογο προέλευσης C (όχι στην διαδρομή της " +"Python)." #: faq/library.rst:35 msgid "There are (at least) three kinds of modules in Python:" -msgstr "" +msgstr "Υπάρχουν (το λιγότερο) τριών ειδών modules στην Python:" #: faq/library.rst:37 msgid "modules written in Python (.py);" -msgstr "" +msgstr "modules γραμμένα σε Python (.py):" #: faq/library.rst:38 msgid "" "modules written in C and dynamically loaded (.dll, .pyd, .so, .sl, etc);" msgstr "" +"modules γραμμένα σε C και φορτώνονται δυναμικά (.dll, .pyd, .so, .sl, κ.λπ.):" #: faq/library.rst:39 msgid "" "modules written in C and linked with the interpreter; to get a list of " "these, type::" msgstr "" +"modules γραμμένα σε C και συνδεδεμένα με τον διερμηνέα: για να λάβετε μια " +"λίστα από αυτά, πληκτρολογήστε::" #: faq/library.rst:47 msgid "How do I make a Python script executable on Unix?" -msgstr "" +msgstr "Πως δημιουργώ ένα εκτελέσιμο Python Script στο Unix;" #: faq/library.rst:49 msgid "" @@ -89,24 +107,33 @@ msgid "" "first line must begin with ``#!`` followed by the path of the Python " "interpreter." msgstr "" +"Θα πρέπει να κάνετε δύο πράγματα: η λειτουργία του script αρχείου πρέπει να " +"είναι εκτελέσιμη και η πρώτη γραμμή θα πρέπει αν ξεκινά με ``#!`` " +"ακολουθούμενη από τη διαδρομή του διερμηνέα της Python." #: faq/library.rst:53 msgid "" "The first is done by executing ``chmod +x scriptfile`` or perhaps ``chmod " "755 scriptfile``." msgstr "" +"Το πρώτο γίνεται με την εκτέλεση του ``chmod +x scriptfile`` ή ίσως ``chmod " +"755 scriptfile``." #: faq/library.rst:56 msgid "" "The second can be done in a number of ways. The most straightforward way is " "to write ::" msgstr "" +"Το δεύτερο μπορεί να γίνει με μια σειρά από ποικίλους τρόπους. Ο πιο απλός " +"τρόπος είναι να γράψετε ::" #: faq/library.rst:61 msgid "" "as the very first line of your file, using the pathname for where the Python " "interpreter is installed on your platform." msgstr "" +"ως η πρώτη γραμμή του αρχείου σας, χρησιμοποιώντας το όνομα διαδρομής για το " +"πού είναι εγκατεστημένος ο διερμηνέας Python στην πλατφόρμα σας." #: faq/library.rst:64 msgid "" @@ -115,6 +142,10 @@ msgid "" "variants support the following, assuming the Python interpreter is in a " "directory on the user's :envvar:`PATH`::" msgstr "" +"Εάν θέλετε το script να είναι ανεξάρτητο, από το που ζει ο διερμηνέας της " +"Python, μπορείτε να χρησιμοποιήσετε το πρόγραμμα :program:`env`. Σχεδόν " +"όλες οι παραλλαγές Unix υποστηρίζουν τα ακόλουθα, υποθέτοντας ότι ο " +"διερμηνέας Python βρίσκεται σε έναν κατάλογο στο :envvar:`PATH` του χρήστη::" #: faq/library.rst:71 msgid "" @@ -122,6 +153,9 @@ msgid "" "scripts is often very minimal, so you need to use the actual absolute " "pathname of the interpreter." msgstr "" +"*Μην* το κάνετε αυτό για CGI scripts. Η μεταβλητή :envvar:`PATH` για τα CGI " +"scripts είναι συχνά πολύ ελάχιστη, επομένως πρέπει να χρησιμοποιήσετε το " +"πραγματικό απόλυτο όνομα διαδρομής του διερμηνέα." #: faq/library.rst:75 msgid "" @@ -129,16 +163,22 @@ msgid "" "env` program fails; or there's no env program at all. In that case, you can " "try the following hack (due to Alex Rezinsky):" msgstr "" +"Περιστασιακά, το περιβάλλον ενός χρήστη είναι τόσο γεμάτο που το πρόγραμμα :" +"program:`/usr/bin/env` αποτυγχάνει ή δεν υπάρχει καθόλου πρόγραμμα env. Σε " +"αυτήν την περίπτωση, μπορείτε να δοκιμάσετε το ακόλουθο hack (λόγω του Alex " +"Rezinsky):" #: faq/library.rst:86 msgid "" "The minor disadvantage is that this defines the script's __doc__ string. " "However, you can fix that by adding ::" msgstr "" +"Το, ελάχιστης σημασίας, μειονέκτημα είναι ότι αυτό καθορίζει τη συμβολοσειρά " +"__doc__ του script. Ωστόσο, μπορείτε να το διορθώσετε προσθέτοντας ::" #: faq/library.rst:94 msgid "Is there a curses/termcap package for Python?" -msgstr "" +msgstr "Υπάρχει ένα curses/termcap πακέτο για την Python;" #: faq/library.rst:98 msgid "" @@ -147,6 +187,10 @@ msgid "" "compiled by default. (Note that this is not available in the Windows " "distribution -- there is no curses module for Windows.)" msgstr "" +"Για παραλλαγές Unix: Η τυπική διανομή του πηγαίου της Python συνοδεύεται από " +"ένα curses module στον υποκατάλογο :source:`Modules`, αν και δεν έχει " +"μεταγλωττιστεί από προεπιλογή. (Λάβετε υπόψη ότι αυτό δεν είναι διαθέσιμο " +"στη διανομή των Windows -- δεν υπάρχει curses module για Windows.)" #: faq/library.rst:103 msgid "" @@ -157,38 +201,48 @@ msgid "" "but there don't seem to be any currently maintained OSes that fall into this " "category." msgstr "" +"Το module :mod:`curses` υποστηρίζει βασικές curses λειτουργίες καθώς και " +"πολλές πρόσθετες λειτουργίες από ncurses και SYSV curses, όπως χρώμα, " +"υποστήριξη εναλλακτικού συνόλου χαρακτήρων, pads και υποστήριξη ποντικιού. " +"Αυτό σημαίνει ότι το module δεν είναι συμβατό με λειτουργικά συστήματα που " +"έχουνε μόνο BSD curses, αλλά δεν φαίνεται να υπάρχουν επί του παρόντος " +"διατηρημένα λειτουργικά συστήματα που να εμπίπτουν σε αυτήν την κατηγορία." #: faq/library.rst:111 msgid "Is there an equivalent to C's onexit() in Python?" -msgstr "" +msgstr "Υπάρχει κάτι ισοδύναμο με την onexit() της C στην Python;" #: faq/library.rst:113 msgid "" "The :mod:`atexit` module provides a register function that is similar to " "C's :c:func:`!onexit`." msgstr "" +"Το module :mod:`atexit` παρέχει μια συνάρτηση καταχωρητή παρόμοια με τη " +"συνάρτηση :c:func:`!onexit` της C." #: faq/library.rst:118 msgid "Why don't my signal handlers work?" -msgstr "" +msgstr "Γιατί δεν λειτουργούν οι χειριστές σήματος μου;" #: faq/library.rst:120 msgid "" "The most common problem is that the signal handler is declared with the " "wrong argument list. It is called as ::" msgstr "" +"Το πιο συνηθισμένο πρόβλημα είναι ότι ο χειριστής σήματος δηλώνεται με λάθος " +"λίστα ορισμάτων. Ονομάζεται ως ::" #: faq/library.rst:125 msgid "so it should be declared with two parameters::" -msgstr "" +msgstr "οπότε θα πρέπει να δηλωθεί με δύο παραμέτρους::" #: faq/library.rst:132 msgid "Common tasks" -msgstr "" +msgstr "Κοινές εργασίες" #: faq/library.rst:135 msgid "How do I test a Python program or component?" -msgstr "" +msgstr "Πως μπορώ να τεστάρω ένα Python πρόγραμμα ή ένα Python component;" #: faq/library.rst:137 msgid "" @@ -196,12 +250,17 @@ msgid "" "examples in the docstrings for a module and runs them, comparing the output " "with the expected output given in the docstring." msgstr "" +"Η Python συνοδεύεται από δύο frameworks για τεστ. To module :mod:`doctest` " +"βρίσκει παραδείγματα στα docstrings για ένα module και τα εκτελεί, " +"συγκρίνοντας την έξοδο με την αναμενόμενη έξοδο που δίνεται στο docstring." #: faq/library.rst:141 msgid "" "The :mod:`unittest` module is a fancier testing framework modelled on Java " "and Smalltalk testing frameworks." msgstr "" +"Το module :mod:`unittest` είναι ένα πιο εντυπωσιακό framework που έχει " +"σχεδιαστεί με βάση τα frameworks για τεστ της Java και του Smalltalk." #: faq/library.rst:144 msgid "" @@ -213,14 +272,24 @@ msgid "" "avoid depending on mutating global variables, since this makes testing much " "more difficult to do." msgstr "" +"Για να κάνετε τα τεστ σας ευκολότερα θα πρέπει να χρησιμοποιείτε μια καλή " +"αρθρωτή σχεδίαση στο πρόγραμμα σας. Το πρόγραμμα σας θα πρέπει να έχει όλες " +"σχεδόν τις λειτουργίες ενσωματωμένες είτε σε συναρτήσεις είτε σε μεθόδους " +"κλάσης - και αυτό μερικές φορές έχει το εκπληκτικό και ευχάριστο αποτέλεσμα " +"να κάνει το πρόγραμμα να τρέχει πιο γρήγορα (γιατί οι τοπικές προσβάσεις " +"μεταβλητών είναι πιο γρήγορες από τις καθολικές προσβάσεις). Επιπλέον, το " +"πρόγραμμα θα πρέπει να αποφεύγει την εξάρτηση από μεταλλάξεις παγκόσμιων " +"μεταβλητών, καθώς αυτό κάνει τη δοκιμή πολύ πιο δύσκολη." #: faq/library.rst:152 msgid "The \"global main logic\" of your program may be as simple as ::" msgstr "" +"Η \"παγκόσμια κύρια λογική\" του προγράμματος σας μπορεί να είναι τόσο απλή " +"όσο ::" #: faq/library.rst:157 msgid "at the bottom of the main module of your program." -msgstr "" +msgstr "στο κάτω μέρος του κύριου module τους προγράμματός σας." #: faq/library.rst:159 msgid "" @@ -233,12 +302,24 @@ msgid "" "the \"production code\", since this makes it easy to find bugs and even " "design flaws earlier." msgstr "" +"Από τη στιγμή που το πρόγραμμα σας οργανωθεί ως μια συλλογή από συναρτήσεις " +"και κλάσεις που υλοποιούν μια διαδικασία, θα πρέπει να γράψετε τεστ " +"συναρτήσεις που εκτελούν τις αντίστοιχες διαδικασίες. Μια τεστ σουίτα που " +"αυτοματοποιεί μια ακολουθία από tests μπορεί να συσχετιστεί με κάθε module. " +"Αυτό ακούγεται σαν πολλή δουλειά, αλλά επειδή η Python είναι τόσο σύντομη " +"και ευέλικτη, αυτό είναι εκπληκτικά εύκολο. Μπορείτε να κάνετε την συγγραφή " +"κώδικα πολύ πιο ευχάριστη και διασκεδαστική γράφοντας τις δοκιμαστικές " +"συναρτήσεις σας παράλληλα με τον \"κώδικα παραγωγής\", καθώς αυτό " +"διευκολύνει την εύρεση σφαλμάτων και ακόμη και ελαττώματα σχεδιασμού " +"νωρίτερα." #: faq/library.rst:167 msgid "" "\"Support modules\" that are not intended to be the main module of a program " "may include a self-test of the module. ::" msgstr "" +"\"Modules υποστήριξης\" που δεν προορίζονται να είναι το κύριο module ενός " +"προγράμματος μπορεί να περιλαμβάνουν αυτοέλεγχο της ενότητας::" #: faq/library.rst:173 msgid "" @@ -246,10 +327,13 @@ msgid "" "when the external interfaces are unavailable by using \"fake\" interfaces " "implemented in Python." msgstr "" +"Ακόμη και προγράμματα που αλληλεπιδρούν με πολύπλοκες εξωτερικές διεπαφές " +"μπορούν να δοκιμαστούν όταν οι εξωτερικές διεπαφές δεν είναι διαθέσιμες " +"χρησιμοποιώντας \"τεχνητές\" διεπαφές υλοποιημένες στην Python." #: faq/library.rst:179 msgid "How do I create documentation from doc strings?" -msgstr "" +msgstr "Πως δημιουργώ τεκμηρίωση από doc strings;" #: faq/library.rst:181 msgid "" @@ -258,24 +342,32 @@ msgid "" "docstrings is `epydoc `_. `Sphinx `_ can also include docstring content." msgstr "" +"Το module :mod:`pydoc` μπορεί να δημιουργήσει HTML από τα doc strings στον " +"πηγαίο κώδικα Python σας. Μια εναλλακτική λύση για τη δημιουργία μιας " +"τεκμηρίωσης API αποκλειστικά με docstrings είναι το `epydoc `_. `Sphinx `_ μπορεί επίσης " +"να περιλαμβάνει docstring περιεχόμενο." #: faq/library.rst:188 msgid "How do I get a single keypress at a time?" -msgstr "" +msgstr "Πως μπορώ να λάβω μόνο ένα πάτημα κουμπιού κάθε φορά;" #: faq/library.rst:190 msgid "" "For Unix variants there are several solutions. It's straightforward to do " "this using curses, but curses is a fairly large module to learn." msgstr "" +"Για τις παραλλαγές του Unix υπάρχουν πολλές λύσεις. Είναι απλό να κάνετε " +"αυτό χρησιμοποιώντας curses, αλλά τα curses είναι ένα αρκετά μεγάλο module " +"για εκμάθηση." #: faq/library.rst:234 msgid "Threads" -msgstr "" +msgstr "Νήματα (Threads)" #: faq/library.rst:237 msgid "How do I program using threads?" -msgstr "" +msgstr "Πώς μπορώ να προγραμματίσω χρησιμοποιώντας νήματα(threads);" #: faq/library.rst:239 msgid "" @@ -283,22 +375,31 @@ msgid "" "module. The :mod:`threading` module builds convenient abstractions on top of " "the low-level primitives provided by the :mod:`_thread` module." msgstr "" +"Βεβαιωθείτε ότι χρησιμοποιείτε το module :mod:`threading` και όχι το module :" +"mod:`_thread`. Το module :mod:`threading` δημιουργεί βολικές αφηρημένες " +"έννοιες πάνω από τα πρωτόγονα χαμηλού επιπέδου που παρέχονται από το module :" +"mod:`_thread`." #: faq/library.rst:245 msgid "None of my threads seem to run: why?" -msgstr "" +msgstr "Κανένα από τα νήματα (threads) μου δεν φαίνεται να εκτελείται: γιατί;" #: faq/library.rst:247 msgid "" "As soon as the main thread exits, all threads are killed. Your main thread " "is running too quickly, giving the threads no time to do any work." msgstr "" +"Μόλις γίνει έξοδος από το κύριο νήμα, τερματίζονται όλα τα νήματα. Το κύριο " +"νήμα τρέχει πολύ γρήγορα, χωρίς να δίνεται χρόνος στα νήματα να κάνουν " +"οποιαδήποτε εργασία." #: faq/library.rst:250 msgid "" "A simple fix is to add a sleep to the end of the program that's long enough " "for all the threads to finish::" msgstr "" +"Μια απλή λύση είναι να προσθέσετε ένα sleep στο τέλος που προγράμματος που " +"είναι αρκετό για να τερματιστούν όλα τα νήματα::" #: faq/library.rst:265 msgid "" @@ -306,10 +407,16 @@ msgid "" "run sequentially, one at a time! The reason is that the OS thread scheduler " "doesn't start a new thread until the previous thread is blocked." msgstr "" +"Αλλά τώρα (σε πολλές πλατφόρμες) τα νήματα δεν εκτελούνται παράλληλα, αλλά " +"φαίνεται να εκτελούνται διαδοχικά, ένα κάθε φορά! Ο λόγος είναι ότι ο " +"προγραμματιστής νημάτων του λειτουργικού συστήματος δεν ξεκινά ένα νέο νήμα " +"μέχρι να αποκλειστεί το προηγούμενο νήμα." #: faq/library.rst:269 msgid "A simple fix is to add a tiny sleep to the start of the run function::" msgstr "" +"Μια απλή λύση είναι να προσθέσετε ένα μικρό sleep στην αρχή της λειτουργίας " +"εκτέλεσης::" #: faq/library.rst:282 msgid "" @@ -319,16 +426,26 @@ msgid "" "the queue when it finishes, and let the main thread read as many tokens from " "the queue as there are threads." msgstr "" +"Αντί να προσπαθείτε να μαντέψετε μια καλή τιμή καθυστέρησης για την :func:" +"`time.sleep`, είναι καλύτερα να χρησιμοποιείτε κάποιο είδος μηχανισμού " +"σηματοφόρου. Μια ιδέα είναι να χρησιμοποιήσετε το module :mod:`queue` για " +"να δημιουργήσετε ένα αντικείμενο ουράς, αφήνοντας το κάθε νήμα να προσθέτει " +"ένα token στην ουρά όταν ολοκληρωθεί, και να αφήνει στο κύριο νήμα να " +"διαβάσει τόσα tokens από την ουρά όσα είναι και τα νήματα." #: faq/library.rst:290 msgid "How do I parcel out work among a bunch of worker threads?" msgstr "" +"Πως μπορώ να μοιράσω την εργασία σε ένα σωρό από νήματα για αυτήν την " +"εργασία;" #: faq/library.rst:292 msgid "" "The easiest way is to use the :mod:`concurrent.futures` module, especially " "the :mod:`~concurrent.futures.ThreadPoolExecutor` class." msgstr "" +"Ο ευκολότερο τρόπος είναι να χρησιμοποιήσετε το module :mod:`concurrent." +"futures`, ειδικά την κλάση :mod:`~concurrent.futures.ThreadPoolExecutor`." #: faq/library.rst:295 msgid "" @@ -339,24 +456,33 @@ msgid "" "``.get()`` method to return them. The class will take care of the locking " "necessary to ensure that each job is handed out exactly once." msgstr "" +"Ή, ένα θέλετε καλό έλεγχο στον αλγόριθμο αποστολής, μπορείτε να γράψετε τη " +"δική σας λογική με μη αυτόματο τρόπο. Χρησιμοποιήστε το module :mod:`queue` " +"για να δημιουργήσετε μια ουρά που περιέχει μια λίστα εργασιών. Η κλάση :" +"class:`~queue.Queue` διατηρεί μια λίστα αντικειμένων και έχει μια μέθοδο ``." +"put(obj)`` που προσθέτει στοιχεία στην ουρά και μια μέθοδο ``.get()`` για " +"επιστροφή. Η κλάση θα φροντίσει για το κλείδωμα που είναι απαραίτητο για να " +"διασφαλίσει ότι κάθε εργασία θα παραδοθεί ακριβώς μία φορά." #: faq/library.rst:302 msgid "Here's a trivial example::" -msgstr "" +msgstr "Ακολουθεί ένα ασήμαντο παράδειγμα::" #: faq/library.rst:340 msgid "When run, this will produce the following output:" -msgstr "" +msgstr "Κατά την εκτέλεση, αυτό θα παράγει την ακόλουθη έξοδο:" #: faq/library.rst:358 msgid "" "Consult the module's documentation for more details; the :class:`~queue." "Queue` class provides a featureful interface." msgstr "" +"Συμβουλευτείτε την τεκμηρίωση του module για περισσότερες λεπτομέρειες· η " +"κλάση :class:`~queue.Queue` παρέχει μια χαρακτηριστική διεπαφή." #: faq/library.rst:363 msgid "What kinds of global value mutation are thread-safe?" -msgstr "" +msgstr "Ποια είδη global μετάλλαξης τιμής είναι ασφαλή για νήμα(thread);" #: faq/library.rst:365 msgid "" @@ -367,6 +493,13 @@ msgid "" "instruction and therefore all the C implementation code reached from each " "instruction is therefore atomic from the point of view of a Python program." msgstr "" +"Ένα :term:`global interpreter lock` (GIL) χρησιμοποιείται εσωτερικά για να " +"διασφαλιστεί ότι μόνο ένα νήμα εκτελείται στο Python VM κάθε φορά. Γενικά, " +"η Python προσφέρει εναλλαγή μεταξύ νημάτων μόνο μεταξύ εντολών bytecode· το " +"πόσο συχνά γίνεται αυτή η εναλλαγή καθορίζεται από την :func:`sys." +"setswitchinterval`. Κάθε εντολή bytecode και επομένως όλος ο κώδικας " +"υλοποίησης C που φτάνει από κάθε εντολή είναι επομένως ατομικός από την " +"άποψη ενός προγράμματος Python." #: faq/library.rst:372 msgid "" @@ -375,16 +508,23 @@ msgid "" "shared variables of built-in data types (ints, lists, dicts, etc) that " "\"look atomic\" really are." msgstr "" +"Θεωρητικά, αυτό σημαίνει ότι μια ακριβώς λογιστική απαιτεί ακριβή κατανόηση " +"της εφαρμογής bytecode PVM. Στην πράξη, σημαίνει ότι οι λειτουργίες σε " +"κοινόχρηστες μεταβλητές ενσωματωμένων δεδομένων (ακέραιοι, λίστες, λεξικά, κ." +"λπ.) που \"φαίνονται ατομικά\" πραγματικά είναι." #: faq/library.rst:377 msgid "" "For example, the following operations are all atomic (L, L1, L2 are lists, " "D, D1, D2 are dicts, x, y are objects, i, j are ints)::" msgstr "" +"Για παράδειγμα, οι ακόλουθες πράξεις είναι όλες ατομικές (L, L1, L2 είναι " +"λίστες, D, D1, D2 είναι λεξικά, x, y είναι αντικείμενα, i, j είναι " +"ακέραιοι)::" #: faq/library.rst:392 msgid "These aren't::" -msgstr "" +msgstr "Αυτά δεν είναι::" #: faq/library.rst:399 msgid "" @@ -393,10 +533,15 @@ msgid "" "can affect things. This is especially true for the mass updates to " "dictionaries and lists. When in doubt, use a mutex!" msgstr "" +"Οι λειτουργίες που αντικαθιστούν άλλα αντικείμενα ενδέχεται να καλέσουν αυτά " +"τα άλλα αντικείμενα της :meth:`~object.__del__` όταν ο αριθμός αναφοράς τους " +"φτάσει στο μηδέν και αυτό μπορεί να επηρεάσει πράγματα. Αυτό ισχύει " +"ιδιαίτερα για τις μαζικές ενημερώσεις σε λεξικά και λίστες. Σε περίπτωση " +"αμφιβολίας, χρησιμοποιήστε ένα mutex!" #: faq/library.rst:406 msgid "Can't we get rid of the Global Interpreter Lock?" -msgstr "" +msgstr "Δεν μπορούμε να απαλλαγούμε από την Global Interpreter Lock;" #: faq/library.rst:410 msgid "" @@ -405,6 +550,11 @@ msgid "" "multi-threaded Python program effectively only uses one CPU, due to the " "insistence that (almost) all Python code can only run while the GIL is held." msgstr "" +"Ο :term:`global interpreter lock` (GIL) θεωρείται συχνά ως εμπόδιο για την " +"ανάπτυξη της Python σε υψηλής τεχνολογίας μηχανήματα διακομιστών με " +"πολυεπεξεργαστές, επειδή ένα πρόγραμμα Python με πολλά νήματα χρησιμοποιεί " +"αποτελεσματικά μόνο μία CPU, λόγω της επιμονής ότι (σχεδόν) όλος ο κώδικας " +"της Python μπορεί να εκτελεστεί μόνο όσο διατηρείται το GIL." #: faq/library.rst:415 msgid "" @@ -417,6 +567,14 @@ msgid "" "due to the amount of fine-grained locking necessary to compensate for the " "removal of the GIL." msgstr "" +"Πίσω στις μέρες της Python 1.5, ο Greg Stein υλοποίησε πραγματικά ένα " +"ολοκληρωμένο σύνολο επιδιορθώσεων (οι επιδιορθώσεις \"ελεύθερου νήματος\") " +"που αφαίρεσε το GIL και το αντικατέστησε με ένα άριστα προσεγμένο κλειδωμένο " +"thread. Ο Adam Olsen έκανε πρόσφατα ένα παρόμοιο πείραμα στο έργο `python-" +"safethread `_. " +"Δυστυχώς, και τα δύο πειράματα εμφάνισαν απότομη πτώση στην απόδοση ενός " +"νήματος (τουλάχιστον 30% πιο αργή), λόγω της ποσότητας του προσεγμένου " +"κλειδώματος που απαιτείται για την αντιστάθμιση της αφαίρεσης του GIL." #: faq/library.rst:423 msgid "" @@ -428,6 +586,13 @@ msgid "" "module provides a lower-level API in case you want more control over " "dispatching of tasks." msgstr "" +"Αυτό δεν σημαίνει ότι δεν μπορείτε να κάνετε καλή χρήση της Python σε " +"μηχανές πολλαπλών CPU! Απλώς πρέπει να είστε δημιουργικοί μοιράζοντας την " +"εργασία μεταξύ πολλαπλών *διεργασιών* και όχι πολλών *νημάτων*. Η κλάση :" +"class:`~concurrent.futures.ProcessPoolExecutor` στο νέο module :mod:" +"`concurrent.futures`, παρέχει έναν εύκολο τρόπο για να το κάνετε αυτό· Το " +"module :mod:`multiprocessing` παρέχει ένα API χαμηλότερου επιπέδου σε " +"περίπτωση που θέλετε περισσότερο έλεγχο στην αποστολή των εργασιών." #: faq/library.rst:431 msgid "" @@ -437,6 +602,11 @@ msgid "" "work done. Some standard library modules such as :mod:`zlib` and :mod:" "`hashlib` already do this." msgstr "" +"Η συνετή χρήση των επεκτάσεων C βοηθάει επίσης· εάν χρησιμοποιείτε μια " +"επέκταση C για να εκτελέσετε μια χρονοβόρα εργασία, η επέκταση μπορεί να " +"απελευθερώσει το GIL ενώ το νήμα εκτέλεσης βρίσκεται στον κώδικα C και να " +"επιτρέψει σε άλλα νήματα να ολοκληρώσουν κάποια εργασία. Ορισμένα τυπικά " +"module βιβλιοθήκης όπως :mod:`zlib` και :mod:`hashlib` το κάνουν ήδη αυτό." #: faq/library.rst:437 msgid "" @@ -449,6 +619,16 @@ msgid "" "types have their own free list; these free lists would have to be moved to " "the interpreter state. And so on." msgstr "" +"Έχει προταθεί ότι το GIL θα πρέπει να είναι ένα κλείδωμα ανά κατάσταση " +"διερμηνέα αντί να είναι πραγματικά καθολικό∙ τότε οι διερμηνείς δεν θα " +"μπορούν να μοιράζονται αντικείμενα. Δυστυχώς, ούτε αυτό είναι πιθανό να " +"συμβεί. Θα ήταν τεράστιος όγκος δουλειάς, επειδή πολλές υλοποιήσεις " +"αντικειμένων επί του παρόντος έχουν παγκόσμια κατάσταση. Για παράδειγμα, " +"μικροί ακέραιοι αριθμοί και σύντομες συμβολοσειρές αποθηκεύονται στην κρυφή " +"μνήμη∙ αυτές οι κρυφές μνήμες θα πρέπει να μετακινηθούν στην κατάσταση " +"διερμηνέα. Άλλοι τύποι αντικειμένων έχουν τη δική τους κενή λίστα∙ αυτές οι " +"κενές λίστες θα πρέπει να μετακινηθούν στην κατάσταση διερμηνέα. Και ούτω " +"καθεξής." #: faq/library.rst:446 msgid "" @@ -457,20 +637,29 @@ msgid "" "extensions are being written at a faster rate than you can convert them to " "store all their global state in the interpreter state." msgstr "" +"Και αμφιβάλλω ότι μπορεί να γίνει ακόμη και σε πεπερασμένο χρόνο, επειδή το " +"ίδιο πρόβλημα υπάρχει για τις επεκτάσεις τρίτων. Είναι πιθανό ότι οι " +"επεκτάσεις τρίτων γράφονται με ταχύτερο ρυθμό από ό,τι μπορείτε να τις " +"μετατρέψετε για να αποθηκεύσετε όλη την καθολική τους κατάσταση στην " +"κατάσταση διερμηνέα." #: faq/library.rst:451 msgid "" "And finally, once you have multiple interpreters not sharing any state, what " "have you gained over running each interpreter in a separate process?" msgstr "" +"Και τέλος, από τη στιγμή που έχετε πολλούς διερμηνείς που δεν μοιράζονται " +"καμία κατάσταση, τι έχετε κερδίσει από τη λειτουργία κάθε διερμηνέα σε μια " +"ξεχωριστή διαδικασία;" #: faq/library.rst:456 msgid "Input and Output" -msgstr "" +msgstr "Είσοδος και Έξοδος" #: faq/library.rst:459 msgid "How do I delete a file? (And other file questions...)" msgstr "" +"Πώς μπορώ να διαγράψω ένα αρχείο; (Και άλλες ερωτήσεις για το αρχείο...)" #: faq/library.rst:461 msgid "" @@ -478,6 +667,10 @@ msgid "" "see the :mod:`os` module. The two functions are identical; :func:`~os." "unlink` is simply the name of the Unix system call for this function." msgstr "" +"Χρησιμοποιήστε τα ``os.remove(filename)`` ή ``os.unlink(filename)`` ∙ για " +"τεκμηρίωση, ανατρέξτε στο module :mod:`os`. Οι δύο συναρτήσεις είναι ίδιες∙ " +"η :func:`~os.unlink` είναι απλώς το όνομα της κλήσης συστήματος Unix για " +"αυτήν τη λειτουργία." #: faq/library.rst:465 msgid "" @@ -487,10 +680,18 @@ msgid "" "directories as long as they're empty; if you want to delete an entire " "directory tree and its contents, use :func:`shutil.rmtree`." msgstr "" +"Για να καταργήσετε έναν κατάλογο, χρησιμοποιήστε τη :func:`os.rmdir` ∙ " +"χρησιμοποιήστε τη :func:`os.mkdir` για να δημιουργήσετε έναν. Το ``os." +"makedirs(path)`` θα δημιουργήσει τυχόν ενδιάμεσους καταλόγους στο ``path`` " +"που δεν υπάρχουν. Το ``os.removedirs(path)`` θα αφαιρέσει τους ενδιάμεσους " +"καταλόγους εφόσον είναι κενοί∙ εάν θέλετε να διαγράψετε ολόκληρο δέντρο " +"καταλόγου και τα περιεχόμενα του, χρησιμοποιήστε τη :func:`shutil.rmtree`." #: faq/library.rst:471 msgid "To rename a file, use ``os.rename(old_path, new_path)``." msgstr "" +"Για να μετονομάσετε ένα αρχείο, χρησιμοποιήστε το ``os.rename(old_path, " +"new_path)``." #: faq/library.rst:473 msgid "" @@ -499,6 +700,11 @@ msgid "" "There's also ``os.ftruncate(fd, offset)`` for files opened with :func:`os." "open`, where *fd* is the file descriptor (a small integer)." msgstr "" +"Για να περικόψετε ένα αρχείο, ανοίξτε το χρησιμοποιώντας ``f = " +"open(filename, \"rb+\")``, και χρησιμοποιήστε το ``f.truncate(offset)``∙ " +"μετατόπιση των προεπιλογών στην τρέχουσα θέση αναζήτησης. Υπάρχει επίσης το " +"``os.ftruncate(fd, offset)`` για αρχεία που ανοίγουν με :func:`os.open`, " +"όπου *fd* είναι ο περιγραφέας αρχείου (ένας μικρός ακέραιος)." #: faq/library.rst:478 msgid "" @@ -506,10 +712,13 @@ msgid "" "files including :func:`~shutil.copyfile`, :func:`~shutil.copytree`, and :" "func:`~shutil.rmtree`." msgstr "" +"Το module :mod:`shutil` περιέχει επίσης έναν αριθμό λειτουργιών για εργασία " +"σε αρχεία, όπως :func:`~shutil.copyfile`, :func:`~shutil.copytree`, και :" +"func:`~shutil.rmtree`." #: faq/library.rst:484 msgid "How do I copy a file?" -msgstr "" +msgstr "Πως αντιγράφω ένα αρχείο;" #: faq/library.rst:486 msgid "" @@ -521,10 +730,17 @@ msgid "" "permissions and metadata, though using :func:`shutil.copy2` instead will " "preserve most (though not all) of it." msgstr "" +"Το module :mod:`shutil` περιέχει μια συνάρτηση :func:`~shutil.copyfile`. " +"Σημειώστε ότι στους τόμους NTFS των Windows, δεν αντιγράφει `alternate data " +"streams `_ " +"ούτε `resource forks `__ σε " +"τόμους macOS HFS+, αν και οι δύο χρησιμοποιούνται πλέον σπάνια. Επίσης δεν " +"αντιγράφει δικαιώματα αρχείων και μεταδεδομένα, αν και η χρήση :func:`shutil." +"copy2` θα διατηρήσει το μεγαλύτερο μέρος (αν και όχι όλο) από αυτό." #: faq/library.rst:497 msgid "How do I read (or write) binary data?" -msgstr "" +msgstr "Πώς διαβάζω (ή γράφω) δυαδικά δεδομένα;" #: faq/library.rst:499 msgid "" @@ -532,12 +748,18 @@ msgid "" "`struct` module. It allows you to take a string containing binary data " "(usually numbers) and convert it to Python objects; and vice versa." msgstr "" +"Για να διαβάσετε ή να γράψετε σύνθετες μορφές δυαδικών δεδομένων, είναι " +"καλύτερο να χρησιμοποιήσετε το module :mod:`struct`. Σας επιτρέπει να " +"πάρετε μια συμβολοσειρά που περιέχει δυαδικά δεδομένα (συνήθως αριθμούς) και " +"να τη μετατρέψετε σε αντικείμενα Python και αντίστροφα." #: faq/library.rst:503 msgid "" "For example, the following code reads two 2-byte integers and one 4-byte " "integer in big-endian format from a file::" msgstr "" +"Για παράδειγμα, ο παρακάτω κώδικας διαβάζει δύο ακέραιους αριθμούς 2 byte " +"και έναν ακέραιο αριθμό 4 byte σε μορφή big-endian από ένα αρχείο::" #: faq/library.rst:512 msgid "" @@ -545,12 +767,18 @@ msgid "" "one \"short integer\" (2 bytes), and 'l' reads one \"long integer\" (4 " "bytes) from the string." msgstr "" +"Το '>' στη συμβολοσειρά μορφής αναγκάζει δεδομένα big-endian∙ το γράμμα 'h' " +"διαβάζει έναν \"short integer\" (2 bytes), και το 'l' διαβάζει έναν \"long " +"integer\" (4 byte) από την συμβολοσειρά." #: faq/library.rst:516 msgid "" "For data that is more regular (e.g. a homogeneous list of ints or floats), " "you can also use the :mod:`array` module." msgstr "" +"Για δεδομένα που είναι πιο κανονικά (π.χ. μια ομοιογενής λίστα ακεραίων ή " +"αριθμούς με υποδιαστολή), μπορείτε επίσης να χρησιμοποιήσετε το module :mod:" +"`array`." #: faq/library.rst:521 msgid "" @@ -559,10 +787,17 @@ msgid "" "instead (the default), the file will be open in text mode and ``f.read()`` " "will return :class:`str` objects rather than :class:`bytes` objects." msgstr "" +"Για να διαβάσετε και να γράψετε δυαδικά δεδομένα, είναι υποχρεωτικό να " +"ανοίξετε το αρχείο σε δυαδική λειτουργία (εδώ, περνώντας το ``\"rb\"`` στη :" +"func:`open`). Εάν χρησιμοποιείτε ``\"r\"`` αντί (η προεπιλογή) το αρχείο θα " +"είναι ανοιχτό σε λειτουργία κειμένου και το ``f.read()`` θα επιστρέψει " +"αντικείμενα :class:`str` αντί για αντικείμενα :class:`bytes`." #: faq/library.rst:529 msgid "I can't seem to use os.read() on a pipe created with os.popen(); why?" msgstr "" +"Δεν μπορώ να χρησιμοποιήσω το os.read() σε ένα pipe που δημιουργήθηκε με το " +"os.popen()∙ γιατί;" #: faq/library.rst:531 msgid "" @@ -572,36 +807,46 @@ msgid "" "function. Thus, to read *n* bytes from a pipe *p* created with :func:`os." "popen`, you need to use ``p.read(n)``." msgstr "" +"Η :func:`os.read` είναι μια συνάρτηση χαμηλού επιπέδου που παίρνει έναν " +"περιγραφέα αρχείου, έναν μικρό ακέραιο που αντιπροσωπεύει το ανοιχτό " +"αρχείο. Η :func:`os.popen` δημιουργεί ένα αντικείμενο αρχείου υψηλού " +"επιπέδου, του ίδιου τύπου που επιστρέφεται από την ενσωματωμένη συνάρτηση :" +"func:`open`. Έτσι, για να διαβάσετε *n* byte από ένα pipe *p* που " +"δημιουργήθηκε με τη :func:`os.popen`, πρέπει να χρησιμοποιήσετε το ``p." +"read(n)``." #: faq/library.rst:618 msgid "How do I access the serial (RS232) port?" -msgstr "" +msgstr "Πώς μπορώ να αποκτήσω πρόσβαση στη σειριακή θύρα (RS232);" #: faq/library.rst:620 msgid "For Win32, OSX, Linux, BSD, Jython, IronPython:" -msgstr "" +msgstr "Για Win32, OSX, Linux, BSD, Jython, IronPython:" #: faq/library.rst:622 msgid "https://pypi.org/project/pyserial/" -msgstr "" +msgstr "https://pypi.org/project/pyserial/" #: faq/library.rst:624 msgid "For Unix, see a Usenet post by Mitch Chapman:" -msgstr "" +msgstr "Για το Unix, δείτε μια ανάρτηση στο Usenet από τον Mitch Chapman:" #: faq/library.rst:626 msgid "https://groups.google.com/groups?selm=34A04430.CF9@ohioee.com" -msgstr "" +msgstr "https://groups.google.com/groups?selm=34A04430.CF9@ohioee.com" #: faq/library.rst:630 msgid "Why doesn't closing sys.stdout (stdin, stderr) really close it?" msgstr "" +"Γιατί το κλείσιμο του sys.stdout (stdin, stderr) δεν το κλείνει πραγματικά;" #: faq/library.rst:632 msgid "" "Python :term:`file objects ` are a high-level layer of " "abstraction on low-level C file descriptors." msgstr "" +"Το Python :term:`file objects ` είναι ένα επίπεδο αφαίρεσης " +"υψηλού επιπέδου σε χαμηλού επιπέδου περιγραφείς αρχείων C." #: faq/library.rst:635 msgid "" @@ -611,6 +856,11 @@ msgid "" "descriptor. This also happens automatically in ``f``'s destructor, when " "``f`` becomes garbage." msgstr "" +"Για τα περισσότερα αντικείμενα αρχείων που δημιουργείτε στην Python μέσω της " +"ενσωματωμένης συνάρτησης :func:`open`, η ``f.close()`` επισημαίνει το " +"αντικείμενο αρχείου Python ως κλειστό από την άποψη της Python και επίσης " +"κανονίζει να κλείσει ο υποκείμενος περιγραφέας αρχείου C. Αυτό συμβαίνει " +"επίσης αυτόματα στον καταστροφέα του ``f``, όταν το ``f`` γίνεται σκουπίδια." #: faq/library.rst:641 msgid "" @@ -619,6 +869,10 @@ msgid "" "marks the Python-level file object as being closed, but does *not* close the " "associated C file descriptor." msgstr "" +"Αλλά τα stdin, stdout και stderr αντιμετωπίζονται ειδικά από την Python, " +"λόγω της ειδικής κατάστασης που τους δίνεται επίσης από τη C. Εκτελώντας το " +"``sys.stdout.close()`` επισημαίνει το αντικείμενο αρχείου σε επίπεδο Python " +"ως κλειστό, αλλά *δεν* κλείνει το συσχετισμένο περιγραφικό αρχείου C." #: faq/library.rst:646 msgid "" @@ -626,18 +880,24 @@ msgid "" "first be sure that's what you really want to do (e.g., you may confuse " "extension modules trying to do I/O). If it is, use :func:`os.close`::" msgstr "" +"Για να κλείσετε τον υποκείμενο περιγραφέα αρχείου C για ένα από αυτά τα " +"τρία, θα πρέπει πρώτα να βεβαιωθείτε ότι αυτό θέλετε πραγματικά να κάνετε (π." +"χ., μπορείτε να μπερδέψετε τα modules επέκτασης που προσπαθούν να κάνουν I/" +"O). Εάν είναι, χρησιμοποιήστε τη :func:`os.close`::" #: faq/library.rst:654 msgid "Or you can use the numeric constants 0, 1 and 2, respectively." msgstr "" +"Ή μπορείτε να χρησιμοποιήσετε τις αριθμητικές σταθερές 0, 1 και 2, " +"αντίστοιχα." #: faq/library.rst:658 msgid "Network/Internet Programming" -msgstr "" +msgstr "Προγραμματισμός Δικτύου/Διαδικτύου" #: faq/library.rst:661 msgid "What WWW tools are there for Python?" -msgstr "" +msgstr "Ποια εργαλεία WWW υπάρχουν για την Python;" #: faq/library.rst:663 msgid "" @@ -645,12 +905,17 @@ msgid "" "Reference Manual. Python has many modules that will help you build server-" "side and client-side web systems." msgstr "" +"Δείτε τα κεφάλαια με τίτλο :ref:`internet` και :ref:`netdata` στο Εγχειρίδιο " +"Αναφοράς Βιβλιοθήκης. Η Python έχει πολλά modules που θα σας βοηθήσουν να " +"δημιουργήσετε συστήματα ιστού από την πλευρά του διακομιστή και του πελάτη." #: faq/library.rst:669 msgid "" "A summary of available frameworks is maintained by Paul Boddie at https://" "wiki.python.org/moin/WebProgramming\\ ." msgstr "" +"Μια σύνοψη των διαθέσιμων πλαισίων διατηρείται από τον Paul Boddie στη " +"διεύθυνση https://wiki.python.org/moin/WebProgramming\\ ." #: faq/library.rst:672 msgid "" @@ -658,20 +923,26 @@ msgid "" "at https://web.archive.org/web/20210224183619/http://phaseit.net/claird/comp." "lang.python/web_python." msgstr "" +"Η Cameron Laird διατηρεί ένα χρήσιμο σύνολο σελίδων σχετικά με τις " +"τεχνολογίες Ιστού Python στη διεύθυνση https://web.archive.org/" +"web/20210224183619/http://phaseit.net/claird/comp.lang.python/web_python." #: faq/library.rst:677 msgid "How can I mimic CGI form submission (METHOD=POST)?" -msgstr "" +msgstr "Πώς μπορώ να μιμηθώ την υποβολή φόρμας CGI (METHOD=POST);" #: faq/library.rst:679 msgid "" "I would like to retrieve web pages that are the result of POSTing a form. Is " "there existing code that would let me do this easily?" msgstr "" +"Θα ήθελα να ανακτήσω ιστοσελίδες που είναι αποτέλεσμα του POST μιας φόρμας. " +"Υπάρχει κώδικας που θα επέτρεπε να το κάνω εύκολα;" #: faq/library.rst:682 msgid "Yes. Here's a simple example that uses :mod:`urllib.request`::" msgstr "" +"Ναι. Ακολουθεί ένα απλό παράδειγμα που χρησιμοποιεί :mod:`urllib.request`::" #: faq/library.rst:697 msgid "" @@ -679,34 +950,43 @@ msgid "" "be quoted using :func:`urllib.parse.urlencode`. For example, to send " "``name=Guy Steele, Jr.``::" msgstr "" +"Λάβετε υπόψιν ότι γενικά για λειτουργίες POST με κωδικοποίηση ποσοστού, οι " +"συμβολοσειρές ερωτημάτων πρέπει να αναφέρονται χρησιμοποιώντας τη :func:" +"`urllib.parse.urlencode`. Για παράδειγμα, για να στείλετε ``name=Guy " +"Steele, Jr.``::" #: faq/library.rst:705 msgid ":ref:`urllib-howto` for extensive examples." -msgstr "" +msgstr ":ref:`urllib-howto` για εκτενή παραδείγματα." #: faq/library.rst:709 msgid "What module should I use to help with generating HTML?" -msgstr "" +msgstr "Τι module πρέπει να χρησιμοποιήσω για να βοηθήσω στην δημιουργία HTML;" #: faq/library.rst:713 msgid "" "You can find a collection of useful links on the `Web Programming wiki page " "`_." msgstr "" +"Μπορείτε να βρείτε μια συλλογή από χρήσιμους συνδέσμους στη σελίδα `Web " +"Programming wiki page `_." #: faq/library.rst:718 msgid "How do I send mail from a Python script?" -msgstr "" +msgstr "Πώς μπορώ να στείλω αλληλογραφία από ένα Python script;" #: faq/library.rst:720 msgid "Use the standard library module :mod:`smtplib`." -msgstr "" +msgstr "Χρησιμοποιήστε την τυπική module βιβλιοθήκη :mod:`smtplib`." #: faq/library.rst:722 msgid "" "Here's a very simple interactive mail sender that uses it. This method will " "work on any host that supports an SMTP listener. ::" msgstr "" +"Εδώ είναι ένας πολύ απλός διαδραστικός αποστολέας αλληλογραφίας που τον " +"χρησιμοποιεί. Αυτή η μέθοδος θα λειτουργήσει σε οποιονδήποτε κεντρικό " +"υπολογιστή υποστηρίζει το πρόγραμμα ακρόασης SMTP. ::" #: faq/library.rst:742 msgid "" @@ -715,16 +995,22 @@ msgid "" "usr/sbin/sendmail``. The sendmail manual page will help you out. Here's " "some sample code::" msgstr "" +"Μια εναλλακτική λύση μόνο για Unix χρησιμοποιεί sendmail. Η τοποθεσία του " +"προγράμματος sendmail ποικίλλει μεταξύ των συστημάτων∙ μερικές φορές είναι " +"``/usr/lib/sendmail``, μερικές φορές ``/usr/sbin/sendmail``. Η σελίδα " +"εγχειριδίου sendmail θα σας βοηθήσει. Ορίστε ένα δείγμα κώδικα::" #: faq/library.rst:762 msgid "How do I avoid blocking in the connect() method of a socket?" -msgstr "" +msgstr "Πώς μπορώ να αποφύγω τον αποκλεισμό στη μέθοδο connect() ενός socket;" #: faq/library.rst:764 msgid "" "The :mod:`select` module is commonly used to help with asynchronous I/O on " "sockets." msgstr "" +"Το module :mod:`select` χρησιμοποιείται συνήθως για να βοηθήσει με " +"ασύγχρονες I/O σε sockets." #: faq/library.rst:767 msgid "" @@ -736,6 +1022,14 @@ msgid "" "return different values, so you're going to have to check what's returned on " "your system." msgstr "" +"Για να αποτρέψετε τον αποκλεισμό της σύνδεσης TCP, μπορείτε να ρυθμίσετε την " +"υποδοχή σε λειτουργία μη αποκλεισμού. Στην συνέχεια, όταν κάνετε τη :meth:" +"`~socket.socket.connect`, είτε θα συνδεθείτε αμέσως (απίθανο), είτε θα " +"λάβετε μια εξαίρεση που περιέχει τον αριθμό σφάλματος ως ``.errno``. Το " +"``errno.EINPROGRESS`` υποδηλώνει ότι η σύνδεση είναι σε εξέλιξη, αλλά δεν " +"έχει ολοκληρωθεί ακόμα. Διαφορετικά λειτουργικά συστήματα θα επιστρέψουν " +"διαφορετικές τιμές, επομένως θα πρέπει να ελέγξετε τι επιστρέφεται στο " +"σύστημα σας." #: faq/library.rst:775 msgid "" @@ -745,6 +1039,12 @@ msgid "" "indicate that you're connected -- or you can pass this socket to :meth:" "`select.select` to check if it's writable." msgstr "" +"Μπορείτε να χρησιμοποιήσετε τη μέθοδο :meth:`~socket.socket.connect_ex` για " +"να αποφύγετε τη δημιουργία εξαίρεσης. Απλώς θα επιστρέψει την τιμή errno. " +"Για δημοσκόπηση, μπορείτε να καλέσετε το :meth:`~socket.socket.connect_ex` " +"ξανά αργότερα -- ``0`` ή ``errno.EISCONN`` υποδηλώνει ότι είστε συνδεδεμένοι " +"-- ή μπορείτε να περάσετε αυτό το socket στη :meth:`select.select` για να " +"ελέγξτε αν είναι εγγράψιμο." #: faq/library.rst:783 msgid "" @@ -753,18 +1053,22 @@ msgid "" "network code. The third-party `Twisted `_ library is a " "popular and feature-rich alternative." msgstr "" +"Το module :mod:`asyncio` παρέχει μια γενικού σκοπού απλή και ταυτόχρονη " +"ασύγχρονη βιβλιοθήκη, η οποία μπορεί να χρησιμοποιηθεί για τη σύνταξη κώδικα " +"δικτύου χωρίς αποκλεισμό. Η βιβλιοθήκη `Twisted `_ " +"είναι μια δημοφιλής και με πολλές λειτουργίες εναλλακτική λύση." #: faq/library.rst:791 msgid "Databases" -msgstr "" +msgstr "Βάσης Δεδομένων" #: faq/library.rst:794 msgid "Are there any interfaces to database packages in Python?" -msgstr "" +msgstr "Υπάρχουν διεπαφές σε πακέτα βάσεων δεδομένων στην Python;" #: faq/library.rst:796 msgid "Yes." -msgstr "" +msgstr "Ναι." #: faq/library.rst:798 msgid "" @@ -773,6 +1077,10 @@ msgid "" "`sqlite3` module, which provides a lightweight disk-based relational " "database." msgstr "" +"Διεπαφές σε κατακερματισμούς που βασίζονται σε δίσκο, όπως :mod:`DBM ` και :mod:`GDBM ` περιλαμβάνονται επίσης στην τυπική Python. " +"Υπάρχει επίσης το module :mod:`sqlite3`, το οποίο παρέχει μια ελαφριά " +"σχεσιακή βάση δεδομένων που βασίζεται στο δίσκο." #: faq/library.rst:803 msgid "" @@ -780,10 +1088,13 @@ msgid "" "`DatabaseProgramming wiki page `_ for details." msgstr "" +"Υποστήριξη για τις περισσότερες σχεσιακές βάσεις δεδομένων είναι διαθέσιμη. " +"Δείτε τη σελίδα `DatabaseProgramming wiki page `_ για λεπτομέρειες." #: faq/library.rst:809 msgid "How do you implement persistent objects in Python?" -msgstr "" +msgstr "Πως υλοποιείται μόνιμα αντικείμενα στην Python;" #: faq/library.rst:811 msgid "" @@ -792,57 +1103,77 @@ msgid "" "mod:`shelve` library module uses pickle and (g)dbm to create persistent " "mappings containing arbitrary Python objects." msgstr "" +"To module βιβλιοθήκης :mod:`pickle` το λύνει αυτό με πολύ γενικό τρόπο (αν " +"και δεν μπορείτε ακόμα να αποθηκεύσετε πράγματα όπως ανοιχτά αρχεία, sockets " +"ή παράθυρα), και το module βιβλιοθήκης :mod:`shelve` χρησιμοποιεί pickle και " +"(g)dbm για τη δημιουργία επίμονων αντιστοιχίσεων που περιέχουν αυθαίρετα " +"αντικείμενα Python." #: faq/library.rst:818 msgid "Mathematics and Numerics" -msgstr "" +msgstr "Μαθηματικά και Αριθμητικά" #: faq/library.rst:821 msgid "How do I generate random numbers in Python?" -msgstr "" +msgstr "Πως μπορώ να δημιουργήσω τυχαίους αριθμούς στην Python;" #: faq/library.rst:823 msgid "" "The standard module :mod:`random` implements a random number generator. " "Usage is simple::" msgstr "" +"Η τυπική ενότητα :mod:`random` υλοποιεί μια γεννήτρια τυχαίων αριθμών. Η " +"χρήση είναι απλή::" #: faq/library.rst:829 msgid "This returns a random floating point number in the range [0, 1)." msgstr "" +"Αυτό επιστρέψει έναν τυχαίο αριθμό κινητής υποδιαστολής στο διάστημα [0, 1)." #: faq/library.rst:831 msgid "" "There are also many other specialized generators in this module, such as:" msgstr "" +"Υπάρχουν επίσης πολλές άλλες εξειδικευμένες γεννήτριες σε αυτό το module, " +"όπως:" #: faq/library.rst:833 msgid "``randrange(a, b)`` chooses an integer in the range [a, b)." -msgstr "" +msgstr "Το ``randrange(a, b)`` επιλέγει έναν ακέραιο στο εύρος [a, b)." #: faq/library.rst:834 msgid "``uniform(a, b)`` chooses a floating point number in the range [a, b)." msgstr "" +"Το ``uniform(a, b)`` επιλέγει έναν αριθμό κινητής υποδιαστολής στο εύρος [a, " +"b)." #: faq/library.rst:835 msgid "" "``normalvariate(mean, sdev)`` samples the normal (Gaussian) distribution." msgstr "" +"Το ``normalvariate(mean, sdev)`` λαμβάνει δείγματα της κανονικής (Gaussian) " +"κατανομής." #: faq/library.rst:837 msgid "Some higher-level functions operate on sequences directly, such as:" msgstr "" +"Ορισμένες συναρτήσεις υψηλότερου επιπέδου λειτουργούν απευθείας σε " +"ακολουθίες, όπως:" #: faq/library.rst:839 msgid "``choice(S)`` chooses a random element from a given sequence." msgstr "" +"To ``choice(S)`` επιλέγει ένα τυχαίο στοιχείο από μια δεδομένη ακολουθία." #: faq/library.rst:840 msgid "``shuffle(L)`` shuffles a list in-place, i.e. permutes it randomly." msgstr "" +"Το ``shuffle(L)`` ανακατεύει μια λίστα επιτόπου, δηλαδή τη μεταθέτει τυχαία." #: faq/library.rst:842 msgid "" "There's also a ``Random`` class you can instantiate to create independent " "multiple random number generators." msgstr "" +"Υπάρχει επίσης μια κλάση ``Random`` που μπορείτε να επιβεβαιώσετε για να " +"δημιουργήσετε ανεξάρτητες γεννήτριες πολλαπλών τυχαίων αριθμών." From b09195f0a5b92831a9a7d2a086456f4f183a502c Mon Sep 17 00:00:00 2001 From: skpanagiotis Date: Tue, 17 Dec 2024 20:49:26 +0200 Subject: [PATCH 02/19] Update main.txt --- dictionaries/main.txt | 51 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/dictionaries/main.txt b/dictionaries/main.txt index b146c0fa..99634f63 100644 --- a/dictionaries/main.txt +++ b/dictionaries/main.txt @@ -1,5 +1,7 @@ A ActiveState +Adam +Alex Alias Alternative Apache @@ -14,10 +16,12 @@ Brett Bug Bytearray C +Cameron Cannon Case Category Centrum +Chapman Cheese Command Comment @@ -57,6 +61,8 @@ General Generics Get Gordon +Greg +Guido Hat Hewlett Hugunin @@ -77,6 +83,7 @@ Just Jython Korn L +Laird Letter Linux Lisp @@ -85,6 +92,7 @@ Ll Lm Lo Local +Lock Look Looking Looping @@ -98,6 +106,7 @@ Majkowski Makefile Marek Matthias +Mitch Modula Modules Monty @@ -113,10 +122,12 @@ Number Numeric Nα O +Olsen Other Packard Pascal Path +Paul Perl Precision Print @@ -153,6 +164,7 @@ Sox Sphinx Stacks Start +Stein Stichting Storage String @@ -168,6 +180,7 @@ Tuples U Ulf Unix +Usenet V Van W @@ -204,6 +217,8 @@ base bash batch be +big +bignum binary binding bit @@ -233,6 +248,7 @@ callable callables callbacks calling +capture case cased casefolded @@ -269,6 +285,7 @@ config conflict conflicts conjugate +connect consistency constructor constructors @@ -286,6 +303,7 @@ coroutines cost count crt +dbm de debug debugger @@ -327,8 +345,11 @@ enter entry env eq +errno error errors +escape +escaped et events except @@ -372,6 +393,10 @@ getter global globals gt +guard +guru +h +hack hash heaps hints @@ -407,6 +432,7 @@ install instance instances int +integer integers interactive interface @@ -496,6 +522,7 @@ mult multi must mutable +mutex n name named @@ -521,6 +548,7 @@ o objects on one +onexit only op open @@ -528,6 +556,7 @@ operator or ordinal ordinals +os out overallocation overalpping @@ -535,6 +564,7 @@ package packages packing padding +pads page pages parser @@ -545,6 +575,7 @@ pdb pi pickle pip +pipe pipes place placeholder @@ -552,6 +583,7 @@ placeholders point points pop +popen population positional precision @@ -586,7 +618,9 @@ reader recompile record ref +regex regressions +regular release remove request @@ -594,12 +628,14 @@ return reverse runtime s +scanf script scripting scripts see seek self +sendmail sep sequence sequences @@ -618,8 +654,11 @@ singleton singletons site size +sl +sleep slice slicing +so sort source sources @@ -628,6 +667,7 @@ spaces spam spot sprintf +sscanf stack stackless stand @@ -635,6 +675,7 @@ standard statement statements stderr +stdin stdout str string @@ -659,11 +700,13 @@ symlink symlinks syntactic syntax +sys systems tab tabs tag templating +termcap terminal terminator terminators @@ -677,6 +720,8 @@ threads titlecase titlecased to +token +tokens trace tracker true @@ -839,6 +884,7 @@ zlib κατάσταση κατέληγες κατακερματιστέες +καταχωρητή κεφαλίδας κεφαλίδων κώδικα @@ -849,6 +895,7 @@ zlib μετά μετα μεταβλητών +μεταδεδομένα μεταδεδομένων μετακλάσεων μετακλάση @@ -857,6 +904,7 @@ zlib μεταφέρετε μεταφοράς μιμηθείτε +μιμηθώ μπορεί να ο @@ -889,12 +937,15 @@ zlib περιβάλλουσας περιγραφέα περιγραφέας +περιγραφείς περιηγείστε περικλειόμενο περικόβει +περικόψετε πλέον πληθικότητα πολλοί +πολυεπεξεργαστές πολυμορφική προέκδοση προεπιλεγμένης From 519b84c191db0c1cd983f512f2ba7cbd70e5d7fb Mon Sep 17 00:00:00 2001 From: skpanagiotis Date: Wed, 26 Feb 2025 09:16:52 +0200 Subject: [PATCH 03/19] Update faq/library translation and update main.txt --- dictionaries/main.txt | 35 ++++----- faq/library.po | 162 ++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 175 insertions(+), 22 deletions(-) diff --git a/dictionaries/main.txt b/dictionaries/main.txt index c51271ac..0b4fcba3 100644 --- a/dictionaries/main.txt +++ b/dictionaries/main.txt @@ -87,8 +87,8 @@ Get Gordon Graham Green -Group Greg +Group Guido Hans Haskell @@ -145,8 +145,8 @@ Marek Matthias Message Michael -Mixin Mitch +Mixin Modula Modules Monty @@ -162,8 +162,8 @@ Number Numeric Nα O -Origin Olsen +Origin Other P Packard @@ -305,9 +305,9 @@ be before below bereft -bin big bignum +bin binary binding bit @@ -428,6 +428,7 @@ crt cubes currency current +curses d data date @@ -548,6 +549,7 @@ formatted formatting frac framework +frameworks freeze freshfruit from @@ -585,8 +587,8 @@ gt guard guru h -has hack +has hash hashability hashable @@ -778,10 +780,10 @@ mult multi must mutable +mutex my mydict myfile -mutex n nSecond name @@ -791,6 +793,7 @@ namespace namespaces nan native +ncurses ndim ne negative @@ -864,8 +867,8 @@ play point points pop -popleft popen +popleft population pos positional @@ -918,8 +921,8 @@ record reduce ref reference -register regex +register regressions regular release @@ -981,14 +984,13 @@ singleton singletons site size -sleep -slept sl sleep +slept slice slicing -somedir so +somedir sort sorted source @@ -1087,10 +1089,10 @@ titlecase titlecased to today -toolkits -total token tokens +toolkits +total trace tracker trick @@ -1215,6 +1217,7 @@ zlib αλληλοαποκλείονται αλληλογραφίας αναδιατάξετε +αναδιατάσσει αναζητήσιμο αναθέτη αναθέτης @@ -1313,8 +1316,8 @@ zlib κατάσταση κατέληγες κατακερματιστέες -κατηργημένο καταχωρητή +κατηργημένο κεφαλίδας κεφαλίδες κεφαλίδων @@ -1340,8 +1343,8 @@ zlib μεταφέρετε μεταφοράς μιμηθείτε -μονοεπεξεργαστικό μιμηθώ +μονοεπεξεργαστικό μπορεί να ο @@ -1382,8 +1385,8 @@ zlib πλέον πληθικότητα πολλοί -πολυεπεξεργαστικό πολυεπεξεργαστές +πολυεπεξεργαστικό πολυμορφική προέκδοση προεπιλεγμένης diff --git a/faq/library.po b/faq/library.po index b4ea74f6..e77074c0 100644 --- a/faq/library.po +++ b/faq/library.po @@ -9,10 +9,10 @@ msgstr "" "Project-Id-Version: Python 3.12\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-02-17 21:03+0100\n" -"PO-Revision-Date: 2024-12-10 14:07+0300\n" +"PO-Revision-Date: 2024-02-26 09:00+0200\n" "Last-Translator: Panagiotis Skias \n" "Language-Team: PyGreece \n" -"Language: \n" +"Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -103,6 +103,8 @@ msgid "" "import sys\n" "print(sys.builtin_module_names)" msgstr "" +"import sys\n" +"print(sys.builtin_module_names)" #: faq/library.rst:47 msgid "How do I make a Python script executable on Unix?" @@ -136,7 +138,7 @@ msgstr "" #: faq/library.rst:59 msgid "#!/usr/local/bin/python" -msgstr "" +msgstr "#!/usr/local/bin/python" #: faq/library.rst:61 msgid "" @@ -160,7 +162,7 @@ msgstr "" #: faq/library.rst:69 msgid "#!/usr/bin/env python" -msgstr "" +msgstr "#!/usr/bin/env python" #: faq/library.rst:71 msgid "" @@ -190,6 +192,10 @@ msgid "" "exec python $0 ${1+\"$@\"}\n" "\"\"\"" msgstr "" +"#! /bin/sh\n" +"\"\"\":\"\n" +"exec python $0 ${1+\"$@\"}\n" +"\"\"\"" #: faq/library.rst:86 msgid "" @@ -201,7 +207,7 @@ msgstr "" #: faq/library.rst:89 msgid "__doc__ = \"\"\"...Whatever...\"\"\"" -msgstr "" +msgstr "__doc__ = \"\"\"...Whatever...\"\"\"" #: faq/library.rst:94 msgid "Is there a curses/termcap package for Python?" @@ -261,7 +267,7 @@ msgstr "" #: faq/library.rst:123 msgid "handler(signum, frame)" -msgstr "" +msgstr "handler(signum, frame)" #: faq/library.rst:125 msgid "so it should be declared with two parameters::" @@ -272,6 +278,8 @@ msgid "" "def handler(signum, frame):\n" " ..." msgstr "" +"def handler(signum, frame):\n" +" ..." #: faq/library.rst:132 msgid "Common tasks" @@ -329,6 +337,8 @@ msgid "" "if __name__ == \"__main__\":\n" " main_logic()" msgstr "" +"if __name__ == \"__main__\":\n" +" main_logic()" #: faq/library.rst:157 msgid "at the bottom of the main module of your program." @@ -369,6 +379,8 @@ msgid "" "if __name__ == \"__main__\":\n" " self_test()" msgstr "" +"if __name__ == \"__main__\":\n" +" self_test()" #: faq/library.rst:173 msgid "" @@ -464,6 +476,17 @@ msgid "" "\n" "time.sleep(10) # <---------------------------!" msgstr "" +"import threading, time\n" +"\n" +"def thread_task(name, n):\n" +" for i in range(n):\n" +" print(name, i)\n" +"\n" +"for i in range(10):\n" +" T = threading.Thread(target=thread_task, args=(str(i), i))\n" +" T.start()\n" +"\n" +"time.sleep(10) # <---------------------------!" #: faq/library.rst:265 msgid "" @@ -495,6 +518,16 @@ msgid "" "\n" "time.sleep(10)" msgstr "" +"def thread_task(name, n):\n" +" time.sleep(0.001) # <--------------------!\n" +" for i in range(n):\n" +" print(name, i)\n" +"\n" +"for i in range(10):\n" +" T = threading.Thread(target=thread_task, args=(str(i), i))\n" +" T.start()\n" +"\n" +"time.sleep(10)" #: faq/library.rst:282 msgid "" @@ -584,6 +617,41 @@ msgid "" "print('Main thread sleeping')\n" "time.sleep(5)" msgstr "" +"import threading, queue, time\n" +"\n" +"# The worker thread gets jobs off the queue. When the queue is empty, it\n" +"# assumes there will be no more work and exits.\n" +"# (Realistically workers will run until terminated.)\n" +"def worker():\n" +" print('Running worker')\n" +" time.sleep(0.1)\n" +" while True:\n" +" try:\n" +" arg = q.get(block=False)\n" +" except queue.Empty:\n" +" print('Worker', threading.current_thread(), end=' ')\n" +" print('queue empty')\n" +" break\n" +" else:\n" +" print('Worker', threading.current_thread(), end=' ')\n" +" print('running with argument', arg)\n" +" time.sleep(0.5)\n" +"\n" +"# Create queue\n" +"q = queue.Queue()\n" +"\n" +"# Start a pool of 5 workers\n" +"for i in range(5):\n" +" t = threading.Thread(target=worker, name='worker %i' % (i+1))\n" +" t.start()\n" +"\n" +"# Begin adding work to the queue\n" +"for i in range(50):\n" +" q.put(i)\n" +"\n" +"# Give threads time to run\n" +"print('Main thread sleeping')\n" +"time.sleep(5)" #: faq/library.rst:340 msgid "When run, this will produce the following output:" @@ -605,6 +673,19 @@ msgid "" "Worker running with argument 5\n" "..." msgstr "" +"Running worker\n" +"Running worker\n" +"Running worker\n" +"Running worker\n" +"Running worker\n" +"Main thread sleeping\n" +"Worker running with argument 0\n" +"Worker running with argument 1\n" +"Worker running with argument 2\n" +"Worker running with argument 3\n" +"Worker running with argument 4\n" +"Worker running with argument 5\n" +"..." #: faq/library.rst:358 msgid "" @@ -670,6 +751,17 @@ msgid "" "D1.update(D2)\n" "D.keys()" msgstr "" +"L.append(x)\n" +"L1.extend(L2)\n" +"x = L[i]\n" +"x = L.pop()\n" +"L1[i:j] = L2\n" +"L.sort()\n" +"x = y\n" +"x.field = y\n" +"D[x] = y\n" +"D1.update(D2)\n" +"D.keys()" #: faq/library.rst:392 msgid "These aren't::" @@ -682,6 +774,10 @@ msgid "" "L[i] = L[j]\n" "D[x] = D[x] + 1" msgstr "" +"i = i+1\n" +"L.append(L[-1])\n" +"L[i] = L[j]\n" +"D[x] = D[x] + 1" #: faq/library.rst:399 msgid "" @@ -926,6 +1022,11 @@ msgid "" " s = f.read(8)\n" " x, y, z = struct.unpack(\">hhl\", s)" msgstr "" +"import struct\n" +"\n" +"with open(filename, \"rb\") as f:\n" +" s = f.read(8)\n" +" x, y, z = struct.unpack(\">hhl\", s)" #: faq/library.rst:512 msgid "" @@ -1057,6 +1158,9 @@ msgid "" "os.close(stdout.fileno())\n" "os.close(stderr.fileno())" msgstr "" +"os.close(stdin.fileno())\n" +"os.close(stdout.fileno())\n" +"os.close(stderr.fileno())" #: faq/library.rst:653 msgid "Or you can use the numeric constants 0, 1 and 2, respectively." @@ -1132,6 +1236,18 @@ msgid "" "with req:\n" " msg, hdrs = req.read(), req.info()" msgstr "" +"#!/usr/local/bin/python\n" +"\n" +"import urllib.request\n" +"\n" +"# build the query string\n" +"qs = \"First=Josephine&MI=Q&Last=Public\"\n" +"\n" +"# connect and send the server a path\n" +"req = urllib.request.urlopen('http://www.some-server.out-there'\n" +" '/cgi-bin/some-cgi-script', data=qs)\n" +"with req:\n" +" msg, hdrs = req.read(), req.info()" #: faq/library.rst:696 msgid "" @@ -1150,6 +1266,9 @@ msgid "" ">>> urllib.parse.urlencode({'name': 'Guy Steele, Jr.'})\n" "'name=Guy+Steele%2C+Jr.'" msgstr "" +">>> import urllib.parse\n" +">>> urllib.parse.urlencode({'name': 'Guy Steele, Jr.'})\n" +"'name=Guy+Steele%2C+Jr.'" #: faq/library.rst:704 msgid ":ref:`urllib-howto` for extensive examples." @@ -1203,6 +1322,22 @@ msgid "" "server.sendmail(fromaddr, toaddrs, msg)\n" "server.quit()" msgstr "" +"import sys, smtplib\n" +"\n" +"fromaddr = input(\"From: \")\n" +"toaddrs = input(\"To: \").split(',')\n" +"print(\"Enter message, end with ^D:\")\n" +"msg = ''\n" +"while True:\n" +" line = sys.stdin.readline()\n" +" if not line:\n" +" break\n" +" msg += line\n" +"\n" +"# The actual mail send\n" +"server = smtplib.SMTP('localhost')\n" +"server.sendmail(fromaddr, toaddrs, msg)\n" +"server.quit()" #: faq/library.rst:741 msgid "" @@ -1231,6 +1366,18 @@ msgid "" "if sts != 0:\n" " print(\"Sendmail exit status\", sts)" msgstr "" +"import os\n" +"\n" +"SENDMAIL = \"/usr/sbin/sendmail\" # sendmail location\n" +"p = os.popen(\"%s -t -i\" % SENDMAIL, \"w\")\n" +"p.write(\"To: receiver@example.com\\n\")\n" +"p.write(\"Subject: test\\n\")\n" +"p.write(\"\\n\") # blank line separating headers from body\n" +"p.write(\"Some text\\n\")\n" +"p.write(\"some more text\\n\")\n" +"sts = p.close()\n" +"if sts != 0:\n" +" print(\"Sendmail exit status\", sts)" #: faq/library.rst:761 msgid "How do I avoid blocking in the connect() method of a socket?" @@ -1362,10 +1509,13 @@ msgid "" "import random\n" "random.random()" msgstr "" +"import random\n" +"random.random()" #: faq/library.rst:828 msgid "This returns a random floating-point number in the range [0, 1)." msgstr "" +"Αυτό επιστρέφει έναν τυχαίο αριθμό κινητής υποδιαστολής στο εύρος [0, 1)." #: faq/library.rst:830 msgid "" From 6ff2221639e5c22a7da1939a9e9472217d5d3b96 Mon Sep 17 00:00:00 2001 From: skpanagiotis Date: Wed, 26 Feb 2025 09:36:15 +0200 Subject: [PATCH 04/19] Minor fix --- faq/library.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/faq/library.po b/faq/library.po index e77074c0..bb715f99 100644 --- a/faq/library.po +++ b/faq/library.po @@ -1092,7 +1092,7 @@ msgstr "Για Win32, OSX, Linux, BSD, Jython, IronPython:" #: faq/library.rst:621 msgid ":pypi:`pyserial`" -msgstr "https://pypi.org/project/pyserial/" +msgstr ":pypi:`pyserial`" #: faq/library.rst:623 msgid "For Unix, see a Usenet post by Mitch Chapman:" From 8ef0756226021e7c0aa7360e2144e530a45e33ff Mon Sep 17 00:00:00 2001 From: Panagiotis Skias Date: Thu, 27 Feb 2025 09:46:59 +0200 Subject: [PATCH 05/19] Update faq/library.po Co-authored-by: George Margaritis --- faq/library.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/faq/library.po b/faq/library.po index bb715f99..2e9cad22 100644 --- a/faq/library.po +++ b/faq/library.po @@ -108,7 +108,7 @@ msgstr "" #: faq/library.rst:47 msgid "How do I make a Python script executable on Unix?" -msgstr "Πως δημιουργώ ένα εκτελέσιμο Python Script στο Unix;" +msgstr "Πως δημιουργώ ένα εκτελέσιμο Python script στο Unix;" #: faq/library.rst:49 msgid "" From 2878abfc8ed6bd0610d42001af20f302b6d82b5b Mon Sep 17 00:00:00 2001 From: Panagiotis Skias Date: Thu, 27 Feb 2025 09:47:16 +0200 Subject: [PATCH 06/19] Update faq/library.po Co-authored-by: George Margaritis --- faq/library.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/faq/library.po b/faq/library.po index 2e9cad22..0546dc6e 100644 --- a/faq/library.po +++ b/faq/library.po @@ -133,7 +133,7 @@ msgid "" "The second can be done in a number of ways. The most straightforward way is " "to write ::" msgstr "" -"Το δεύτερο μπορεί να γίνει με μια σειρά από ποικίλους τρόπους. Ο πιο απλός " +"Το δεύτερο μπορεί να γίνει με ποικίλους τρόπους. Ο πιο απλός " "τρόπος είναι να γράψετε ::" #: faq/library.rst:59 From 99aef4c05b1a487279ef3bc2eda6d088c1f14f18 Mon Sep 17 00:00:00 2001 From: Panagiotis Skias Date: Thu, 27 Feb 2025 09:47:39 +0200 Subject: [PATCH 07/19] Update faq/library.po Co-authored-by: George Margaritis --- faq/library.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/faq/library.po b/faq/library.po index 0546dc6e..4508dd00 100644 --- a/faq/library.po +++ b/faq/library.po @@ -145,7 +145,7 @@ msgid "" "as the very first line of your file, using the pathname for where the Python " "interpreter is installed on your platform." msgstr "" -"ως η πρώτη γραμμή του αρχείου σας, χρησιμοποιώντας το όνομα διαδρομής για το " +"ως η πρώτη γραμμή του αρχείου σας, χρησιμοποιώντας το pathname για το " "πού είναι εγκατεστημένος ο διερμηνέας Python στην πλατφόρμα σας." #: faq/library.rst:64 From ba3829db7ec0da0be1e4128dc31c528799409447 Mon Sep 17 00:00:00 2001 From: Panagiotis Skias Date: Thu, 27 Feb 2025 09:48:07 +0200 Subject: [PATCH 08/19] Update faq/library.po Co-authored-by: George Margaritis --- faq/library.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/faq/library.po b/faq/library.po index 4508dd00..35a171f6 100644 --- a/faq/library.po +++ b/faq/library.po @@ -577,7 +577,7 @@ msgstr "" #: faq/library.rst:302 msgid "Here's a trivial example::" -msgstr "Ακολουθεί ένα ασήμαντο παράδειγμα::" +msgstr "Ένα απλό παράδειγμα::" #: faq/library.rst:304 msgid "" From 159218f1febcb97a25af7cf92783751107eeb781 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci-lite[bot]" <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Date: Thu, 27 Feb 2025 07:49:54 +0000 Subject: [PATCH 09/19] [pre-commit.ci lite] apply automatic fixes --- faq/library.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/faq/library.po b/faq/library.po index 35a171f6..b788f95c 100644 --- a/faq/library.po +++ b/faq/library.po @@ -133,8 +133,8 @@ msgid "" "The second can be done in a number of ways. The most straightforward way is " "to write ::" msgstr "" -"Το δεύτερο μπορεί να γίνει με ποικίλους τρόπους. Ο πιο απλός " -"τρόπος είναι να γράψετε ::" +"Το δεύτερο μπορεί να γίνει με ποικίλους τρόπους. Ο πιο απλός τρόπος είναι " +"να γράψετε ::" #: faq/library.rst:59 msgid "#!/usr/local/bin/python" @@ -145,8 +145,8 @@ msgid "" "as the very first line of your file, using the pathname for where the Python " "interpreter is installed on your platform." msgstr "" -"ως η πρώτη γραμμή του αρχείου σας, χρησιμοποιώντας το pathname για το " -"πού είναι εγκατεστημένος ο διερμηνέας Python στην πλατφόρμα σας." +"ως η πρώτη γραμμή του αρχείου σας, χρησιμοποιώντας το pathname για το πού " +"είναι εγκατεστημένος ο διερμηνέας Python στην πλατφόρμα σας." #: faq/library.rst:64 msgid "" From 27f86309dd7035c071fbd78a17258aad9e9ae3dc Mon Sep 17 00:00:00 2001 From: Panagiotis Skias Date: Thu, 27 Feb 2025 09:50:40 +0200 Subject: [PATCH 10/19] Update faq/library.po Co-authored-by: George Margaritis --- faq/library.po | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/faq/library.po b/faq/library.po index b788f95c..2483d367 100644 --- a/faq/library.po +++ b/faq/library.po @@ -437,9 +437,7 @@ msgid "" "the low-level primitives provided by the :mod:`_thread` module." msgstr "" "Βεβαιωθείτε ότι χρησιμοποιείτε το module :mod:`threading` και όχι το module :" -"mod:`_thread`. Το module :mod:`threading` δημιουργεί βολικές αφηρημένες " -"έννοιες πάνω από τα πρωτόγονα χαμηλού επιπέδου που παρέχονται από το module :" -"mod:`_thread`." +"mod:`_thread`. Το module :mod:`threading` παρέχει ένα πιο βολικό και υψηλού επιπέδου τρόπο διαχείρισης νημάτων, χτίζοντας πάνω στις βασικές λειτουργίες του module :mod:`_thread`." #: faq/library.rst:245 msgid "None of my threads seem to run: why?" From 99c26d9bdcbbf1f864e602a7b13294c7e983a503 Mon Sep 17 00:00:00 2001 From: Panagiotis Skias Date: Thu, 27 Feb 2025 09:50:50 +0200 Subject: [PATCH 11/19] Update faq/library.po Co-authored-by: George Margaritis --- faq/library.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/faq/library.po b/faq/library.po index 2483d367..2da95c9b 100644 --- a/faq/library.po +++ b/faq/library.po @@ -801,7 +801,7 @@ msgid "" "multi-threaded Python program effectively only uses one CPU, due to the " "insistence that (almost) all Python code can only run while the GIL is held." msgstr "" -"Ο :term:`global interpreter lock` (GIL) θεωρείται συχνά ως εμπόδιο για την " +"Το :term:`global interpreter lock` (GIL) θεωρείται συχνά ως εμπόδιο για την " "ανάπτυξη της Python σε υψηλής τεχνολογίας μηχανήματα διακομιστών με " "πολυεπεξεργαστές, επειδή ένα πρόγραμμα Python με πολλά νήματα χρησιμοποιεί " "αποτελεσματικά μόνο μία CPU, λόγω της επιμονής ότι (σχεδόν) όλος ο κώδικας " From c30825d9a8d8d83a3d23cccb7bdf472ed57ebb9c Mon Sep 17 00:00:00 2001 From: Panagiotis Skias Date: Thu, 27 Feb 2025 09:51:40 +0200 Subject: [PATCH 12/19] Update faq/library.po Co-authored-by: George Margaritis --- faq/library.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/faq/library.po b/faq/library.po index 2da95c9b..ed150f8d 100644 --- a/faq/library.po +++ b/faq/library.po @@ -838,7 +838,7 @@ msgid "" "dispatching of tasks." msgstr "" "Αυτό δεν σημαίνει ότι δεν μπορείτε να κάνετε καλή χρήση της Python σε " -"μηχανές πολλαπλών CPU! Απλώς πρέπει να είστε δημιουργικοί μοιράζοντας την " +"μηχανήματα πολλαπλών επεξεργαστών! Απλώς πρέπει να είστε δημιουργικοί μοιράζοντας την " "εργασία μεταξύ πολλαπλών *διεργασιών* και όχι πολλών *νημάτων*. Η κλάση :" "class:`~concurrent.futures.ProcessPoolExecutor` στο νέο module :mod:" "`concurrent.futures`, παρέχει έναν εύκολο τρόπο για να το κάνετε αυτό· Το " From 9e9350bb62af7ce4c75ab852cdc8dde3eebe73bc Mon Sep 17 00:00:00 2001 From: Panagiotis Skias Date: Thu, 27 Feb 2025 09:52:13 +0200 Subject: [PATCH 13/19] Update faq/library.po Co-authored-by: George Margaritis --- faq/library.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/faq/library.po b/faq/library.po index ed150f8d..a831e31c 100644 --- a/faq/library.po +++ b/faq/library.po @@ -1054,7 +1054,7 @@ msgid "" msgstr "" "Για να διαβάσετε και να γράψετε δυαδικά δεδομένα, είναι υποχρεωτικό να " "ανοίξετε το αρχείο σε δυαδική λειτουργία (εδώ, περνώντας το ``\"rb\"`` στη :" -"func:`open`). Εάν χρησιμοποιείτε ``\"r\"`` αντί (η προεπιλογή) το αρχείο θα " +"func:`open`). Εάν χρησιμοποιείσετε το ``\"r\"`` αντί αυτού (προεπιλογμένο) το αρχείο θα " "είναι ανοιχτό σε λειτουργία κειμένου και το ``f.read()`` θα επιστρέψει " "αντικείμενα :class:`str` αντί για αντικείμενα :class:`bytes`." From 957490215ac3a873ed6e25947fa163a810461164 Mon Sep 17 00:00:00 2001 From: Panagiotis Skias Date: Thu, 27 Feb 2025 09:52:20 +0200 Subject: [PATCH 14/19] Update faq/library.po Co-authored-by: George Margaritis --- faq/library.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/faq/library.po b/faq/library.po index a831e31c..77888a37 100644 --- a/faq/library.po +++ b/faq/library.po @@ -1437,7 +1437,7 @@ msgstr "" #: faq/library.rst:790 msgid "Databases" -msgstr "Βάσης Δεδομένων" +msgstr "Βάσεις Δεδομένων" #: faq/library.rst:793 msgid "Are there any interfaces to database packages in Python?" From 20da58211931e2ed45745d138d7b90d6c38a373c Mon Sep 17 00:00:00 2001 From: Panagiotis Skias Date: Thu, 27 Feb 2025 09:52:35 +0200 Subject: [PATCH 15/19] Update faq/library.po Co-authored-by: George Margaritis --- faq/library.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/faq/library.po b/faq/library.po index 77888a37..bc4fd98c 100644 --- a/faq/library.po +++ b/faq/library.po @@ -1471,7 +1471,7 @@ msgstr "" #: faq/library.rst:808 msgid "How do you implement persistent objects in Python?" -msgstr "Πως υλοποιείται μόνιμα αντικείμενα στην Python;" +msgstr "Πως υλοποιείτε persistent αντικείμενα στην Python;" #: faq/library.rst:810 msgid "" From 8d7944194e83b962ebaa6b28d4f9e2761fe313ee Mon Sep 17 00:00:00 2001 From: "pre-commit-ci-lite[bot]" <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Date: Thu, 27 Feb 2025 07:54:18 +0000 Subject: [PATCH 16/19] [pre-commit.ci lite] apply automatic fixes --- faq/library.po | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/faq/library.po b/faq/library.po index bc4fd98c..70a38f23 100644 --- a/faq/library.po +++ b/faq/library.po @@ -437,7 +437,9 @@ msgid "" "the low-level primitives provided by the :mod:`_thread` module." msgstr "" "Βεβαιωθείτε ότι χρησιμοποιείτε το module :mod:`threading` και όχι το module :" -"mod:`_thread`. Το module :mod:`threading` παρέχει ένα πιο βολικό και υψηλού επιπέδου τρόπο διαχείρισης νημάτων, χτίζοντας πάνω στις βασικές λειτουργίες του module :mod:`_thread`." +"mod:`_thread`. Το module :mod:`threading` παρέχει ένα πιο βολικό και υψηλού " +"επιπέδου τρόπο διαχείρισης νημάτων, χτίζοντας πάνω στις βασικές λειτουργίες " +"του module :mod:`_thread`." #: faq/library.rst:245 msgid "None of my threads seem to run: why?" @@ -838,12 +840,13 @@ msgid "" "dispatching of tasks." msgstr "" "Αυτό δεν σημαίνει ότι δεν μπορείτε να κάνετε καλή χρήση της Python σε " -"μηχανήματα πολλαπλών επεξεργαστών! Απλώς πρέπει να είστε δημιουργικοί μοιράζοντας την " -"εργασία μεταξύ πολλαπλών *διεργασιών* και όχι πολλών *νημάτων*. Η κλάση :" -"class:`~concurrent.futures.ProcessPoolExecutor` στο νέο module :mod:" -"`concurrent.futures`, παρέχει έναν εύκολο τρόπο για να το κάνετε αυτό· Το " -"module :mod:`multiprocessing` παρέχει ένα API χαμηλότερου επιπέδου σε " -"περίπτωση που θέλετε περισσότερο έλεγχο στην αποστολή των εργασιών." +"μηχανήματα πολλαπλών επεξεργαστών! Απλώς πρέπει να είστε δημιουργικοί " +"μοιράζοντας την εργασία μεταξύ πολλαπλών *διεργασιών* και όχι πολλών " +"*νημάτων*. Η κλάση :class:`~concurrent.futures.ProcessPoolExecutor` στο " +"νέο module :mod:`concurrent.futures`, παρέχει έναν εύκολο τρόπο για να το " +"κάνετε αυτό· Το module :mod:`multiprocessing` παρέχει ένα API χαμηλότερου " +"επιπέδου σε περίπτωση που θέλετε περισσότερο έλεγχο στην αποστολή των " +"εργασιών." #: faq/library.rst:431 msgid "" @@ -1054,9 +1057,9 @@ msgid "" msgstr "" "Για να διαβάσετε και να γράψετε δυαδικά δεδομένα, είναι υποχρεωτικό να " "ανοίξετε το αρχείο σε δυαδική λειτουργία (εδώ, περνώντας το ``\"rb\"`` στη :" -"func:`open`). Εάν χρησιμοποιείσετε το ``\"r\"`` αντί αυτού (προεπιλογμένο) το αρχείο θα " -"είναι ανοιχτό σε λειτουργία κειμένου και το ``f.read()`` θα επιστρέψει " -"αντικείμενα :class:`str` αντί για αντικείμενα :class:`bytes`." +"func:`open`). Εάν χρησιμοποιείσετε το ``\"r\"`` αντί αυτού (προεπιλογμένο) " +"το αρχείο θα είναι ανοιχτό σε λειτουργία κειμένου και το ``f.read()`` θα " +"επιστρέψει αντικείμενα :class:`str` αντί για αντικείμενα :class:`bytes`." #: faq/library.rst:529 msgid "I can't seem to use os.read() on a pipe created with os.popen(); why?" From a56a29a0184edbf7f39185bd08f7259c8547a413 Mon Sep 17 00:00:00 2001 From: skpanagiotis Date: Thu, 27 Feb 2025 10:14:06 +0200 Subject: [PATCH 17/19] Minor fixes --- dictionaries/main.txt | 2 ++ faq/library.po | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/dictionaries/main.txt b/dictionaries/main.txt index 0b4fcba3..3d4739c0 100644 --- a/dictionaries/main.txt +++ b/dictionaries/main.txt @@ -851,10 +851,12 @@ parsing pass passion path +pathname pattern payload pdb pear +persistent pi pickle pip diff --git a/faq/library.po b/faq/library.po index 70a38f23..df252501 100644 --- a/faq/library.po +++ b/faq/library.po @@ -1057,7 +1057,7 @@ msgid "" msgstr "" "Για να διαβάσετε και να γράψετε δυαδικά δεδομένα, είναι υποχρεωτικό να " "ανοίξετε το αρχείο σε δυαδική λειτουργία (εδώ, περνώντας το ``\"rb\"`` στη :" -"func:`open`). Εάν χρησιμοποιείσετε το ``\"r\"`` αντί αυτού (προεπιλογμένο) " +"func:`open`). Εάν χρησιμοποιήσετε το ``\"r\"`` αντί αυτού (προεπιλεγμένο) " "το αρχείο θα είναι ανοιχτό σε λειτουργία κειμένου και το ``f.read()`` θα " "επιστρέψει αντικείμενα :class:`str` αντί για αντικείμενα :class:`bytes`." From 0e60a0e115d1b16edd5087bf7cbb2e143fa389e4 Mon Sep 17 00:00:00 2001 From: skpanagiotis Date: Thu, 5 Jun 2025 18:50:14 +0300 Subject: [PATCH 18/19] Minor fixes in main.txt --- dictionaries/main.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dictionaries/main.txt b/dictionaries/main.txt index 7739c78f..6b0c1684 100644 --- a/dictionaries/main.txt +++ b/dictionaries/main.txt @@ -613,8 +613,8 @@ guard guru gzip h -half hack +half has hash hashability @@ -1401,6 +1401,7 @@ zlib μονοεπεξεργαστικό μπορεί να +ξαναγραφούν ο οδηγίες οδηγό @@ -1437,9 +1438,9 @@ zlib περιηγείστε περικλειόμενο περικόβει +περικόψετε περιτυλίγοντάς περιτύλιγαν -περικόψετε πλέον πληθικότητα πολλοί From 80461bb58d2153fbf2d034db10372e81b627ce6a Mon Sep 17 00:00:00 2001 From: Panagiotis Skias Date: Tue, 10 Jun 2025 09:41:50 +0300 Subject: [PATCH 19/19] Update faq/library.po Co-authored-by: George Margaritis --- faq/library.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/faq/library.po b/faq/library.po index 193acbf8..25d46c8a 100644 --- a/faq/library.po +++ b/faq/library.po @@ -794,7 +794,7 @@ msgstr "" #: faq/library.rst:406 msgid "Can't we get rid of the Global Interpreter Lock?" -msgstr "Δεν μπορούμε να απαλλαγούμε από την Global Interpreter Lock;" +msgstr "Μπορούμε να απαλλαγούμε από ένα Global Interpreter Lock;" #: faq/library.rst:410 msgid "" pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy