Skip to content

Commit e4b4671

Browse files
committed
Enable Read-The-Docs and fix any issues with existing translations
1 parent ffeccd2 commit e4b4671

File tree

10 files changed

+84
-45
lines changed

10 files changed

+84
-45
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,3 +158,6 @@ cython_debug/
158158
# and can be added to the global gitignore or merged into this file. For a more nuclear
159159
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
160160
#.idea/
161+
162+
locales/
163+
.potodo/

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "cpython"]
2+
path = cpython
3+
url = https://github.com/python/cpython

.pre-commit-config.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
repos:
2+
- repo: https://github.com/JulienPalard/powrap
3+
rev: v1.0.0
4+
hooks:
5+
- id: powrap
6+
- repo: https://github.com/sphinx-contrib/sphinx-lint
7+
rev: v0.9.1
8+
hooks:
9+
- id: sphinx-lint

.readthedocs.yaml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# .readthedocs.yml
2+
# Read the Docs configuration file
3+
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
4+
5+
# Required
6+
version: 2
7+
8+
build:
9+
os: ubuntu-22.04
10+
tools:
11+
python: "3"
12+
13+
commands:
14+
- python -m pip install -r requirements.txt
15+
- make
16+
- mkdir -p _readthedocs/html/
17+
- cp -r cpython/Doc/build/html/* _readthedocs/html/
18+
19+
python:
20+
install:
21+
- requirements: requirements.txt
22+
23+
submodules:
24+
include: all
25+

Makefile

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,10 @@
2323
# .po files.
2424
CPYTHON_CURRENT_COMMIT := 9cbde7c6ce6f7b93301a37f03dfa0c0d45e00a39
2525

26-
CPYTHON_PATH := /home/tpetkos/github.com/python/cpython/
26+
CPYTHON_PATH := ./cpython
2727

28-
LANGUAGE := gr
28+
LANGUAGE := el
29+
TRANLATION_BRANCH := main
2930
BRANCH := 3.12
3031

3132
EXCLUDED := whatsnew/ c-api/
@@ -36,7 +37,7 @@ UPSTREAM := https://github.com/python/cpython
3637

3738
PYTHON := $(shell which python3)
3839
MODE := html
39-
POSPELL_TMP_DIR := .pospell/
40+
POSPELL_TMP_DIR := .pospell
4041
JOBS := auto
4142

4243
# Detect OS
@@ -58,7 +59,6 @@ endif
5859

5960
.PHONY: all
6061
all: ensure_prerequisites
61-
git -C $(CPYTHON_PATH) checkout $(CPYTHON_CURRENT_COMMIT)
6262
mkdir -p locales/$(LANGUAGE)/LC_MESSAGES/
6363
$(CP_CMD) -u --parents *.po */*.po locales/$(LANGUAGE)/LC_MESSAGES/
6464
$(MAKE) -C $(CPYTHON_PATH)/Doc/ \
@@ -70,7 +70,6 @@ all: ensure_prerequisites
7070
-D latex_elements.inputenc= \
7171
-D latex_elements.fontenc=' \
7272
$(MODE)
73-
git -C $(CPYTHON_PATH) checkout -
7473
@echo "Build success, open file://$(abspath $(CPYTHON_PATH))/Doc/build/html/index.html or run 'make serve' to see them."
7574

7675

@@ -83,10 +82,7 @@ ensure_prerequisites:
8382
@if ! [ -d $(CPYTHON_PATH) ]; then \
8483
echo "Building the translation requires a cpython clone."; \
8584
echo "Please provide the path to a clone using the CPYTHON_PATH variable."; \
86-
echo "(Currently CPYTHON_PATH is $(CPYTHON_PATH)."; \
87-
echo "So you may want to run:"; \
88-
echo ""; \
89-
echo " git clone $(UPSTREAM) $(CPYTHON_PATH)"; \
85+
echo "(Currently CPYTHON_PATH is $(CPYTHON_PATH).)"; \
9086
exit 1; \
9187
fi
9288
@if [ -n "$$(git -C $(CPYTHON_PATH) status --porcelain)" ]; then \
@@ -95,16 +91,16 @@ ensure_prerequisites:
9591
exit 1; \
9692
fi
9793
@if ! (blurb help >/dev/null 2>&1 && sphinx-build --version >/dev/null 2>&1); then \
98-
git -C $(CPYTHON_PATH) checkout $(BRANCH); \
9994
echo "You're missing dependencies, please enable a venv and install:"; \
10095
echo ""; \
101-
echo " python -m pip install -r requirements.txt -r $(CPYTHON_PATH)/Doc/requirements.txt"; \
96+
echo " python -m pip install -r requirements.txt"; \
10297
exit 1; \
10398
fi
10499

100+
105101
.PHONY: serve
106102
serve:
107-
$(MAKE) -C $(CPYTHON_PATH)/Doc/ serve
103+
$(PYTHON) -c "import os, webbrowser; webbrowser.open('file://' + os.path.realpath('cpython/Doc/build/html/index.html'))"
108104

109105

110106
.PHONY: progress
@@ -123,7 +119,7 @@ wrap: ensure_prerequisites
123119
@echo "Verify wrapping"
124120
powrap --check --quiet *.po **/*.po
125121

126-
SRCS = $(shell git diff --name-only $(BRANCH) | grep '.po$$')
122+
SRCS = $(shell git diff --name-only $(TRANLATION_BRANCH) | grep '.po$$')
127123
# foo/bar.po => $(POSPELL_TMP_DIR)/foo/bar.po.out
128124
DESTS = $(addprefix $(POSPELL_TMP_DIR)/,$(addsuffix .out,$(SRCS)))
129125

cpython

Submodule cpython added at 9cbde7c

faq/programming.po

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ msgid ""
9898
"`Eric <https://eric-ide.python-projects.org/>`_ is an IDE built on PyQt and "
9999
"the Scintilla editing component."
100100
msgstr ""
101-
"Το Eric <https://eric-ide.python-projects.org/>`_ είναι ένα IDE που "
101+
"Το `Eric <https://eric-ide.python-projects.org/>`_ είναι ένα IDE που "
102102
"βασίζεται στο PyQt και το component επεξεργασίας Scintilla."
103103

104104
#: faq/programming.rst:42
@@ -114,7 +114,7 @@ msgid ""
114114
"`Visual Studio Code <https://code.visualstudio.com/>`_ is an IDE with "
115115
"debugging tools that integrates with version-control software."
116116
msgstr ""
117-
"Το Visual Studio Code <https://code.visualstudio.com/>`_ είναι ένας IDE με "
117+
"Το `Visual Studio Code <https://code.visualstudio.com/>`_ είναι ένας IDE με "
118118
"εργαλεία εντοπισμού σφαλμάτων που ενσωματώνεται με λογισμικό ελέγχου έκδοσης."
119119

120120
#: faq/programming.rst:47
@@ -1517,7 +1517,7 @@ msgstr ""
15171517
"διαχωρισμός της γραμμής σε λέξεις οριοθετημένες με κενά διαστήματα "
15181518
"χρησιμοποιώντας τη μέθοδο :meth:`~str.split` αντικειμένων συμβολοσειρών και "
15191519
"στη συνέχεια μετατροπή δεκαδικών συμβολοσειρών σε αριθμητικές τιμές "
1520-
"χρησιμοποιώντας :func:`int` ή :func: `float`. :meth:`!split()` υποστηρίζει "
1520+
"χρησιμοποιώντας :func:`int` ή :func:`float`. :meth:`!split()` υποστηρίζει "
15211521
"μια προαιρετική παράμετρο \"sep\" που είναι χρήσιμη εάν η γραμμή "
15221522
"χρησιμοποιεί κάτι διαφορετικό από κενό διάστημα ως διαχωριστικό."
15231523

@@ -1677,7 +1677,7 @@ msgid ""
16771677
"types` and the :mod:`collections` module."
16781678
msgstr ""
16791679
"Χρησιμοποιήστε τις σωστές δομές δεδομένων. Μελετήστε την τεκμηρίωση για το :"
1680-
"ref:`bltin-και το module :mod:`collections`."
1680+
"ref:`bltin-types` και το module :mod:`collections`."
16811681

16821682
#: faq/programming.rst:1101
16831683
msgid ""
@@ -2396,7 +2396,7 @@ msgstr ""
23962396
"μετατρέψει τη συμβολοσειρά ορίσματος σε κεφαλαία πριν καλέσει την υποκείμενη "
23972397
"μέθοδο ``self._outfile.write()``. Όλες οι άλλες μέθοδοι εκχωρούνται στο "
23982398
"υποκείμενο αντικείμενο ``self._outfile``. Το delegation ολοκληρώνεται μέσω "
2399-
"της μεθόδου :meth:`~object.__getattr__`∙ συμβουλευτείτε το :ref:`the "
2399+
"της μεθόδου :meth:`~object.__getattr__`. Συμβουλευτείτε το :ref:`the "
24002400
"language reference <attribute-access>` για περισσότερες πληροφορίες σχετικά "
24012401
"με τον έλεγχο της πρόσβασης."
24022402

@@ -2842,12 +2842,12 @@ msgid ""
28422842
"2) Detecting optional arguments can be tricky when ``None`` is a valid input "
28432843
"value. In those situations, you can create a singleton sentinel object "
28442844
"guaranteed to be distinct from other objects. For example, here is how to "
2845-
"implement a method that behaves like :meth:`dict.pop`::"
2845+
"implement a method that behaves like :meth:`dict.pop`:"
28462846
msgstr ""
28472847
"2) Ο εντοπισμός προαιρετικών ορισμάτων μπορεί να είναι δύσκολος όταν το "
2848-
"`None` είναι μια έγκυρη τιμή εισόδου. Σε αυτές τις περιπτώσεις, μπορείτε να "
2849-
"δημιουργήσετε ένα αντικείμενο μεμονωμένου φρουρού που είναι εγγυημένο ότι θα "
2850-
"διαφέρει από άλλα αντικείμενα. Για παράδειγμα, δείτε πως μπορείτε να "
2848+
"``None`` είναι μια έγκυρη τιμή εισόδου. Σε αυτές τις περιπτώσεις, μπορείτε "
2849+
"να δημιουργήσετε ένα αντικείμενο μεμονωμένου φρουρού που είναι εγγυημένο ότι "
2850+
"θα διαφέρει από άλλα αντικείμενα. Για παράδειγμα, δείτε πως μπορείτε να "
28512851
"εφαρμόσετε μια μέθοδο που συμπεριφέρεται σαν :meth:`dict.pop`::"
28522852

28532853
#: faq/programming.rst:1901
@@ -3037,8 +3037,8 @@ msgstr ""
30373037
"Εκτός και αν έχει οριστεί η μεταβλητή περιβάλλοντος :envvar:"
30383038
"`PYTHONDONTWRITEBYTECODE`, η δημιουργία ενός αρχείου .pyc είναι αυτόματη εάν "
30393039
"εισάγετε ένα module και η Python έχει τη δυνατότητα (δικαιώματα, ελεύθερος "
3040-
"χώρος, κ.λπ...) να δημιουργήσει ένα __pycache__`` υποκατάλογο και γράψτε το "
3041-
"μεταγλωττισμένο module σε αυτόν τον υποκατάλογο."
3040+
"χώρος, κ.λπ...) να δημιουργήσει ένα ``__pycache__`` υποκατάλογο και γράψτε "
3041+
"το μεταγλωττισμένο module σε αυτόν τον υποκατάλογο."
30423042

30433043
#: faq/programming.rst:2069
30443044
msgid ""

glossary.po

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -514,7 +514,7 @@ msgid ""
514514
"`the dis module <bytecodes>`."
515515
msgstr ""
516516
"Μια λίστα από οδηγίες σχετικά με τα bytecode μπορεί να βρεθεί στην "
517-
"τεκμηρίωση για :ref:`το module dis <bytecode>`."
517+
"τεκμηρίωση για :ref:`το module dis <bytecodes>`."
518518

519519
#: glossary.rst:213
520520
msgid "callable"
@@ -689,7 +689,7 @@ msgid ""
689689
"These were introduced by :pep:`492`."
690690
msgstr ""
691691
"Μια συνάρτηση που επιστρέφει ένα :term:`coroutine` αντικείμενο. Μια "
692-
"συνάρτηση coroutine μπορεί να ορίζεται από τη δήλωση :keyword:`async def, "
692+
"συνάρτηση coroutine μπορεί να ορίζεται από τη δήλωση :keyword:`async def`, "
693693
"και μπορεί να περιέχει :keyword:`await`, :keyword:`async for`, και :keyword:"
694694
"`async with` λέξεις κλειδιά. Αυτές εισήχθησαν από το :pep:`492`."
695695

@@ -739,7 +739,7 @@ msgid ""
739739
"definitions <class>` for more about decorators."
740740
msgstr ""
741741
"Η ίδια έννοια υπάρχει για τις κλάσεις, αλλά χρησιμοποιείται λιγότερο συχνά "
742-
"εκεί. Βλ. την τεκμηρίωση για :ref:`function definitions <function> και :ref:"
742+
"εκεί. Βλ. την τεκμηρίωση για :ref:`function definitions <function>` και :ref:"
743743
"`class definitions <class>` για περισσότερα σχετικά με τους decorators."
744744

745745
#: glossary.rst:314
@@ -891,7 +891,7 @@ msgstr ""
891891
"προγραμματισμού σε Python προϋποθέτει την ύπαρξη έγκυρων κλειδιών ή "
892892
"χαρακτηριστικών και συλλαμβάνει εξαιρέσεις εάν η υπόθεση αποδεχθεί "
893893
"εσφαλμένη. Αυτό το καθαρό και γρήγορο στυλ χαρακτηρίζεται από την παρουσία "
894-
"πολλών δηλώσεων :keyword:`try` και :keyword:`except. Η τεχνική έρχεται σε "
894+
"πολλών δηλώσεων :keyword:`try` και :keyword:`except`. Η τεχνική έρχεται σε "
895895
"αντίθεση με το στυλ που είναι :term:`LBYL` κοινό σε πολλές άλλες γλώσσες, "
896896
"όπως η C."
897897

@@ -1030,7 +1030,7 @@ msgstr ""
10301030
"Ο :term:`filesystem encoding and error handler` διαμορφώνονται κατά την "
10311031
"εκκίνηση της Python από τη συνάρτηση :c:func:`PyConfig_Read` βλ. :c:member:"
10321032
"`~PyConfig.filesystem_encoding` και :c:member:`~PyConfig.filesystem_errors` "
1033-
"μέλη του c:type:`PyConfig`."
1033+
"μέλη του :c:type:`PyConfig`."
10341034

10351035
#: glossary.rst:430
10361036
msgid "See also the :term:`locale encoding`."
@@ -1055,7 +1055,7 @@ msgid ""
10551055
"entry finders <path entry finder>` for use with :data:`sys.path_hooks`."
10561056
msgstr ""
10571057
"Από την Python 3.3, υπάρχουν δύο τύποι finder: :term:`finders μετα διαδρομής "
1058-
"<meta path finder> για να χρήση με :data:`sys.meta_path`, και :term:`finders "
1058+
"<meta path finder>` για χρήση με :data:`sys.meta_path`, και :term:`finders "
10591059
"εισόδου διαδρομής <path entry finder>` για χρήση με :data:`sys.path_hooks`."
10601060

10611061
#: glossary.rst:440
@@ -1532,7 +1532,7 @@ msgstr ""
15321532
"Όταν ζητείται τερματισμός λειτουργίας, ο διερμηνέας της Python εισέρχεται σε "
15331533
"μια ειδική φάση όπου απελευθερώνει σταδιακά όλους τους διατιθέμενους πόρους, "
15341534
"όπως λειτουργικές μονάδες και πολλαπλές κρίσιμες εσωτερικές δομές. Επίσης "
1535-
"πραγματοποιεί αρκετές κλήσεις στο :term: `συλλέκτης σκουπιδιών <garbage "
1535+
"πραγματοποιεί αρκετές κλήσεις στο :term:`συλλέκτης σκουπιδιών <garbage "
15361536
"collection>`. Αυτό μπορεί να ενεργοποιήσει την εκτέλεση κώδικα σε "
15371537
"καταστροφείς που ορίζονται από το χρήστη ή σε callbacks ασθενούς "
15381538
"ανταποκρίσεις. Ο κώδικας που εκτελείται κατά τη φάση τερματισμού λειτουργίας "
@@ -1686,10 +1686,10 @@ msgstr ""
16861686
"Υπάρχουν διάφοροι τρόποι για να δημιουργήσετε μια συνάρτηση κλειδιού. Για "
16871687
"παράδειγμα. η μέθοδος :meth:`str.lower` μπορεί να χρησιμεύσει ως συνάρτηση "
16881688
"κλειδί για την περίπτωση μη διάκρισης πεζών-κεφαλαίων. Εναλλακτικά, μια "
1689-
"συνάρτηση κλειδιού μπορεί να δημιουργηθεί από μια :keyword:`lambda`έκφραση "
1689+
"συνάρτηση κλειδιού μπορεί να δημιουργηθεί από μια :keyword:`lambda` έκφραση "
16901690
"όπως ``lambda r: (r[0], r[2])``. Επίσης, :func:`operator.attrgetter`, :func:"
1691-
"`operator.itemgetter` και :func:`operator.methodcaller`είναι τρεις "
1692-
"κατασκευαστές βασικών συναρτήσεων. Βλ. το :ref:`Sorting HOW "
1691+
"`operator.itemgetter` και :func:`operator.methodcaller` είναι τρεις "
1692+
"κατασκευαστές βασικών συναρτήσεων. Βλ. το :ref:`Ταξινόμηση HOW "
16931693
"TO<sortinghowto>` για παραδείγματα δημιουργίας και χρήσης βασικών "
16941694
"συναρτήσεων."
16951695

@@ -2279,7 +2279,7 @@ msgid ""
22792279
"`path entry`."
22802280
msgstr ""
22812281
"Ένας :term:`finder` που επιστρέφεται από έναν καλούμενο στο :data:`sys."
2282-
"path_hooks` (δηλαδή ένα term:`path entry hook`) που ξέρει πως να εντοπίζει "
2282+
"path_hooks` (δηλαδή ένα :term:`path entry hook`) που ξέρει πως να εντοπίζει "
22832283
"modules με :term:`path entry`."
22842284

22852285
#: glossary.rst:959
@@ -2332,11 +2332,11 @@ msgid ""
23322332
"`519`."
23332333
msgstr ""
23342334
"Ένα αντικείμενο που αντιπροσωπεύει ένα path συστήματος αρχείων. Ένα "
2335-
"αντικείμενο path είναι είτε ένα αντικείμενο class:`str` ή :class:`bytes` που "
2336-
"αντιπροσωπεύει ένα path ή ένα αντικείμενο που υλοποιεί το πρωτόκολλο :class:"
2337-
"`os.PathLike`. Ένα αντικείμενο που υποστηρίζει το πρωτόκολλο :class:`os."
2338-
"PathLike` μπορεί να μετατραπεί σε path συστήματος αρχείων :class:`str` ή :"
2339-
"class:`bytes` καλώντας την συνάρτηση :func:`os.fspath`' τα :func:`os."
2335+
"αντικείμενο path είναι είτε ένα αντικείμενο :class:`str` ή :class:`bytes` "
2336+
"που αντιπροσωπεύει ένα path ή ένα αντικείμενο που υλοποιεί το πρωτόκολλο :"
2337+
"class:`os.PathLike`. Ένα αντικείμενο που υποστηρίζει το πρωτόκολλο :class:"
2338+
"`os.PathLike` μπορεί να μετατραπεί σε path συστήματος αρχείων :class:`str` "
2339+
"ή :class:`bytes` καλώντας την συνάρτηση :func:`os.fspath`' τα :func:`os."
23402340
"fsdecode` και :func:`os.fsencode` μπορούν να χρησιμοποιηθούν για την εγγύηση "
23412341
"ενός αποτελέσματος :class:`str` ή :class:`bytes`, αντίστοιχα. Εισήχθη από "
23422342
"τον :pep:`519`."

license.po

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -246,8 +246,8 @@ msgid ""
246246
"Python software and documentation are licensed under the :ref:`PSF License "
247247
"Agreement <PSF-license>`."
248248
msgstr ""
249-
"To λογισμικό και η τεκμηρίωση της Python αδειοδοτούνται σύμφωνα με :ref:` "
250-
"Σύμβαση άδειας χρήσης PSF <PSF-license>`."
249+
"To λογισμικό και η τεκμηρίωση της Python αδειοδοτούνται σύμφωνα με :ref:"
250+
"`Σύμβαση άδειας χρήσης PSF <PSF-license>`."
251251

252252
#: license.rst:78
253253
msgid ""
@@ -257,7 +257,7 @@ msgid ""
257257
msgstr ""
258258
"Ξεκινώντας από την Python 3.8.6, παραδείγματα, συνταγές και ο άλλος κώδικας "
259259
"στην τεκμηρίωση έχουν διπλή άδεια χρήσης, βάση της Άδεια Χρήσης PSF και της :"
260-
"ref: `Zero-Clause BSD άδεια <BSD0>`."
260+
"ref:`Zero-Clause BSD άδεια <BSD0>`."
261261

262262
#: license.rst:82
263263
msgid ""

requirements.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
1-
poutils==0.15.4
2-
pospell==1.3
1+
poutils
2+
pre-commit
3+
4+
-r cpython/Doc/requirements.txt

0 commit comments

Comments
 (0)