diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 00000000..89d06ae0 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,47 @@ +{ + "name": "Python Translation Devcontainer", + "image": "python:3.12-slim", + "customizations": { + "vscode": { + "extensions": [ + "eamodio.gitlens", + "github.vscode-pull-request-github", + "github.vscode-github-actions", + "redhat.vscode-yaml", + "gettext.gettext", + "restructuredtext.restructuredtext" + ], + "settings": { + "[python]": { + "editor.formatOnSave": true, + "editor.codeActionsOnSave": { + "source.organizeImports": "always" + } + }, + "python.defaultInterpreterPath": "/usr/local/bin/python3", + "terminal.integrated.defaultProfile.linux": "zsh", + "terminal.integrated.profiles.linux": { + "zsh": { + "path": "/bin/zsh" + } + }, + "terminal.integrated.env.linux": { + "ZSH": "/bin/zsh" + } + } + } + }, + "features": { + "ghcr.io/devcontainers/features/git:1": { + "version": "latest" + }, + "ghcr.io/devcontainers/features/common-utils:2": {} + }, + "workspaceFolder": "/python-docs-gr", + "workspaceMount": "source=${localWorkspaceFolder},target=/python-docs-gr,type=bind,consistency=cached", + "postCreateCommand": "sudo apt-get update && sudo apt-get install -y hunspell hunspell-el && pip install -r ./requirements.txt", + "mounts": [ + "source=pip-cache,target=/home/translator/.cache/pip,type=volume" + ], + "remoteUser": "translator" +} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6c495939..9733a67d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,28 +1,35 @@ # Οδηγός συνεισφοράς στο πρότζεκτ Python-Docs-Gr της κοινότητας PyGreece -Eυχαριστούμε πολύ για το ενδιαφέρον σας να συμμετέχετε στη μετάφραση των επίσημων εγγράφων της Python στα Ελληνικά! +Ευχαριστούμε πολύ για το ενδιαφέρον σας να συμμετέχετε στη μετάφραση των επίσημων εγγράφων της Python στα Ελληνικά! Το συγκεκριμένο πρότζεκτ έχει ξεκινήσει από το PyGreece, μια online κοινότητα εθελοντών της Python. Στο συγκεκριμένο repository θα βρείτε την ομάδα εργασίας που είναι υπεύθυνη για το πρότζεκτ. Όλο το περιεχόμενο της μετάφρασης συντηρείται από εθελοντές που συνεισφέρουν το χρόνο και την εργασία τους στην κοινότητα της Python. Σε περίπτωση που έχετε οποιαδήποτε απορία για το πρότζεκτ, μπορείτε να μας βρείτε με τους εξής τρόπους: -- Μπορείτε να μπείτε στον discord server του PyGreece (πρόσκληση εδώ: https://discord.gg/evcNPRVCMB) +- [Discord server](https://discord.gg/evcNPRVCMB) -- Μπορείτε να μας βρείτε στο linkedin [εδώ](https://www.linkedin.com/company/pygreece) +- [LinkedIn](https://www.linkedin.com/company/pygreece) Πριν ξεκινήσετε με την πρώτη σας μετάφραση θα θέλαμε να μοιραστούμε [κάποιες γενικές οδηγίες](#γενικές-οδηγίες). ## Περιεχόμενα -1. [Προετοιμασία](#προετοιμασία) -2. [Συνεισφορά](#συνεισφορά) - 1. [Μετάφραση Αρχείου](#μετάφραση-αρχείου) - 2. [Αξιολόγηση Μετάφρασης](#αξιολόγηση-μετάφρασης) -3. [Λερώστε τα χέρια σας! Μεταφράστε!](#λερώστε-τα-χέρια-σας-μεταφράστε) +- [Προετοιμασία](#προετοιμασία) + - [Δημιουργία Fork και Ρύθμιση του Repository](#δημιουργία-fork-και-ρύθμιση-του-repository) + - [Χρήση DevContainers με VSCode](#χρήση-devcontainers-με-vscode-προτεινόμενη) + - [Εναλλακτικές Ρυθμίσεις](#εναλλακτικές-ρυθμίσεις) +- [Συνεισφορά](#συνεισφορά) + - [Μετάφραση Αρχείου](#μετάφραση-αρχείου) + - [Αξιολόγηση Μετάφρασης](#αξιολόγηση-μετάφρασης) + - [Λερώστε τα χέρια σας! Μεταφράστε!](#λερώστε-τα-χέρια-σας-μεταφράστε) +- [Εργαλεία Ελέγχου & Προεπισκόπηση Αλλαγών](#εργαλεία-ελέγχου--προεπισκόπηση-αλλαγών-προαιρετικό) +- [Γενικές Οδηγίες](#γενικές-οδηγίες) -### Προετοιμασία +## Προετοιμασία -Αυτό γίνεται μόνο μία φορά. Σκόπος είναι η δημιουργία ενός προσωπικού αντιγράφου του έργου. Με το συγκεκριμένο fork μπορείτε να κάνετε όσα PR θέλετε. +### Δημιουργία Fork και Ρύθμιση του Repository + +Ακολουθήστε τα παρακάτω βήματα για να ρυθμίσετε το περιβάλλον σας. Αυτό είναι απαραίτητο πριν ξεκινήσετε οποιαδήποτε μετάφραση και γίνεται μόνο μία φορά. Σκοπός είναι η δημιουργία ενός προσωπικού αντιγράφου του έργου. Με το συγκεκριμένο fork μπορείτε να κάνετε όσα PR θέλετε. 1. Για να υποβάλετε μια μετάφραση, πρέπει να έχετε ένα fork του repository, κάνοντας click στο κουμπί fork όπως φαίνεται παρακάτω (για περισσότερες πληροφορίες δείτε [εδώ](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo)). Αυτό σας επιτρέπει να δημιουργήσετε ένα προσωπικό αντίγραφο του repository για να δουλέψετε και να κάνετε αλλαγές πάνω σε αυτό: @@ -31,7 +38,7 @@ Eυχαριστούμε πολύ για το ενδιαφέρον σας να σ 2. Κάντε clone το repository που μόλις δημιουργήσατε: ```bash -git clone git@github.com:<το username σας>/python-docs-gr.git +git clone --recursive git@github.com:<το username σας>/python-docs-gr.git ``` 3. Μεταβείτε στον φάκελο που δημιουργήθηκε: @@ -46,18 +53,31 @@ cd python-docs-gr/ git remote add upstream git@github.com:pygreece/python-docs-gr.git ``` -5. Και πληκτρολογήστε την παρακάτω εντολή για το upstream του repository σας: +5. Προσθέστε το κατάλληλο URL για το upstream repository σας: ```bash git remote set-url --push upstream git@github.com:/cpython.git ``` -6. Τέλος κατεβάστε το περιεχόμενο του cpython submodule πληκτρολογώντας: +### Χρήση DevContainers με VSCode [Προτεινόμενη] + +**Προαπαιτούμενα** + +- Εγκαταστήστε το Docker Desktop ([Οδηγίες Εγκατάστασης](https://www.docker.com/products/docker-desktop/)). +- Εγκαταστήστε το Visual Studio Code ([Κατεβάστε το εδώ](https://code.visualstudio.com)). +- Εγκαταστήστε την επέκταση Dev Containers στο VSCode ([Κατεβάστε την εδώ](vscode:extension/ms-vscode-remote.remote-containers)). + +Ανοίξτε το repository στο VSCode: + ```bash -git submodule update --init +code python-docs-gr ``` -7. [Προαιρετικό βήμα] Δημιουργείστε ένα virtual environment και κάντε activate: +Όταν σας ζητηθεί, ανοίξτε το DevContainer κάνοντας click στην επιλογή: "Reopen in Container". + +### Εναλλακτικές Ρυθμίσεις + +1. Δημιουργήστε ένα virtual environment και κάντε activate: ```bash python -m venv env @@ -65,7 +85,7 @@ source env/bin/activate # macOS or Linux env\Scripts\activate.bat # Windows ``` -8. [Προαιρετικό βήμα] Εγκαταστήστε τα requirements: +2. Εγκαταστήστε τα requirements: ```bash pip install -r requirements.txt @@ -79,17 +99,17 @@ pip install -r requirements.txt ### Μετάφραση Αρχείου -Μπορείτε να συνεισφέρετε στην μετάφραση ενός αρχείου από αυτά που θα βρείτε στα [issues](https://github.com/pygreece/python-docs-gr/issues?q=is%3Aissue+is%3Aopen+label%3Atranslation). +Μπορείτε να συνεισφέρετε στη μετάφραση ενός αρχείου από αυτά που θα βρείτε στα [issues](https://github.com/pygreece/python-docs-gr/issues?q=is%3Aissue+is%3Aopen+label%3Atranslation). Η διαδικασία μετάφρασης ενός αρχείου είναι η εξής: -- Επιλέξτε οποιοδήποτε από τα **Issues** που δεν έχουν ανατεθεί σε κάποιο άλλο άτομο. +- Επιλέξτε οποιοδήποτε από τα **Issues** που δεν έχουν ανατεθεί σε κάποιο άλλο άτομο. -- Αφήστε ένα σχόλιο στο **Issue** λέγοντας ότι θέλετε να συνεισφέρετε, αναλαμβάνοντας το συγκεκριμένο **Issue**. +- Αφήστε ένα σχόλιο στο **Issue** λέγοντας ότι θέλετε να συνεισφέρετε, αναλαμβάνοντας το συγκεκριμένο **Issue**. -- Περιμένετε έναν διαχειριστή να σας αναθέσει το **Issue**. +- Περιμένετε έναν διαχειριστή να σας αναθέσει το **Issue**. -- Ξεκινήστε τη μετάφραση! +- Ξεκινήστε τη μετάφραση! Τα **Issues** είναι χωρισμένα σε milestones: @@ -97,25 +117,25 @@ To milestone που μπορείτε να συνεισφέρετε είναι τ Επίσης, για διευκόλυνση, έχουμε κάνει μια κατηγοριοποίηση των **Issues** με βάση το μέγεθος (γραμμές κώδικα προς μετάφραση). Πιο αναλυτικά: -- [small](https://github.com/pygreece/python-docs-gr/labels/small) για αρχεία με λιγότερες από _200_ γραμμές -- [medium](https://github.com/pygreece/python-docs-gr/labels/medium) για αρχεία με λιγότερες από _500_ γραμμές -- [large](https://github.com/pygreece/python-docs-gr/labels/large) για αρχεία με λιγότερες από _1000_ γραμμές -- [xlarge](https://github.com/pygreece/python-docs-gr/labels/xlarge) για αρχεία με λιγότερες από _2500_ γραμμές -- [god](https://github.com/pygreece/python-docs-gr/labels/small) (για τους τολμηρούς) για αρχεία με περισσόρερες από _2500_ γραμμές +- [small](https://github.com/pygreece/python-docs-gr/labels/small) για αρχεία με λιγότερες από _200_ γραμμές +- [medium](https://github.com/pygreece/python-docs-gr/labels/medium) για αρχεία με λιγότερες από _500_ γραμμές +- [large](https://github.com/pygreece/python-docs-gr/labels/large) για αρχεία με λιγότερες από _1000_ γραμμές +- [xlarge](https://github.com/pygreece/python-docs-gr/labels/xlarge) για αρχεία με λιγότερες από _2500_ γραμμές +- [god](https://github.com/pygreece/python-docs-gr/labels/small) (για τους τολμηρούς) για αρχεία με περισσότερες από _2500_ γραμμές ### Αξιολόγηση Μετάφρασης -Μπορείτε να συνεισφέρετε κάνοντας μια αξιολόγηση των ήδη μεταφρασμένων αρχείων, για τυχόν παρατηρήσεις, βελτιώσεις, ελλείψεις ή διορθώσεις στην μετάφραση. +Μπορείτε να συνεισφέρετε κάνοντας μια αξιολόγηση των ήδη μεταφρασμένων αρχείων, για τυχόν παρατηρήσεις, βελτιώσεις, ελλείψεις ή διορθώσεις στη μετάφραση. Η διαδικασία είναι: -- Ανοίξτε ένα **Issue** +- Ανοίξτε ένα **Issue** - ![new_issue](/public/assets/new-issue.png) + ![new_issue](/public/assets/new-issue.png) -- Γράψτε στην περιγραφή τις παρατηρήσεις σας. -- Μέσα από τα σχόλια του **Issue** θα συζητηθεί η παρατήρηση και το σχόλιο σας. -- Αν από τη συζήτηση προκύψει ότι απαιτείται κάποια αλλάγη, είναι αρεστό να την αναλάβετε εσείς. Κατ' αυτόν τον τρόπο θα κλείσετε το **Issue** σας με ένα δικό σας PR. +- Γράψτε στην περιγραφή τις παρατηρήσεις σας. +- Μέσα από τα σχόλια του **Issue** θα συζητηθεί η παρατήρηση και το σχόλιο σας. +- Αν από τη συζήτηση προκύψει ότι απαιτείται κάποια αλλαγή, είναι αρεστό να την αναλάβετε εσείς. Κατ' αυτόν τον τρόπο θα κλείσετε το **Issue** σας με ένα δικό σας PR. ### Λερώστε τα χέρια σας! Μεταφράστε! @@ -123,15 +143,15 @@ To milestone που μπορείτε να συνεισφέρετε είναι τ Τα αρχεία που πρέπει να μεταφραστούν είναι αυτά με την κατάληξη `.po`. -Τα εργαλεία που προτείνουμε να χρησιμοποιήσετε είναι το [VScode](https://code.visualstudio.com/) ή το [PoEdit](https://poedit.net/). Για το [VScode](https://code.visualstudio.com/) μια χρήσιμη επέκταση είναι το [`gettext` extension](https://marketplace.visualstudio.com/items?itemName=mrorz.language-gettext). Αντίθετα το [PoEdit](https://poedit.net/) χρησιμοποιεί ένα καλύτερο περιβάλλον διεπαφής και δεν απατείται να ασχοληθεί ο χρήστης με τη δομή του αρχείου. +Τα εργαλεία που προτείνουμε να χρησιμοποιήσετε είναι το [VSCode](https://code.visualstudio.com/) ή το [Poedit](https://poedit.net/). Για το [VSCode](https://code.visualstudio.com/) μια χρήσιμη επέκταση είναι το [`gettext` extension](https://marketplace.visualstudio.com/items?itemName=mrorz.language-gettext). Αντίθετα, το [Poedit](https://poedit.net/) χρησιμοποιεί ένα καλύτερο περιβάλλον διεπαφής και δεν απαιτείται να ασχοληθεί ο χρήστης με τη δομή του αρχείου. -2. Επιβεβαιώστε ότι είστε στο 3.12 branch (πολύ σημαντικό βήμα για να αποφύγετε να ξεκινήσετε ένα branch από παλαιότερη έκδοση): +1. Επιβεβαιώστε ότι είστε στο 3.12 branch (πολύ σημαντικό βήμα για να αποφύγετε να ξεκινήσετε ένα branch από παλαιότερη έκδοση): ```bash git checkout 3.12 ``` -3. Δημιουργείστε ένα branch βασισμένο στο αρχείο που θα δουλέψετε. Για παράδειγμα, εάν δουλέυετε στο αρχείο library/ast.po το όνομα του branch θα μπορούσε να είναι: +2. Δημιουργήστε ένα branch βασισμένο στο αρχείο που θα δουλέψετε. Για παράδειγμα, εάν δουλέυετε στο αρχείο library/ast.po το όνομα του branch θα μπορούσε να είναι: ```bash git checkout -b translate-library-ast @@ -145,45 +165,15 @@ git checkout -b library-set git checkout -b ft/library-set ``` -4. Αφού έχετε διαλέξει το αρχείο σας, ξεκινήστε την μετάφραση στο IDE της επιλογής σας. Επίσης μπορείτε να χρησιμοποιήσετε εργαλεία για την σωστή μετάφραση προτάσεων, φράσεων ή λέξεων. - -5. Εφόσον έχετε ολοκληρώσει τη μετάφρασή σας είναι απαραίτητο να χρησιμοποιήσετε τις εντολές που αναφέρονται παρακάτω προκειμένου να γίνει μορφοποίηση του αρχείου για να έχει μια σωστή δομή καθώς και να γίνει ορθογραφικός έλεγχος. - - 1. `powrap`: έλεγχος και μορφοποίηση της δομής του αρχείου. Μπορείτε να χρησιμοποιήσετε το ακόλουθο script. - - ```bash - powrap <φάκελος>/<όνομα_του_αρχείου>.po - ``` - - Εάν είστε χρήστης των windows μπορείτε να δείτε περισσότερες πληροφορίες [εδώ](https://python-docs-es.readthedocs.io/es/3.12/faq.html#powrap-windows). - - 2. `popspell`: ορθογραφικός έλεγχος του αρχείου [pospell](https://github.com/AFPy/pospell). Μπορείτε να χρησιμοποιήσετε το ακόλουθο script. - - ```bash - python scripts/check_spelling.py <φάκελος>/<όνομα_του_αρχείου>.po - ``` - - Εάν κάποια από τις λέξεις δεν είναι αναγνωρισμένη από το script προσθέστε την στο [dictionary](/dictionaries/main.txt) και επαναλάβετε. - - 3. `pre-commit`: ετοιμάζει και κάνει τις απαραίτητες διαδικασίες προκειμένου το αρχείο να περάσει επιτυχώς τους ελέγχους για την προσάρτισή του. Μπορείτε να χρησιμοποιήσετε το ακόλουθο script. - - ```bash - pre-commit run --all-files - ``` +3. Αφού έχετε διαλέξει το αρχείο σας, ξεκινήστε τη μετάφραση στο IDE της επιλογής σας. Επίσης, μπορείτε να χρησιμοποιήσετε εργαλεία για τη σωστή μετάφραση προτάσεων, φράσεων ή λέξεων. - Πιο αναλυτικά το παραπάνω script κάνει: - - - τη διαδικασία του `powrap` - - ορθογραφικό έλεγχο - - μορφοποίηση του λεξικού (Αλφαβητική ταξινόμηση και αφαίρεση διπλότυπων) - -6. Μετά από την ολοκλήρωση της μετάφρασης μην ξεχάσετε να βάλετε τα στοιχεία σας στο: +4. Μετά από την ολοκλήρωση της μετάφρασης μην ξεχάσετε να βάλετε τα στοιχεία σας στο: ![metadata](/public/assets/metadata-po.png) Στο **Language-Team** metadata γράφετε: `"Language-Team: PyGreece \n"` -7. Όταν ολοκληρώσετε την μετάφραση σας, πρέπει να αποθηκεύσετε τις αλλαγές σας και να κάνετε push στο GitHub (Μην ξεχάσετε να προσθέσετε το όνομά σας στο αρχείο `TRANSLATORS`). Για παράδειγμα εάν εργαζόσασταν στο αρχείο `library/ast.po` τα βήματα θα ήταν: +5. Όταν ολοκληρώσετε τη μετάφραση σας, πρέπει να αποθηκεύσετε τις αλλαγές σας και να κάνετε push στο GitHub (Μην ξεχάσετε να προσθέσετε το όνομά σας στο αρχείο `TRANSLATORS`). Για παράδειγμα, εάν εργαζόσασταν στο αρχείο `library/ast.po` τα βήματα θα ήταν: ```bash git add library/ast.po @@ -191,7 +181,7 @@ git commit -m 'Translate file library/ast.po' git push origin translate-library-ast ``` -8. Έπειτα μπορείτε να ανοίξετε ένα Pull Request προκειμένου να εξεταστεί/ελεγχθεί η συνεισφορά σας, να γίνουν κάποια σχόλια και εν τέλει να προσαρτηθεί στο βασικό repository. Εφόσον έχετε κάνει push το branch σας θα δείτε κάτι όπως παρακάτω: +6. Έπειτα μπορείτε να ανοίξετε ένα Pull Request προκειμένου να εξεταστεί/ελεγχθεί η συνεισφορά σας, να γίνουν κάποια σχόλια και εν τέλει να προσαρτηθεί στο βασικό repository. Εφόσον έχετε κάνει push το branch σας θα δείτε κάτι όπως παρακάτω: ![pr](/public/assets/pr.png) @@ -207,28 +197,50 @@ git push origin translate-library-ast Συγχαρητήρια, συνεισφέρατε στο έργο και πλέον είστε μέλος του μεγάλου εγχειρήματος της μετάφρασης. +## Εργαλεία Ελέγχου & Προεπισκόπηση Αλλαγών [Προαιρετικό] + +Εφόσον έχετε ολοκληρώσει τη μετάφρασή σας ενδείκνυται να χρησιμοποιήσετε την παρακάτω εντολή προκειμένου να γίνει μορφοποίηση του αρχείου για να έχει μια σωστή δομή καθώς και να γίνει ορθογραφικός έλεγχος. + +```bash +make lint +``` + +Εάν κάποια από τις λέξεις δεν είναι αναγνωρισμένη από το script προσθέστε τη στο [dictionary](/dictionaries/main.txt) και επαναλάβετε. + +Εάν είστε χρήστης των windows μπορείτε να δείτε περισσότερες πληροφορίες [εδώ](https://python-docs-es.readthedocs.io/es/3.12/faq.html#powrap-windows). + +--- + +Αν θέλετε να κάνετε προεπισκόπηση των αλλαγών που κάνατε μπορείτε να χρησιμοποιήσετε την παρακάτω εντολή: + +```bash +make preview +``` + +Mε την ολοκλήρωση της εντολής, επισκεφτείτε τη διεύθυνση http://localhost:8000/ στον browser σας. + ## Γενικές Οδηγίες -- Σε πολλές περιπτώσεις το καλύτερο κριτήριο είναι να σκεφτούμε το λεξιλόγιο που χρησιμοποιούμε όταν εξηγούμε σε άλλο άτομο ή στη δουλειά. Σε πολλές περιπτώσεις, η αγγλική είναι πολύ καλύτερη αν θελετε πχ. να πείτε "git join". +- Σε πολλές περιπτώσεις το καλύτερο κριτήριο είναι να σκεφτούμε το λεξιλόγιο που χρησιμοποιούμε όταν εξηγούμε σε άλλο άτομο ή στη δουλειά. Σε πολλές περιπτώσεις, η αγγλική είναι πολύ καλύτερη αν θέλετε πχ. να πείτε "git join". -- Θα έχετε πάντα διαθέσιμο ένα preview αυτού που προτείνετε, καθώς και reviewers να σας βοηθήσουν. +- Θα έχετε πάντα διαθέσιμο ένα preview αυτού που προτείνετε, καθώς και reviewers να σας βοηθήσουν. -- Η διαδικασιά του review είναι επίσης πολύ σημαντική. Αν έχετε ελεύθερο χρόνο θα ήταν το ίδιο σημαντικό να συνεισφέρετε κάνοντας review σε ήδη ανοιχτά Pull Requests ([περισσότερες πληροφορίες εδώ](./public/docs/review.md)). +- Η διαδικασία του review είναι επίσης πολύ σημαντική. Αν έχετε ελεύθερο χρόνο θα ήταν το ίδιο σημαντικό να συνεισφέρετε κάνοντας review σε ήδη ανοιχτά Pull Requests ([περισσότερες πληροφορίες εδώ](./public/docs/review.md)). -- Τα επίσημα έγγραφα της Python είναι άπειρα! Αν αντιμετωπίσετε εμπόδια, μπορείτε πάντα να επισημάνετε το κείμενο ως "ασαφές" ή να το αναθεωρήσετε στο μέλλον. Μην σπαταλάτε ώρες αναζητώντας την τέλεια λέξη. +- Τα επίσημα έγγραφα της Python είναι άπειρα! Αν αντιμετωπίσετε εμπόδια, μπορείτε πάντα να επισημάνετε το κείμενο ως "ασαφές" ή να το αναθεωρήσετε στο μέλλον. Μη σπαταλάτε ώρες αναζητώντας την τέλεια λέξη. -- Δεν πρέπει να μεταφράσετε το περιεχόμενο των :ref:..., :term:..., :dfn:..., κ.λπ. +- Δεν πρέπει να μεταφράσετε το περιεχόμενο των :ref:..., :term:..., :dfn:..., κλπ. -- Εάν πρέπει να χρησιμοποιήσετε αγγλικές λέξεις, θα πρέπει να τις βάλετε με πλάγιους χαρακτήρες (περιτριγυρισμένοι με αστερίσκους). +- Εάν πρέπει να χρησιμοποιήσετε αγγλικές λέξεις, θα πρέπει να τις βάλετε με πλάγιους χαρακτήρες (περιτριγυρισμένοι με αστερίσκους). -- Μπορείτε να συμβουλευτείτε τις Συχνές Ερωτήσεις για να διαβάσετε για γνωστά ζητήματα. +- Μπορείτε να συμβουλευτείτε τις Συχνές Ερωτήσεις για να διαβάσετε για γνωστά ζητήματα. -- Εάν μεταφράσετε έναν τίτλο που είναι σύνδεσμος, μεταφράστε και τον σύνδεσμο (για παράδειγμα ένα άρθρο στη Wikipedia). Σε περίπτωση που δεν υπάρχει μετάφραση του άρθρου στη Wikipedia, αφήστε τον τίτλο αμετάφραστο. +- Εάν μεταφράσετε έναν τίτλο που είναι σύνδεσμος, μεταφράστε και τον σύνδεσμο (για παράδειγμα ένα άρθρο στη Wikipedia). Σε περίπτωση που δεν υπάρχει μετάφραση του άρθρου στη Wikipedia, αφήστε τον τίτλο αμετάφραστο. -- Εάν έχετε μια ερώτηση σχετικά με μια λέξη ή όρο, γράψτε την όπως σας φαίνεται καλύτερα και σημειώστε αυτήν την παράγραφο ως "Needs Work". Επίσης, γράψτε ένα σχόλιο εξηγώντας για ποιον όρο σε αυτήν την παράγραφο δεν ήσασταν σίγουροι. +- Εάν έχετε μια ερώτηση σχετικά με μια λέξη ή όρο, γράψτε την όπως σας φαίνεται καλύτερα και σημειώστε αυτήν την παράγραφο ως "Needs Work". Επίσης, γράψτε ένα σχόλιο εξηγώντας για ποιον όρο σε αυτήν την παράγραφο δεν ήσασταν σίγουροι. -- Συνιστούμε να ανοίξετε ένα Pull Request ακόμα κι αν είναι σε μορφή draft (επισημασμένο ως πρόχειρο) από τις πρώτες προσπάθειες της μετάφρασης του αρχείου σας. Με αυτόν τον τρόπο, μπορείτε να λάβετε σχόλια από την αρχή που μπορείτε να εφαρμόσετε στην υπόλοιπη μετάφραση. +- Συνιστούμε να ανοίξετε ένα Pull Request ακόμα κι αν είναι σε μορφή draft (επισημασμένο ως πρόχειρο) από τις πρώτες προσπάθειες της μετάφρασης του αρχείου σας. Με αυτόν τον τρόπο, μπορείτε να λάβετε σχόλια από την αρχή που μπορείτε να εφαρμόσετε στην υπόλοιπη μετάφραση. -- Τελευταίο αλλά όχι λιγότερο σημαντικό, διασκεδάστε και βασιστείτε στη βοήθεια όλων. Περιμένουμε τα μηνύματα σας στο discord, εδώ ή στο linkedin. Ευχαριστούμε! +- Τελευταίο αλλά όχι λιγότερο σημαντικό, διασκεδάστε και βασιστείτε στη βοήθεια όλων. Περιμένουμε τα μηνύματα σας στο Discord, εδώ ή στο LinkedIn. Ευχαριστούμε! -- Για τους contributors που χρησιμοποιούν το vscode ως IDE ένα πολύ χρήσιμο add-on για τα `.po` αρχεία είναι το [`gettext` extension](https://marketplace.visualstudio.com/items?itemName=mrorz.language-gettext). +- Για τους contributors που χρησιμοποιούν το VSCode ως IDE ένα πολύ χρήσιμο add-on για τα `.po` αρχεία είναι το [`gettext` extension](https://marketplace.visualstudio.com/items?itemName=mrorz.language-gettext). diff --git a/Makefile b/Makefile index a11d757e..2d24844b 100644 --- a/Makefile +++ b/Makefile @@ -70,8 +70,10 @@ all: ensure_prerequisites -D latex_elements.inputenc= \ -D latex_elements.fontenc=' \ $(MODE) - @echo "Build success, open file://$(abspath $(CPYTHON_PATH))/Doc/build/html/index.html or run 'make serve' to see them." - + @echo "Build successful! 🎉" + @echo "You can now open the documentation in your browser:" + @echo " file://$(abspath $(CPYTHON_PATH))/Doc/build/html/index.html" + @echo "Or, run 'make serve' to start a local web server for the docs." .PHONY: ensure_prerequisites ensure_prerequisites: @@ -100,8 +102,12 @@ ensure_prerequisites: .PHONY: serve serve: - $(PYTHON) -c "import os, webbrowser; webbrowser.open('file://' + os.path.realpath('cpython/Doc/build/html/index.html'))" + @echo "Starting local server at http://localhost:8000..." + $(PYTHON) -m http.server -d cpython/Doc/build/html/ +.PHONY: preview +preview: + make all && make serve .PHONY: progress progress: @@ -109,6 +115,14 @@ progress: $(shell msgcat *.po */*.po | msgattrib --translated | grep -c '^msgid') \ $(shell msgcat *.po */*.po | grep -c '^msgid') +.PHONY: spellcheck +spellcheck: + $(PYTHON) scripts/check_spelling.py $(filter-out $@, $(MAKECMDGOALS)) + +.PHONY: lint +lint: + powrap *.po **/*.po && \ + make spellcheck .PHONY: todo todo: ensure_prerequisites diff --git a/README.md b/README.md index 86d8d1a5..2aa983fd 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ # python-docs-gr Η ελληνική μετάφραση των επίσημων εγγράφων της Python. -## Συμφωνητικό Συνεισφοράς στην Μετάφραση των Εγγράφων +## Συμφωνητικό Συνεισφοράς στη Μετάφραση των Εγγράφων ΣΗΜΕΙΩΣΗ ΓΙΑ ΤΗΝ ΑΔΕΙΑ ΧΡΗΣΗΣ ΤΩΝ ΜΕΤΑΦΡΑΣΕΩΝ @@ -25,9 +25,9 @@ Υποβάλλοντας την εργασία σας στο PSF για να συμπεριληφθεί στον οδηγό χρήσης της Python, συμφωνείτε με αυτό το έγγραφο. -Το πρωτότυπο κείμενο του παραπάνου συμφωνητικού στα Αγγλικά βρίσκεται στο +Το πρωτότυπο κείμενο του παραπάνω συμφωνητικού στα Αγγλικά βρίσκεται στο [PEP545](https://peps.python.org/pep-0545/#setup-the-documentation-contribution-agreement). -## Πως μπορώ να βοηθήσω στην μετάφραση; +## Πως μπορώ να βοηθήσω στη μετάφραση; -Το έργο της μετάφρασης είναι εθελοντικό και στηρίζεται στους φίλους και στα μέλη της κοινότητας της Python! Κάθε συνεισφορά στην μετάφραση είναι σημαντική! Για περισότερες πληροφορίες για το πως μπορείτε να συνεισφέρετε δείτε [εδώ](./CONTRIBUTING.md). +Το έργο της μετάφρασης είναι εθελοντικό και στηρίζεται στους φίλους και στα μέλη της κοινότητας της Python! Κάθε συνεισφορά στη μετάφραση είναι σημαντική! Για περισσότερες πληροφορίες για το πως μπορείτε να συνεισφέρετε δείτε [εδώ](./CONTRIBUTING.md).