|
| 1 | +# O traducere în românește a documentației limbajului Python |
| 2 | + |
| 3 | +Traducerea se realizează pe fragmente de text numite **mesaje**. Aceste mesaje se găsesc/introduc în fișiere [PO](https://www.gnu.org/software/gettext/manual/html\_node/PO-Files.html>`). |
| 4 | + |
| 5 | +Fișierele PO pot fi generate, dacă lucrăm sub sistemul de operare Microsoft **Windows 11**, într-un cont de **administrator**, astfel: |
| 6 | +- instalăm cea mai recentă versiune **stabilă** de [Python](https://www.python.org/); |
| 7 | +- instalăm generatorul de documentație [Sphinx](https://www.sphinx-doc.org/en/master/usage/installation.html): |
| 8 | + ``` |
| 9 | + pip install -U sphinx |
| 10 | + ``` |
| 11 | +- instalăm unealta [sphinx-intl](https://www.sphinx-doc.org/en/master/usage/advanced/intl.html): |
| 12 | + ``` |
| 13 | + pip install sphinx-intl |
| 14 | + ``` |
| 15 | +- descărcăm într-un director convenabil codul-sursă al celei mai recente versiuni **stabile** de Python (aceeași ca mai sus); de exemplu, [3.13.5](https://www.python.org/downloads/source/>); |
| 16 | +- în subdirectorul **Doc** al codului-sursă Python se găsește fișierul **conf.py**, la sfârșitul căruia adăugăm: |
| 17 | + ``` |
| 18 | + # Optiuni pentru traducerea in romaneste |
| 19 | + # Adaugat in [ 17.06.2025 ] |
| 20 | +
|
| 21 | + # Conform [ https://www.sphinx-doc.org/en/master/usage/advanced/intl.html ] |
| 22 | + # ------------------------------------------------------------------------- |
| 23 | + |
| 24 | + locale_dirs = ['locale_python_3_13_5'] # calea are titlu de exemplu, insa este cea recomandata. |
| 25 | + gettext_compact = False # optional. |
| 26 | + language = 'ro' |
| 27 | + ``` |
| 28 | +- din subdirectorul **Doc**, deschidem un [terminal Windows](https://learn.microsoft.com/en-us/windows/terminal/) și executăm comanda: |
| 29 | + ``` |
| 30 | + ./make gettext |
| 31 | + ``` |
| 32 | + Ea va genera subdirectorul **build/gettext** al directorului **Doc**, care conține fișiere [POT](https://www.drupal.org/community/contributor-guide/reference-information/localize-drupal-org/working-with-offline/po-and-pot-files). |
| 33 | +- în același terminal, comanda: |
| 34 | + ``` |
| 35 | + sphinx-intl update -p build/gettext -l ro |
| 36 | + ``` |
| 37 | + va produce subdirectorul **locale_python_3_13_5/ro/LC_MESSAGES** al directorului **Doc**. Acesta conține fișierele PO căutate. |
| 38 | + |
| 39 | +Putem genera codul HTML al documentației folosind scriptul **scripturi/compilarea_traducerii.ps1** din acest proiect. Astfel, într-un terminal Windows cu **drepturi de administrator** (tastele Win + X, A), deschis din directorul unde se găsește scriptul PowerShell, executăm comenzile: |
| 40 | +``` |
| 41 | +Set-ExecutionPolicy Unrestricted |
| 42 | +./compilarea_traducerii |
| 43 | +``` |
| 44 | +## Abateri de la recomandările oficiale privind traducerea |
| 45 | + |
| 46 | +Am optat, în versiunea de față a traducerii, pentru *variante românești* ale majorității numelor de variabile, de funcții, de clase, de argumente care intervin în exemplele de cod. Aceasta constituie o abatere de la [recomandarea oficială](https://devguide.python.org/documentation/translations/translating/#code-examples). Ea este justificată, în opinia mea, de ușurința cu care anumite idiomuri ale sintaxei Python-ului pot fi sesizate de către un nou-venit atunci când acesta se lansează în cititul unor fragmente aleatoare de cod. |
| 47 | + |
| 48 | +Pentru a compila *abaterile*, am operat mici modificări în fișierele **.rst** corespunzătoare. |
| 49 | + |
| 50 | +## Compilarea tutorialului |
| 51 | + |
| 52 | +Tutorialul de Python, în românește, poate fi citit [aici](https://www.octawian.ro/fisiere/tutoriale/python/build/tutorial/). El trebuie considerat *șantier* (fuzzy) de către eventualii săi cititori. |
| 53 | + |
| 54 | +## Acord asupra contribuției aduse la documentație |
| 55 | + |
| 56 | +NOTĂ PRIVIND LICENȚA TRADUCERILOR: documentația Python este întreținută de o rețea globală de voluntari. Prin publicarea acestui proiect pe Transifex, GitHub sau în alt loc public și prin invitația adresată dumneavoastră de a participa la el vă propunem un acord în baza căruia dumneavoastră vă veți oferi îmbunătățirile aduse documentației Python sau traducerii acesteia spre folosință de către PSF sub licența CC0 (disponibilă la adresa https://creativecommons.org/publicdomain/zero/1.0/legalcode). În schimb, veți putea pretinde recunoaștere asupra porțiunii din traducere la care ați contribuit și, dacă traducerea dumneavoastră este acceptată de către PSF, veți putea (fără a fi obligat la aceasta) să transmiteți o corecție cuprinzând adnotarea potrivită a fișierului Misc/ACKS sau TRANSLATORS. Deși nimic din acest acord asupra contribuției aduse la documentație nu obligă PSF să încorporeze textul contribuției dumneavoastră, participarea dumneavoastră la comunitatea Python este binevenită și apreciată. |
| 57 | + |
| 58 | +Consfințiți acceptarea acestui acord prin transmiterea muncii dumneavoastră către PSF pentru a fi inclusă în documentație. |
| 59 | + |
| 60 | + |
| 61 | + |
| 62 | + |
| 63 | + |
| 64 | + |
| 65 | + |
| 66 | + |
| 67 | + |
| 68 | + |
| 69 | + |
| 70 | + |
| 71 | + |
| 72 | + |
| 73 | + |
| 74 | + |
| 75 | + |
0 commit comments