diff --git a/dictionaries/main.txt b/dictionaries/main.txt index 409094c3..9736f70b 100644 --- a/dictionaries/main.txt +++ b/dictionaries/main.txt @@ -45,6 +45,7 @@ Comment Compaq Compiled Comprehensions +Content Control Cookbook Cookie @@ -72,6 +73,8 @@ Docutils Dog Drake Emacs +Embed +Embedded English Eric Error @@ -86,6 +89,7 @@ Folding Fortran Foundation Fraction +Frameworks Fred Fredrik Garcia @@ -132,6 +136,8 @@ Krah L Laboratories Letter +Libraries +Library License Licensee Lin @@ -190,8 +196,10 @@ Pascal Path Perl Permission +Phases Pillow Platform +Platforms Precision Print Private @@ -213,6 +221,7 @@ Redistributions Reference Reilly Research +Resources Reston Richard Rights @@ -231,6 +240,7 @@ Separator Sequence Set Sets +Settings Setup Shebang Shop @@ -242,6 +252,7 @@ Smalltalk Software Solaris Sox +Specific Sphinx Stacks Stallman @@ -254,6 +265,7 @@ Store String Subject Sun +Swift Sx Sy Syntax @@ -282,6 +294,7 @@ Van W Weather Windows +Xcode Yes Zen Zope @@ -310,6 +323,7 @@ alone ame amp an +analysis anchor and annotate @@ -318,6 +332,7 @@ annotation annotations any api +app append apple archives @@ -362,6 +377,7 @@ bereft big bignum bin +binaries binary binding bindings @@ -389,6 +405,7 @@ build built builtin builtins +bundle but by byte @@ -566,6 +583,7 @@ elements elif else email +embedded encoding end endian @@ -614,6 +632,7 @@ filter finder finders first +flag flags flatten float @@ -697,6 +716,8 @@ host hot however i +iPad +iPhone id idiom if @@ -1174,6 +1195,7 @@ station status stderr stdin +stdio stdout stop str @@ -1185,6 +1207,8 @@ strip stripped strtod struct +stub +stubs student style sub @@ -1216,6 +1240,7 @@ symmary syntactic syntax sys +sysconfig system systems t @@ -1235,6 +1260,7 @@ terminator terminators terms test +testbed testing testmod tests @@ -1418,6 +1444,7 @@ zlib αντ αντί ανταλλάσετε +αντιγραμμένοι αντικαθιστούμενη αντικατεστημένες αντικειμενοστρεφής @@ -1530,6 +1557,7 @@ zlib κεφαλίδας κεφαλίδες κεφαλίδων +κλωνοποιημένο κρυπτικό κωδικοποίηση κωδικοποιητή @@ -1544,6 +1572,7 @@ zlib μετα μεταβλητή μεταβλητών +μεταδεδομένα μεταδεδομένων μετακλάσεων μετακλάση @@ -1646,6 +1675,7 @@ zlib συσχετιστικοί σφαλμάτων τέλος +ταυτοποιεί τελεστέο τελεστέος τελεστέους @@ -1687,6 +1717,8 @@ zlib υποσυμβολοσειρά υποτετραγωνική υποτμημάτων +υποφάκελο +υποφάκελος χειριζόμενες χρήσιμες χρήσιμοι diff --git a/using/ios.po b/using/ios.po index 2e677cdd..5a9bf813 100644 --- a/using/ios.po +++ b/using/ios.po @@ -9,25 +9,25 @@ msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-06-19 17:36+0300\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"PO-Revision-Date: 2025-06-24 23:36+0300\n" +"Last-Translator: Panagiotis Skias \n" +"Language-Team: PyGreece \n" +"Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: using/ios.rst:5 msgid "Using Python on iOS" -msgstr "" +msgstr "Χρήση Python σε iOS" #: using/ios.rst:0 msgid "Authors" -msgstr "" +msgstr "Συγγραφείς" #: using/ios.rst:8 msgid "Russell Keith-Magee (2024-03)" -msgstr "" +msgstr "Russell Keith-Magee (2024-03)" #: using/ios.rst:10 msgid "" @@ -37,6 +37,13 @@ msgid "" "`python` executable and entering commands at an interactive prompt, or by " "running a Python script." msgstr "" +"Η Python σε iOS διαφέρει από την Python σε πλατφόρμες επιτραπέζιων " +"υπολογιστών. Σε μια πλατφόρμα επιτραπέζιων υπολογιστών, η Python " +"εγκαθίσταται γενικά ως πόρος συστήματος που μπορεί να χρησιμοποιηθεί από " +"οποιονδήποτε χρήστη αυτού του υπολογιστή. Στη συνέχεια, οι χρήστες " +"αλληλεπιδρούν με την Python εκτελώντας ένα εκτελέσιμο αρχείο :program:" +"`python` και εισάγοντας εντολές σε μια διαδραστική γραμμή εντολών ή " +"εκτελώντας ένα Python script." #: using/ios.rst:16 msgid "" @@ -44,6 +51,10 @@ msgid "" "unit of software distribution is an \"app\". There is also no console where " "you could run a :program:`python` executable, or interact with a Python REPL." msgstr "" +"Στο iOS, δεν υπάρχει η έννοια της εγκατάστασης ως πόρου συστήματος. Η μόνη " +"μονάδα διανομής λογισμικού είναι μια \"εφαρμογή\". Επίσης, δεν υπάρχει " +"κονσόλα που θα μπορούσατε να εκτελέσετε ένα εκτελέσιμο αρχείο :program:" +"`python` ή να αλληλεπιδράσετε με ένα Python REPL." #: using/ios.rst:20 msgid "" @@ -54,6 +65,13 @@ msgid "" "standard library, and all your Python code is then packaged as a standalone " "bundle that can be distributed via the iOS App Store." msgstr "" +"Ως αποτέλεσμα, ο μόνος τρόπος για να χρησιμοποιήσετε την Python σε iOS είναι " +"σε ενσωματωμένη λειτουργία - δηλαδή, γράφοντας μια εγγενή εφαρμογή iOS και " +"ενσωματώνοντας έναν διερμηνέα Python χρησιμοποιώντας το ``libPython``, και " +"καλώντας κώδικα Python χρησιμοποιώντας το :ref:`Python embedding API " +"`. Ο πλήρης διερμηνέα Python, η τυπική βιβλιοθήκη και όλος ο " +"κώδικας Python σας συσκευάζονται στην συνέχεια ως αυτόνομο πακέτο που μπορεί " +"να διανεμηθεί μέσω του iOS App Store." #: using/ios.rst:27 msgid "" @@ -63,14 +81,20 @@ msgid "" "These projects manage the complexities associated with getting an iOS " "project running, so you only need to deal with the Python code itself." msgstr "" +"Αν θέλετε να πειραματιστείτε για πρώτη φορά με τη σύνταξη μιας εφαρμογής iOS " +"σε Python, έργα όπως `BeeWare `__ και `Kivy `__ θα σας προσφέρουν μια πολύ πιο προσιτή εμπειρία χρήστη. Αυτά τα " +"έργα διαχειρίζονται τις πολυπλοκότητες που σχετίζονται με την εκτέλεση ενός " +"έργου iOS, επομένως χρειάζεται να ασχοληθείτε μόνο με τον ίδιο τον κώδικα " +"Python." #: using/ios.rst:34 msgid "Python at runtime on iOS" -msgstr "" +msgstr "Python κατά τον χρόνο εκτέλεσης σε iOS" #: using/ios.rst:37 msgid "iOS version compatibility" -msgstr "" +msgstr "Συμβατότητα έκδοσης iOS" #: using/ios.rst:39 msgid "" @@ -82,10 +106,18 @@ msgid "" "simulator`` would compile an ARM64 simulator build with a deployment target " "of 15.4." msgstr "" +"Η ελάχιστη υποστηριζόμενη έκδοση iOS καθορίζεται κατά τη στιγμή της " +"μεταγλώττισης, χρησιμοποιώντας την επιλογή :option:`--host` για τη " +"``ρύθμιση`` παραμέτρων. Από προεπιλογή, όταν μεταγλωττίζεται για iOS, η " +"Python θα μεταγλωττίζεται με μια ελάχιστη υποστηριζόμενη έκδοση iOS 13.0. " +"Για να χρησιμοποιήστε μια διαφορετική ελάχιστη έκδοση iOS, δώστε τον αριθμό " +"έκδοσης ως μέρος του ορίσματος :option:`!--host` - για παράδειγμα, το ``--" +"host=arm64-apple-ios15.4-simulator`` θα μεταγλωττίσει μια έκδοση προσομοιωτή " +"ARM64 με στόχο ανάπτυξης 15.4." #: using/ios.rst:48 msgid "Platform identification" -msgstr "" +msgstr "Αναγνώριση πλατφόρμας" #: using/ios.rst:50 msgid "" @@ -93,6 +125,9 @@ msgid "" "will be returned on an iPhone or iPad, regardless of whether the app is " "running on the simulator or a physical device." msgstr "" +"Κατά την εκτέλεση σε iOS, το ``sys.platform`` θα αναφέρεται ως ``ios``. Αυτή " +"η τιμή θα θα επιστραφεί σε ένα iPhone ή iPad, ανεξάρτητα από το αν η " +"εφαρμογή εκτελείται στον προσομοιωτή ή σε μια φυσική συσκευή." #: using/ios.rst:54 msgid "" @@ -101,16 +136,23 @@ msgid "" "obtained using :func:`platform.ios_ver`. :func:`platform.system` will report " "``iOS`` or ``iPadOS``, depending on the device." msgstr "" +"Πληροφορίες σχετικά με το συγκεκριμένο περιβάλλον εκτέλεσης, " +"συμπεριλαμβανομένης της έκδοσης iOS, του μοντέλου συσκευής και του εάν η " +"συσκευή είναι προσομοιωτής, μπορούν αν ληφθούν χρησιμοποιώντας τη :func:" +"`platform.ios_ver`. Η :func:`platform.system` θα αναφέρει ``iOS`` ή " +"``iPadOS``, ανάλογα με τη συσκευή." #: using/ios.rst:59 msgid "" ":func:`os.uname` reports kernel-level details; it will report a name of " "``Darwin``." msgstr "" +"Η :func:`os.uname` αναφέρει λεπτομέρειες σε επίπεδο πυρήνα∙ θα αναφέρει ένα " +"όνομα ``Darwin``." #: using/ios.rst:63 msgid "Standard library availability" -msgstr "" +msgstr "Διαθεσιμότητα τυπικής βιβλιοθήκης" #: using/ios.rst:65 msgid "" @@ -118,10 +160,13 @@ msgid "" "iOS. See the :ref:`API availability guide for iOS ` for " "details." msgstr "" +"Η τυπική βιβλιοθήκη Python έχει κάποιες αξιοσημείωτες παραλείψεις και " +"περιορισμούς στο iOS. Δείτε στον οδηγό διαθεσιμότητας :ref:`API availability " +"guide for iOS ` για λεπτομέρειες." #: using/ios.rst:70 msgid "Binary extension modules" -msgstr "" +msgstr "Δυαδικά modules επέκτασης" #: using/ios.rst:72 msgid "" @@ -130,6 +175,10 @@ msgid "" "One of these requirements governs how binary extension modules are " "distributed." msgstr "" +"Μια αξιοσημείωτη διαφορά σχετικά με το iOS ως πλατφόρμα είναι ότι η διανομή " +"του App Store επιβάλλει αυστηρές απαιτήσεις σχετικά με τη συσκευασία μιας " +"εφαρμογής. Μία από αυτές τις απαιτήσεις διέπει τον τρόπο διανομής των " +"δυαδικών modules επέκτασης." #: using/ios.rst:76 msgid "" @@ -139,6 +188,11 @@ msgid "" "single binary per framework, and there can be no executable binary material " "outside the ``Frameworks`` folder." msgstr "" +"Το iOS App Store απαιτεί από *όλα* τα δυαδικά modules σε μια εφαρμογή iOS να " +"είναι δυναμικές βιβλιοθήκες, που να περιέχονται σε ένα πλαίσιο με κατάλληλα " +"μεταδεδομένα, αποθηκευμένα στον φάκελο ``Frameworks`` της συσκευασμένης " +"εφαρμογής. Μπορεί να υπάρχει μόνο ένα δυαδικό αρχείο ανά πλαίσιο, και δεν " +"μπορεί να υπάρχει εκτελέσιμο υλικό εκτός του φακέλου ``Frameworks``." #: using/ios.rst:82 msgid "" @@ -150,6 +204,15 @@ msgid "" "For details on how to perform this post-processing, see the guide for :ref:" "`adding Python to your project `." msgstr "" +"Αυτό έρχεται σε αντίθεση με τη συνήθη προσέγγιση Python για τη διανομή " +"δυαδικών αρχείων, η οποία επιτρέπει τη φόρτωση μιας δυαδικής επέκτασης " +"module από οποιαδήποτε τοποθεσία στο ``sys.path``. Για να διασφαλιστεί η " +"συμμόρφωση με τις πολιτικές του App Store, ένα ενεργό iOS πρέπει να " +"επεξεργαστεί εκ των υστέρων τυχόν πακέτα Python, μετατρέποντας τις δυαδικές " +"μονάδες ``.so`` σε μεμονωμένα αυτόνομα πλαίσια με κατάλληλα μεταδεδομένα και " +"υπογραφή. Για λεπτομέρειες σχετικά με τον τρόπο εκτέλεσης αυτή της μετα-" +"επεξεργασίας, ανατρέξτε στον οδηγό για την :ref:`adding Python to your " +"project `." #: using/ios.rst:90 msgid "" @@ -160,6 +223,13 @@ msgid "" "framework must contain a ``.origin`` file that contains the location of the " "``.fwork`` file, relative to the app bundle." msgstr "" +"Για να βοηθηθεί η Python να ανακαλύψει δυαδικά αρχεία στη νέα τους θέση, το " +"αρχικό αρχείο ``.so`` στο ``sys.path`` αντικαθίσταται με ένα αρχείο ``." +"fwork``. Αυτό το αρχείο είναι ένα αρχείο κειμένου που περιέχει τη θέση του " +"δυαδικού αρχείου του framework, σε σχέση με το app bundle. Για να επιτραπεί " +"στο framework να επιστρέψει στην αρχική του θέση, το framework πρέπει να " +"περιέχει ένα αρχείο ``.origin`` που περιέχει τη θέση του αρχείου ``.fwork``, " +"σε σχέση με το app bundle." #: using/ios.rst:97 msgid "" @@ -176,6 +246,19 @@ msgid "" "framework would also contain ``Frameworks/foo.bar._whiz.framework/foo.bar." "_whiz.origin``, containing the path to the ``.fwork`` file." msgstr "" +"Για παράδειγμα, εξετάστε την περίπτωση μιας εντολής εισαγωγής ``from foo.bar " +"import _whiz``, όπου το ``_whiz`` υλοποιείται με το δυαδικό module ``sources/" +"foo/bar/_whiz.abi3.so``, με το ``sources`` να είναι η τοποθεσία που έχει " +"καταχωρηθεί στο ``sys.path``, σε σχέση με το bundle της εφαρμογής. Αυτό το " +"module *πρέπει* να διανεμηθεί ως ``Frameworks/foo.bar._whiz.framework/foo." +"bar._whiz`` (δημιουργώντας το όνομα του framework από την πλήρη διαδρομή " +"εισαγωγής του module), με ένα αρχείο ``Info.plist`` στον φάκελο ``." +"framework`` που να ταυτοποιεί το δυαδικό ως framework. Το module ``foo.bar." +"_whiz`` θα εκπροσωπείται στην αρχική του τοποθεσία με ένα αρχείο δείκτη " +"``sources/foo/bar/_whiz.abi3.fwork``, το οποίο περιέχει τη διαδρομή " +"``Frameworks/foo.bar._whiz/foo.bar._whiz``. Το framework θα περιέχει επίσης " +"το ``Frameworks/foo.bar._whiz.framework/foo.bar._whiz.origin``, το οποίο " +"περιέχει τη διαδρομή προς το αρχείο ``.fwork``." #: using/ios.rst:110 msgid "" @@ -186,10 +269,17 @@ msgid "" "class:`~importlib.machinery.ModuleSpec` for the loaded module will report " "the ``origin`` as the location of the binary in the framework folder." msgstr "" +"Κατά την εκτέλεση σε iOS, ο διερμηνέας της Python θα εγκαταστήσει μια :class:" +"`~importlib.machinery.AppleFrameworkLoader`, η οποία μπορεί να διαβάζει και " +"να εισάγει αρχεία ``.fwork``. Μόλις εισαχθεί, το χαρακτηριστικό ``__file__`` " +"του δυαδικού module θα αναφέρει ως τοποθεσία το αρχείο ``.fwork``. Ωστόσο, " +"η :class:`~importlib.machinery.ModuleSpec` για το φορτωμένο module θα " +"αναφέρει ως ``origin`` την τοποθεσία του δυαδικού αρχείου στον φάκελο του " +"framework." #: using/ios.rst:118 msgid "Compiler stub binaries" -msgstr "" +msgstr "Δυαδικά αρχεία προσομοίωσης μεταγλωττιστή" #: using/ios.rst:120 msgid "" @@ -198,12 +288,20 @@ msgid "" "iphoneos clang`` to get the ``clang`` for an iPhone device). However, using " "this script poses two problems:" msgstr "" +"Το Xcode δεν παρέχει άμεσα ξεχωριστούς μεταγλωττιστές για iOS· αντ’ αυτού, " +"χρησιμοποιεί ένα script ``xcrun`` που επιλύει την πλήρη διαδρομή του " +"μεταγλωττιστή (π.χ. ``xcrun --sdk iphoneos clang`` για να πάρεις τον " +"``clang`` για μια συσκευή iPhone). Ωστόσο, η χρήση αυτού του script " +"δημιουργεί δύο προβλήματα:" #: using/ios.rst:125 msgid "" "The output of ``xcrun`` includes paths that are machine specific, resulting " "in a sysconfig module that cannot be shared between users; and" msgstr "" +"Η έξοδος του ``xcrun`` περιλαμβάνει διαδρομές που εξαρτώνται από τη " +"συγκεκριμένη μηχανή, με αποτέλεσμα ένα module sysconfig να μην μπορεί να " +"κοινοποιηθεί μεταξύ διαφορετικών χρηστών· και" #: using/ios.rst:128 msgid "" @@ -212,6 +310,11 @@ msgid "" "command line at the first space to get the path to the compiler executable; " "this isn't the case when using ``xcrun``." msgstr "" +"Αυτό έχει ως αποτέλεσμα οι ορισμοί των ``CC``/``CPP``/``LD``/``AR`` να " +"περιλαμβάνουν κενά. Υπάρχουν πολλά εργαλεία στο οικοσύστημα της C που " +"υποθέτουν ότι η εντολή μπορεί να χωριστεί στον πρώτο κενό χαρακτήρα ώστε να " +"βρεθεί η διαδρομή προς το εκτελέσιμο του μεταγλωττιστή∙ κάτι που δεν ισχύει " +"όταν χρησιμοποιείται το ``xcrun``." #: using/ios.rst:133 msgid "" @@ -224,14 +327,25 @@ msgid "" "users to compile their own modules. When compiling third-party Python " "modules for iOS, you should ensure these stub binaries are on your path." msgstr "" +"Για να αποφευχθούν αυτά τα προβλήματα, η Python παρέχει stubs για αυτά τα " +"εργαλεία. Αυτά τα stubs είναι wrapper scripts κελύφους που τυλίγουν τα " +"υποκείμενα εργαλεία του ``xcrun``, και διανέμονται σε έναν φάκελο ``bin`` " +"μαζί με το μεταγλωττισμένο iOS framework. Αυτά τα scripts μπορούν να " +"προσαρμοστούν σε διαφορετικές τοποθεσίες, και πάντα θα δείχνουν στις σωστές " +"τοπικές διαδρομές του συστήματος. Συμπεριλαμβάνοντας αυτά τα scripts στο " +"φάκελο bin που συνοδεύει ένα framework, το περιεχόμενο του module " +"``sysconfig`` γίνεται χρήσιμο για τους τελικούς χρήστες, ώστε να μπορούν να " +"μεταγλωττίζουν τα δικά τους modules. Όταν μεταγλωττίζετε τρίτα modules " +"Python για iOS, πρέπει να βεβαιωθείτε ότι αυτά τα stub binaries είναι στο " +"PATH σας." #: using/ios.rst:143 msgid "Installing Python on iOS" -msgstr "" +msgstr "Εγκατάσταση της Python σε iOS" #: using/ios.rst:146 msgid "Tools for building iOS apps" -msgstr "" +msgstr "Εργαλεία για την κατασκευή εφαρμογών iOS" #: using/ios.rst:148 msgid "" @@ -242,6 +356,12 @@ msgid "" "Xcode Command Line Tools are not sufficient for iOS development; you need a " "*full* Xcode install." msgstr "" +"Η κατασκευή εφαρμογών για iOS απαιτεί τη χρήση των εργαλείων Xcode της Apple." +"Συνιστάται έντονα να χρησιμοποιείτε την πιο πρόσφατη σταθερή έκδοση του " +"Xcode. Αυτό θα απαιτήσει να έχετε την πιο πρόσφατη (ή τη δεύτερη πιο " +"πρόσφατη) έκδοση του macOS, καθώς η Apple δεν υποστηρίζει παλαιότερες " +"εκδόσεις macOS με νέες εκδόσεις Xcode. Τα εργαλεία γραμμής εντολών Xcode δεν " +"επαρκούν για ανάπτυξη iOS∙ χρειάζεται μια *πλήρης* εγκατάσταση του Xcode." #: using/ios.rst:155 msgid "" @@ -251,10 +371,15 @@ msgid "" "iOS Simulator Platform by selecting from the Platforms tab of the Xcode " "Settings panel." msgstr "" +"Αν θέλετε να τρέξετε τον κώδικά σας στον προσομοιωτή iOS, θα χρειαστεί " +"επίσης να εγκαταστήσετε μια Πλατφόρμα Προσομοίωσης iOS. Κατά την πρώτη " +"εκκίνηση του Xcode, θα σας ζητηθεί να επιλέξετε μια Πλατφόρμα Προσομοίωσης " +"iOS. Εναλλακτικά, μπορείτε να προσθέσετε μια Πλατφόρμα προσομοίωσηςiOS " +"επιλέγοντας την από την καρτέλα Platforms στο πάνελ ρυθμίσεων του Xcode." #: using/ios.rst:163 msgid "Adding Python to an iOS project" -msgstr "" +msgstr "Προσθήκη Python σε ένα έργο iOS" #: using/ios.rst:165 msgid "" @@ -263,10 +388,14 @@ msgid "" "find a library like `PythonKit `__ to " "be helpful." msgstr "" +"Η Python μπορεί να προστεθεί σε οποιοδήποτε έργο iOS, χρησιμοποιώντας είτε " +"Swift είτε Objective C. Τα ακόλουθα παραδείγματα θα χρησιμοποιήσουν " +"Objective C∙ εάν χρησιμοποιείτε Swift, μπορεί να σας φανεί χρήσιμη μια " +"βιβλιοθήκη όπως το `PythonKit `__ ." #: using/ios.rst:170 msgid "To add Python to an iOS Xcode project:" -msgstr "" +msgstr "Για να προσθέσετε Python σε ένα έργο iOS Xcode:" #: using/ios.rst:172 msgid "" @@ -276,6 +405,12 @@ msgid "" "supports ``arm64-apple-ios``, plus one of either ``arm64-apple-ios-" "simulator`` or ``x86_64-apple-ios-simulator``." msgstr "" +"Δημιουργήστε ή αποκτήστε ένα Python ``XCFramework``. Δείτε τις οδηγίες στο :" +"source:`iOS/README.rst` (στη διανομή πηγαίου κώδικα CPython) για " +"λεπτομέρειες σχετικά με τον τρόπο δημιουργίας ενός Python ``XCFramework``. " +"Κατ' ελάχιστον, θα χρειαστείτε μια έκδοση που υποστηρίζει το ``arm64-apple-" +"ios``, καθώς και ένα από τα ``arm64-apple-ios-simulator`` ή ``x86_64-apple-" +"ios-simulator``." #: using/ios.rst:178 msgid "" @@ -284,12 +419,19 @@ msgid "" "of your project; however, you can use any other location that you want by " "adjusting paths as needed." msgstr "" +"Μεταφέρετε το ``XCframework`` στο έργο σας iOS. Στις ακόλουθες οδηγίες, θα " +"υποθέσουμε ότι έχετε αποθέσει το ``XCframework`` στη ρίζα του έργου σας " +"ωστόσο, μπορείτε να χρησιμοποιήσετε οποιαδήποτε άλλη τοποθεσία θέλετε " +"προσαρμόζοντας τις διαδρομές όπως απαιτείται." #: using/ios.rst:183 msgid "" "Drag the ``iOS/Resources/dylib-Info-template.plist`` file into your project, " "and ensure it is associated with the app target." msgstr "" +"Μεταφέρετε το αρχείο ``iOS/Resources/dylib-Info-template.plist`` στο έργο " +"σας, και βεβαιωθείτε ότι έχει συσχετιστεί με τον στόχο (target) της " +"εφαρμογής." #: using/ios.rst:186 msgid "" @@ -299,55 +441,68 @@ msgid "" "adjusting paths as needed. Ensure that this folder is associated with your " "app target." msgstr "" +"Προσθέστε τον κώδικα της εφαρμογής σας ως φάκελο στο έργο σας στο Xcode. " +"Στις παρακάτω οδηγίες, θα υποθέσουμε ότι ο κώδικας του χρήστη βρίσκεται σε " +"έναν φάκελο με όνομα ``app`` στη ριζική τοποθεσία του έργου σας· μπορείτε να " +"χρησιμοποιήσετε οποιαδήποτε άλλη τοποθεσία, προσαρμόζοντας αναλόγως τις " +"διαδρομές. Βεβαιωθείτε ότι αυτός ο φάκελος έχει συσχετιστεί με τον στόχο " +"(target) της εφαρμογής σας." #: using/ios.rst:192 msgid "" "Select the app target by selecting the root node of your Xcode project, then " "the target name in the sidebar that appears." msgstr "" +"Επιλέξτε τον στόχο της εφαρμογής επιλέγοντας τον ριζικό κόμβο του έργου σας " +"στο Xcode και στη συνέχεια το όνομα του στόχου στην πλαϊνή στήλη που " +"εμφανίζεται." #: using/ios.rst:195 msgid "" "In the \"General\" settings, under \"Frameworks, Libraries and Embedded " "Content\", add ``Python.xcframework``, with \"Embed & Sign\" selected." msgstr "" +"Στις ρυθμίσεις \"General\" , κάτω από \"Frameworks, Libraries and Embedded " +"Content\", προσθέστε το ``Python.xcframework``, με επιλεγμένη την επιλογή " +"\"Embed & Sign\"" #: using/ios.rst:198 msgid "In the \"Build Settings\" tab, modify the following:" -msgstr "" +msgstr "Στην καρτέλα \"Build Settings\" , τροποποιήστε τα εξής" #: using/ios.rst:200 msgid "Build Options" -msgstr "" +msgstr "Build Options" #: using/ios.rst:202 msgid "User Script Sandboxing: No" -msgstr "" +msgstr "User Script Sandboxing: No" #: using/ios.rst:203 msgid "Enable Testability: Yes" -msgstr "" +msgstr "Enable Testability: Yes" #: using/ios.rst:205 msgid "Search Paths" -msgstr "" +msgstr "Search Paths" #: using/ios.rst:207 msgid "Framework Search Paths: ``$(PROJECT_DIR)``" -msgstr "" +msgstr "Framework Search Paths: ``$(PROJECT_DIR)``" #: using/ios.rst:208 msgid "" "Header Search Paths: ``\"$(BUILT_PRODUCTS_DIR)/Python.framework/Headers\"``" msgstr "" +"Header Search Paths: ``\"$(BUILT_PRODUCTS_DIR)/Python.framework/Headers\"``" #: using/ios.rst:210 msgid "Apple Clang - Warnings - All languages" -msgstr "" +msgstr "Apple Clang - Warnings - All languages" #: using/ios.rst:212 msgid "Quoted Include In Framework Header: No" -msgstr "" +msgstr "Quoted Include In Framework Header: No" #: using/ios.rst:214 msgid "" @@ -357,6 +512,13 @@ msgid "" "Name the step \"Install Target Specific Python Standard Library\", disable " "the \"Based on dependency analysis\" checkbox, and set the script content to:" msgstr "" +"Προσθέστε ένα βήμα κατασκευής που αντιγράφει τη βασική βιβλιοθήκη Python " +"στην εφαρμογή σας. Στην καρτέλα \"Build Phases\", προσθέστε ένα νέο βήμα " +"κατασκευής \"Run Script\" *πριν* από το βήμα \"Embed Frameworks\", αλλά " +"*μετά* το βήμα \"Copy Bundle Resources\". Ονομάστε το βήμα \"Install Target " +"Specific Python Standard Library\", απενεργοποιήστε το πλαίσιο επιλογής " +"\"Based on dependency analysis\" και ορίστε το περιεχόμενο του script ως " +"εξής:" #: using/ios.rst:220 msgid "" @@ -373,12 +535,27 @@ msgid "" "\"$CODESIGNING_FOLDER_PATH/python/lib/\"\n" "fi" msgstr "" +"set -e\n" +"\n" +"mkdir -p \"$CODESIGNING_FOLDER_PATH/python/lib\"\n" +"if [ \"$EFFECTIVE_PLATFORM_NAME\" = \"-iphonesimulator\" ]; then\n" +" echo \"Installing Python modules for iOS Simulator\"\n" +" rsync -au --delete \"$PROJECT_DIR/Python.xcframework/ios-arm64_x86_64-" +"simulator/lib/\" \"$CODESIGNING_FOLDER_PATH/python/lib/\"\n" +"else\n" +" echo \"Installing Python modules for iOS Device\"\n" +" rsync -au --delete \"$PROJECT_DIR/Python.xcframework/ios-arm64/lib/\" " +"\"$CODESIGNING_FOLDER_PATH/python/lib/\"\n" +"fi" #: using/ios.rst:233 msgid "" "Note that the name of the simulator \"slice\" in the XCframework may be " "different, depending the CPU architectures your ``XCFramework`` supports." msgstr "" +"Σημειώστε ότι το όνομα του προσομοιωτή \"slice\" στο XCframework μπορεί να " +"διαφέρει, ανάλογα με τις αρχιτεκτονικές CPU που υποστηρίζει το " +"``XCFramework`` σας." #: using/ios.rst:236 msgid "" @@ -388,6 +565,12 @@ msgid "" "Modules\". It should also have \"Based on dependency analysis\" unchecked, " "with the following script content:" msgstr "" +"Προσθέστε ένα δεύτερο βήμα δημιουργίας που επεξεργάζεται τις δυαδικές " +"μονάδες επέκτασης στην τυπική βιβλιοθήκη σε μορφή \"Framework\". Προσθέστε " +"ένα βήμα δημιουργίας \"Run Script\" *αμέσως μετά* αυτό που προσθέσατε στο " +"βήμα 8, με το όνομα \"Prepare Python Binary Modules\". Θα πρέπει επίσης να " +"έχει μη επιλεγμένο το \"Based on dependency analysis\", με το ακόλουθο " +"περιεχόμενο σεναρίου." #: using/ios.rst:242 msgid "" @@ -453,64 +636,145 @@ msgid "" "${OTHER_CODE_SIGN_FLAGS:-} -o runtime --timestamp=none --preserve-" "metadata=identifier,entitlements,flags --generate-entitlement-der \"{}\" \\;" msgstr "" +"set -e\n" +"\n" +"install_dylib () {\n" +" INSTALL_BASE=$1\n" +" FULL_EXT=$2\n" +"\n" +" # The name of the extension file\n" +" EXT=$(basename \"$FULL_EXT\")\n" +" # The location of the extension file, relative to the bundle\n" +" RELATIVE_EXT=${FULL_EXT#$CODESIGNING_FOLDER_PATH/}\n" +" # The path to the extension file, relative to the install base\n" +" PYTHON_EXT=${RELATIVE_EXT/$INSTALL_BASE/}\n" +" # The full dotted name of the extension module, constructed from the " +"file path.\n" +" FULL_MODULE_NAME=$(echo $PYTHON_EXT | cut -d \".\" -f 1 | tr \"/\" \"." +"\");\n" +" # A bundle identifier; not actually used, but required by Xcode " +"framework packaging\n" +" FRAMEWORK_BUNDLE_ID=$(echo $PRODUCT_BUNDLE_IDENTIFIER.$FULL_MODULE_NAME " +"| tr \"_\" \"-\")\n" +" # The name of the framework folder.\n" +" FRAMEWORK_FOLDER=\"Frameworks/$FULL_MODULE_NAME.framework\"\n" +"\n" +" # If the framework folder doesn't exist, create it.\n" +" if [ ! -d \"$CODESIGNING_FOLDER_PATH/$FRAMEWORK_FOLDER\" ]; then\n" +" echo \"Creating framework for $RELATIVE_EXT\"\n" +" mkdir -p \"$CODESIGNING_FOLDER_PATH/$FRAMEWORK_FOLDER\"\n" +" cp \"$CODESIGNING_FOLDER_PATH/dylib-Info-template.plist\" " +"\"$CODESIGNING_FOLDER_PATH/$FRAMEWORK_FOLDER/Info.plist\"\n" +" plutil -replace CFBundleExecutable -string \"$FULL_MODULE_NAME\" " +"\"$CODESIGNING_FOLDER_PATH/$FRAMEWORK_FOLDER/Info.plist\"\n" +" plutil -replace CFBundleIdentifier -string \"$FRAMEWORK_BUNDLE_ID\" " +"\"$CODESIGNING_FOLDER_PATH/$FRAMEWORK_FOLDER/Info.plist\"\n" +" fi\n" +"\n" +" echo \"Installing binary for $FRAMEWORK_FOLDER/$FULL_MODULE_NAME\"\n" +" mv \"$FULL_EXT\" \"$CODESIGNING_FOLDER_PATH/$FRAMEWORK_FOLDER/" +"$FULL_MODULE_NAME\"\n" +" # Create a placeholder .fwork file where the .so was\n" +" echo \"$FRAMEWORK_FOLDER/$FULL_MODULE_NAME\" > ${FULL_EXT%.so}.fwork\n" +" # Create a back reference to the .so file location in the framework\n" +" echo \"${RELATIVE_EXT%.so}.fwork\" > \"$CODESIGNING_FOLDER_PATH/" +"$FRAMEWORK_FOLDER/$FULL_MODULE_NAME.origin\"\n" +" }\n" +"\n" +" PYTHON_VER=$(ls -1 \"$CODESIGNING_FOLDER_PATH/python/lib\")\n" +" echo \"Install Python $PYTHON_VER standard library extension modules...\"\n" +" find \"$CODESIGNING_FOLDER_PATH/python/lib/$PYTHON_VER/lib-dynload\" -name " +"\"*.so\" | while read FULL_EXT; do\n" +" install_dylib python/lib/$PYTHON_VER/lib-dynload/ \"$FULL_EXT\"\n" +" done\n" +"\n" +" # Clean up dylib template\n" +" rm -f \"$CODESIGNING_FOLDER_PATH/dylib-Info-template.plist\"\n" +"\n" +" echo \"Signing frameworks as $EXPANDED_CODE_SIGN_IDENTITY_NAME " +"($EXPANDED_CODE_SIGN_IDENTITY)...\"\n" +" find \"$CODESIGNING_FOLDER_PATH/Frameworks\" -name \"*.framework\" -exec /" +"usr/bin/codesign --force --sign \"$EXPANDED_CODE_SIGN_IDENTITY\" " +"${OTHER_CODE_SIGN_FLAGS:-} -o runtime --timestamp=none --preserve-" +"metadata=identifier,entitlements,flags --generate-entitlement-der \"{}\" \\;" #: using/ios.rst:292 msgid "" "Add Objective C code to initialize and use a Python interpreter in embedded " "mode. You should ensure that:" msgstr "" +"Προσθέστε κώδικα Objective C για να αρχικοποιήσετε και να χρησιμοποιήσετε " +"έναν διερμηνέα Python σε ενσωματωμένη λειτουργία. Θα πρέπει να βεβαιωθείτε " +"ότι:" #: using/ios.rst:295 msgid "UTF-8 mode (:c:member:`PyPreConfig.utf8_mode`) is *enabled*;" msgstr "" +"Η λειτουργία UTF-8 (:c:member:`PyPreConfig.utf8_mode`) είναι " +"*ενεργοποιημένη* ∙" #: using/ios.rst:296 msgid "Buffered stdio (:c:member:`PyConfig.buffered_stdio`) is *disabled*;" msgstr "" +"Το Buffered stdio (:c:member:`PyConfig.buffered_stdio`) είναι " +"*απενεργοποιημένο* ∙" #: using/ios.rst:297 msgid "Writing bytecode (:c:member:`PyConfig.write_bytecode`) is *disabled*;" msgstr "" +"Η εγγραφή bytecode (:c:member:`PyConfig.write_bytecode`) είναι " +"*απενεργοποιημένη* ∙" #: using/ios.rst:298 msgid "" "Signal handlers (:c:member:`PyConfig.install_signal_handlers`) are *enabled*;" msgstr "" +"Οι χειριστές σημάτων (:c:member:`PyConfig.install_signal_handlers`) είναι " +"*ενεργοποιημένοι* ∙" #: using/ios.rst:299 msgid "" "System logging (:c:member:`PyConfig.use_system_logger`) is *enabled* " "(optional, but strongly recommended; this is enabled by default);" msgstr "" +"Η καταγραφή συστήματος (:c:member:`PyConfig.use_system_logger`) είναι " +"*ενεργοποιημένη* (προαιρετική, αλλά συνίσταται ανεπιφύλακτα∙ είναι " +"ενεργοποιημένη από προεπιλογή)∙" #: using/ios.rst:301 msgid "" "``PYTHONHOME`` for the interpreter is configured to point at the ``python`` " "subfolder of your app's bundle; and" msgstr "" +"Το ``PYTHONHOME`` για τον διερμηνέα έχει ρυθμιστεί ώστε να δείχνει στον " +"υποφάκελο ``python`` της δέσμης της εφαρμογής σας∙ και" #: using/ios.rst:303 msgid "The ``PYTHONPATH`` for the interpreter includes:" -msgstr "" +msgstr "Το ``PYTHONPATH`` για τον διερμηνέα περιλαμβάνει:" #: using/ios.rst:305 msgid "the ``python/lib/python3.X`` subfolder of your app's bundle," -msgstr "" +msgstr "τον υποφάκελο ``python/lib/python3.X`` της δέσμης της εφαρμογής σας," #: using/ios.rst:306 msgid "" "the ``python/lib/python3.X/lib-dynload`` subfolder of your app's bundle, and" msgstr "" +"ο υποφάκελος ``python/lib/python3.X/lib-dynload`` της δέσμης της εφαρμογής " +"σας, και" #: using/ios.rst:307 msgid "the ``app`` subfolder of your app's bundle" -msgstr "" +msgstr "ο υποφάκελος ``app`` της δέσμης της εφαρμογής σας" #: using/ios.rst:309 msgid "" "Your app's bundle location can be determined using ``[[NSBundle mainBundle] " "resourcePath]``." msgstr "" +"Η τοποθεσία της εφαρμογής σας στο πακέτο μπορεί να προσδιοριστεί " +"χρησιμοποιώντας την εντολή ``[[NSBundle mainBundle] resourcePath]``." #: using/ios.rst:312 msgid "" @@ -518,6 +782,10 @@ msgid "" "of pure Python application code, named ``app``. If you have third-party " "binary modules in your app, some additional steps will be required:" msgstr "" +"Τα βήματα 8, 9 και 10 αυτών των οδηγιών προϋποθέτουν ότι έχετε έναν μόνο " +"φάκελο με καθαρό κώδικα εφαρμογής Python, με το όνομα ``app``. Εάν έχετε " +"δυαδικά modules τρίτων κατασκευαστών στην εφαρμογής σας, θα απαιτηθούν " +"ορισμένα επιπλέον βήματα:" #: using/ios.rst:316 msgid "" @@ -527,6 +795,12 @@ msgid "" "specific build is targeting (i.e., delete any device binaries if you're " "building an app targeting the simulator)." msgstr "" +"Πρέπει να βεβαιωθείτε ότι τυχόν φάκελοι που περιέχουν δυαδικά αρχεία τρίτων " +"είναι είτε συσχετισμένοι με τον στόχο της εφαρμογής είτε αντιγραμμένοι ως " +"μέρος του βήματος 8. Το βήμα 8 θα πρέπει επίσης να καθαρίσει τυχόν δυαδικά " +"αρχεία που δεν είναι κατάλληλα για την πλατφόρμα στην οποία στοχεύει μια " +"συγκεκριμένη έκδοση (δηλαδή, να διαγράψει τυχόν δυαδικά αρχεία συσκευής εάν " +"δημιουργείτε μια εφαρμογή που στοχεύει τον προσομοιωτή)." #: using/ios.rst:322 msgid "" @@ -534,16 +808,22 @@ msgid "" "framework form by step 9. The invocation of ``install_dylib`` that processes " "the ``lib-dynload`` folder can be copied and adapted for this purpose." msgstr "" +"Οποιοιδήποτε φάκελοι περιέχουν δυαδικά αρχεία τρίτων πρέπει να υποβληθούν σε " +"επεξεργασία σε μορφή framework στο βήμα 9. Η κλήση του ``install_dylib`` που " +"επεξεργάζεται τον φάκελο ``lib-dynload`` μπορεί να αντιγραφεί και να " +"προσαρμοστεί για αυτόν τον σκοπό." #: using/ios.rst:326 msgid "" "If you're using a separate folder for third-party packages, ensure that " "folder is included as part of the ``PYTHONPATH`` configuration in step 10." msgstr "" +"Εάν χρησιμοποιείτε ξεχωριστό φάκελο για πακέτα τρίτων, βεβαιωθείτε ότι ο " +"φάκελος περιλαμβάνεται ως μέρος της διαμόρφωσης ``PYTHONPATH`` στο βήμα 10." #: using/ios.rst:330 msgid "Testing a Python package" -msgstr "" +msgstr "Δοκιμή ενός πακέτου Python" #: using/ios.rst:332 msgid "" @@ -552,18 +832,28 @@ msgid "" "testbed can also be used as a testbed project for running your Python " "library's test suite on iOS." msgstr "" +"Το δένδρο πηγαίου κώδικα της CPython περιέχει το :source:`a testbed project " +"` που χρησιμοποιείται για την εκτέλεση της σουίτας δοκιμών " +"CPython στον προσομοιωτή iOS. Αυτό το δοκιμαστικό πλαίσιο μπορεί επίσης να " +"χρησιμοποιηθεί ως έργο δοκιμαστικής πλατφόρμας για την εκτέλεση της σουίτας " +"δοκιμών της βιβλιοθήκης Python σε iOS." #: using/ios.rst:336 msgid "" "After building or obtaining an iOS XCFramework (See :source:`iOS/README.rst` " "for details), create a clone of the Python iOS testbed project by running:" msgstr "" +"Αφού δημιουργήσετε ή αποκτήσετε ένα iOS XCFramework (Δείτε :source:`iOS/" +"README.rst` για λεπτομέρειες), δημιουργήστε ένα κλώνο του έργου Python iOS " +"testbed εκτελώντας:" #: using/ios.rst:339 msgid "" "$ python iOS/testbed clone --framework --app " " --app app-testbed" msgstr "" +"$ python iOS/testbed clone --framework --app " +" --app app-testbed" #: using/ios.rst:343 msgid "" @@ -576,6 +866,15 @@ msgid "" "testbed/iOSTestbed/app_packages`` folder (using ``pip install --target app-" "testbed/iOSTestbed/app_packages`` or similar)." msgstr "" +"Θα χρειαστεί να τροποποιήσετε την αναφορά ``iOS/testbed`` ώστε να δείχνει σε " +"εκείνον τον φάκελο στο δέντρο πηγαίου κώδικα τη CPython∙ οποιοιδήποτε " +"φάκελοι καθοριστούν με το flag ``--app`` θα αντιγραφούν στο κλωνοποιημένο " +"έργο testbed. Το τελικό testbed θα δημιουργηθεί στο φάκελο ``app-testbed``. " +"Σε αυτό το παράδειγμα, τα ``module1`` και ``module2`` θα είναι module που " +"μπορούν να εισαχθούν κατά τον χρόνο εκτέλεσης. Αν το έργο σας έχει επιπλέον " +"εξαρτήσεις μπορείτε να τις εγκαταστήσετε στον φάκελο ``app-testbed/" +"iOSTestbed/app_packages`` (χρησιμοποιώντας το ``pip install --target app-" +"testbed/iOSTestbed/app_packages`` ή παρόμοια εντολή)." #: using/ios.rst:352 msgid "" @@ -583,10 +882,14 @@ msgid "" "app, For example, if ``module1.tests`` was the entry point to your test " "suite, you could run:" msgstr "" +"Στη συνέχεια, μπορείτε να χρησιμοποιήσετε τον φάκελο ``app-testbed`` για να " +"εκτελέσετε τη σουίτα δοκιμών για την εφαρμογή σας. Για παράδειγμα, εάν το " +"``module1.tests`` ήταν το σημείο εισόδου στη σουίτα δοκιμών σας, θα " +"μπορούσατε να εκτελέσετε." #: using/ios.rst:356 msgid "$ python app-testbed run -- module1.tests" -msgstr "" +msgstr "$ python app-testbed run -- module1.tests" #: using/ios.rst:360 msgid "" @@ -594,22 +897,30 @@ msgid "" "Python build. Any arguments after the ``--`` will be passed to the testbed " "as if they were arguments to ``python -m`` on a desktop machine." msgstr "" +"Αυτό ισοδυναμεί με την εκτέλεση της εντολής ``python -m module1.tests`` σε " +"μια έκδοση Python για επιτραπέζιους υπολογιστές. Οποιαδήποτε ορίσματα μετά " +"το ``--`` θα περαστούν στο testbed σαν να ήταν ορίσματα στην εντολή ``python " +"-m`` σε έναν επιτραπέζιο υπολογιστή." #: using/ios.rst:364 msgid "You can also open the testbed project in Xcode by running:" msgstr "" +"Μπορείτε επίσης να ανοίξετε το έργο δοκιμαστικής πλατφόρμας στο Xcode " +"εκτελώντας:" #: using/ios.rst:366 msgid "$ open app-testbed/iOSTestbed.xcodeproj" -msgstr "" +msgstr "$ open app-testbed/iOSTestbed.xcodeproj" #: using/ios.rst:370 msgid "This will allow you to use the full Xcode suite of tools for debugging." msgstr "" +"Αυτό θα σας επιτρέψει να χρησιμοποιήσετε την πλήρη σουίτα εργαλείων Xcode " +"για τον εντοπισμό σφαλμάτων." #: using/ios.rst:373 msgid "App Store Compliance" -msgstr "" +msgstr "Συμμόρφωση με το App Store" #: using/ios.rst:375 msgid "" @@ -619,6 +930,9 @@ msgid "" "validation rules that inspect the submitted application bundle for " "problematic code." msgstr "" +"Ο μόνος μηχανισμός για τη διανομή εφαρμογών σε συσκευές iOS τρίτων είναι η " +"υποβολή της εφαρμογής στο iOS App Store∙ οι εφαρμογές που υποβάλλονται για " +"διανομή πρέπει να περάσουν τη διαδικασία αξιολόγησης εφαρμογών της Apple." #: using/ios.rst:380 msgid "" @@ -627,6 +941,11 @@ msgid "" "Apple's review rules cannot be challenged; so, it is necessary to modify the " "Python standard library for an app to pass App Store review." msgstr "" +"Η τυπική βιβλιοθήκη Python περιέχει κώδικα που είναι γνωστό ότι παραβιάζει " +"αυτούς τους αυτοματοποιημένου κανόνες. Ενώ αυτές οι παραβιάσεις φαίνεται να " +"είναι ψευδώς θετικές, οι κανόνες αξιολόγησης της Apple δεν μπορούν να " +"αμφισβητηθούν∙ επομένως, είναι απαραίτητο να τροποποιήσετε τη τυπική " +"βιβλιοθήκη Python για να περάσει μια εφαρμογή την αξιολόγηση του App Store." #: using/ios.rst:385 msgid "" @@ -635,3 +954,8 @@ msgid "" "issues with the App Store review process. This patch is applied " "automatically when building for iOS." msgstr "" +"Το δέντρο πηγαίου κώδικα της Python περιέχει :source:`a patch file ` που θα αφαιρέσει όλο τον κώδικα που " +"είναι γνωστό ότι προκαλεί προβλήματα με τη διαδικασία αξιολόγησης του App " +"Store. Αυτή η ενημέρωση κώδικα εφαρμόζεται αυτόματα κατά τη δημιουργία για " +"iOS."