From d7e2b4b7d58c69a83d13b45c25c782853924f8c9 Mon Sep 17 00:00:00 2001 From: Stan Ulbrych Date: Wed, 30 Jul 2025 09:57:37 +0200 Subject: [PATCH 01/35] Add translation testing workflow --- .github/workflows/test-translation.yml | 80 ++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 .github/workflows/test-translation.yml diff --git a/.github/workflows/test-translation.yml b/.github/workflows/test-translation.yml new file mode 100644 index 0000000..3a36e47 --- /dev/null +++ b/.github/workflows/test-translation.yml @@ -0,0 +1,80 @@ +# python-docs-translations sample workflows, adapted to be contained in a single file +# For more information, see https://python-docs-transifex-automation.readthedocs.io/workflows.html +name: Test translation workflow + +on: + schedule: + - cron: '0 0 * * *' + push: + branches: + - '*' + workflow_dispatch: + +jobs: + lint: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + version: [ '3.14' ] + continue-on-error: true + steps: + - uses: actions/setup-python@master + with: + python-version: 3 + - run: pip install sphinx-lint + - uses: actions/checkout@master + with: + ref: ${{ matrix.version }} + - uses: rffontenelle/sphinx-lint-problem-matcher@v1.0.0 + - run: sphinx-lint + + build-translation: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + version: [ '3.14' ] + format: [ html, latex ] + steps: + - uses: actions/setup-python@master + with: + python-version: 3.12 # pinned for Sphinx 3.4.3 to build 3.10 + - uses: actions/checkout@master + with: + repository: python/cpython + ref: ${{ matrix.version }} + - run: make venv + working-directory: ./Doc + - uses: actions/checkout@master + with: + ref: ${{ matrix.version }} + path: Doc/locales/ro/LC_MESSAGES + - run: git pull + working-directory: ./Doc/locales/ro/LC_MESSAGES + - uses: sphinx-doc/github-problem-matcher@v1.1 + - run: make -e SPHINXOPTS="--color -D language='ro' -W --keep-going" ${{ matrix.format }} + working-directory: ./Doc + - uses: actions/upload-artifact@master + if: success() || failure() + with: + name: build-${{ matrix.version }}-${{ matrix.format }} + path: Doc/build/${{ matrix.format }} + + output-pdf: + runs-on: ubuntu-latest + strategy: + matrix: + version: [ '3.14' ] + needs: [ 'build-translation' ] + steps: + - uses: actions/download-artifact@master + with: + name: build-${{ matrix.version }}-latex + - run: sudo apt-get update + - run: sudo apt-get install -y latexmk texlive-xetex fonts-freefont-otf xindy + - run: make + - uses: actions/upload-artifact@master + with: + name: build-${{ matrix.version }}-pdf + path: . \ No newline at end of file From 8dd9372e2b496e07311c83b232dfe43e84ce5f99 Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Wed, 30 Jul 2025 11:25:28 +0300 Subject: [PATCH 02/35] Replaced the version number. --- .github/workflows/test-translation.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-translation.yml b/.github/workflows/test-translation.yml index 3a36e47..6655501 100644 --- a/.github/workflows/test-translation.yml +++ b/.github/workflows/test-translation.yml @@ -16,7 +16,7 @@ jobs: strategy: fail-fast: false matrix: - version: [ '3.14' ] + version: [ '3.13' ] continue-on-error: true steps: - uses: actions/setup-python@master @@ -77,4 +77,4 @@ jobs: - uses: actions/upload-artifact@master with: name: build-${{ matrix.version }}-pdf - path: . \ No newline at end of file + path: . From cd54017c7b2cbf669ed55322f10572d0ea18ad7a Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Wed, 30 Jul 2025 11:27:03 +0300 Subject: [PATCH 03/35] Replaced the version number --- .github/workflows/test-translation.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-translation.yml b/.github/workflows/test-translation.yml index 6655501..7770345 100644 --- a/.github/workflows/test-translation.yml +++ b/.github/workflows/test-translation.yml @@ -34,7 +34,7 @@ jobs: strategy: fail-fast: false matrix: - version: [ '3.14' ] + version: [ '3.13' ] format: [ html, latex ] steps: - uses: actions/setup-python@master @@ -65,7 +65,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - version: [ '3.14' ] + version: [ '3.13' ] needs: [ 'build-translation' ] steps: - uses: actions/download-artifact@master From 2e8161e642d387ccbc14ca7cc9cd1ffaaad8afba Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Wed, 30 Jul 2025 15:10:25 +0300 Subject: [PATCH 04/35] Update interactive.po --- tutorial/interactive.po | 66 +++++++++++++++++++++++++++++++++++------ 1 file changed, 57 insertions(+), 9 deletions(-) diff --git a/tutorial/interactive.po b/tutorial/interactive.po index 73bae37..dfff2fa 100644 --- a/tutorial/interactive.po +++ b/tutorial/interactive.po @@ -1,18 +1,18 @@ -# SOME DESCRIPTIVE TITLE. +# EDITAREA INTERACTIVA A DATELOR DE INTRARE SI SUBSTITUTII IN ISTORIC. # Copyright (C) 2001-2025, Python Software Foundation # This file is distributed under the same license as the Python package. -# FIRST AUTHOR , 2025. +# Octavian Mustafa , 2025. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-03-04 13:08+0200\n" +"POT-Creation-Date: 2025-06-17 17:56+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: ro\n" -"Language-Team: ro \n" +"Language-Team: ro \n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100" " < 20)) ? 1 : 2);\n" "MIME-Version: 1.0\n" @@ -23,6 +23,7 @@ msgstr "" #: ../../tutorial/interactive.rst:5 msgid "Interactive Input Editing and History Substitution" msgstr "" +"Editarea interactivă a datelor de intrare și substituții în istoric" #: ../../tutorial/interactive.rst:7 msgid "" @@ -32,10 +33,21 @@ msgid "" "Readline`_ library, which supports various styles of editing. This " "library has its own documentation which we won't duplicate here." msgstr "" +"Anumite versiuni ale interpretorului de Python ne permit *editarea* " +"comenzilor introduse (în linia de comandă), respectiv *reluarea* " +"execuției unora din itemii listei de comenzi a *istoricului* (sesiunii " +"de lucru și nu numai; calitate denumită, generic, *substituții în " +"istoric*, de la englezescul *history substitution*), aidoma celor puse " +"la dispoziția utilizatorului de către facilitățile disponibile în " +"interpretoarele de comenzi Korn și GNU Bash. Mecanismele software sunt " +"implementate pe baza bibliotecii `GNU Readline`_, în care utilizatorul " +"își poate alege stilul de editare (din setul celor acceptate). Această " +"bibliotecă are documentație proprie (bogată), pe care nu o vom reproduce " +"aici." #: ../../tutorial/interactive.rst:17 msgid "Tab Completion and History Editing" -msgstr "" +msgstr "Completări din tabulator și editarea istoricului" #: ../../tutorial/interactive.rst:19 msgid "" @@ -51,20 +63,49 @@ msgid "" "file named :file:`.python_history` in your user directory. The history " "will be available again during the next interactive interpreter session." msgstr "" +"*Completarea* numelor de variabile și de module este :ref:`activată " +"automat ` la pornirea interpretorului (de Python), " +"așa că, prin apăsarea tastei :kbd:`Tab` (tabulatorul), va fi invocată " +"funcția de completare; ea va căuta în lista numelor de instrucțiuni Python, " +"în cea a numelor de variabile locale *în viață*, respectiv în cea a numelor " +"de module accesibile. În cazul unor expresii *cu punct* precum ``șir.exe``, " +"expresia va fi evaluată până la acel ``'.'`` de final, după care îi vor fi " +"propuse utilizatorului completări folosind atributele obiectului construit " +"ca rezultat al căutărilor. Țineți seama de faptul că, dacă numele unui " +"obiect care a implementat metoda :meth:`~object.__getattr__` este parte din " +"expresia căutată, atunci se poate întâmpla să fie executat și cod din " +"aplicația la care lucrați. Configurația prestabilită (a unei instalări " +"tipice a sistemului Python) face ca istoricul activităților dumneavoastră în " +"linia de comandă să fie salvat într-un fișier intitulat " +":file:`.python_history`, fișier situat în directorul dumneavoastră de " +"utilizator. Astfel, acest istoric vă va fi disponibil la următoarea sesiune " +"de lucru interactiv cu interpretorul (de Python)." #: ../../tutorial/interactive.rst:36 msgid "Alternatives to the Interactive Interpreter" -msgstr "" +msgstr "Alternative la interpretorul interactiv" #: ../../tutorial/interactive.rst:38 msgid "" "This facility is an enormous step forward compared to earlier versions of" " the interpreter; however, some wishes are left: It would be nice if the " "proper indentation were suggested on continuation lines (the parser knows" -" if an indent token is required next). The completion mechanism might " -"use the interpreter's symbol table. A command to check (or even suggest)" -" matching parentheses, quotes, etc., would also be useful." +" if an :data:`~token.INDENT` token is required next). The completion " +"mechanism might use the interpreter's symbol table. A command to check " +"(or even suggest) matching parentheses, quotes, etc., would also be " +"useful." msgstr "" +"Această caracteristică (de a fi *interactiv* a interpretorului) constituie " +"un uriaș pas înainte față de versiunile anterioare ale interpretorului (de " +"Python); cu toate acestea, mai avem dorințe de îndeplinit: ar fi foarte " +"bine dacă ni s-ar putea indica indentări potrivite atunci când trebuie să " +"continuăm o linie de cod pe rândul următor (dat fiind că parserul știe " +"când un *simbol* (de la englezescul, ca jargon informatic, *token*) " +":data:`~token.INDENT` este cerut pentru a continua). Mecanismul de " +"completare (a numelor, șamd.) ar putea întrebuința (într-un atare scop) " +"tabela de simboluri a interpretorului. O comandă pentru verificarea (ori " +"măcar sugerarea) închiderii unei paranteze deschise, a unor ghilimele " +"șamd., ar fi, cu siguranță, de folos." #: ../../tutorial/interactive.rst:45 msgid "" @@ -74,4 +115,11 @@ msgid "" "customized and embedded into other applications. Another similar " "enhanced interactive environment is bpython_." msgstr "" +"O alternativă (la interpretorul de Python actual) este cea oferită de " +"un interpretor interactiv avansat, disponibil de destul de mult timp, " +"care se numește IPython_, interpretor capabil de completări din tabulator, " +"de explorare a obiectelor și de o administrare sofisticată a istoricului. " +"În plus, el poate fi personalizat în privința punctelor-cheie, respectiv " +"scufundat în codul altor aplicații. Asemănător lui este și mediul " +"interactiv extins intitulat bpython_." From f0de1aef9cdfccca9bf6f448185f541808de1674 Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Wed, 30 Jul 2025 17:30:45 +0300 Subject: [PATCH 05/35] Update test-translation.yml --- .github/workflows/test-translation.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test-translation.yml b/.github/workflows/test-translation.yml index 7770345..bb2d0f8 100644 --- a/.github/workflows/test-translation.yml +++ b/.github/workflows/test-translation.yml @@ -16,7 +16,7 @@ jobs: strategy: fail-fast: false matrix: - version: [ '3.13' ] + version: [ 3.13 ] continue-on-error: true steps: - uses: actions/setup-python@master @@ -34,7 +34,7 @@ jobs: strategy: fail-fast: false matrix: - version: [ '3.13' ] + version: [ 3.13 ] format: [ html, latex ] steps: - uses: actions/setup-python@master @@ -65,7 +65,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - version: [ '3.13' ] + version: [ 3.13 ] needs: [ 'build-translation' ] steps: - uses: actions/download-artifact@master From b5c930d106b8cc7603bfca26ef8f78d8af5aa0e5 Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Wed, 30 Jul 2025 18:11:17 +0300 Subject: [PATCH 06/35] Added a "paths-ignore" for the README file --- .github/workflows/test-translation.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test-translation.yml b/.github/workflows/test-translation.yml index bb2d0f8..0ec1593 100644 --- a/.github/workflows/test-translation.yml +++ b/.github/workflows/test-translation.yml @@ -8,6 +8,8 @@ on: push: branches: - '*' + paths-ignore: + - 'README.rst' workflow_dispatch: jobs: From a2d5512f68c399823c42dab1e01b9cd119d27bef Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Wed, 30 Jul 2025 18:19:40 +0300 Subject: [PATCH 07/35] Update test-translation.yml --- .github/workflows/test-translation.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/test-translation.yml b/.github/workflows/test-translation.yml index 0ec1593..bb2d0f8 100644 --- a/.github/workflows/test-translation.yml +++ b/.github/workflows/test-translation.yml @@ -8,8 +8,6 @@ on: push: branches: - '*' - paths-ignore: - - 'README.rst' workflow_dispatch: jobs: From d32bd79df7d760acd6e31506ae96369bbf12c6fe Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Wed, 30 Jul 2025 18:34:35 +0300 Subject: [PATCH 08/35] Rename README.rst to README.md --- README.rst => README.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename README.rst => README.md (100%) diff --git a/README.rst b/README.md similarity index 100% rename from README.rst rename to README.md From 3fa2190fbe0c382fb9cf1604fd64f6654c9418bd Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Wed, 30 Jul 2025 18:35:03 +0300 Subject: [PATCH 09/35] Update README.rst --- README.md => README.rst | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename README.md => README.rst (100%) diff --git a/README.md b/README.rst similarity index 100% rename from README.md rename to README.rst From 8f8887153156fd146865f62a7fab4cb2c2ecc06a Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Wed, 30 Jul 2025 19:16:31 +0300 Subject: [PATCH 10/35] Update test-translation.yml --- .github/workflows/test-translation.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/test-translation.yml b/.github/workflows/test-translation.yml index bb2d0f8..4c35bbe 100644 --- a/.github/workflows/test-translation.yml +++ b/.github/workflows/test-translation.yml @@ -17,6 +17,8 @@ jobs: fail-fast: false matrix: version: [ 3.13 ] + exclude: + - file: "README.rst" continue-on-error: true steps: - uses: actions/setup-python@master @@ -35,6 +37,8 @@ jobs: fail-fast: false matrix: version: [ 3.13 ] + exclude: + - file: "README.rst" format: [ html, latex ] steps: - uses: actions/setup-python@master @@ -66,6 +70,8 @@ jobs: strategy: matrix: version: [ 3.13 ] + exclude: + - file: "README.rst" needs: [ 'build-translation' ] steps: - uses: actions/download-artifact@master From 4e7f6f1c4818c9e0434d6da0f1b19daeb59398ae Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Wed, 30 Jul 2025 19:23:51 +0300 Subject: [PATCH 11/35] Update test-translation.yml --- .github/workflows/test-translation.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/workflows/test-translation.yml b/.github/workflows/test-translation.yml index 4c35bbe..bb2d0f8 100644 --- a/.github/workflows/test-translation.yml +++ b/.github/workflows/test-translation.yml @@ -17,8 +17,6 @@ jobs: fail-fast: false matrix: version: [ 3.13 ] - exclude: - - file: "README.rst" continue-on-error: true steps: - uses: actions/setup-python@master @@ -37,8 +35,6 @@ jobs: fail-fast: false matrix: version: [ 3.13 ] - exclude: - - file: "README.rst" format: [ html, latex ] steps: - uses: actions/setup-python@master @@ -70,8 +66,6 @@ jobs: strategy: matrix: version: [ 3.13 ] - exclude: - - file: "README.rst" needs: [ 'build-translation' ] steps: - uses: actions/download-artifact@master From 4d2a988f3ade638e8633fb13e3fa242a98bcdc91 Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Wed, 30 Jul 2025 19:25:22 +0300 Subject: [PATCH 12/35] Create .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a1320b1 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +README.rst From 04c34359283e5e9908414ea601a444c369319a00 Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Wed, 30 Jul 2025 19:32:25 +0300 Subject: [PATCH 13/35] Delete .gitignore --- .gitignore | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .gitignore diff --git a/.gitignore b/.gitignore deleted file mode 100644 index a1320b1..0000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -README.rst From 61867ea5b088b34830d6bd930f75d37fbf698c2e Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Wed, 30 Jul 2025 21:02:54 +0300 Subject: [PATCH 14/35] Add files via upload --- .github/workflows/README.rst | 112 +++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 .github/workflows/README.rst diff --git a/.github/workflows/README.rst b/.github/workflows/README.rst new file mode 100644 index 0000000..24fe8b1 --- /dev/null +++ b/.github/workflows/README.rst @@ -0,0 +1,112 @@ +O traducere în românește a documentației limbajului Python +========================================================== + +Traducerea se realizează pe fragmente de text numite **mesaje**. +Aceste mesaje se găsesc/introduc în fișiere +`PO `_. + +Fișierele PO pot fi generate, dacă lucrăm sub sistemul de +operare Microsoft **Windows 11**, într-un cont de **administrator**, +astfel: + +- instalăm cea mai recentă versiune **stabilă** de + `Python `_; +- instalăm generatorul de documentație + `Sphinx `_:: + + pip install -U sphinx + +- instalăm unealta + `sphinx-intl `_:: + + pip install sphinx-intl + +- 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 `_; +- în subdirectorul **Doc** al codului-sursă Python se găsește fișierul + **conf.py**, la sfârșitul căruia adăugăm:: + + # Optiuni pentru traducerea in romaneste + # Adaugat in [ 17.06.2025 ] + # Conform [ https://www.sphinx-doc.org/en/master/usage/advanced/intl.html ] + # ------------------------------------------------------------------------- + + locale_dirs = ['locale_python_3_13_5/'] # path is example but recommended. + gettext_compact = False # optional. + language = 'ro' + +- din subdirectorul **Doc**, deschidem un + `terminal Windows `_ + și executăm comanda:: + + ./make gettext + + Ea va genera subdirectorul **build/gettext** al directorului **Doc**, + care conține fișiere + `POT `_. + +- în același terminal, comanda:: + + sphinx-intl update -p build/gettext -l ro + + va produce subdirectorul **locale_python_3_13_5/ro/LC_MESSAGES** al directorului + **Doc**. Acesta conține fișierele PO căutate. + +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:: + + Set-ExecutionPolicy Unrestricted + ./compilarea_traducerii + +Abateri de la recomandările oficiale privind traducerea +------------------------------------------------------- +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ă `_. +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. + +Pentru a compila *abaterile*, am operat mici modificări în fișierele +**.rst** corespunzătoare. + +Compilarea tutorialului +----------------------- +Tutorialul de Python, în românește, poate fi citit +`aici `_. +El trebuie considerat *șantier* (fuzzy) de către +eventualii săi cititori. + +Acord asupra contribuției aduse la documentație +----------------------------------------------- + +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ă. + +Consfințiți acceptarea acestui acord prin transmiterea +muncii dumneavoastră către PSF pentru a fi inclusă în +documentație. From 3307a2c0dec3637e6e109abf064ab643ff3852ad Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Wed, 30 Jul 2025 21:03:14 +0300 Subject: [PATCH 15/35] Delete README.rst --- README.rst | 112 ----------------------------------------------------- 1 file changed, 112 deletions(-) delete mode 100644 README.rst diff --git a/README.rst b/README.rst deleted file mode 100644 index 24fe8b1..0000000 --- a/README.rst +++ /dev/null @@ -1,112 +0,0 @@ -O traducere în românește a documentației limbajului Python -========================================================== - -Traducerea se realizează pe fragmente de text numite **mesaje**. -Aceste mesaje se găsesc/introduc în fișiere -`PO `_. - -Fișierele PO pot fi generate, dacă lucrăm sub sistemul de -operare Microsoft **Windows 11**, într-un cont de **administrator**, -astfel: - -- instalăm cea mai recentă versiune **stabilă** de - `Python `_; -- instalăm generatorul de documentație - `Sphinx `_:: - - pip install -U sphinx - -- instalăm unealta - `sphinx-intl `_:: - - pip install sphinx-intl - -- 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 `_; -- în subdirectorul **Doc** al codului-sursă Python se găsește fișierul - **conf.py**, la sfârșitul căruia adăugăm:: - - # Optiuni pentru traducerea in romaneste - # Adaugat in [ 17.06.2025 ] - # Conform [ https://www.sphinx-doc.org/en/master/usage/advanced/intl.html ] - # ------------------------------------------------------------------------- - - locale_dirs = ['locale_python_3_13_5/'] # path is example but recommended. - gettext_compact = False # optional. - language = 'ro' - -- din subdirectorul **Doc**, deschidem un - `terminal Windows `_ - și executăm comanda:: - - ./make gettext - - Ea va genera subdirectorul **build/gettext** al directorului **Doc**, - care conține fișiere - `POT `_. - -- în același terminal, comanda:: - - sphinx-intl update -p build/gettext -l ro - - va produce subdirectorul **locale_python_3_13_5/ro/LC_MESSAGES** al directorului - **Doc**. Acesta conține fișierele PO căutate. - -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:: - - Set-ExecutionPolicy Unrestricted - ./compilarea_traducerii - -Abateri de la recomandările oficiale privind traducerea -------------------------------------------------------- -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ă `_. -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. - -Pentru a compila *abaterile*, am operat mici modificări în fișierele -**.rst** corespunzătoare. - -Compilarea tutorialului ------------------------ -Tutorialul de Python, în românește, poate fi citit -`aici `_. -El trebuie considerat *șantier* (fuzzy) de către -eventualii săi cititori. - -Acord asupra contribuției aduse la documentație ------------------------------------------------ - -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ă. - -Consfințiți acceptarea acestui acord prin transmiterea -muncii dumneavoastră către PSF pentru a fi inclusă în -documentație. From 94f5b28367e0cdf4afb71ed1a395b8a50826b54a Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Wed, 30 Jul 2025 21:04:06 +0300 Subject: [PATCH 16/35] Create README.rst --- .github/README.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 .github/README.rst diff --git a/.github/README.rst b/.github/README.rst new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/.github/README.rst @@ -0,0 +1 @@ + From fcd083b98041078042799b1ca3f2c31015d011d4 Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Wed, 30 Jul 2025 21:04:43 +0300 Subject: [PATCH 17/35] Delete .github/README.rst --- .github/README.rst | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .github/README.rst diff --git a/.github/README.rst b/.github/README.rst deleted file mode 100644 index 8b13789..0000000 --- a/.github/README.rst +++ /dev/null @@ -1 +0,0 @@ - From 605dfe653b2c43dea05f1fffab8fd4570e859877 Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Wed, 30 Jul 2025 21:25:18 +0300 Subject: [PATCH 18/35] Add files via upload --- README.rst | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 README.rst diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..24fe8b1 --- /dev/null +++ b/README.rst @@ -0,0 +1,112 @@ +O traducere în românește a documentației limbajului Python +========================================================== + +Traducerea se realizează pe fragmente de text numite **mesaje**. +Aceste mesaje se găsesc/introduc în fișiere +`PO `_. + +Fișierele PO pot fi generate, dacă lucrăm sub sistemul de +operare Microsoft **Windows 11**, într-un cont de **administrator**, +astfel: + +- instalăm cea mai recentă versiune **stabilă** de + `Python `_; +- instalăm generatorul de documentație + `Sphinx `_:: + + pip install -U sphinx + +- instalăm unealta + `sphinx-intl `_:: + + pip install sphinx-intl + +- 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 `_; +- în subdirectorul **Doc** al codului-sursă Python se găsește fișierul + **conf.py**, la sfârșitul căruia adăugăm:: + + # Optiuni pentru traducerea in romaneste + # Adaugat in [ 17.06.2025 ] + # Conform [ https://www.sphinx-doc.org/en/master/usage/advanced/intl.html ] + # ------------------------------------------------------------------------- + + locale_dirs = ['locale_python_3_13_5/'] # path is example but recommended. + gettext_compact = False # optional. + language = 'ro' + +- din subdirectorul **Doc**, deschidem un + `terminal Windows `_ + și executăm comanda:: + + ./make gettext + + Ea va genera subdirectorul **build/gettext** al directorului **Doc**, + care conține fișiere + `POT `_. + +- în același terminal, comanda:: + + sphinx-intl update -p build/gettext -l ro + + va produce subdirectorul **locale_python_3_13_5/ro/LC_MESSAGES** al directorului + **Doc**. Acesta conține fișierele PO căutate. + +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:: + + Set-ExecutionPolicy Unrestricted + ./compilarea_traducerii + +Abateri de la recomandările oficiale privind traducerea +------------------------------------------------------- +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ă `_. +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. + +Pentru a compila *abaterile*, am operat mici modificări în fișierele +**.rst** corespunzătoare. + +Compilarea tutorialului +----------------------- +Tutorialul de Python, în românește, poate fi citit +`aici `_. +El trebuie considerat *șantier* (fuzzy) de către +eventualii săi cititori. + +Acord asupra contribuției aduse la documentație +----------------------------------------------- + +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ă. + +Consfințiți acceptarea acestui acord prin transmiterea +muncii dumneavoastră către PSF pentru a fi inclusă în +documentație. From 48f52eb71ffcf0544c32769031ef385299421e1c Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Wed, 30 Jul 2025 21:25:48 +0300 Subject: [PATCH 19/35] Delete .github/workflows/README.rst --- .github/workflows/README.rst | 112 ----------------------------------- 1 file changed, 112 deletions(-) delete mode 100644 .github/workflows/README.rst diff --git a/.github/workflows/README.rst b/.github/workflows/README.rst deleted file mode 100644 index 24fe8b1..0000000 --- a/.github/workflows/README.rst +++ /dev/null @@ -1,112 +0,0 @@ -O traducere în românește a documentației limbajului Python -========================================================== - -Traducerea se realizează pe fragmente de text numite **mesaje**. -Aceste mesaje se găsesc/introduc în fișiere -`PO `_. - -Fișierele PO pot fi generate, dacă lucrăm sub sistemul de -operare Microsoft **Windows 11**, într-un cont de **administrator**, -astfel: - -- instalăm cea mai recentă versiune **stabilă** de - `Python `_; -- instalăm generatorul de documentație - `Sphinx `_:: - - pip install -U sphinx - -- instalăm unealta - `sphinx-intl `_:: - - pip install sphinx-intl - -- 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 `_; -- în subdirectorul **Doc** al codului-sursă Python se găsește fișierul - **conf.py**, la sfârșitul căruia adăugăm:: - - # Optiuni pentru traducerea in romaneste - # Adaugat in [ 17.06.2025 ] - # Conform [ https://www.sphinx-doc.org/en/master/usage/advanced/intl.html ] - # ------------------------------------------------------------------------- - - locale_dirs = ['locale_python_3_13_5/'] # path is example but recommended. - gettext_compact = False # optional. - language = 'ro' - -- din subdirectorul **Doc**, deschidem un - `terminal Windows `_ - și executăm comanda:: - - ./make gettext - - Ea va genera subdirectorul **build/gettext** al directorului **Doc**, - care conține fișiere - `POT `_. - -- în același terminal, comanda:: - - sphinx-intl update -p build/gettext -l ro - - va produce subdirectorul **locale_python_3_13_5/ro/LC_MESSAGES** al directorului - **Doc**. Acesta conține fișierele PO căutate. - -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:: - - Set-ExecutionPolicy Unrestricted - ./compilarea_traducerii - -Abateri de la recomandările oficiale privind traducerea -------------------------------------------------------- -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ă `_. -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. - -Pentru a compila *abaterile*, am operat mici modificări în fișierele -**.rst** corespunzătoare. - -Compilarea tutorialului ------------------------ -Tutorialul de Python, în românește, poate fi citit -`aici `_. -El trebuie considerat *șantier* (fuzzy) de către -eventualii săi cititori. - -Acord asupra contribuției aduse la documentație ------------------------------------------------ - -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ă. - -Consfințiți acceptarea acestui acord prin transmiterea -muncii dumneavoastră către PSF pentru a fi inclusă în -documentație. From 9b621c66e345a2c96c0e809a6ed5137f01451b10 Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Wed, 30 Jul 2025 22:15:18 +0300 Subject: [PATCH 20/35] Update test-translation.yml --- .github/workflows/test-translation.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-translation.yml b/.github/workflows/test-translation.yml index bb2d0f8..a558a65 100644 --- a/.github/workflows/test-translation.yml +++ b/.github/workflows/test-translation.yml @@ -3,11 +3,12 @@ name: Test translation workflow on: - schedule: - - cron: '0 0 * * *' +# schedule: +# - cron: '0 0 * * *' push: branches: - '*' + paths-ignore: 'README.rst' workflow_dispatch: jobs: From 438ffda9352f7ee90401c26eca3312930ffdf290 Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Wed, 30 Jul 2025 22:20:40 +0300 Subject: [PATCH 21/35] Update test-translation.yml --- .github/workflows/test-translation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-translation.yml b/.github/workflows/test-translation.yml index a558a65..13db72c 100644 --- a/.github/workflows/test-translation.yml +++ b/.github/workflows/test-translation.yml @@ -8,7 +8,7 @@ on: push: branches: - '*' - paths-ignore: 'README.rst' + paths-ignore: "./README.rst" workflow_dispatch: jobs: From cee7bdbc66a7d3844eb36cc8e0d0225320458d41 Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Wed, 30 Jul 2025 22:24:20 +0300 Subject: [PATCH 22/35] Update test-translation.yml --- .github/workflows/test-translation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-translation.yml b/.github/workflows/test-translation.yml index 13db72c..49dcb71 100644 --- a/.github/workflows/test-translation.yml +++ b/.github/workflows/test-translation.yml @@ -8,7 +8,7 @@ on: push: branches: - '*' - paths-ignore: "./README.rst" + paths-ignore: "/home/runner/work/python-docs-ro/python-docs-ro/Doc/locales/ro/LC_MESSAGES/README.rst" workflow_dispatch: jobs: From 93c6825ef120d746e412f17bb80d8dcd581e24c6 Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Wed, 30 Jul 2025 22:29:41 +0300 Subject: [PATCH 23/35] Update test-translation.yml --- .github/workflows/test-translation.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/test-translation.yml b/.github/workflows/test-translation.yml index 49dcb71..81ad8d6 100644 --- a/.github/workflows/test-translation.yml +++ b/.github/workflows/test-translation.yml @@ -8,7 +8,6 @@ on: push: branches: - '*' - paths-ignore: "/home/runner/work/python-docs-ro/python-docs-ro/Doc/locales/ro/LC_MESSAGES/README.rst" workflow_dispatch: jobs: From 9f9692fec11c1e05b80a8408f8ded04fc71f7c45 Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Wed, 30 Jul 2025 23:01:26 +0300 Subject: [PATCH 24/35] Delete README.rst --- README.rst | 112 ----------------------------------------------------- 1 file changed, 112 deletions(-) delete mode 100644 README.rst diff --git a/README.rst b/README.rst deleted file mode 100644 index 24fe8b1..0000000 --- a/README.rst +++ /dev/null @@ -1,112 +0,0 @@ -O traducere în românește a documentației limbajului Python -========================================================== - -Traducerea se realizează pe fragmente de text numite **mesaje**. -Aceste mesaje se găsesc/introduc în fișiere -`PO `_. - -Fișierele PO pot fi generate, dacă lucrăm sub sistemul de -operare Microsoft **Windows 11**, într-un cont de **administrator**, -astfel: - -- instalăm cea mai recentă versiune **stabilă** de - `Python `_; -- instalăm generatorul de documentație - `Sphinx `_:: - - pip install -U sphinx - -- instalăm unealta - `sphinx-intl `_:: - - pip install sphinx-intl - -- 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 `_; -- în subdirectorul **Doc** al codului-sursă Python se găsește fișierul - **conf.py**, la sfârșitul căruia adăugăm:: - - # Optiuni pentru traducerea in romaneste - # Adaugat in [ 17.06.2025 ] - # Conform [ https://www.sphinx-doc.org/en/master/usage/advanced/intl.html ] - # ------------------------------------------------------------------------- - - locale_dirs = ['locale_python_3_13_5/'] # path is example but recommended. - gettext_compact = False # optional. - language = 'ro' - -- din subdirectorul **Doc**, deschidem un - `terminal Windows `_ - și executăm comanda:: - - ./make gettext - - Ea va genera subdirectorul **build/gettext** al directorului **Doc**, - care conține fișiere - `POT `_. - -- în același terminal, comanda:: - - sphinx-intl update -p build/gettext -l ro - - va produce subdirectorul **locale_python_3_13_5/ro/LC_MESSAGES** al directorului - **Doc**. Acesta conține fișierele PO căutate. - -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:: - - Set-ExecutionPolicy Unrestricted - ./compilarea_traducerii - -Abateri de la recomandările oficiale privind traducerea -------------------------------------------------------- -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ă `_. -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. - -Pentru a compila *abaterile*, am operat mici modificări în fișierele -**.rst** corespunzătoare. - -Compilarea tutorialului ------------------------ -Tutorialul de Python, în românește, poate fi citit -`aici `_. -El trebuie considerat *șantier* (fuzzy) de către -eventualii săi cititori. - -Acord asupra contribuției aduse la documentație ------------------------------------------------ - -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ă. - -Consfințiți acceptarea acestui acord prin transmiterea -muncii dumneavoastră către PSF pentru a fi inclusă în -documentație. From 51a3159fcec7518cc49fd2a0f4d9b1b29cd6fcf7 Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Wed, 30 Jul 2025 23:16:38 +0300 Subject: [PATCH 25/35] Create README.md --- README.md | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..cd9f07f --- /dev/null +++ b/README.md @@ -0,0 +1,75 @@ +# O traducere în românește a documentației limbajului Python + +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>`). + +Fișierele PO pot fi generate, dacă lucrăm sub sistemul de operare Microsoft **Windows 11**, într-un cont de **administrator**, astfel: +- instalăm cea mai recentă versiune **stabilă** de [Python](https://www.python.org/); +- instalăm generatorul de documentație [Sphinx](https://www.sphinx-doc.org/en/master/usage/installation.html): + ``` + pip install -U sphinx + ``` +- instalăm unealta [sphinx-intl](https://www.sphinx-doc.org/en/master/usage/advanced/intl.html): + ``` + pip install sphinx-intl + ``` +- 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/>); +- în subdirectorul **Doc** al codului-sursă Python se găsește fișierul **conf.py**, la sfârșitul căruia adăugăm: + ``` + # Optiuni pentru traducerea in romaneste + # Adaugat in [ 17.06.2025 ] + + # Conform [ https://www.sphinx-doc.org/en/master/usage/advanced/intl.html ] + # ------------------------------------------------------------------------- + + locale_dirs = ['locale_python_3_13_5'] # calea are titlu de exemplu, insa este cea recomandata. + gettext_compact = False # optional. + language = 'ro' + ``` +- din subdirectorul **Doc**, deschidem un [terminal Windows](https://learn.microsoft.com/en-us/windows/terminal/) și executăm comanda: + ``` + ./make gettext + ``` + 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). +- în același terminal, comanda: + ``` + sphinx-intl update -p build/gettext -l ro + ``` + va produce subdirectorul **locale_python_3_13_5/ro/LC_MESSAGES** al directorului **Doc**. Acesta conține fișierele PO căutate. + +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: +``` +Set-ExecutionPolicy Unrestricted +./compilarea_traducerii +``` +## Abateri de la recomandările oficiale privind traducerea + +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. + +Pentru a compila *abaterile*, am operat mici modificări în fișierele **.rst** corespunzătoare. + +## Compilarea tutorialului + +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. + +## Acord asupra contribuției aduse la documentație + +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ă. + +Consfințiți acceptarea acestui acord prin transmiterea muncii dumneavoastră către PSF pentru a fi inclusă în documentație. + + + + + + + + + + + + + + + + + From 6c1e81c1a30ff876939f101dc853853719ffffcf Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Wed, 30 Jul 2025 23:18:27 +0300 Subject: [PATCH 26/35] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index cd9f07f..103ecca 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # O traducere în românește a documentației limbajului Python -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>`). +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). Fișierele PO pot fi generate, dacă lucrăm sub sistemul de operare Microsoft **Windows 11**, într-un cont de **administrator**, astfel: - instalăm cea mai recentă versiune **stabilă** de [Python](https://www.python.org/); @@ -12,7 +12,7 @@ Fișierele PO pot fi generate, dacă lucrăm sub sistemul de operare Microsoft * ``` pip install sphinx-intl ``` -- 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/>); +- 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/); - în subdirectorul **Doc** al codului-sursă Python se găsește fișierul **conf.py**, la sfârșitul căruia adăugăm: ``` # Optiuni pentru traducerea in romaneste @@ -22,7 +22,7 @@ Fișierele PO pot fi generate, dacă lucrăm sub sistemul de operare Microsoft * # ------------------------------------------------------------------------- locale_dirs = ['locale_python_3_13_5'] # calea are titlu de exemplu, insa este cea recomandata. - gettext_compact = False # optional. + gettext_compact = False # optional. language = 'ro' ``` - din subdirectorul **Doc**, deschidem un [terminal Windows](https://learn.microsoft.com/en-us/windows/terminal/) și executăm comanda: From 93bb6db8eddfac67d2ebc573a8a4c7b23a93449e Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Wed, 30 Jul 2025 23:23:27 +0300 Subject: [PATCH 27/35] Update test-translation.yml --- .github/workflows/test-translation.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-translation.yml b/.github/workflows/test-translation.yml index 81ad8d6..bb2d0f8 100644 --- a/.github/workflows/test-translation.yml +++ b/.github/workflows/test-translation.yml @@ -3,8 +3,8 @@ name: Test translation workflow on: -# schedule: -# - cron: '0 0 * * *' + schedule: + - cron: '0 0 * * *' push: branches: - '*' From 652362c5c19dd829a440f37f950e66ed17caaeb6 Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Wed, 30 Jul 2025 23:43:21 +0300 Subject: [PATCH 28/35] Update test-translation.yml --- .github/workflows/test-translation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-translation.yml b/.github/workflows/test-translation.yml index bb2d0f8..29cde3e 100644 --- a/.github/workflows/test-translation.yml +++ b/.github/workflows/test-translation.yml @@ -4,7 +4,7 @@ name: Test translation workflow on: schedule: - - cron: '0 0 * * *' + - cron: '0 12 * * *' push: branches: - '*' From 3de957bacbc11979efcb2ddeb04beaa0bfa82ef2 Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Thu, 31 Jul 2025 19:50:43 +0300 Subject: [PATCH 29/35] Update appendix.po --- tutorial/appendix.po | 156 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 143 insertions(+), 13 deletions(-) diff --git a/tutorial/appendix.po b/tutorial/appendix.po index 51c7516..b56fdde 100644 --- a/tutorial/appendix.po +++ b/tutorial/appendix.po @@ -1,18 +1,18 @@ -# SOME DESCRIPTIVE TITLE. +# ANEXA. # Copyright (C) 2001-2025, Python Software Foundation # This file is distributed under the same license as the Python package. -# FIRST AUTHOR , 2025. +# Octavian Mustafa , 2025. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-03-04 13:08+0200\n" +"POT-Creation-Date: 2025-06-17 17:56+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: ro\n" -"Language-Team: ro \n" +"Language-Team: ro \n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100" " < 20)) ? 1 : 2);\n" "MIME-Version: 1.0\n" @@ -22,11 +22,11 @@ msgstr "" #: ../../tutorial/appendix.rst:5 msgid "Appendix" -msgstr "" +msgstr "Anexă" #: ../../tutorial/appendix.rst:11 msgid "Interactive Mode" -msgstr "" +msgstr "Modul interactiv" #: ../../tutorial/appendix.rst:13 msgid "" @@ -34,6 +34,11 @@ msgid "" "basic interpreter is supported on all platforms with minimal line control" " capabilities." msgstr "" +"Sunt disponibile două versiuni ale *buclei* interactive :term:`REPL` " +"(Citește-Evaluează-Afișează-Reia). Dintre ele, modalitatea clasică de " +"utilizare a interpretorului (de Python în terminal) este suportată de " +"toate platformele moderne de calcul, doar că dispune de capacități " +"minimale de control al elementelor introduse în linia de comandă." #: ../../tutorial/appendix.rst:17 msgid "" @@ -47,6 +52,21 @@ msgid "" "enters \"paste mode\", which makes pasting larger blocks of code easier. " "Press :kbd:`F3` to return to the regular prompt." msgstr "" +"Însă, atât în Windows cât și în sistemele de operare de tip Unix cu suport " +"pentru :mod:`curses`, ne va fi pus la dispoziție, în mod predefinit, un " +"interpretor interactiv nou. El dispune de colorarea itemilor (în linia de " +"comandă), de editare multi-rând, de substituții în istoric, respectiv de " +"modul *lipire* (de la englezescul, ca jargon informatic, *paste*). Pentru " +"a dezafecta colorarea, găsiți detalii în :ref:`using-on-controlling-color`. " +"Tastele *funcții* (tastele F: se accesează apăsând simultan :kbd:`Fn` și " +":kbd:`F_număr`) vă vor oferi un plus de funcționalitate. Astfel, :kbd:`F1` " +"activează documentația interactivă de sprijin :mod:`pydoc`. :kbd:`F2` vă " +"permite să parcurgeți istoricul liniei de comandă fără afișarea " +"rezultatelor (execuției de comenzi) și nici a prompturilor :term:`>>>`, " +"respectiv :term:`...`. Cu :kbd:`F3` se intră în \"modul lipire\", ceea ce " +"va ușura lipirea unor blocuri (mai) consistente de cod. Pentru a ieși din " +"acest mod (și a vă înapoia la promptul principal), apăsați încă o dată pe " +"tasta (:kbd:`Fn` + ) :kbd:`F3`." #: ../../tutorial/appendix.rst:28 msgid "" @@ -54,16 +74,22 @@ msgid "" ":kbd:`exit` or :kbd:`quit`. Adding call parentheses after those commands " "is not required." msgstr "" +"Atunci când utilizați noul interpretor de comenzi interactiv, pentru a ieși " +"din el trebuie să tastați fie :kbd:`exit` fie :kbd:`quit`. Adăugarea de " +"paranteze (ca la operatorul de apel) este opțională." #: ../../tutorial/appendix.rst:32 msgid "" "If the new interactive shell is not desired, it can be disabled via the " ":envvar:`PYTHON_BASIC_REPL` environment variable." msgstr "" +"Dacă nu vă interesează acest interpretor de comenzi interactiv, atunci îl " +"puteți dezafecta cu ajutorul variabilei de mediu " +":envvar:`PYTHON_BASIC_REPL`." #: ../../tutorial/appendix.rst:38 msgid "Error Handling" -msgstr "" +msgstr "Tratarea erorilor" #: ../../tutorial/appendix.rst:40 msgid "" @@ -78,6 +104,20 @@ msgid "" "error stream; normal output from executed commands is written to standard" " output." msgstr "" +"Când survine o eroare, interpretorul va afișa atât un *mesaj de eroare* " +"(corespunzător) cât și conținutul *stivei de apeluri* (de la " +"englezescul, ca jargon informatic, *stack (back)trace*). Dacă vă aflați în " +"modul interactiv, atunci interpretorul revine la promptul principal; în " +"caz că programul provine dintr-un fișier, terminarea execuției se va " +"realiza cu un *cod de ieșire* nenul, aceasta după ce a fost afișată stiva " +"de apeluri. (Excepțiile tratate printr-o clauză :keyword:`except` dintr-o " +"instrucțiune :keyword:`try` nu vor fi considerate, în acest context, drept " +"erori.) Anumite erori sunt necondiționat fatale, drept pentru care ele vor " +"cauza ieșirea din execuție cu un cod de ieșire nenul; printre ele se numără " +"inconsistențele interne ale codului, respectiv anumite situații în care " +"se epuizează spațiul alocat în memorie. Toate mesajele de eroare se scriu " +"în *fluxul de eroare* (ori *canalul de eroare*) standard; încheierea " +"corectă a execuției unei comenzi se scrie în *fluxul de ieșire* standard." #: ../../tutorial/appendix.rst:50 msgid "" @@ -87,20 +127,31 @@ msgid "" "is executing raises the :exc:`KeyboardInterrupt` exception, which may be " "handled by a :keyword:`try` statement." msgstr "" +"Tastând *caracterul de întrerupere* (de obicei, :kbd:`Control-C` ori " +":kbd:`Delete`) a execuției, fie la promptul primar fie la cel secundar, " +"vom produce oprirea introducerii de caractere de la tastatură și revenirea " +"la promptul primar. [#]_ Dacă tastăm caracterul de întrerupere în timp ce " +"se derulează vreo execuție de comandă, atunci va fi lansată o excepție " +":exc:`KeyboardInterrupt`, a cărei interceptare poate fi proiectată, de " +"dumneavoastră înșivă, cu ajutorul unei instrucțiuni :keyword:`try`." #: ../../tutorial/appendix.rst:60 msgid "Executable Python Scripts" -msgstr "" +msgstr "Scripturi Python executabile" #: ../../tutorial/appendix.rst:62 msgid "" "On BSD'ish Unix systems, Python scripts can be made directly executable, " "like shell scripts, by putting the line ::" msgstr "" +"În sistemele Unix de tip BSD, scripturile Python pot fi transformate în " +"scripturi executabile direct, aidoma scripturilor interpretorului de " +"comenzi activ în sesiunea de terminal, prin inserarea liniei de " +"cod ::" #: ../../tutorial/appendix.rst:65 msgid "#!/usr/bin/env python3" -msgstr "" +msgstr "#!/usr/bin/env python3" #: ../../tutorial/appendix.rst:67 msgid "" @@ -111,16 +162,30 @@ msgid "" " Windows (``'\\r\\n'``) line ending. Note that the hash, or pound, " "character, ``'#'``, is used to start a comment in Python." msgstr "" +"chiar la începutul scriptului, respectiv adăugând permisiunilor " +"fișierului în care ați introdus scriptul și permisiunea ca acesta să " +"poată fi executat (ceea ce înseamnă a-i atribui fișierului un *mod " +"executabil*). Evident, am presupus că variabila de mediu :envvar:`PATH` " +"din contul dumneavoastră de utilizator conține (și) calea de acces către " +"interpretor. Este necesar ca simbolul bi-semn ``#!`` să fie așezat chiar " +"la începutul fișierului. Pe anumite platforme, primul rând trebuie să se " +"termine cu un caracter de încheiere de rând în stil Unix (adică, " +"``'\\n'``) și nu cu cele două caractere (invizibile) care desemnează, în " +"Windows, sfârșitul unui rând (``'\\r\\n'``). Nu uitați că *diezul*, " +"denumit, în jargon informatic, caracter *hash*, ``'#'``, este întrebuințat " +"în Python la începerea unui comentariu (de un rând)." #: ../../tutorial/appendix.rst:74 msgid "" "The script can be given an executable mode, or permission, using the " ":program:`chmod` command." msgstr "" +"Pentru ca un script să primească un *mod executabil*, adică pentru a i " +"se da *permisiunea* de a fi executat, vom folosi comanda :program:`chmod`." #: ../../tutorial/appendix.rst:77 msgid "$ chmod +x myscript.py" -msgstr "" +msgstr "$ chmod +x scriptul_meu.py" #: ../../tutorial/appendix.rst:81 msgid "" @@ -130,10 +195,16 @@ msgid "" "script. The extension can also be ``.pyw``, in that case, the console " "window that normally appears is suppressed." msgstr "" +"În sistemele Windows nu există acest \"mod executabil\". Instalatorul de " +"Python va realiza automat asocierea fișierelor ``.py`` cu ``python.exe``, " +"așa că, printr-un clic dublu pe un (simbol grafic al unui) fișier Python, " +"acesta va rula ca script. Dacă facem uz de extensia ``.pyw`` (în locul lui " +"``.py``), atunci fereastra terminalului, care apare la orice execuție de " +"script, va fi suprimată." #: ../../tutorial/appendix.rst:91 msgid "The Interactive Startup File" -msgstr "" +msgstr "Fișierul de pornire pentru sesiunea interactivă" #: ../../tutorial/appendix.rst:93 msgid "" @@ -144,6 +215,14 @@ msgid "" "commands. This is similar to the :file:`.profile` feature of the Unix " "shells." msgstr "" +"Atunci când utilizați Python-ul în modul interactiv, este convenabil să " +"aveți la îndemână un set de comenzi tipice, care să fie executate ori de " +"câte ori porniți interpretorul. Puteți realiza așa ceva atribuindu-i " +"unei variabile de mediu cu numele :envvar:`PYTHONSTARTUP` drept valoare " +"numele fișierului în care ați introdus setul respectiv de comenzi. Un " +"atare procedeu seamănă cu cel datorită căruia preparați conținutul " +"fișierului de configurare (la nivel de cont de utilizator) " +":file:`.profile` al interpretoarelor de comenzi din sistemele Unix." #: ../../tutorial/appendix.rst:99 msgid "" @@ -155,6 +234,18 @@ msgid "" "used without qualification in the interactive session. You can also " "change the prompts ``sys.ps1`` and ``sys.ps2`` in this file." msgstr "" +"Fișierul (de pornire; de la englezescul, ca jargon informatic, " +"*startup file*) va fi citit doar când deschideți o sesiune de lucru " +"interactiv, nu și atunci când Python-ul își citește comenzile dintr-un " +"fișier, și nici atunci când :file:`/dev/tty` este sursa explicită a " +"comenzilor (`fișier " +"`_ care, altminteri, " +"se comportă precum o sesiune interactivă). Execuția comenzilor din fișier " +"va avea loc în același spațiu de nume unde se execută comenzile date " +"interactiv, deci obiectele definite ori importurile făcute de comenzile " +"din fișier vor putea fi utilizate fără *nume calificate* în timpul " +"sesiunii interactive. De asemeni, puteți schimba promptul principal " +" ``sys.ps1`` și promptul secundar ``sys.ps2`` în acest fișier de pornire." #: ../../tutorial/appendix.rst:107 msgid "" @@ -164,6 +255,13 @@ msgid "" "exec(open('.pythonrc.py').read())``. If you want to use the startup file " "in a script, you must do this explicitly in the script::" msgstr "" +"Dacă doriți să fie citit și un fișier de pornire adițional, situat în " +"directorul curent, atunci puteți realiza acest lucru introducând în " +"fișierul de pornire global un fragment de cod aidoma acestuia: " +"``if os.path.isfile('.pythonrc.py'): exec(open('.pythonrc.py').read())``. " +"De asemeni, dacă sunteți interesați să întrebuințați fișierul de " +"pornire într-un script, atunci va fi nevoie să îi adăugați acelui " +"script un fragment de cod asemănător celui care urmează::" #: ../../tutorial/appendix.rst:113 msgid "" @@ -174,10 +272,16 @@ msgid "" " startup_file = fobj.read()\n" " exec(startup_file)" msgstr "" +"import os\n" +"numele_fișierului = os.environ.get('PYTHONSTARTUP')\n" +"if numele_fișierului and os.path.isfile(numele_fișierului):\n" +" with open(numele_fișierului) as obiectul_fișier:\n" +" fișierul_de_pornire = obiectul_fișier.read()\n" +" exec(fișierul_de_pornire)" #: ../../tutorial/appendix.rst:124 msgid "The Customization Modules" -msgstr "" +msgstr "Module de personalizare" #: ../../tutorial/appendix.rst:126 msgid "" @@ -186,6 +290,13 @@ msgid "" " the location of your user site-packages directory. Start Python and run" " this code::" msgstr "" +"Python-ul ne pune la dispoziție două *ancore* (de la englezescul, ca " +"jargon informatic, *hook*) pentru a-l personaliza: :index:`sitecustomize` " +"(personalizare la nivel de *sistem*, adică *(on-)site* sau *la fața " +"locului*) și :index:`usercustomize` (personalizare la nivel de " +"*utilizator*). Pentru a observa funcționarea personalizării, începem prin " +"a găsi calea de acces către directorul pachetelor disponibile *la fața " +"locului* pentru utilizator. Astfel, vom rula codul Python de mai jos::" #: ../../tutorial/appendix.rst:130 msgid "" @@ -193,6 +304,10 @@ msgid "" ">>> site.getusersitepackages()\n" "'/home/user/.local/lib/python3.x/site-packages'" msgstr "" +">>> import site\n" +">>> site.getusersitepackages()\n" +"'C:\\Users\\nume_de_utilizator\\AppData\\Roaming\\Python\\Python313" +"\\site-packages'" #: ../../tutorial/appendix.rst:134 msgid "" @@ -201,6 +316,11 @@ msgid "" "invocation of Python, unless it is started with the :option:`-s` option " "to disable the automatic import." msgstr "" +"Calea de acces fiind găsită, vom crea un fișier denumit " +":file:`usercustomize.py` în directorul respectiv și vom introduce în fișier " +"comenzile dorite. Existența acestui fișier va influența toate invocările " +"Python-ului, cu excepția situației în care pornirea se va face cu opțiunea " +":option:`-s`, opțiune care dezactivează importurile automate." #: ../../tutorial/appendix.rst:138 msgid "" @@ -209,12 +329,22 @@ msgid "" "and is imported before :index:`usercustomize`. See the documentation of " "the :mod:`site` module for more details." msgstr "" +"Ancora :index:`sitecustomize` funcționează la fel, doar că fișierul ei va " +"fi creat de către unul din administratorii sistemului dumneavoastră de " +"calcul și plasat într-unul din directoarele care fac parte din lista " +"directoarelor (globale ale) pachetelor instalate la nivel de *sistem*, însă " +"tot *la fața locului* (listă găsită cu ``site.getsitepackages()``), " +"acest fișier :file:`sitecustomize.py` fiind importat înaintea celui " +"corespunzând ancorei :index:`usercustomize`. A se vedea documentația " +"modulului :mod:`site` pentru mai multe detalii." #: ../../tutorial/appendix.rst:145 msgid "Footnotes" -msgstr "" +msgstr "Note de subsol" #: ../../tutorial/appendix.rst:146 msgid "A problem with the GNU Readline package may prevent this." msgstr "" +"O anumită defecțiune din pachetul GNU Readline ar putea să împiedice " +"aceasta." From c12486386791c39222940246e8e8a8423065682a Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Sun, 3 Aug 2025 22:59:44 +0300 Subject: [PATCH 30/35] Update controlflow.po --- tutorial/controlflow.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po index f4dc067..07b9f13 100644 --- a/tutorial/controlflow.po +++ b/tutorial/controlflow.po @@ -2636,7 +2636,7 @@ msgstr "" #: ../../tutorial/controlflow.rst:1150 msgid "Footnotes" -msgstr "Note de sunsol" +msgstr "Note de subsol" #: ../../tutorial/controlflow.rst:1151 msgid "" From b330002cb5ce6db3143101de70b4655ab2f69e52 Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Mon, 4 Aug 2025 12:21:34 +0300 Subject: [PATCH 31/35] Update bugs.po --- bugs.po | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/bugs.po b/bugs.po index 6cc97ce..849d8c0 100644 --- a/bugs.po +++ b/bugs.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-03-04 13:08+0200\n" +"POT-Creation-Date: 2025-06-17 17:56+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: ro\n" @@ -56,7 +56,7 @@ msgid "" "tracker>`. If you have a suggestion on how to fix it, include that as " "well." msgstr "" -"Dacă găsiți o eroare în această documentație și doriți să propuneți o " +"Dacă găsiți o eroare în această documentație și/sau doriți să propuneți o " "îmbunătățire, vă rugăm să transmiteți un raport de eroare la " ":ref:`urmăritor `. Dacă aveți o sugestie despre cum " "să o rezolvăm, includeți-o în raport." @@ -90,7 +90,7 @@ msgstr "" "Dacă nu aveți mai mult timp la dispoziție, puteți trimite rapoartele de " "eroare privind documentația și la docs@python.org (erorile de funcționare " "pot fi trimise la python-list@python.org). 'docs@' este o listă de " -"corespondență îngrijită de voluntari; cererea dumneavoastră va fi " +"discuții îngrijită de voluntari; cererea dumneavoastră va fi " "remarcată de îndată, însă procesarea ei vă necesita un anume timp." #: ../../bugs.rst:36 @@ -140,7 +140,6 @@ msgid "" "`Documentation Translations " "`_" msgstr "" -"" "`Traduceri ale documentației " "`_" @@ -197,7 +196,7 @@ msgid "" "using the \"Sign up\" link. It is not possible to submit a bug report " "anonymously." msgstr "" -"Dacă problema pe care o raportați nu se găsește deja în listă, logați-vă " +"Dacă problema pe care o raportați nu se găsește încă în listă, logați-vă " "la GitHub. Dacă nu aveți deja un cont GitHub, creați-vă un cont nou " "folosind linkul \"Sign up\". Nu este posibil să trimiteți un raport de " "eroare ca anonim." @@ -220,8 +219,8 @@ msgid "" "For the \"Title\" field, enter a *very* short description of the problem;" " fewer than ten words is good." msgstr "" -"La câmpul \"Title\", introduceți o *foarte* scurtă descriere a problemei;" -" este bine ca ea să fie de sub zece cuvinte." +"La câmpul \"Title\" (\"Titlul\"), introduceți o *foarte* scurtă descriere " +"a problemei; este bine ca ea să fie de sub zece cuvinte." #: ../../bugs.rst:79 msgid "" @@ -230,11 +229,11 @@ msgid "" "any extension modules were involved, and what hardware and software " "platform you were using (including version information as appropriate)." msgstr "" -"La câmpul \"Comment\", descrieți problema în detaliu, incluzând ceea ce " -"v-ați fi așteptat să se întâmple și ceea ce s-a întâmplat. Asigurați-vă " -"că ați precizat dacă au fost folosite module de extindere, precum și ce " -"platformă hardware și software ați folosit (incluzând, dacă este cazul, " -"informații despre versiuni)." +"La câmpul \"Comment\" (\"Comentariu\"), descrieți problema în detaliu, " +"incluzând ceea ce v-ați fi așteptat să se întâmple și ceea ce s-a " +"întâmplat. Asigurați-vă că ați precizat dacă au fost folosite module de " +"extindere, precum și ce platformă hardware și software ați folosit " +"(incluzând, dacă este cazul, informații despre versiuni)." #: ../../bugs.rst:84 msgid "" @@ -303,6 +302,3 @@ msgstr "" "`core-mentorship mailing list`_ este un loc propice pentru aflarea " "răspunsurilor la orice fel de întrebare privitoare la procesul " "reparării erorilor din Python." - - - From 7dc9579d2ad4f2260832e909a444bdd0faf7dff6 Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Sun, 10 Aug 2025 10:51:19 +0300 Subject: [PATCH 32/35] Update README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 103ecca..86fc711 100644 --- a/README.md +++ b/README.md @@ -12,16 +12,16 @@ Fișierele PO pot fi generate, dacă lucrăm sub sistemul de operare Microsoft * ``` pip install sphinx-intl ``` -- 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/); +- 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.6](https://www.python.org/downloads/source/); - în subdirectorul **Doc** al codului-sursă Python se găsește fișierul **conf.py**, la sfârșitul căruia adăugăm: ``` # Optiuni pentru traducerea in romaneste - # Adaugat in [ 17.06.2025 ] + # Adaugat in [ 10.08.2025 ] # Conform [ https://www.sphinx-doc.org/en/master/usage/advanced/intl.html ] # ------------------------------------------------------------------------- - locale_dirs = ['locale_python_3_13_5'] # calea are titlu de exemplu, insa este cea recomandata. + locale_dirs = ['locale_python_3_13_6'] # calea are titlu de exemplu, insa este cea recomandata. gettext_compact = False # optional. language = 'ro' ``` @@ -34,7 +34,7 @@ Fișierele PO pot fi generate, dacă lucrăm sub sistemul de operare Microsoft * ``` sphinx-intl update -p build/gettext -l ro ``` - va produce subdirectorul **locale_python_3_13_5/ro/LC_MESSAGES** al directorului **Doc**. Acesta conține fișierele PO căutate. + va produce subdirectorul **locale_python_3_13_6/ro/LC_MESSAGES** al directorului **Doc**. Acesta conține fișierele PO căutate. 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: ``` From 9cc9481c8a24f8cb1b99802e095f23f9575d6ec5 Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Sun, 10 Aug 2025 10:51:57 +0300 Subject: [PATCH 33/35] Update compilarea_traducerii.ps1 --- scripturi/compilarea_traducerii.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripturi/compilarea_traducerii.ps1 b/scripturi/compilarea_traducerii.ps1 index 9bd2980..9195b38 100644 --- a/scripturi/compilarea_traducerii.ps1 +++ b/scripturi/compilarea_traducerii.ps1 @@ -1,5 +1,5 @@ $director_convenabil = "C:\octavian\invatare_Python_2025\traducerea_documentatiei\proiectul_traducerii" -$proiectul = "$director_convenabil\Python-3.13.5\Doc" +$proiectul = "$director_convenabil\Python-3.13.6\Doc" $doctree = "$proiectul\build\doctrees" $sursa = $proiectul $tinta = "$proiectul\build" From 552640c347b8230f79cdb3015788659e76e0e97d Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Sun, 10 Aug 2025 10:52:51 +0300 Subject: [PATCH 34/35] Update lintare_si_copiere.ps1 --- scripturi/lintare_si_copiere.ps1 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/scripturi/lintare_si_copiere.ps1 b/scripturi/lintare_si_copiere.ps1 index 47dafc2..780b11f 100644 --- a/scripturi/lintare_si_copiere.ps1 +++ b/scripturi/lintare_si_copiere.ps1 @@ -27,7 +27,7 @@ else } $directorul_traducerii = "C:\octavian\invatare_Python_2025\traducerea_documentatiei" -$directorul_fragmentelor = "locale_python_3_13_5\ro\LC_MESSAGES" +$directorul_fragmentelor = "locale_python_3_13_6\ro\LC_MESSAGES" if( 2 -eq $numarul_componentelor ) { @@ -35,7 +35,7 @@ if( 2 -eq $numarul_componentelor ) } $directorul_versiunii = "directorul_locale_cu_traduceri\$directorul_fragmentelor" -$proiectul_versiunii = "proiectul_traducerii\Python-3.13.5\Doc" +$proiectul_versiunii = "proiectul_traducerii\Python-3.13.6\Doc" $directorul_compilarii = "$directorul_traducerii\$proiectul_versiunii\$directorul_fragmentelor" $ce_traduc = "$directorul_traducerii\$directorul_versiunii\$fisierul_fara_extensie.po" $ce_compilez = "$directorul_compilarii\$fisierul_fara_extensie.po" @@ -62,3 +62,4 @@ else } Set-ExecutionPolicy Restricted + From fdb00aa39a67fdbbd4caf3dcfba217c65f162fde Mon Sep 17 00:00:00 2001 From: Octavian Mustafa Date: Thu, 14 Aug 2025 21:05:07 +0300 Subject: [PATCH 35/35] Update glossary.po --- glossary.po | 982 ++++++++++++++++++++++++++++------------------------ 1 file changed, 537 insertions(+), 445 deletions(-) diff --git a/glossary.po b/glossary.po index 08f53c4..43a72d6 100644 --- a/glossary.po +++ b/glossary.po @@ -1,18 +1,18 @@ -# SOME DESCRIPTIVE TITLE. +# GLOSAR. # Copyright (C) 2001-2025, Python Software Foundation # This file is distributed under the same license as the Python package. -# FIRST AUTHOR , 2025. +# Octavian Mustafa , 2025. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 18:20+0300\n" +"POT-Creation-Date: 2025-08-10 10:39+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: ro\n" -"Language-Team: ro \n" +"Language-Team: ro \n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100" " < 20)) ? 1 : 2);\n" "MIME-Version: 1.0\n" @@ -22,11 +22,11 @@ msgstr "" #: ../../glossary.rst:5 msgid "Glossary" -msgstr "" +msgstr "Glosar" #: ../../glossary.rst:10 msgid "``>>>``" -msgstr "" +msgstr "``>>>``" #: ../../glossary.rst:12 msgid "" @@ -36,7 +36,7 @@ msgstr "" #: ../../glossary.rst:15 msgid "``...``" -msgstr "" +msgstr "``...``" #: ../../glossary.rst:17 msgid "Can refer to:" @@ -56,7 +56,7 @@ msgstr "" #: ../../glossary.rst:25 msgid "abstract base class" -msgstr "" +msgstr "clasă de bază abstractă" #: ../../glossary.rst:27 msgid "" @@ -75,7 +75,7 @@ msgstr "" #: ../../glossary.rst:38 msgid "annotation" -msgstr "" +msgstr "adnotare" #: ../../glossary.rst:40 msgid "" @@ -100,7 +100,7 @@ msgstr "" #: ../../glossary.rst:54 msgid "argument" -msgstr "" +msgstr "argument" #: ../../glossary.rst:56 msgid "" @@ -155,7 +155,7 @@ msgstr "" #: ../../glossary.rst:84 msgid "asynchronous context manager" -msgstr "" +msgstr "gestionar de context asincron" #: ../../glossary.rst:86 msgid "" @@ -166,7 +166,7 @@ msgstr "" #: ../../glossary.rst:89 msgid "asynchronous generator" -msgstr "" +msgstr "generator asincron" #: ../../glossary.rst:91 msgid "" @@ -192,7 +192,7 @@ msgstr "" #: ../../glossary.rst:103 msgid "asynchronous generator iterator" -msgstr "" +msgstr "iterator al unui generator asincron" #: ../../glossary.rst:105 msgid "An object created by a :term:`asynchronous generator` function." @@ -217,7 +217,7 @@ msgstr "" #: ../../glossary.rst:117 msgid "asynchronous iterable" -msgstr "" +msgstr "iterabil asincron" #: ../../glossary.rst:119 msgid "" @@ -228,7 +228,7 @@ msgstr "" #: ../../glossary.rst:122 msgid "asynchronous iterator" -msgstr "" +msgstr "iterator asincron" #: ../../glossary.rst:124 msgid "" @@ -242,7 +242,7 @@ msgstr "" #: ../../glossary.rst:129 msgid "attribute" -msgstr "" +msgstr "atribut" #: ../../glossary.rst:131 msgid "" @@ -262,7 +262,7 @@ msgstr "" #: ../../glossary.rst:141 msgid "awaitable" -msgstr "" +msgstr "de așteptat" #: ../../glossary.rst:143 msgid "" @@ -273,17 +273,19 @@ msgstr "" #: ../../glossary.rst:146 msgid "BDFL" -msgstr "" +msgstr "BDFL (BDPV)" #: ../../glossary.rst:148 msgid "" "Benevolent Dictator For Life, a.k.a. `Guido van Rossum " "`_, Python's creator." msgstr "" +"Binevoitorul Dictator Pe Viață, adică `Guido van Rossum " +"`_, creatorul Python-ului." #: ../../glossary.rst:150 msgid "binary file" -msgstr "" +msgstr "fișier binar" #: ../../glossary.rst:152 msgid "" @@ -302,7 +304,7 @@ msgstr "" #: ../../glossary.rst:161 msgid "borrowed reference" -msgstr "" +msgstr "referință împrumutată" #: ../../glossary.rst:163 msgid "" @@ -324,7 +326,7 @@ msgstr "" #: ../../glossary.rst:174 msgid "bytes-like object" -msgstr "" +msgstr "obiect ca-din-octeți" #: ../../glossary.rst:176 msgid "" @@ -349,7 +351,7 @@ msgstr "" #: ../../glossary.rst:191 msgid "bytecode" -msgstr "" +msgstr "cod de octeți" #: ../../glossary.rst:193 msgid "" @@ -371,7 +373,7 @@ msgstr "" #: ../../glossary.rst:205 msgid "callable" -msgstr "" +msgstr "apelabil" #: ../../glossary.rst:207 msgid "" @@ -392,7 +394,7 @@ msgstr "" #: ../../glossary.rst:215 msgid "callback" -msgstr "" +msgstr "apel de răspuns" #: ../../glossary.rst:217 msgid "" @@ -402,7 +404,7 @@ msgstr "" #: ../../glossary.rst:219 msgid "class" -msgstr "" +msgstr "clasă" #: ../../glossary.rst:221 msgid "" @@ -412,7 +414,7 @@ msgstr "" #: ../../glossary.rst:224 msgid "class variable" -msgstr "" +msgstr "variabilă de clasă" #: ../../glossary.rst:226 msgid "" @@ -422,7 +424,7 @@ msgstr "" #: ../../glossary.rst:228 msgid "closure variable" -msgstr "" +msgstr "variabilă din închidere" #: ../../glossary.rst:230 msgid "" @@ -462,7 +464,7 @@ msgstr "" #: ../../glossary.rst:250 msgid "complex number" -msgstr "" +msgstr "număr complex" #: ../../glossary.rst:252 msgid "" @@ -480,7 +482,7 @@ msgstr "" #: ../../glossary.rst:262 msgid "context" -msgstr "" +msgstr "context" #: ../../glossary.rst:264 msgid "" @@ -508,7 +510,7 @@ msgstr "" #: ../../glossary.rst:275 msgid "context management protocol" -msgstr "" +msgstr "protocol de gestionare contextuală" #: ../../glossary.rst:277 msgid "" @@ -518,7 +520,7 @@ msgstr "" #: ../../glossary.rst:279 msgid "context manager" -msgstr "" +msgstr "gestionar de context" #: ../../glossary.rst:281 msgid "" @@ -529,7 +531,7 @@ msgstr "" #: ../../glossary.rst:284 msgid "context variable" -msgstr "" +msgstr "variabilă contextuală" #: ../../glossary.rst:286 msgid "" @@ -541,7 +543,7 @@ msgstr "" #: ../../glossary.rst:290 msgid "contiguous" -msgstr "" +msgstr "contiguu" #: ../../glossary.rst:294 msgid "" @@ -553,10 +555,18 @@ msgid "" " fastest when visiting items in order of memory address. However, in " "Fortran contiguous arrays, the first index varies the fastest." msgstr "" +"A buffer is considered contiguous exactly if it is either " +"*contiguu ca în C* sau " +"*contiguu ca în Fortran*. Zero-dimensional buffers are C and Fortran " +"contiguous. In one-dimensional arrays, the items must be laid out in " +"memory next to each other, in order of increasing indexes starting from " +"zero. In multidimensional C-contiguous arrays, the last index varies the" +" fastest when visiting items in order of memory address. However, in " +"Fortran contiguous arrays, the first index varies the fastest." #: ../../glossary.rst:302 msgid "coroutine" -msgstr "" +msgstr "corutină" #: ../../glossary.rst:304 msgid "" @@ -569,7 +579,7 @@ msgstr "" #: ../../glossary.rst:309 msgid "coroutine function" -msgstr "" +msgstr "funcție corutină" #: ../../glossary.rst:311 msgid "" @@ -581,7 +591,7 @@ msgstr "" #: ../../glossary.rst:316 msgid "CPython" -msgstr "" +msgstr "CPython" #: ../../glossary.rst:318 msgid "" @@ -593,7 +603,7 @@ msgstr "" #: ../../glossary.rst:322 msgid "current context" -msgstr "" +msgstr "context curent" #: ../../glossary.rst:324 msgid "" @@ -608,7 +618,7 @@ msgstr "" #: ../../glossary.rst:330 msgid "decorator" -msgstr "" +msgstr "decorator" #: ../../glossary.rst:332 msgid "" @@ -643,7 +653,7 @@ msgstr "" #: ../../glossary.rst:350 msgid "descriptor" -msgstr "" +msgstr "descriptor" #: ../../glossary.rst:352 msgid "" @@ -667,7 +677,7 @@ msgstr "" #: ../../glossary.rst:365 msgid "dictionary" -msgstr "" +msgstr "dicționar" #: ../../glossary.rst:367 msgid "" @@ -678,7 +688,7 @@ msgstr "" #: ../../glossary.rst:371 msgid "dictionary comprehension" -msgstr "" +msgstr "comprehensiune sub formă de dicționar" #: ../../glossary.rst:373 #, python-brace-format @@ -691,7 +701,7 @@ msgstr "" #: ../../glossary.rst:377 msgid "dictionary view" -msgstr "" +msgstr "vedere de dicționar" #: ../../glossary.rst:379 msgid "" @@ -704,7 +714,7 @@ msgstr "" #: ../../glossary.rst:385 msgid "docstring" -msgstr "" +msgstr "șir de documentație" #: ../../glossary.rst:387 msgid "" @@ -718,7 +728,7 @@ msgstr "" #: ../../glossary.rst:393 msgid "duck-typing" -msgstr "" +msgstr "tipizare în funcție de comportament" #: ../../glossary.rst:395 msgid "" @@ -734,11 +744,22 @@ msgid "" msgstr "" #: ../../glossary.rst:404 -msgid "EAFP" -msgstr "" +msgid "dunder" +msgstr "dunder (două-jos)" #: ../../glossary.rst:406 msgid "" +"An informal short-hand for \"double underscore\", used when talking about" +" a :term:`special method`. For example, ``__init__`` is often pronounced " +"\"dunder init\"." +msgstr "" + +#: ../../glossary.rst:409 +msgid "EAFP" +msgstr "EAFP (DCIV)" + +#: ../../glossary.rst:411 +msgid "" "Easier to ask for forgiveness than permission. This common Python coding" " style assumes the existence of valid keys or attributes and catches " "exceptions if the assumption proves false. This clean and fast style is " @@ -746,12 +767,18 @@ msgid "" ":keyword:`except` statements. The technique contrasts with the " ":term:`LBYL` style common to many other languages such as C." msgstr "" +"Mai degrabă ceri iertare decât voie. This common Python coding" +" style assumes the existence of valid keys or attributes and catches " +"exceptions if the assumption proves false. This clean and fast style is " +"characterized by the presence of many :keyword:`try` and " +":keyword:`except` statements. The technique contrasts with the " +":term:`LBYL` style common to many other languages such as C." -#: ../../glossary.rst:412 +#: ../../glossary.rst:417 msgid "expression" -msgstr "" +msgstr "expresie" -#: ../../glossary.rst:414 +#: ../../glossary.rst:419 msgid "" "A piece of syntax which can be evaluated to some value. In other words, " "an expression is an accumulation of expression elements like literals, " @@ -762,32 +789,32 @@ msgid "" "statements, not expressions." msgstr "" -#: ../../glossary.rst:421 +#: ../../glossary.rst:426 msgid "extension module" -msgstr "" +msgstr "modul de extensie" -#: ../../glossary.rst:423 +#: ../../glossary.rst:428 msgid "" "A module written in C or C++, using Python's C API to interact with the " "core and with user code." msgstr "" -#: ../../glossary.rst:425 +#: ../../glossary.rst:430 msgid "f-string" -msgstr "" +msgstr "șir F de caractere" -#: ../../glossary.rst:427 +#: ../../glossary.rst:432 msgid "" "String literals prefixed with ``'f'`` or ``'F'`` are commonly called " "\"f-strings\" which is short for :ref:`formatted string literals " "`. See also :pep:`498`." msgstr "" -#: ../../glossary.rst:430 +#: ../../glossary.rst:435 msgid "file object" -msgstr "" +msgstr "obiect fișier" -#: ../../glossary.rst:432 +#: ../../glossary.rst:437 msgid "" "An object exposing a file-oriented API (with methods such as " ":meth:`!read` or :meth:`!write`) to an underlying resource. Depending on" @@ -798,7 +825,7 @@ msgid "" ":dfn:`streams`." msgstr "" -#: ../../glossary.rst:440 +#: ../../glossary.rst:445 msgid "" "There are actually three categories of file objects: raw :term:`binary " "files `, buffered :term:`binary files ` and " @@ -807,39 +834,39 @@ msgid "" "the :func:`open` function." msgstr "" -#: ../../glossary.rst:445 +#: ../../glossary.rst:450 msgid "file-like object" -msgstr "" +msgstr "obiect ca-un-fișier" -#: ../../glossary.rst:447 +#: ../../glossary.rst:452 msgid "A synonym for :term:`file object`." msgstr "" -#: ../../glossary.rst:448 +#: ../../glossary.rst:453 msgid "filesystem encoding and error handler" -msgstr "" +msgstr "rutină de tratare a erorilor și a codificării sistemului de fișiere" -#: ../../glossary.rst:450 +#: ../../glossary.rst:455 msgid "" "Encoding and error handler used by Python to decode bytes from the " "operating system and encode Unicode to the operating system." msgstr "" -#: ../../glossary.rst:453 +#: ../../glossary.rst:458 msgid "" "The filesystem encoding must guarantee to successfully decode all bytes " "below 128. If the file system encoding fails to provide this guarantee, " "API functions can raise :exc:`UnicodeError`." msgstr "" -#: ../../glossary.rst:457 +#: ../../glossary.rst:462 msgid "" "The :func:`sys.getfilesystemencoding` and " ":func:`sys.getfilesystemencodeerrors` functions can be used to get the " "filesystem encoding and error handler." msgstr "" -#: ../../glossary.rst:461 +#: ../../glossary.rst:466 msgid "" "The :term:`filesystem encoding and error handler` are configured at " "Python startup by the :c:func:`PyConfig_Read` function: see " @@ -847,36 +874,36 @@ msgid "" ":c:member:`~PyConfig.filesystem_errors` members of :c:type:`PyConfig`." msgstr "" -#: ../../glossary.rst:466 +#: ../../glossary.rst:471 msgid "See also the :term:`locale encoding`." msgstr "" -#: ../../glossary.rst:467 +#: ../../glossary.rst:472 msgid "finder" -msgstr "" +msgstr "descoperitor" -#: ../../glossary.rst:469 +#: ../../glossary.rst:474 msgid "" "An object that tries to find the :term:`loader` for a module that is " "being imported." msgstr "" -#: ../../glossary.rst:472 +#: ../../glossary.rst:477 msgid "" "There are two types of finder: :term:`meta path finders ` for use with :data:`sys.meta_path`, and :term:`path entry " "finders ` for use with :data:`sys.path_hooks`." msgstr "" -#: ../../glossary.rst:476 +#: ../../glossary.rst:481 msgid "See :ref:`finders-and-loaders` and :mod:`importlib` for much more detail." msgstr "" -#: ../../glossary.rst:477 +#: ../../glossary.rst:482 msgid "floor division" -msgstr "" +msgstr "parte întreagă la împărțirea cu rest" -#: ../../glossary.rst:479 +#: ../../glossary.rst:484 msgid "" "Mathematical division that rounds down to nearest integer. The floor " "division operator is ``//``. For example, the expression ``11 // 4`` " @@ -885,11 +912,11 @@ msgid "" "rounded *downward*. See :pep:`238`." msgstr "" -#: ../../glossary.rst:484 +#: ../../glossary.rst:489 msgid "free threading" -msgstr "" +msgstr "execuție multifilară asincronă" -#: ../../glossary.rst:486 +#: ../../glossary.rst:491 msgid "" "A threading model where multiple threads can run Python bytecode " "simultaneously within the same interpreter. This is in contrast to the " @@ -897,11 +924,11 @@ msgid "" "Python bytecode at a time. See :pep:`703`." msgstr "" -#: ../../glossary.rst:490 +#: ../../glossary.rst:495 msgid "free variable" -msgstr "" +msgstr "variabilă liberă" -#: ../../glossary.rst:492 +#: ../../glossary.rst:497 msgid "" "Formally, as defined in the :ref:`language execution model `," " a free variable is any variable used in a namespace which is not a local" @@ -911,11 +938,11 @@ msgid "" ":term:`closure variable`." msgstr "" -#: ../../glossary.rst:497 +#: ../../glossary.rst:502 msgid "function" -msgstr "" +msgstr "funcție" -#: ../../glossary.rst:499 +#: ../../glossary.rst:504 msgid "" "A series of statements which returns some value to a caller. It can also " "be passed zero or more :term:`arguments ` which may be used in " @@ -923,43 +950,43 @@ msgid "" "and the :ref:`function` section." msgstr "" -#: ../../glossary.rst:503 +#: ../../glossary.rst:508 msgid "function annotation" -msgstr "" +msgstr "adnotare de funcție" -#: ../../glossary.rst:505 +#: ../../glossary.rst:510 msgid "An :term:`annotation` of a function parameter or return value." msgstr "" -#: ../../glossary.rst:507 +#: ../../glossary.rst:512 msgid "" "Function annotations are usually used for :term:`type hints `:" " for example, this function is expected to take two :class:`int` " "arguments and is also expected to have an :class:`int` return value::" msgstr "" -#: ../../glossary.rst:512 +#: ../../glossary.rst:517 msgid "" "def sum_two_numbers(a: int, b: int) -> int:\n" " return a + b" msgstr "" -#: ../../glossary.rst:515 +#: ../../glossary.rst:520 msgid "Function annotation syntax is explained in section :ref:`function`." msgstr "" -#: ../../glossary.rst:517 +#: ../../glossary.rst:522 msgid "" "See :term:`variable annotation` and :pep:`484`, which describe this " "functionality. Also see :ref:`annotations-howto` for best practices on " "working with annotations." msgstr "" -#: ../../glossary.rst:521 +#: ../../glossary.rst:526 msgid "__future__" -msgstr "" +msgstr "__future__" -#: ../../glossary.rst:523 +#: ../../glossary.rst:528 msgid "" "A :ref:`future statement `, ``from __future__ import ``," " directs the compiler to compile the current module using syntax or " @@ -970,18 +997,18 @@ msgid "" "become the default::" msgstr "" -#: ../../glossary.rst:531 +#: ../../glossary.rst:536 msgid "" ">>> import __future__\n" ">>> __future__.division\n" "_Feature((2, 2, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0), 8192)" msgstr "" -#: ../../glossary.rst:534 +#: ../../glossary.rst:539 msgid "garbage collection" -msgstr "" +msgstr "colectare a gunoiului" -#: ../../glossary.rst:536 +#: ../../glossary.rst:541 msgid "" "The process of freeing memory when it is not used anymore. Python " "performs garbage collection via reference counting and a cyclic garbage " @@ -989,11 +1016,11 @@ msgid "" " collector can be controlled using the :mod:`gc` module." msgstr "" -#: ../../glossary.rst:541 ../../glossary.rst:542 +#: ../../glossary.rst:546 ../../glossary.rst:547 msgid "generator" -msgstr "" +msgstr "generator" -#: ../../glossary.rst:544 +#: ../../glossary.rst:549 msgid "" "A function which returns a :term:`generator iterator`. It looks like a " "normal function except that it contains :keyword:`yield` expressions for " @@ -1001,22 +1028,22 @@ msgid "" "retrieved one at a time with the :func:`next` function." msgstr "" -#: ../../glossary.rst:549 +#: ../../glossary.rst:554 msgid "" "Usually refers to a generator function, but may refer to a *generator " "iterator* in some contexts. In cases where the intended meaning isn't " "clear, using the full terms avoids ambiguity." msgstr "" -#: ../../glossary.rst:552 +#: ../../glossary.rst:557 msgid "generator iterator" -msgstr "" +msgstr "iterator de generator" -#: ../../glossary.rst:554 +#: ../../glossary.rst:559 msgid "An object created by a :term:`generator` function." msgstr "" -#: ../../glossary.rst:556 +#: ../../glossary.rst:561 msgid "" "Each :keyword:`yield` temporarily suspends processing, remembering the " "execution state (including local variables and pending try-statements). " @@ -1024,11 +1051,11 @@ msgid "" "contrast to functions which start fresh on every invocation)." msgstr "" -#: ../../glossary.rst:562 ../../glossary.rst:563 +#: ../../glossary.rst:567 ../../glossary.rst:568 msgid "generator expression" -msgstr "" +msgstr "expresie generatoare" -#: ../../glossary.rst:565 +#: ../../glossary.rst:570 msgid "" "An :term:`expression` that returns an :term:`iterator`. It looks like a " "normal expression followed by a :keyword:`!for` clause defining a loop " @@ -1036,59 +1063,59 @@ msgid "" "expression generates values for an enclosing function::" msgstr "" -#: ../../glossary.rst:570 +#: ../../glossary.rst:575 msgid "" ">>> sum(i*i for i in range(10)) # sum of squares 0, 1, 4, ... 81\n" "285" msgstr "" -#: ../../glossary.rst:572 +#: ../../glossary.rst:577 msgid "generic function" -msgstr "" +msgstr "funcție generică" -#: ../../glossary.rst:574 +#: ../../glossary.rst:579 msgid "" "A function composed of multiple functions implementing the same operation" " for different types. Which implementation should be used during a call " "is determined by the dispatch algorithm." msgstr "" -#: ../../glossary.rst:578 +#: ../../glossary.rst:583 msgid "" "See also the :term:`single dispatch` glossary entry, the " ":func:`functools.singledispatch` decorator, and :pep:`443`." msgstr "" -#: ../../glossary.rst:580 +#: ../../glossary.rst:585 msgid "generic type" -msgstr "" +msgstr "tip generic" -#: ../../glossary.rst:582 +#: ../../glossary.rst:587 msgid "" "A :term:`type` that can be parameterized; typically a :ref:`container " "class` such as :class:`list` or :class:`dict`. Used for " ":term:`type hints ` and :term:`annotations `." msgstr "" -#: ../../glossary.rst:587 +#: ../../glossary.rst:592 msgid "" "For more details, see :ref:`generic alias types`, " ":pep:`483`, :pep:`484`, :pep:`585`, and the :mod:`typing` module." msgstr "" -#: ../../glossary.rst:589 +#: ../../glossary.rst:594 msgid "GIL" -msgstr "" +msgstr "GIL (BGI)" -#: ../../glossary.rst:591 +#: ../../glossary.rst:596 msgid "See :term:`global interpreter lock`." msgstr "" -#: ../../glossary.rst:592 +#: ../../glossary.rst:597 msgid "global interpreter lock" -msgstr "" +msgstr "blocare globală de interpretor" -#: ../../glossary.rst:594 +#: ../../glossary.rst:599 msgid "" "The mechanism used by the :term:`CPython` interpreter to assure that only" " one thread executes Python :term:`bytecode` at a time. This simplifies " @@ -1099,7 +1126,7 @@ msgid "" "parallelism afforded by multi-processor machines." msgstr "" -#: ../../glossary.rst:603 +#: ../../glossary.rst:608 msgid "" "However, some extension modules, either standard or third-party, are " "designed so as to release the GIL when doing computationally intensive " @@ -1107,7 +1134,7 @@ msgid "" "when doing I/O." msgstr "" -#: ../../glossary.rst:608 +#: ../../glossary.rst:613 msgid "" "As of Python 3.13, the GIL can be disabled using the :option:`--disable-" "gil` build configuration. After building Python with this option, code " @@ -1118,22 +1145,22 @@ msgid "" ":pep:`703`." msgstr "" -#: ../../glossary.rst:614 +#: ../../glossary.rst:619 msgid "hash-based pyc" -msgstr "" +msgstr "pyc bazat pe hash" -#: ../../glossary.rst:616 +#: ../../glossary.rst:621 msgid "" "A bytecode cache file that uses the hash rather than the last-modified " "time of the corresponding source file to determine its validity. See :ref" ":`pyc-invalidation`." msgstr "" -#: ../../glossary.rst:619 +#: ../../glossary.rst:624 msgid "hashable" -msgstr "" +msgstr "identificabil prin hash" -#: ../../glossary.rst:621 +#: ../../glossary.rst:626 msgid "" "An object is *hashable* if it has a hash value which never changes during" " its lifetime (it needs a :meth:`~object.__hash__` method), and can be " @@ -1141,13 +1168,13 @@ msgid "" "Hashable objects which compare equal must have the same hash value." msgstr "" -#: ../../glossary.rst:627 +#: ../../glossary.rst:632 msgid "" "Hashability makes an object usable as a dictionary key and a set member, " "because these data structures use the hash value internally." msgstr "" -#: ../../glossary.rst:630 +#: ../../glossary.rst:635 msgid "" "Most of Python's immutable built-in objects are hashable; mutable " "containers (such as lists or dictionaries) are not; immutable containers " @@ -1157,39 +1184,42 @@ msgid "" "and their hash value is derived from their :func:`id`." msgstr "" -#: ../../glossary.rst:637 +#: ../../glossary.rst:642 msgid "IDLE" -msgstr "" +msgstr "IDLE (MIDI)" -#: ../../glossary.rst:639 +#: ../../glossary.rst:644 msgid "" "An Integrated Development and Learning Environment for Python. " ":ref:`idle` is a basic editor and interpreter environment which ships " "with the standard distribution of Python." msgstr "" +"Un Mediu de Învățare și Dezvoltare Integrată în Python. " +":ref:`idle` is a basic editor and interpreter environment which ships " +"with the standard distribution of Python." -#: ../../glossary.rst:642 +#: ../../glossary.rst:647 msgid "immortal" -msgstr "" +msgstr "imortal" -#: ../../glossary.rst:644 +#: ../../glossary.rst:649 msgid "" "*Immortal objects* are a CPython implementation detail introduced in " ":pep:`683`." msgstr "" -#: ../../glossary.rst:647 +#: ../../glossary.rst:652 msgid "" "If an object is immortal, its :term:`reference count` is never modified, " "and therefore it is never deallocated while the interpreter is running. " "For example, :const:`True` and :const:`None` are immortal in CPython." msgstr "" -#: ../../glossary.rst:650 +#: ../../glossary.rst:655 msgid "immutable" -msgstr "" +msgstr "imutabil" -#: ../../glossary.rst:652 +#: ../../glossary.rst:657 msgid "" "An object with a fixed value. Immutable objects include numbers, strings" " and tuples. Such an object cannot be altered. A new object has to be " @@ -1198,11 +1228,11 @@ msgid "" "key in a dictionary." msgstr "" -#: ../../glossary.rst:657 +#: ../../glossary.rst:662 msgid "import path" -msgstr "" +msgstr "cale de acces pentru importuri" -#: ../../glossary.rst:659 +#: ../../glossary.rst:664 msgid "" "A list of locations (or :term:`path entries `) that are " "searched by the :term:`path based finder` for modules to import. During " @@ -1211,31 +1241,31 @@ msgid "" "attribute." msgstr "" -#: ../../glossary.rst:664 +#: ../../glossary.rst:669 msgid "importing" -msgstr "" +msgstr "importare" -#: ../../glossary.rst:666 +#: ../../glossary.rst:671 msgid "" "The process by which Python code in one module is made available to " "Python code in another module." msgstr "" -#: ../../glossary.rst:668 +#: ../../glossary.rst:673 msgid "importer" -msgstr "" +msgstr "importator" -#: ../../glossary.rst:670 +#: ../../glossary.rst:675 msgid "" "An object that both finds and loads a module; both a :term:`finder` and " ":term:`loader` object." msgstr "" -#: ../../glossary.rst:672 +#: ../../glossary.rst:677 msgid "interactive" -msgstr "" +msgstr "interactiv" -#: ../../glossary.rst:674 +#: ../../glossary.rst:679 msgid "" "Python has an interactive interpreter which means you can enter " "statements and expressions at the interpreter prompt, immediately execute" @@ -1246,11 +1276,11 @@ msgid "" "interac`." msgstr "" -#: ../../glossary.rst:681 +#: ../../glossary.rst:686 msgid "interpreted" -msgstr "" +msgstr "interpretat" -#: ../../glossary.rst:683 +#: ../../glossary.rst:688 msgid "" "Python is an interpreted language, as opposed to a compiled one, though " "the distinction can be blurry because of the presence of the bytecode " @@ -1261,11 +1291,11 @@ msgid "" ":term:`interactive`." msgstr "" -#: ../../glossary.rst:690 +#: ../../glossary.rst:695 msgid "interpreter shutdown" -msgstr "" +msgstr "oprire a interpretorului" -#: ../../glossary.rst:692 +#: ../../glossary.rst:697 msgid "" "When asked to shut down, the Python interpreter enters a special phase " "where it gradually releases all allocated resources, such as modules and " @@ -1277,17 +1307,17 @@ msgid "" "library modules or the warnings machinery)." msgstr "" -#: ../../glossary.rst:701 +#: ../../glossary.rst:706 msgid "" "The main reason for interpreter shutdown is that the ``__main__`` module " "or the script being run has finished executing." msgstr "" -#: ../../glossary.rst:703 +#: ../../glossary.rst:708 msgid "iterable" -msgstr "" +msgstr "iterabil" -#: ../../glossary.rst:705 +#: ../../glossary.rst:710 msgid "" "An object capable of returning its members one at a time. Examples of " "iterables include all sequence types (such as :class:`list`, " @@ -1298,7 +1328,7 @@ msgid "" "semantics." msgstr "" -#: ../../glossary.rst:713 +#: ../../glossary.rst:718 msgid "" "Iterables can be used in a :keyword:`for` loop and in many other places " "where a sequence is needed (:func:`zip`, :func:`map`, ...). When an " @@ -1312,11 +1342,11 @@ msgid "" ":term:`generator`." msgstr "" -#: ../../glossary.rst:723 +#: ../../glossary.rst:728 msgid "iterator" -msgstr "" +msgstr "iterator" -#: ../../glossary.rst:725 +#: ../../glossary.rst:730 msgid "" "An object representing a stream of data. Repeated calls to the " "iterator's :meth:`~iterator.__next__` method (or passing it to the built-" @@ -1335,11 +1365,11 @@ msgid "" "iteration pass, making it appear like an empty container." msgstr "" -#: ../../glossary.rst:740 +#: ../../glossary.rst:745 msgid "More information can be found in :ref:`typeiter`." msgstr "" -#: ../../glossary.rst:744 +#: ../../glossary.rst:749 msgid "" "CPython does not consistently apply the requirement that an iterator " "define :meth:`~iterator.__iter__`. And also please note that the free-" @@ -1347,11 +1377,11 @@ msgid "" "operations." msgstr "" -#: ../../glossary.rst:749 +#: ../../glossary.rst:754 msgid "key function" -msgstr "" +msgstr "funcție cheie" -#: ../../glossary.rst:751 +#: ../../glossary.rst:756 msgid "" "A key function or collation function is a callable that returns a value " "used for sorting or ordering. For example, :func:`locale.strxfrm` is " @@ -1359,7 +1389,7 @@ msgid "" "conventions." msgstr "" -#: ../../glossary.rst:756 +#: ../../glossary.rst:761 msgid "" "A number of tools in Python accept key functions to control how elements " "are ordered or grouped. They include :func:`min`, :func:`max`, " @@ -1368,7 +1398,7 @@ msgid "" ":func:`itertools.groupby`." msgstr "" -#: ../../glossary.rst:762 +#: ../../glossary.rst:767 msgid "" "There are several ways to create a key function. For example. the " ":meth:`str.lower` method can serve as a key function for case insensitive" @@ -1380,38 +1410,42 @@ msgid "" "and use key functions." msgstr "" -#: ../../glossary.rst:769 +#: ../../glossary.rst:774 msgid "keyword argument" -msgstr "" +msgstr "argument cuvânt-cheie" -#: ../../glossary.rst:771 ../../glossary.rst:1086 +#: ../../glossary.rst:776 ../../glossary.rst:1091 msgid "See :term:`argument`." msgstr "" -#: ../../glossary.rst:772 +#: ../../glossary.rst:777 msgid "lambda" -msgstr "" +msgstr "lambda" -#: ../../glossary.rst:774 +#: ../../glossary.rst:779 msgid "" "An anonymous inline function consisting of a single :term:`expression` " "which is evaluated when the function is called. The syntax to create a " "lambda function is ``lambda [parameters]: expression``" msgstr "" -#: ../../glossary.rst:777 +#: ../../glossary.rst:782 msgid "LBYL" -msgstr "" +msgstr "LBYL (IPAP)" -#: ../../glossary.rst:779 +#: ../../glossary.rst:784 msgid "" "Look before you leap. This coding style explicitly tests for pre-" "conditions before making calls or lookups. This style contrasts with the" " :term:`EAFP` approach and is characterized by the presence of many " ":keyword:`if` statements." msgstr "" +"Întâi privești, apoi pășești. This coding style explicitly tests for pre-" +"conditions before making calls or lookups. This style contrasts with the" +" :term:`EAFP` approach and is characterized by the presence of many " +":keyword:`if` statements." -#: ../../glossary.rst:784 +#: ../../glossary.rst:789 msgid "" "In a multi-threaded environment, the LBYL approach can risk introducing a" " race condition between \"the looking\" and \"the leaping\". For " @@ -1421,30 +1455,30 @@ msgid "" "approach." msgstr "" -#: ../../glossary.rst:789 +#: ../../glossary.rst:794 msgid "lexical analyzer" -msgstr "" +msgstr "analizator lexical" -#: ../../glossary.rst:792 +#: ../../glossary.rst:797 msgid "Formal name for the *tokenizer*; see :term:`token`." msgstr "" -#: ../../glossary.rst:793 +#: ../../glossary.rst:798 msgid "list" -msgstr "" +msgstr "listă" -#: ../../glossary.rst:795 +#: ../../glossary.rst:800 msgid "" "A built-in Python :term:`sequence`. Despite its name it is more akin to " "an array in other languages than to a linked list since access to " "elements is *O*\\ (1)." msgstr "" -#: ../../glossary.rst:798 +#: ../../glossary.rst:803 msgid "list comprehension" -msgstr "" +msgstr "comprehensiune a unei liste" -#: ../../glossary.rst:800 +#: ../../glossary.rst:805 #, python-brace-format msgid "" "A compact way to process all or part of the elements in a sequence and " @@ -1454,11 +1488,11 @@ msgid "" "is optional. If omitted, all elements in ``range(256)`` are processed." msgstr "" -#: ../../glossary.rst:806 +#: ../../glossary.rst:811 msgid "loader" -msgstr "" +msgstr "încărcător" -#: ../../glossary.rst:808 +#: ../../glossary.rst:813 msgid "" "An object that loads a module. It must define the :meth:`!exec_module` " "and :meth:`!create_module` methods to implement the " @@ -1466,57 +1500,57 @@ msgid "" "by a :term:`finder`. See also:" msgstr "" -#: ../../glossary.rst:814 +#: ../../glossary.rst:819 msgid ":ref:`finders-and-loaders`" msgstr "" -#: ../../glossary.rst:815 +#: ../../glossary.rst:820 msgid ":class:`importlib.abc.Loader`" msgstr "" -#: ../../glossary.rst:816 +#: ../../glossary.rst:821 msgid ":pep:`302`" msgstr "" -#: ../../glossary.rst:817 +#: ../../glossary.rst:822 msgid "locale encoding" -msgstr "" +msgstr "codificare locală" -#: ../../glossary.rst:819 +#: ../../glossary.rst:824 msgid "" "On Unix, it is the encoding of the LC_CTYPE locale. It can be set with " ":func:`locale.setlocale(locale.LC_CTYPE, new_locale) `." msgstr "" -#: ../../glossary.rst:822 +#: ../../glossary.rst:827 msgid "On Windows, it is the ANSI code page (ex: ``\"cp1252\"``)." msgstr "" -#: ../../glossary.rst:824 +#: ../../glossary.rst:829 msgid "On Android and VxWorks, Python uses ``\"utf-8\"`` as the locale encoding." msgstr "" -#: ../../glossary.rst:826 +#: ../../glossary.rst:831 msgid ":func:`locale.getencoding` can be used to get the locale encoding." msgstr "" -#: ../../glossary.rst:828 +#: ../../glossary.rst:833 msgid "See also the :term:`filesystem encoding and error handler`." msgstr "" -#: ../../glossary.rst:829 +#: ../../glossary.rst:834 msgid "magic method" -msgstr "" +msgstr "metodă magică" -#: ../../glossary.rst:833 +#: ../../glossary.rst:838 msgid "An informal synonym for :term:`special method`." msgstr "" -#: ../../glossary.rst:834 +#: ../../glossary.rst:839 msgid "mapping" -msgstr "" +msgstr "asociere" -#: ../../glossary.rst:836 +#: ../../glossary.rst:841 msgid "" "A container object that supports arbitrary key lookups and implements the" " methods specified in the :class:`collections.abc.Mapping` or " @@ -1526,28 +1560,28 @@ msgid "" ":class:`collections.Counter`." msgstr "" -#: ../../glossary.rst:842 +#: ../../glossary.rst:847 msgid "meta path finder" -msgstr "" +msgstr "descoperitor de meta-cale de acces" -#: ../../glossary.rst:844 +#: ../../glossary.rst:849 msgid "" "A :term:`finder` returned by a search of :data:`sys.meta_path`. Meta " "path finders are related to, but different from :term:`path entry finders" " `." msgstr "" -#: ../../glossary.rst:848 +#: ../../glossary.rst:853 msgid "" "See :class:`importlib.abc.MetaPathFinder` for the methods that meta path " "finders implement." msgstr "" -#: ../../glossary.rst:850 +#: ../../glossary.rst:855 msgid "metaclass" -msgstr "" +msgstr "meta-clasă" -#: ../../glossary.rst:852 +#: ../../glossary.rst:857 msgid "" "The class of a class. Class definitions create a class name, a class " "dictionary, and a list of base classes. The metaclass is responsible for" @@ -1560,15 +1594,15 @@ msgid "" "implementing singletons, and many other tasks." msgstr "" -#: ../../glossary.rst:862 +#: ../../glossary.rst:867 msgid "More information can be found in :ref:`metaclasses`." msgstr "" -#: ../../glossary.rst:831 ../../glossary.rst:863 ../../glossary.rst:1231 +#: ../../glossary.rst:836 ../../glossary.rst:868 ../../glossary.rst:1241 msgid "method" -msgstr "" +msgstr "metodă" -#: ../../glossary.rst:865 +#: ../../glossary.rst:870 msgid "" "A function which is defined inside a class body. If called as an " "attribute of an instance of that class, the method will get the instance " @@ -1576,83 +1610,86 @@ msgid "" "See :term:`function` and :term:`nested scope`." msgstr "" -#: ../../glossary.rst:869 +#: ../../glossary.rst:874 msgid "method resolution order" -msgstr "" +msgstr "ordine de rezolvare a metodelor" -#: ../../glossary.rst:871 +#: ../../glossary.rst:876 msgid "" "Method Resolution Order is the order in which base classes are searched " "for a member during lookup. See :ref:`python_2.3_mro` for details of the " "algorithm used by the Python interpreter since the 2.3 release." msgstr "" +"Ordinea de Rezolvare a Metodelor is the order in which base classes are " +"searched for a member during lookup. See :ref:`python_2.3_mro` for details " +"of the algorithm used by the Python interpreter since the 2.3 release." -#: ../../glossary.rst:874 +#: ../../glossary.rst:879 msgid "module" -msgstr "" +msgstr "modul" -#: ../../glossary.rst:876 +#: ../../glossary.rst:881 msgid "" "An object that serves as an organizational unit of Python code. Modules " "have a namespace containing arbitrary Python objects. Modules are loaded" " into Python by the process of :term:`importing`." msgstr "" -#: ../../glossary.rst:880 +#: ../../glossary.rst:885 msgid "See also :term:`package`." msgstr "" -#: ../../glossary.rst:881 +#: ../../glossary.rst:886 msgid "module spec" -msgstr "" +msgstr "specificație a unui modul" -#: ../../glossary.rst:883 +#: ../../glossary.rst:888 msgid "" "A namespace containing the import-related information used to load a " "module. An instance of :class:`importlib.machinery.ModuleSpec`." msgstr "" -#: ../../glossary.rst:886 +#: ../../glossary.rst:891 msgid "See also :ref:`module-specs`." msgstr "" -#: ../../glossary.rst:887 +#: ../../glossary.rst:892 msgid "MRO" -msgstr "" +msgstr "MRO (ORM)" -#: ../../glossary.rst:889 +#: ../../glossary.rst:894 msgid "See :term:`method resolution order`." msgstr "" -#: ../../glossary.rst:890 +#: ../../glossary.rst:895 msgid "mutable" -msgstr "" +msgstr "mutabil" -#: ../../glossary.rst:892 +#: ../../glossary.rst:897 msgid "" "Mutable objects can change their value but keep their :func:`id`. See " "also :term:`immutable`." msgstr "" -#: ../../glossary.rst:894 +#: ../../glossary.rst:899 msgid "named tuple" -msgstr "" +msgstr "tuplu nominalizat" -#: ../../glossary.rst:896 +#: ../../glossary.rst:901 msgid "" "The term \"named tuple\" applies to any type or class that inherits from " "tuple and whose indexable elements are also accessible using named " "attributes. The type or class may have other features as well." msgstr "" -#: ../../glossary.rst:900 +#: ../../glossary.rst:905 msgid "" "Several built-in types are named tuples, including the values returned by" " :func:`time.localtime` and :func:`os.stat`. Another example is " ":data:`sys.float_info`::" msgstr "" -#: ../../glossary.rst:904 +#: ../../glossary.rst:909 msgid "" ">>> sys.float_info[1] # indexed access\n" "1024\n" @@ -1662,7 +1699,7 @@ msgid "" "True" msgstr "" -#: ../../glossary.rst:911 +#: ../../glossary.rst:916 msgid "" "Some named tuples are built-in types (such as the above examples). " "Alternatively, a named tuple can be created from a regular class " @@ -1674,11 +1711,11 @@ msgid "" "tuples." msgstr "" -#: ../../glossary.rst:919 +#: ../../glossary.rst:924 msgid "namespace" -msgstr "" +msgstr "spațiu de nume" -#: ../../glossary.rst:921 +#: ../../glossary.rst:926 msgid "" "The place where a variable is stored. Namespaces are implemented as " "dictionaries. There are the local, global and built-in namespaces as " @@ -1692,11 +1729,11 @@ msgid "" ":mod:`itertools` modules, respectively." msgstr "" -#: ../../glossary.rst:931 +#: ../../glossary.rst:936 msgid "namespace package" -msgstr "" +msgstr "pachet spațiu de nume" -#: ../../glossary.rst:933 +#: ../../glossary.rst:938 msgid "" "A :term:`package` which serves only as a container for subpackages. " "Namespace packages may have no physical representation, and specifically " @@ -1704,28 +1741,28 @@ msgid "" "``__init__.py`` file." msgstr "" -#: ../../glossary.rst:938 +#: ../../glossary.rst:943 msgid "" "Namespace packages allow several individually installable packages to " "have a common parent package. Otherwise, it is recommended to use a " ":term:`regular package`." msgstr "" -#: ../../glossary.rst:941 +#: ../../glossary.rst:946 msgid "" "For more information, see :pep:`420` and :ref:`reference-namespace-" "package`." msgstr "" -#: ../../glossary.rst:943 +#: ../../glossary.rst:948 msgid "See also :term:`module`." msgstr "" -#: ../../glossary.rst:944 +#: ../../glossary.rst:949 msgid "nested scope" -msgstr "" +msgstr "domeniu de valabilitate imbricat" -#: ../../glossary.rst:946 +#: ../../glossary.rst:951 msgid "" "The ability to refer to a variable in an enclosing definition. For " "instance, a function defined inside another function can refer to " @@ -1736,11 +1773,11 @@ msgid "" " outer scopes." msgstr "" -#: ../../glossary.rst:953 +#: ../../glossary.rst:958 msgid "new-style class" -msgstr "" +msgstr "clasă în-noul-stil" -#: ../../glossary.rst:955 +#: ../../glossary.rst:960 msgid "" "Old name for the flavor of classes now used for all class objects. In " "earlier Python versions, only new-style classes could use Python's newer," @@ -1749,21 +1786,21 @@ msgid "" "methods." msgstr "" -#: ../../glossary.rst:960 +#: ../../glossary.rst:965 msgid "object" -msgstr "" +msgstr "obiect" -#: ../../glossary.rst:962 +#: ../../glossary.rst:967 msgid "" "Any data with state (attributes or value) and defined behavior (methods)." " Also the ultimate base class of any :term:`new-style class`." msgstr "" -#: ../../glossary.rst:965 +#: ../../glossary.rst:970 msgid "optimized scope" -msgstr "" +msgstr "domeniu de valabilitate optimizat" -#: ../../glossary.rst:967 +#: ../../glossary.rst:972 msgid "" "A scope where target local variable names are reliably known to the " "compiler when the code is compiled, allowing optimization of read and " @@ -1774,33 +1811,33 @@ msgid "" "nonlocal variable names are restricted to optimized scopes." msgstr "" -#: ../../glossary.rst:974 +#: ../../glossary.rst:979 msgid "package" -msgstr "" +msgstr "pachet" -#: ../../glossary.rst:976 +#: ../../glossary.rst:981 msgid "" "A Python :term:`module` which can contain submodules or recursively, " "subpackages. Technically, a package is a Python module with a " "``__path__`` attribute." msgstr "" -#: ../../glossary.rst:980 +#: ../../glossary.rst:985 msgid "See also :term:`regular package` and :term:`namespace package`." msgstr "" -#: ../../glossary.rst:981 +#: ../../glossary.rst:986 msgid "parameter" -msgstr "" +msgstr "parametru" -#: ../../glossary.rst:983 +#: ../../glossary.rst:988 msgid "" "A named entity in a :term:`function` (or method) definition that " "specifies an :term:`argument` (or in some cases, arguments) that the " "function can accept. There are five kinds of parameter:" msgstr "" -#: ../../glossary.rst:987 +#: ../../glossary.rst:992 msgid "" ":dfn:`positional-or-keyword`: specifies an argument that can be passed " "either :term:`positionally ` or as a :term:`keyword argument " @@ -1808,11 +1845,11 @@ msgid "" "and *bar* in the following::" msgstr "" -#: ../../glossary.rst:992 +#: ../../glossary.rst:997 msgid "def func(foo, bar=None): ..." msgstr "" -#: ../../glossary.rst:996 +#: ../../glossary.rst:1001 msgid "" ":dfn:`positional-only`: specifies an argument that can be supplied only " "by position. Positional-only parameters can be defined by including a " @@ -1820,11 +1857,11 @@ msgid "" "them, for example *posonly1* and *posonly2* in the following::" msgstr "" -#: ../../glossary.rst:1001 +#: ../../glossary.rst:1006 msgid "def func(posonly1, posonly2, /, positional_or_keyword): ..." msgstr "" -#: ../../glossary.rst:1005 +#: ../../glossary.rst:1010 msgid "" ":dfn:`keyword-only`: specifies an argument that can be supplied only by " "keyword. Keyword-only parameters can be defined by including a single " @@ -1833,11 +1870,11 @@ msgid "" " the following::" msgstr "" -#: ../../glossary.rst:1011 +#: ../../glossary.rst:1016 msgid "def func(arg, *, kw_only1, kw_only2): ..." msgstr "" -#: ../../glossary.rst:1013 +#: ../../glossary.rst:1018 msgid "" ":dfn:`var-positional`: specifies that an arbitrary sequence of positional" " arguments can be provided (in addition to any positional arguments " @@ -1846,11 +1883,11 @@ msgid "" "following::" msgstr "" -#: ../../glossary.rst:1019 +#: ../../glossary.rst:1024 msgid "def func(*args, **kwargs): ..." msgstr "" -#: ../../glossary.rst:1021 +#: ../../glossary.rst:1026 msgid "" ":dfn:`var-keyword`: specifies that arbitrarily many keyword arguments can" " be provided (in addition to any keyword arguments already accepted by " @@ -1858,13 +1895,13 @@ msgid "" "parameter name with ``**``, for example *kwargs* in the example above." msgstr "" -#: ../../glossary.rst:1027 +#: ../../glossary.rst:1032 msgid "" "Parameters can specify both optional and required arguments, as well as " "default values for some optional arguments." msgstr "" -#: ../../glossary.rst:1030 +#: ../../glossary.rst:1035 msgid "" "See also the :term:`argument` glossary entry, the FAQ question on " ":ref:`the difference between arguments and parameters ` which " "searches an :term:`import path` for modules." msgstr "" -#: ../../glossary.rst:1055 +#: ../../glossary.rst:1060 msgid "path-like object" -msgstr "" +msgstr "obiect ca-o-cale-de-acces" -#: ../../glossary.rst:1057 +#: ../../glossary.rst:1062 msgid "" "An object representing a file system path. A path-like object is either a" " :class:`str` or :class:`bytes` object representing a path, or an object " @@ -1936,19 +1973,23 @@ msgid "" "Introduced by :pep:`519`." msgstr "" -#: ../../glossary.rst:1065 +#: ../../glossary.rst:1070 msgid "PEP" -msgstr "" +msgstr "PEP (PIP)" -#: ../../glossary.rst:1067 +#: ../../glossary.rst:1072 msgid "" "Python Enhancement Proposal. A PEP is a design document providing " "information to the Python community, or describing a new feature for " "Python or its processes or environment. PEPs should provide a concise " "technical specification and a rationale for proposed features." msgstr "" +"Propunere de Îmbunătățire a Python-ului. A PEP is a design document " +"providing information to the Python community, or describing a new " +"feature for Python or its processes or environment. PEPs should provide " +"a concise technical specification and a rationale for proposed features." -#: ../../glossary.rst:1073 +#: ../../glossary.rst:1078 msgid "" "PEPs are intended to be the primary mechanisms for proposing major new " "features, for collecting community input on an issue, and for documenting" @@ -1957,29 +1998,29 @@ msgid "" "dissenting opinions." msgstr "" -#: ../../glossary.rst:1079 +#: ../../glossary.rst:1084 msgid "See :pep:`1`." msgstr "" -#: ../../glossary.rst:1080 +#: ../../glossary.rst:1085 msgid "portion" -msgstr "" +msgstr "porțiune" -#: ../../glossary.rst:1082 +#: ../../glossary.rst:1087 msgid "" "A set of files in a single directory (possibly stored in a zip file) that" " contribute to a namespace package, as defined in :pep:`420`." msgstr "" -#: ../../glossary.rst:1084 +#: ../../glossary.rst:1089 msgid "positional argument" -msgstr "" +msgstr "argument pozițional" -#: ../../glossary.rst:1087 +#: ../../glossary.rst:1092 msgid "provisional API" -msgstr "" +msgstr "API (IPA) provizorie" -#: ../../glossary.rst:1089 +#: ../../glossary.rst:1094 msgid "" "A provisional API is one which has been deliberately excluded from the " "standard library's backwards compatibility guarantees. While major " @@ -1991,44 +2032,44 @@ msgid "" "of the API." msgstr "" -#: ../../glossary.rst:1098 +#: ../../glossary.rst:1103 msgid "" "Even for provisional APIs, backwards incompatible changes are seen as a " "\"solution of last resort\" - every attempt will still be made to find a " "backwards compatible resolution to any identified problems." msgstr "" -#: ../../glossary.rst:1102 +#: ../../glossary.rst:1107 msgid "" "This process allows the standard library to continue to evolve over time," " without locking in problematic design errors for extended periods of " "time. See :pep:`411` for more details." msgstr "" -#: ../../glossary.rst:1105 +#: ../../glossary.rst:1110 msgid "provisional package" -msgstr "" +msgstr "pachet provizoriu" -#: ../../glossary.rst:1107 +#: ../../glossary.rst:1112 msgid "See :term:`provisional API`." msgstr "" -#: ../../glossary.rst:1108 +#: ../../glossary.rst:1113 msgid "Python 3000" -msgstr "" +msgstr "Python 3000" -#: ../../glossary.rst:1110 +#: ../../glossary.rst:1115 msgid "" "Nickname for the Python 3.x release line (coined long ago when the " "release of version 3 was something in the distant future.) This is also " "abbreviated \"Py3k\"." msgstr "" -#: ../../glossary.rst:1113 +#: ../../glossary.rst:1118 msgid "Pythonic" -msgstr "" +msgstr "Python-ic" -#: ../../glossary.rst:1115 +#: ../../glossary.rst:1120 msgid "" "An idea or piece of code which closely follows the most common idioms of " "the Python language, rather than implementing code using concepts common " @@ -2038,27 +2079,27 @@ msgid "" "with Python sometimes use a numerical counter instead::" msgstr "" -#: ../../glossary.rst:1122 +#: ../../glossary.rst:1127 msgid "" "for i in range(len(food)):\n" " print(food[i])" msgstr "" -#: ../../glossary.rst:1125 +#: ../../glossary.rst:1130 msgid "As opposed to the cleaner, Pythonic method::" msgstr "" -#: ../../glossary.rst:1127 +#: ../../glossary.rst:1132 msgid "" "for piece in food:\n" " print(piece)" msgstr "" -#: ../../glossary.rst:1129 +#: ../../glossary.rst:1134 msgid "qualified name" -msgstr "" +msgstr "nume calificat" -#: ../../glossary.rst:1131 +#: ../../glossary.rst:1136 msgid "" "A dotted name showing the \"path\" from a module's global scope to a " "class, function or method defined in that module, as defined in " @@ -2066,7 +2107,7 @@ msgid "" "the same as the object's name::" msgstr "" -#: ../../glossary.rst:1136 +#: ../../glossary.rst:1141 msgid "" ">>> class C:\n" "... class D:\n" @@ -2081,25 +2122,25 @@ msgid "" "'C.D.meth'" msgstr "" -#: ../../glossary.rst:1148 +#: ../../glossary.rst:1153 msgid "" "When used to refer to modules, the *fully qualified name* means the " "entire dotted path to the module, including any parent packages, e.g. " "``email.mime.text``::" msgstr "" -#: ../../glossary.rst:1152 +#: ../../glossary.rst:1157 msgid "" ">>> import email.mime.text\n" ">>> email.mime.text.__name__\n" "'email.mime.text'" msgstr "" -#: ../../glossary.rst:1155 +#: ../../glossary.rst:1160 msgid "reference count" -msgstr "" +msgstr "contor de referințe" -#: ../../glossary.rst:1157 +#: ../../glossary.rst:1162 msgid "" "The number of references to an object. When the reference count of an " "object drops to zero, it is deallocated. Some objects are " @@ -2111,35 +2152,44 @@ msgid "" "particular object." msgstr "" -#: ../../glossary.rst:1165 -msgid "regular package" +#: ../../glossary.rst:1171 +msgid "" +"In :term:`CPython`, reference counts are not considered to be stable or " +"well-defined values; the number of references to an object, and how that " +"number is affected by Python code, may be different between versions." msgstr "" -#: ../../glossary.rst:1167 +#: ../../glossary.rst:1175 +msgid "regular package" +msgstr "pachet regulat" + +#: ../../glossary.rst:1177 msgid "" "A traditional :term:`package`, such as a directory containing an " "``__init__.py`` file." msgstr "" -#: ../../glossary.rst:1170 +#: ../../glossary.rst:1180 msgid "See also :term:`namespace package`." msgstr "" -#: ../../glossary.rst:1171 +#: ../../glossary.rst:1181 msgid "REPL" -msgstr "" +msgstr "REPL (CEAR)" -#: ../../glossary.rst:1173 +#: ../../glossary.rst:1183 msgid "" "An acronym for the \"read–eval–print loop\", another name for the " ":term:`interactive` interpreter shell." msgstr "" +"Un acronim pentru \"bucla citește-evaluează-afișează-reia\", another " +"name for the :term:`interactive` interpreter shell." -#: ../../glossary.rst:1175 +#: ../../glossary.rst:1185 msgid "__slots__" -msgstr "" +msgstr "__slots__" -#: ../../glossary.rst:1177 +#: ../../glossary.rst:1187 msgid "" "A declaration inside a class that saves memory by pre-declaring space for" " instance attributes and eliminating instance dictionaries. Though " @@ -2148,11 +2198,11 @@ msgid "" "memory-critical application." msgstr "" -#: ../../glossary.rst:1182 +#: ../../glossary.rst:1192 msgid "sequence" -msgstr "" +msgstr "secvență" -#: ../../glossary.rst:1184 +#: ../../glossary.rst:1194 msgid "" "An :term:`iterable` which supports efficient element access using integer" " indices via the :meth:`~object.__getitem__` special method and defines a" @@ -2164,7 +2214,7 @@ msgid "" ":term:`hashable` keys rather than integers." msgstr "" -#: ../../glossary.rst:1193 +#: ../../glossary.rst:1203 msgid "" "The :class:`collections.abc.Sequence` abstract base class defines a much " "richer interface that goes beyond just :meth:`~object.__getitem__` and " @@ -2176,11 +2226,11 @@ msgid "" "common>`." msgstr "" -#: ../../glossary.rst:1202 +#: ../../glossary.rst:1212 msgid "set comprehension" -msgstr "" +msgstr "comprehensiune sub formă de mulțime" -#: ../../glossary.rst:1204 +#: ../../glossary.rst:1214 #, python-brace-format msgid "" "A compact way to process all or part of the elements in an iterable and " @@ -2189,21 +2239,21 @@ msgid "" ":ref:`comprehensions`." msgstr "" -#: ../../glossary.rst:1208 +#: ../../glossary.rst:1218 msgid "single dispatch" -msgstr "" +msgstr "distribuție singulară" -#: ../../glossary.rst:1210 +#: ../../glossary.rst:1220 msgid "" "A form of :term:`generic function` dispatch where the implementation is " "chosen based on the type of a single argument." msgstr "" -#: ../../glossary.rst:1212 +#: ../../glossary.rst:1222 msgid "slice" -msgstr "" +msgstr "tranșă" -#: ../../glossary.rst:1214 +#: ../../glossary.rst:1224 msgid "" "An object usually containing a portion of a :term:`sequence`. A slice is" " created using the subscript notation, ``[]`` with colons between numbers" @@ -2211,34 +2261,39 @@ msgid "" "bracket (subscript) notation uses :class:`slice` objects internally." msgstr "" -#: ../../glossary.rst:1218 +#: ../../glossary.rst:1228 msgid "soft deprecated" -msgstr "" +msgstr "dezafectat slab" -#: ../../glossary.rst:1220 +#: ../../glossary.rst:1230 msgid "" "A soft deprecated API should not be used in new code, but it is safe for " "already existing code to use it. The API remains documented and tested, " "but will not be enhanced further." msgstr "" +"O IPA dezafectată slab should not be used in new code, but it is safe for " +"already existing code to use it. The API remains documented and tested, " +"but will not be enhanced further." -#: ../../glossary.rst:1224 +#: ../../glossary.rst:1234 msgid "" "Soft deprecation, unlike normal deprecation, does not plan on removing " "the API and will not emit warnings." msgstr "" +"Dezafectarea slabă, unlike normal deprecation, does not plan on removing " +"the API and will not emit warnings." -#: ../../glossary.rst:1227 +#: ../../glossary.rst:1237 msgid "" "See `PEP 387: Soft Deprecation `_." msgstr "" -#: ../../glossary.rst:1229 +#: ../../glossary.rst:1239 msgid "special method" -msgstr "" +msgstr "metodă specială" -#: ../../glossary.rst:1233 +#: ../../glossary.rst:1243 msgid "" "A method that is called implicitly by Python to execute a certain " "operation on a type, such as addition. Such methods have names starting " @@ -2246,33 +2301,60 @@ msgid "" ":ref:`specialnames`." msgstr "" -#: ../../glossary.rst:1237 -msgid "statement" +#: ../../glossary.rst:1247 +msgid "standard library" +msgstr "bibliotecă standard" + +#: ../../glossary.rst:1249 +msgid "" +"The collection of :term:`packages `, :term:`modules ` " +"and :term:`extension modules ` distributed as a part of" +" the official Python interpreter package. The exact membership of the " +"collection may vary based on platform, available system libraries, or " +"other criteria. Documentation can be found at :ref:`library-index`." msgstr "" -#: ../../glossary.rst:1239 +#: ../../glossary.rst:1255 +msgid "" +"See also :data:`sys.stdlib_module_names` for a list of all possible " +"standard library module names." +msgstr "" + +#: ../../glossary.rst:1257 +msgid "statement" +msgstr "instrucțiune" + +#: ../../glossary.rst:1259 msgid "" "A statement is part of a suite (a \"block\" of code). A statement is " "either an :term:`expression` or one of several constructs with a keyword," " such as :keyword:`if`, :keyword:`while` or :keyword:`for`." msgstr "" -#: ../../glossary.rst:1242 +#: ../../glossary.rst:1262 msgid "static type checker" -msgstr "" +msgstr "verificator static de tipuri" -#: ../../glossary.rst:1244 +#: ../../glossary.rst:1264 msgid "" "An external tool that reads Python code and analyzes it, looking for " "issues such as incorrect types. See also :term:`type hints ` " "and the :mod:`typing` module." msgstr "" -#: ../../glossary.rst:1247 +#: ../../glossary.rst:1267 +msgid "stdlib" +msgstr "stdlib (biblio-stas)" + +#: ../../glossary.rst:1269 +msgid "An abbreviation of :term:`standard library`." +msgstr "O abreviere a expresiei :term:`standard library`." + +#: ../../glossary.rst:1270 msgid "strong reference" -msgstr "" +msgstr "referință strânsă" -#: ../../glossary.rst:1249 +#: ../../glossary.rst:1272 msgid "" "In Python's C API, a strong reference is a reference to an object which " "is owned by the code holding the reference. The strong reference is " @@ -2280,7 +2362,7 @@ msgid "" "released with :c:func:`Py_DECREF` when the reference is deleted." msgstr "" -#: ../../glossary.rst:1255 +#: ../../glossary.rst:1278 msgid "" "The :c:func:`Py_NewRef` function can be used to create a strong reference" " to an object. Usually, the :c:func:`Py_DECREF` function must be called " @@ -2288,40 +2370,40 @@ msgid "" " to avoid leaking one reference." msgstr "" -#: ../../glossary.rst:1260 +#: ../../glossary.rst:1283 msgid "See also :term:`borrowed reference`." msgstr "" -#: ../../glossary.rst:1261 +#: ../../glossary.rst:1284 msgid "text encoding" -msgstr "" +msgstr "codificare a unui text" -#: ../../glossary.rst:1263 +#: ../../glossary.rst:1286 msgid "" "A string in Python is a sequence of Unicode code points (in range " "``U+0000``--``U+10FFFF``). To store or transfer a string, it needs to be " "serialized as a sequence of bytes." msgstr "" -#: ../../glossary.rst:1267 +#: ../../glossary.rst:1290 msgid "" "Serializing a string into a sequence of bytes is known as \"encoding\", " "and recreating the string from the sequence of bytes is known as " "\"decoding\"." msgstr "" -#: ../../glossary.rst:1270 +#: ../../glossary.rst:1293 msgid "" "There are a variety of different text serialization :ref:`codecs " "`, which are collectively referred to as \"text " "encodings\"." msgstr "" -#: ../../glossary.rst:1273 +#: ../../glossary.rst:1296 msgid "text file" -msgstr "" +msgstr "fișier text" -#: ../../glossary.rst:1275 +#: ../../glossary.rst:1298 msgid "" "A :term:`file object` able to read and write :class:`str` objects. Often," " a text file actually accesses a byte-oriented datastream and handles the" @@ -2330,34 +2412,34 @@ msgid "" ":data:`sys.stdout`, and instances of :class:`io.StringIO`." msgstr "" -#: ../../glossary.rst:1282 +#: ../../glossary.rst:1305 msgid "" "See also :term:`binary file` for a file object able to read and write " ":term:`bytes-like objects `." msgstr "" -#: ../../glossary.rst:1284 +#: ../../glossary.rst:1307 msgid "token" -msgstr "" +msgstr "simbol" -#: ../../glossary.rst:1287 +#: ../../glossary.rst:1310 msgid "" "A small unit of source code, generated by the :ref:`lexical analyzer " "` (also called the *tokenizer*). Names, numbers, strings, " "operators, newlines and similar are represented by tokens." msgstr "" -#: ../../glossary.rst:1292 +#: ../../glossary.rst:1315 msgid "" "The :mod:`tokenize` module exposes Python's lexical analyzer. The " ":mod:`token` module contains information on the various types of tokens." msgstr "" -#: ../../glossary.rst:1295 +#: ../../glossary.rst:1318 msgid "triple-quoted string" -msgstr "" +msgstr "șir de caractere pus între ghilimele triple" -#: ../../glossary.rst:1297 +#: ../../glossary.rst:1320 msgid "" "A string which is bound by three instances of either a quotation mark " "(\") or an apostrophe ('). While they don't provide any functionality " @@ -2368,11 +2450,11 @@ msgid "" "docstrings." msgstr "" -#: ../../glossary.rst:1304 +#: ../../glossary.rst:1327 msgid "type" -msgstr "" +msgstr "tip" -#: ../../glossary.rst:1306 +#: ../../glossary.rst:1329 msgid "" "The type of a Python object determines what kind of object it is; every " "object has a type. An object's type is accessible as its " @@ -2380,21 +2462,21 @@ msgid "" "``type(obj)``." msgstr "" -#: ../../glossary.rst:1310 +#: ../../glossary.rst:1333 msgid "type alias" -msgstr "" +msgstr "pseudonim de tip" -#: ../../glossary.rst:1312 +#: ../../glossary.rst:1335 msgid "A synonym for a type, created by assigning the type to an identifier." msgstr "" -#: ../../glossary.rst:1314 +#: ../../glossary.rst:1337 msgid "" "Type aliases are useful for simplifying :term:`type hints `. " "For example::" msgstr "" -#: ../../glossary.rst:1317 +#: ../../glossary.rst:1340 msgid "" "def remove_gray_shades(\n" " colors: list[tuple[int, int, int]]) -> list[tuple[int, int, " @@ -2402,11 +2484,11 @@ msgid "" " pass" msgstr "" -#: ../../glossary.rst:1321 +#: ../../glossary.rst:1344 msgid "could be made more readable like this::" msgstr "" -#: ../../glossary.rst:1323 +#: ../../glossary.rst:1346 msgid "" "Color = tuple[int, int, int]\n" "\n" @@ -2414,38 +2496,38 @@ msgid "" " pass" msgstr "" -#: ../../glossary.rst:1328 ../../glossary.rst:1342 +#: ../../glossary.rst:1351 ../../glossary.rst:1365 msgid "See :mod:`typing` and :pep:`484`, which describe this functionality." msgstr "" -#: ../../glossary.rst:1329 +#: ../../glossary.rst:1352 msgid "type hint" -msgstr "" +msgstr "indicație de tip" -#: ../../glossary.rst:1331 +#: ../../glossary.rst:1354 msgid "" "An :term:`annotation` that specifies the expected type for a variable, a " "class attribute, or a function parameter or return value." msgstr "" -#: ../../glossary.rst:1334 +#: ../../glossary.rst:1357 msgid "" "Type hints are optional and are not enforced by Python but they are " "useful to :term:`static type checkers `. They can " "also aid IDEs with code completion and refactoring." msgstr "" -#: ../../glossary.rst:1338 +#: ../../glossary.rst:1361 msgid "" "Type hints of global variables, class attributes, and functions, but not " "local variables, can be accessed using :func:`typing.get_type_hints`." msgstr "" -#: ../../glossary.rst:1343 +#: ../../glossary.rst:1366 msgid "universal newlines" -msgstr "" +msgstr "caractere rând-nou universale" -#: ../../glossary.rst:1345 +#: ../../glossary.rst:1368 msgid "" "A manner of interpreting text streams in which all of the following are " "recognized as ending a line: the Unix end-of-line convention ``'\\n'``, " @@ -2454,50 +2536,50 @@ msgid "" ":func:`bytes.splitlines` for an additional use." msgstr "" -#: ../../glossary.rst:1350 +#: ../../glossary.rst:1373 msgid "variable annotation" -msgstr "" +msgstr "adnotare de variabilă" -#: ../../glossary.rst:1352 +#: ../../glossary.rst:1375 msgid "An :term:`annotation` of a variable or a class attribute." msgstr "" -#: ../../glossary.rst:1354 +#: ../../glossary.rst:1377 msgid "When annotating a variable or a class attribute, assignment is optional::" msgstr "" -#: ../../glossary.rst:1356 +#: ../../glossary.rst:1379 msgid "" "class C:\n" " field: 'annotation'" msgstr "" -#: ../../glossary.rst:1359 +#: ../../glossary.rst:1382 msgid "" "Variable annotations are usually used for :term:`type hints `:" " for example this variable is expected to take :class:`int` values::" msgstr "" -#: ../../glossary.rst:1363 +#: ../../glossary.rst:1386 msgid "count: int = 0" msgstr "" -#: ../../glossary.rst:1365 +#: ../../glossary.rst:1388 msgid "Variable annotation syntax is explained in section :ref:`annassign`." msgstr "" -#: ../../glossary.rst:1367 +#: ../../glossary.rst:1390 msgid "" "See :term:`function annotation`, :pep:`484` and :pep:`526`, which " "describe this functionality. Also see :ref:`annotations-howto` for best " "practices on working with annotations." msgstr "" -#: ../../glossary.rst:1371 +#: ../../glossary.rst:1394 msgid "virtual environment" -msgstr "" +msgstr "mediu virtual" -#: ../../glossary.rst:1373 +#: ../../glossary.rst:1396 msgid "" "A cooperatively isolated runtime environment that allows Python users and" " applications to install and upgrade Python distribution packages without" @@ -2505,25 +2587,36 @@ msgid "" "the same system." msgstr "" -#: ../../glossary.rst:1378 +#: ../../glossary.rst:1401 msgid "See also :mod:`venv`." msgstr "" -#: ../../glossary.rst:1379 +#: ../../glossary.rst:1402 msgid "virtual machine" -msgstr "" +msgstr "mașină virtuală" -#: ../../glossary.rst:1381 +#: ../../glossary.rst:1404 msgid "" "A computer defined entirely in software. Python's virtual machine " "executes the :term:`bytecode` emitted by the bytecode compiler." msgstr "" -#: ../../glossary.rst:1383 -msgid "Zen of Python" +#: ../../glossary.rst:1406 +msgid "walrus operator" +msgstr "operator morsă" + +#: ../../glossary.rst:1408 +msgid "" +"A light-hearted way to refer to the :ref:`assignment expression " +"` operator ``:=`` because it looks a bit like a " +"walrus if you turn your head." msgstr "" -#: ../../glossary.rst:1385 +#: ../../glossary.rst:1411 +msgid "Zen of Python" +msgstr "Zenul Python-ului" + +#: ../../glossary.rst:1413 msgid "" "Listing of Python design principles and philosophies that are helpful in " "understanding and using the language. The listing can be found by typing" @@ -2532,18 +2625,17 @@ msgstr "" #: ../../glossary.rst:292 msgid "C-contiguous" -msgstr "" +msgstr "contiguu ca în C" #: ../../glossary.rst:292 msgid "Fortran contiguous" -msgstr "" +msgstr "contiguu ca în Fortran" -#: ../../glossary.rst:831 +#: ../../glossary.rst:836 msgid "magic" -msgstr "" +msgstr "magic" -#: ../../glossary.rst:1231 +#: ../../glossary.rst:1241 msgid "special" -msgstr "" - +msgstr "special"